2010-11-29 Yael Aharon Reviewed by Darin Adler. HTMLFormElement.elements doesn't include fieldsets https://bugs.webkit.org/show_bug.cgi?id=48193 Add fieldset and keygen to the list of form collection elements, by making them enumeratable. This patch does not add object element to the list. A separate bug will do that. Test: fast/forms/form-collection-elements.html * html/HTMLFieldSetElement.h: (WebCore::HTMLFieldSetElement::isEnumeratable): * html/HTMLKeygenElement.h: (WebCore::HTMLKeygenElement::isEnumeratable): 2010-11-29 Xan Lopez Reviewed by Martin Robinson. Get distcheck going. * GNUmakefile.am: 2010-11-29 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=50181 CSS style declarations don't GC protect parents Test: fast/dom/StyleSheet/gc-declaration-parent-rule.html * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::markChildren): Protect the parent rule. 2010-11-29 Ilya Tikhonovsky Reviewed by Pavel Feldman. Web Inspector: UI fix. In Timeline, Paint events "Location" value is displayed in a confusing manner. The format string should be changed from %d x %d pattern to (%d, %d). https://bugs.webkit.org/show_bug.cgi?id=50178 * English.lproj/localizedStrings.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 2010-11-29 Darin Adler Reviewed by Andreas Kling. Remove a couple unneeded overflow checks https://bugs.webkit.org/show_bug.cgi?id=49816 * platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::encode): Use an ASSERT instead of an overflow check with CRASH. 2010-11-29 Tony Chang Unreviewed, disable warnings again on chromium linux * WebCore.gyp/WebCore.gyp: 2010-11-29 Cosmin Truta Reviewed by Nikolas Zimmermann. getBoundingClientRect: Do not truncate the coordinates to integers https://bugs.webkit.org/show_bug.cgi?id=48110 Remove the float-to-int coordinate conversions inside getBoundingClientRect, to comply with the CSSOM View Module API. Tests: fast/dom/Element/getBoundingClientRect.html fast/dom/Range/getBoundingClientRect.html svg/zoom/page/zoom-getBoundingClientRect.xhtml svg/zoom/page/zoom-zoom-coords.xhtml * dom/ClientRect.cpp: (WebCore::ClientRect::ClientRect): Added overload to allow a FloatRect argument. * dom/ClientRect.h: (WebCore::ClientRect::create): Ditto. * dom/Element.cpp: (Element::getBoundingClientRect): Removed conversion from FloatRect to IntRect. * dom/Range.cpp: (WebCore::Range::getBoundingClientRect): Ditto. * rendering/RenderObject.h: (adjustIntRectForAbsoluteZoom): Removed. (adjustFloatRectForAbsoluteZoom): Added. * rendering/style/RenderStyle.h: (adjustFloatForAbsoluteZoom): Added. 2010-11-29 Dimitri Glazkov Reviewed by Darin Adler. Converge means of querying a parent node into one way, which is Node::parentNode. https://bugs.webkit.org/show_bug.cgi?id=49686 A follow-up to r72259, which explicitly forbids further use of Node::parent by making it private. No change in behavior, so no new tests. * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): Changed to use parentNode. (WebCore::Document::hoveredNodeDetached): Ditto. (WebCore::Document::activeChainNodeDetached): Ditto. * dom/Node.h: Made Node::parent private. * page/SpatialNavigation.cpp: (WebCore::canBeScrolledIntoView): Changed to use parentNode. * xml/XSLTProcessorQt.cpp: (WebCore::XSLTProcessor::transformToString): Ditto. 2010-11-29 Tony Chang Reviewed by James Robinson. [chromium] try to enable WebCore compiler warnings on linux https://bugs.webkit.org/show_bug.cgi?id=50168 * WebCore.gyp/WebCore.gyp: * platform/graphics/chromium/FontLinux.cpp: (WebCore::TextRunWalker::setPadding): (WebCore::TextRunWalker::setGlyphXPositions): (WebCore::glyphIndexForXPositionInScriptRun): 2010-11-29 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=50165 CSS style rules don't GC protect parents Tests: fast/dom/StyleSheet/gc-parent-rule.html fast/dom/StyleSheet/gc-parent-stylesheet.html * bindings/js/JSCSSRuleCustom.cpp: (WebCore::JSCSSRule::markChildren): Mark parents. The code is super naive compared to what we have for nodes - but CSSOM has shallow hierarchies, so it should be OK. * css/CSSRule.idl: Added CustomMarkFunction. 2010-11-29 Gavin Peters Reviewed by Adam Barth. Web page can prevent WebKit from loading subresources on other pages (cache poisoning) https://bugs.webkit.org/show_bug.cgi?id=35404 Tests: http/tests/misc/unloadable-script.html loader/reload-subresource-when-type-changes.html * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::requestResource): 2010-11-29 Simon Fraser Reviewed by Dan Bernstein. Crash in WebCore::CSSStyleSelector::loadPendingImages https://bugs.webkit.org/show_bug.cgi?id=50149 Null-check style->boxReflect() when loading pending style images. Test: fast/reflections/pending-reflection-mask-crash.html * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::loadPendingImages): 2010-11-29 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: crash upon inspecting user style sheet. https://bugs.webkit.org/show_bug.cgi?id=50109 * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyleSheet::resourceStyleSheetText): 2010-11-29 Patrick Gansterer Reviewed by Adam Roben. [WINCE] Implement WebCore::directoryName https://bugs.webkit.org/show_bug.cgi?id=50031 Also fix handling of paths without path separator. * platform/wince/FileSystemWinCE.cpp: (WebCore::reverseFindPathSeparator): (WebCore::makeAllDirectories): (WebCore::pathGetFileName): (WebCore::directoryName): 2010-11-29 Patrick Gansterer Reviewed by Adam Roben. Simplify directoryName in FileSystemWin.cpp https://bugs.webkit.org/show_bug.cgi?id=50028 * platform/win/FileSystemWin.cpp: (WebCore::directoryName): 2010-11-24 Dimitri Glazkov Reviewed by Darin Adler. REGRESSION (r71934): Main search field at Apple tech specs does not accept typing https://bugs.webkit.org/show_bug.cgi?id=49868 The problem here was that the inner text element of search input was first laid out as disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even if it's enabled. Test: fast/forms/disabled-search-input.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary. * rendering/TextControlInnerElements.cpp: (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that an empty inner text element is always one-line high. 2010-11-29 W. James MacLean Reviewed by Dirk Schulze. Large input numbers cause overflow during SVG parsing, leading to crash https://bugs.webkit.org/show_bug.cgi?id=49546 Values outside the range supported by float lead to Infinity() or NaN() during parsing, leading to subsequent crashes. Modified parser to verify number is in the supported range, and return false if not. Tests: svg/custom/svg-parse-overflow-1.html svg/custom/svg-parse-overflow-2.html svg/custom/svg-parse-overflow-3.html svg/custom/svg-parse-overflow-4.html svg/custom/svg-parse-overflow-5.html * svg/SVGParserUtilities.cpp: (WebCore::isValidRange): (WebCore::genericParseNumber): 2010-11-29 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: display name of an object constructor as the object's type https://bugs.webkit.org/show_bug.cgi?id=50063 Name of the function that has created given object is used as the object's type when it's displayed in the inspector front-end(in case of V8). Before this change, it was always a value of the object's constructor.name property which is confusing in some cases(see the test). Removed check for jsEngine from the InjectedScript.js, all VM-specific code is now encapsulated on the bindings layer. Test: inspector/console-object-constructor-name.html * bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::createInjectedScript): (WebCore::JSInjectedScriptHost::constructorName): * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::createInjectedScript): (WebCore::V8InjectedScriptHost::constructorNameCallback): * inspector/InjectedScriptHost.idl: * inspector/front-end/InjectedScript.js: (injectedScriptConstructor.): 2010-11-29 Jeremy Moskovich Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=24346 Remove temporary workaround to load Gears plugin. * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::rendererIsNeeded): 2010-11-29 Yael Aharon Reviewed by Antonio Gomes. Spatial Navigation: Store more information in FocusCandidate https://bugs.webkit.org/show_bug.cgi?id=50153 More information should be stored in FocusCandidate, to avoid recalculating it when running the spatial navigation algorithm. No new tests, since this is code refactoring only. * page/FocusController.cpp: (WebCore::updateFocusCandidateIfNeeded): (WebCore::FocusController::findFocusCandidateInContainer): (WebCore::FocusController::advanceFocusDirectionallyInContainer): * page/SpatialNavigation.cpp: (WebCore::FocusCandidate::FocusCandidate): (WebCore::canBeScrolledIntoView): * page/SpatialNavigation.h: (WebCore::FocusCandidate::FocusCandidate): 2010-11-29 Dimitri Glazkov Reviewed by Darin Adler. Use the right focusable check to avoid multiple focus/blur events being fired from inside of the shadow DOM. https://bugs.webkit.org/show_bug.cgi?id=49977 * editing/SelectionController.cpp: (WebCore::SelectionController::setFocusedNodeIfNeeded): Added a FIXME to remove redundant code. * page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): Changed to use isMouseFocusable, which is what shadow DOM elements override, and added a FIXME to convert to use shadow DOM-aware traversal instead of render tree traversal. Test: fast/events/shadow-boundary-crossing-2.html 2010-11-29 Adam Roben Windows build fix after r72715 * WebCore.vcproj/WebCore.vcproj: Add a missing tag to fix an XML syntax error. 2010-11-29 Bernhard Bauer Reviewed by Jeremy Orlow. Remove databaseFileName from IDBFactoryBackendImpl https://bugs.webkit.org/show_bug.cgi?id=50150 No new tests, since functionality is unchanged. * storage/IDBFactoryBackendImpl.cpp: (WebCore::openSQLiteDatabase): * storage/IDBFactoryBackendImpl.h: 2010-11-29 Philippe Normand Reviewed by Xan Lopez. [GStreamer] take video sink ownership with gst_object API https://bugs.webkit.org/show_bug.cgi?id=49011 Use gst_object_ref_sink instead of g_object_ref_sink to avoid possible leaks. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 2010-11-29 Jan Erik Hanssen Reviewed by Kenneth Rohde Christiansen. QtWebKit asserts when selecting elided text. https://bugs.webkit.org/show_bug.cgi?id=45391 Ensure that the length passed to fromRawDataWithoutRef() does not exceed the length of the string. * platform/graphics/qt/FontQt.cpp: (WebCore::Font::selectionRectForSimpleText): 2010-11-26 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Styles Gear Menu Choice to Display Colors "As Authored" https://bugs.webkit.org/show_bug.cgi?id=31614 * English.lproj/localizedStrings.js: * inspector/front-end/Color.js: (WebInspector.Color.prototype.toString): (WebInspector.Color.prototype._parse.this.rgba.set 0): (WebInspector.Color.prototype._parse.set WebInspector): (WebInspector.Color.prototype._parse): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.nextFormat): (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): 2010-11-29 Helder Correia Reviewed by Kenneth Rohde Christiansen. [Qt] fillRect shadow has incorrect behavior when using ctx.scale(x,y) https://bugs.webkit.org/show_bug.cgi?id=50141 Don't apply scaling transformation to shadow offsets. Test: fast/canvas/canvas-scale-fillRect-shadow.html * platform/graphics/ContextShadow.h: * platform/graphics/qt/ContextShadowQt.cpp: (WebCore::ContextShadow::beginShadowLayer): (WebCore::ContextShadow::endShadowLayer): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillRect): 2010-11-28 Dimitri Glazkov Reviewed by Darin Adler. Default event handlers should also be using event retargeting. https://bugs.webkit.org/show_bug.cgi?id=49986 Test: fast/events/shadow-boundary-crossing-2.html * dom/EventContext.cpp: (WebCore::EventContext::defaultEventHandler): Added. * dom/EventContext.h: Added decl. * dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): Changed to use event retargeting for default event handlers. 2010-11-23 MORITA Hajime Reviewed by Kent Tamura. REGRESSION: Text on is not spellchecked. https://bugs.webkit.org/show_bug.cgi?id=49651 TextControlInnerElement::isSpellCheckingEnabled() didn't consider non-root shadow elelements and always went false for Reviewed by Xan Lopez. Build fix for GTK+. There were some typos in my last build fix and the empty command (semicolon) seems to be necessary for wildcard rule chains. * GNUmakefile.am: Small build fixes. 2010-11-24 James Robinson Reviewed by Kenneth Russell. [chromium] Compositor needs to manage its VRAM use https://bugs.webkit.org/show_bug.cgi?id=49629 This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and RenderSurfaceChromium to use managed LayerTexture. The other *LayerChromium classes (Canvas, Video, and WebGL) and the root layer are still unmanaged. The TextureManager works by providing tokens to callers that want to use a managed texture. The token can be used to request a texture, see if the previously requested texture is still available, and to protect/unprotect textures when they cannot be collected. Whenever a texture is created the manager attempts to free up the least recently used textures until the total memory use is below the provided threshhold. If the manager cannot satisfy the memory limit it will not return any new textures until some old textures are released. A LayerTexture wraps a TextureManager token, size, and format. A LayerChromium can check if a previously requested texture is still available for use and reserve the LayerTexture's underlying storage between the updateContentsIfDirty() and the draw() call. Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single updateContentsIfDirty(). Tests: compositing/lots-of-img-layers-with-opacity.html compositing/lots-of-img-layers.html * WebCore.gypi: * platform/graphics/chromium/Canvas2DLayerChromium.cpp: (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): * platform/graphics/chromium/Canvas2DLayerChromium.h: * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::cleanupResources): (WebCore::ContentLayerChromium::updateContentsIfDirty): (WebCore::ContentLayerChromium::updateTextureRect): (WebCore::ContentLayerChromium::draw): * platform/graphics/chromium/ContentLayerChromium.h: * platform/graphics/chromium/ImageLayerChromium.cpp: (WebCore::ImageLayerChromium::updateContentsIfDirty): * platform/graphics/chromium/ImageLayerChromium.h: * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::updateContentsIfDirty): (WebCore::LayerChromium::draw): * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::LayerRendererChromium): (WebCore::LayerRendererChromium::prepareToDrawLayers): (WebCore::LayerRendererChromium::drawLayers): (WebCore::LayerRendererChromium::updateLayersRecursive): (WebCore::LayerRendererChromium::useRenderSurface): (WebCore::LayerRendererChromium::drawLayer): (WebCore::LayerRendererChromium::initializeSharedObjects): (WebCore::LayerRendererChromium::cleanupSharedObjects): * platform/graphics/chromium/LayerRendererChromium.h: (WebCore::LayerRendererChromium::renderSurfaceSharedValues): (WebCore::LayerRendererChromium::textureManager): * platform/graphics/chromium/LayerTexture.cpp: Added. (WebCore::LayerTexture::LayerTexture): (WebCore::LayerTexture::~LayerTexture): (WebCore::LayerTexture::isValid): (WebCore::LayerTexture::reserve): (WebCore::LayerTexture::unreserve): (WebCore::LayerTexture::bindTexture): (WebCore::LayerTexture::framebufferTexture2D): * platform/graphics/chromium/LayerTexture.h: Added. (WebCore::LayerTexture::create): * platform/graphics/chromium/PluginLayerChromium.cpp: (WebCore::PluginLayerChromium::updateContentsIfDirty): * platform/graphics/chromium/PluginLayerChromium.h: * platform/graphics/chromium/RenderSurfaceChromium.cpp: (WebCore::RenderSurfaceChromium::SharedValues::SharedValues): (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues): (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): (WebCore::RenderSurfaceChromium::cleanupResources): (WebCore::RenderSurfaceChromium::prepareContentsTexture): (WebCore::RenderSurfaceChromium::draw): * platform/graphics/chromium/RenderSurfaceChromium.h: (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram): (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation): (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation): (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation): (WebCore::RenderSurfaceChromium::SharedValues::initialized): * platform/graphics/chromium/TextureManager.cpp: Added. (WebCore::memoryUseBytes): (WebCore::TextureManager::TextureManager): (WebCore::TextureManager::getToken): (WebCore::TextureManager::releaseToken): (WebCore::TextureManager::hasTexture): (WebCore::TextureManager::protectTexture): (WebCore::TextureManager::unprotectTexture): (WebCore::TextureManager::reduceMemoryToLimit): (WebCore::TextureManager::addTexture): (WebCore::TextureManager::removeTexture): (WebCore::TextureManager::requestTexture): * platform/graphics/chromium/TextureManager.h: Added. (WebCore::TextureManager::create): * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::updateContentsIfDirty): * platform/graphics/chromium/VideoLayerChromium.h: * platform/graphics/chromium/WebGLLayerChromium.cpp: (WebCore::WebGLLayerChromium::updateContentsIfDirty): * platform/graphics/chromium/WebGLLayerChromium.h: 2010-11-24 Nicolas Dufresne Reviewed by Martin Robinson. [GTK] response.isNull() assert when using directory file URI https://bugs.webkit.org/show_bug.cgi?id=49018 Do ensure that didReceiveResponse happens before any call to didReceiveData. That was not true for file:// URIs pointing to directories and thus was triggering an assertion. Test: platform/gtk/fast/loader/crash-display-local-directory.html * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::gotHeadersCallback): (WebCore::contentSniffedCallback): (WebCore::parseDataUrl): (WebCore::sendRequestCallback): (WebCore::readCallback): 2010-11-24 Xan Lopez Reviewed by Martin Robinson. * bindings/gobject/WebKitDOMBinding.h: fix stlye nit. 2010-11-24 Xan Lopez Reviewed by Martin Robinson. [GTK] Make kit() methods return the proper type instead of gpointer https://bugs.webkit.org/show_bug.cgi?id=50034 Change kit() methods to return proper type pointer. * bindings/gobject/WebKitDOMBinding.cpp: change implementions of kit methods. * bindings/gobject/WebKitDOMBinding.h: change their declarations. * bindings/scripts/CodeGeneratorGObject.pm: change the generated kit() methods. 2010-11-24 Martin Robinson Reviewed by Xan Lopez. [GTK] DerivedSources/WebCore/DocTypeStrings.cpp is generated for every build https://bugs.webkit.org/show_bug.cgi?id=50032 Instead of listing two targets for rules that have two outputs, make a dependency chain. This fixes the issue where some files are generated unconditionally. Also remove all unnecessary semicolons from the file. No new tests as this is just a build fix. * GNUmakefile.am: Fix GNUmake dependency issue. 2010-11-24 Nico Weber Reviewed by Adam Barth. Chromium/Mac: Make scaled images un-ugly when using the webkit image decoders https://bugs.webkit.org/show_bug.cgi?id=49965 Probably covered by existing tests whose expectations were overwritten in http://trac.webkit.org/changeset/70858 * platform/image-decoders/cg/ImageDecoderCG.cpp: (WebCore::RGBA32Buffer::asNewNativeImage): 2010-11-24 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/ https://bugs.webkit.org/show_bug.cgi?id=50025 @font-face rules were improperly handled by source data extractor. * css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::markRuleBodyStart): (WebCore::CSSParser::markPropertyStart): (WebCore::CSSParser::markPropertyEnd): * css/CSSParser.h: 2010-11-24 Cris Neckar Reviewed by Adam Barth. Added check when parsing local fonts to ensure that a value's unit type is either string or ident. https://bugs.webkit.org/show_bug.cgi?id=49883 Test: fast/css/local_font_invalid.html * css/CSSParser.cpp: (WebCore::CSSParser::parseFontFaceSrc): 2010-11-24 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: place local modifications to under original resource nodes in the resource panel. https://bugs.webkit.org/show_bug.cgi?id=50029 * English.lproj/localizedStrings.js: * inspector/Inspector.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): (WebCore::InspectorController::scriptImported): * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::setInitialContent): * inspector/InspectorResourceAgent.h: * inspector/front-end/CSSStyleModel.js: (WebInspector.CSSStyleModel.prototype.setRuleSelector): (WebInspector.CSSStyleModel.prototype.addRule): (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): (WebInspector.CSSStyleModel.prototype._styleSheetChanged): (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): (WebInspector.CSSProperty.prototype.setText): (WebInspector.CSSProperty.prototype.setDisabled.callback): (WebInspector.CSSProperty.prototype.setDisabled): (WebInspector.CSSStyleSheet.prototype.setText): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype.refreshResource): * inspector/front-end/Resource.js: (WebInspector.Resource.prototype.set content): (WebInspector.Resource.prototype.get contentTimestamp): (WebInspector.Resource.prototype.setInitialContent): * inspector/front-end/ResourceManager.js: (WebInspector.ResourceManager): (WebInspector.ResourceManager.prototype.setInitialContent): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel): (WebInspector.ResourcesPanel.prototype.reset): (WebInspector.ResourcesPanel.prototype._innerShowView): (WebInspector.FrameResourceTreeElement): (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated): (WebInspector.FrameResourceTreeElement.prototype._contentChanged.else.finished): (WebInspector.FrameResourceTreeElement.prototype._contentChanged): (WebInspector.ResourceRevisionTreeElement): * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.get scrollTop): (WebInspector.SourceFrame.prototype.set scrollTop): * inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.get scrollTop): (WebInspector.SourceView.prototype.set scrollTop): (WebInspector.SourceView.prototype._editLine): (WebInspector.SourceView.prototype._editLineComplete): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype): 2010-11-24 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: extension API cleanup https://bugs.webkit.org/show_bug.cgi?id=50019 * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel): * inspector/front-end/ExtensionAPI.js: See bug for summary of extension API changes. (WebInspector.injectedExtensionAPI.Resources.resourceDispatch): (WebInspector.injectedExtensionAPI): (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR): (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent): (WebInspector.injectedExtensionAPI.Panels.prototype.create): (WebInspector.injectedExtensionAPI.PanelImpl): (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl): (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane): (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createWatchExpressionSidebarPane): (WebInspector.injectedExtensionAPI.ElementsPanel): (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight): (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory): (WebInspector.injectedExtensionAPI.AuditCategoryImpl.auditResultDispatch): (WebInspector.injectedExtensionAPI.AuditCategoryImpl): (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity): (WebInspector.injectedExtensionAPI.InspectedWindow): (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval): * inspector/front-end/ExtensionCommon.js: (WebInspector.commonExtensionSymbols): * inspector/front-end/ExtensionServer.js: (WebInspector.ExtensionServer): (WebInspector.ExtensionServer.prototype.notifyObjectSelected): (WebInspector.ExtensionServer.prototype.notifyResourceFinished): (WebInspector.ExtensionServer.prototype.notifyPageLoaded): (WebInspector.ExtensionServer.prototype.notifyPageDOMContentLoaded): (WebInspector.ExtensionServer.prototype._onCreatePanel): (WebInspector.ExtensionServer.prototype._onReload): (WebInspector.ExtensionServer.prototype._onGetHAR): (WebInspector.ExtensionServer.prototype._onGetResourceContent): (WebInspector.ExtensionServer.prototype._onAddAuditCategory): (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript): * inspector/front-end/HAREntry.js: (WebInspector.HARLog): (WebInspector.HARLog.prototype.build): (WebInspector.HARLog.prototype._convertResource): * inspector/front-end/inspector.js: (WebInspector.domContentEventFired): (WebInspector.loadEventFired): (WebInspector.didCommitLoad): 2010-11-23 Jeremy Orlow Reviewed by Steve Block. Fix minor errors in IndexedDB https://bugs.webkit.org/show_bug.cgi?id=49970 * Remove SNAPSHOT_READ per spec. * Assert that the transaction that changes the db is a setVersion transaction. * When an objectStore already exists, throw a CONSTRAINT_ERR. * When not in a setVersion transaction, throw a NOT_ALLOWED_ERR. Test: storage/indexeddb/createAndRemoveObjectStore.html * storage/IDBDatabase.cpp: (WebCore::IDBDatabase::createObjectStore): * storage/IDBDatabaseBackendImpl.cpp: (WebCore::IDBDatabaseBackendImpl::createObjectStore): * storage/IDBTransaction.h: * storage/IDBTransaction.idl: 2010-11-24 Philippe Normand Reviewed by Xan Lopez. [GStreamer] pause webkitvideosink during fullscreen video playback https://bugs.webkit.org/show_bug.cgi?id=48824 Added an identity element before the webkitvideosink so that when fullscreen video is active the element can drop the incoming buffers so that webkitvideosink appears paused. * platform/graphics/gstreamer/GStreamerGWorld.cpp: (WebCore::GStreamerGWorld::enterFullscreen): (WebCore::GStreamerGWorld::exitFullscreen): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 2010-11-24 Avi Drissman Reviewed by Antonio Gomes. Add preference to not select when right-clicked https://bugs.webkit.org/show_bug.cgi?id=23351 Test: editing/selection/context-menu-text-selection.html * editing/EditingBehavior.h: (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick): * page/EventHandler.cpp: (WebCore::EventHandler::sendContextMenuEvent): 2010-11-24 Andras Becsi Reviewed by Csaba Osztrogonác. Make build-webkit --minimal build with ENABLE_INSPECTOR=0. https://bugs.webkit.org/show_bug.cgi?id=49975 No new tests needed. * features.pri: Make the Qt buildsystem aware that the inspector is enabled by default. 2010-11-24 Martin Robinson Reviewed by Xan Lopez. [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient https://bugs.webkit.org/show_bug.cgi?id=49143 * platform/gtk/GtkVersioning.c: (g_signal_accumulator_first_wins): Add g_signal_accumulator_first_wins for versions of GLib before 2.28. * platform/gtk/GtkVersioning.h: 2010-11-24 Sheriff Bot Unreviewed, rolling out r72499. http://trac.webkit.org/changeset/72499 https://bugs.webkit.org/show_bug.cgi?id=50022 This change is causing crashes on the bots. (Requested by mrobinson on #webkit). * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::nameForMSAA): * accessibility/AccessibilityMenuListOption.h: * accessibility/gtk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (setAtkStateSetFromCoreObject): (optionFromList): (optionFromSelection): (webkit_accessible_selection_add_selection): (webkit_accessible_selection_clear_selection): (webkit_accessible_selection_get_selection_count): (webkit_accessible_selection_is_child_selected): (webkit_accessible_selection_remove_selection): (webkit_accessible_text_get_text): (getInterfaceMaskFromObject): * platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenuGtk::show): 2010-11-24 Patrick Gansterer Reviewed by Csaba Osztrogonác. Simplify makeprop.pl https://bugs.webkit.org/show_bug.cgi?id=49925 Don't generate CSSPropertyNamesHash.h. Instead generate CSSPropertyNames directly. * GNUmakefile.am: Removed rule for CSSPropertyNamesHash.h. * css/makeprop.pl: 2010-11-24 Patrick Gansterer Reviewed by Csaba Osztrogonác. Remove Bakefile build system files https://bugs.webkit.org/show_bug.cgi?id=49983 r53757 only removed the content, but not the files. This patch removes that empty files. * WebCoreSources.bkl: Removed. * webcore-base.bkl: Removed. * webcore-wx.bkl: Removed. 2010-11-24 Renata Hodovan Reviewed by Andreas Kling. [Qt] GraphicsContext: Clean up Qt/WebCore type conversion functions https://bugs.webkit.org/show_bug.cgi?id=49919 Add ASSERT_NOT_REACHED() if the given WebCore type doesn't have an equivalent type in Qt. Also change the return value of toQtLineJoin() from Qt::MiterJoin to the default Qt::SvgMiterJoin, because the previous one doesn't work currently. No new test is needed. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::toQtCompositionMode): (WebCore::toQtLineCap): (WebCore::toQtLineJoin): (WebCore::toQPenStyle): (WebCore::toQtFillRule): 2010-11-24 Patrick Gansterer Reviewed by Csaba Osztrogonác. Simplify makevalues.pl https://bugs.webkit.org/show_bug.cgi?id=49926 Don't generate CSSValueKeywordsHash.h. Instead generate CSSValueKeywords.cpp directly. * GNUmakefile.am: Removed rule for CSSValueKeywordsHash.h. * css/makevalues.pl: 2010-11-24 Andras Becsi Reviewed by Kenneth Rohde Christiansen. Make WebKit2 compile with !ENABLE(INSPECTOR). https://bugs.webkit.org/show_bug.cgi?id=49973 No new tests needed. * bindings/js/ScriptHeapSnapshot.h: * bindings/js/ScriptProfile.cpp: * bindings/js/ScriptProfile.h: * inspector/InspectorDebuggerAgent.cpp: * inspector/InspectorDebuggerAgent.h: * inspector/InspectorProfilerAgent.cpp: * inspector/InspectorProfilerAgent.h: * inspector/ScriptBreakpoint.h: 2010-11-24 Patrick Gansterer Reviewed by Csaba Osztrogonác. Simplify make-hash-tools.pl https://bugs.webkit.org/show_bug.cgi?id=49922 HashTools.h does not need to be generated, because it only contains static code. * html/DocTypeStrings.gperf: Include findDoctypeEntry function. * make-hash-tools.pl: Do not generate HashTools.h. * platform/ColorData.gperf: Include findColor function. * platform/HashTools.h: Added. 2010-11-24 Andreas Kling Reviewed by Simon Hausmann. [Qt] Pass Qt::TextBypassShaping flag when calculating shadow layer rects Without this, we could end up with a slightly too small shadow layer for some string/font combinations. * platform/graphics/qt/FontQt.cpp: (WebCore::drawTextCommon): 2010-11-22 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: add timing tab to the network item view. https://bugs.webkit.org/show_bug.cgi?id=49920 * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/NetworkItemView.js: (WebInspector.NetworkItemView): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype._showPopover): * inspector/front-end/Resource.js: (WebInspector.Resource.prototype.set timing): * inspector/front-end/ResourceTimingView.js: Added. (WebInspector.ResourceTimingView): (WebInspector.ResourceTimingView.prototype.show): (WebInspector.ResourceTimingView.prototype._refresh): (WebInspector.ResourceTimingView.createTimingTable): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: * inspector/front-end/networkPanel.css: (#network-views .network-item-view .tabbed-pane-header): (.resource-timing-view): (.resource-timing-view table): (.resource-timing-view .network-timing-bar): (.resource-timing-view .network-timing-bar.proxy): (.resource-timing-view .network-timing-bar.dns): (.resource-timing-view .network-timing-bar.connecting): (.resource-timing-view .network-timing-bar.ssl): (.resource-timing-view .network-timing-bar.sending): (.resource-timing-view .network-timing-bar.waiting): (.resource-timing-view .network-timing-bar.receiving): (.resource-timing-view.visible): 2010-11-24 Pavel Feldman Not reviewed. Follow up to r72652 (style id change in inspector). * inspector/front-end/AuditRules.js: (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): 2010-11-22 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: refactor ResourceView hierarchy. https://bugs.webkit.org/show_bug.cgi?id=49864 This refactoring splits ResourceView.js into: NetworkItemView.js (tabbed pane) ResourceHeadersView.js (header tab) ResourceCookiesView.js (cookies tab) ResourceView.js (base class for content tab). CookiesTable was extracted from CookieItemsView and brushed up. headersVisible flag has been removed. * English.lproj/localizedStrings.js: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView): (WebInspector.CookieItemsView.prototype.get statusBarItems): (WebInspector.CookieItemsView.prototype.hide): (WebInspector.CookieItemsView.prototype.resize): (WebInspector.CookieItemsView.prototype._updateWithCookies): (WebInspector.CookieItemsView.prototype._filterCookiesForDomain): (WebInspector.CookieItemsView.prototype._deleteCookie): (WebInspector.CookieItemsView.prototype._deleteButtonClicked): (WebInspector.CookieItemsView.prototype._refreshButtonClicked): (WebInspector.SimpleCookiesTable): (WebInspector.SimpleCookiesTable.prototype.setCookies): (WebInspector.SimpleCookiesTable.prototype.resize): * inspector/front-end/CookiesTable.js: Added. (WebInspector.CookiesTable): (WebInspector.CookiesTable.prototype.updateWidths): (WebInspector.CookiesTable.prototype.setCookies): (WebInspector.CookiesTable.prototype.addCookiesFolder): (WebInspector.CookiesTable.prototype.get selectedCookie): (WebInspector.CookiesTable.prototype._rebuildTable): (WebInspector.CookiesTable.prototype.reset): (WebInspector.CookiesTable.prototype._populateNode): (WebInspector.CookiesTable.prototype._totalSize): (WebInspector.CookiesTable.prototype._sortCookies.localeCompare): (WebInspector.CookiesTable.prototype._sortCookies.numberCompare): (WebInspector.CookiesTable.prototype._sortCookies.expiresCompare): (WebInspector.CookiesTable.prototype._sortCookies): (WebInspector.CookiesTable.prototype._createGridNode): (WebInspector.CookiesTable.prototype._onDeleteFromGrid): * inspector/front-end/FileSystemView.js: (WebInspector.FileSystemView.prototype._selectFileSystemTab): (WebInspector.FileSystemView.prototype.selectTemporaryFileSystemTab): * inspector/front-end/FontView.js: (WebInspector.FontView.prototype.hasContent): (WebInspector.FontView.prototype._createContentIfNeeded): (WebInspector.FontView.prototype.show): (WebInspector.FontView.prototype.updateFontPreviewSize): * inspector/front-end/ImageView.js: (WebInspector.ImageView.prototype.hasContent): (WebInspector.ImageView.prototype.show): * inspector/front-end/NetworkItemView.js: Added. (WebInspector.NetworkItemView): (WebInspector.NetworkItemView.prototype.show): (WebInspector.NetworkItemView.prototype._selectTab): (WebInspector.NetworkItemView.prototype._tabSelected): (WebInspector.NetworkItemView.prototype.resize): (WebInspector.NetworkItemView.prototype.selectContentTab): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype.show): (WebInspector.NetworkPanel.prototype.refreshResource): (WebInspector.NetworkPanel.prototype._showResource): (WebInspector.NetworkPanel.prototype._closeVisibleResource): * inspector/front-end/ResourceCookiesView.js: Added. (WebInspector.ResourceCookiesView): (WebInspector.ResourceCookiesView.prototype.show): * inspector/front-end/ResourceHeadersView.js: Added. (WebInspector.ResourceHeadersView): (WebInspector.ResourceHeadersView.prototype._refreshURL): (WebInspector.ResourceHeadersView.prototype._refreshQueryString): (WebInspector.ResourceHeadersView.prototype._refreshFormData): (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload): (WebInspector.ResourceHeadersView.prototype._refreshParms): (WebInspector.ResourceHeadersView.prototype._toggleURLdecoding): (WebInspector.ResourceHeadersView.prototype._getHeaderValue): (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders): (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders): (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation): (WebInspector.ResourceHeadersView.prototype._refreshHeaders): * inspector/front-end/ResourceView.js: (WebInspector.ResourceView): (WebInspector.ResourceView.prototype.hasContent): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.show): (WebInspector.ResourcesPanel.prototype.showResource): (WebInspector.ResourcesPanel.prototype._showResourceView): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.show): (WebInspector.ScriptsPanel.prototype._showScriptOrResource): * inspector/front-end/SourceView.js: (WebInspector.SourceView): (WebInspector.SourceView.prototype.show): (WebInspector.SourceView.prototype.hide): (WebInspector.SourceView.prototype.resize): (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): (WebInspector.SourceView.prototype.hasContent): (WebInspector.SourceView.prototype.updateLocalContent): (WebInspector.SourceView.prototype.selectLocalContentTab): * inspector/front-end/StylesSidebarPane.js: * inspector/front-end/TabbedPane.js: (WebInspector.TabbedPane): (WebInspector.TabbedPane.prototype.appendTab): (WebInspector.TabbedPane.prototype.selectTab): (WebInspector.TabbedPane.prototype._showTab): (WebInspector.TabbedPane.prototype._hideTab): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.css: (.webkit-line-gutter-backdrop): (.resource-view): (.resource-view.visible): (.resource-view.font): (.resource-view.image > .image): (.resource-view.image > .info): (.storage-view): (.storage-view .data-grid): (.storage-empty-view, .storage-view .storage-table-error): (.storage-view .storage-table-error): * inspector/front-end/inspector.html: * inspector/front-end/networkPanel.css: (.network-cell-subtitle): (.network-header-subtitle): (#network-views .network-item-view .tabbed-pane-header): (#network-views.small .network-item-view .tabbed-pane-header): (.network-item-view): (.network-item-view.visible): (.network-item-view .tabbed-pane-header): (.network-item-view .scope-bar li): (.resource-headers-view): (.resource-headers-view.visible): (.resource-headers-view .outline-disclosure .parent): (.resource-headers-view .outline-disclosure .children li): (.resource-headers-view .outline-disclosure li.expanded .header-count): (.resource-headers-view .outline-disclosure .header-name): (.resource-headers-view .outline-disclosure .header-value): (.resource-headers-view .outline-disclosure .raw-form-data): (.resource-cookies-view): (.resource-cookies-view.visible): (.resource-cookies-view .data-grid): (.resource-cookies-view .data-grid .row-group): 2010-11-24 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: add "Locally modified" group into the resource panel. https://bugs.webkit.org/show_bug.cgi?id=50005 * English.lproj/localizedStrings.js: * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel): (WebInspector.ResourcesPanel.prototype.reset): (WebInspector.ResourcesPanel.prototype.addLocallyModifiedRevision): (WebInspector.ResourcesPanel.prototype._innerShowView): (WebInspector.BaseStorageTreeElement.prototype.set titleText): (WebInspector.LocallyModifiedResourceTreeElement): (WebInspector.LocallyModifiedResourceTreeElement.prototype.onselect): (WebInspector.LocallyModifiedResourceTreeElement.prototype.gcRevisions): (WebInspector.LocallyModifiedRevisionTreeElement): (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onattach): (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onselect): (WebInspector.LocallyModifiedRevisionTreeElement.prototype._ondragstart): 2010-11-24 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: pass style id to front-end as Object, not string. https://bugs.webkit.org/show_bug.cgi?id=49971 * inspector/Inspector.idl: * inspector/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::getStylesForNode2): (WebCore::InspectorCSSAgent::getStyleSheetText2): (WebCore::InspectorCSSAgent::setPropertyText2): (WebCore::InspectorCSSAgent::toggleProperty2): (WebCore::InspectorCSSAgent::setRuleSelector2): * inspector/InspectorCSSAgent.h: * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyle::buildObjectForStyle): (WebCore::InspectorStyleSheet::finalURL): (WebCore::InspectorStyleSheet::ruleForId): (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): (WebCore::InspectorStyleSheet::buildObjectForRule): (WebCore::InspectorStyleSheet::text): (WebCore::InspectorStyleSheet::ruleOrStyleId): (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): (WebCore::InspectorStyleSheetForInlineStyle::text): * inspector/InspectorStyleSheet.h: (WebCore::InspectorCSSId::InspectorCSSId): (WebCore::InspectorCSSId::isEmpty): (WebCore::InspectorCSSId::styleSheetId): (WebCore::InspectorCSSId::ordinal): (WebCore::InspectorCSSId::asInspectorValue): (WebCore::InspectorStyleSheet::id): (WebCore::InspectorStyleSheetForInlineStyle::styleForId): * inspector/front-end/CSSStyleModel.js: (WebInspector.CSSStyleModel.prototype.setRuleSelector): (WebInspector.CSSStyleModel.prototype.addRule): (WebInspector.CSSStyleModel.prototype._styleSheetChanged): (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): (WebInspector.CSSProperty.prototype.setText): (WebInspector.CSSProperty.prototype.setDisabled.callback): (WebInspector.CSSProperty.prototype.setDisabled): (WebInspector.CSSStyleSheet.createForId): (WebInspector.CSSStyleSheet.prototype.setText): 2010-11-24 Sheriff Bot Unreviewed, rolling out r72647. http://trac.webkit.org/changeset/72647 https://bugs.webkit.org/show_bug.cgi?id=50009 breaks the http layout tests (Requested by philn-tp on #webkit). * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::sendRequestCallback): (WebCore::startHttp): (WebCore::ResourceHandle::platformSetDefersLoading): 2010-11-23 Philippe Normand Reviewed by Martin Robinson. [soup] implement ResourceHandle::platformSetDefersLoading https://bugs.webkit.org/show_bug.cgi?id=44158 * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::platformSetDefersLoading): Implemented using the soup_session_{,un}pause_message APIs. 2010-11-22 Abhishek Arya Reviewed by Adam Barth. r71925 broke the chrome new tab page. r71925 blocked drag and drop of same security origin objects onto themselves if their origin is marked unique. We need to allow drag and drop in that scenario. https://bugs.webkit.org/show_bug.cgi?id=49098 Test: http/tests/security/drag-drop-same-unique-origin.html * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::canReceiveDragData): 2010-11-23 Cris Neckar Reviewed by Dimitri Glazkov. Removed unneeded conversions to RenderBlock. https://bugs.webkit.org/show_bug.cgi?id=49896 Test: fast/css/input-search-table-column-crash.html * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): 2010-11-23 Ryosuke Niwa Reviewed by Adam Barth. XMLDocumentParser::notifyFinished calls ScriptController's executeScript without updating isEvaluated flag https://bugs.webkit.org/show_bug.cgi?id=49701 Fixed the bug by calling ScriptElement's executeScript, which sets isEvaluated flag to true. Test: fast/dom/script-clone-rerun-src.xhtml * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): 2010-11-23 Sheriff Bot Unreviewed, rolling out r72628. http://trac.webkit.org/changeset/72628 https://bugs.webkit.org/show_bug.cgi?id=49994 This patch is causing layout-test failtures on GTK Linux 64-bit Debug (Requested by ctguil on #webkit). * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::renderParentObject): (WebCore::AccessibilityRenderObject::addChildren): * accessibility/AccessibilityRenderObject.h: * accessibility/chromium/AccessibilityObjectChromium.cpp: (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 2010-11-23 Xan Lopez Reviewed by Martin Robinson. [GTK] Fix IFrame DOM bindings API https://bugs.webkit.org/show_bug.cgi?id=49980 Fix IFrame API naming. It needs special casing because of the two consecutive capital letters. * bindings/scripts/CodeGeneratorGObject.pm: 2010-11-23 Shimeng (Simon) Wang Reviewed by Steve Block. Use platform bridge to set scroll position. https://bugs.webkit.org/show_bug.cgi?id=49550 Refactoring only. Existing tests shall suffice. * platform/android/PlatformBridge.h: * platform/android/ScrollViewAndroid.cpp: (WebCore::ScrollView::platformSetScrollPosition): 2010-11-23 Andreas Kling Reviewed by Tor Arne Vestbø. [Qt] Selecting shadowed text causes rendering artifacts https://bugs.webkit.org/show_bug.cgi?id=49990 When selecting text starting from the end of a word, we need to use the X coordinate of the start of the substring when calculating the bounding rect for a ContextShadow. * platform/graphics/qt/FontQt.cpp: (WebCore::drawTextCommon): 2010-11-23 Chris Guillory Reviewed by Dimitri Glazkov. Include the FrameView widget of a RenderWidget in the accessibility tree. https://bugs.webkit.org/show_bug.cgi?id=49106 Include render widget children in the accessibility tree for not mac webkit ports. Test: accessibility/iframe-has-document.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::renderParentObject): (WebCore::AccessibilityRenderObject::addChildren): (WebCore::AccessibilityRenderObject::addRenderWidgetChildren): * accessibility/AccessibilityRenderObject.h: * accessibility/chromium/AccessibilityObjectChromium.cpp: (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 2010-11-23 Chris Rogers Reviewed by Alexey Proskuryakov. Add .responseType and .response to XMLHttpRequest https://bugs.webkit.org/show_bug.cgi?id=49633 Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-abort.html fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer.html fast/xmlhttprequest/xmlhttprequest-responsetype-document.html fast/xmlhttprequest/xmlhttprequest-responsetype-text.html * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::markChildren): (WebCore::JSXMLHttpRequest::open): (WebCore::JSXMLHttpRequest::response): * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::V8XMLHttpRequest::responseAccessorGetter): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::responseText): (WebCore::XMLHttpRequest::responseXML): (WebCore::XMLHttpRequest::responseBlob): (WebCore::XMLHttpRequest::responseArrayBuffer): (WebCore::XMLHttpRequest::setResponseType): (WebCore::XMLHttpRequest::responseType): (WebCore::XMLHttpRequest::setAsBlob): (WebCore::XMLHttpRequest::open): (WebCore::XMLHttpRequest::clearResponse): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didReceiveData): * xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::asBlob): (WebCore::XMLHttpRequest::optionalResponseXML): (WebCore::XMLHttpRequest::optionalResponseBlob): (WebCore::XMLHttpRequest::responseTypeCode): (WebCore::XMLHttpRequest::optionalResponseArrayBuffer): * xml/XMLHttpRequest.idl: 2010-11-23 Abhishek Arya Reviewed by Adam Barth. dispatchEvent call in EventSource endRequest can lead to calling endRequest again which frees up the pending activity. Make sure we have request in flight to prevent that from happening. https://bugs.webkit.org/show_bug.cgi?id=49448 Test: http/tests/eventsource/eventsource-status-error-iframe-crash.html * page/EventSource.cpp: (WebCore::EventSource::endRequest): (WebCore::EventSource::close): 2010-11-23 Sheriff Bot Unreviewed, rolling out r72618. http://trac.webkit.org/changeset/72618 https://bugs.webkit.org/show_bug.cgi?id=49987 "Newly added test is failing on Chromium-linux, patch author said to rollout" (Requested by jparent on #webkit). * editing/EditingBehavior.h: * page/EventHandler.cpp: (WebCore::EventHandler::sendContextMenuEvent): 2010-11-23 Avi Drissman Reviewed by Antonio Gomes. Add preference to not select when right-clicked https://bugs.webkit.org/show_bug.cgi?id=23351 Test: editing/selection/context-menu-text-selection.html * editing/EditingBehavior.h: (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick): * page/EventHandler.cpp: (WebCore::EventHandler::sendContextMenuEvent): 2010-11-23 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: [STYLES] invalid color values are not marked as such. https://bugs.webkit.org/show_bug.cgi?id=49960 Properties having a valid structure but invalid values will also be marked as non-parsedOk in the Styles pane. * css/CSSGrammar.y: * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyle::populateObjectWithStyleProperties): 2010-11-23 Adam Bergkvist Reviewed by Martin Robinson. [GTK] Building with Blob support fails https://bugs.webkit.org/show_bug.cgi?id=49724 Build fix. * GNUmakefile.am: * platform/gtk/FileSystemGtk.cpp: (WebCore::seekFile): Not implemented. 2010-11-23 Kenneth Rohde Christiansen Reviewed by Andreas Kling. Make setShouldDelegateScrolling not a real setting, so that it works similar to the related setUseFixedLayout and setPaintEntireContents options which are all in ScrollView. * page/FrameView.cpp: * page/FrameView.h: * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: * platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::setDelegatesScrolling): * platform/ScrollView.h: (WebCore::ScrollView::delegatesScrolling): 2010-11-23 Adam Roben Don't rely on DocumentLoader outliving the load/unload events DocumentLoader::m_documentLoadTiming is used to record how long firing the load event took. But the DocumentLoader was being destroyed while the event was being dispatched (due to a call to document.open), which meant that when we tried to record the time when the load event finished, we were writing into freed memory. We now protect the DocumentLoader using a RefPtr. (I initially made a change where we would only access the DocumentLoader after the event has finished firing, but it seemed possible that a different DocumentLoader could have come into existence by then, which would cause us to record the times on the wrong DocumentLoadTiming struct.) I only saw a crash when firing the load event, but the code for timing the unload event seemed like it was vulnerable to the same issue, so I made the same fix for it. Fixes REGRESSION (r72415?): Crash in DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html Reviewed by Darin Fisher. * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): * page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchLoadEvent): Protect the DocumentLoader (and thus its DocumentLoadTiming) with a RefPtr. 2010-11-17 Zhenyao Mo Reviewed by Kenneth Russell. readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA https://bugs.webkit.org/show_bug.cgi?id=49673 Test: fast/canvas/webgl/read-pixels-test.html * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::readPixels): 2010-11-23 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: [STYLES] Use strike through as an 'overridden' marker. https://bugs.webkit.org/show_bug.cgi?id=49961 "line-through" is used for inactive properties overridden within the same style. * inspector/front-end/inspector.css: (.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled): 2010-11-23 Yael Aharon Reviewed by Antonio Gomes. Spatial Navigation: Code cleanup https://bugs.webkit.org/show_bug.cgi?id=49442 Remove code that is not used anymore after http://trac.webkit.org/changeset/72522. Added const to canBeScrolledIntoView. No new tests because this is only code cleanup. * page/FocusController.cpp: * page/FocusController.h: * page/SpatialNavigation.cpp: (WebCore::canBeScrolledIntoView): * page/SpatialNavigation.h: 2010-11-23 Jeremy Orlow Reviewed by Steve Block. Remove unimplemented (and untested) methods from IndexedDB https://bugs.webkit.org/show_bug.cgi?id=49911 * storage/IDBCursor.idl: * storage/IDBDatabase.idl: 2010-11-18 Satish Sampath Reviewed by Jeremy Orlow. For speech input event, send an event object containing all the recognition results and metadata. https://bugs.webkit.org/show_bug.cgi?id=49736 Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already has the full list of recognition results and populates only the top result into the input field automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS code can access the full list of results via "event.results.length", "results[i].utterance" and "results[i].confidence". Also updated mock object with appropriate methods to test multiple results. Test: fast/speech/input-onspeechchange-event.html * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventCustom.cpp: (WebCore::toJS): Added new event * bindings/v8/custom/V8EventCustom.cpp: (WebCore::toV8): Added new event * dom/Event.cpp: (WebCore::Event::isSpeechInputEvent): * dom/Event.h: * html/HTMLInputElement.cpp: * html/HTMLInputElement.h: * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl (WebCore::SpeechInputEvent::~SpeechInputEvent): (WebCore::SpeechInputEvent::create): (WebCore::SpeechInputEvent::isSpeechInputEvent): (WebCore::SpeechInputEvent::results): (WebCore::SpeechInputEvent::SpeechInputEvent): * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object * page/SpeechInputListener.h: * page/SpeechInputResult.cpp: (WebCore::SpeechInputResult::create): * page/SpeechInputResult.h: * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl (WebCore::SpeechInputResultList::create): (WebCore::SpeechInputResultList::length): (WebCore::SpeechInputResultList::item): (WebCore::SpeechInputResultList::SpeechInputResultList): * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects * platform/mock/SpeechInputClientMock.cpp: (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter. (WebCore::SpeechInputClientMock::clearResults): (WebCore::SpeechInputClientMock::timerFired): * platform/mock/SpeechInputClientMock.h: * rendering/TextControlInnerElements.cpp: (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler. 2010-11-22 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49860 CSS style rules don't GC protect objects reachable as their properties Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html * Android.jscbindings.mk: * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSBindingsAllInOne.cpp: Added new files, sorted appropriate sections for easier adding. * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added. (WebCore::JSCSSFontFaceRule::markChildren): * bindings/js/JSCSSImportRuleCustom.cpp: Added. (WebCore::JSCSSImportRule::markChildren): * bindings/js/JSCSSMediaRuleCustom.cpp: Added. (WebCore::JSCSSMediaRule::markChildren): * bindings/js/JSCSSPageRuleCustom.cpp: Added. (WebCore::JSCSSPageRule::markChildren): * bindings/js/JSCSSStyleRuleCustom.cpp: Added. (WebCore::JSCSSStyleRule::markChildren): * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added. (WebCore::JSWebKitCSSKeyframeRule::markChildren): * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added. (WebCore::JSWebKitCSSKeyframesRule::markChildren): Mark objects reachable through these ones. * css/CSSFontFaceRule.idl: * css/CSSImportRule.idl: * css/CSSMediaRule.idl: * css/CSSPageRule.idl: * css/CSSStyleRule.idl: * css/WebKitCSSKeyframeRule.idl: * css/WebKitCSSKeyframesRule.idl: Added CustomMarkFunction IDL attribute. 2010-11-23 Helder Correia Reviewed by Ariya Hidayat. [Qt] Drawing an image on canvas with shadowBlur draws a solid shadow https://bugs.webkit.org/show_bug.cgi?id=49878 Add support for blurry shadows when drawing images on canvas. Test: fast/canvas/canvas-drawImage-shadow.html * platform/graphics/qt/ContextShadowQt.cpp: (WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too. * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow. 2010-11-22 Patrick Gansterer Reviewed by Adam Roben. Port ContextMenuWin.cpp to WinCE https://bugs.webkit.org/show_bug.cgi?id=48408 * platform/ContextMenu.h: * platform/win/ContextMenuWin.cpp: (WebCore::ContextMenu::ContextMenu): (WebCore::ContextMenu::itemCount): (WebCore::insertMenuItem): (WebCore::ContextMenu::insertItem): (WebCore::contextMenuItemByIdOrPosition): (WebCore::ContextMenu::setPlatformDescription): (WebCore::contextMenuItemVector): (WebCore::platformMenuDescription): 2010-11-22 David Hyatt Back out r72527 since it caused multiple rendering regressions. Details in bug. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesInInlineDirection): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::positionListMarker): 2010-11-22 John Knottenbelt Reviewed by Steve Block. Implement mocks for client-based Geolocation. https://bugs.webkit.org/show_bug.cgi?id=49258 * Android.mk: * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/mock/GeolocationClientMock.cpp: Added. (WebCore::GeolocationClientMock::GeolocationClientMock): (WebCore::GeolocationClientMock::~GeolocationClientMock): (WebCore::GeolocationClientMock::setController): (WebCore::GeolocationClientMock::setPosition): (WebCore::GeolocationClientMock::setError): (WebCore::GeolocationClientMock::geolocationDestroyed): (WebCore::GeolocationClientMock::startUpdating): (WebCore::GeolocationClientMock::stopUpdating): (WebCore::GeolocationClientMock::setEnableHighAccuracy): (WebCore::GeolocationClientMock::lastPosition): (WebCore::GeolocationClientMock::timerFired): (WebCore::GeolocationClientMock::makeGeolocationCallback): * platform/mock/GeolocationClientMock.h: Added. 2010-11-22 Tony Gentilcore Reviewed by Adam Barth. Fix bogus include guard. * loader/NavigationScheduler.h: 2010-11-22 Andreas Kling Reviewed by Ariya Hidayat. [Qt] Canvas: strokeText() and fillText() produce same shadow https://bugs.webkit.org/show_bug.cgi?id=48845 Test: fast/canvas/canvas-strokeText-strokes-shadow.html * platform/graphics/qt/FontQt.cpp: (WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case. 2010-11-22 Patrick Gansterer Reviewed by Sam Weinig. Use WTF::FixedArray::size() https://bugs.webkit.org/show_bug.cgi?id=49891 * dom/Document.cpp: (WebCore::Document::~Document): 2010-11-22 Ryosuke Niwa Reviewed by Tony Chang. SelectionController::typingStyle() should return EditingStyle* https://bugs.webkit.org/show_bug.cgi?id=49813 Changed the return type of SelectionController::typingStyle to EditingStyle*. Extracted textDirection from Editor::textDirectionForSelection to hide the underlying CSSMutableStyleDeclaration. Also extracted the code to preserve unicode-bidi and direction CSS properties in InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection, which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not these two properties are preserved. Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of CSSMutableStyleDeclaration. No new tests are added since this is a refactoring. * editing/EditingStyle.cpp: (WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection. (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check. (WebCore::EditingStyle::prepareToApplyAt): See above. (WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle. * editing/EditingStyle.h: Moved WritingDirection from Editor.h * editing/Editor.cpp: (WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection. (WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle. (WebCore::Editor::selectionComputedStyle): Ditto. (WebCore::Editor::styleForSelectionStart): Ditto. * editing/Editor.h: * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply): Ditto. * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection. * editing/SelectionController.h: (WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*. (WebCore::SelectionController::copyTypingStyle): Added. 2010-11-22 Patrick Gansterer Reviewed by Adam Roben. [WINCE] Set correct preprocessor definitions https://bugs.webkit.org/show_bug.cgi?id=49887 * config.h: 2010-11-22 James Robinson Reviewed by Dimitri Glazkov. [chromium] font-size:0 text runs should have zero width https://bugs.webkit.org/show_bug.cgi?id=49871 Returns 0 from platformWidthForGlyph if the specified font size is 0. Test: fast/text/font-size-zero.html * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: (WebCore::SimpleFontData::platformWidthForGlyph): * platform/graphics/chromium/SimpleFontDataLinux.cpp: (WebCore::SimpleFontData::platformWidthForGlyph): 2010-11-22 Charlie Reis Reviewed by Darin Fisher. Update correct content state during back/forward navigations https://bugs.webkit.org/show_bug.cgi?id=48809 Ensures that history's previousItem is non-null when clients try to update content state (e.g., Chromium's UpdateSessionHistory). We now track load completions with a boolean field rather than by clearing previousItem. Test: fast/history/saves-state-after-frame-nav.html * loader/HistoryController.cpp: * loader/HistoryController.h: 2010-11-22 Luiz Agostini Unreviewed, Windows build fix. Adding JSMediaQueryList to DerivedSources.cpp. * DerivedSources.cpp: 2010-11-22 Adam Roben Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files Apple's Windows build allows placing header files and import libraries for WebKit's dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the $WebKitLibrariesDir environment variable. This is both required for production builds and convenient for Apple-internal developer builds. Apple's production builds also require that WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production builds, the files are copied into that directory tree by the WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the copying is done by JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make. This .vsprops copying is problematic in one very important case: when a developer updates their source tree and then tries to build. Visual Studio only reads .vsprops files when a project is first loaded. So, when Visual Studio is first opened after the .vsprops files are updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build will proceed with out-of-date .vsprops files, which will likely result in a build failure. To fix this, we now use normal relative paths to access the .vsprops files in the source tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is unset, so the normal relative paths are used to read the .vsprops files out of the source tree directly. In production builds, this environment variable is set to a fake directory that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path is resolved. For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops: $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds, JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for FeatureDefines.vsprops becomes: $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops which resolves to: $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3" actually exist since they are matched by an equal number of ".." path components.) Note that Visual Studio still won't pick up changes made to .vsprops files while Visual Studio is open, but that problem hasn't seemed to cause developers many headaches so far. Fixes Windows build fails mysteriously when .vsprops files are updated Reviewed by Dave Hyatt. * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that production builds can find the .vsprops files. * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/WebCore.vcproj: Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files. 2010-10-21 Luiz Agostini Reviewed by Darin Adler. Implement CSSOM View matchMedia interface https://bugs.webkit.org/show_bug.cgi?id=37205 New interfaces may be used to evaluate media queries and to associate listeners to media queries. Those listeners are called whenever the associated query changes. Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface operator== added to JS version of ScriptValue. Method isFunction added to JS and V8 versions of ScriptValue. * bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::isFunction): * bindings/js/ScriptValue.h: (WebCore::ScriptValue::operator==): * bindings/v8/ScriptValue.h: (WebCore::ScriptValue::isFunction): Some changes were needed to the code generators to handle type MediaQueryListListener. * bindings/scripts/CodeGeneratorGObject.pm: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: Some changes to the bindings test results that were previously added. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: (WebCore::TestMediaQueryListListenerInternal::methodCallback): (WebCore::ConfigureV8TestMediaQueryListListenerTemplate): New interfaces: * css/MediaQueryList.cpp: Added. * css/MediaQueryList.h: Added. * css/MediaQueryList.idl: Added. * css/MediaQueryListListener.cpp: Added. * css/MediaQueryListListener.h: Added. * css/MediaQueryListListener.idl: Added. To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created. * css/MediaQueryMatcher.cpp: Added. * css/MediaQueryMatcher.h: Added. Document and DOMWindow have changed to support new features. DOMWindow is the class that publishes methods matchMedia but for page cache to work properly the reference to the MediaQueryMatcher must be in Document. * dom/Document.cpp: (WebCore::Document::~Document): (WebCore::Document::mediaQueryMatcher): (WebCore::Document::styleSelectorChanged): * dom/Document.h: * page/DOMWindow.cpp: (WebCore::DOMWindow::matchMedia): * page/DOMWindow.h: * page/DOMWindow.idl: Build systems * CMakeLists.txt: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/gobject/GNUmakefile.am: Tests: fast/media/media-query-list-01.html fast/media/media-query-list-02.html fast/media/media-query-list-03.html fast/media/media-query-list-04.html fast/media/media-query-list-05.html fast/media/media-query-list-06.html fast/media/media-query-list-07.html 2010-11-22 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable https://bugs.webkit.org/show_bug.cgi?id=49804 * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): * inspector/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::setStyleSheetText2): * inspector/InspectorStyleSheet.cpp: (WebCore::asCSSRuleList): (WebCore::InspectorStyleSheet::reparseStyleSheet): (WebCore::InspectorStyleSheet::setText): (WebCore::InspectorStyleSheet::addRule): (WebCore::InspectorStyleSheet::ruleForId): (WebCore::InspectorStyleSheet::ruleIndexByStyle): (WebCore::InspectorStyleSheet::ensureText): (WebCore::InspectorStyleSheet::ensureSourceData): (WebCore::InspectorStyleSheet::ensureFlatRules): (WebCore::InspectorStyleSheet::revalidateStyle): (WebCore::InspectorStyleSheet::buildArrayForRuleList): (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges): (WebCore::InspectorStyleSheet::collectFlatRules): * inspector/InspectorStyleSheet.h: 2010-11-22 Ilya Tikhonovsky Reviewed by Pavel Feldman. Web Inspector: dump inspector protocol messages into console. Sometimes I need to dump inspector messages into console. It'd be much simple to have this code in repository and enable protocol dumping just by a flag. https://bugs.webkit.org/show_bug.cgi?id=49905 * inspector/CodeGeneratorInspector.pm: * inspector/front-end/WorkersSidebarPane.js: (WebInspector.WorkersSidebarPane.prototype.reset): * inspector/front-end/inspector.js: (WebInspector_syncDispatch): 2010-11-22 Andreas Kling Reviewed by Nikolas Zimmermann. GraphicsContext: Make drawFocusRing() take a Path instead of a Vector https://bugs.webkit.org/show_bug.cgi?id=49840 This avoid copying a Path object when drawing focus rings. * platform/graphics/GraphicsContext.h: * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/haiku/GraphicsContextHaiku.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/wince/GraphicsContextWinCE.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::drawFocusRing): * rendering/RenderImage.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): (WebCore::RenderImage::paintFocusRing): Renamed from paintFocusRings since it only paints one ring. 2010-11-22 Renata Hodovan Reviewed by Andreas Kling. Outside list bullets ignore text-align style. https://bugs.webkit.org/show-bug.cgi?id=15713 Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment. First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's position. As for the others, this sum should be decremented with the previous marker's width. In case of vertical markers the padding is unneeded. Test: fast/lists/outSideListMarkers.html * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesInInlineDirection): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::positionListMarker): 2010-11-22 Yael Aharon , Chang Shu Reviewed by Antonio Gomes. Spatial Navigation: issues with the node selection algorithm. https://bugs.webkit.org/show_bug.cgi?id=49382 Modify the Spatial Navigation algorithm, to better handle initial focus and navigation between frames. The new algorithm takes the rect of the focused node as the startingRect, instead of the node itself. That allows us to construct a virtual rect if there is no focused node, or if it is off the screen. The virtual rect is the edge of the container in the direction of the navigation. With this patch, scrollable containers and frames will scroll regardless of weather they have focusable content. Users will be able to use arrow keys to view all the content of such a container. The only exception is if the container has style overflow:hidden. We will not scroll in that case. With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes, we do a hit test and only the node on top can get focus. hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled its parent container. We do not add the scrolling conditions for containers that have overflow:hidden and cannot scroll. calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on the exsistance of the scrollbar, because it could be removed via the API, while the frame is still allowed to scroll. * page/FocusController.cpp: (WebCore::updateFocusCandidateIfNeeded): (WebCore::FocusController::findFocusCandidateInContainer): (WebCore::FocusController::advanceFocusDirectionallyInContainer): (WebCore::FocusController::advanceFocusDirectionally): * page/FocusController.h: * page/FrameView.h: * page/SpatialNavigation.cpp: (WebCore::FocusCandidate::FocusCandidate): (WebCore::distanceDataForNode): (WebCore::alignmentForRects): (WebCore::areRectsMoreThanFullScreenApart): (WebCore::isRectInDirection): (WebCore::hasOffscreenRect): (WebCore::scrollInDirection): (WebCore::isScrollableContainerNode): (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection): (WebCore::canScrollInDirection): (WebCore::rectToAbsoluteCoordinates): (WebCore::nodeRectInAbsoluteCoordinates): (WebCore::frameRectInAbsoluteCoordinates): (WebCore::entryAndExitPointsForDirection): (WebCore::canBeScrolledIntoView): (WebCore::virtualRectForDirection): * page/SpatialNavigation.h: 2010-11-22 Nikolas Zimmermann Reviewed by Dirk Schulze. Fix various problems with the SVG*List code https://bugs.webkit.org/show_bug.cgi?id=49880 Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests. SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced by the various valueAsString() functions for maximum compatibility with Firefox / Opera. * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix. * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage. * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition). * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types. Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg svg/dom/SVGNumberList-basics.xhtml svg/dom/SVGPointList-basics.xhtml svg/dom/SVGStringList-basics.xhtml svg/dom/SVGTransformList-basics.xhtml * bindings/js/JSSVGLengthCustom.cpp: (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole. (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGLengthCustom.cpp: (WebCore::V8SVGLength::valueAccessorSetter): Ditto. (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto. * svg/SVGAElement.cpp: (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists. * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::synchronizeProperty): Ditto. * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::synchronizeProperty): Ditto. * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::synchronizeProperty): Ditto. * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::synchronizeProperty): Ditto. * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::synchronizeProperty): Ditto. * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::synchronizeProperty): Ditto. * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto. * svg/SVGGElement.cpp: (WebCore::SVGGElement::synchronizeProperty): Ditto. * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::synchronizeProperty): Ditto. * svg/SVGLengthList.cpp: (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator. * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise. * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists. * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::synchronizeProperty): Ditto. * svg/SVGNumberList.cpp: (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator. * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise. * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists. * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::synchronizeProperty): Ditto. * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise. * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists. * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::synchronizeProperty): Ditto. * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::synchronizeProperty): Ditto. * svg/SVGStringList.cpp: (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization. * svg/SVGStringList.h: * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise. * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists. * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes. (WebCore::SVGTests::SVGTests): (WebCore::SVGTests::isValid): (WebCore::SVGTests::parseMappedAttribute): (WebCore::SVGTests::isKnownAttribute): (WebCore::SVGTests::handleAttributeChange): (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods. (WebCore::SVGTests::synchronizeRequiredFeatures): (WebCore::SVGTests::synchronizeRequiredExtensions): (WebCore::SVGTests::synchronizeSystemLanguage): (WebCore::SVGTests::requiredFeatures): (WebCore::SVGTests::requiredExtensions): (WebCore::SVGTests::systemLanguage): * svg/SVGTests.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists. * svg/SVGTransform.cpp: (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String. * svg/SVGTransform.h: * svg/SVGTransformList.cpp: (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix. * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists. * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox. (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::replaceItemValues): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace. (WebCore::SVGListProperty::appendItemValuesAndWrappers): (WebCore::SVGListProperty::role): Expose the role of this list property. * svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox. (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): * svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor. * svg/properties/SVGPropertyTearOff.h: (WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it. (WebCore::SVGPropertyTearOff::role): (WebCore::SVGPropertyTearOff::SVGPropertyTearOff): * svg/properties/SVGStaticPropertyTearOff.h: (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto. (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): 2010-11-22 Yuzo Fujishima Reviewed by Dan Bernstein. Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered. https://bugs.webkit.org/show_bug.cgi?id=49374 Test: fast/css/font-face-data-uri.html * css/CSSFontFaceSrcValue.cpp: (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file extension" for data URI. For other URI, check against ".eot" rather than "eot". 2010-11-21 Patrick Gansterer Reviewed by Csaba Osztrogonác. Use WTF_ARRAY_LENGTH in WebCore directory https://bugs.webkit.org/show_bug.cgi?id=49882 * accessibility/AccessibilityObject.cpp: (WebCore::createARIARoleMap): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/test/V8/V8TestObj.cpp: (WebCore::ConfigureV8TestObjTemplate): * css/CSSComputedStyleDeclaration.cpp: * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseAnimationShorthand): (WebCore::CSSParser::parseTransitionShorthand): * css/CSSPropertyLonghand.cpp: (WebCore::initShorthandMap): * dom/ExceptionCode.cpp: (WebCore::getExceptionCodeDescription): * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): * editing/EditingStyle.cpp: * editing/Editor.cpp: (WebCore::triStateOfStyle): * editing/EditorCommand.cpp: (WebCore::createCommandMap): * editing/MarkupAccumulator.cpp: (WebCore::appendCharactersReplacingEntities): * html/canvas/WebGLBuffer.cpp: (WebCore::WebGLBuffer::getCachedMaxIndex): (WebCore::WebGLBuffer::setCachedMaxIndex): * loader/FTPDirectoryParser.cpp: (WebCore::parseOneFTPLine): * mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::updateFromElement): * page/animation/AnimationBase.cpp: (WebCore::addShorthandProperties): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::hasValidAvgCharWidth): * rendering/break_lines.cpp: * svg/SVGTransformable.cpp: (WebCore::parseAndSkipType): * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGZoomAndPan.cpp: (WebCore::SVGZoomAndPan::parseZoomAndPan): * xml/XPathFunctions.cpp: (WebCore::XPath::createFunctionMap): 2010-11-21 Mario Sanchez Prada Reviewed by Chris Fleizach. [GTK] Implement ROLE_COMBO_BOX https://bugs.webkit.org/show_bug.cgi?id=25678 Implement the remaining bits for combo boxes. This patch finishes the implementation, from the point of view of the Atk library, of those objects exposed to ATK as combo boxes, and their related elements (menus and menu items). It therefore implements the proper interfaces for each type of object related to combo boxes (AtkSelection for the combo box, AtkText for every menu item and AtkAction for the combo box, the menu and the menu items), takes care of emitting the proper signals when focus or a given a selection changes and adds a new unit test to check all this new stuff. Make possible to ask an AccessibleMenuListOption for a sensible string representation, so far only available through the private and MSAA related method nameForMSAA. Just moved the implementation of that method to an overriden version of stringValue(), which is platform independent, and called that from nameForMSAA(). * accessibility/AccessibilityMenuListOption.h: * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to stringValue(), which holds from now on that used to be here. (WebCore::AccessibilityMenuListOption::stringValue): New, override of AccessibilityObject::stringValue() to return a proper string. Emit the missing signals when a selection is made. * accessibility/gtk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): Emit the usual 'focus' signals when a selection is made over the combo box. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED Atk states are added to the state set when needed. (listObjectForSelection): New, returns the proper list object (the one holding the list of available options as its children) for an specific AtkObject implementing AtkSelection. This is needed because sometimes the selectable options are not directly children of the AtkSelection object (i.e. a combo box has a 'menu' object as its only child of it, holding the list of options as children). (optionFromList): Use listObjectForSelection() to get the actual object holding the list of children as the available options. (optionFromSelection): Add support for combo boxes. (webkit_accessible_selection_add_selection): Ditto. (webkit_accessible_selection_clear_selection): Ditto. (webkit_accessible_selection_get_selection_count): Ditto. (webkit_accessible_selection_is_child_selected): Ditto. (webkit_accessible_selection_remove_selection): Ditto. (webkit_accessible_text_get_text): Makes sure stringValue() is considered to get the result substring when it was already considered when checking the maximum text length for the object. (getInterfaceMaskFromObject): Make sure the AtkSelection interface is implemented for the combo boxes, that the AtkText is implemented for the menu items and that the AtkAction interface is now implemented for every object (WebCore will decide what to do). Avoid a segfault crash when using this from unit tests. * platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow before calling gdk_window_get_origin() over it. 2010-11-21 Patrick Gansterer Reviewed by Csaba Osztrogonác. Use WTF_ARRAY_LENGTH in WebCore/platform directory https://bugs.webkit.org/show_bug.cgi?id=49881 * platform/KURL.cpp: (WebCore::portAllowed): * platform/KURLGoogle.cpp: (WebCore::portAllowed): * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedJavaScriptMIMETypes): (WebCore::initializeSupportedNonImageMimeTypes): * platform/UUID.cpp: (WebCore::createCanonicalUUIDString): * platform/efl/RenderThemeEfl.cpp: (WebCore::RenderThemeEfl::applyEdjeStateFromForm): * platform/graphics/GraphicsTypes.cpp: * platform/graphics/chromium/FontCacheChromiumWin.cpp: (WebCore::FontCodepage::if): * platform/graphics/chromium/FontUtilsChromiumWin.cpp: * platform/graphics/mac/ComplexTextControllerCoreText.cpp: (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::disableComponentsOnce): * platform/graphics/mac/SimpleFontDataATSUI.mm: (WebCore::SimpleFontData::checkShapesArabic): * platform/graphics/mac/SimpleFontDataCoreText.cpp: (WebCore::SimpleFontData::getCFStringAttributes): * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::drawLineForTextChecking): * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: (WebCore::disableComponentsOnce): * platform/graphics/win/QTMovie.cpp: (QTMovie::load): * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams): * platform/text/TextEncodingRegistry.cpp: (WebCore::pruneBlacklistedCodecs): * platform/text/transcoder/FontTranscoder.cpp: (WebCore::FontTranscoder::FontTranscoder): 2010-11-20 Andreas Kling Rubber-stamped by Antonio Gomes. [Qt] Fix spelling error (isEmtpyValue -> isEmptyValue) * platform/graphics/qt/FontPlatformDataQt.cpp: (WebCore::isEmptyValue): (WebCore::FontPlatformData::FontPlatformData): 2010-11-20 Andreas Kling Reviewed by Antonio Gomes. [Qt] Limit the size of image preview "cursor" when dragging https://bugs.webkit.org/show_bug.cgi?id=49872 Respect DragController::maxDragImageSize() (currently 400x400.) * platform/qt/DragImageQt.cpp: (WebCore::dragImageSize): (WebCore::scaleDragImage): 2010-11-20 Andreas Kling Reviewed by Antonio Gomes. [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag https://bugs.webkit.org/show_bug.cgi?id=49870 Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt. * page/qt/FrameQt.cpp: (WebCore::Frame::dragImageForSelection): * platform/qt/DragImageQt.cpp: (WebCore::deleteDragImage): (WebCore::createDragImageFromImage): 2010-11-20 Xan Lopez Reviewed by Martin Robinson. [GTK] Memory managament for DOM GObject wrappers https://bugs.webkit.org/show_bug.cgi?id=40302 Initial attempt to have a kind of poor man's garbage collection for GObject DOM objects. We tie the object's lifecycle to their parent Frame and/or its document; that is, all objects will be collected when their parent frame is destroyed or when that frame transitions to a new document. Manual management (calling g_object_unref on them) is also allowed, and is required for objects that are not in the DOM tree (eg NodeLists). * GNUmakefile.am: * bindings/gobject/DOMObjectCache.cpp: Added. * bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h. * bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code. * bindings/gobject/WebKitDOMBinding.h: ditto. * bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header. 2010-11-20 Helder Correia Reviewed by Andreas Kling. [Qt] Path stroke lacks blur shadow support https://bugs.webkit.org/show_bug.cgi?id=49490 Add blur shadow support to strokePath(). Test: fast/canvas/canvas-strokePath-shadow.html * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::strokePath): 2010-11-20 Kwang Yul Seo Reviewed by David Kilzer. [BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h https://bugs.webkit.org/show_bug.cgi?id=49518 HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h. * platform/graphics/WOFFFileFormat.cpp: 2010-11-20 Kwang Yul Seo Reviewed by David Kilzer. [BREWMP] Use std_wstrlen instead of WSTRLEN https://bugs.webkit.org/show_bug.cgi?id=49516 WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead. * platform/text/brew/StringBrew.cpp: (WTF::String::String): 2010-11-20 Patrick Gansterer Reviewed by David Kilzer. [WINCE] Implement textBreakLast and textBreakPrevious https://bugs.webkit.org/show_bug.cgi?id=49552 This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp. Also unify the different TextBreakIterator::first() implementations. * platform/text/wince/TextBoundariesWinCE.cpp: Removed. * platform/text/wince/TextBreakIteratorWinCE.cpp: (WebCore::TextBreakIterator::first): (WebCore::TextBreakIterator::last): (WebCore::textBreakLast): (WebCore::textBreakPrevious): 2010-11-20 Andreas Kling Reviewed by David Kilzer. Path: Remove unused method swap() https://bugs.webkit.org/show_bug.cgi?id=49853 * platform/graphics/Path.h: 2010-11-20 David Kilzer MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary Reviewed by Dan Bernstein. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use RetainPtr for movieAttributes. 2010-11-20 Patrick Gansterer Reviewed by Andreas Kling. Use String::fromUTF8 instead of UTF8Encoding().decode in the libxml XMLDocumentParser https://bugs.webkit.org/show_bug.cgi?id=45488 * dom/XMLDocumentParser.cpp: (WebCore::toString): 2010-11-20 Renata Hodovan Reviewed by Dirk Schulze. FilterPrimitives should have a pointer to its Filter object. https://bugs.webkit.org/show_bug.cgi?id=49863 FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls. This patch adds this member to FilterEffect. No new test is needed because these modifications are covered by all of SVG Filter tests. * platform/graphics/filters/FEBlend.cpp: (WebCore::FEBlend::FEBlend): (WebCore::FEBlend::create): (WebCore::FEBlend::apply): * platform/graphics/filters/FEBlend.h: * platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::FEColorMatrix): (WebCore::FEColorMatrix::create): (WebCore::FEColorMatrix::apply): * platform/graphics/filters/FEColorMatrix.h: * platform/graphics/filters/FEComponentTransfer.cpp: (WebCore::FEComponentTransfer::FEComponentTransfer): (WebCore::FEComponentTransfer::create): (WebCore::FEComponentTransfer::apply): * platform/graphics/filters/FEComponentTransfer.h: * platform/graphics/filters/FEComposite.cpp: (WebCore::FEComposite::FEComposite): (WebCore::FEComposite::create): (WebCore::FEComposite::determineAbsolutePaintRect): (WebCore::FEComposite::apply): * platform/graphics/filters/FEComposite.h: * platform/graphics/filters/FEConvolveMatrix.cpp: (WebCore::FEConvolveMatrix::FEConvolveMatrix): (WebCore::FEConvolveMatrix::create): (WebCore::FEConvolveMatrix::apply): * platform/graphics/filters/FEConvolveMatrix.h: (WebCore::FEConvolveMatrix::determineAbsolutePaintRect): * platform/graphics/filters/FEDiffuseLighting.cpp: (WebCore::FEDiffuseLighting::FEDiffuseLighting): (WebCore::FEDiffuseLighting::create): * platform/graphics/filters/FEDiffuseLighting.h: * platform/graphics/filters/FEDisplacementMap.cpp: (WebCore::FEDisplacementMap::FEDisplacementMap): (WebCore::FEDisplacementMap::create): (WebCore::FEDisplacementMap::apply): * platform/graphics/filters/FEDisplacementMap.h: (WebCore::FEDisplacementMap::determineAbsolutePaintRect): * platform/graphics/filters/FEFlood.cpp: (WebCore::FEFlood::FEFlood): (WebCore::FEFlood::create): (WebCore::FEFlood::apply): * platform/graphics/filters/FEFlood.h: (WebCore::FEFlood::determineAbsolutePaintRect): * platform/graphics/filters/FEGaussianBlur.cpp: (WebCore::FEGaussianBlur::FEGaussianBlur): (WebCore::FEGaussianBlur::create): (WebCore::FEGaussianBlur::determineAbsolutePaintRect): (WebCore::FEGaussianBlur::apply): * platform/graphics/filters/FEGaussianBlur.h: * platform/graphics/filters/FELighting.cpp: (WebCore::FELighting::FELighting): (WebCore::FELighting::apply): * platform/graphics/filters/FELighting.h: (WebCore::FELighting::determineAbsolutePaintRect): * platform/graphics/filters/FEMerge.cpp: (WebCore::FEMerge::FEMerge): (WebCore::FEMerge::create): (WebCore::FEMerge::apply): * platform/graphics/filters/FEMerge.h: * platform/graphics/filters/FEMorphology.cpp: (WebCore::FEMorphology::FEMorphology): (WebCore::FEMorphology::create): (WebCore::FEMorphology::determineAbsolutePaintRect): (WebCore::FEMorphology::apply): * platform/graphics/filters/FEMorphology.h: * platform/graphics/filters/FEOffset.cpp: (WebCore::FEOffset::FEOffset): (WebCore::FEOffset::create): (WebCore::FEOffset::determineAbsolutePaintRect): (WebCore::FEOffset::apply): * platform/graphics/filters/FEOffset.h: * platform/graphics/filters/FESpecularLighting.cpp: (WebCore::FESpecularLighting::FESpecularLighting): (WebCore::FESpecularLighting::create): * platform/graphics/filters/FESpecularLighting.h: * platform/graphics/filters/FETile.cpp: (WebCore::FETile::FETile): (WebCore::FETile::create): (WebCore::FETile::apply): * platform/graphics/filters/FETile.h: (WebCore::FETile::determineAbsolutePaintRect): * platform/graphics/filters/FETurbulence.cpp: (WebCore::FETurbulence::FETurbulence): (WebCore::FETurbulence::create): (WebCore::FETurbulence::apply): * platform/graphics/filters/FETurbulence.h: (WebCore::FETurbulence::determineAbsolutePaintRect): * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::FilterEffect): (WebCore::FilterEffect::determineAbsolutePaintRect): (WebCore::FilterEffect::effectContext): * platform/graphics/filters/FilterEffect.h: (WebCore::FilterEffect::filter): * platform/graphics/filters/SourceAlpha.cpp: (WebCore::SourceAlpha::create): (WebCore::SourceAlpha::determineAbsolutePaintRect): (WebCore::SourceAlpha::apply): * platform/graphics/filters/SourceAlpha.h: (WebCore::SourceAlpha::SourceAlpha): * platform/graphics/filters/SourceGraphic.cpp: (WebCore::SourceGraphic::create): (WebCore::SourceGraphic::determineAbsolutePaintRect): (WebCore::SourceGraphic::apply): * platform/graphics/filters/SourceGraphic.h: (WebCore::SourceGraphic::SourceGraphic): * rendering/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::buildPrimitives): (WebCore::RenderSVGResourceFilter::applyResource): (WebCore::RenderSVGResourceFilter::postApplyResource): * rendering/RenderSVGResourceFilter.h: * rendering/SVGRenderTreeAsText.cpp: (WebCore::writeSVGResourceContainer): * svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::build): * svg/SVGFEBlendElement.h: * svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::build): * svg/SVGFEColorMatrixElement.h: * svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::build): * svg/SVGFEComponentTransferElement.h: * svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::build): * svg/SVGFECompositeElement.h: * svg/SVGFEConvolveMatrixElement.cpp: (WebCore::SVGFEConvolveMatrixElement::build): * svg/SVGFEConvolveMatrixElement.h: * svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::build): * svg/SVGFEDiffuseLightingElement.h: * svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::build): * svg/SVGFEDisplacementMapElement.h: * svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::build): * svg/SVGFEFloodElement.h: * svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::build): * svg/SVGFEGaussianBlurElement.h: * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::build): * svg/SVGFEImageElement.h: * svg/SVGFEMergeElement.cpp: (WebCore::SVGFEMergeElement::build): * svg/SVGFEMergeElement.h: * svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::build): * svg/SVGFEMorphologyElement.h: * svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::build): * svg/SVGFEOffsetElement.h: * svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::build): * svg/SVGFESpecularLightingElement.h: * svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::build): * svg/SVGFETileElement.h: * svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::build): * svg/SVGFETurbulenceElement.h: * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::FEImage): (WebCore::FEImage::create): (WebCore::FEImage::determineAbsolutePaintRect): (WebCore::FEImage::apply): * svg/graphics/filters/SVGFEImage.h: * svg/graphics/filters/SVGFilterBuilder.cpp: (WebCore::SVGFilterBuilder::SVGFilterBuilder): * svg/graphics/filters/SVGFilterBuilder.h: (WebCore::SVGFilterBuilder::create): 2010-11-20 Helder Correia Reviewed by Andreas Kling. [Qt] GraphicsContext::strokeArc() is not necessary any more https://bugs.webkit.org/show_bug.cgi?id=49859 Remove strokeArc() from the Qt port. No test is needed. * platform/graphics/qt/GraphicsContextQt.cpp: 2010-11-20 Helder Correia Reviewed by Andreas Kling. [Qt] Path fill lacks blur shadow support https://bugs.webkit.org/show_bug.cgi?id=49491 Add blur shadow support to fillPath(). Test: fast/canvas/canvas-fillPath-shadow.html * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): 2010-11-19 W. James MacLean Reviewed by James Robinson. Scaled Resized images are blurred when sent to Skia https://bugs.webkit.org/show_bug.cgi?id=42370 This patch modifies ImageSkia.cpp to fix the calculation of resampled bitmap sizes so as to include the transform matrix of the canvas. Includes a new test to catch a regression that occured the first time this patch was applied. Tests: svg/custom/image-rescale-scroll.html svg/custom/image-rescale.svg * platform/graphics/skia/ImageSkia.cpp: (WebCore::computeResamplingMode): (WebCore::drawResampledBitmap): 2010-11-19 Jia Pu Reviewed by Dan Bernstein. Regression: contraction is considered misspelling. https://bugs.webkit.org/show_bug.cgi?id=49423 Test: platform/mac/editing/spelling/autocorrection-contraction.html manual-tests/autocorrection/autocorrection-contraction.html * editing/Editor.cpp: (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can be used by all other functions in the file. (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition() to improve readability, and to pass in additional argument. Before we apply pending autocorrection, we check to see if currently typed character makes current word a partial contraction, for instance "wouldn'". If that's the case, we would not apply the pending correction. (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update the location of ambiguous boundary if other replacements have changed the length of the paragraph. * editing/Editor.h: * editing/TypingCommand.cpp: (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function. * manual-tests/autocorrection/autocorrection-contraction.html: Added. 2010-11-19 Andreas Kling Reviewed by Antonio Gomes. ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const. https://bugs.webkit.org/show_bug.cgi?id=49854 * page/FrameView.cpp: (WebCore::FrameView::delegatesScrolling): (WebCore::FrameView::avoidScrollbarCreation): * page/FrameView.h: * platform/ScrollView.h: (WebCore::ScrollView::delegatesScrolling): (WebCore::ScrollView::avoidScrollbarCreation): 2010-11-19 Pavel Podivilov Reviewed by Yury Semikhatsky. Web Inspector: scripts panel should be shown before execution line is scrolled into view. https://bugs.webkit.org/show_bug.cgi?id=49792 * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.debuggerPaused): 2010-11-19 James Simonsen Reviewed by Tony Chang. [chromium] Fix whitespace character handling in complex text on linux https://bugs.webkit.org/show_bug.cgi?id=49771 * platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added. (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph(). (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph(). * platform/graphics/chromium/FontLinux.cpp: (WebCore::TextRunWalker::nextScriptRun): Cache currently used font data. (WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces. (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces. (WebCore::TextRunWalker::getNormalizedTextRun): 2010-11-19 Steve Falkenburg Reviewed by Adam Roben. Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files https://bugs.webkit.org/show_bug.cgi?id=49819 * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/WebCore.vcproj: * WebCore.vcproj/WebCoreGenerated.vcproj: 2010-11-19 Brady Eidson Reviewed by Darin Adler. and https://bugs.webkit.org/show_bug.cgi?id=49836 Add WebKit2 API relevant to customization of context menus * WebCore.exp.in: 2010-11-19 Michael Saboff Reviewed by Sam Weinig. Removed import of DOMSVGAnimatedPathData.h to fix build. * bindings/objc/DOMSVG.h: 2010-11-19 Avi Drissman Reviewed by Antonio Gomes. Complete support for Unix editing mode https://bugs.webkit.org/show_bug.cgi?id=49757 * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: 2010-11-19 Nate Chapin Reviewed by Alexey Proskuryakov. Remove requests from ResourceLoadScheduler's queue before actually starting them. We're holding a RefPtr anyway, and the load might be terminated and removed from the queue synchronously. https://bugs.webkit.org/show_bug.cgi?id=49693 Test: fast/loader/subresource-willSendRequest-null.html * loader/ResourceLoadScheduler.cpp: (WebCore::ResourceLoadScheduler::servePendingRequests): 2010-11-18 Zhenyao Mo Reviewed by Kenneth Russell. Make sure is* return false if the name is never bound https://bugs.webkit.org/show_bug.cgi?id=49767 * html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before. (WebCore::WebGLBuffer::hasEverBeenBound): * html/canvas/WebGLFramebuffer.cpp: Ditto. (WebCore::WebGLFramebuffer::WebGLFramebuffer): * html/canvas/WebGLFramebuffer.h: Ditto. (WebCore::WebGLFramebuffer::hasEverBeenBound): (WebCore::WebGLFramebuffer::setBound): * html/canvas/WebGLRenderbuffer.cpp: Ditto. (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): * html/canvas/WebGLRenderbuffer.h: Ditto. (WebCore::WebGLRenderbuffer::hasEverBeenBound): (WebCore::WebGLRenderbuffer::setBound): * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true. (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto. (WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound. (WebCore::WebGLRenderingContext::isFramebuffer): Ditto. (WebCore::WebGLRenderingContext::isRenderbuffer): Ditto. (WebCore::WebGLRenderingContext::isTexture): Ditto. * html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before. (WebCore::WebGLTexture::hasEverBeenBound): 2010-11-19 Benjamin Poulain Reviewed by Kenneth Rohde Christiansen. [Qt] mask-box-image renders wrong in certain conditions https://bugs.webkit.org/show_bug.cgi?id=43476 Qt does not follow the same convention as the other port when rendering a pixmap with null width of height. When one of those dimension is null, we should ignore the painting call to behave like the other ports. * platform/graphics/qt/ImageQt.cpp: (WebCore::Image::drawPattern): 2010-11-18 Zhenyao Mo Reviewed by Kenneth Russell. GraphicsContext3D::reshape is clearing using current clear color instead of transparent https://bugs.webkit.org/show_bug.cgi?id=44064 * platform/graphics/gpu/DrawingBuffer.cpp: (WebCore::DrawingBuffer::reset): Use 0 as clear values. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: (WebCore::GraphicsContext3D::reshape): Ditto. 2010-11-19 Chris Rogers Reviewed by Darin Adler. AudioContext should not include "HTMLNames.h" https://bugs.webkit.org/show_bug.cgi?id=49680 No new tests since audio API is not yet implemented. * webaudio/AudioContext.cpp: 2010-11-19 Steve Falkenburg Reviewed by Darin Adler. Normalize Cairo/CFLite project/solution configuration names https://bugs.webkit.org/show_bug.cgi?id=49818 * WebCore.vcproj/WebCore.vcproj: * WebCore.vcproj/WebCoreGenerated.vcproj: 2010-11-19 Daniel Bates Reviewed by Antonio Gomes. Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT https://bugs.webkit.org/show_bug.cgi?id=49489 Substitute ASSERT(newParent) for null-checks for newParent in Frame::transferChildFrameToNewDocument() since newParent is never null. When Frame::transferChildFrameToNewDocument() is called the child frame's owner element has already been transferred to the new document D and D is attached (i.e. has a frame). * page/Frame.cpp: (WebCore::Frame::transferChildFrameToNewDocument): 2010-11-19 Anders Carlsson Reviewed by Sam Weinig. Add SandboxExtension abstraction and use it for the injected bundle extension https://bugs.webkit.org/show_bug.cgi?id=49817 Export fileSystemRepresentation symbol needed by WebKit2. * WebCore.exp.in: 2010-11-19 Steve Falkenburg Windows build fix. Remove leftover Debug_Internal use. * WebCore.vcproj/WebCore.vcproj: 2010-11-18 Steve Falkenburg Reviewed by Adam Roben. Windows vcproj configuration names should be normalized across projects https://bugs.webkit.org/show_bug.cgi?id=49776 * WebCore.vcproj/WebCore.sln: * WebCore.vcproj/WebCore.submit.sln: * WebCore.vcproj/WebCoreGenerated.vcproj: * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added. * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added. 2010-11-19 James Simonsen Reviewed by Darin Fisher. [Web Timing] Add unloadEventStart https://bugs.webkit.org/show_bug.cgi?id=49101 * loader/DocumentLoadTiming.h: (WebCore::DocumentLoadTiming::DocumentLoadTiming): * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent(). * page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent(). (WebCore::DOMWindow::dispatchTimedEvent): Added. * page/DOMWindow.h: * page/Timing.cpp: (WebCore::Timing::unloadEventStart): * page/Timing.h: * page/Timing.idl: 2010-11-19 Martin Robinson Reviewed by Daniel Bates. [GTK] fast/text/international tests are flaky on the bots https://bugs.webkit.org/show_bug.cgi?id=49781 Beef up the == operator overload for Freetype FontPlatformData. Before if two FontPlatformDatas had hash values which fell into the same bucket and were similar enough, they would be evaluated as being equal, leading to failures. No new tests for this change. It's very hard to test, because it depends on the memory address of new allocations. Hopefully flakiness on the bots will go away after patch. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: (WebCore::FontPlatformData::operator==): Beef up the == operator overload. 2010-11-19 Benjamin Poulain Reviewed by Kenneth Rohde Christiansen. [Qt] mask-box-image renders wrong in certain conditions https://bugs.webkit.org/show_bug.cgi?id=43476 When rendering a pixmap with a dest rect having a null dimension, Qt uses the dimension of the Pixmap. The other ports do not render anything by convention. This patch change BitmapImage to follow the convention of other ports and do not paint anything. * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::draw): 2010-11-19 Nikolas Zimmermann Reviewed by Dirk Schulze. Don't call invalidateSVGAttributes() from the setFooBaseValue() methods https://bugs.webkit.org/show_bug.cgi?id=49807 Covered by existing tests. * svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList; * svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto. * svg/SVGFEConvolveMatrixElement.cpp: (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto. * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::parseMappedAttribute): Ditto. * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::parseMappedAttribute): Ditto. * svg/SVGStyledTransformableElement.cpp: (WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto. * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::parseMappedAttribute): Ditto. * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto. * svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue(). 2010-11-19 Sheriff Bot Unreviewed, rolling out r72399. http://trac.webkit.org/changeset/72399 https://bugs.webkit.org/show_bug.cgi?id=49805 Broke Chromium build (Requested by antonm_ on #webkit). * page/chromium/ChromeClientChromium.h: * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupContainer::showPopup): (WebCore::PopupContainer::showExternal): (WebCore::PopupListBox::layout): (WebCore::PopupMenuChromium::show): * platform/chromium/PopupMenuChromium.h: 2010-11-19 Yael Aharon Reviewed by Antonio Gomes. Focus ring in image maps does not take zooming into account https://bugs.webkit.org/show_bug.cgi?id=49625 Take pageZoomFactor into account when calculating the path of the focus ring. Test: fast/images/imagemap-focus-ring-zoom.html * html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::getPath): 2010-11-19 Nikolas Zimmermann Reviewed by Dirk Schulze. SVGTransformList::consolidate() fails on empty lists https://bugs.webkit.org/show_bug.cgi?id=49619 Return null in consolidate() when the list is empty, according to SVG 1.1. Test: svg/dom/SVGTransformList-empty-list-consolidation.html * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::consolidate): 2010-11-19 Jay Civelli Reviewed by David Levin. [chromium] Removing the now unused code to show popup externally on Mac. https://bugs.webkit.org/show_bug.cgi?id=49747 * page/chromium/ChromeClientChromium.h: * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupContainer::showPopup): (WebCore::PopupListBox::layout): (WebCore::PopupMenuChromium::show): * platform/chromium/PopupMenuChromium.h: 2010-11-18 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: reduce the footprint of InspectorBackendDispatcher. InspectorBackendDispatcher is a generated file. Its content is not optimal and loc may be reduced by a quarter. In each generated function we have a code for getting 'in' values from the arguments properties object. I've extracted this code into separate getters. The side effect is better readability of the generated code. https://bugs.webkit.org/show_bug.cgi?id=49729 * inspector/CodeGeneratorInspector.pm: 2010-11-19 John Knottenbelt Reviewed by Jeremy Orlow. Reentrant Geolocation tests crash with an assertion. https://bugs.webkit.org/show_bug.cgi?id=39908 PositionErrors should not be sent to Geolocation watches or one shots that are due to receive a valid cached position. Test: fast/dom/Geolocation/maximum-age.html * page/Geolocation.cpp: (WebCore::Geolocation::sendError): (WebCore::Geolocation::copyCachedNotifiers): (WebCore::Geolocation::handleError): * page/Geolocation.h: 2010-11-19 Sam Magnuson Reviewed by Laszlo Gombos. [Qt] Compile with QT_NO_CLIPBOARD https://bugs.webkit.org/show_bug.cgi?id=49742 * platform/qt/PasteboardQt.cpp: (WebCore::Pasteboard::canSmartReplace): 2010-11-19 Nikolas Zimmermann Reviewed by Andreas Kling. Remove more unused V8/SVG code https://bugs.webkit.org/show_bug.cgi?id=49800 Remove DOMSVGObjectWithContextMap and all usages. * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/DOMDataStore.cpp: (WebCore::DOMDataStore::DOMDataStore): (WebCore::DOMDataStore::getDOMWrapperMap): * bindings/v8/DOMDataStore.h: (WebCore::DOMDataStore::domSvgElementInstanceMap): * bindings/v8/ScopedDOMDataStore.cpp: (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore): * bindings/v8/StaticDOMDataStore.cpp: (WebCore::StaticDOMDataStore::StaticDOMDataStore): * bindings/v8/StaticDOMDataStore.h: * bindings/v8/V8DOMMap.cpp: (WebCore::removeAllDOMObjectsInCurrentThread): * bindings/v8/V8DOMMap.h: 2010-11-19 Zoltan Herczeg Reviewed by Nikolas Zimmermann. createImageBuffer fail should be handled in the same way as other fails https://bugs.webkit.org/show_bug.cgi?id=49799 When createImageBuffer fails (i.e the image width or height is less than 0.5, which is rounded to 0) it just returs with false. Since the m_filter hash map is not updated in this case, the filter image is not drawn. Test: svg/filters/filter-rounding-issues.svg * rendering/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): 2010-11-19 Nikolas Zimmermann Reviewed by Andreas Kling. Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files https://bugs.webkit.org/show_bug.cgi?id=49796 Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept. * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSSVGContextCache.h: Removed. * bindings/js/JSSVGPODListCustom.h: Removed. * bindings/js/JSSVGPODTypeWrapper.h: Removed. * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed. * bindings/v8/V8Proxy.h: Ditto. * bindings/v8/V8SVGPODTypeWrapper.h: Removed. * svg/DeprecatedSVGAnimatedProperty.h: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed. * svg/DeprecatedSVGAnimatedTemplate.h: Removed. * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file. * svg/SVGList.h: Removed. * svg/SVGListTraits.h: Removed. 2010-11-19 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules https://bugs.webkit.org/show_bug.cgi?id=49731 Temporarily disable building of styles for nested rules. * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyleSheet::buildObjectForRule): (WebCore::InspectorStyleSheet::buildObjectForStyle): (WebCore::InspectorStyleSheet::ensureParsedDataReady): (WebCore::InspectorStyleSheet::ensureSourceData): * inspector/InspectorStyleSheet.h: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype._rebuildUpdate): (WebInspector.StylesSidebarPane.prototype._refreshStyleRules): (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules): 2010-11-19 Nikolas Zimmermann Not reviewed. Fix Qt build. * WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time. 2010-11-19 Nikolas Zimmermann Reviewed by Dirk Schulze. Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49580 SVGPathElement.cloneNode loses generated pathSegList https://bugs.webkit.org/show_bug.cgi?id=43388 SVG Path elements are not correctly updated through pathSegList manipulation on relative values https://bugs.webkit.org/show_bug.cgi?id=30219 Changing an SVGPathSeg does not update a following Smooth Cubic Curveto https://bugs.webkit.org/show_bug.cgi?id=19741 SVGPathElement should only build SVGPathSeg* list on demand https://bugs.webkit.org/show_bug.cgi?id=10827 Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg svg/dom/SVGPathSegList-appendItem.xhtml svg/dom/SVGPathSegList-clear-and-initialize.xhtml svg/dom/SVGPathSegList-cloning.html svg/dom/SVGPathSegList-insertItemBefore.xhtml svg/dom/SVGPathSegList-removeItem.xhtml svg/dom/SVGPathSegList-replaceItem.xhtml svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml svg/dom/SVGPathSegList-segment-modification.svg Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept. Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted, and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList. Each SVGPathSeg now needs to store a RefPtr - this makes it impossible to use SVGPathSegList to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive. Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested. As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above. * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build. * CMakeLists.txt: Ditto. * DerivedSources.make: Remove SVGAnimatedPathData IDL generation. * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build. * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation. * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build. * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols. * WebCore.pro: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build. * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter. (WebCore::setDOMException): * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore. * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling. (WebCore::toJS): * bindings/js/JSSVGPathSegListCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type. * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff. * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff. * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list. (WebCore::operator<<): * svg/SVGAllInOne.cpp: Remove obsolete cpp files. * svg/SVGAnimatedPathData.cpp: Removed. * svg/SVGAnimatedPathData.h: Removed. * svg/SVGAnimatedPathData.idl: Removed. * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content. (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information. (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin. (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto. (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList. (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute. (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed. (WebCore::SVGPathElement::synchronizeD): Added. (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings. (WebCore::SVGPathElement::normalizedPathSegList): Ditto. (WebCore::SVGPathElement::animatedPathSegList): Ditto. (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto. (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList. (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement. * svg/SVGPathElement.h: Add new accessors... (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText. (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff. * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement. * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally. (WebCore::globalSVGPathSegListBuilder): (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList): (WebCore::SVGPathParserFactory::buildPathFromByteStream): (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream): (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList): (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString): (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream): (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream): * svg/SVGPathParserFactory.h: * svg/SVGPathSeg.cpp: Removed. * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs. (WebCore::SVGPathSeg::SVGPathSeg): * svg/SVGPathSeg.idl: Reindented. * svg/SVGPathSegArc.cpp: Removed. * svg/SVGPathSegArc.h: All setters now call the commitChange() method. * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegArcRel.idl: Ditto. * svg/SVGPathSegClosePath.cpp: Removed. * svg/SVGPathSegClosePath.h: * svg/SVGPathSegCurvetoCubic.cpp: Removed. * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoCubicRel.idl: Ditto. * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed. * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto. * svg/SVGPathSegCurvetoQuadratic.cpp: Removed. * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto. * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed. * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto. * svg/SVGPathSegLineto.cpp: Removed. * svg/SVGPathSegLineto.h: All setters now call the commitChange() method. * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoHorizontal.cpp: Removed. * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method. * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto. * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoVertical.cpp: Removed. * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method. * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoVerticalRel.idl: Ditto. * svg/SVGPathSegList.cpp: Switch from SVGList > to a plain Vector >. (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList. (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged(). * svg/SVGPathSegList.h: (WebCore::SVGPathSegList::SVGPathSegList): * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes. (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder): (WebCore::SVGPathSegListBuilder::moveTo): (WebCore::SVGPathSegListBuilder::lineTo): (WebCore::SVGPathSegListBuilder::lineToHorizontal): (WebCore::SVGPathSegListBuilder::lineToVertical): (WebCore::SVGPathSegListBuilder::curveToCubic): (WebCore::SVGPathSegListBuilder::curveToCubicSmooth): (WebCore::SVGPathSegListBuilder::curveToQuadratic): (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth): (WebCore::SVGPathSegListBuilder::arcTo): (WebCore::SVGPathSegListBuilder::closePath): * svg/SVGPathSegListBuilder.h: Ditto. (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement): (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList): (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole): (WebCore::SVGPathSegListBuilder::cleanup): * svg/SVGPathSegListSource.cpp: Ditto. (WebCore::SVGPathSegListSource::SVGPathSegListSource): (WebCore::SVGPathSegListSource::parseSVGSegmentType): (WebCore::SVGPathSegListSource::nextCommand): (WebCore::SVGPathSegListSource::parseMoveToSegment): (WebCore::SVGPathSegListSource::parseLineToSegment): (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment): * svg/SVGPathSegListSource.h: Ditto. (WebCore::SVGPathSegListSource::create): * svg/SVGPathSegMoveto.cpp: Removed. * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method. * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegMovetoRel.idl: Ditto. * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list). (WebCore::SVGPathSegWithContext::SVGPathSegWithContext): (WebCore::SVGPathSegWithContext::animatedProperty): (WebCore::SVGPathSegWithContext::setContextAndRole): (WebCore::SVGPathSegWithContext::commitChange): (WebCore::SVGPathSegSingleCoordinate::x): (WebCore::SVGPathSegSingleCoordinate::setX): (WebCore::SVGPathSegSingleCoordinate::y): (WebCore::SVGPathSegSingleCoordinate::setY): (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList): (WebCore::SVGAnimatedPathSegListPropertyTearOff::create): (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff): * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added. (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header. (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto. (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto. (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file. (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext. * svg/properties/SVGPathSegListPropertyTearOff.h: Added. (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList): (WebCore::SVGPathSegListPropertyTearOff::numberOfItems): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::commitChange): (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper): 2010-11-19 Pavel Feldman Not reviewed: one line follow up to r72376. * inspector/InspectorResourceAgent.cpp: (WebCore::buildObjectForResourceResponse): 2010-11-19 Sergio Villar Senin Reviewed by Xan Lopez. [Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache https://bugs.webkit.org/show_bug.cgi?id=49666 WebKit resource load cache does validate its own resources by issuing conditional requests to the server. The HTTP cache was making the assumption that any possible conditional request was always generated by itself. * platform/network/soup/cache/webkit/soup-cache.c: (webkit_soup_cache_entry_remove): added an assertion (msg_got_headers_cb): 2010-11-19 Dai Mikurube Reviewed by Kent Tamura. stepUp/stepDown for values in step-mismatching state for input elements https://bugs.webkit.org/show_bug.cgi?id=48976 Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for step-mismatching values. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::applyStep): 2010-11-19 Pavel Feldman Not reviewed. Rolled out build failures introduced in r72373. * inspector/CodeGeneratorInspector.pm: 2010-11-18 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: provide response code and status text as a part of raw headers data. https://bugs.webkit.org/show_bug.cgi?id=49668 * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * inspector/InspectorResourceAgent.cpp: (WebCore::buildObjectForResourceResponse): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): * inspector/front-end/ResourceManager.js: (WebInspector.ResourceManager.prototype._updateResourceWithResponse): * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h. (WebCore::ResourceLoadInfo::ResourceLoadInfo): * platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::resourceLoadInfo): (WebCore::ResourceResponseBase::setResourceLoadInfo): * platform/network/ResourceResponseBase.h: 2010-11-19 Mike Lawther Reviewed by James Robinson. [skia] assert when attempting to get (but not use) pointer to outside the canvas https://bugs.webkit.org/show_bug.cgi?id=49698 Early return to avoid getting a pointer to outside the canvas, and hence triggering a Skia assert. * platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::getImageData): 2010-11-18 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: reduce the footprint of InspectorBackendDispatcher. InspectorBackendDispatcher is a generated file. Its content is not optimal and loc may be reduced by a quarter. In each generated function we have a code for getting 'in' values from the arguments properties object. I've extracted this code into separate getters. The side effect is better readability of the generated code. https://bugs.webkit.org/show_bug.cgi?id=49729 * inspector/CodeGeneratorInspector.pm: 2010-11-19 Yael Aharon Reviewed by Antonio Gomes. [Qt] Focus ring does not show for image maps https://bugs.webkit.org/show_bug.cgi?id=49615 Draw a focus ring for the paths surrounding the focus ring of image map area. Provide Qt specific results for the test fast/images/imagemap-focus-ring.html. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawFocusRing): 2010-11-01 MORITA Hajime Reviewed by David Hyatt. Navigating dark background websites results in blinding white flashes between pages. https://bugs.webkit.org/show_bug.cgi?id=45640 This FOUC is caused by an early layout request before the is ready, and the page's background style given for , instead of . So many sites have such stylesheets that we should care them. - Some DOM operation such as 'element.offsetLeft' causes page layout. - The page layout results page repaint - The page page repaint makes a white screen. because there is nothing to paint before is available. This change: - extracted existing FOUC check on RenderBlock and RenderLayer to Document::mayCauseFlashOfUnstyledContent(), - checked non- element availability on mayCauseFlashOfUnstyledContent(), and - added FOUC guards before requesting reapint on FrameView. Note that non- document root children are typically , but possibly some other type of elements in the case of non-HTML documents. No new tests. The data loading speed matters and it cannot be captured by DRT. * dom/Document.cpp: (hasHeadSibling): Added. (WebCore::Document::mayCauseFlashOfUnstyledContent): Added. * dom/Document.h: * page/FrameView.cpp: (WebCore::FrameView::invalidateRect): Added a guard. (WebCore::FrameView::repaintContentRectangle): Added a guard. (WebCore::FrameView::doDeferredRepaints): Added a guard. (WebCore::FrameView::shouldUpdate): Added. * page/FrameView.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent 2010-11-18 Kent Tamura Reviewed by Tony Chang. Add more validation message functions https://bugs.webkit.org/show_bug.cgi?id=49716 Add the following message functions: - validationMessageValueMissingForCheckbox() - validationMessageValueMissingForFile() - validationMessageValueMissingForMultipleFile() - validationMessageValueMissingForRadio() - validationMessageValueMissingForSelect() and update ValidityState, HTMLInputElement, and InputTypes to use them. No new tests because this doesn't change visible behavior. * html/CheckboxInputType.cpp: (WebCore::CheckboxInputType::valueMissingText): * html/CheckboxInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::valueMissingText): * html/FileInputType.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::valueMissingText): * html/HTMLInputElement.h: * html/InputType.cpp: (WebCore::InputType::valueMissingText): * html/InputType.h: * html/RadioInputType.cpp: (WebCore::RadioInputType::valueMissingText): * html/RadioInputType.h: * html/ValidityState.cpp: (WebCore::ValidityState::validationMessage): * platform/LocalizedStrings.cpp: (WebCore::validationMessageValueMissingForCheckboxText): (WebCore::validationMessageValueMissingForFileText): (WebCore::validationMessageValueMissingForMultipleFileText): (WebCore::validationMessageValueMissingForRadioText): (WebCore::validationMessageValueMissingForSelectText): * platform/LocalizedStrings.h: * platform/android/LocalizedStringsAndroid.cpp: (WebCore::validationMessageValueMissingForCheckboxText): (WebCore::validationMessageValueMissingForFileText): (WebCore::validationMessageValueMissingForMultipleFileText): (WebCore::validationMessageValueMissingForRadioText): (WebCore::validationMessageValueMissingForSelectText): * platform/brew/LocalizedStringsBrew.cpp: (WebCore::validationMessageValueMissingForCheckboxText): (WebCore::validationMessageValueMissingForFileText): (WebCore::validationMessageValueMissingForMultipleFileText): (WebCore::validationMessageValueMissingForRadioText): (WebCore::validationMessageValueMissingForSelectText): * platform/efl/LocalizedStringsEfl.cpp: (WebCore::validationMessageValueMissingForCheckboxText): (WebCore::validationMessageValueMissingForFileText): (WebCore::validationMessageValueMissingForMultipleFileText): (WebCore::validationMessageValueMissingForRadioText): (WebCore::validationMessageValueMissingForSelectText): * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::validationMessageValueMissingForCheckboxText): (WebCore::validationMessageValueMissingForFileText): (WebCore::validationMessageValueMissingForMultipleFileText): (WebCore::validationMessageValueMissingForRadioText): (WebCore::validationMessageValueMissingForSelectText): * platform/haiku/LocalizedStringsHaiku.cpp: (WebCore::validationMessageValueMissingText): (WebCore::validationMessageValueMissingForCheckboxText): (WebCore::validationMessageValueMissingForFileText): (WebCore::validationMessageValueMissingForMultipleFileText): (WebCore::validationMessageValueMissingForRadioText): (WebCore::validationMessageValueMissingForSelectText): * platform/wx/LocalizedStringsWx.cpp: (WebCore::validationMessageValueMissingForCheckboxText): (WebCore::validationMessageValueMissingForFileText): (WebCore::validationMessageValueMissingForMultipleFileText): (WebCore::validationMessageValueMissingForRadioText): (WebCore::validationMessageValueMissingForSelectText): 2010-11-18 Gavin Barraclough Reviewed by Oliver Hunt. Bug 49708 - Stop recompiling functions to regenerate exception info. Instead only hold info as necessary – keep divot info is the inspector is enabled, line number info is debugging or profiling, and handler info for functions with try/catch. * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::supportsRichSourceInfo): - report to JSC whether the inspector is enabled - in which case we will generate better error messages on exceptions. * bindings/js/JSDOMWindowBase.h: 2010-11-18 Jian Li Reviewed by Kenneth Russell. Make binding code generation scripts support 'short' type https://bugs.webkit.org/show_bug.cgi?id=49704 Updated binding tests. * bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue. * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/test/CPP/WebDOMTestObj.cpp: * bindings/scripts/test/CPP/WebDOMTestObj.h: * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: * bindings/scripts/test/GObject/WebKitDOMTestObj.h: * bindings/scripts/test/JS/JSTestObj.cpp: * bindings/scripts/test/JS/JSTestObj.h: * bindings/scripts/test/ObjC/DOMTestObj.h: * bindings/scripts/test/ObjC/DOMTestObj.mm: * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/V8/V8TestObj.cpp: 2010-11-18 Mark Rowe Rubber-stamped by Adam Roben. Enable compaction support. * Configurations/WebCore.xcconfig: 2010-11-18 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49772 Fix nested ruby. My previous checkin (for 49717) broke it. Push the ruby text and ruby base text together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom. This way the overflow from nested rubies is accounted for. Added fast/ruby/nested-ruby.html * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::layout): 2010-11-18 Kinuko Yasuda Reviewed by Nate Chapin. [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers https://bugs.webkit.org/show_bug.cgi?id=49613 No new tests. Running existing worker tests like fast/workers/storage/execute-sql-args-worker.html in chromium would verify it. * bindings/v8/V8Binding.cpp: (WebCore::int32ToWebCoreStringFast): (WebCore::int32ToWebCoreString): 2010-11-18 Alexey Proskuryakov Windows build fix. https://bugs.webkit.org/show_bug.cgi?id=49762 Stylesheet wrappers are not GC protected * bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files. 2010-11-18 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49717 Implement better behavior for the logical height and block direction spacing of ruby text and ruby base text. Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test that ruby doesn't reset line-height. * css/html.css: Remove the line-height:normal rule for This behavior was incorrect, since a on a line by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored. * rendering/InlineBox.h: (WebCore::InlineBox::adjustBlockDirectionPosition): Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y) depending on orientation. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesInBlockDirection): placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby, to true. This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not. Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt) mess up the flipping otherwise. These new variables are lineTopIncludingMargins and lineBottomIncludingMargins. This is only relevant for replaced elements, since the block direction margins of inline flows are always 0. Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term), the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop and lineBottom since it is inside the inline-block's height. To prevent this from happening, we have to fake it as though RenderRubyRun was just a normal inline. We look at the line boxes of the ruby base and we push lineTop/Bottom in by the leading on either side so that it isn't counted as part of lineTop and lineBottom. This enables the later Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's interior on a previous line. (WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment): This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the line. With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so we're checking some highest previous position and computing the amount we have to move. For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have to move the *following* line based off a lowest position. In all writing modes we will allow Ruby text to intrude into the padding of a block. * rendering/InlineFlowBox.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height computations. Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to legends. This means that the RenderRubyRun computes its logical height without any regard for the ruby text. * rendering/RenderBlock.h: (WebCore::RenderBlock::layoutSpecialExcludedChild): layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block to accommodate ruby text along the bottom side of the line. We call computeBlockDirectionRubyAdjustment here in flipped lines writing mode only, and then we increase the logical height of the block if necessary. * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::layoutSpecialExcludedChild): * rendering/RenderFieldset.h: No changes here other than the function rename. * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::staticCreateRubyRun): Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary now that RenderRubyRun has its own layout method. (WebCore::RenderRubyRun::layoutSpecialExcludedChild): RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet. We wait until the base is positioned and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method. (WebCore::RenderRubyRun::layout): * rendering/RenderRubyRun.h: RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with one another. The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun as overflow. * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::RootInlineBox): Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present. (WebCore::RootInlineBox::adjustPosition): Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy even in vertical writing modes (where dx needed to be used instead). (WebCore::RootInlineBox::alignBoxesInBlockDirection): (WebCore::RootInlineBox::blockDirectionRubyAdjustment): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::containsRuby): RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required. 2010-11-18 Alexey Proskuryakov Reviewed by Geoffrey Garen. https://bugs.webkit.org/show_bug.cgi?id=49762 Stylesheet wrappers are not GC protected Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml * Android.jscbindings.mk: * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: Added the new custom bindings files. * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some existing headers. * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own wrapper has to stay alive, too. While at it, also fixed the same issue with inline style declarations. Also, added a FIXME comment about one with attribute nodes. We implement a less conservative approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties() check. * bindings/js/JSHTMLLinkElementCustom.cpp: Added. (WebCore::JSHTMLLinkElement::markChildren): * bindings/js/JSHTMLStyleElementCustom.cpp: Added. (WebCore::JSHTMLStyleElement::markChildren): * bindings/js/JSProcessingInstructionCustom.cpp: Added. (WebCore::JSProcessingInstruction::markChildren): Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it conservatively, without checking whether the stylesheet or any of its children have custom properties. * dom/ProcessingInstruction.idl: * html/HTMLLinkElement.idl: * html/HTMLStyleElement.idl: These have custom mark functions now. 2010-11-18 Jian Li Reviewed by Kenneth Russell. Move length and slice out of ArrayBufferView interface https://bugs.webkit.org/show_bug.cgi?id=49697 No functionality change. Covered by existing ArrayBuffer tests. * WebCore.gypi: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSArrayBufferViewCustom.cpp: Removed. * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed. * html/canvas/ArrayBufferView.h: * html/canvas/ArrayBufferView.idl: * html/canvas/Float32Array.cpp: (WebCore::Float32Array::slice): * html/canvas/Float32Array.h: * html/canvas/Float32Array.idl: * html/canvas/Int16Array.cpp: (WebCore::Int16Array::slice): * html/canvas/Int16Array.h: * html/canvas/Int16Array.idl: * html/canvas/Int32Array.cpp: (WebCore::Int32Array::slice): * html/canvas/Int32Array.h: * html/canvas/Int32Array.idl: * html/canvas/Int8Array.cpp: (WebCore::Int8Array::slice): * html/canvas/Int8Array.h: * html/canvas/Int8Array.idl: * html/canvas/TypedArrayBase.h: (WebCore::TypedArrayBase::length): * html/canvas/Uint16Array.cpp: (WebCore::Uint16Array::slice): * html/canvas/Uint16Array.h: * html/canvas/Uint16Array.idl: * html/canvas/Uint32Array.cpp: (WebCore::Uint32Array::slice): * html/canvas/Uint32Array.h: * html/canvas/Uint32Array.idl: * html/canvas/Uint8Array.cpp: (WebCore::Uint8Array::slice): * html/canvas/Uint8Array.h: * html/canvas/Uint8Array.idl: * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::readPixels): 2010-11-17 Zhenyao Mo Reviewed by Kenneth Russell. Implement UNPACK_COLORSPACE_CONVERSION_WEBGL https://bugs.webkit.org/show_bug.cgi?id=47196 * platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing. * platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::headerAvailable): Ditto. 2010-11-18 Steve Falkenburg Reviewed by Adam Roben. Remove leftover Windows Debug_Internal configurations https://bugs.webkit.org/show_bug.cgi?id=49758 * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/WebCore.vcproj: 2010-11-18 Sheriff Bot Unreviewed, rolling out r72299. http://trac.webkit.org/changeset/72299 https://bugs.webkit.org/show_bug.cgi?id=49761 Broke chromium ui test SessionHistoryTest.FrameBackForward. (Requested by dave_levin on #webkit). * loader/HistoryController.cpp: (WebCore::HistoryController::HistoryController): (WebCore::HistoryController::saveDocumentState): (WebCore::HistoryController::updateForBackForwardNavigation): (WebCore::HistoryController::updateForCommit): (WebCore::HistoryController::updateForFrameLoadCompleted): (WebCore::HistoryController::setCurrentItem): (WebCore::HistoryController::createItem): (WebCore::HistoryController::createItemTree): (WebCore::HistoryController::recursiveGoToItem): * loader/HistoryController.h: 2010-11-18 James Robinson Reviewed by Darin Fisher. [chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux https://bugs.webkit.org/show_bug.cgi?id=49638 Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just like Safari Win did in r72270. Test: fast/text/font-size-zero.html * platform/graphics/chromium/FontPlatformDataLinux.cpp: (WebCore::FontPlatformData::setupPaint): * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: (WebCore::SimpleFontData::platformInit): 2010-11-18 Rob Buis Reviewed by Simon Fraser. Only inject fullscreen.css when in fullscreen https://bugs.webkit.org/show_bug.cgi?id=49510 Refactor to only add fullscreen sheet rules when document is in fullscreen mode. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::loadFullDefaultStyle): (WebCore::loadFullScreenRulesIfNeeded): (WebCore::CSSStyleSelector::styleForElement): 2010-11-18 Steve Falkenburg Reviewed by Adam Roben. Debug_Internal Windows configuration is unnecessary, should be removed https://bugs.webkit.org/show_bug.cgi?id=49753 * WebCorePrefix.h: 2010-11-18 Steve Falkenburg Reviewed by Adam Roben. Clean up vcproj errors https://bugs.webkit.org/show_bug.cgi?id=49741 * WebCore.vcproj/WebCore.vcproj: 2010-11-18 Alexey Proskuryakov Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=49694 Add some comments about XSLStyleSheet owner node No change in behavior, so no tests. * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): * xml/XSLStyleSheet.h: (WebCore::XSLStyleSheet::create): (WebCore::XSLStyleSheet::createEmbedded): (WebCore::XSLStyleSheet::createForXSLTProcessor): * xml/XSLStyleSheetLibxslt.cpp: (WebCore::XSLStyleSheet::XSLStyleSheet): * xml/XSLTProcessorLibxslt.cpp: (WebCore::xsltStylesheetPointer): * xml/XSLTProcessorQt.cpp: (WebCore::XSLTProcessor::transformToString): 2010-11-18 Jer Noble Reviewed by Eric Carlson. REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows https://bugs.webkit.org/show_bug.cgi?id=44439 setUpCookiesForQuickTime() previously depended on having setFrameView() called first in order to get a Frame, and when it wasn't set, the cookie-copy failed. Now, setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument() to retrieve the document and subsequently, the Frame. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime): 2010-11-18 Joseph Pecoraro Reviewed by Darin Adler. Allow no-store resources to be used for back navigation https://bugs.webkit.org/show_bug.cgi?id=49672 Test: http/tests/cache/history-only-cached-subresource-loads.html HTTP allows "Cache-Control: no-store" resources to "cached" for the purposes of history, such as back/forward navigation. Previously WebCore just immediately evicted these resources, now we leave them in the cache as long as they are not "https". This allows us to use them if they are used in a back navigation, or lazily evict and replace them on other load types expecting non-stale resources. (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache. * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::checkForReload): (WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation). * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources. * loader/cache/MemoryCache.h: default the forHistory parameter to false. Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer. * loader/FrameLoader.cpp: (WebCore::FrameLoader::subresourceCachePolicy): * loader/cache/CachePolicy.h: * loader/cache/CachedResource.cpp: 2010-11-18 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49700 XSLTProcessor.importNode is only tested with document nodes, and hits an assertion Test: fast/xsl/import-non-document-node.xhtml * css/CSSStyleSheet.cpp: (WebCore::isAcceptableCSSStyleSheetParent): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/StyleSheet.cpp: (WebCore::StyleSheet::StyleSheet): Moved the assertion - hopefully, it's valid for CSS stylesheets. 2010-11-18 Charlie Reis Reviewed by Darin Fisher. Update correct content state during back/forward navigations https://bugs.webkit.org/show_bug.cgi?id=48809 Ensures that history's previousItem is non-null when clients try to update content state (e.g., Chromium's UpdateSessionHistory). We now track load completions with a boolean field rather than by clearing previousItem. Behavior covered by existing tests in fast/history and fast/loader. * loader/HistoryController.cpp: 2010-11-18 Sheriff Bot Unreviewed, rolling out r72288. http://trac.webkit.org/changeset/72288 https://bugs.webkit.org/show_bug.cgi?id=49730 'krit attempted to do that, but revert got stuck' (Requested by antonm on #webkit). * Android.mk: * CMakeLists.txt: * DerivedSources.make: * GNUmakefile.am: * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * WebCore.order: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/JSDOMBinding.cpp: (WebCore::setDOMException): * bindings/js/JSDOMBinding.h: (WebCore::createDOMObjectWrapper): (WebCore::getDOMObjectWrapper): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJS): * bindings/js/JSSVGPathSegListCustom.cpp: Added. (WebCore::JSSVGPathSegList::clear): (WebCore::JSSVGPathSegList::initialize): (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): (WebCore::JSSVGPathSegList::appendItem): * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorObjC.pm: * bindings/scripts/CodeGeneratorV8.pm: * rendering/SVGRenderTreeAsText.cpp: (WebCore::operator<<): * svg/SVGAllInOne.cpp: * svg/SVGAnimatedPathData.cpp: Added. * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData): * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl. * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::getPathSegAtLength): (WebCore::SVGPathElement::createSVGPathSegClosePath): (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): (WebCore::SVGPathElement::createSVGPathSegMovetoRel): (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): (WebCore::SVGPathElement::createSVGPathSegLinetoRel): (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): (WebCore::SVGPathElement::createSVGPathSegArcAbs): (WebCore::SVGPathElement::createSVGPathSegArcRel): (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): (WebCore::SVGPathElement::parseMappedAttribute): (WebCore::SVGPathElement::svgAttributeChanged): (WebCore::SVGPathElement::synchronizeProperty): (WebCore::SVGPathElement::pathSegList): (WebCore::SVGPathElement::normalizedPathSegList): (WebCore::SVGPathElement::animatedPathSegList): (WebCore::SVGPathElement::animatedNormalizedPathSegList): (WebCore::SVGPathElement::toPathData): * svg/SVGPathElement.h: (WebCore::SVGPathElement::isValid): (WebCore::SVGPathElement::supportsMarkers): * svg/SVGPathElement.idl: * svg/SVGPathParserFactory.cpp: (WebCore::globalSVGPathSegListBuilder): (WebCore::SVGPathParserFactory::buildPathFromByteStream): (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList): (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString): (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream): (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList): (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString): (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream): (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList): * svg/SVGPathParserFactory.h: * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl. (WebCore::SVGPathSeg::associatedAttributeName): * svg/SVGPathSeg.h: (WebCore::SVGPathSegSingleCoord::setX): (WebCore::SVGPathSegSingleCoord::x): (WebCore::SVGPathSegSingleCoord::setY): (WebCore::SVGPathSegSingleCoord::y): (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord): * svg/SVGPathSeg.idl: * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs): (WebCore::SVGPathSegArcRel::SVGPathSegArcRel): * svg/SVGPathSegArc.h: (WebCore::SVGPathSegArc::SVGPathSegArc): (WebCore::SVGPathSegArc::setX): (WebCore::SVGPathSegArc::x): (WebCore::SVGPathSegArc::setY): (WebCore::SVGPathSegArc::y): (WebCore::SVGPathSegArc::setR1): (WebCore::SVGPathSegArc::r1): (WebCore::SVGPathSegArc::setR2): (WebCore::SVGPathSegArc::r2): (WebCore::SVGPathSegArc::setAngle): (WebCore::SVGPathSegArc::angle): (WebCore::SVGPathSegArc::setLargeArcFlag): (WebCore::SVGPathSegArc::largeArcFlag): (WebCore::SVGPathSegArc::setSweepFlag): (WebCore::SVGPathSegArc::sweepFlag): (WebCore::SVGPathSegArcAbs::create): (WebCore::SVGPathSegArcAbs::pathSegType): (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegArcRel::create): (WebCore::SVGPathSegArcRel::pathSegType): (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter): * svg/SVGPathSegArcAbs.idl: * svg/SVGPathSegArcRel.idl: * svg/SVGPathSegClosePath.cpp: Added. * svg/SVGPathSegClosePath.h: (WebCore::SVGPathSegClosePath::create): (WebCore::SVGPathSegClosePath::SVGPathSegClosePath): * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs): (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel): * svg/SVGPathSegCurvetoCubic.h: (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic): (WebCore::SVGPathSegCurvetoCubic::setX): (WebCore::SVGPathSegCurvetoCubic::x): (WebCore::SVGPathSegCurvetoCubic::setY): (WebCore::SVGPathSegCurvetoCubic::y): (WebCore::SVGPathSegCurvetoCubic::setX1): (WebCore::SVGPathSegCurvetoCubic::x1): (WebCore::SVGPathSegCurvetoCubic::setY1): (WebCore::SVGPathSegCurvetoCubic::y1): (WebCore::SVGPathSegCurvetoCubic::setX2): (WebCore::SVGPathSegCurvetoCubic::x2): (WebCore::SVGPathSegCurvetoCubic::setY2): (WebCore::SVGPathSegCurvetoCubic::y2): (WebCore::SVGPathSegCurvetoCubicAbs::create): (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType): (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoCubicRel::create): (WebCore::SVGPathSegCurvetoCubicRel::pathSegType): (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter): * svg/SVGPathSegCurvetoCubicAbs.idl: * svg/SVGPathSegCurvetoCubicRel.idl: * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs): (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel): * svg/SVGPathSegCurvetoCubicSmooth.h: (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth): (WebCore::SVGPathSegCurvetoCubicSmooth::setX): (WebCore::SVGPathSegCurvetoCubicSmooth::x): (WebCore::SVGPathSegCurvetoCubicSmooth::setY): (WebCore::SVGPathSegCurvetoCubicSmooth::y): (WebCore::SVGPathSegCurvetoCubicSmooth::setX2): (WebCore::SVGPathSegCurvetoCubicSmooth::x2): (WebCore::SVGPathSegCurvetoCubicSmooth::setY2): (WebCore::SVGPathSegCurvetoCubicSmooth::y2): (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create): (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType): (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoCubicSmoothRel::create): (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType): (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter): * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: * svg/SVGPathSegCurvetoCubicSmoothRel.idl: * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs): (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel): * svg/SVGPathSegCurvetoQuadratic.h: (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic): (WebCore::SVGPathSegCurvetoQuadratic::setX): (WebCore::SVGPathSegCurvetoQuadratic::x): (WebCore::SVGPathSegCurvetoQuadratic::setY): (WebCore::SVGPathSegCurvetoQuadratic::y): (WebCore::SVGPathSegCurvetoQuadratic::setX1): (WebCore::SVGPathSegCurvetoQuadratic::x1): (WebCore::SVGPathSegCurvetoQuadratic::setY1): (WebCore::SVGPathSegCurvetoQuadratic::y1): (WebCore::SVGPathSegCurvetoQuadraticAbs::create): (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType): (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoQuadraticRel::create): (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType): (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter): * svg/SVGPathSegCurvetoQuadraticAbs.idl: * svg/SVGPathSegCurvetoQuadraticRel.idl: * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs): (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel): * svg/SVGPathSegCurvetoQuadraticSmooth.h: (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create): (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType): (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create): (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType): (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter): * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs): (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel): * svg/SVGPathSegLineto.h: (WebCore::SVGPathSegLinetoAbs::create): (WebCore::SVGPathSegLinetoAbs::pathSegType): (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoRel::create): (WebCore::SVGPathSegLinetoRel::pathSegType): (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter): * svg/SVGPathSegLinetoAbs.idl: * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs): (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel): * svg/SVGPathSegLinetoHorizontal.h: (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal): (WebCore::SVGPathSegLinetoHorizontal::setX): (WebCore::SVGPathSegLinetoHorizontal::x): (WebCore::SVGPathSegLinetoHorizontalAbs::create): (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType): (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoHorizontalRel::create): (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType): (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter): * svg/SVGPathSegLinetoHorizontalAbs.idl: * svg/SVGPathSegLinetoHorizontalRel.idl: * svg/SVGPathSegLinetoRel.idl: * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs): (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel): * svg/SVGPathSegLinetoVertical.h: (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical): (WebCore::SVGPathSegLinetoVertical::setY): (WebCore::SVGPathSegLinetoVertical::y): (WebCore::SVGPathSegLinetoVerticalAbs::create): (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType): (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegLinetoVerticalRel::create): (WebCore::SVGPathSegLinetoVerticalRel::pathSegType): (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter): * svg/SVGPathSegLinetoVerticalAbs.idl: * svg/SVGPathSegLinetoVerticalRel.idl: * svg/SVGPathSegList.cpp: (WebCore::SVGPathSegList::SVGPathSegList): * svg/SVGPathSegList.h: (WebCore::SVGPathSegList::create): * svg/SVGPathSegList.idl: * svg/SVGPathSegListBuilder.cpp: (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder): (WebCore::SVGPathSegListBuilder::moveTo): (WebCore::SVGPathSegListBuilder::lineTo): (WebCore::SVGPathSegListBuilder::lineToHorizontal): (WebCore::SVGPathSegListBuilder::lineToVertical): (WebCore::SVGPathSegListBuilder::curveToCubic): (WebCore::SVGPathSegListBuilder::curveToCubicSmooth): (WebCore::SVGPathSegListBuilder::curveToQuadratic): (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth): (WebCore::SVGPathSegListBuilder::arcTo): (WebCore::SVGPathSegListBuilder::closePath): * svg/SVGPathSegListBuilder.h: (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList): (WebCore::SVGPathSegListBuilder::cleanup): * svg/SVGPathSegListSource.cpp: (WebCore::SVGPathSegListSource::SVGPathSegListSource): (WebCore::SVGPathSegListSource::parseSVGSegmentType): (WebCore::SVGPathSegListSource::nextCommand): (WebCore::SVGPathSegListSource::parseMoveToSegment): (WebCore::SVGPathSegListSource::parseLineToSegment): (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment): * svg/SVGPathSegListSource.h: (WebCore::SVGPathSegListSource::create): * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h. (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs): (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel): * svg/SVGPathSegMoveto.h: (WebCore::SVGPathSegMovetoAbs::create): (WebCore::SVGPathSegMovetoAbs::pathSegType): (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter): (WebCore::SVGPathSegMovetoRel::create): (WebCore::SVGPathSegMovetoRel::pathSegType): (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter): * svg/SVGPathSegMovetoAbs.idl: * svg/SVGPathSegMovetoRel.idl: * svg/SVGPathSegWithContext.h: Removed. * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed. * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed. * svg/properties/SVGPathSegListPropertyTearOff.h: Removed. 2010-11-18 Sheriff Bot Unreviewed, rolling out r72292. http://trac.webkit.org/changeset/72292 https://bugs.webkit.org/show_bug.cgi?id=49732 will break win build (Requested by loislo on #webkit). * inspector/CodeGeneratorInspector.pm: 2010-11-18 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: reduce the footprint of InspectorBackendDispatcher. InspectorBackendDispatcher is a generated file. Its content is not optimal and loc may be reduced by a quarter. In each generated function we have a code for getting 'in' values from the arguments properties object. I've extracted this code into separate getters. The side effect is better readability of the generated code. https://bugs.webkit.org/show_bug.cgi?id=49729 * inspector/CodeGeneratorInspector.pm: 2010-11-18 Alexander Pavlov Reviewed by Pavel Feldman. [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189 https://bugs.webkit.org/show_bug.cgi?id=49656 Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding. * bindings/scripts/CodeGeneratorV8.pm: 2010-11-18 Nikolas Zimmermann Reviewed by Dirk Schulze. Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49580 SVGPathElement.cloneNode loses generated pathSegList https://bugs.webkit.org/show_bug.cgi?id=43388 SVG Path elements are not correctly updated through pathSegList manipulation on relative values https://bugs.webkit.org/show_bug.cgi?id=30219 Changing an SVGPathSeg does not update a following Smooth Cubic Curveto https://bugs.webkit.org/show_bug.cgi?id=19741 SVGPathElement should only build SVGPathSeg* list on demand https://bugs.webkit.org/show_bug.cgi?id=10827 Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg svg/dom/SVGPathSegList-appendItem.xhtml svg/dom/SVGPathSegList-clear-and-initialize.xhtml svg/dom/SVGPathSegList-cloning.html svg/dom/SVGPathSegList-insertItemBefore.xhtml svg/dom/SVGPathSegList-removeItem.xhtml svg/dom/SVGPathSegList-replaceItem.xhtml svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml svg/dom/SVGPathSegList-segment-modification.svg Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept. Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted, and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList. Each SVGPathSeg now needs to store a RefPtr - this makes it impossible to use SVGPathSegList to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive. Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested. As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above. * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build. * CMakeLists.txt: Ditto. * DerivedSources.make: Remove SVGAnimatedPathData IDL generation. * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build. * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation. * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build. * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols. * WebCore.pro: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build. * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter. (WebCore::setDOMException): * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore. * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling. (WebCore::toJS): * bindings/js/JSSVGPathSegListCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type. * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff. * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff. * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list. (WebCore::operator<<): * svg/SVGAllInOne.cpp: Remove obsolete cpp files. * svg/SVGAnimatedPathData.cpp: Removed. * svg/SVGAnimatedPathData.h: Removed. * svg/SVGAnimatedPathData.idl: Removed. * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content. (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information. (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin. (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto. (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList. (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute. (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed. (WebCore::SVGPathElement::synchronizeD): Added. (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings. (WebCore::SVGPathElement::normalizedPathSegList): Ditto. (WebCore::SVGPathElement::animatedPathSegList): Ditto. (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto. (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList. (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement. * svg/SVGPathElement.h: Add new accessors... (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText. (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff. * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement. * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally. (WebCore::globalSVGPathSegListBuilder): (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList): (WebCore::SVGPathParserFactory::buildPathFromByteStream): (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream): (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList): (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString): (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream): (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream): * svg/SVGPathParserFactory.h: * svg/SVGPathSeg.cpp: Removed. * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs. (WebCore::SVGPathSeg::SVGPathSeg): * svg/SVGPathSeg.idl: Reindented. * svg/SVGPathSegArc.cpp: Removed. * svg/SVGPathSegArc.h: All setters now call the commitChange() method. * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegArcRel.idl: Ditto. * svg/SVGPathSegClosePath.cpp: Removed. * svg/SVGPathSegClosePath.h: * svg/SVGPathSegCurvetoCubic.cpp: Removed. * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoCubicRel.idl: Ditto. * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed. * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto. * svg/SVGPathSegCurvetoQuadratic.cpp: Removed. * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto. * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed. * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method. * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto. * svg/SVGPathSegLineto.cpp: Removed. * svg/SVGPathSegLineto.h: All setters now call the commitChange() method. * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoHorizontal.cpp: Removed. * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method. * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto. * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoVertical.cpp: Removed. * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method. * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegLinetoVerticalRel.idl: Ditto. * svg/SVGPathSegList.cpp: Switch from SVGList > to a plain Vector >. (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList. (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged(). * svg/SVGPathSegList.h: (WebCore::SVGPathSegList::SVGPathSegList): * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes. (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder): (WebCore::SVGPathSegListBuilder::moveTo): (WebCore::SVGPathSegListBuilder::lineTo): (WebCore::SVGPathSegListBuilder::lineToHorizontal): (WebCore::SVGPathSegListBuilder::lineToVertical): (WebCore::SVGPathSegListBuilder::curveToCubic): (WebCore::SVGPathSegListBuilder::curveToCubicSmooth): (WebCore::SVGPathSegListBuilder::curveToQuadratic): (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth): (WebCore::SVGPathSegListBuilder::arcTo): (WebCore::SVGPathSegListBuilder::closePath): * svg/SVGPathSegListBuilder.h: Ditto. (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement): (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList): (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole): (WebCore::SVGPathSegListBuilder::cleanup): * svg/SVGPathSegListSource.cpp: Ditto. (WebCore::SVGPathSegListSource::SVGPathSegListSource): (WebCore::SVGPathSegListSource::parseSVGSegmentType): (WebCore::SVGPathSegListSource::nextCommand): (WebCore::SVGPathSegListSource::parseMoveToSegment): (WebCore::SVGPathSegListSource::parseLineToSegment): (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment): * svg/SVGPathSegListSource.h: Ditto. (WebCore::SVGPathSegListSource::create): * svg/SVGPathSegMoveto.cpp: Removed. * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method. * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking. * svg/SVGPathSegMovetoRel.idl: Ditto. * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list). (WebCore::SVGPathSegWithContext::SVGPathSegWithContext): (WebCore::SVGPathSegWithContext::animatedProperty): (WebCore::SVGPathSegWithContext::setContextAndRole): (WebCore::SVGPathSegWithContext::commitChange): (WebCore::SVGPathSegSingleCoordinate::x): (WebCore::SVGPathSegSingleCoordinate::setX): (WebCore::SVGPathSegSingleCoordinate::y): (WebCore::SVGPathSegSingleCoordinate::setY): (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal): (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList): (WebCore::SVGAnimatedPathSegListPropertyTearOff::create): (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff): * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added. (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header. (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto. (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto. (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file. (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext. * svg/properties/SVGPathSegListPropertyTearOff.h: Added. (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList): (WebCore::SVGPathSegListPropertyTearOff::numberOfItems): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::appendItem): (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff): (WebCore::SVGPathSegListPropertyTearOff::commitChange): (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper): 2010-11-18 Mario Sanchez Prada Reviewed by Martin Robinson. [Gtk] atk_text_get_selection returns the wrong offsets after a link https://bugs.webkit.org/show_bug.cgi?id=49514 Consider possible embedded objects to calculate startOffset. So far we were using offsetInContainerNode() to calculate the value of startOffset when checking the offsets for the current selection, which was wrong because that wouldn't work ok if any embedded object was present in the paragraph before the selection. Thus, we need to consider this fact when calculating the startOffset from the point of view of the object this function is called on, in order to return the right and actual values. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (getSelectionOffsetsForObject): Check range length from the first position in the object the function is called on until the first position of current selection, and use it as startOffset. 2010-11-12 Stephen White Reviewed by Simon Fraser. Fix for multiple urls in a background-image causing repeated repaints. https://bugs.webkit.org/show_bug.cgi?id=42390 Change the key of RenderBoxModelObject's LastPaintSizeMap to include the layer of the element being drawn, so that the same URL used repeated in the same background-image, or another element's background-image, can be uniquely identified. The layer is a void pointer, since it is only used as part of the key and using a void pointer will discourage dereferencing it. This pointer is NULL when called from RenderImage ( elements). Covered by fast/backgrounds/size/contain-and-cover.html * rendering/RenderBoxModelObject.cpp: (WebCore::ImageQualityController::keyDestroyed): The old objectDestroyed() is renamed to keyDestroyed(). (WebCore::ImageQualityController::objectDestroyed): The new objectDestroyed() iterates over all outstanding resizes to remove any resizes pertaining to this object. (WebCore::ImageQualityController::highQualityRepaintTimerFired): Retrieve the RenderBoxModelObject from the pair's "first" member. (WebCore::ImageQualityController::shouldPaintAtLowQuality): Create a key from the {object, layer} pair, and use it to access the repaint size map. (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality): Plumb the layer through to the image quality controller. (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass the bgLayer when checking * rendering/RenderBoxModelObject.h: Add the void* layer parameter to shouldPaintAtLowQuality. * rendering/RenderImage.cpp: (WebCore::RenderImage::paintIntoRect): Pass 0 (null) for the layer parameter in this case. 2010-11-18 Chris Rogers Reviewed by Dimitri Glazkov. Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge https://bugs.webkit.org/show_bug.cgi?id=49557 No new tests since audio API is not yet implemented. * platform/chromium/ChromiumBridge.h: 2010-11-17 Sheriff Bot Unreviewed, rolling out r72228. http://trac.webkit.org/changeset/72228 https://bugs.webkit.org/show_bug.cgi?id=49712 Caused many >10 regressions on Win and Linux gpu layout test runs. (Requested by dave_levin on #webkit). * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::onAccess): (WebCore::WebGLFramebuffer::initializeRenderbuffers): * html/canvas/WebGLFramebuffer.h: * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::clear): (WebCore::WebGLRenderingContext::copyTexImage2D): (WebCore::WebGLRenderingContext::copyTexSubImage2D): (WebCore::WebGLRenderingContext::drawArrays): (WebCore::WebGLRenderingContext::drawElements): (WebCore::WebGLRenderingContext::readPixels): (WebCore::WebGLRenderingContext::texImage2DBase): 2010-11-17 Sheriff Bot Unreviewed, rolling out r72243. http://trac.webkit.org/changeset/72243 https://bugs.webkit.org/show_bug.cgi?id=49710 Seemed to cause a large set of Chromium layout test to start failing. (Requested by dave_levin on #webkit). * bindings/v8/V8NPUtils.cpp: (WebCore::convertV8ObjectToNPVariant): 2010-11-17 Adam Roben Fix Acid3 in Safari for Windows Reviewed by Dave Hyatt. * platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0 if we have a font size of 0. 2010-11-17 Dimitri Glazkov Reviewed by Darin Adler. Converge means of querying a parent node into one way, which is Node::parentNode. https://bugs.webkit.org/show_bug.cgi?id=49686 No change in behavior, so no new tests. * accessibility/AccessibilityObject.cpp: (WebCore::renderListItemContainerForNode): Changed to use parentNode. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto. (WebCore::siblingWithAriaRole): Ditto. (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto. (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto. * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto. (blockquoteLevel): Ditto. * bindings/v8/V8GCController.cpp: (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto. * dom/ContainerNode.cpp: Ditto. (WebCore::ContainerNode::insertBefore): Ditto. (WebCore::ContainerNode::insertBeforeCommon): Ditto. (WebCore::ContainerNode::replaceChild): Ditto. (WebCore::ContainerNode::removeChild): Ditto. (WebCore::ContainerNode::appendChild): Ditto. (WebCore::ContainerNode::parserAddChild): Ditto. * dom/DocumentType.cpp: (WebCore::DocumentType::insertedIntoDocument): Ditto. * dom/Element.cpp: (WebCore::Element::computeInheritedLanguage): Ditto. * dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::receivedTarget): Ditto. * dom/Position.cpp: (WebCore::Position::isCandidate): Changed to use parentNode. * dom/PositionIterator.cpp: (WebCore::PositionIterator::isCandidate): Ditto. * editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto. * editing/ApplyStyleCommand.cpp: (WebCore::dummySpanAncestorForNode): Ditto. (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto. (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto. (WebCore::highestEmbeddingAncestor): Ditto. (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto. (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto. (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto. * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::splitTreeToNode): Ditto. * editing/DeleteSelectionCommand.cpp: (WebCore::updatePositionForNodeRemoval): Ditto. * editing/Editor.cpp: (WebCore::Editor::textDirectionForSelection): Ditto. * editing/MergeIdenticalElementsCommand.cpp: (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto. * editing/htmlediting.cpp: (WebCore::isEmptyTableCell): Ditto. * editing/markup.cpp: (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto. * editing/visible_units.cpp: (WebCore::previousLinePosition): Ditto. (WebCore::nextLinePosition): Ditto. * html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::imageElement): Ditto. * html/HTMLElement.cpp: (WebCore::HTMLElement::setOuterHTML): Ditto. (WebCore::HTMLElement::insertAdjacent): Ditto. (WebCore::HTMLElement::supportsFocus): Ditto. * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto. (WebCore::HTMLEmbedElement::attributeChanged): Ditto. * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::insertRow): Ditto. * html/HTMLTableRowsCollection.cpp: Ditto. (WebCore::isInHead): Ditto. (WebCore::isInBody): Ditto. (WebCore::isInFoot): Ditto. (WebCore::HTMLTableRowsCollection::rowAfter): Ditto. * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::addRange): Ditto. * html/MediaDocument.cpp: (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto. * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::attach): Ditto. (WebCore::HTMLConstructionSite::findFosterSite): Ditto. * html/parser/HTMLTreeBuilder.cpp: * page/FocusController.cpp: (WebCore::FocusController::findFocusableNodeInDirection): Ditto. * rendering/MediaControlElements.cpp: (WebCore::MediaControlElement::rendererIsNeeded): Ditto. (WebCore::MediaControlElement::attach): Ditto. (WebCore::MediaControlElement::updateStyle): Ditto. (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto. (WebCore::MediaControlInputElement::attach): Ditto. (WebCore::MediaControlInputElement::updateStyle): Ditto. * rendering/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::gradientElement): Ditto. * svg/SVGAElement.cpp: (WebCore::SVGAElement::createRenderer): Ditto. (WebCore::SVGAElement::childShouldCreateRenderer): Ditto. * svg/SVGFELightElement.cpp: (WebCore::SVGFELightElement::svgAttributeChanged): Ditto. (WebCore::SVGFELightElement::childrenChanged): Ditto. * svg/SVGFEMergeNodeElement.cpp: (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto. * svg/SVGLength.cpp: (WebCore::SVGLength::determineViewport): Ditto. * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto. * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto. * svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::insertedIntoDocument): Ditto. * xml/XPathNodeSet.cpp: (WebCore::XPath::NodeSet::sort): Ditto. * xml/XPathStep.cpp: (WebCore::XPath::Step::nodesInAxis): Ditto. * xml/XSLTProcessorLibxslt.cpp: (WebCore::xsltStylesheetPointer): Ditto. 2010-11-17 Kenneth Rohde Christiansen Reviewed by Andreas Kling. ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents() This makes paint() with paintEntireContents() do exactly what it's supposed to: paint from 0,0 to contentsSize(). The clipping was a no-op anyway since visibleContentRect() will return the whole rect in paintsEntireContents() mode. * platform/ScrollView.cpp: (WebCore::ScrollView::paint): 2010-11-17 Kenneth Rohde Christansen Reviewed by Andreas Kling. ScrollView: Update the actualVisibleContentRect after delegating a scroll. This lets us avoid updating the actualVisibleContentRect from the client after each scroll. We had to do this synchronously for WebKit2 to support programmatic "animated scrolling" from JS. * platform/ScrollView.cpp: (WebCore::ScrollView::setScrollPosition): 2010-11-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. ScrollView: Decouple actualVisibleContentRect from visibleContentRect Added actualVisibleContentRect() which will return the override provided by setActualVisibleContentRect() or fall back to visibleContentRect() if no override has been set. This is similar to what the iPhone does. * platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): * platform/ScrollView.h: (WebCore::ScrollView::actualVisibleContentRect): (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect& 2010-11-17 Tony Chang Reviewed by Adam Barth. [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn https://bugs.webkit.org/show_bug.cgi?id=49036 No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html In http://codereview.chromium.org/11574, the forked chromium test plugin changed how it testGetIntIdentifier to work around a change caused by a silverlight specific plugin fix: http://codereview.chromium.org/11569/diff/1/2 It's not clear to me that this change is needed anymore since silverlight has had multiple releases, testing without this patch works on a test windows build, and safari win seems to run silverlight without this either. Since there's no test for this behavior, I'm rolling it out so we can match the upstream test. * bindings/v8/V8NPUtils.cpp: (WebCore::convertV8ObjectToNPVariant): 2010-11-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents() * platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): 2010-11-17 James Simonsen Reviewed by Tony Chang. [chromium] Fix negative letter spacing in complex text on linux https://bugs.webkit.org/show_bug.cgi?id=49563 Test: fast/text/atsui-negative-spacing-features.html * platform/graphics/chromium/FontLinux.cpp: Make spacing signed. 2010-11-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated. * platform/ScrollView.cpp: (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the newScrollPosition, so move that calculation below the delegation path. 2010-11-17 Dave Hyatt Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=48537 Fonts with no vertical metrics should synthesize baselines when they appear on lines that do use fonts with vertical metrics. Basically we want to make sure that English text behaves like vertical-align:middle, i.e., its baseline should be treated as though it cuts through the middle of the ascent+descent. The way this works is that each line in the line box tree is labeled as having a baseline type that is either ideographic or alphabetic for the purposes of vertical alignment. A line becomes ideographic if any font with vertical tables is either explicitly specified as the primary font or in any of the used fonts in the text on that line. This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection, and passed to the ascent and descent methods of the fonts that are examined. The underlying Font code selects an appropriate baseline given the type passed in. This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and to instead carry around the cached vertical positions for RenderInlines in a new VerticalPositionCache object. This cache only lives for a single layout operation, but it does cache information across all the lines built and placed during the layout. This matches the old behavior, since every call to layoutInlineChildren invalidated all of the vertical positions in all of the RenderInlines anyway. The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment positions for both alphabetic and ideographic baseline types. The vertical-align computation has now been moved out of RenderBoxModelObject and RenderInline and just placed right into verticalPositionForBox in InlineFlowBox. This function has been changed to no longer be recursive when checking parents, and it now relies on the fact that the parent vertical alignment computation result has already been stored in the logicalTop() of that parent's line box. By checking the line box logicalTop() value instead of recurring, the performance of first lines now significantly improves to no longer have O(n^2) behavior in the depth of the line box tree on the first line. All of the baselinePosition functions on the various RenderObjects have been amended to take a FontBaseline as the first argument. This patch does not attempt to fix up MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers. The RenderTableCell baselinePosition virtual method has been made non-virtual and had all arguments removed, since it actually had no real connection with the rest of the baseline positioning system. Cell baseline positioning works by calling firstLineBoxBaseline, and that method has been patched to use the cached baselineType for the first line box when computing the baseline of that line. Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html. * WebCore.xcodeproj/project.pbxproj: * mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::baselinePosition): * mathml/RenderMathMLFraction.h: * mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::baselinePosition): * mathml/RenderMathMLOperator.h: * mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::baselinePosition): * mathml/RenderMathMLRow.h: * mathml/RenderMathMLSubSup.cpp: (WebCore::RenderMathMLSubSup::baselinePosition): * mathml/RenderMathMLSubSup.h: * mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::layout): (WebCore::RenderMathMLUnderOver::baselinePosition): * mathml/RenderMathMLUnderOver.h: * platform/graphics/SimpleFontData.h: * rendering/InlineBox.h: (WebCore::InlineBox::baselinePosition): * rendering/InlineFlowBox.cpp: (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesInBlockDirection): * rendering/InlineFlowBox.h: * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::baselinePosition): * rendering/InlineTextBox.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::baselinePosition): (WebCore::RenderBlock::firstLineBoxBaseline): (WebCore::RenderBlock::lastLineBoxBaseline): * rendering/RenderBlock.h: * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeBlockDirectionPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): * rendering/RenderBox.cpp: (WebCore::RenderBox::baselinePosition): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: * rendering/RenderBoxModelObject.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): (WebCore::RenderInline::baselinePosition): * rendering/RenderInline.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::baselinePosition): * rendering/RenderListBox.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::baselinePosition): * rendering/RenderListMarker.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::baselinePosition): * rendering/RenderSlider.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition): * rendering/RenderTableCell.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::baselinePosition): * rendering/RenderTextControlMultiLine.h: * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::alignBoxesInBlockDirection): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::baselinePosition): * rendering/VerticalPositionCache.h: Added. (WebCore::VerticalPositionCache::VerticalPositionCache): (WebCore::VerticalPositionCache::get): (WebCore::VerticalPositionCache::set): * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateBoundaries): 2010-11-17 Sam Weinig Reviewed by Anders Carlsson. Add stubbed out ScrollAnimator for the Mac https://bugs.webkit.org/show_bug.cgi?id=49678 * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.h/cpp. * platform/mac/ScrollAnimatorMac.cpp: Added. (WebCore::ScrollAnimator::create): (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): (WebCore::ScrollAnimatorMac::scroll): (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation): * platform/mac/ScrollAnimatorMac.h: Added. ScrollAnimatorMac just calls through to the base class for now. 2010-11-17 Cris Neckar Reviewed by Adam Barth. Modified codepath for object fallback content which has failed to load. Refactored CachedResource error handling to use more granular statuses instead of a boolean value. https://bugs.webkit.org/show_bug.cgi?id=46921 Test: fast/html/object-image-nested-fallback.html * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::renderFallbackContent): * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::error): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedFont.cpp: (WebCore::CachedFont::ensureCustomFontData): (WebCore::CachedFont::error): * loader/cache/CachedFont.h: * loader/cache/CachedImage.cpp: (WebCore::CachedImage::data): (WebCore::CachedImage::error): * loader/cache/CachedImage.h: * loader/cache/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::canUseCacheValidator): (WebCore::CachedResource::mustRevalidate): * loader/cache/CachedResource.h: (WebCore::CachedResource::error): (WebCore::CachedResource::httpStatusCodeError): (WebCore::CachedResource::errorOccurred): * loader/cache/CachedScript.cpp: (WebCore::CachedScript::error): * loader/cache/CachedScript.h: * loader/cache/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::error): * loader/cache/CachedXSLStyleSheet.h: * loader/loader.cpp: (WebCore::Loader::load): (WebCore::Loader::didFinishLoading): (WebCore::Loader::didFail): (WebCore::Loader::didReceiveData): 2010-11-16 Zhenyao Mo Reviewed by Kenneth Russell. WebGLRenderingContext needs to zero textures and renderbuffers https://bugs.webkit.org/show_bug.cgi?id=49355 Test: fast/canvas/webgl/uninitialized-test.html * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed. (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist. * html/canvas/WebGLFramebuffer.h: Modify onAccess function signature. * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter. (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. (WebCore::WebGLRenderingContext::drawArrays): Ditto. (WebCore::WebGLRenderingContext::drawElements): Ditto. (WebCore::WebGLRenderingContext::readPixels): Ditto. (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures. 2010-11-17 Ryosuke Niwa Reviewed by Darin Adler. Merge ScriptElement and ScriptElementData https://bugs.webkit.org/show_bug.cgi?id=49647 Merged two classes. * dom/AsyncScriptRunner.cpp: (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*. (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*. * dom/AsyncScriptRunner.h: * dom/ScriptElement.cpp: (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData. (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData. (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent. (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest. (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element. (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent. (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript. (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent. (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData. (WebCore::ScriptElement::executeScript): Ditto. (WebCore::ScriptElement::stopLoadRequest): Ditto. (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent. (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData. (WebCore::ScriptElement::ignoresLoadRequest): Ditto. (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue, forAttributeValue, and eventAttributeValue. (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData. (WebCore::ScriptElement::scriptContent): Ditto. (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue. (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue, and deferAttributeValue. * dom/ScriptElement.h: (WebCore::ScriptElement::element): (WebCore::ScriptElement::haveFiredLoadEvent): (WebCore::ScriptElement::setHaveFiredLoadEvent): (WebCore::ScriptElement::createdByParser): (WebCore::ScriptElement::isEvaluated): 2010-11-17 Tenghui Zhu Reviewed by Jeremy Orlow. profileCallback and profileEndCallback should be guarded with ENABLE_JAVASCRIPT_DEBUGGER https://bugs.webkit.org/show_bug.cgi?id=49623 No new tests. Just a compiling error fix. * bindings/v8/custom/V8ConsoleCustom.cpp: Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback 2010-11-17 John Knottenbelt Reviewed by Jeremy Orlow. Introduce GeoNotifierVector typedef for increased readability https://bugs.webkit.org/show_bug.cgi?id=49597 * page/Geolocation.cpp: (WebCore::Geolocation::Watchers::getNotifiersVector): (WebCore::Geolocation::sendError): (WebCore::Geolocation::sendPosition): (WebCore::Geolocation::stopTimer): (WebCore::Geolocation::stopTimersForOneShots): (WebCore::Geolocation::stopTimersForWatchers): (WebCore::Geolocation::cancelRequests): (WebCore::Geolocation::cancelAllRequests): (WebCore::Geolocation::handleError): (WebCore::Geolocation::makeSuccessCallbacks): * page/Geolocation.h: 2010-11-17 John Knottenbelt Reviewed by Jeremy Orlow. Convert correctly between GeolocationPosition and Geoposition timestamp formats. https://bugs.webkit.org/show_bug.cgi?id=48518 Test: fast/dom/Geolocation/timestamp.html * page/Geolocation.cpp: (WebCore::createGeoposition): 2010-11-17 Chang Shu Reviewed by Antonio Gomes. [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac. This makes spatial navigation work properly for single select box. Test: fast/events/spatial-navigation/snav-single-select.html * dom/SelectElement.cpp: (WebCore::nextValidIndex): (WebCore::SelectElement::menuListDefaultEventHandler): 2010-11-17 Satish Sampath Reviewed by Jeremy Orlow. Clear the speech input mock explicitly before each test. https://bugs.webkit.org/show_bug.cgi?id=49660 * platform/mock/SpeechInputClientMock.cpp: (WebCore::SpeechInputClientMock::clearResults): Added clearResults method. * platform/mock/SpeechInputClientMock.h: 2010-11-17 Alexander Pavlov [Chromium] Unreviewed, fix Chromium-Mac build from r72189. * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::getDoubleValue): 2010-11-17 Hans Wennborg Reviewed by Jeremy Orlow. IndexedDB: IDBKey::whereSyntax should impose conditions on all columns https://bugs.webkit.org/show_bug.cgi?id=49601 The WHERE clause should specifiy a condition for each key column to make sure that the ObjectStoreData_composit index can be used when querying the object store based on key. Not using the index causes severe performance degradation for common IDB operations. * storage/IDBKey.cpp: (WebCore::IDBKey::whereSyntax): 2010-11-17 Eric Uhrhane Reviewed by David Levin. [Chromium] implementation of async FileWriter for workers https://bugs.webkit.org/show_bug.cgi?id=47681 Tests are in a separate changelist. * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs 2010-11-17 Alejandro G. Castro Reviewed by Martin Robinson. [gtk] r69119 modified just the gtk2 version of the scrolled_window_paint function but not the gtk3 version https://bugs.webkit.org/show_bug.cgi?id=49585 Use gtk_paint_shadow the same as the actual code from GTK+. Avoid using state and use the same values we are using for gtk2 in the paint function. * platform/gtk/ScrollbarThemeGtk.cpp: (WebCore::ScrollbarThemeGtk::paintButton): Initialized the depressed attribute of the state variable to avoid using it without initialization. * platform/gtk/gtk3drawing.c: (moz_gtk_scrolled_window_paint): 2010-11-16 Alexander Pavlov Reviewed by Simon Fraser. CSSPrimitiveValue.getFloatValue does not convert sizes https://bugs.webkit.org/show_bug.cgi?id=35770 Implemented all same-category unit conversions (length, angle, time, frequency) and retained absolute-relative (cm, mm, in, pt, pc) length conversions intact. Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException. * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): (WebCore::conversionToCanonicalUnitsScaleFactor): (WebCore::CSSPrimitiveValue::getDoubleValue): (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): (WebCore::CSSPrimitiveValue::getDoubleValueInternal): (WebCore::CSSPrimitiveValue::getIdent): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::getFloatValue): (WebCore::CSSPrimitiveValue::getIntValue): 2010-11-17 Ademar de Souza Reis Jr. Reviewed by Andreas Kling. Document::nodesFromRect() has wrong source code documentation https://bugs.webkit.org/show_bug.cgi?id=49610 * dom/Document.h: fix nodesFromRect() documentation 2010-11-17 Alexis Menard , Simon Hausmann Reviewed by Kenneth Christiansen, Tor Arne Vestbø. [Qt] Add support for use GStreamer with the Qt build Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The integration is rather basic at this point, allowing for software based rendering only at the moment. AC integration and fullscreen playback is still missing. * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a build option with the USE_GSTREAMER macro. * platform/graphics/MediaPlayer.cpp: (WebCore::installedMediaEngines): Don't use the generic media player registration when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want to be able to build with gstreamer _and_ another backend simultaenously. * platform/graphics/gstreamer/ImageGStreamer.h: * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added. (ImageGStreamer::createImage): (ImageGStreamer::ImageGStreamer): (ImageGStreamer::~ImageGStreamer): * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added. * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added. (FullScreenVideoWindow::FullScreenVideoWindow): (FullScreenVideoWindow::keyPressEvent): (FullScreenVideoWindow::event): (PlatformVideoWindow::PlatformVideoWindow): (PlatformVideoWindow::~PlatformVideoWindow): (PlatformVideoWindow::prepareForOverlay): 2010-11-17 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: [REGRESSION] editing disabled styles breaks style bodies. https://bugs.webkit.org/show_bug.cgi?id=49602 * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyle::setPropertyText): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.get name): (WebInspector.StylePropertyTreeElement.prototype.get priority): (WebInspector.StylePropertyTreeElement.prototype.get value): 2010-11-16 Adam Roben Move QTMovieWin's settings into a vsprops file Fixes QTMovieWin should use a vsprops file Reviewed by Steve Falkenburg. * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/QTMovieWinCommon.vsprops: Added. 2010-11-16 Andy Estes Reviewed by Dave Hyatt. WebKit mishandles line boxes where the content height exceeds the specified line-height. https://bugs.webkit.org/show_bug.cgi?id=49410 If a line height is explicitly specified on a text box and fallback fonts are in use, only the primary font should be considered when computing the box's ascent and descent. This prevents the inline box from being sized larger than the specified line height. This patch also fixes a math error when computing a used font's descent in the case where line height isn't explicitly set. This change results in a number of layout tests needing re-baselining. Test: fast/css/line-height-determined-by-primary-font.html * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::computeLogicalBoxHeights): 2010-11-15 Ryosuke Niwa Reviewed by Darin Adler. ScriptElementData should be a private member of ScriptElement https://bugs.webkit.org/show_bug.cgi?id=49578 Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser, and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData. No tests are added since this is a cleanup. * dom/ScriptElement.h: (WebCore::ScriptElement::haveFiredLoadEvent): Added. (WebCore::ScriptElement::setHaveFiredLoadEvent): Added. (WebCore::ScriptElement::createdByParser): Added. (WebCore::ScriptElement::isEvaluated): Added. * html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent. (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated. * html/HTMLScriptElement.h: (WebCore::HTMLScriptElement::text): Calls scriptContent. (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent. * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser. (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser. (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent. (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto. (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent. (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser, haveFiredLoadEvent, and setHaveFiredLoadEvent. 2010-11-16 Antti Koivisto Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49320 Minor ResourceLoadScheduler cleanups * loader/ResourceLoadScheduler.cpp: (WebCore::ResourceLoadScheduler::scheduleLoad): (WebCore::ResourceLoadScheduler::servePendingRequests): (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation): (WebCore::ResourceLoadScheduler::HostInformation::remove): (WebCore::ResourceLoadScheduler::HostInformation::hasRequests): * loader/ResourceLoadScheduler.h: 2010-11-16 Dave Hyatt Reviewed by Sam Weinig. Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that line should be ideographic or alphabetic. Add a requiresIdeographicsBaseline recursive function to InlineFlowBox that scans for the use of any vertical fonts. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::requiresIdeographicBaseline): * rendering/InlineFlowBox.h: * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::RootInlineBox): (WebCore::RootInlineBox::alignBoxesInBlockDirection): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::baselineType): 2010-11-16 Dave Hyatt Reviewed by Sam Weinig. Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an alphabetic and ideographic baseline can be requested. * WebCore.xcodeproj/project.pbxproj: * platform/graphics/Font.h: (WebCore::Font::ascent): (WebCore::Font::descent): * platform/graphics/FontBaseline.h: Added. * platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::ascent): (WebCore::SimpleFontData::descent): (WebCore::SimpleFontData::height): 2010-11-16 Antti Koivisto Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=31223 Make primitive values immutable. Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception. Reasoning: - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering - computed style is immutable in all cases, and it wasn't - no other engine seems to support mutable primitives, as a result there is no content using these APIs - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value - allowing mutation of primitive values makes optimizations harder * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::setFloatValue): (WebCore::CSSPrimitiveValue::setStringValue): 2010-11-16 Steve Falkenburg Reviewed by Adam Roben. Disable LTCG for Windows Release builds. Add new Release_LTCG configuration. https://bugs.webkit.org/show_bug.cgi?id=49632 * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/WebCore.make: * WebCore.vcproj/WebCore.sln: * WebCore.vcproj/WebCore.vcproj: 2010-11-16 Anders Carlsson Reviewed by John Sullivan. Set the original URL for downloads https://bugs.webkit.org/show_bug.cgi?id=49628 Export symbols needed by WebKit2. * WebCore.exp.in: 2010-11-16 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=11004 font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector. Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size, since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version of the constructor rather than using [NSFont pointSize]. https://bugs.webkit.org/show_bug.cgi?id=49582 Negative leading is not handled correctly. There are two bugs here. The first is that maxAscent and maxDescent can be negative, so we need a notion of whether or not we have set them before so that we can allow them to be < 0. The second issue is that we should understand where fonts will end up relative to our baseline (excluding line height), and only allow those boxes to impact ascent and descent if the actual font box (without factoring in line height) is above or below the root line box baseline. Added fast/css/negative-leading.html These two bug fixes have to land together to keep the Acid 3 test rendering correctly. * WebCore.exp.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): * platform/graphics/cocoa/FontPlatformData.h: * platform/graphics/cocoa/FontPlatformDataCocoa.mm: (WebCore::FontPlatformData::FontPlatformData): * platform/graphics/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::createFontPlatformData): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::smallCapsFontData): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::computeLogicalBoxHeights): * rendering/InlineFlowBox.h: * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::alignBoxesInBlockDirection): 2010-11-16 Darin Adler https://bugs.webkit.org/show_bug.cgi?id=49611 REGRESSION (r72115): 5 layout tests are broken * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadFrameRequest): Roll change from https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll it back in after fixing the failing tests. 2010-11-16 Dan Bernstein Reviewed by Simon Fraser. REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree https://bugs.webkit.org/show_bug.cgi?id=49579 r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged() got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not. Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and just keep it for when it is needed. Tests: fast/block/float/015.html fast/images/style-access-during-imageChanged-style-freeze.html * dom/Document.cpp: (WebCore::Document::isPendingStyleRecalc): Added. * dom/Document.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc is coming (indicating that current style() is stale). 2010-11-11 Zhenyao Mo Reviewed by Kenneth Russell. Implement UNPACK_COLORSPACE_CONVERSION_WEBGL https://bugs.webkit.org/show_bug.cgi?id=47196 * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading. (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto. * platform/graphics/GraphicsContext3D.cpp: (WebCore::GraphicsContext3D::extractImageData): Ditto. * platform/graphics/GraphicsContext3D.h: * platform/graphics/ImageSource.cpp: (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter. (WebCore::ImageSource::setData): Ditto. * platform/graphics/ImageSource.h: * platform/graphics/cg/GraphicsContext3DCG.cpp: (WebCore::GraphicsContext3D::getImageData): Ditto. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::ImageSource): Ditto. * platform/graphics/qt/GraphicsContext3DQt.cpp: (WebCore::GraphicsContext3D::getImageData): Ditto. * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoder::create): Ditto. (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto. * platform/graphics/qt/ImageDecoderQt.h: * platform/graphics/skia/GraphicsContext3DSkia.cpp: (WebCore::GraphicsContext3D::getImageData): Ditto. * platform/image-decoders/ImageDecoder.cpp: (WebCore::ImageDecoder::create): Ditto. * platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::ImageDecoder): Ditto. * platform/image-decoders/bmp/BMPImageDecoder.cpp: (WebCore::BMPImageDecoder::BMPImageDecoder): * platform/image-decoders/bmp/BMPImageDecoder.h: * platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto. * platform/image-decoders/gif/GIFImageDecoder.h: * platform/image-decoders/ico/ICOImageDecoder.cpp: (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto. (WebCore::ICOImageDecoder::decodeAtIndex): Ditto. * platform/image-decoders/ico/ICOImageDecoder.h: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto. * platform/image-decoders/jpeg/JPEGImageDecoder.h: * platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto. (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true. * platform/image-decoders/png/PNGImageDecoder.h: * platform/image-decoders/webp/WEBPImageDecoder.cpp: (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter. * platform/image-decoders/webp/WEBPImageDecoder.h: 2010-11-16 Eric Carlson Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117 * platform/graphics/MediaPlayer.cpp: (WebCore::installedMediaEngines): 2010-11-12 Zhenyao Mo Reviewed by Kenneth Russell. Refactor GL backend flags https://bugs.webkit.org/show_bug.cgi?id=49460 * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags(). (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags(). (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags. (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member. (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto. * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation. (WebCore::WebGLRenderingContext::isGLES2Compliant): (WebCore::WebGLRenderingContext::isGLES2NPOTStrict): (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses): (WebCore::WebGLRenderingContext::isResourceSafe): (WebCore::WebGLRenderingContext::isDepthStencilSupported): * platform/graphics/Extensions3D.h: Add NPOT extension. * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level. * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions. * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level. 2010-11-16 Kenneth Russell Reviewed by Dimitri Glazkov. WebIDL conversions from string to number and array to number should not generate TypeError https://bugs.webkit.org/show_bug.cgi?id=49218 Recent SVG-related changes to the StrictTypeChecking extended attribute in CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and ECMA-262 specifications. In particular, when an attribute or function argument is specified as a number type (floating-point or integer), passing in a String or object is not supposed to raise an exception. The original intent of the StrictTypeChecking extended attribute was to properly raise TypeError when an interface type is required, but the supplied object does not implement the interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has silently passed null to the C++ bindings in this case. The handling of strings in the original StrictTypeChecking implementation was also incorrect, raising exceptions when it should not. The semantics of StrictTypeChecking have been changed to enforce only the restrictions on interface types. The V8 custom bindings for WebGL have been updated to match the behavior of the autogenerated code. Test: fast/canvas/webgl/type-conversion-test.html * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::getObjectParameter): (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback): (WebCore::V8WebGLRenderingContext::getParameterCallback): (WebCore::V8WebGLRenderingContext::getProgramParameterCallback): (WebCore::V8WebGLRenderingContext::getShaderParameterCallback): (WebCore::vertexAttribAndUniformHelperf): 2010-11-16 Alexey Proskuryakov Windows build fix. * DerivedSources.cpp: Removing CSS Variables generated files. 2010-11-16 Eric Carlson Reviewed by John Sullivan. getMIMEType(s)ForExtension should consult system mapping https://bugs.webkit.org/show_bug.cgi?id=49497 No new tests possible. * platform/MIMETypeRegistry.cpp: (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension. Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling constains() and then get(). (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto. 2010-11-16 Eric Carlson Reviewed by Darin Adler. Rename QTKit based media engine class name https://bugs.webkit.org/show_bug.cgi?id=36663 No new tests as this just renames a class and restructures existing code. * platform/graphics/MediaPlayer.cpp: (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the number of #ifs in the code. * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivateQTKit::create): (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit): (WebCore::MediaPlayerPrivateQTKit::createQTMovie): (WebCore::MediaPlayerPrivateQTKit::createQTMovieView): (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView): (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer): (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer): (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer): (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer): (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode): (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode): (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering): (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering): (WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering): (WebCore::MediaPlayerPrivateQTKit::createQTTime): (WebCore::MediaPlayerPrivateQTKit::resumeLoad): (WebCore::MediaPlayerPrivateQTKit::load): (WebCore::MediaPlayerPrivateQTKit::loadInternal): (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): (WebCore::MediaPlayerPrivateQTKit::platformMedia): (WebCore::MediaPlayerPrivateQTKit::platformLayer): (WebCore::MediaPlayerPrivateQTKit::play): (WebCore::MediaPlayerPrivateQTKit::pause): (WebCore::MediaPlayerPrivateQTKit::duration): (WebCore::MediaPlayerPrivateQTKit::currentTime): (WebCore::MediaPlayerPrivateQTKit::seek): (WebCore::MediaPlayerPrivateQTKit::doSeek): (WebCore::MediaPlayerPrivateQTKit::cancelSeek): (WebCore::MediaPlayerPrivateQTKit::seekTimerFired): (WebCore::MediaPlayerPrivateQTKit::paused): (WebCore::MediaPlayerPrivateQTKit::seeking): (WebCore::MediaPlayerPrivateQTKit::naturalSize): (WebCore::MediaPlayerPrivateQTKit::hasVideo): (WebCore::MediaPlayerPrivateQTKit::hasAudio): (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen): (WebCore::MediaPlayerPrivateQTKit::setVolume): (WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions): (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible): (WebCore::MediaPlayerPrivateQTKit::setRate): (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): (WebCore::MediaPlayerPrivateQTKit::buffered): (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): (WebCore::MediaPlayerPrivateQTKit::bytesLoaded): (WebCore::MediaPlayerPrivateQTKit::totalBytes): (WebCore::MediaPlayerPrivateQTKit::cancelLoad): (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale): (WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup): (WebCore::MediaPlayerPrivateQTKit::prepareForRendering): (WebCore::MediaPlayerPrivateQTKit::updateStates): (WebCore::MediaPlayerPrivateQTKit::loadStateChanged): (WebCore::MediaPlayerPrivateQTKit::rateChanged): (WebCore::MediaPlayerPrivateQTKit::sizeChanged): (WebCore::MediaPlayerPrivateQTKit::timeChanged): (WebCore::MediaPlayerPrivateQTKit::didEnd): (WebCore::MediaPlayerPrivateQTKit::setSize): (WebCore::MediaPlayerPrivateQTKit::setVisible): (WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame): (WebCore::MediaPlayerPrivateQTKit::repaint): (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext): (WebCore::MediaPlayerPrivateQTKit::paint): (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): (WebCore::MediaPlayerPrivateQTKit::supportsType): (WebCore::MediaPlayerPrivateQTKit::isAvailable): (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks): (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks): (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering): (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged): (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin): (WebCore::MediaPlayerPrivateQTKit::movieLoadType): (WebCore::MediaPlayerPrivateQTKit::setPreload): (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): (-[WebCoreMovieObserver initWithCallback:]): 2010-11-16 Alexey Proskuryakov Reviewed by Dave Hyatt. https://bugs.webkit.org/show_bug.cgi?id=49483 Remove CSS Variable support * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * Android.mk: * CMakeLists.txt: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS): * bindings/v8/custom/V8DOMWindowCustom.cpp * bindings/objc/DOMCSS.mm: (kitClass): * bindings/scripts/CodeGeneratorJS.pm: * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSGrammar.y: * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::removeProperty): (WebCore::CSSMutableStyleDeclaration::addParsedProperties): (WebCore::CSSMutableStyleDeclaration::copy): * css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclaration::create): * css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::~CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::lex): (WebCore::CSSParser::recheckAtKeyword): (WebCore::CSSParser::text): (WebCore::CSSParser::createMediaRule): (WebCore::CSSParser::createKeyframesRule): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule): (WebCore::CSSParser::addNamespace): (WebCore::CSSParser::createPageRule): * css/CSSParser.h: * css/CSSParserValues.cpp: (WebCore::CSSParserValueList::addValue): (WebCore::CSSParserValueList::deleteValueAt): (WebCore::CSSParserValue::createCSSValue): * css/CSSParserValues.h: (WebCore::CSSParserValueList::CSSParserValueList): * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cleanup): (WebCore::CSSPrimitiveValue::getStringValue): (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue): * css/CSSPrimitiveValue.h: * css/CSSProperty.cpp: (WebCore::CSSProperty::cssText): * css/CSSPropertyNames.in: * css/CSSRule.h: * css/CSSRule.idl: * css/CSSStyleDeclaration.cpp: (WebCore::CSSStyleDeclaration::copyPropertiesInSet): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::addMatchedDeclaration): (WebCore::CSSRuleSet::addRulesFromSheet): (WebCore::CSSStyleSelector::applyProperty): * css/CSSStyleSelector.h: * css/CSSValue.h: * css/CSSVariableDependentValue.cpp: Removed. * css/CSSVariableDependentValue.h: Removed. * css/CSSVariablesDeclaration.cpp: Removed. * css/CSSVariablesDeclaration.h: Removed. * css/CSSVariablesDeclaration.idl: Removed. * css/CSSVariablesRule.cpp: Removed. * css/CSSVariablesRule.h: Removed. * css/CSSVariablesRule.idl: Removed. * css/StyleBase.h: (WebCore::StyleBase::isMediaRule): * css/tokenizer.flex: * page/DOMWindow.idl: 2010-11-16 Darin Adler Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=48603 Boolean logic mistake in local file check * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass before accepting a local file load. 2010-11-15 Darin Adler Reviewed by Sam Weinig. Harden additional string functions against large lengths https://bugs.webkit.org/show_bug.cgi?id=49574 * platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::encode): Check for length that is too large for size_t. * platform/text/TextStream.cpp: (WebCore::TextStream::operator<<): Check for length that is too large for size_t. 2010-11-16 Pavel Feldman Not reviewed. Touching inspector controller to make gtk / qt happier. * inspector/InspectorController.cpp: 2010-11-16 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Use gdk_pixbuf_get_from_surface() when available https://bugs.webkit.org/show_bug.cgi?id=49532 * platform/graphics/gtk/GdkCairoUtilities.cpp: (cairoImageSurfaceToGdkPixbuf): 2010-11-16 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: init front-end UI upon DOMContentLoaded, not load event. https://bugs.webkit.org/show_bug.cgi?id=49596 * inspector/front-end/inspector.js: (windowLoaded): 2010-11-15 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Migrate frontend to the new CSS editing/retrieval API https://bugs.webkit.org/show_bug.cgi?id=49492 Test: inspector/styles-new-API.html * inspector/front-end/AuditRules.js: (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages): * inspector/front-end/CSSStyleModel.js: (WebInspector.CSSStyleModel.prototype.getStylesAsync): (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): (WebInspector.CSSStyleModel.prototype.setRuleSelector): (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): (WebInspector.CSSStyleModel.prototype.addRule): (WebInspector.CSSStyleModel.prototype.addRule.callback): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.prototype.propertyAt): (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex): (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty): (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): (WebInspector.CSSStyleDeclaration.prototype.appendProperty): (WebInspector.CSSRule): (WebInspector.CSSProperty.prototype.get propertyText): (WebInspector.CSSProperty.prototype.setText): (WebInspector.CSSProperty.prototype.setDisabled): (WebInspector.CSSStyleSheet): (WebInspector.CSSStyleSheet.createForId): (WebInspector.CSSStyleSheet.prototype.getText): (WebInspector.CSSStyleSheet.prototype.setText): * inspector/front-end/Settings.js: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection.prototype.onpopulate): (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): (WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox): (WebInspector.StylePropertiesSection.prototype._debugShowStyle): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.StylePropertyTreeElement.prototype): (WebInspector.StylePropertyTreeElement.prototype.): * inspector/front-end/inspector.css: (.styles-section .properties li.not-parsed-ok): (.styles-section .properties li.not-parsed-ok::before): (.styles-section .properties .inactive): 2010-11-16 Sheriff Bot Unreviewed, rolling out r72082. http://trac.webkit.org/changeset/72082 https://bugs.webkit.org/show_bug.cgi?id=49594 "broken SnowLeopard build" (Requested by apavlov on #webkit). * css/CSSPrimitiveValue.cpp: (WebCore::scaleFactorForConversion): (WebCore::CSSPrimitiveValue::getDoubleValue): (WebCore::CSSPrimitiveValue::getIdent): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::getFloatValue): (WebCore::CSSPrimitiveValue::getIntValue): 2010-11-16 Sheriff Bot Unreviewed, rolling out r72087. http://trac.webkit.org/changeset/72087 https://bugs.webkit.org/show_bug.cgi?id=49593 "broken build" (Requested by apavlov on #webkit). * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): 2010-11-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: rename StoragePanel to ResourcesPanel. https://bugs.webkit.org/show_bug.cgi?id=49534 * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView.prototype._queryFinished): * inspector/front-end/DatabaseTableView.js: (WebInspector.DatabaseTableView.prototype._queryFinished): * inspector/front-end/ExtensionServer.js: (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource): * inspector/front-end/Images/storageIcon.png: Removed. * inspector/front-end/ResourceManager.js: (WebInspector.ResourceManager.prototype.setOverrideContent): (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame): (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent): (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): (WebInspector.ResourceTreeModel.prototype.addResourceToFrame): * inspector/front-end/StoragePanel.js: Removed. * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.css: (.resources.panel .sidebar): (.resources.panel .sidebar li): (.resources.panel .sidebar li.parent): (.resources.panel .sidebar li.selected): (.resources.panel .sidebar li.selected .selection): (.resources.panel .sidebar :focus li.selected .selection): (body.inactive .resources.panel .sidebar li.selected .selection): (.resources.panel .sidebar .icon): (.resources.panel .base-storage-tree-element-title): (.resources.panel .status): (.resources.panel li .status .bubble): * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector._createPanels): (WebInspector.openResource): (WebInspector.showPanel): (WebInspector.selectDatabase): (WebInspector.selectDOMStorage): (WebInspector.addDatabase): (WebInspector.addDOMStorage): (WebInspector.updateDOMStorage): (WebInspector.updateApplicationCacheStatus): (WebInspector.didGetFileSystemPath): (WebInspector.didGetFileSystemError): (WebInspector.didGetFileSystemDisabled): (WebInspector.updateNetworkState): (WebInspector._choosePanelToShowSourceLine): 2010-11-16 Alexander Pavlov Unreviewed SnowLeopard build fix. * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): 2010-11-16 Kenneth Rohde Christiansen Reviewed by Andreas Kling. Viewport meta tag: Fix geometry computation Available width and height should also be divided by the device pixel ratio. * dom/ViewportArguments.cpp: (WebCore::computeViewportAttributes): * platform/network/qt/DnsPrefetchHelper.cpp: 2010-11-12 Alexander Pavlov Reviewed by Simon Fraser. CSSPrimitiveValue.getFloatValue does not convert sizes https://bugs.webkit.org/show_bug.cgi?id=35770 Implemented all same-category unit conversions (length, angle, time, frequency) and retained absolute-relative (cm, mm, in, pt, pc) length conversions intact. Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException. * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): (WebCore::scaleFactorForConversion): (WebCore::CSSPrimitiveValue::getDoubleValue): (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): (WebCore::CSSPrimitiveValue::getDoubleValueInternal): * css/CSSPrimitiveValue.h: 2010-11-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: extract HTML title setter in treeoutline.js. https://bugs.webkit.org/show_bug.cgi?id=49540 * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange): (WebInspector.ElementsTreeElement.prototype.updateTitle): * inspector/front-end/treeoutline.js: (TreeElement.prototype.get titleHTML): (TreeElement.prototype.set titleHTML): (TreeElement.prototype._setListItemNodeContent): 2010-11-16 John Knottenbelt Reviewed by Jeremy Orlow. Assert that DeviceOrientationClientMock is used by only one controller. https://bugs.webkit.org/show_bug.cgi?id=48506 This is a design constraint of the DeviceOrientationClientMock because the m_controller field can only store a pointer to a single instance of the corresponding DeviceOrientationController. * platform/mock/DeviceOrientationClientMock.cpp: (WebCore::DeviceOrientationClientMock::setController): 2010-11-16 Mihai Parparita Reviewed by Adam Barth. fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders https://bugs.webkit.org/show_bug.cgi?id=48634 Specify the capacity when calling CFDataCreateMutable, which can signal malloc failures (by returning NULL), unlike CFDataSetLength. * platform/image-decoders/cg/ImageDecoderCG.cpp: (WebCore::RGBA32Buffer::setSize): 2010-11-15 Rob Buis Reviewed by Dirk Schulze and Darin Adler. requiredFeatures does not adapt to SVGStringList changes https://bugs.webkit.org/show_bug.cgi?id=40887 Centralize the const_cast handling and only do it if needed. Remove the const_cast in all svgAttributeChanged functions and move it to SVGTest::handleAttributeChange. Add an early return to handleAttributeChange to avoid unnecessary const_casts. No tests necessary as functionality has not changed. * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGGElement.cpp: (WebCore::SVGGElement::svgAttributeChanged): * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::svgAttributeChanged): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::svgAttributeChanged): * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::svgAttributeChanged): * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::svgAttributeChanged): * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGTests.cpp: (WebCore::SVGTests::handleAttributeChange): * svg/SVGTests.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::svgAttributeChanged): * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::svgAttributeChanged): 2010-11-15 Dimitri Glazkov Reviewed by Darin Adler. REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash. https://bugs.webkit.org/show_bug.cgi?id=49569 Test: fast/events/remove-shadow-host-crash.html * rendering/TextControlInnerElements.h: (WebCore::TextControlInnerElement::isShadowNode): (WebCore::TextControlInnerElement::shadowParentNode): 2010-11-12 Ryosuke Niwa Reviewed by Darin Adler. ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData https://bugs.webkit.org/show_bug.cgi?id=49469 Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from HTMLScriptElement and SVGScriptElement to ScriptElementData. Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren, and handleSourceAttribute of ScriptElement non-static. No new tests are added since this is a cleanup. * dom/ScriptElement.cpp: (WebCore::ScriptElement::scriptCharset): Added. (WebCore::ScriptElement::scriptContent): Added. (WebCore::ScriptElement::shouldExecuteAsJavaScript): Added. (WebCore::ScriptElement::executeScript): Added. (WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data. (WebCore::ScriptElement::removedFromDocument): Ditto. (WebCore::ScriptElement::childrenChanged): Ditto. (WebCore::ScriptElement::finishParsingChildren): Ditto. (WebCore::ScriptElement::handleSourceAttribute): Ditto. * dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData because ScriptElement has to instantiate ScriptElementData. (WebCore::ScriptElement::ScriptElement): Initializes m_data. * html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript. (WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData. (WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged. (WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute. (WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren. (WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument. (WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument. * html/HTMLScriptElement.h: * svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript. (WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData. (WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute. (WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument. (WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument. (WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged. (WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren. * svg/SVGScriptElement.h: 2010-11-15 Kent Tamura Reviewed by Darin Adler. Refactor HTMLInputElement: Move a part of HTMLInputElement:: defaultEventHandler() to InputTypes. https://bugs.webkit.org/show_bug.cgi?id=48317 Move out the followings to InputTypes: - click event processing, - the first keydown event processing, and - DOMActivate event processing. Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as m_clickLocation. It's ok to move them because they should be valid only when HTMLInputElement::m_activeSubmit is true. For type=image, m_activeSubmit is true only in DOMActivate event handling. So we reset m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent(). No new tests because this is just a refactoring. * html/BaseDateAndTimeInputType.cpp: (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): * html/BaseDateAndTimeInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::handleDOMActivateEvent): * html/FileInputType.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::HTMLInputElement): (WebCore::HTMLInputElement::defaultEventHandler): * html/HTMLInputElement.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::appendFormData): (WebCore::ImageInputType::handleDOMActivateEvent): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::handleClickEvent): (WebCore::InputType::handleDOMActivateEvent): (WebCore::InputType::handleKeydownEvent): * html/InputType.h: * html/NumberInputType.cpp: (WebCore::NumberInputType::handleKeydownEvent): * html/NumberInputType.h: * html/RadioInputType.cpp: (WebCore::RadioInputType::handleClickEvent): * html/RadioInputType.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::handleKeydownEvent): * html/RangeInputType.h: * html/ResetInputType.cpp: (WebCore::ResetInputType::handleDOMActivateEvent): * html/ResetInputType.h: * html/SubmitInputType.cpp: (WebCore::SubmitInputType::handleDOMActivateEvent): * html/SubmitInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::handleKeydownEvent): (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): * html/TextFieldInputType.h: 2010-11-15 Chris Rogers Reviewed by Kenneth Russell. Add AudioNode custom bindings https://bugs.webkit.org/show_bug.cgi?id=49119 No new tests since audio API is not yet implemented. * bindings/js/JSAudioNodeCustom.cpp: Added. (WebCore::JSAudioNode::connect): (WebCore::JSAudioNode::disconnect): * bindings/v8/custom/V8AudioNodeCustom.cpp: Added. (WebCore::V8AudioNode::connectCallback): (WebCore::V8AudioNode::disconnectCallback): * webaudio/AudioNode.idl: 2010-11-15 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49570 Put italics specialization check back in CSSFontSelector. I had to back it out, since it broke a layout test, and the issue was that local font fallback fonts should not be considered by the specialization check (since you never want to pick a fallback over an actual @font-face rule if the @font-face rule can handle it). * css/CSSFontFace.h: (WebCore::CSSFontFace::create): (WebCore::CSSFontFace::isLocalFallback): (WebCore::CSSFontFace::CSSFontFace): * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::compareFontFaces): 2010-11-15 Adele Peterson Reviewed by Darin Adler. Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452 Placeholder should not be swapped in and out of the text control's inner text element There's no need to swap the placeholder text in and out of the inner text element. Instead, just paint the text. This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer): Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text. (WebCore::RenderTextControl::paintObject): Paint the placeholder text during the background phase. * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time. (WebCore::RenderTextControlMultiLine::updateFromElement): Remove code that set the inner text value with the placeholder text. (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement. (WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added. (WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added. * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text. (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement. (WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added. (WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added. * rendering/RenderTextControlSingleLine.h: * rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time. 2010-11-15 Andreas Kling Unreviewed buildfix (Qt WebKit2 minimal) * platform/qt/CookieJarQt.cpp: Add missing include. 2010-11-15 Chris Rogers Reviewed by Kenneth Russell. Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent https://bugs.webkit.org/show_bug.cgi?id=49357 No new tests since audio API is not yet implemented. * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventTarget.cpp: (WebCore::toJS): * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::convertEventTargetToV8Object): * bindings/v8/custom/V8EventCustom.cpp: (WebCore::toV8): * dom/Event.cpp: (WebCore::Event::isAudioProcessingEvent): * dom/Event.h: * dom/EventNames.h: * dom/EventTarget.cpp: (WebCore::EventTarget::toJavaScriptAudioNode): * dom/EventTarget.h: 2010-11-15 Alexey Proskuryakov Reviewed by Darin Adler. A minor style fix in StyledElement.cpp. * dom/StyledElement.cpp: (WebCore::StyledElement::addCSSProperty): (WebCore::StyledElement::addCSSImageProperty): 2010-11-15 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49565 Remove Attr.style accessor * dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need it any more. 2010-11-15 Beth Dakin Reviewed by Darin Adler. Fix for https://bugs.webkit.org/show_bug.cgi?id=49555 Frame::scalePage() should treat the origin as an absolute coordinate -and corresponding- * page/Frame.cpp: (WebCore::Frame::scalePage): 2010-11-15 Dan Bernstein Reviewed by Darin Adler. Error image has incorrect size when a custom font is used Test: fast/images/style-access-during-imageChanged-crash.html * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText. (WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation out of setImageSizeForAltText() into this function. (WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError(). (WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation. (WebCore::RenderImage::imageChanged): Moved some code from here... (WebCore::RenderImage::imageDimensionsChanged): ...to here. * rendering/RenderImage.h: 2010-11-15 Anders Carlsson Reviewed by Dimitri Glazkov. ASSERTION (r72003): Assertion failure when running layout tests https://bugs.webkit.org/show_bug.cgi?id=49561 r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement, but did not add the attribute to the isURLAttribute which lead to assertion failures when running the layout tests with a debug build. * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::isURLAttribute): * html/HTMLButtonElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::isURLAttribute): 2010-11-15 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49559 DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString No observable change in behavior, so no tests. * page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString. 2010-11-15 Andreas Kling Reviewed by Tor Arne Vestbø. [Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well Move this into WebCore/features.pri which is used by both WebCore and WebKit2. * WebCore.pro: * features.pri: 2010-11-15 Martin Robinson Build fix for GTK+. * GNUmakefile.am: Add some missing generated files to the source list. 2010-11-15 Kenneth Russell Reviewed by James Robinson. [chromium] Avoid copying of SkBitmap in LayerRendererChromium https://bugs.webkit.org/show_bug.cgi?id=49560 Ran CSS 3D content to test. No other new tests. * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::updateRootLayerTextureRect): 2010-11-15 Vangelis Kokkevis Reviewed by Kenneth Russell. [chromium] Fixes layer opacity implementation of composited layers https://bugs.webkit.org/show_bug.cgi?id=49233 This introduces a fairly drastic change in how LayerRendererChromium draws composited layers. Layers that have non-zero opacity as well as layers that clip their descendants (and have non-trivial transforms) are now first rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing operation now consists of two distinct phases: First a hierarchical traversal of the layer tree to compute the layer transforms, determine what the necessary RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second pass goes through all the RenderSurfaces discovered by the first pass and updates their contents. Additional significant side-effects of this change are: 1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's algorithm to render layers with the preserves-3d property from back to front using the Z coordinate of their center. This will further be improved in the future with the intoduction of a BSP tree to properly deal with intersecting layers. 2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed by rendering layer subtrees into an offscreen buffer and setting the appropriate scissor and viewport transformation. Tests: abs-position-inside-opacity.html (for the opacity implementation) and the rest of the compositing layout tests to verify that everything still works. * WebCore.gypi: * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::cleanupResources): (WebCore::ContentLayerChromium::requiresClippedUpdateRect): (WebCore::ContentLayerChromium::calculateClippedUpdateRect): (WebCore::ContentLayerChromium::updateContents): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::cleanupResources): (WebCore::LayerChromium::createRenderSurface): (WebCore::LayerChromium::descendantsDrawContent): (WebCore::LayerChromium::descendantsDrawContentRecursive): * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::drawTransform): (WebCore::LayerChromium::layerRenderer): * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::orthoMatrix): (WebCore::isScaleOrTranslation): (WebCore::LayerRendererChromium::compareLayerZ): (WebCore::LayerRendererChromium::LayerRendererChromium): (WebCore::LayerRendererChromium::prepareToDrawLayers): (WebCore::LayerRendererChromium::drawLayers): (WebCore::LayerRendererChromium::updateLayersRecursive): (WebCore::LayerRendererChromium::useRenderSurface): (WebCore::LayerRendererChromium::drawLayer): (WebCore::LayerRendererChromium::setScissorToRect): (WebCore::LayerRendererChromium::setDrawViewportRect): (WebCore::LayerRendererChromium::initializeSharedObjects): (WebCore::LayerRendererChromium::cleanupSharedObjects): * platform/graphics/chromium/LayerRendererChromium.h: * platform/graphics/chromium/RenderSurfaceChromium.cpp: Added. (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium): (WebCore::RenderSurfaceChromium::cleanupResources): (WebCore::RenderSurfaceChromium::layerRenderer): (WebCore::RenderSurfaceChromium::prepareContentsTexture): * platform/graphics/chromium/RenderSurfaceChromium.h: Added. (WebCore::RenderSurfaceChromium::contentRectCenter): (WebCore::RenderSurfaceChromium::contentRect): * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::cleanupResources): 2010-11-15 Martin Robinson Reviewed by Andreas Kling. [GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds https://bugs.webkit.org/show_bug.cgi?id=49549 No new tests. This can be verified by loading any existing vertical text test in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently no automatic way of verifying custom cursors. * platform/gtk/GtkVersioning.c: (gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct. 2010-11-12 Jer Noble Reviewed by Brady Eidson. Can't view HTML5 video when running Safari with an authenticated proxy server * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): 2010-11-14 Abhishek Arya Reviewed by Dimitri Glazkov. Event dispatch call can blow away the node's renderer initialized before the call in updateSelectionForMouseDrag function. We need to initialize it after the call. https://bugs.webkit.org/show_bug.cgi?id=49524 * page/EventHandler.cpp: (WebCore::EventHandler::updateSelectionForMouseDrag): 2010-11-15 Patrick Gansterer Reviewed by Martin Robinson. Make ContextShadow compile on all platforms https://bugs.webkit.org/show_bug.cgi?id=49535 Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms and move them into the WebCore namespace like all other Platform* typedefs. * platform/graphics/ContextShadow.h: 2010-11-15 Renata Hodovan Reviewed by Andreas Kling. SVGFEImageElement doesn't support dynamic invalidation https://bugs.webkit.org/show_bug.cgi?id=49536 The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary. Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::svgAttributeChanged): * svg/SVGFEImageElement.h: 2010-11-15 Yael Aharon Reviewed by Antonio Gomes. [Qt] Focus ring does not show on focused links. https://bugs.webkit.org/show_bug.cgi?id=49515 After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer visible in Qt. The reason is that Qt always returned true in RenderTheme::supportsFocusRing(), but until r69766, we did not check that for links. Qt draws its own focus ring for controls that it draws, but not for links. Change the return value to false if the style's appearance is not something that Qt draws by itself or does not support. Added a Qt specific test result for the new test added in r69766. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::supportsFocusRing): 2010-11-15 Dai Mikurube Reviewed by Kent Tamura. Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags https://bugs.webkit.org/show_bug.cgi?id=49240 Tests: fast/forms/formaction-attribute.html fast/forms/formmethod-attribute-button-html.html fast/forms/formmethod-attribute-input-html.html fast/forms/formtarget-attribute-button-html.html fast/forms/formtarget-attribute-input-html.html fast/forms/mailto/formenctype-attribute-button-html.html fast/forms/mailto/formenctype-attribute-input-html.html fast/forms/submit-form-attributes.html * html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes * html/HTMLButtonElement.idl: * html/HTMLInputElement.idl: * loader/FormSubmission.cpp: Modified to check the pressed button and its attributes (WebCore::FormSubmission::Attributes::copyFrom): (WebCore::FormSubmission::create): * loader/FormSubmission.h: 2010-11-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: Do not hide default Ctrl+A behavior on non-Mac. https://bugs.webkit.org/show_bug.cgi?id=49527 * inspector/front-end/TextPrompt.js: (WebInspector.TextPrompt.prototype._onKeyDown): 2010-11-15 Ilya Sherman Reviewed by Kent Tamura. Add capability for displaying warnings to autofill popup Warnings are displayed in dark gray italic. https://bugs.webkit.org/show_bug.cgi?id=49291 http://code.google.com/p/chromium/issues/detail?id=58509 * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::getRowFont): Use item-specific font, not just the generic menu font. (WebCore::PopupListBox::selectIndex): Updated to clear the selection when hovering over a non-selectable item. * platform/chromium/PopupMenuChromium.h: Minor cleanup 2010-11-14 David Hyatt Back out the italics portion of the previous patch until I can figure out why it doesn't work. * css/CSSFontSelector.cpp: (WebCore::compareFontFaces): 2010-11-14 Kent Tamura Reviewed by Dimitri Glazkov. Improve API for form validation message strings https://bugs.webkit.org/show_bug.cgi?id=34945 This change introduces three new functions; validationMessageTypeMismatchFor*Text(). The implementation for each platform is just a call to validationMessageTypeMismatchText(). Some validationMessage*() functions have new parameters. The parameters are ignored in all platforms for now. This change doesn't change any behavior. However a platform can add additional information to validation messages. e.g. Changing "type mismatch" to "Please specify an e-mail address" for . * html/EmailInputType.cpp: (WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText() or validationMessageTypeMismatchForMultipleEmailText(). * html/EmailInputType.h: * html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState. * html/HTMLInputElement.cpp: Add the following functions to pass extra information to validation message string functions. (WebCore::HTMLInputElement::minimumString): (WebCore::HTMLInputElement::maximumString): (WebCore::HTMLInputElement::stepBaseString): (WebCore::HTMLInputElement::stepString): (WebCore::HTMLInputElement::typeMismatchText): * html/HTMLInputElement.h: * html/HTMLTextAreaElement.h: * html/InputType.cpp: (WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText(). * html/InputType.h: * html/URLInputType.cpp: (WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText(). * html/URLInputType.h: * html/ValidityState.cpp: (WebCore::ValidityState::validationMessage): * platform/LocalizedStrings.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/LocalizedStrings.h: - Add validationMessageTypeMismatchForEmailText(), validationMessageTypeMismatchForMultipleEmailText() and validationMessageTypeMismatchForURLText() - Add length parameters to validationMessageTooLongText(). - Add the minimum value parameter to validationMessageRangeUnderflowText() - Add the maximum value parameter to validationMessageRangeOverflowText() - Add parameters of the base value and the step value to validationMessageStepMismatchText() * platform/android/LocalizedStringsAndroid.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/brew/LocalizedStringsBrew.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/efl/LocalizedStringsEfl.cpp: (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageStepMismatchText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/haiku/LocalizedStringsHaiku.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/wx/LocalizedStringsWx.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): 2010-11-14 Kent Tamura Reviewed by Andreas Kling. KeyboardEvent::keyIdentifier() should return "const String&" https://bugs.webkit.org/show_bug.cgi?id=49426 No new tests. This shouldn't change the current behavior. * dom/KeyboardEvent.h: (WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String& * dom/SelectElement.cpp: (WebCore::SelectElement::menuListDefaultEventHandler): Change the type of a variable to have keyIdentifier(); String -> const String& (WebCore::SelectElement::listBoxDefaultEventHandler): ditto. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): ditto. (WebCore::HTMLInputElement::handleKeyEventForRange): ditto. * page/EventHandler.cpp: (WebCore::EventHandler::handleKeyboardSelectionMovement): ditto. 2010-11-14 Kenichi Ishibashi Reviewed by Kent Tamura. [HTML5] "form" attribute support for form control elements https://bugs.webkit.org/show_bug.cgi?id=47813 Adds a list of form-associated elements with form attribute into the Document class to support form attribute. Adds a function to determine the right place to locate form-associated elements with form attribute into m_associatedElements of HTMLFormElement class. Tests: fast/forms/form-attribute-elements-order.html fast/forms/form-attribute-elements-order2.html fast/forms/form-attribute-elements.html fast/forms/form-attribute.html * dom/Document.cpp: (WebCore::Document::registerFormElementWithFormAttribute): Added. (WebCore::Document::unregisterFormElementWithFormAttribute): Added. (WebCore::Document::resetFormElementsOwner): Added. * dom/Document.h: Added the list for elements with form attribute. * html/HTMLAttributeNames.in: Added form attribute. * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle form attribute. (WebCore::HTMLFormControlElement::removedFromTree): Ditto. (WebCore::HTMLFormControlElement::resetFormOwner): Added. (WebCore::HTMLFormControlElement::attributeChanged): Added. * html/HTMLFormControlElement.h: * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize newly-added variables. (WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset form owner of form-associated elements. (WebCore::HTMLFormElement::removedFromDocument): Ditto. (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added. (WebCore::HTMLFormElement::formElementIndex): Modified to treat form-associated elements with form attribute separately. (WebCore::HTMLFormElement::removeFormElement): Modified to handle form-associated elements with form attribute. * html/HTMLFormElement.h: Added three variables to handle form attribute. * html/HTMLOutputElement.cpp: Removed "FIXME" comment. (WebCore::HTMLOutputElement::parseMappedAttribute): * html/HTMLOutputElement.h: Removed setForm(). 2010-11-14 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49521 REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979. Refine the font selection function for @font-face to be smarter about what fonts it prefers. If a font is labeled as only supporting small-caps, then prefer it to one that claims to support both normal and small-caps. The specialized font is more likely to be true small-caps and to not rely on synthesis. Added the same logic for italic as well. Prefer the font that is specifically restricted to italic to one that claims it can support anything. * css/CSSFontSelector.cpp: (WebCore::compareFontFaces): 2010-11-14 Ryuan Choi Reviewed by Martin Robinson. [EFL] add pango support https://bugs.webkit.org/show_bug.cgi?id=46029 Include pango related files. No new tests; functionality is unchanged. * CMakeListsEfl.txt: 2010-11-12 Tenghui Zhu Reviewed by Andreas Kling. [V8] Code generation script error in generating the SVGStaticListPropertyTearOff https://bugs.webkit.org/show_bug.cgi?id=49463 * bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing the SVGStaticListPropertyTearOff string, not the svgListPropertyType. 2010-11-14 Patrick Gansterer Reviewed by Andreas Kling. Sort CMakeLists.txt https://bugs.webkit.org/show_bug.cgi?id=49507 * CMakeLists.txt: 2010-11-13 Patrick Gansterer Reviewed by Yury Semikhatsky. Buildfix for !ENABLE(INSPECTOR) https://bugs.webkit.org/show_bug.cgi?id=49500 Also unify the position of the condition in the cpp files. * inspector/ConsoleMessage.cpp: * inspector/InspectorResourceAgent.cpp: * inspector/InspectorState.cpp: * inspector/ScriptCallFrame.cpp: * inspector/ScriptCallStack.cpp: 2010-11-13 David Hyatt Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=49506 Repaint is broken across writing mode boundaries. It's not enough to add in flipped offsets. You have to flip the rect itself. Added fast/repaint/repaint-across-writing-mode-boundary.html * rendering/RenderBox.cpp: (WebCore::RenderBox::computeRectForRepaint): 2010-11-13 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49505 REGRESSION: @font-face doesn't work with the small-caps variant. This was broken by the addition of SVG fonts support long ago. This patch fixes the SVG code so that it doesn't break non-SVG fonts. Added fast/blockflow/broken-ideograph-small-caps.html * css/CSSFontFace.cpp: (WebCore::CSSFontFace::hasSVGFontFaceSource): * css/CSSFontFace.h: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): * css/CSSFontFaceSource.h: * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::CSSFontSelector::getFontData): 2010-11-13 Dan Bernstein Reviewed by Dave Hyatt. fast/text/hyphen* tests have different results on Leopard https://bugs.webkit.org/show_bug.cgi?id=43296 * platform/text/mac/TextBreakIteratorInternalICUMac.mm: (WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default through the normal NSUserDefaults search order rather than skipping the application domain. This makes this function respect DumpRenderTree’s setting of the default in the application domain. 2010-11-13 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49499 broken-ideographic-font.html causes layout test flakiness in release builds. The reason for this is that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree. The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get pruned as well. In addition, custom small caps fonts were never getting deleted either. I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it instead. Unskip fast/blockflow/broken-ideographic-font.html * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::~SimpleFontData): * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/chromium/SimpleFontDataLinux.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/cocoa/FontPlatformDataCocoa.mm: (WebCore::FontPlatformData::allowsLigatures): * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/haiku/SimpleFontDataHaiku.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/mac/ComplexTextControllerATSUI.cpp: (WebCore::disableLigatures): * platform/graphics/mac/SimpleFontDataCoreText.cpp: (WebCore::SimpleFontData::getCFStringAttributes): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformDestroy): * platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/wx/SimpleFontDataWx.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): 2010-11-13 David Hyatt https://bugs.webkit.org/show_bug.cgi?id=49496 Fix broken-ideographic-font.html. I had the font installed locally on my machine, and this covered up the fact that CoreText was implicitly using it as fallback in the vertical case only. The bots don't have the font installed locally, and so they showed the bug. Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is willing to fill. * platform/graphics/mac/SimpleFontDataCoreText.cpp: (WebCore::SimpleFontData::getCFStringAttributes): 2010-11-13 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49464 Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms. (1) Include orientation as part of the @font-face hashtables so that the fonts are treated as distinct when used in horizontal and vertical forms. (2) Let the orientation member of FontPlatformData represent the desired orientation rather than the supported one. Add an orientation member to SimpleFontData that represents the actual supported orientation of the font. (3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when CJK ideographs are encountered. This is essentially identical to the small caps fallback mechanism but invoked only for ideographs. The special ideograph font locks the orientation to vertical and renders the glyphs upright even when the font has no vertical tables. Punctuation and such will still look funny, and really this is a bug in the font, but at least this way it will be apparent that the font is to blame. Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html. * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): * css/CSSSegmentedFontFace.cpp: (WebCore::CSSSegmentedFontFace::getFontData): * platform/graphics/Font.cpp: (WebCore::Font::isCJKIdeograph): * platform/graphics/Font.h: * platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): (WebCore::SimpleFontData::~SimpleFontData): (WebCore::SimpleFontData::brokenIdeographFontData): * platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::orientation): * platform/graphics/cocoa/FontPlatformDataCocoa.mm: (WebCore::FontPlatformData::FontPlatformData): * platform/graphics/mac/FontMac.mm: (WebCore::showGlyphsWithAdvances): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformBoundsForGlyph): (WebCore::SimpleFontData::platformWidthForGlyph): 2010-11-13 Rob Buis Reviewed by Dirk Schulze. requiredFeatures does not adapt to SVGStringList changes https://bugs.webkit.org/show_bug.cgi?id=40887 Centralize logic of handling of SVGElement validity changes. The logic is to detach the SVGElement when changing from valid to invalid, and to attach when changing from invalid to valid. Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGGElement.cpp: (WebCore::SVGGElement::svgAttributeChanged): * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::svgAttributeChanged): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::svgAttributeChanged): * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::svgAttributeChanged): * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::svgAttributeChanged): * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGTests.cpp: (WebCore::knownAttribute): (WebCore::SVGTests::isKnownAttribute): (WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes. * svg/SVGTests.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::svgAttributeChanged): (WebCore::SVGTextContentElement::isKnownAttribute): * svg/SVGTextContentElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::svgAttributeChanged): 2010-11-13 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view https://bugs.webkit.org/show_bug.cgi?id=49493 * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype._showResource): * inspector/front-end/ResourceView.js: (WebInspector.ResourceView): (WebInspector.ResourceView.prototype.selectContentTab): (WebInspector.ResourceView.prototype._selectTab): (WebInspector.ResourceView.prototype._refreshCookies): (WebInspector.ResourceCookiesTab.prototype.show): * inspector/front-end/StoragePanel.js: (WebInspector.StoragePanel.prototype.showResource): * inspector/front-end/TabbedPane.js: (WebInspector.TabbedPane.prototype.appendTab): (WebInspector.TabbedPane.prototype.hasTab): (WebInspector.TabbedPane.prototype.selectTabById): (WebInspector.TabbedPane.prototype._hideTab): (WebInspector.TabbedPane.prototype._showTab): * inspector/front-end/inspector.css: (.resource-view-cookies): (.resource-view-cookies.visible): 2010-11-13 Yury Semikhatsky Reviewed by Pavel Feldman. REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked https://bugs.webkit.org/show_bug.cgi?id=49362 * page/Console.cpp: (WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership has been passed to the inspector. 2010-11-13 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: DOM event listener name is cropped in Elements panel https://bugs.webkit.org/show_bug.cgi?id=49387 * inspector/front-end/inspector.css: (.event-bar): use margin-left instead of left to fit child node into its parent 2010-11-13 Ilya Sherman Reviewed by Shinichiro Hamaji. Fixes regression from previous patch -- computes y offsets for elements that are scrolled out of the window. https://bugs.webkit.org/show_bug.cgi?id=49306 * manual-tests/select-scroll.html: Added. * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::layout): 2010-11-12 Daniel Bates Reviewed by Adam Barth. Transferred