From cad810f21b803229eb11403f9209855525a25d57 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Fri, 6 May 2011 11:45:16 +0100 Subject: Merge WebKit at r75315: Initial merge by git. Change-Id: I570314b346ce101c935ed22a626b48c2af266b84 --- Source/WebCore/ChangeLog | 17690 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 17690 insertions(+) create mode 100644 Source/WebCore/ChangeLog (limited to 'Source/WebCore/ChangeLog') diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog new file mode 100644 index 0000000..104e6de --- /dev/null +++ b/Source/WebCore/ChangeLog @@ -0,0 +1,17690 @@ +2011-01-07 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move WebCore to Source + https://bugs.webkit.org/show_bug.cgi?id=52050 + + Update project files to understand WebCore's new location. I suspect + there will be some follow-up patches after we land this patch. + + * Android.derived.jscbindings.mk: + * Android.jscbindings.mk: + * Android.v8bindings.mk: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: + +2011-01-07 Justin Garcia + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=51851 + Implement RenderSVGInlineText::localCaretRect() + + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::localCaretRect): Implemented. + +2011-01-07 Ryosuke Niwa + + Unreviewed; Added the missing null pointer check for r75293. + + * dom/Document.cpp: + (WebCore::Document::adoptNode): + +2011-01-07 Stephanie Lewis + + Reviewed by Geoff Garen. + + Migrate memory tracking from Safari to WebKit + https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit + + Add a sampler for printing off process memory statistics. + Export file mode. + + * WebCore.exp.in: + +2011-01-06 Ryosuke Niwa + + Reviewed by Adam Barth. + + onbeforeunload is broken for framesets + https://bugs.webkit.org/show_bug.cgi?id=19418 + + Added beforeunload event support for sub frames. WebKit's implementation tries to match + that of Internet Explorer as much as possible. beforeunload event is fired for each and + every descendent of a frame that is about to navigate. + + When a value other than null is returned by a beforeunload handler, a confirmation dialog + is shown for each handler (calls chrome's runBeforeUnloadConfirmPanel) just like it is done + for main frames. + + In addition, navigation is forbidden while beforeunload handlers are being called. + Setting values to location.href, location.reload, and other means of navigations are thus + ignored while beforeunload event handler is being ran, matching Internet Explorer's behavior. + + Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to + NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose. + + Tests: fast/events/before-unload-adopt-subframe-to-outside.html + fast/events/before-unload-adopt-within-subframes.html + fast/events/before-unload-forbidden-navigation.html + fast/events/before-unload-in-multiple-subframes.html + fast/events/before-unload-in-subframe.html + fast/events/before-unload-javascript-navigation.html + fast/events/before-unload-remove-and-add-subframe.html + fact/events/before-unload-remove-itself.html + fast/events/before-unload-with-subframes.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldClose): Calls fireBeforeUnloadEvent on m_frame and m_frame's + descendents. Returns true only if every call to fireBeforeUnloadEvent returned true. + (WebCore::FrameLoader::fireBeforeUnloadEvent): Fires a beforeunload event and calls + chrome's runBeforeUnloadConfirmPanel as needed. + (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Calls shouldClose for all frames. + * loader/FrameLoader.h: + * loader/NavigationScheduler.cpp: + (WebCore::NavigationScheduler::shouldScheduleNavigation): Checks the nullity of Page and calls + NavigationDisablerForBeforeUnload::isNavigationAllowed when url is not javascript scheme. + (WebCore::NavigationScheduler::scheduleRedirect): Calls shouldScheduleNavigation. + (WebCore::NavigationScheduler::scheduleLocationChange): Ditto. + (WebCore::NavigationScheduler::scheduleRefresh): Ditto. + (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto. + * loader/NavigationScheduler.h: + (WebCore::NavigationDisablerForBeforeUnload::NavigationDisablerForBeforeUnload): Disables navigation. + (WebCore::NavigationDisablerForBeforeUnload::~NavigationDisablerForBeforeUnload): Enables navigation + when called on the last instance of NavigationDisablerForBeforeUnload. + (WebCore::NavigationDisablerForBeforeUnload::isNavigationAllowed): Returns true if there are no instance + of NavigationDisablerForBeforeUnload left on the stack. + +2011-01-07 Martin Robinson + + Build fix for GTK+. + + * GNUmakefile.am: Add RenderFullScreen.cpp to the sources list. + * rendering/RenderFullScreen.cpp: + (RenderFullScreen::setAnimating): Guard the call to contentChanged + with ENABLED(ACCELERATED_COMPOSITING). + +2011-01-07 Ryosuke Niwa + + Unreviewed; speculative fix for Windows debug build. + + * bindings/js/JSBindingsAllInOne.cpp: + +2011-01-07 Ryosuke Niwa + + Reviewed by Ojan Vafai. + + Adopting an iframe to a child frame results in stack overflow + https://bugs.webkit.org/show_bug.cgi?id=52018 + + Throws an exception when a document adopts an iframe that is an ancestor + of the document in the frame hierarchy. New behavior matches that of Firefox. + + Test: fast/html/adopt-parent-frame.html + + * dom/Document.cpp: + (WebCore::Document::adoptNode): + +2011-01-07 Mihai Parparita + + Reviewed by Darin Fisher. + + [Chromium] Scrollbar code cleanup + https://bugs.webkit.org/show_bug.cgi?id=52073 + + Scrollbar code cleanup: + - Remove ScrollbarThemeMac.{mm|h} from the mac sources list, we use + ScrollbarThemeChromiumMac.{mm|h} + - Remove USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define now that switch to + WebThemeEngine is permanent + - Fix typo in Linux scrollbar enum name + + No new tests (compiles). + + * WebCore.gypi: + * platform/chromium/ChromiumBridge.h: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + +2011-01-07 Jer Noble + + GTK Linux build fix: isDocumentRunningFullScreenAnimation should + be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING) + + * page/FrameView.cpp: + +2011-01-07 Rafael Weinstein + + Reviewed by Eric Seidel. + + Cleanup: Fold shadowParentNode into shadowHost + https://bugs.webkit.org/show_bug.cgi?id=51059 + + Replaces all uses of shadowParentNode. + + No new tests because no behavior has changed. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): + * dom/Node.cpp: + (WebCore::Node::shadowHost): + (WebCore::Node::shadowAncestorNode): + (WebCore::eventTargetRespectingSVGTargetRules): + (WebCore::Node::getEventAncestors): + * dom/Node.h: + * editing/Editor.cpp: + (WebCore::Editor::findString): + * page/DragController.cpp: + (WebCore::asFileInput): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::instanceAssociatedWithShadowTreeElement): + (WebCore::EventHandler::dispatchMouseEvent): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::hasLineIfEmpty): + * rendering/RenderSVGShadowTreeRootContainer.cpp: + (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::title): + +2011-01-07 Chris Marrin + + Unreviewed. + + I mistakenly included a Windows only file in a + cross platform file. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + +2011-01-07 Chris Marrin + + Unreviewed. + + Get rid of include of + + * platform/graphics/ca/GraphicsLayerCA.cpp: + +2011-01-07 Jer Noble + + Further build fixes. Add a ENABLE(FULLSCREEN_API) guard around + the implementation of requiresCompositingfForFullScreen. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): + +2011-01-07 Jer Noble + + No review, build fix only. Removed parameter who was causing + a warning in Release builds. + + * dom/Document.cpp: + (WebCore::Document::webkitDidExitFullScreenForElement): + +2011-01-07 Chris Marrin + + Unreviewed. + + Use new wkCACFLayerGetContextUserData function + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + +2011-01-07 James Robinson + + Fix compile bustage due to bad merge in 75276. + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + +2010-12-17 Jer Noble + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + Mark for export all those WebCore functions needed by WebFullscreenController. + + * WebCore.exp.in: + +2010-12-17 Jer Noble + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + screenRect is useful for more than just HTMLMediaElements. Promote it into + Element. + + * dom/Element.cpp: Moved into Element from HTMLMediaElement. + * dom/Element.h: Ditto. + * dom/Node.cpp: + * html/HTMLMediaElement.cpp: Moved screenRect into Element. + * html/HTMLMediaElement.h: Ditto. + * WebCore.exp.in: Modify the exports list to reflect the new symbol name. + +2010-12-17 Jer Noble + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to + be rendered outside its original Frame. Because of this, there are a few areas of the + rendering code which need to be special cased: RenderFullScreen layers should not be clipped + to the viewport, as they will almost always be rendering outside the viewport area; + RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as + the client will likely want to reparent the platformLayer into their own fullscreen platform + window; the FrameView must update the RenderFullScreen graphics layer tree separately from + the root layer, as the two trees are disconnected. + + * page/FrameView.cpp: + (WebCore::FrameView::updateCompositingLayers): Special treatment for fullscreen renderer. + (WebCore::FrameView::syncCompositingStateRecursive): Ditto. + (WebCore::FrameView::paintContents): Ditto. + * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::contentChanged): Add support for above. + * rendering/RenderLayerBacking.cpp: + (WebCore::layerOrAncestorIsFullScreen): New function. + (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer. + (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto. + (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto. + * rendering/RenderLayerCompositor.h: + +2010-12-17 Jer Noble + + Reviewed by Simon Fraser. + + Implemented non-accelerated fullscreen support. The Document will now vend a RenderFullScreen object for clients to + use to relocate the fullscreen element subtree. + + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + * css/CSSStyleSelector.cpp: + (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen. + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. + * dom/Document.cpp: + (WebCore::Document::Document): Initialize m_fullScreenRenderer. + (WebCore::Document::detach): Call setFullScreenRenderer(0). + (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement. + (WebCore::Document::webkitWillEnterFullScreenForElement): Detach the fullscreen element to cause + a new RenderFullScreen renderer to be created with the new fullscreen element. + (WebCore::Document::webkitDidEnterFullScreenForElement): Notify clients of a fullscreen change + here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response + to webkitfullscreenchange events. + (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style. + (WebCore::Document::webkitDidExitFullScreenForElement): Ditto. + (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer. + (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new + size; this keeps clients from having to access the renderer's style directly. + (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto. + * dom/Document.h: + (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen. + (WebCore::Document::fullScreenRenderer): Accessor. + * dom/Document.idl: + * dom/Node.cpp: + (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen + object to insert between the fullscreen element and its parent. + * page/ChromeClient.h: + (WebCore::ChromeClient::fullScreenRendererChanged): Added. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen. + +2010-12-17 Jer Noble + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + This patch introduces a new RenderObject type: RenderFullScreen. The RenderFullScreen renderer + will be used to implement new FullScreen APIs. Because the RenderFullScreen object will be the + parent of the current fullscreen element, the style rules for fullscreen objects must change to + match. + + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderFullScreen.cpp: Added. + (RenderFullScreen::setAnimating): Sets the m_isAnimating flag. + (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye + for RenderFullScreen objects. + * rendering/RenderFullScreen.h: Added. + (WebCore::RenderFullScreen::isRenderFullScreen): Added. Overrides the RenderObject version. + * rendering/RenderObject.h: + (WebCore::RenderObject::isRenderFullScreen): Added. Used for type-checking RenderFullScreen objects. + * css/fullscreen.css: Modified the contained fullscreen styles. + + +2011-01-07 James Robinson + + Revert "Implement mozilla's animationTime property" + https://bugs.webkit.org/show_bug.cgi?id=51952 + + This approach isn't quite right. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/DOMWindow.cpp: + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/Frame.cpp: + * page/Frame.h: + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + * page/animation/AnimationTimeController.cpp: Removed. + * page/animation/AnimationTimeController.h: Removed. + +2011-01-07 Jan Erik Hanssen + + Reviewed by Andreas Kling. + + [Qt] Black text on black buttons using a dark theme + https://bugs.webkit.org/show_bug.cgi?id=35024 + + Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::systemColor): + * platform/qt/RenderThemeQt.h: + +2011-01-05 Adrienne Walker + + Reviewed by Kenneth Russell. + + Add WEBKIT_lose_context WebGL extension. + https://bugs.webkit.org/show_bug.cgi?id=51492 + + Tests: fast/canvas/webgl/context-lost-restored.html + fast/canvas/webgl/context-lost.html + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSWebGLRenderingContextCustom.cpp: + (WebCore::toJS): + (WebCore::JSWebGLRenderingContext::getSupportedExtensions): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): + * html/canvas/WebGLExtension.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired): + (WebCore::WebGLRenderingContext::getExtension): + (WebCore::WebGLRenderingContext::getSupportedExtensions): + (WebCore::WebGLRenderingContext::forceLostContext): + (WebCore::WebGLRenderingContext::onLostContext): + (WebCore::WebGLRenderingContext::getNumberOfExtensions): + (WebCore::WebGLRenderingContext::getExtensionNumber): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h. + (WebCore::WebKitLoseContext::WebKitLoseContext): + (WebCore::WebKitLoseContext::~WebKitLoseContext): + (WebCore::WebKitLoseContext::getName): + (WebCore::WebKitLoseContext::create): + (WebCore::WebKitLoseContext::loseContext): + * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h. + * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h. + +2011-01-07 Chris Marrin + + Unreviewed. + + Build fix for Chromium. Missing include. + + * page/animation/AnimationBase.cpp: + +2011-01-07 Chris Marrin + + Unreviewed. + + Build fix. + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + +2011-01-06 Gavin Barraclough + + Reviewed by Geoff Garen. + + Bug 52035 - Unregistering DOMWrapperWorlds is unsafe + + The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's + destructor early, in order to release wrappers once we know we no longer intend to use them. + Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to + lose any state stored on them) it is not okay to deregister the world from the JSGlobalData. + A sequence of events that triggers the bug would look like this: + + (1) Create a DOMWrapperWorld. + (2) Register a timer in the world. + (3) Call unregisterWorld() on the world. + (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document. + (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've + called forgetWorld() none exists. + (6) Attempt to add a wrapper to a NULL map. + + Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away. + + * WebCore.exp.in: + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::DOMWrapperWorld): + (WebCore::DOMWrapperWorld::~DOMWrapperWorld): + (WebCore::DOMWrapperWorld::clearWrappers): + * bindings/js/DOMWrapperWorld.h: + +2011-01-07 Chris Marrin + + Rubber-stamped by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Final step in unifying GraphicsLayer logic across Win and Mac. This + implements the Windows side classes for PlatformCALayer and supporting + classes. Also changed MediaPlayer to use new PlatformCALayerClient + so it can use PlatformCALayer directly rather than a dummy GraphicsLayer. + WKCACFLayerRenderer now does the task of notifying animations of their + start time. Also commented out an assert in AnimationBase because + AnimationController's frame time is not in sync with the new + AnimationTimeController. I've opened a new bug for that issue: + + https://bugs.webkit.org/show_bug.cgi?id=52037 + + This also includes the Mac side changes backed out in + http://trac.webkit.org/changeset/75227. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * WebCore.xcodeproj/project.pbxproj: + * config.h: + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::freezeAtTime): + (WebCore::AnimationBase::getElapsedTime): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::layerDidDisplay): + (WebCore::GraphicsLayer::showDebugBorders): + (WebCore::GraphicsLayer::showRepaintCounter): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted): + (WebCore::GraphicsLayerCA::setContentsToImage): + (WebCore::GraphicsLayerCA::setContentsToMedia): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateSublayerList): + * platform/graphics/ca/GraphicsLayerCA.h: + (WebCore::GraphicsLayerCA::platformCALayer): + (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer): + (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges): + (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation): + (WebCore::GraphicsLayerCA::platformCALayerPaintContents): + (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders): + (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): + (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount): + (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque): + (WebCore::GraphicsLayerCA::platformCALayerDrawsContent): + (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay): + * platform/graphics/ca/PlatformCAAnimation.h: + * platform/graphics/ca/PlatformCALayer.h: + (WebCore::PlatformCALayer::owner): + (WebCore::PlatformCALayer::animationStarted): + * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h. + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::setOwner): + (PlatformCALayer::create): + (PlatformCALayer::PlatformCALayer): + (PlatformCALayer::contents): + (PlatformCALayer::setContents): + * platform/graphics/ca/win: Added. + * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added. + * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added. + * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added. + * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added. + (WebCore::PlatformCALayerWinInternal::owner): + * platform/graphics/mac/WebGLLayer.mm: + (-[WebGLLayer display]): + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + (setLayerNeedsDisplayInRect): + (-[WebLayer setNeedsDisplay]): + (-[WebLayer display]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplay]): + (-[WebTiledLayer display]): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::CGContextWithHDC): + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): + (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: + (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer): + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie): + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::movieNewImageAvailable): + (WebCore::MediaPlayerPrivate::createLayerForMovie): + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::rootLayer): + (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer): + (WebCore::WKCACFLayerRenderer::setRootChildLayer): + (WebCore::WKCACFLayerRenderer::setNeedsDisplay): + (WebCore::WKCACFLayerRenderer::destroyRenderer): + (WebCore::WKCACFLayerRenderer::render): + * platform/graphics/win/WKCACFLayerRenderer.h: + (WebCore::WKCACFLayerRendererClient::animationsStarted): + (WebCore::WKCACFLayerRendererClient::syncCompositingState): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::showDebugBorders): + (WebCore::RenderLayerBacking::showRepaintCounter): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::compositorShowDebugBorders): + (WebCore::RenderLayerCompositor::compositorShowRepaintCounter): + (WebCore::RenderLayerCompositor::notifyAnimationStarted): + (WebCore::RenderLayerCompositor::notifySyncRequired): + (WebCore::RenderLayerCompositor::paintContents): + (WebCore::RenderLayerCompositor::showDebugBorders): + (WebCore::RenderLayerCompositor::showRepaintCounter): + +2011-01-07 Nate Chapin + + Reviewed by Darin Fisher. + + Let PingLoader send cookies if FrameLoaderClient permits it. + https://bugs.webkit.org/show_bug.cgi?id=51898 + + Test: http/tests/navigation/ping-cookie.html + + * loader/PingLoader.cpp: + (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage + at load start time, since we won't be able to call + FrameLoaderClient::shouldUseCredentialStorage() later. + * loader/PingLoader.h: + (WebCore::PingLoader::shouldUseCredentialStorage): + +2011-01-07 Xan Lopez + + Unreviewed, rolling out r75256. + http://trac.webkit.org/changeset/75256 + https://bugs.webkit.org/show_bug.cgi?id=50869 + + Broke GTK+ canvas tests + + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::addArc): + +2011-01-07 Carlos Garcia Campos + + Reviewed by Martin Robinson. + + [GTK] Port scrollbar painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=52051 + + Use GtkStyleContext API to paint scrollbars when building with + GTK+ 3.x. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::gtkScrollbarStyle): + * platform/gtk/ScrollbarThemeGtk.cpp: + * platform/gtk/ScrollbarThemeGtk.h: + * platform/gtk/ScrollbarThemeGtk2.cpp: + (WebCore::gtkStyleSetCallback): + (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): + * platform/gtk/ScrollbarThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): + (WebCore::ScrollbarThemeGtk::updateThemeProperties): + (WebCore::ScrollbarThemeGtk::paintTrackBackground): + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): + (WebCore::ScrollbarThemeGtk::paintThumb): + (WebCore::ScrollbarThemeGtk::paintButton): + +2011-01-07 Dan Bernstein + + Reviewed by Darin Adler. + + Text emphasis marks should not appear over characters that have ruby annotations + https://bugs.webkit.org/show_bug.cgi?id=51267 + + Test: fast/text/emphasis-avoid-ruby.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if + there are text emphasis marks. + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto. + (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto. + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark + position if the text is style with emphasis marks and there isn’t a ruby annotation that should + suppress them. Otherwise returns false. + (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should + be painted. + * rendering/InlineTextBox.h: + +2011-01-07 Alejandro G. Castro + + Reviewed by Martin Robinson. + + [cairo] Rendering a lot of arcs on top of each other causes time + outs in some tests + https://bugs.webkit.org/show_bug.cgi?id=50869 + + We avoid the situation where we have to render the same arc + multiple times over itself. Now it renders just one oval and + moves to the end angle. + + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::addArc): + +2011-01-07 Carlos Garcia Campos + + Reviewed by Martin Robinson. + + [GTK] Port buttons painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51812 + + Use GtkStyleContext API to paint buttons when building with GTK+ + 3.x. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::adjustRectForFocus): + (WebCore::RenderThemeGtk::adjustRepaintRect): + (WebCore::RenderThemeGtk::paintButton): + +2011-01-07 Zhenyao Mo + + Unreviewed, build fix. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexSubImage2D): + +2011-01-06 Zhenyao Mo + + Reviewed by Kenneth Russell. + + copyTexSubImage2D shouldn't have undefined pixels + https://bugs.webkit.org/show_bug.cgi?id=51559 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0. + (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters. + (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto. + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLTexture.cpp: + (WebCore::WebGLTexture::getType): Expose the type of a texture. + * html/canvas/WebGLTexture.h: + +2011-01-07 Takashi Toyoshima + + Reviewed by Kenneth Russell. + + cleanupAfterGraphicsCall() is never called in + WebGLRenderingContext::checkFramebufferStatus() + https://bugs.webkit.org/show_bug.cgi?id=51668 + + No new tests. This is a trivial bug. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::checkFramebufferStatus): + +2011-01-07 Mario Sanchez Prada + + Reviewed by Chris Fleizach. + + GTK: AX: atk tests need to be updated after recent changes + https://bugs.webkit.org/show_bug.cgi?id=51932 + + Make sure we can always get the right accesssible parent for an + AtkObject when traversing the hierarchy bottom up. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (isRootObject): New function to check whether an + AccessibilityObject is the root one or not, according to the + latest changes in the hierarchy. + (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's + GAIL as the parent of the root AtkObject from WebCore. + (webkit_accessible_get_parent): Use atkParentOfRootObject. + (webkit_accessible_get_index_in_parent): Ditto. + (atkRole): Expose AccessibilityObjects with ScrollAreaRole as + AtkObject's of role ATK_ROLE_SCROLLED_PANE. + +2011-01-07 Zhenyao Mo + + Unreviewed, Mac 32-bit build fix. + Use float instead of double in GL function arguments to avoid implicit type down casting. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::blendColor): + (WebCore::WebGLRenderingContext::clearColor): + (WebCore::WebGLRenderingContext::clearDepth): + (WebCore::WebGLRenderingContext::depthRange): + (WebCore::WebGLRenderingContext::lineWidth): + (WebCore::WebGLRenderingContext::polygonOffset): + (WebCore::WebGLRenderingContext::sampleCoverage): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLRenderingContext.idl: + +2011-01-07 Carlos Garcia Campos and Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Port slider painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51874 + + Use GtkStyleContext API to paint sliders when building with GTK+ + 3.x. Also move the code to adjust media slider to its own method + in RenderThemeGtk.cpp since it's common to both gtk 2 and 3. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize): + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::adjustSliderThumbSize): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::paintSliderTrack): + (WebCore::RenderThemeGtk::paintSliderThumb): + (WebCore::RenderThemeGtk::adjustSliderThumbSize): + +2011-01-07 Benjamin Poulain + + Reviewed by Andreas Kling. + + [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile + https://bugs.webkit.org/show_bug.cgi?id=51992 + + Add the missing header. CString is used in debug by the calls to LOG(). + + * fileapi/FileReader.cpp: + +2011-01-07 Alejandro G. Castro + + Reviewed by Martin Robinson. + + Cairo's ContextShadow may mis-render some box shadows + https://bugs.webkit.org/show_bug.cgi?id=51374 + + The space required for the internal shadow of the corners was not + correctly considered. + + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::drawRectShadow): + +2011-01-06 Adam Barth + + Reviewed by Darin Adler. + + REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt() + https://bugs.webkit.org/show_bug.cgi?id=52013 + + When excluding line numbers for composite strings, we forgot to exclude + the line number for the current string! + + Test: fast/parser/line-number-composite-segmented-string.html + + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::setExcludeLineNumbers): + +2011-01-06 Chris Marrin + + Unreviewed. + + Back out changes in http://trac.webkit.org/changeset/75199 + This breaks the Windows build. Fixing it on that side. Until + then I'll back this out. + +2011-01-06 Jenn Braithwaite + + Reviewed by Dmitry Titov. + + When a live frame is moved between pages, some plug-in DOM methods cease to function + https://bugs.webkit.org/show_bug.cgi?id=45770 + + Test: fast/frames/iframe-reparenting-plugins.html + + * page/Frame.cpp: + (WebCore::Frame::~Frame): + (WebCore::Frame::addObserver): + (WebCore::Frame::removeObserver): + * page/Frame.h: + (WebCore::FrameDestructionObserver::~FrameDestructionObserver): + Added observer to be notified when frame is destroyed. + * page/Page.cpp: + (WebCore::Page::~Page): + (WebCore::Page::refreshPlugins): + PluginData no longer stores page pointer. + * plugins/DOMMimeType.cpp: + (WebCore::DOMMimeType::DOMMimeType): + (WebCore::DOMMimeType::~DOMMimeType): + (WebCore::DOMMimeType::enabledPlugin): + * plugins/DOMMimeType.h: + (WebCore::DOMMimeType::create): + (WebCore::DOMMimeType::frameDestroyed): + Store frame instead of page pointer in DOMMimeType. + * plugins/DOMMimeTypeArray.cpp: + (WebCore::DOMMimeTypeArray::item): + (WebCore::DOMMimeTypeArray::namedItem): + Provide frame to create DOMMimeType. + * plugins/DOMPlugin.cpp: + (WebCore::DOMPlugin::DOMPlugin): + (WebCore::DOMPlugin::~DOMPlugin): + (WebCore::DOMPlugin::item): + (WebCore::DOMPlugin::namedItem): + * plugins/DOMPlugin.h: + (WebCore::DOMPlugin::create): + (WebCore::DOMPlugin::frameDestroyed): + Store frame instead of page pointer in DOMPlugin. + * plugins/DOMPluginArray.cpp: + (WebCore::DOMPluginArray::item): + (WebCore::DOMPluginArray::namedItem): + Provide frame to create DOMPlugin. + * plugins/PluginData.cpp: + (WebCore::PluginData::PluginData): + (WebCore::PluginData::initPlugins): + * plugins/PluginData.h: + No longer stores a pointer to the page. + Added page parameter to initPlugins. + * plugins/PluginDataNone.cpp: + (WebCore::PluginData::initPlugins): + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginData::initPlugins): + * plugins/gtk/PluginDataGtk.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + Updated platforms to add (unused) page parameter to initPlugins. + +2011-01-05 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Define GC3D types to match GL types and use them in GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=45557 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::readPixels): + (WebCore::WebGLRenderingContext::validateTexFuncData): + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::texImage2DResourceSafe): + (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): + (WebCore::GraphicsContext3D::extractImageData): + (WebCore::GraphicsContext3D::extractTextureData): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::enable): + (WebCore::SharedGraphicsContext3D::disable): + (WebCore::SharedGraphicsContext3D::clear): + (WebCore::SharedGraphicsContext3D::drawArrays): + (WebCore::SharedGraphicsContext3D::getError): + (WebCore::SharedGraphicsContext3D::getIntegerv): + (WebCore::SharedGraphicsContext3D::createFramebuffer): + (WebCore::SharedGraphicsContext3D::createTexture): + (WebCore::SharedGraphicsContext3D::deleteFramebuffer): + (WebCore::SharedGraphicsContext3D::deleteTexture): + (WebCore::SharedGraphicsContext3D::framebufferTexture2D): + (WebCore::SharedGraphicsContext3D::texParameteri): + (WebCore::SharedGraphicsContext3D::texImage2D): + (WebCore::SharedGraphicsContext3D::texSubImage2D): + (WebCore::SharedGraphicsContext3D::readPixels): + (WebCore::SharedGraphicsContext3D::setActiveTexture): + (WebCore::SharedGraphicsContext3D::bindTexture): + (WebCore::SharedGraphicsContext3D::bindFramebuffer): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::attachShader): + (WebCore::GraphicsContext3D::bindAttribLocation): + (WebCore::GraphicsContext3D::bindBuffer): + (WebCore::GraphicsContext3D::bindFramebuffer): + (WebCore::GraphicsContext3D::bindRenderbuffer): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::blendColor): + (WebCore::GraphicsContext3D::blendEquation): + (WebCore::GraphicsContext3D::blendEquationSeparate): + (WebCore::GraphicsContext3D::blendFunc): + (WebCore::GraphicsContext3D::blendFuncSeparate): + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + (WebCore::GraphicsContext3D::checkFramebufferStatus): + (WebCore::GraphicsContext3D::clearColor): + (WebCore::GraphicsContext3D::clear): + (WebCore::GraphicsContext3D::clearDepth): + (WebCore::GraphicsContext3D::clearStencil): + (WebCore::GraphicsContext3D::colorMask): + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::copyTexImage2D): + (WebCore::GraphicsContext3D::copyTexSubImage2D): + (WebCore::GraphicsContext3D::cullFace): + (WebCore::GraphicsContext3D::depthFunc): + (WebCore::GraphicsContext3D::depthMask): + (WebCore::GraphicsContext3D::depthRange): + (WebCore::GraphicsContext3D::detachShader): + (WebCore::GraphicsContext3D::disable): + (WebCore::GraphicsContext3D::disableVertexAttribArray): + (WebCore::GraphicsContext3D::drawArrays): + (WebCore::GraphicsContext3D::drawElements): + (WebCore::GraphicsContext3D::enable): + (WebCore::GraphicsContext3D::enableVertexAttribArray): + (WebCore::GraphicsContext3D::framebufferRenderbuffer): + (WebCore::GraphicsContext3D::framebufferTexture2D): + (WebCore::GraphicsContext3D::frontFace): + (WebCore::GraphicsContext3D::generateMipmap): + (WebCore::GraphicsContext3D::getActiveAttrib): + (WebCore::GraphicsContext3D::getActiveUniform): + (WebCore::GraphicsContext3D::getAttachedShaders): + (WebCore::GraphicsContext3D::getAttribLocation): + (WebCore::GraphicsContext3D::getError): + (WebCore::GraphicsContext3D::getString): + (WebCore::GraphicsContext3D::hint): + (WebCore::GraphicsContext3D::isBuffer): + (WebCore::GraphicsContext3D::isEnabled): + (WebCore::GraphicsContext3D::isFramebuffer): + (WebCore::GraphicsContext3D::isProgram): + (WebCore::GraphicsContext3D::isRenderbuffer): + (WebCore::GraphicsContext3D::isShader): + (WebCore::GraphicsContext3D::isTexture): + (WebCore::GraphicsContext3D::lineWidth): + (WebCore::GraphicsContext3D::linkProgram): + (WebCore::GraphicsContext3D::pixelStorei): + (WebCore::GraphicsContext3D::polygonOffset): + (WebCore::GraphicsContext3D::readPixels): + (WebCore::GraphicsContext3D::renderbufferStorage): + (WebCore::GraphicsContext3D::sampleCoverage): + (WebCore::GraphicsContext3D::scissor): + (WebCore::GraphicsContext3D::stencilFunc): + (WebCore::GraphicsContext3D::stencilFuncSeparate): + (WebCore::GraphicsContext3D::stencilMask): + (WebCore::GraphicsContext3D::stencilMaskSeparate): + (WebCore::GraphicsContext3D::stencilOp): + (WebCore::GraphicsContext3D::stencilOpSeparate): + (WebCore::GraphicsContext3D::texParameterf): + (WebCore::GraphicsContext3D::texParameteri): + (WebCore::GraphicsContext3D::uniform1f): + (WebCore::GraphicsContext3D::uniform1fv): + (WebCore::GraphicsContext3D::uniform2f): + (WebCore::GraphicsContext3D::uniform2fv): + (WebCore::GraphicsContext3D::uniform3f): + (WebCore::GraphicsContext3D::uniform3fv): + (WebCore::GraphicsContext3D::uniform4f): + (WebCore::GraphicsContext3D::uniform4fv): + (WebCore::GraphicsContext3D::uniform1i): + (WebCore::GraphicsContext3D::uniform1iv): + (WebCore::GraphicsContext3D::uniform2i): + (WebCore::GraphicsContext3D::uniform2iv): + (WebCore::GraphicsContext3D::uniform3i): + (WebCore::GraphicsContext3D::uniform3iv): + (WebCore::GraphicsContext3D::uniform4i): + (WebCore::GraphicsContext3D::uniform4iv): + (WebCore::GraphicsContext3D::uniformMatrix2fv): + (WebCore::GraphicsContext3D::uniformMatrix3fv): + (WebCore::GraphicsContext3D::uniformMatrix4fv): + (WebCore::GraphicsContext3D::useProgram): + (WebCore::GraphicsContext3D::validateProgram): + (WebCore::GraphicsContext3D::vertexAttrib1f): + (WebCore::GraphicsContext3D::vertexAttrib1fv): + (WebCore::GraphicsContext3D::vertexAttrib2f): + (WebCore::GraphicsContext3D::vertexAttrib2fv): + (WebCore::GraphicsContext3D::vertexAttrib3f): + (WebCore::GraphicsContext3D::vertexAttrib3fv): + (WebCore::GraphicsContext3D::vertexAttrib4f): + (WebCore::GraphicsContext3D::vertexAttrib4fv): + (WebCore::GraphicsContext3D::vertexAttribPointer): + (WebCore::GraphicsContext3D::viewport): + (WebCore::GraphicsContext3D::getBooleanv): + (WebCore::GraphicsContext3D::getBufferParameteriv): + (WebCore::GraphicsContext3D::getFloatv): + (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): + (WebCore::GraphicsContext3D::getIntegerv): + (WebCore::GraphicsContext3D::getProgramiv): + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getRenderbufferParameteriv): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getTexParameterfv): + (WebCore::GraphicsContext3D::getTexParameteriv): + (WebCore::GraphicsContext3D::getUniformfv): + (WebCore::GraphicsContext3D::getUniformiv): + (WebCore::GraphicsContext3D::getUniformLocation): + (WebCore::GraphicsContext3D::getVertexAttribfv): + (WebCore::GraphicsContext3D::getVertexAttribiv): + (WebCore::GraphicsContext3D::getVertexAttribOffset): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::createBuffer): + (WebCore::GraphicsContext3D::createFramebuffer): + (WebCore::GraphicsContext3D::createProgram): + (WebCore::GraphicsContext3D::createRenderbuffer): + (WebCore::GraphicsContext3D::createShader): + (WebCore::GraphicsContext3D::createTexture): + (WebCore::GraphicsContext3D::deleteBuffer): + (WebCore::GraphicsContext3D::deleteFramebuffer): + (WebCore::GraphicsContext3D::deleteProgram): + (WebCore::GraphicsContext3D::deleteRenderbuffer): + (WebCore::GraphicsContext3D::deleteShader): + (WebCore::GraphicsContext3D::deleteTexture): + (WebCore::GraphicsContext3D::sizeInBytes): + (WebCore::GraphicsContext3D::synthesizeGLError): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::attachShader): + (WebCore::GraphicsContext3D::getAttachedShaders): + (WebCore::GraphicsContext3D::bindAttribLocation): + (WebCore::GraphicsContext3D::bindBuffer): + (WebCore::GraphicsContext3D::bindFramebuffer): + (WebCore::GraphicsContext3D::bindRenderbuffer): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::blendColor): + (WebCore::GraphicsContext3D::blendEquation): + (WebCore::GraphicsContext3D::blendEquationSeparate): + (WebCore::GraphicsContext3D::blendFunc): + (WebCore::GraphicsContext3D::blendFuncSeparate): + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + (WebCore::GraphicsContext3D::checkFramebufferStatus): + (WebCore::GraphicsContext3D::clearColor): + (WebCore::GraphicsContext3D::clear): + (WebCore::GraphicsContext3D::clearDepth): + (WebCore::GraphicsContext3D::clearStencil): + (WebCore::GraphicsContext3D::colorMask): + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::copyTexImage2D): + (WebCore::GraphicsContext3D::copyTexSubImage2D): + (WebCore::GraphicsContext3D::cullFace): + (WebCore::GraphicsContext3D::depthFunc): + (WebCore::GraphicsContext3D::depthMask): + (WebCore::GraphicsContext3D::depthRange): + (WebCore::GraphicsContext3D::detachShader): + (WebCore::GraphicsContext3D::disable): + (WebCore::GraphicsContext3D::disableVertexAttribArray): + (WebCore::GraphicsContext3D::drawArrays): + (WebCore::GraphicsContext3D::drawElements): + (WebCore::GraphicsContext3D::enable): + (WebCore::GraphicsContext3D::enableVertexAttribArray): + (WebCore::GraphicsContext3D::framebufferRenderbuffer): + (WebCore::GraphicsContext3D::framebufferTexture2D): + (WebCore::GraphicsContext3D::frontFace): + (WebCore::GraphicsContext3D::generateMipmap): + (WebCore::GraphicsContext3D::getActiveAttrib): + (WebCore::GraphicsContext3D::getActiveUniform): + (WebCore::GraphicsContext3D::getAttribLocation): + (WebCore::GraphicsContext3D::getError): + (WebCore::GraphicsContext3D::getString): + (WebCore::GraphicsContext3D::hint): + (WebCore::GraphicsContext3D::isBuffer): + (WebCore::GraphicsContext3D::isEnabled): + (WebCore::GraphicsContext3D::isFramebuffer): + (WebCore::GraphicsContext3D::isProgram): + (WebCore::GraphicsContext3D::isRenderbuffer): + (WebCore::GraphicsContext3D::isShader): + (WebCore::GraphicsContext3D::isTexture): + (WebCore::GraphicsContext3D::linkProgram): + (WebCore::GraphicsContext3D::pixelStorei): + (WebCore::GraphicsContext3D::polygonOffset): + (WebCore::GraphicsContext3D::readPixels): + (WebCore::GraphicsContext3D::renderbufferStorage): + (WebCore::GraphicsContext3D::sampleCoverage): + (WebCore::GraphicsContext3D::scissor): + (WebCore::GraphicsContext3D::stencilFunc): + (WebCore::GraphicsContext3D::stencilFuncSeparate): + (WebCore::GraphicsContext3D::stencilMask): + (WebCore::GraphicsContext3D::stencilMaskSeparate): + (WebCore::GraphicsContext3D::stencilOp): + (WebCore::GraphicsContext3D::stencilOpSeparate): + (WebCore::GraphicsContext3D::texParameterf): + (WebCore::GraphicsContext3D::texParameteri): + (WebCore::GraphicsContext3D::uniform1f): + (WebCore::GraphicsContext3D::uniform1fv): + (WebCore::GraphicsContext3D::uniform2f): + (WebCore::GraphicsContext3D::uniform2fv): + (WebCore::GraphicsContext3D::uniform3f): + (WebCore::GraphicsContext3D::uniform3fv): + (WebCore::GraphicsContext3D::uniform4f): + (WebCore::GraphicsContext3D::uniform4fv): + (WebCore::GraphicsContext3D::uniform1i): + (WebCore::GraphicsContext3D::uniform1iv): + (WebCore::GraphicsContext3D::uniform2i): + (WebCore::GraphicsContext3D::uniform2iv): + (WebCore::GraphicsContext3D::uniform3i): + (WebCore::GraphicsContext3D::uniform3iv): + (WebCore::GraphicsContext3D::uniform4i): + (WebCore::GraphicsContext3D::uniform4iv): + (WebCore::GraphicsContext3D::uniformMatrix2fv): + (WebCore::GraphicsContext3D::uniformMatrix3fv): + (WebCore::GraphicsContext3D::uniformMatrix4fv): + (WebCore::GraphicsContext3D::useProgram): + (WebCore::GraphicsContext3D::validateProgram): + (WebCore::GraphicsContext3D::vertexAttrib1f): + (WebCore::GraphicsContext3D::vertexAttrib1fv): + (WebCore::GraphicsContext3D::vertexAttrib2f): + (WebCore::GraphicsContext3D::vertexAttrib2fv): + (WebCore::GraphicsContext3D::vertexAttrib3f): + (WebCore::GraphicsContext3D::vertexAttrib3fv): + (WebCore::GraphicsContext3D::vertexAttrib4f): + (WebCore::GraphicsContext3D::vertexAttrib4fv): + (WebCore::GraphicsContext3D::vertexAttribPointer): + (WebCore::GraphicsContext3D::viewport): + (WebCore::GraphicsContext3D::getBooleanv): + (WebCore::GraphicsContext3D::getBufferParameteriv): + (WebCore::GraphicsContext3D::getFloatv): + (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): + (WebCore::GraphicsContext3D::getIntegerv): + (WebCore::GraphicsContext3D::getProgramiv): + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getRenderbufferParameteriv): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + (WebCore::GraphicsContext3D::getTexParameterfv): + (WebCore::GraphicsContext3D::getTexParameteriv): + (WebCore::GraphicsContext3D::getUniformfv): + (WebCore::GraphicsContext3D::getUniformiv): + (WebCore::GraphicsContext3D::getUniformLocation): + (WebCore::GraphicsContext3D::getVertexAttribfv): + (WebCore::GraphicsContext3D::getVertexAttribiv): + (WebCore::GraphicsContext3D::getVertexAttribOffset): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::createBuffer): + (WebCore::GraphicsContext3D::createFramebuffer): + (WebCore::GraphicsContext3D::createProgram): + (WebCore::GraphicsContext3D::createRenderbuffer): + (WebCore::GraphicsContext3D::createShader): + (WebCore::GraphicsContext3D::createTexture): + (WebCore::GraphicsContext3D::deleteBuffer): + (WebCore::GraphicsContext3D::deleteFramebuffer): + (WebCore::GraphicsContext3D::deleteProgram): + (WebCore::GraphicsContext3D::deleteRenderbuffer): + (WebCore::GraphicsContext3D::deleteShader): + (WebCore::GraphicsContext3D::deleteTexture): + (WebCore::GraphicsContext3D::sizeInBytes): + (WebCore::GraphicsContext3D::synthesizeGLError): + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2011-01-06 Martin Robinson + + Reviewed by Eric Seidel. + + [GTK] Initial build support for WebGL + https://bugs.webkit.org/show_bug.cgi?id=51716 + + Add initial build support for WebGL and insert bits of implementation + necessary for clean compilation into GraphicsContext3D. + + No new tests. This is just a build change. + + * GNUmakefile.am: Add missing files to the source lists. + * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below. + Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the + same across different platforms. X11 headers define the VERSION symbol, so it's + necessary to undefine it, since it's used as an enum value. + +2011-01-06 Helder Correia + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow + https://bugs.webkit.org/show_bug.cgi?id=52014 + + The function is only used by RenderObject to draw box sides. + The shadow branch is never used and thus can be removed. + + No new tests are necessary. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawConvexPolygon): + +2011-01-06 Laszlo Gombos + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make sure touch is disabled in the minimal configuration + https://bugs.webkit.org/show_bug.cgi?id=51316 + + No new tests as there is no new functionality. + + * features.pri: + +2011-01-06 Martin Robinson + + Reviewed by Eric Seidel. + + [GTK] Freetype backend does not support WOFF + https://bugs.webkit.org/show_bug.cgi?id=51904 + + * CMakeListsEfl.txt: Add WOFF support to the sources list. + * GNUmakefile.am: Add WOFF support to the sources list. + * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: + (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate. + (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF. + +2011-01-06 James Simonsen + + Reviewed by Darin Fisher. + + [Web Timing] Remove vendor prefix + https://bugs.webkit.org/show_bug.cgi?id=48922 + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::performance): Rename to performance. + * page/DOMWindow.h: + * page/DOMWindow.idl: Rename to performance and make replaceable. + +2011-01-06 Chris Marrin + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is + used to communicate from PlatformCALayer to the owner. This replaces passing + GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the + API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements + the PlatformCALayerClient API. + + This change has little impact on the Mac side but makes the Windows + interface simpler, especially when handling video layers on Windows. + + * WebCore.xcodeproj/project.pbxproj: + * config.h: + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::layerDidDisplay): + (WebCore::GraphicsLayer::showDebugBorders): + (WebCore::GraphicsLayer::showRepaintCounter): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted): + (WebCore::GraphicsLayerCA::setContentsToImage): + (WebCore::GraphicsLayerCA::setContentsToMedia): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateSublayerList): + * platform/graphics/ca/GraphicsLayerCA.h: + (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer): + (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges): + (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation): + (WebCore::GraphicsLayerCA::platformCALayerPaintContents): + (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders): + (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): + (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount): + (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque): + (WebCore::GraphicsLayerCA::platformCALayerDrawsContent): + (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay): + (WebCore::GraphicsLayerCA::platformCALayer): + * platform/graphics/ca/PlatformCALayer.h: + (WebCore::PlatformCALayer::owner): + (WebCore::PlatformCALayer::animationStarted): + * platform/graphics/ca/PlatformCALayerClient.h: Added. + (WebCore::PlatformCALayerClient::~PlatformCALayerClient): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::setOwner): + (PlatformCALayer::create): + (PlatformCALayer::PlatformCALayer): + (PlatformCALayer::contents): + (PlatformCALayer::setContents): + * platform/graphics/mac/WebGLLayer.mm: + (-[WebGLLayer display]): + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + (setLayerNeedsDisplayInRect): + (-[WebLayer setNeedsDisplay]): + (-[WebLayer display]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplay]): + (-[WebTiledLayer display]): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::showDebugBorders): + (WebCore::RenderLayerBacking::showRepaintCounter): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::compositorShowDebugBorders): + (WebCore::RenderLayerCompositor::compositorShowRepaintCounter): + (WebCore::RenderLayerCompositor::notifyAnimationStarted): + (WebCore::RenderLayerCompositor::notifySyncRequired): + (WebCore::RenderLayerCompositor::paintContents): + (WebCore::RenderLayerCompositor::showDebugBorders): + (WebCore::RenderLayerCompositor::showRepaintCounter): + +2011-01-06 Tony Gentilcore + + Reviewed by Eric Seidel. + + Allow framesets after hidden inputs + https://bugs.webkit.org/show_bug.cgi?id=51998 + + This implements the HTML5 spec update in response to: + http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156 + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-12-29 Zhenyao Mo + + Reviewed by Kenneth Russell. + + vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size + https://bugs.webkit.org/show_bug.cgi?id=51725 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::vertexAttribPointer): + +2011-01-06 Patrick Gansterer + + Reviewed by Eric Seidel. + + [WINCE] Remove JSC::g_stackBase + https://bugs.webkit.org/show_bug.cgi?id=51779 + + * platform/wince/SharedTimerWinCE.cpp: + (WebCore::TimerWindowWndProc): + +2011-01-06 Robert Hogan + + Reviewed by Antonio Gomes. + + [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge + + This allows LayoutTestController to pass WebCore::Node back to + layout tests. + + Also amend nodesFromRect-links-and-text.html and + nodesFromRect-inner-documents.html so that they do not produce + platform-specific results. + + Unskip: + fast/dom/nodesFromRect-links-and-text.html + fast/dom/nodesFromRect-inner-documents.html + + https://bugs.webkit.org/show_bug.cgi?id=48957 + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtDRTNodeRuntime::create): + (JSC::Bindings::QtDRTNodeRuntime::get): + (JSC::Bindings::convertValueToQVariant): + (JSC::Bindings::convertQVariantToValue): + +2011-01-06 Joone Hur + + Reviewed by Eric Seidel. + + WML Parser should treat line/column number in a consistent way + https://bugs.webkit.org/show_bug.cgi?id=51601 + + XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based. + Therefore, this patch allows WML ErrorHandler to use 1-based values. + + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values. + * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number. + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. + * dom/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. + * wml/WMLErrorHandling.cpp: + (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number. + +2011-01-05 Adam Roben + + Remove some dead code from WKCACFLayerRenderer + + Fixes WKCACFLayerRenderer has dead and + redundant code for reacting to changes to the layer tree + + Reviewed by Sam Weinig. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + * platform/graphics/win/WKCACFLayerRenderer.h: + Removed didFlushContext and the HashMap it depended on. We react to + changes to the layer tree in layerTreeDidChange instead. + +2011-01-06 Chris Fleizach + + Reviewed by Beth Dakin. + + AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded + https://bugs.webkit.org/show_bug.cgi?id=51995 + + Test: platform/mac/accessibility/aria-expanded-standard-items.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::supportsARIAExpanded): + (WebCore::AccessibilityObject::isExpanded): + * accessibility/AccessibilityObject.h: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isVisited): + * accessibility/AccessibilityRenderObject.h: + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): + +2010-12-28 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Must generate INVALID_VALUE errors for strings containing out-of-range characters + https://bugs.webkit.org/show_bug.cgi?id=50929 + + * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1. + (WebCore::WebGLRenderingContext::bindAttribLocation): + (WebCore::WebGLRenderingContext::getAttribLocation): + (WebCore::WebGLRenderingContext::getUniformLocation): + (WebCore::WebGLRenderingContext::shaderSource): + (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation. + * html/canvas/WebGLRenderingContext.h: Declare validateString(). + +2011-01-06 Yong Li + + Reviewed by Adam Barth. + Add the test case that is missed in r75066. + https://bugs.webkit.org/show_bug.cgi?id=48077 + + Test case: WebCore/manual-tests/bugzilla-48077.html. + +2011-01-06 James Robinson + + Reviewed by Simon Fraser. + + Implement mozilla's animationTime property + https://bugs.webkit.org/show_bug.cgi?id=51952 + + Implements mozilla's animationTime property as described here: + https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime + and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/ + The property is called webkitAnimationTime as calling it the 'Start' time is not very informative. + This property exposes a notion of a 'current' time to use for declarative animations and allows + scripts to synchronize imperative animations with declarative ones if they choose to. Once queried + this time is saved and used for all declarative animation updates until the embedder paints/composites + the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example + if the page is in a background tab). + + This patch also ensures that all declarative animations started in the same script execution block + are synchronized even if some time elapses while script is running. + + Test: fast/animation/animation-time.html + + * WebCore.gypi: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitAnimationTime): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/Frame.cpp: + (WebCore::Frame::currentAnimationTime): + * page/Frame.h: + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + (WebCore::Page::animationTime): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + * page/animation/AnimationTimeController.cpp: Added. + (WebCore::AnimationTimeController::AnimationTimeController): + (WebCore::AnimationTimeController::~AnimationTimeController): + (WebCore::AnimationTimeController::currentAnimationTime): + (WebCore::AnimationTimeController::clearCurrentAnimationTime): + (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired): + * page/animation/AnimationTimeController.h: Added. + (WebCore::AnimationTimeController::create): + +2011-01-06 Abhishek Arya + + Reviewed by Simon Fraser. + + Null out the parent stylesheet pointer when a css rule is removed. + https://bugs.webkit.org/show_bug.cgi?id=51993 + + Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html + fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html + + * css/CSSRuleList.cpp: + (WebCore::CSSRuleList::deleteRule): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::deleteRule): + +2011-01-04 Adrienne Walker + + Reviewed by Kenneth Russell. + + NaN in a TypedArray should be converted to zero only for Float32Array. + https://bugs.webkit.org/show_bug.cgi?id=46990 + + Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::convertArrayValue): + (WebCore::constructArrayBufferView): + * html/canvas/Float32Array.h: + (WebCore::Float32Array::set): + (WebCore::Float32Array::item): + +2011-01-06 Patrick Gansterer + + Unreviewed Windows build fix for r75161. + + * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added. + +2011-01-06 Patrick Gansterer + + Unreviewed WinCE build fix for r75139. + + Try to remove include after adding forward-declaration in r75145. + + * platform/graphics/Gradient.h: + +2011-01-06 Renata Hodovan + + Reviewed by Andreas Kling. + + https://bugs.webkit.org/show_bug.cgi?id=51811 + Merge m_height and m_width members of ImageData into the new m_size member. + + Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their + width and height argument, except ImageData. This patch refactors ImageData + to follow the style of other Image types in WebKit. + Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore. + This patch also refactors the PassRefPtr usages of ImageData. + + It's just a refactoring, so we don't need any new tests. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::write): + (WebCore::CloneDeserializer::readTerminal): + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::ZigZag::Reader::readImageData): + * html/ImageData.cpp: + (WebCore::ImageData::create): + (WebCore::ImageData::ImageData): + * html/ImageData.h: + (WebCore::ImageData::size): + (WebCore::ImageData::width): + (WebCore::ImageData::height): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::createEmptyImageData): + (WebCore::CanvasRenderingContext2D::createImageData): + (WebCore::CanvasRenderingContext2D::getImageData): + * html/canvas/CanvasRenderingContext2D.h: + * platform/graphics/haiku/ImageBufferHaiku.cpp: + (WebCore::getImageData): + +2011-01-06 Yael Aharon + + Reviewed by Darin Adler. + + document.querySelector(':nth-child(foo)') should throw a syntax error + https://bugs.webkit.org/show_bug.cgi?id=51231 + + Also fixes + CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector) + https://bugs.webkit.org/show_bug.cgi?id=21815 + + Add a check in the parser that other than an+b, only "odd" or "even" would be allowed + as parameters to nth selector. + + Tests: fast/css/css3-nth-tokens-script.html + fast/css/css3-nth-tokens-style.html + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::isValidNthToken): + * css/CSSParser.h: + +2011-01-06 Jan Erik Hanssen + + Reviewed by Andreas Kling. + + [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded() + https://bugs.webkit.org/show_bug.cgi?id=51453 + + Check if m_reply is NULL before accessing. + + * manual-tests/load-deferrer-resume-crash.html: Added. + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::setLoadMode): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2011-01-06 Andras Becsi + + Reviewed by Csaba Osztrogonác. + + [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled. + + No new tests needed. + + * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures. + +2011-01-06 Helder Correia + + Reviewed by Kenneth Rohde Christiansen. + + [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code + https://bugs.webkit.org/show_bug.cgi?id=51985 + + r75139 introduced GraphicsContext::hasShadow(). This can now simplify + and unify some code in the Qt and GTK ports. + + No new tests necessary for this refactoring. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + +2011-01-05 Darin Adler + + Fix Chromium Mac build. + + * platform/graphics/Gradient.h: Forward-declare CGContextRef. + This might even make it possible to remove the include of + for PLATFORM(WIN), but I did not + do that at this time because I don't want to break the Windows + build when fixing the Chromium build. + +2011-01-05 Xianzhu Wang + + Reviewed by David Levin. + + Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp) + https://bugs.webkit.org/show_bug.cgi?id=51736 + + No new tests. This change has potential effect on @font-face CSS feature + on ports using Skia. Tested on Chromium that this change won't break + fast/css/font-face-remote.html. This change can make the test pass on + other ports using Skia. + + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::RemoteFontStream::read): + +2011-01-05 Helder Correia + + Reviewed by Simon Fraser. + + Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac + https://bugs.webkit.org/show_bug.cgi?id=51869 + + GraphicsContext::fillRect(const FloatRect&) is clipping to the rect. + The shadow is being drawn, but getting clipped to the rect being filled. + The solution is to draw the gradient into a CGLayer (when a shadow is + required), then render the layer to the GraphicsContext. + + This patch also fixes: + canvas/philip/tests/2d.shadow.gradient.alpha.html + canvas/philip/tests/2d.shadow.gradient.basic.html + canvas/philip/tests/2d.shadow.gradient.transparent.2.html + + Test: fast/canvas/canvas-fillRect-gradient-shadow.html + + * platform/graphics/Gradient.h: + * platform/graphics/cg/GradientCG.cpp: + (WebCore::Gradient::paint): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRect): + +2011-01-05 Steve Falkenburg + + Reviewed by Darin Adler. + + Debug and Release builds on Windows clobber each other + https://bugs.webkit.org/show_bug.cgi?id=49185 + + Changes the structure of WebKitBuild build products directory so we + completely separate each build configuration into independent directories. + + Although we previously had per-configuration directories for obj, this change adds + per-configuration directories for bin, lib, obj, and include. Each configuration's + build products are stored within a directory inside of WebKitBuild. + + Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir), + defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName). + + * WebCore.vcproj/QTMovieWinCommon.vsprops: + * WebCore.vcproj/QTMovieWinPostBuild.cmd: + * WebCore.vcproj/QTMovieWinPreBuild.cmd: + * WebCore.vcproj/WebCore.make: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: + * WebCore.vcproj/WebCoreMediaQT.vsprops: + * WebCore.vcproj/WebCorePostBuild.cmd: + * WebCore.vcproj/WebCorePreBuild.cmd: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * WebCore.vcproj/copyInspectorFiles.cmd: + +2011-01-05 Simon Fraser + + Reviewed by Ariya Hidayat. + + Directly composited SVG images fail to render + https://bugs.webkit.org/show_bug.cgi?id=51975 + + There was already code, added in r67900, to detect whether an image + may be directly composited, by checking to see if it's a bitmap image. + + However, CachedImage::image() returns the nullImage() if m_image is null, + which is a BitmapImage, confusing this test. + + Test: compositing/images/direct-svg-image.html + + * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has + exactly the same method. + (WebCore::CachedImage::image): Use Image::nullImage(). + * loader/cache/CachedImage.h: + (WebCore::CachedImage::hasImage): New method to ask whether the m_image is + non-null. + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage() + so that we don't test the nullImage. + +2011-01-05 Simon Fraser + + Reviewed by Darin Adler. + + Fix percentage values in radius of radial gradients + https://bugs.webkit.org/show_bug.cgi?id=51979 + + Handle percentage values for the ending size of radial gradients. + + Test: fast/gradients/css3-radial-gradients3.html + + * css/CSSGradientValue.cpp: + (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is + non-null if percentage values are allowed, and compute percentage values when we see them. + (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that + percentages are OK when resolving end radii. + * css/CSSGradientValue.h: New parameter for resolveRadius. + +2011-01-05 James Simonsen + + Reviewed by Adam Barth. + + [Web Timing] Zero out some values on cross-origin redirects + https://bugs.webkit.org/show_bug.cgi?id=49294 + + Tests: http/tests/misc/webtiming-cross-origin-redirect.php + http/tests/misc/webtiming-origins.html + + * loader/DocumentLoadTiming.h: + (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::~FrameLoader): + (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times. + (WebCore::FrameLoader::completed): + (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin. + (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin. + * loader/FrameLoader.h: + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects. + * page/PerformanceNavigation.cpp: + (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set. + * page/PerformanceTiming.cpp: + (WebCore::PerformanceTiming::redirectStart): Ditto. + (WebCore::PerformanceTiming::redirectEnd): Ditto. + (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set. + (WebCore::PerformanceTiming::unloadEventEnd): Ditto. + +2011-01-05 Helder Correia + + Reviewed by Ariya Hidayat. + + [Qt] Default focus ring is too wide + https://bugs.webkit.org/show_bug.cgi?id=51854 + + This is an intermediate step to solve this bug. Use QPalette::Highlight + instead of default half-transparent black as the focus ring color. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::drawFocusRingForPath): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::platformFocusRingColor): + * platform/qt/RenderThemeQt.h: + +2011-01-05 James Simonsen + + Reviewed by Darin Fisher. + + [Web Timing] requestStart and responseStart should be available even if the document is still loading + https://bugs.webkit.org/show_bug.cgi?id=51368 + + Test: http/tests/misc/webtiming-slow-load.php + + * page/PerformanceTiming.cpp: + (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete. + (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound. + +2011-01-05 Chris Rogers + + Reviewed by Darin Fisher. + + Add WebKitClient::createAudioDevice() for Chromium port of web audio API + https://bugs.webkit.org/show_bug.cgi?id=51424 + + No new tests since audio API is not yet implemented. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2011-01-05 Anders Carlsson + + Try again. + + * WebCore.exp.in: + +2011-01-05 Anders Carlsson + + Attempt to fix Leopard build. + + * WebCore.exp.in: + +2011-01-05 Evan Martin + + Reviewed by Tony Chang. + + [chromium] refactor complex text on Linux + https://bugs.webkit.org/show_bug.cgi?id=51956 + + Pull out TextRunWalker from FontLinux.cpp. Put it in its own file. + Rename it to ComplexTextController, to match platform/graphics/mac + more closely. + + No tests because the change is just renaming a class. + + * WebCore.gyp/WebCore.gyp: + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added. + (WebCore::ComplexTextController::ComplexTextController): + (WebCore::ComplexTextController::~ComplexTextController): + (WebCore::ComplexTextController::isWordBreak): + (WebCore::ComplexTextController::determineWordBreakSpacing): + (WebCore::ComplexTextController::setPadding): + (WebCore::ComplexTextController::reset): + (WebCore::ComplexTextController::setBackwardsIteration): + (WebCore::ComplexTextController::nextScriptRun): + (WebCore::ComplexTextController::widthOfFullRun): + (WebCore::ComplexTextController::setupFontForScriptRun): + (WebCore::ComplexTextController::allocHarfbuzzFont): + (WebCore::ComplexTextController::deleteGlyphArrays): + (WebCore::ComplexTextController::createGlyphArrays): + (WebCore::ComplexTextController::resetGlyphArrays): + (WebCore::ComplexTextController::shapeGlyphs): + (WebCore::ComplexTextController::setGlyphXPositions): + (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars): + (WebCore::ComplexTextController::getNormalizedTextRun): + * platform/graphics/chromium/ComplexTextControllerLinux.h: Added. + (WebCore::ComplexTextController::setWordSpacingAdjustment): + (WebCore::ComplexTextController::setLetterSpacingAdjustment): + (WebCore::ComplexTextController::letterSpacing): + (WebCore::ComplexTextController::setXOffsetToZero): + (WebCore::ComplexTextController::rtl): + (WebCore::ComplexTextController::glyphs): + (WebCore::ComplexTextController::length): + (WebCore::ComplexTextController::xPositions): + (WebCore::ComplexTextController::advances): + (WebCore::ComplexTextController::width): + (WebCore::ComplexTextController::logClusters): + (WebCore::ComplexTextController::numCodePoints): + (WebCore::ComplexTextController::fontPlatformDataForScriptRun): + (WebCore::ComplexTextController::isCodepointSpace): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::glyphIndexForXPositionInScriptRun): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + +2011-01-05 Pratik Solanki + + Reviewed by Darin Adler. + + Merge cf and mac header files with same name + https://bugs.webkit.org/show_bug.cgi?id=51916 + + Since most of the code in the header files is identical, we can merge them and have #if + USE(CFNETWORK) to separate out the network specific parts. + + * WebCore.xcodeproj/project.pbxproj: + * platform/network/cf/AuthenticationChallenge.h: + (WebCore::AuthenticationChallenge::sender): + (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge): + * platform/network/cf/ResourceError.h: + (WebCore::ResourceError::ResourceError): + * platform/network/cf/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + * platform/network/cf/ResourceResponse.h: + (WebCore::ResourceResponse::ResourceResponse): + * platform/network/mac/AuthenticationChallenge.h: Removed. + * platform/network/mac/ResourceError.h: Removed. + * platform/network/mac/ResourceRequest.h: Removed. + * platform/network/mac/ResourceResponse.h: Removed. + +2011-01-05 Anders Carlsson + + Reviewed by Adele Peterson. + + Implement word transformation + https://bugs.webkit.org/show_bug.cgi?id=51943 + + Export Editor functions needed by WebKit2. + + * WebCore.exp.in: + +2011-01-05 Simon Fraser + + Reviewed by Dave Hyatt. + + Implement repeating CSS3 gradients + https://bugs.webkit.org/show_bug.cgi?id=51843 + + Add support for repeating gradients, via the new gradient functions + -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient. + + Tests: fast/gradients/css3-repeating-linear-gradients.html + fast/gradients/css3-repeating-radial-gradients.html + + * css/CSSGradientValue.h: + (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats. + (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in. + (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat. + (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto + (WebCore::CSSRadialGradientValue::create): Ditto. + (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto. + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which + is used for repeating radial gradients. Add code to repeat the stops, + adding stops before the start, and after the end until the 0-N range is + covered, where N is large enough to ensure the box is covered. Fix an issue + with repeating gradients where if both stops were < 0, it would fail to clamp + them to 0. + + (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients. + (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1, + because they are guaranteed to fill the box already. + (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients. + (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest + corner in order to inform addStops() how much additional extent is required. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat. + (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat. + (WebCore::CSSParser::parseRadialGradient): Ditto. + (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions. + (WebCore::CSSParser::parseGeneratedImage): Ditto. + * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions. + * platform/graphics/cg/GradientCG.cpp: Remove unused #include. + +2011-01-05 Martin Robinson + + Reviewed by Ariya Hidayat. + + ContextShadow::blurLayerImage() not endian-safe + https://bugs.webkit.org/show_bug.cgi?id=51822 + + Correct the channel map in ContextShadow to reflect the different + ordering of pixels on processors with different endianness. + + No new tests. This is covered by the existing shadow tests. It was + not discovered, because all of the bots using ContextShadow are + little-endian. + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping + based on machine endianness. + +2011-01-05 Mihai Parparita + + Reviewed by Nate Chapin. + + [Chromium] Crash when drawing PDF plug-in scrollbars + https://bugs.webkit.org/show_bug.cgi?id=51942 + + Pepper plug-in scrollbars don't have a parent, guard against that before + seeing if the parent is a FrameView. + + Not testable via layout tests, verified fix by hand. + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::ScrollbarThemeChromiumMac::paint): + +2011-01-05 Abhishek Arya + + Unreviewed. + + Update FIXME comment to sound better. Also initialize the block to fix compile. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::removeChild): + +2011-01-05 Abhishek Arya + + Reviewed by Dave Hyatt. + + Do not merge anonymous blocks when one of them is the one getting removed. + https://bugs.webkit.org/show_bug.cgi?id=51919 + + Test: fast/block/merge-anonymous-block-remove-child-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::removeChild): + +2011-01-05 Ryosuke Niwa + + Reviewed by Eric Seidel. + + ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle* + https://bugs.webkit.org/show_bug.cgi?id=50641 + + Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration. + Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle. + The font size delta is now stored as a member variable of EditingStyle as supposed to a property + in CSSMutableStyleDeclration as soon as EditingStyle is instantiated. + + No new tests are added since this is a refactoring. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange. + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle. + * editing/ApplyStyleCommand.h: + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta. + (WebCore::EditingStyle::init): Ditto. + (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange. + (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta. + (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta. + (WebCore::EditingStyle::overrideWithStyle): Ditto. + (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta. + (WebCore::EditingStyle::copy): Calls extractFontSizeDelta. + * editing/EditingStyle.h: + (WebCore::EditingStyle::fontSizeDelta): Added. + (WebCore::EditingStyle::hasFontSizeDelta): Added. + * editing/Editor.h: + +2011-01-05 Dan Bernstein + + Reviewed by Darin Adler. + + hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph + https://bugs.webkit.org/show_bug.cgi?id=51915 + + This changes the results of existing tests in fast/text. + + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::primaryFontHasGlyphForCharacter): Added. + * rendering/style/RenderStyle.cpp: + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub. + (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a + hyphen only if the primary font has a hyphen glyph, and otherwise return a + hyphen-minus. + +2011-01-05 Laszlo Gombos + + Reviewed by Ariya Hidayat. + + [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds + https://bugs.webkit.org/show_bug.cgi?id=51888 + + Overrule Qt's default from qconfig.pri for non-production builds so + that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed. + + No new tests as there is no new functionality. + + * WebCore.pro: + +2011-01-05 Sheriff Bot + + Unreviewed, rolling out r74778. + http://trac.webkit.org/changeset/74778 + https://bugs.webkit.org/show_bug.cgi?id=51930 + + Android and QtWebKit-V8 uses V8DOMWindowShell::setContext. + (Requested by bbandix on #webkit). + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::setContext): + * bindings/v8/V8DOMWindowShell.h: + +2011-01-05 Yi Shen + + Reviewed by Andreas Kling. + + [Qt] Animated GIF images does not animate 10x as expected by default. + https://bugs.webkit.org/show_bug.cgi?id=36818 + + Add a test animated GIF which should be displayed 2 times and stop. + + * manual-tests/animated-gif-looping.html: + * manual-tests/resources/animated-2x.gif: Added. + +2011-01-05 Carlos Garcia Campos + + Reviewed by Martin Robinson. + + [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3 + https://bugs.webkit.org/show_bug.cgi?id=51923 + + Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and + ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3. + + No new tests. This should not change functionality. + + * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp + * platform/gtk/ScrollbarThemeGtk.cpp: + (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness): + * platform/gtk/ScrollbarThemeGtk.h: + * platform/gtk/ScrollbarThemeGtk2.cpp: Added. + (WebCore::ScrollbarThemeGtk::updateThemeProperties): + (WebCore::ScrollbarThemeGtk::paintTrackBackground): + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): + (WebCore::ScrollbarThemeGtk::paintThumb): + (WebCore::ScrollbarThemeGtk::paintButton): + * platform/gtk/ScrollbarThemeGtk3.cpp: Added. + (WebCore::ScrollbarThemeGtk::updateThemeProperties): + (WebCore::ScrollbarThemeGtk::paintTrackBackground): + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): + (WebCore::ScrollbarThemeGtk::paintThumb): + (WebCore::ScrollbarThemeGtk::paintButton): + +2011-01-05 Patrick Gansterer + + Reviewed by Andreas Kling. + + [CMake] Fix the usage of SOURCE_GROUP + https://bugs.webkit.org/show_bug.cgi?id=51739 + + * CMakeLists.txt: + +2011-01-05 Andras Becsi + + Reviewed by Csaba Osztrogonác. + + [Qt][V8] Fix the build after recent changes. + + No new tests needed. + + * WebCore.pro: Add missing files, and remove obsolete ones. + +2011-01-05 Yong Li + + Reviewed by Adam Barth. + + Suspend HTMLParserScheduler when page load is deferred to + avoid potential JS re-entrancy. Otherwise, when JS execution is triggered + from an external script or by events, and is blocked by a modal dialog, + WebKit can parse more HTML source and also start another JS execution. + + https://bugs.webkit.org/show_bug.cgi?id=48077 + + Test case: WebCore/manual-tests/bugzilla-48077.html. + + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::suspendScheduledTasks): + (WebCore::DocumentParser::resumeScheduledTasks): + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::suspendScheduledTasks): + (WebCore::HTMLDocumentParser::resumeScheduledTasks): + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + (WebCore::HTMLParserScheduler::suspend): + (WebCore::HTMLParserScheduler::resume): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-01-05 Simon Hausmann + + Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva + + [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably + https://bugs.webkit.org/show_bug.cgi?id=51926 + + Work around potential upstream bug: Querying a GstBin for the duration, + will forward the query to all sink children. Our WebKitWebSrc however + is a bin with only source children, therefore the query fails. Until + this is changed upstream, this patch works around it as follows, + based on suggestion by Philippe Normand and Sebastian Dröge: + + When the initial query fails, attempt the same query on all source + pads and take the maximum length reported. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::totalBytes): + +2011-01-05 Philippe Normand + + Rubber-stamped by Eric Seidel. + + [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30 + https://bugs.webkit.org/show_bug.cgi?id=51810 + + Based on a patch by Mart Raudsepp. + + No new tests, build fix only. + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay + API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was + introduced in same version as the xoverlay API change. + +2011-01-05 Leo Yang + + Reviewed by Dirk Schulze. + + Malformed SVG causes crash in updateContainerOffset + https://bugs.webkit.org/show_bug.cgi?id=44610 + + We should check recursive at the begining of + WebCore::SVGUseElement::buildInstanceTree instead + of at the end of it because the target element's + children may cause infinite recursive . + + Test: svg/custom/recursive-use.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + (WebCore::SVGUseElement::hasCycleUseReferencing): + * svg/SVGUseElement.h: + +2011-01-04 Antti Koivisto + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=51907 + Style selector should only be recalculated when the pending sheet count goes to zero + + Shark says this is a significant performance improvement on some sites with lots of stylesheets. + + * dom/Document.cpp: + (WebCore::Document::removePendingSheet): + +2011-01-05 Carlos Garcia Campos + + Reviewed by Martin Robinson. + + [GTK] Use GtkStyleContext to get platform colors + https://bugs.webkit.org/show_bug.cgi?id=51830 + + Use GtkStyleContext API to get platform colors when building with + GTK+ 3.x. + + No new tests. This should not change functionality. + + * platform/graphics/Color.h: Add specialized constructor for GdkRGBA. + * platform/graphics/gtk/ColorGtk.cpp: + (WebCore::Color::Color): + (WebCore::Color::operator GdkRGBA): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::systemColor): + +2011-01-05 Carlos Garcia Campos + + Unreviewed. Build fix for GTK when using gtk+-3 after r75009. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of + adoptGRefPtr which doesn't exist. + +2011-01-05 Alexey Proskuryakov + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=51903 + Tell UI process which subframe is largest + + * WebCore.exp.in: Exported FrameView::contentsSize(). + +2011-01-04 Chris Fleizach + + Unreviewed. GTK build fix. + + WK2: Support Accessibility + https://bugs.webkit.org/show_bug.cgi?id=51859 + + * page/FrameView.cpp: + (WebCore::FrameView::axObjectCache): + +2011-01-04 Sheriff Bot + + Unreviewed, rolling out r74992. + http://trac.webkit.org/changeset/74992 + https://bugs.webkit.org/show_bug.cgi?id=51917 + + Crash in HTMLDocumentParser::suspendScheduledTasks() + (Requested by tkent on #webkit). + + * dom/DocumentParser.cpp: + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + * html/parser/HTMLDocumentParser.h: + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-01-04 Benjamin Poulain + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] [WK2] Add support for non-trivial context menu action + https://bugs.webkit.org/show_bug.cgi?id=51902 + + Fix the preprocessor guard for ContextMenuItemTagSelectAll in + the implementation of ContextMenuController::contextMenuItemSelected(). The guard was + inconsistent with what is defined in ContextMenuItem.h. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + +2011-01-04 Tony Gentilcore + + Reviewed by Ryosuke Niwa. + + Avoid manual ref/deref in AsyncScriptRunner by using PendingScript + https://bugs.webkit.org/show_bug.cgi?id=51723 + + ScriptElement should also be able to keep its Element+CachedScript in + a PendingScript, and then executeScriptSoon can accept a PendingScript. + Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use + PendingScripts, then generic request and execute which operate on + PendingScripts can be factored out to avoid code duplicate that we have. + + No new tests because no new functionality. + + * dom/AsyncScriptRunner.cpp: + (WebCore::AsyncScriptRunner::~AsyncScriptRunner): + (WebCore::AsyncScriptRunner::executeScriptSoon): + (WebCore::AsyncScriptRunner::timerFired): + * dom/AsyncScriptRunner.h: + * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement. + * dom/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::requestPendingScript): + +2011-01-04 Jeff Miller + + Reviewed by Darin Adler. + + Member variable and method naming cleanup to be consistent with WebKit2. + https://bugs.webkit.org/show_bug.cgi?id=51228 + + * page/win/EventHandlerWin.cpp: + (WebCore::EventHandler::eventActivatedView): + Rename activatedWebView() to didActivateWebView(). + + * platform/PlatformMouseEvent.h: + Rename m_activatedWebView to m_didActivateWebView. + + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + Initialize platform-specific member variables in PlatformMouseEvent constructors. + + (WebCore::PlatformMouseEvent::didActivateWebView): + Rename activatedWebView() to didActivateWebView(). + + * platform/win/PlatformMouseEventWin.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + Rename m_activatedWebView to m_didActivateWebView. + +2011-01-04 Yael Aharon + + Reviewed by Darin Adler. + + CSS3 :nth-child selector and valid whitespace test fails + https://bugs.webkit.org/show_bug.cgi?id=36279 + + Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs. + + Test: fast/css/css3-nth-space.html + + * css/tokenizer.flex: + +2011-01-04 Chris Fleizach + + Unreviewed. Build fix. + + WK2: Support Accessibility + https://bugs.webkit.org/show_bug.cgi?id=51859 + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (fallbackObject): + +2011-01-04 Cosmin Truta + + Reviewed by Eric Seidel. + + [chromium] PNG compression settings optimized for speed + https://bugs.webkit.org/show_bug.cgi?id=51719 + + Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images, + it is also the slowest, by a wide margin, on easy-to-compress images. + Use a more balanced configuration, based on the libpng compression defaults, + but with a faster compression level (3 instead of 6), and a faster filter + ("sub" instead of "all"). + + No change in behaviour, so no new tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::PNGImageEncoder::encode): + +2011-01-04 Chris Fleizach + + Reviewed by Sam Weinig. + + WK2: Support Accessibility + https://bugs.webkit.org/show_bug.cgi?id=51859 + + WK2 doesn't use platform scroll views anymore. Accessibility code + needs to have its own scroll views. + + Test: platform/mac/accessibility/webkit-scrollarea.html + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::AXObjectCache): + (WebCore::AXObjectCache::get): + (WebCore::AXObjectCache::getOrCreate): + (WebCore::AXObjectCache::rootObject): + (WebCore::AXObjectCache::remove): + (WebCore::AXObjectCache::handleScrollbarUpdate): + * accessibility/AXObjectCache.h: + (WebCore::AXObjectCache::handleScrollbarUpdate): + * accessibility/AccessibilityARIAGrid.h: + * accessibility/AccessibilityAllInOne.cpp: + * accessibility/AccessibilityImageMapLink.cpp: + * accessibility/AccessibilityImageMapLink.h: + * accessibility/AccessibilityListBoxOption.cpp: + * accessibility/AccessibilityListBoxOption.h: + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::updateChildrenIfNecessary): + (WebCore::AccessibilityObject::elementAccessibilityHitTest): + (WebCore::AccessibilityObject::axObjectCache): + (WebCore::AccessibilityObject::focusedUIElement): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isAccessibilityScrollView): + (WebCore::AccessibilityObject::isScrollView): + (WebCore::AccessibilityObject::canSetNumericValue): + (WebCore::AccessibilityObject::scrollBar): + (WebCore::AccessibilityObject::size): + (WebCore::AccessibilityObject::setValue): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::parentObject): + (WebCore::AccessibilityRenderObject::accessibilityHitTest): + (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary): + (WebCore::AccessibilityRenderObject::addChildren): + * accessibility/AccessibilityRenderObject.h: + * accessibility/AccessibilityScrollView.cpp: Added. + (WebCore::AccessibilityScrollView::AccessibilityScrollView): + (WebCore::AccessibilityScrollView::create): + (WebCore::AccessibilityScrollView::scrollBar): + (WebCore::AccessibilityScrollView::children): + (WebCore::AccessibilityScrollView::updateChildrenIfNecessary): + (WebCore::AccessibilityScrollView::removeChildScrollbar): + (WebCore::AccessibilityScrollView::addChildScrollbar): + (WebCore::AccessibilityScrollView::addChildren): + (WebCore::AccessibilityScrollView::webAreaObject): + (WebCore::AccessibilityScrollView::accessibilityHitTest): + (WebCore::AccessibilityScrollView::document): + (WebCore::AccessibilityScrollView::elementRect): + (WebCore::AccessibilityScrollView::parentObject): + * accessibility/AccessibilityScrollView.h: Added. + (WebCore::AccessibilityScrollView::roleValue): + (WebCore::AccessibilityScrollView::scrollView): + (WebCore::AccessibilityScrollView::accessibilityIsIgnored): + (WebCore::AccessibilityScrollView::isAccessibilityScrollView): + (WebCore::toAccessibilityScrollView): + * accessibility/AccessibilityScrollbar.cpp: + (WebCore::AccessibilityScrollbar::AccessibilityScrollbar): + (WebCore::AccessibilityScrollbar::create): + (WebCore::AccessibilityScrollbar::elementRect): + (WebCore::AccessibilityScrollbar::document): + (WebCore::AccessibilityScrollbar::orientation): + (WebCore::AccessibilityScrollbar::isEnabled): + (WebCore::AccessibilityScrollbar::valueForRange): + (WebCore::AccessibilityScrollbar::setValue): + * accessibility/AccessibilityScrollbar.h: + (WebCore::AccessibilityScrollbar::setParent): + (WebCore::AccessibilityScrollbar::canSetValueAttribute): + (WebCore::AccessibilityScrollbar::canSetNumericValue): + (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar): + (WebCore::AccessibilityScrollbar::parentObject): + (WebCore::AccessibilityScrollbar::roleValue): + * accessibility/mac/AccessibilityObjectMac.mm: + (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]): + (-[AccessibilityObjectWrapper position]): + (-[AccessibilityObjectWrapper scrollViewParent]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + (-[AccessibilityObjectWrapper accessibilityHitTest:]): + (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): + * dom/Document.cpp: + (WebCore::Document::axObjectCache): + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject): + * loader/FrameLoaderClient.h: + * page/FrameView.cpp: + (WebCore::FrameView::~FrameView): + (WebCore::FrameView::axObjectCache): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::setHasHorizontalScrollbar): + (WebCore::ScrollView::setHasVerticalScrollbar): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::~Scrollbar): + (WebCore::Scrollbar::scroll): + (WebCore::Scrollbar::axObjectCache): + * platform/Scrollbar.h: + * platform/Widget.h: + (WebCore::Widget::axObjectCache): + +2011-01-04 W. James MacLean + + Reviewed by Kenneth Russell. + + [chromium] Add support to compositor to composite to offscreen texture. + https://bugs.webkit.org/show_bug.cgi?id=50833 + + A patch to extend compositor to be able to composite into an offscreen texture instead + of just directly to the display buffer. Builds on RenderSurfaceChromium support. + Explicitly resets alpha channel before rendering to display. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::updateAndDrawRootLayer): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::setCompositeOffscreen): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::setScissorToRect): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::isCompositingOffscreen): + (WebCore::LayerRendererChromium::getOffscreenLayerTexture): + +2011-01-04 Evan Martin + + Reviewed by Tony Chang. + + [chromium] depend on harfbuzz explicitly + https://bugs.webkit.org/show_bug.cgi?id=51895 + + platform/graphics/chromium uses Harfbuzz directly. Rather than + expecting Skia to adjust the include paths, be explicit about + the dependency. + + * WebCore.gyp/WebCore.gyp: + +2011-01-04 Darin Adler + + Reviewed by Brady Eidson. + + Add back/forward encoding and decoding to WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=51901 + + * WebCore.exp.in: Export functions used in WebKit2. + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers. + (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto. + (WebCore::HistoryItem::decodeBackForwardTree): Ditto. + * history/HistoryItem.h: Ditto. + * platform/network/FormData.cpp: + (WebCore::encode): Ditto. + (WebCore::decode): Ditto. + (WebCore::FormData::encodeForBackForward): Ditto. + (WebCore::FormData::decodeForBackForward): Ditto. + * platform/network/FormData.h: Ditto. + +2011-01-04 Xiaomei Ji + + Reviewed by Dan Bernstein. + + Implement sel.modify('move', 'left'/'right', 'lineBoundary'). + https://bugs.webkit.org/show_bug.cgi?id=33435 + + * editing/SelectionController.cpp: + (WebCore::SelectionController::modifyMovingRight): + (WebCore::SelectionController::modifyMovingLeft): + * editing/visible_units.cpp: + (WebCore::logicalStartOfLine): + (WebCore::logicalEndOfLine): + (WebCore::leftBoundaryOfLine): + (WebCore::rightBoundaryOfLine): + * editing/visible_units.h: + +2011-01-04 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Use the default CSS text input control border width of relying on the GTK+ theme + https://bugs.webkit.org/show_bug.cgi?id=51887 + + Do not rely on the GTK+ theme to determine text control borders. This simplifies + the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and + doesn't break the rendering of any theme that I've encountered. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but + still disable any border radius. + * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the + default style of text areas and text input controls. + * platform/gtk/RenderThemeGtk2.cpp: Ditto. + * platform/gtk/RenderThemeGtk3.cpp: Ditto. + +2011-01-03 Martin Robinson + + Reviewed by Darin Adler. + + Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr + https://bugs.webkit.org/show_bug.cgi?id=51846 + + No new tests. This should not introduce any functional changes. + + Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed + all references to PlatformRefPtr in Brew code to RefPtr. + +2011-01-04 David Kilzer + + Move ResourceLoadPriority.h into WebCore/platform/network + + Reviewed by Antti Koivisto. + + This is needed to prevent a WebCore/platform policy violation in + my next patch. + + * WebCore.gypi: Updated for moved header. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h. + +2011-01-04 Brady Eidson + + Reviewed by a spell checker. + + * storage/StorageMap.h: mesured? Really? + +2011-01-04 Carlos Garcia Campos and Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Port stock icon painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51764 + + Port stock icon painting for media and search input elements to + GtkStyleContext. Also create the initial machinery for accessing + style contexts for all GTK+ 3.x based widgets. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintGdkPixbuf): + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): + (WebCore::RenderThemeGtk::paintMediaButton): + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::getStockIcon): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::styleContextMap): + (WebCore::getStyleContext): + (WebCore::RenderThemeGtk::paintMenuList): + +2010-12-31 Antti Koivisto + + Reviewed by Dave Hyatt. + + Scripts should not be executed before preceding stylesheets are loaded + https://bugs.webkit.org/show_bug.cgi?id=8852 + + Block inline script execution on pending stylesheet loads. This matches + other browsers and HTML5. + + Tests: fast/tokenizer/inline-script-stylesheet-write.html + fast/tokenizer/inline-script-stylesheet.html + + * dom/PendingScript.cpp: + (WebCore::PendingScript::releaseElementAndClear): + * dom/PendingScript.h: + (WebCore::PendingScript::PendingScript): + (WebCore::PendingScript::operator=): + (WebCore::PendingScript::startingPosition): + (WebCore::PendingScript::setStartingPosition): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + + This fixes an unrelated bug with beforeload events that was exposed by the other + changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html). + + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::sourceFromPendingScript): + (WebCore::HTMLScriptRunner::runScript): + +2011-01-04 Xianzhu Wang + + Reviewed by Darin Adler. + + Let DataView.getInt8() and DataView.setInt8() use int8_t instead of + ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure + on ARM. + https://bugs.webkit.org/show_bug.cgi?id=51861 + + By the way, changed other getIntXX() and setIntXX() methods to use + more precise integer types. + + * bindings/js/JSDataViewCustom.cpp: + (WebCore::setDataViewMember): + * bindings/v8/custom/V8DataViewCustom.cpp: + (WebCore::V8DataView::getInt8Callback): + (WebCore::V8DataView::setInt8Callback): + * html/canvas/DataView.cpp: + (WebCore::DataView::getInt8): + (WebCore::DataView::setInt8): + * html/canvas/DataView.h: + * html/canvas/DataView.idl: + +2011-01-04 Yong Li + + Reviewed by Adam Barth. + + Suspend HTMLParserScheduler when page load is deferred to + avoid potential JS re-entrancy. Otherwise, when JS execution is triggered + from an external script or by events, and is blocked by a modal dialog, + WebKit can parse more HTML source and also start another JS execution. + + https://bugs.webkit.org/show_bug.cgi?id=48077 + + Test case: WebCore/manual-tests/bugzilla-48077.html. + + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::suspendScheduledTasks): + (WebCore::DocumentParser::resumeScheduledTasks): + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::suspendScheduledTasks): + (WebCore::HTMLDocumentParser::resumeScheduledTasks): + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + (WebCore::HTMLParserScheduler::suspend): + (WebCore::HTMLParserScheduler::resume): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-01-04 Tony Gentilcore + + Unreviewed build fix. + + Include glib-object.h for GObject + https://bugs.webkit.org/show_bug.cgi?id=51876 + + * bindings/gobject/DOMObjectCache.cpp: + +2011-01-04 Ryosuke Niwa + + Reviewed by Dan Bernstein. + + Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side. + https://bugs.webkit.org/show_bug.cgi?id=50992 + + Fixed the bug by interchanging the offset when the direction of inline text box and the containing block + does not match. Reused the code added by http://trac.webkit.org/changeset/73553. + + Test: editing/selection/caret-bidi-first-and-last-letters.html + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::offsetForPosition): + +2010-12-29 Tony Gentilcore + + Reviewed by Darin Adler. + + Remove 2 unnecessary includes from Document.h + https://bugs.webkit.org/show_bug.cgi?id=51727 + + No new tests because no changed functionality. + + * dom/Document.cpp: + * dom/Document.h: + * editing/Editor.cpp: + * editing/SpellChecker.h: + * editing/SplitTextNodeCommand.cpp: + * editing/TextCheckingHelper.cpp: + * page/FrameView.cpp: + * page/Page.cpp: + * rendering/HitTestResult.cpp: + * rendering/InlineTextBox.cpp: + * rendering/InlineTextBox.h: + * rendering/svg/SVGInlineFlowBox.cpp: + +2011-01-04 Patrick Gansterer + + Unreviewed WinCE build fix. + + * CMakeListsWinCE.txt: Added missing include directories, files and libraries. + +2011-01-04 Yi Shen + + Reviewed by Simon Hausmann. + + Provide an interface to require using fullscreen mediaplayer + https://bugs.webkit.org/show_bug.cgi?id=51133 + + Only video should be displayed in fullscreen when + requiresFullscreenForVideoPlayback is specified. + + No new tests because no client implements requiresFullscreenForVideoPlayback yet. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updatePlayState): + +2011-01-04 Benjamin Poulain + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2 + https://bugs.webkit.org/show_bug.cgi?id=51825 + + Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the + platform independent menu informations. + + * platform/qt/ContextMenuQt.cpp: + (WebCore::contextMenuItemVector): + +2011-01-04 Sheriff Bot + + Unreviewed, rolling out r74960. + http://trac.webkit.org/changeset/74960 + https://bugs.webkit.org/show_bug.cgi?id=51868 + + Rollout since we hit an assert after this patch. (Requested by + krit on #webkit). + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + +2011-01-04 Sheriff Bot + + Unreviewed, rolling out r74961. + http://trac.webkit.org/changeset/74961 + https://bugs.webkit.org/show_bug.cgi?id=51867 + + breaks 32/64-bits debug bots build (Requested by philn-tp on + #webkit). + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::setWindowOverlay): + +2011-01-03 Philippe Normand + + Rubber-stamped by Eric Seidel. + + [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30 + https://bugs.webkit.org/show_bug.cgi?id=51810 + + Based on a patch by Mart Raudsepp. + + No new tests, build fix only. + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay + API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was + introduced in same version as the xoverlay API change. + +2011-01-04 Leo Yang + + Reviewed by Dirk Schulze. + + Malformed SVG causes crash in updateContainerOffset + https://bugs.webkit.org/show_bug.cgi?id=44610 + + We should check recursive at the begining of + WebCore::SVGUseElement::buildInstanceTree instead + of at the end of it because the target element's + children may cause infinite recursive . + + Test: svg/custom/recursive-use.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + +2011-01-04 Kent Tamura + + Unreviewed, build fix. + + Try to fix Clang build. + + * css/CSSParser.cpp: + (WebCore::valueFromSideKeyword): + (WebCore::CSSParser::parseLinearGradient): + +2011-01-03 Julie-Jeongeun-Kim + + Reviewed by Darin Adler. + + HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml + https://bugs.webkit.org/show_bug.cgi?id=48596 + + border attribute was not parsed in HTMLObjectElement. + I added code for it as HTMLImageElement handled. + + new test:fast/html/object-border.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parseMappedAttribute): + +2011-01-03 Darin Adler + + Try to fix Chromium build. + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here. + Not sure this ever will be used with V8. + (WebCore::HistoryItem::decodeBackForwardTree): Ditto. + +2011-01-03 Darin Adler + + Try to fix Leopard build. + + * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the + size variable. + +2011-01-03 Abhishek Arya + + Reviewed by Darin Adler. + + Fixes before child calculation when adding anonymous childs to table parts. + https://bugs.webkit.org/show_bug.cgi?id=50932 + + Fix in r74364 was incomplete. When before child is equal to the table part(to + which the new child is getting added), it confuses the table part to add it + incorrectly as an after child. The patch fixes by passing the before child as + the table part's first child. + + Tests: fast/css-generated-content/table-before-after-child-add.html + fast/css-generated-content/table-cell-before-after-child-add.html + fast/css-generated-content/table-row-before-after-child-add.html + fast/css-generated-content/table-row-before-after-child-add.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): + +2011-01-03 Dan Bernstein + + Reviewed by Simon Fraser. + + Shrink HTMLTableCellElement + https://bugs.webkit.org/show_bug.cgi?id=51858 + + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and + m_col. + * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors. + +2011-01-03 Darin Adler + + Fix build. + + * platform/network/FormData.cpp: + (WebCore::FormData::create): Roll back uint8_t change. + (WebCore::FormData::flatten): Ditto. + (WebCore::FormData::flattenToString): Ditto. + (WebCore::encode): Ditto. + (WebCore::decode): Ditto. + (WebCore::FormData::encodeForBackForward): + * platform/network/FormData.h: Ditto. + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::advanceCurrentStream): Ditto. + +2011-01-03 Darin Adler + + Reviewed by Brady Eidson. + + Add code to encode/decode the back/forward tree + https://bugs.webkit.org/show_bug.cgi?id=51853 + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::encodeBackForwardTree): Added. + (WebCore::HistoryItem::encodeBackForwardTreeNode): Added. + (WebCore::HistoryItem::decodeBackForwardTree): Added. + * history/HistoryItem.h: Added functions above. + + * platform/network/FormData.cpp: + (WebCore::FormData::create): Changed type to Vector instead of + Vector. This type is used in our newer code for vectors of bytes. + (WebCore::FormData::flatten): Ditto. + (WebCore::FormData::flattenToString): Ditto. Had to add a cast here. + (WebCore::FormData::encodeForBackForward): Added. + (WebCore::FormData::decodeForBackForward): Added. + * platform/network/FormData.h: Changed type to Vector instead of + Vector. Also made some single-argument constructors explicit. + Also added the new functions. + + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::advanceCurrentStream): Changed to use uint8_t to match above. + +2011-01-03 Simon Fraser + + Attempt to fix GTK build. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::drawGlyphsShadow): + +2011-01-03 Helder Correia + + Reviewed by Simon Fraser. + + ContextShadow can avoid code duplication for getting the CTM + https://bugs.webkit.org/show_bug.cgi?id=51799 + + ContextShadow defines its own getTransformationMatrixFromContext() + which does exactly the same as GraphicsContext::getCTM(). + + Existing tests: fast/canvas/canvas*shadow*html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::mustUseContextShadow): + (WebCore::ContextShadow::adjustBlurDistance): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + (WebCore::ContextShadow::drawRectShadowWithoutTiling): + * platform/graphics/cairo/FontCairo.cpp: + (WebCore::drawGlyphsShadow): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawPathShadow): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::drawGlyphsShadow): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/FontQt.cpp: + (WebCore::drawTextCommon): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2011-01-03 Darin Adler + + Reviewed by Dan Bernstein. + + InsertTextCommand::m_charactersAdded is unused + https://bugs.webkit.org/show_bug.cgi?id=51849 + + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded. + (WebCore::InsertTextCommand::input): Don't update m_charactersAdded. + * editing/InsertTextCommand.h: Removed charactersAdded function and + m_charactersAdded data member. + +2011-01-03 Carlos Garcia Campos + + Reviewed by Martin Robinson. + + [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=51832 + + Method paintMenuListButton() contains code common to both gtk 2 + and 3, so it can be moved to RenderThemeGtk.cpp instead of + duplicating it. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintMenuListButton): + * platform/gtk/RenderThemeGtk2.cpp: + * platform/gtk/RenderThemeGtk3.cpp: + +2011-01-03 Pratik Solanki + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=51850 + Put CFNetwork loader code inside USE(CFNETWORK) + + Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork + files to the WebCore Xcode project. + + * WebCore.xcodeproj/project.pbxproj: + * loader/cf/ResourceLoaderCFNet.cpp: + * loader/mac/ResourceLoaderMac.mm: + * platform/network/cf/AuthenticationCF.cpp: + * platform/network/cf/AuthenticationCF.h: + * platform/network/cf/CookieJarCFNet.cpp: + * platform/network/cf/CookieStorageCFNet.cpp: + * platform/network/cf/CookieStorageCFNet.h: + * platform/network/cf/CredentialStorageCFNet.cpp: + * platform/network/cf/FormDataStreamCFNet.cpp: + * platform/network/cf/FormDataStreamCFNet.h: + * platform/network/cf/LoaderRunLoopCF.cpp: + * platform/network/cf/LoaderRunLoopCF.h: + * platform/network/cf/ResourceError.h: + * platform/network/cf/ResourceHandleCFNet.cpp: + * platform/network/cf/ResourceRequest.h: + * platform/network/cf/ResourceRequestCFNet.cpp: + * platform/network/cf/ResourceRequestCFNet.h: + * platform/network/cf/ResourceResponse.h: + * platform/network/cf/ResourceResponseCFNet.cpp: + * platform/network/mac/AuthenticationMac.h: + * platform/network/mac/AuthenticationMac.mm: + * platform/network/mac/FormDataStreamMac.h: + * platform/network/mac/FormDataStreamMac.mm: + * platform/network/mac/ResourceError.h: + * platform/network/mac/ResourceHandleMac.mm: + * platform/network/mac/ResourceRequest.h: + * platform/network/mac/ResourceRequestMac.mm: + * platform/network/mac/ResourceResponse.h: + * platform/network/mac/ResourceResponseMac.mm: + +2011-01-03 Yi Shen + + Reviewed by Adam Barth. + + [Qt] Add SelectAll option to the context menu for the editor + https://bugs.webkit.org/show_bug.cgi?id=50049 + + Enable SelectAll for the Qt context menu. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::populate): + * platform/ContextMenuItem.h: + * platform/LocalizationStrategy.h: + * platform/LocalizedStrings.cpp: + (WebCore::contextMenuItemTagSelectAll): + * platform/LocalizedStrings.h: + +2011-01-03 Dan Bernstein + + Reviewed by Darin Adler. + + Shrink RootInlineBox + https://bugs.webkit.org/show_bug.cgi?id=51847 + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType() + accessor. + * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to + unsigned because otherwise MSVC treats it as signed. + (WebCore::RootInlineBox::baselineType): Added a cast. + +2011-01-03 Gustavo Noronha Silva + + Reviewed by Martin Robinson. + + [GTK] Split webkitprivate.{cpp,h} in more manageable chunks + https://bugs.webkit.org/show_bug.cgi?id=50698 + + Fix DOM bindings generation to no longer include the now-gone + webkitprivate.h header, including the appropriate replacements + instead. + + * bindings/scripts/CodeGeneratorGObject.pm: + +2011-01-03 Brady Eidson + + Reviewed by Darin Adler. + + Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2. + + * ForwardingHeaders/wtf/Decoder.h: Added. + * ForwardingHeaders/wtf/Encoder.h: Added. + +2011-01-03 Chris Fleizach + + Reviewed by Darin Adler. + + AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation + https://bugs.webkit.org/show_bug.cgi?id=51833 + + Make sure the web area returns the contentsSize, not the same size as what is displayed. + + Test: platform/mac/accessibility/webarea-size-equals-content-size.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::boundingBoxRect): + +2011-01-03 Simon Fraser + + Fix warning in 32-bit builds. + + * css/CSSGradientValue.cpp: + (WebCore::CSSLinearGradientValue::createGradient): + +2011-01-03 Benjamin C Meyer + + Reviewed by Daniel Bates. + + In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block. + https://bugs.webkit.org/show_bug.cgi?id=51827 + + * CMakeLists.txt: + +2011-01-03 Dan Bernstein + + Reviewed by Simon Fraser. + + Remove the unused RenderTableCell::m_percentageHeight + https://bugs.webkit.org/show_bug.cgi?id=51837 + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight. + * rendering/RenderTableCell.h: Removed m_percentageHeight. + +2011-01-03 Simon Fraser + + Reviewed by David Hyatt. + + Implement -webkit-linear-gradient and -webkit-radial-gradient + https://bugs.webkit.org/show_bug.cgi?id=28152 + + Add support for -webkit-radial-gradients. + + Tests: fast/gradients/css3-radial-gradients.html + fast/gradients/css3-radial-gradients2.html + + * css/CSSGradientValue.cpp: + (WebCore::blend): Used to blend colors, which is necessary when truncating + the start of radial gradients. + (WebCore::GradientStop): Small struct to aid gradient stop processing. + (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store + the color so that we can blend it when truncating radial gradients. Changed + to handle both linear and radial gradients. + (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec. + (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change. + (WebCore::distanceToClosestCorner): New utility method. + (WebCore::distanceToFarthestCorner): Ditto. + (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and + fill rules. + + * css/CSSGradientValue.h: + (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what + kind of gradient it's dealing with, so add new isFooGradient methods. + (WebCore::CSSGradientValue::isRadialGradient): Ditto. + (WebCore::CSSLinearGradientValue::isLinearGradient): + (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc. + (WebCore::CSSRadialGradientValue::setSizingBehavior): + (WebCore::CSSRadialGradientValue::setEndHorizontalSize): + (WebCore::CSSRadialGradientValue::setEndVerticalSize): + (WebCore::CSSRadialGradientValue::isRadialGradient): + + * css/CSSParser.h: + * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition() + so we can use parseFillPosition() when parsing a gradient function. + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList* + (WebCore::CSSParser::parseFillPosition): Ditto + (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition. + (WebCore::CSSParser::parseTransformOriginShorthand): Ditto + (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing. + (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition. + (WebCore::CSSParser::parsePerspectiveOrigin): Ditto + + * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors. + + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients. + * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients. + (WebCore::Gradient::create): + (WebCore::Gradient::startRadius): Expose radii. + (WebCore::Gradient::endRadius): + (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops. + (WebCore::Gradient::setEndRadius): + (WebCore::Gradient::aspectRatio): + * platform/graphics/cg/GradientCG.cpp: + (WebCore::Gradient::paint): For elliptical gradients, scale the CTM. + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1(). + +2011-01-03 Simon Fraser + + Reviewed by David Hyatt. + + Implement -webkit-linear-gradient and -webkit-radial-gradient + https://bugs.webkit.org/show_bug.cgi?id=28152 + + Add support for the parsing and rendering of non-repeating CSS3 linear gradients, + according to . + + Tests: fast/gradients/css3-color-stop-units.html + fast/gradients/css3-color-stops.html + fast/gradients/css3-gradient-parsing.html + fast/gradients/css3-linear-angle-gradients.html + + * css/CSSGradientValue.h: + Add subclasses of CSSGradientValue for linear and radial gradients. + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache + the gradient sometimes. + (WebCore::compareStops): positions are CSSValues now. + (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called + for old-style gradients. + (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about + missing positions, ensuring that stop position is ordered, and spacing out stops + without positions. Also normalize gradients which use stops outside the 0-1 range + so that platforms can render them correctly. + (WebCore::positionFromValue): Determin the position on the gradient line for percentage, + number and length values. + (WebCore::CSSGradientValue::computeEndPoint): + (WebCore::CSSLinearGradientValue::cssText): + (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle + given an angle. + (WebCore::CSSLinearGradientValue::createGradient): + (WebCore::CSSRadialGradientValue::cssText): + (WebCore::CSSRadialGradientValue::resolveRadius): + (WebCore::CSSRadialGradientValue::createGradient): + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Style fix. + (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage() + (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage() + (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage() + (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient. + (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient, + and fixed to store CSSValues for the stop position. + (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient, + and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate. + (WebCore::valueFromSideKeyword): + (WebCore::parseGradientColorOrKeyword): Color parsing utility. + (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients. + (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients. + (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas. + (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients + and CSS canvas. + * css/CSSParser.h: + * platform/graphics/Gradient.h: + (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients. + (WebCore::Gradient::setP1): Ditto. + +2011-01-03 Noam Rosenthal + + Reviewed by Andreas Kling. + + [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget + https://bugs.webkit.org/show_bug.cgi?id=51464 + + Added a way to bind any QObject created as a plugin to JavaScript, + by adding a custom member (qtObject) to WebCore::Widget. + Added a test to tst_qwebpage to make sure plugins created + as QGraphicsWidget are accessible through JavaScript. + + * bindings/js/ScriptControllerQt.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * platform/Widget.h: + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::setBindingObject): + (WebCore::Widget::bindingObject): + +2011-01-03 David Hyatt + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=51328 + + Printing on a page with body { height: 100% } clips out the overflow contents. This happened + because the computePageRects function was never correct. It was using the layer's width and height + for the document's width and height, and the layer no longer includes overflow in its width and + height. It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid + assumption in RTL or vertical text environments. + + Added printing/page-count-percentage-height.html + + * page/PrintContext.cpp: + (WebCore::PrintContext::computePageRects): + (WebCore::PrintContext::computePageRectsWithPageSizeInternal): + +2011-01-03 Csaba Osztrogonác + + [Qt] Unreviewed buildfix for --minimal build after r74895. + + * html/InputType.cpp: Missing include added. + * html/NumberInputType.cpp: Missing include added. + +2011-01-02 Darin Adler + + Reviewed by Kent Tamura. + + Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming + https://bugs.webkit.org/show_bug.cgi?id=51791 + + * dom/InputElement.h: Make sanitizeValueForTextField public so it can + be called by InputType. + + * html/BaseButtonInputType.cpp: + (WebCore::BaseButtonInputType::accessKeyAction): Added. + (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added. + * html/BaseButtonInputType.h: Ditto. + + * html/BaseCheckableInputType.cpp: + (WebCore::BaseCheckableInputType::canSetStringValue): Added. + (WebCore::BaseCheckableInputType::accessKeyAction): Added. + (WebCore::BaseCheckableInputType::fallbackValue): Added. + (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added. + (WebCore::BaseCheckableInputType::isCheckable): Added. + * html/BaseCheckableInputType.h: Ditto. + + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added. + * html/BaseDateAndTimeInputType.h: Ditto. + + * html/BaseTextInputType.h: Made more functions private. + + * html/ButtonInputType.cpp: + (WebCore::ButtonInputType::isTextButton): Added. + * html/ButtonInputType.h: Ditto. + + * html/CheckboxInputType.cpp: + (WebCore::CheckboxInputType::willDispatchClick): Added. + (WebCore::CheckboxInputType::didDispatchClick): Added. + (WebCore::CheckboxInputType::isCheckbox): Added. + * html/CheckboxInputType.h: Ditto. + + * html/DateTimeInputType.cpp: + (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed + typo in name of this function. + * html/DateTimeInputType.h: Ditto. + * html/DateTimeLocalInputType.cpp: + (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto. + * html/DateTimeLocalInputType.h: Ditto. + + * html/EmailInputType.cpp: + (WebCore::EmailInputType::isEmailField): Added. + * html/EmailInputType.h: Ditto. + + * html/FileInputType.cpp: + (WebCore::FileInputType::FileInputType): Added. + (WebCore::FileInputType::canSetStringValue): Added. + (WebCore::FileInputType::canChangeFromAnotherType): Added. + (WebCore::FileInputType::files): Added. + (WebCore::FileInputType::canSetValue): Added. + (WebCore::FileInputType::getTypeSpecificValue): Added. + (WebCore::FileInputType::storesValueSeparateFromAttribute): Added. + (WebCore::FileInputType::setFileList): Added. + (WebCore::FileInputType::isFileUpload): Added. + * html/FileInputType.h: Ditto. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member + renaming and removal. + (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue + instead of checking specific type numbers. + (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces): + Use fastGetAttribute and fixed typo in the name of the + scaledStepValueShouldBeInteger function. + (WebCore::HTMLInputElement::isKeyboardFocusable): Call + InputType::isKeyboardFocusable; moved most of the type-specific + logic there. + (WebCore::HTMLInputElement::shouldUseInputMethod): Call + InputType::shouldUseInputMethod; moved the type-specific logic there. + (WebCore::HTMLInputElement::handleBlurEvent): Call + InputType::handleBlurEvent; moved the type-specific logic there. + (WebCore::HTMLInputElement::setType): Tweak the names and types + in this function. + (WebCore::HTMLInputElement::updateType): Removed the code that + set m_deprecatedTypeNumber. Compare types by comparing the value + from formControlType. Removed file-specific logic and instead call + InputType::canChangeFromAnotherType. Streamlined the logic for + activation callbacks. + (WebCore::HTMLInputElement::accessKeyAction): Call + InputType::accessKeyAction; moved the type-specific logic there. + (WebCore::HTMLInputElement::mapToEntry): Call + InputType::shouldRespectHeightAndWidthAttributes and + InputType::shouldRespectAlignAttribute. + (WebCore::HTMLInputElement::parseMappedAttribute): Updated + for name changes and the removal of m_defaultChecked. Changed the + alt attribute logic to be based on the class of the renderer. + Call InputType::srcAttributeChanged and moved the type-specific + logic there. Call shouldRespectAlignAttribute and + shouldRespectHeightAndWidthAttributes rather than having + type-specific logic here. Call minOrMaxAttributeChanged. + (WebCore::HTMLInputElement::rendererIsNeeded): Call + InputType::rendererIsNeeded; moved the type-specific logic there. + (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited + flag, which was redundant with the m_haveType flag. Call + InputType::attach; moved the type-specific logic there. + (WebCore::HTMLInputElement::altText): Use fastGetAttribute. + (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call + InputType::canBeSuccessfulSubmitButton; moved the type-specific + logic there. + (WebCore::HTMLInputElement::isActivatedSubmit): Updated for + name changes. + (WebCore::HTMLInputElement::setActivatedSubmit): Ditto. + (WebCore::HTMLInputElement::reset): Updated to use + InputType::storesValueSeparateFromAttribute. Also use + hasAttribute(checkedAttr) rather than m_defaultChecked, + since both are the same. Also updated for name change. + (WebCore::HTMLInputElement::setChecked): Updated for name + changes. Also added call to + InputType::shouldSendChangeEventAfterCheckedChanged and + moved the type-specific logic there. + (WebCore::HTMLInputElement::setIndeterminate): Call + isCheckable to see if indeterminate is allowed. + Also updated for name changes. + (WebCore::HTMLInputElement::copyNonAttributeProperties): + Updated for name changes and removed data members. + (WebCore::HTMLInputElement::value): Call + InputType::getTypeSpecificValue and InputType::fallbackValue. + Moved the type-specific logic there. + (WebCore::HTMLInputElement::valueWithDefault): Call + InputType::defaultValue. Moved the type-specific logic there. + (WebCore::HTMLInputElement::setSuggestedValue): Call + InputType::canSetSuggestedValue. Moved the type-specific logic + there. + (WebCore::HTMLInputElement::setValue): Call + InputType::canSetValue. Moved the type-specific logic there. + Clear the file list if it exists rather than checking the + type explicitly. We could probably do that a more elegant way. + (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute. + (WebCore::HTMLInputElement::setValueFromRenderer): Use the + isFileUpload function in the assertion. + (WebCore::HTMLInputElement::setFileListFromRenderer): Put most + of the code from this function into FileInputType::setFileList. + (WebCore::HTMLInputElement::preDispatchEventHandler): Changed + to call InputType::willDispatchClick, which does the type-specific + work. Still need to use a single struct for all types, because + the type of the element could change during the event handling. + (WebCore::HTMLInputElement::postDispatchEventHandler): Changed + to call InputType::didDispatchClick. + (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute. + (WebCore::HTMLInputElement::accept): Use fastGetAttribute. + (WebCore::HTMLInputElement::alt): Use fastGetAttribute. + (WebCore::HTMLInputElement::src): Use fastGetAttribute. + (WebCore::HTMLInputElement::setAutofilled): Updated for name + changes. + (WebCore::HTMLInputElement::files): Use InputType::files. + (WebCore::HTMLInputElement::isAcceptableValue): Use + InputType::isAcceptableValue. + (WebCore::HTMLInputElement::sanitizeValue): Use + InputType::sanitizeValue. + (WebCore::HTMLInputElement::hasUnacceptableValue): Use + InputType::hasUnacceptableValue. + (WebCore::HTMLInputElement::needsActivationCallback): Use + InputType::shouldResetOnDocumentActivation. + (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use + InputType::willMoveToNewOwnerDocument. + (WebCore::HTMLInputElement::dataList): Use + InputType::shouldRespectListAttribute. + (WebCore::HTMLInputElement::selectedOption): Tweaked logic + and naming a bit. + (WebCore::HTMLInputElement::stepUpFromRenderer): Use + fastGetAttribute. + (WebCore::HTMLInputElement::isSpeechEnabled): Use + InputType::shouldRespectSpeechAttribute. + (WebCore::HTMLInputElement::isTextButton): No longer inline. + Calls through to InputType. + (WebCore::HTMLInputElement::isRadioButton): Ditto. + (WebCore::HTMLInputElement::isSearchField): Ditto. + (WebCore::HTMLInputElement::isInputTypeHidden): Ditto. + (WebCore::HTMLInputElement::isPasswordField): Ditto. + (WebCore::HTMLInputElement::isCheckbox): Ditto. + (WebCore::HTMLInputElement::isText): Ditto. + (WebCore::HTMLInputElement::isEmailField): Ditto. + (WebCore::HTMLInputElement::isFileUpload): Ditto. + (WebCore::HTMLInputElement::isImageButton): Ditto. + (WebCore::HTMLInputElement::isNumberField): Ditto. + (WebCore::HTMLInputElement::isSubmitButton): Ditto. + (WebCore::HTMLInputElement::isTelephoneField): Ditto. + (WebCore::HTMLInputElement::isURLField): Ditto. + (WebCore::HTMLInputElement::isEnumeratable): Ditto. + (WebCore::HTMLInputElement::isChecked): No longer inline. + Calls InputType::isCheckable. + (WebCore::HTMLInputElement::hasSpinButton): No longer inline. + Calls through to InputType. + (WebCore::HTMLInputElement::supportsPlaceholder): No longer + inline. Calls isTextType as before, but with no special case + for ISINDEX. That special case was unneeded since it returns + true from isTextType. + (WebCore::HTMLInputElement::checkedRadioButtons): No longer + inline. + (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): + No longer inline. + + * html/HTMLInputElement.h: Removed multiple unneeded includes. + The big one is probably InputType.h, but also HTMLFormElement.h. + Removed unneeded forward declarations. Made many functions + no longer inline since they now need to make virtual function + dispatches. Removed the unneeded defaultChecked and + webkitdirectory functions. Both are handled by HTML attribute + reflection for DOM bindings, and the callers instead can get + at the attribute. Made updateCheckedRadioButtons public so it + can be called by an InputType class. Removed + DeprecatedInputType, InputTypeMap, createTypeMap, + deprecatedInputType, allowsIndeterminate, + respectHeightAndWidthAttrs, storesValueSeparateFromAttribute, + m_imageLoader, m_fileList, m_deprecatedTypeNumber, + m_defaultChecked, and m_inited. Renamed m_checked to + m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute, + m_indeterminate tom_isIndeterminate, m_haveType to m_hasType, + m_activeSubmit to m_isActivatedSubmit, and m_autofilled to + m_isAutofilled. + + * html/HiddenInputType.cpp: + (WebCore::HiddenInputType::accessKeyAction): Added. + (WebCore::HiddenInputType::rendererIsNeeded) Added.: + (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added. + (WebCore::HiddenInputType::isHiddenType): Added. + (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added. + * html/HiddenInputType.h: Ditto. + + * html/ImageInputType.cpp: + (WebCore::ImageInputType::ImageInputType): Moved out of the header file. + (WebCore::ImageInputType::srcAttributeChanged): Added. + (WebCore::ImageInputType::attach): Added. + (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added. + (WebCore::ImageInputType::shouldRespectAlignAttribute): Added. + (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added. + (WebCore::ImageInputType::isImageButton): Added. + (WebCore::ImageInputType::isEnumeratable): Added. + (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added. + * html/ImageInputType.h: Ditto. + + * html/InputType.cpp: + (WebCore::InputType::create): Changed argument type to String. There + is no value in taking an AtomicString here. + (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in + this function name. + (WebCore::InputType::canSetStringValue): Added. + (WebCore::InputType::isKeyboardFocusable): Added. + (WebCore::InputType::shouldUseInputMethod): Added. + (WebCore::InputType::handleBlurEvent): Added. + (WebCore::InputType::accessKeyAction): Added. + (WebCore::InputType::attach): Added. + (WebCore::InputType::srcAttributeChanged): Added. + (WebCore::InputType::willMoveToNewOwnerDocument): Added. + (WebCore::InputType::shouldRespectAlignAttribute): Added. + (WebCore::InputType::canChangeFromAnotherType): Added. + (WebCore::InputType::minOrMaxAttributeChanged): Added. + (WebCore::InputType::canBeSuccessfulSubmitButton): Added. + (WebCore::InputType::rendererIsNeeded): Added. + (WebCore::InputType::files): Added. + (WebCore::InputType::getTypeSpecificValue): Added. + (WebCore::InputType::fallbackValue): Added. + (WebCore::InputType::defaultValue): Added. + (WebCore::InputType::canSetSuggestedValue): Added. + (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added. + (WebCore::InputType::storesValueSeparateFromAttribute): Added. + (WebCore::InputType::canSetValue): Added. + (WebCore::InputType::willDispatchClick): Added. + (WebCore::InputType::didDispatchClick): Added. + (WebCore::InputType::isAcceptableValue): Added. + (WebCore::InputType::sanitizeValue): Added. + (WebCore::InputType::hasUnacceptableValue): Added. + (WebCore::InputType::setFileList): Added. + (WebCore::InputType::shouldResetOnDocumentActivation): Added. + (WebCore::InputType::shouldRespectListAttribute): Added. + (WebCore::InputType::shouldRespectSpeechAttribute): Added. + (WebCore::InputType::isTextButton): Added. + (WebCore::InputType::isRadioButton): Added. + (WebCore::InputType::isSearchField): Added. + (WebCore::InputType::isHiddenType): Added. + (WebCore::InputType::isPasswordField): Added. + (WebCore::InputType::isCheckbox): Added. + (WebCore::InputType::isEmailField): Added. + (WebCore::InputType::isFileUpload): Added. + (WebCore::InputType::isImageButton): Added. + (WebCore::InputType::isNumberField): Added. + (WebCore::InputType::isSubmitButton): Added. + (WebCore::InputType::isTelephoneField): Added. + (WebCore::InputType::isURLField): Added. + (WebCore::InputType::isEnumeratable): Added. + (WebCore::InputType::isCheckable): Added. + (WebCore::InputType::hasSpinButton): Added. + (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added. + + * html/InputType.h: Removed unneeded ExceptionCode.h include and + used a typedef instead as we do when we want for forward declare it. + Added includes and forward declarations needed for new functions. + Added ClickHandlingState structure. Changed the argument to create + to a String rather than AtomicString. Added many virtual functions. + + * html/IsIndexInputType.cpp: + (WebCore::IsIndexInputType::shouldRespectListAttribute): Added. + * html/IsIndexInputType.h: Ditto. + + * html/NumberInputType.cpp: + (WebCore::NumberInputType::handleBlurEvent): Added. + (WebCore::NumberInputType::isAcceptableValue): Added. + (WebCore::NumberInputType::sanitizeValue): Added. + (WebCore::NumberInputType::hasUnacceptableValue): Added. + (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added. + (WebCore::NumberInputType::isNumberField): Added. + (WebCore::NumberInputType::hasSpinButton): Added. + * html/NumberInputType.h: Ditto. + + * html/PasswordInputType.cpp: + (WebCore::PasswordInputType::shouldUseInputMethod): Added. + (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added. + (WebCore::PasswordInputType::shouldRespectListAttribute): Added. + (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added. + (WebCore::PasswordInputType::isPasswordField): Added. + * html/PasswordInputType.h: Ditto. + + * html/RadioInputType.cpp: + (WebCore::RadioInputType::isKeyboardFocusable): Added. + (WebCore::RadioInputType::attach): Added. + (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added. + (WebCore::RadioInputType::willDispatchClick): Added. + (WebCore::RadioInputType::didDispatchClick): Added. + (WebCore::RadioInputType::isRadioButton): Added. + * html/RadioInputType.h: Ditto. + + * html/RangeInputType.cpp: + (WebCore::RangeInputType::accessKeyAction): Added. + (WebCore::RangeInputType::minOrMaxAttributeChanged): Added. + (WebCore::RangeInputType::fallbackValue): Added. + (WebCore::RangeInputType::sanitizeValue): Added. + (WebCore::RangeInputType::shouldRespectListAttribute): Added. + * html/RangeInputType.h: Ditto. + + * html/ResetInputType.cpp: + (WebCore::ResetInputType::defaultValue): Added. + (WebCore::ResetInputType::isTextButton): Added. + * html/ResetInputType.h: Ditto. + + * html/SearchInputType.cpp: + (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added. + (WebCore::SearchInputType::isSearchField): Added. + * html/SearchInputType.h: Ditto. + + * html/SubmitInputType.cpp: + (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added. + (WebCore::SubmitInputType::defaultValue): Added. + (WebCore::SubmitInputType::isSubmitButton): Added. + (WebCore::SubmitInputType::isTextButton): Added. + * html/SubmitInputType.h: Ditto. + + * html/TelephoneInputType.cpp: + (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added. + (WebCore::TelephoneInputType::isTelephoneField): Added. + * html/TelephoneInputType.h: Ditto. + + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::shouldUseInputMethod): Added. + (WebCore::TextFieldInputType::sanitizeValue): Added. + (WebCore::TextFieldInputType::shouldRespectListAttribute): Added. + * html/TextFieldInputType.h: Ditto. + + * html/TextInputType.cpp: + (WebCore::TextInputType::canSetSuggestedValue): Added. + (WebCore::TextInputType::shouldRespectSpeechAttribute): Added. + * html/TextInputType.h: Ditto. + + * html/TimeInputType.cpp: + (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed + typo in the name of this function. + * html/TimeInputType.h: Ditto. + + * html/URLInputType.cpp: + (WebCore::URLInputType::isURLField): Added. + * html/URLInputType.h: Ditto. + +2011-01-03 Mihai Parparita + + Unreviewed. + + NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same + https://bugs.webkit.org/show_bug.cgi?id=51151 + + Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering, + so that it can match Safari's (and thus use the same baselines). + + No new tests, should be covered by layout tests (which will need + expectation changes) + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + +2011-01-03 Antonio Gomes + + Unreviewed build fix for WebKit/Gtk+. + + RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be + guarded by ENABLE(VIDEO), as it is in its header. + + No new tests. + + * platform/gtk/RenderThemeGtk2.cpp: + +2011-01-02 Dan Bernstein + + Rubber-stamped by Simon Fraser. + + Update copyright strings + + * Info.plist: + +2011-01-02 Dan Bernstein + + Reviewed by Sam Weinig. + + REGRESSION (r73337): Incorrect text match count when a match occurs in a text field + https://bugs.webkit.org/show_bug.cgi?id=51623 + + * editing/Editor.cpp: + (WebCore::Editor::countMatchesForText): Actually remember the original search range end + container and offset and restore them when needed, instead of using two references to the + same Range. + * manual-tests/find-count-matches-after-text-control.html: Added. + +2011-01-02 Benjamin Poulain + + Reviewed by Csaba Osztrogonác. + + WebKit 2 does not build on 64bits with a recent GCC + https://bugs.webkit.org/show_bug.cgi?id=51754 + + Use explicitely 64 bits types for the attributes of DatabaseDetails. + + * storage/DatabaseDetails.h: + (WebCore::DatabaseDetails::expectedUsage): + (WebCore::DatabaseDetails::currentUsage): + +2011-01-02 Patrick Gansterer + + Unreviewed WinCE build fix for r74868. + + * platform/graphics/wince/ImageBufferWinCE.cpp: + (WebCore::getImageData): + +2011-01-02 Sheriff Bot + + Unreviewed, rolling out r74847. + http://trac.webkit.org/changeset/74847 + https://bugs.webkit.org/show_bug.cgi?id=51803 + + "Preprocessor guards should be in header files" (Requested by + ap on #webkit). + + * bindings/js/JSDOMWindowBase.cpp: + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + * html/HTMLDocument.cpp: + * loader/FrameLoader.cpp: + * loader/ResourceLoadNotifier.cpp: + * page/Chrome.cpp: + * page/Console.cpp: + * page/ContextMenuController.cpp: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchEvent): + * page/EventHandler.cpp: + * page/Page.cpp: + * storage/Database.cpp: + * workers/AbstractWorker.cpp: + * workers/DefaultSharedWorkerRepository.cpp: + * workers/SharedWorker.cpp: + * workers/Worker.cpp: + * workers/WorkerContext.cpp: + * workers/WorkerMessagingProxy.cpp: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::callReadyStateChangeListener): + +2011-01-02 Patrick Gansterer + + [CMake] Unreviewed build fix. + + * CMakeLists.txt: + +2011-01-02 Dirk Schulze + + Reviewed by Simon Fraser. + + Clarify ImageBuffer and ImageData relationship + https://bugs.webkit.org/show_bug.cgi?id=51297 + + Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code, + since this was a layering violation, and replaced it by ByteArray. + + No change of functionality, so no new test added. + + * html/ImageData.cpp: + (WebCore::ImageData::create): + (WebCore::ImageData::ImageData): + * html/ImageData.h: Added new constructor with ByteArray input. + (WebCore::ImageData::width): + (WebCore::ImageData::height): + (WebCore::ImageData::data): + * html/canvas/CanvasPixelArray.cpp: + (WebCore::CanvasPixelArray::create): + (WebCore::CanvasPixelArray::CanvasPixelArray): + * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas. + (WebCore::CanvasPixelArray::data): + (WebCore::CanvasPixelArray::length): + (WebCore::CanvasPixelArray::set): + (WebCore::CanvasPixelArray::get): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::getImageData): + (WebCore::CanvasRenderingContext2D::putImageData): + * platform/graphics/ImageBuffer.h: + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/filters/FEBlend.cpp: + (WebCore::FEBlend::apply): + * platform/graphics/filters/FEColorMatrix.cpp: + (WebCore::FEColorMatrix::apply): + * platform/graphics/filters/FEComponentTransfer.cpp: + (WebCore::FEComponentTransfer::apply): + * platform/graphics/filters/FEComposite.cpp: + (WebCore::FEComposite::apply): + * platform/graphics/filters/FEConvolveMatrix.cpp: + (WebCore::setDestinationPixels): + (WebCore::FEConvolveMatrix::apply): + * platform/graphics/filters/FEConvolveMatrix.h: + * platform/graphics/filters/FEDisplacementMap.cpp: + (WebCore::FEDisplacementMap::apply): + * platform/graphics/filters/FEGaussianBlur.cpp: + (WebCore::FEGaussianBlur::apply): + * platform/graphics/filters/FELighting.cpp: + (WebCore::FELighting::apply): + * platform/graphics/filters/FEMorphology.cpp: + (WebCore::FEMorphology::apply): + * platform/graphics/filters/FETurbulence.cpp: + (WebCore::FETurbulence::apply): + * platform/graphics/filters/FilterEffect.cpp: + (WebCore::FilterEffect::asImageBuffer): + (WebCore::FilterEffect::asUnmultipliedImage): + (WebCore::FilterEffect::asPremultipliedImage): + (WebCore::FilterEffect::copyImageBytes): + (WebCore::FilterEffect::copyUnmultipliedImage): + (WebCore::FilterEffect::copyPremultipliedImage): + (WebCore::FilterEffect::createUnmultipliedImageResult): + (WebCore::FilterEffect::createPremultipliedImageResult): + * platform/graphics/filters/FilterEffect.h: + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/wince/ImageBufferWinCE.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/wx/ImageBufferWx.cpp: + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * rendering/RenderSVGResourceMasker.cpp: + (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): + +2011-01-01 Adam Barth + + Reviewed by Eric Seidel. + + Move JavaScriptCore to Source + https://bugs.webkit.org/show_bug.cgi?id=51604 + + Update references to JavaScriptCore. + + * Android.derived.jscbindings.mk: + * Android.v8bindings.mk: + * CMakeLists.txt: + * WebCore.gyp/WebCore.gyp: + * WebCore.pro: + - These changes are subtle and might not be 100% correct. + * move-js-headers.sh: + +2011-01-01 Adam Barth + + Reviewed by Eric Seidel. + + forbid sandboxed frames to call top.close() when allow-same-origin is not setted + https://bugs.webkit.org/show_bug.cgi?id=38340 + + We now pass the ScriptExecutionContext to window.close so it can find + the Frame and check whether navigation is allowed. This check will + almost always pass because you can only close top-level frames, but the + check will fail when the calling script is sandboxed. + + Tests: fast/frames/sandboxed-iframe-close-top-noclose.html + fast/frames/sandboxed-iframe-close-top.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::close): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2011-01-01 Adam Barth + + Reviewed by Eric Seidel. + + sandbox iframes have access to top.history methods + https://bugs.webkit.org/show_bug.cgi?id=38152 + + To enforce the sandbox restrictions on History, we need to pass the + ScriptExecutionContext to WebCore. This patch leaves the original + History methods in place because they are used directly by folks who + don't care about security checks. + + Test: fast/frames/sandboxed-iframe-history-denied.html + + * page/History.cpp: + (WebCore::History::back): + (WebCore::History::forward): + (WebCore::History::go): + * page/History.h: + * page/History.idl: + +2011-01-01 Adam Barth + + Remove empty file. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DOMAllInOne.cpp: + * dom/Entity.cpp: Removed. + +2011-01-01 Adam Barth + + Remove empty file. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSPopStateEventCustom.cpp: Removed. + +2011-01-01 Adam Barth + + Remove empty files. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/BindingFrame.h: Removed. + * bindings/generic/BindingLocation.h: Removed. + +2011-01-01 Konstantin Tokarev + + Reviewed by Darin Adler. + + Don't include Inspector headers when Inspector is disabled + https://bugs.webkit.org/show_bug.cgi?id=51789 + + * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when + Inspector is enabled + * dom/Document.cpp: Include Inspector headers when + Inspector is enabled + (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie + handling + * html/HTMLDocument.cpp: Include Inspector headers when + Inspector is enabled + * loader/FrameLoader.cpp: Include Inspector headers when + Inspector is enabled + * loader/ResourceLoadNotifier.cpp: Include Inspector headers when + Inspector is enabled + * page/Chrome.cpp: Include Inspector headers when + Inspector is enabled + * page/Console.cpp: Include Inspector headers when + Inspector is enabled + * page/ContextMenuController.cpp: Include Inspector headers when + Inspector is enabled + * page/DOMWindow.cpp: Include Inspector headers when + Inspector is enabled + (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie + handling + * page/EventHandler.cpp: Include Inspector headers when + Inspector is enabled + * page/Page.cpp: Include Inspector headers when + Inspector is enabled + * storage/Database.cpp: Include Inspector headers when + Inspector is enabled + * workers/AbstractWorker.cpp: Include Inspector headers when + Inspector is enabled + * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when + Inspector is enabled + * workers/SharedWorker.cpp: Include Inspector headers when + Inspector is enabled + * workers/Worker.cpp: Include Inspector headers when + Inspector is enabled + * workers/WorkerContext.cpp: Include Inspector headers when + Inspector is enabled + * workers/WorkerMessagingProxy.cpp: Include Inspector headers when + Inspector is enabled + * xml/XMLHttpRequest.cpp: Include Inspector headers when + Inspector is enabled + (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled + InspectorInstrumentationCookie handling + +2010-12-31 Adam Barth + + Reviewed by Darin Adler. + + fast/loader/about-blank-hash-change.html fails on Chromium + https://bugs.webkit.org/show_bug.cgi?id=51788 + + I'm unable to reproduce the failure locally, so this patch is slightly + speculative. We need to be slighly more careful how we compare the + fragment identifiers for Chromium because Chromium uses a URL parser + that is more agressive about canonicalization. + + * page/Location.cpp: + (WebCore::Location::setHash): + +2010-12-31 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Use GLib/GIO API for FileSystemGtk implementation + https://bugs.webkit.org/show_bug.cgi?id=51617 + + Complete implementation of FileSystem platform code for GLib. This + converts remaining API points using POSIX calls to platform-independent + GLib calls and fixes other compilation errors. + + No new tests. This code will be tested when an implementation + of beginDragWithFiles is complete. + + (WebCore::JSDirectoryEntry::getFile): + (WebCore::JSDirectoryEntry::getDirectory): + * platform/FileSystem.h: Added forward declarations for GLib types to + avoid GLib includes and changed the PlatformFileHandle to be a GIOStream. + * platform/gtk/FileSystemGtk.cpp: + (WebCore::openTemporaryFile): Reimplement using only GLib calls. + (WebCore::openFile): Ditto. + (WebCore::closeFile): Ditto. + (WebCore::seekFile): Added implementation. + (WebCore::writeToFile): Reimplement using only GLib calls. + (WebCore::readFromFile): Ditto. + +2010-12-31 Darin Adler + + Reviewed by Dan Bernstein. + + Some renaming and refactoring of form element code + https://bugs.webkit.org/show_bug.cgi?id=51784 + + * bindings/js/JSHTMLSelectElementCustom.cpp: + (WebCore::JSHTMLSelectElement::remove): Call new overload of remove + for option elements instead of putting the logic in the binding. + + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes. + (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to + "event" instead of "evt". Also updated for name changes. + (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto. + (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto. + (WebCore::HTMLButtonElement::appendFormData): Ditto. + * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit + to match the getter function name. The name still doesn't seem great. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes. + (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function + instead of m_autocomplete data member. + (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member + instead of otherwise-unused isDemoted function. + (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes. + (WebCore::HTMLFormElement::validateInteractively): Removed code to clear + m_insubmit. This is now handled by the caller, prepareForSubmission. + (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for + name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission + here from validateInteractively. Removed unneeded check of m_doingsubmit + boolean before setting it. + (WebCore::HTMLFormElement::submit): Factored this function into two. + One for JavaScript and one for non-JavaScript. Neither function needs a frame + argument, because the question being asked, anyPageIsProcessingUserGesture, + is a question asked of an entire page group, not a specific frame or page, + so it's not important which is the active frame. + (WebCore::HTMLFormElement::submitFromJavaScript): Ditto. + (WebCore::HTMLFormElement::reset): Updated for name changes. + (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse + acceptAttr and got rid of code to set m_autocomplete. + (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw + pointer. + (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer + and the vector find function. Added a FIXME about the comment. + (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete + function instead of m_autocomplete data member. + (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto. + (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto. + (WebCore::HTMLFormElement::autoComplete): Ditto. + * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete + function. Renamed prepareSubmit to prepareForSubmission. Got rid of the + frame argument from the submit function and added a new submitFromJavaScript + variant. Removed the unneeded isDemoted function. Changed the return type + of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed + m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to + m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed, + m_demoted to m_wasDemoted. Use plain bool instead of bitfields. + + * html/HTMLFormElement.idl: Use the function named submitFromJavaScript + instead of using CallWith=DynamicFrame because we don't need to know + what frame is calling. If we did, it's not clear that the "dynamic" + frame would be the right one anyway. + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::remove): Added an overload that takes an option + element, since the JavaScript binding supports this. + * html/HTMLSelectElement.h: Ditto. + + * html/ImageInputType.cpp: + (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes. + * html/ImageInputType.h: Ditto. + * html/SubmitInputType.cpp: + (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto. + +2010-12-31 Daniel Bates + + Reviewed by Darin Adler. + + Pass style for instead of associated when querying whether + the theme draws the focus ring for an + https://bugs.webkit.org/show_bug.cgi?id=51632 + + Fixes an issue where the style for the associated of an + was passed when considering whether the theme should draw a focus ring + for the . Instead, we should pass the theme the style for the . + + It's not possible to test this at this time since there are no themes + that override focus ring drawing for s. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing() + such that it's called with respect to the focused . + +2010-12-31 Darin Adler + + * WebCore.xcodeproj/project.pbxproj: Added back the language. + Developers should be using Xcode 3.2.5 or newer. + +2010-12-31 Adam Barth + + Reviewed by Eric Seidel. + + Move V8 to WebCore Location implementation + https://bugs.webkit.org/show_bug.cgi?id=51768 + + * bindings/generic/BindingFrame.h: + * bindings/generic/BindingLocation.h: + * bindings/v8/V8Binding.h: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::setLocation): + * bindings/v8/V8Utilities.cpp: + * bindings/v8/V8Utilities.h: + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::V8Location::hashAccessorSetter): + (WebCore::V8Location::hostAccessorSetter): + (WebCore::V8Location::hostnameAccessorSetter): + (WebCore::V8Location::hrefAccessorSetter): + (WebCore::V8Location::pathnameAccessorSetter): + (WebCore::V8Location::portAccessorSetter): + (WebCore::V8Location::protocolAccessorSetter): + (WebCore::V8Location::searchAccessorSetter): + (WebCore::V8Location::reloadCallback): + (WebCore::V8Location::replaceCallback): + (WebCore::V8Location::assignCallback): + +2010-12-31 Yi Shen + + Reviewed by Eric Seidel. + + Make retrieving extraMediaControlsStyleSheet be page dependent. + https://bugs.webkit.org/show_bug.cgi?id=51752 + + Use themeForPage to retrieve extraMediaControlsStyleSheet for media + controls. + + No new tests because no platform-specific theme implementation uses + the passed page pointer yet. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForElement): + +2010-12-31 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken. + + https://bugs.webkit.org/show_bug.cgi?id=51709 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.canShowSourceLine): + +2010-12-31 Patrick Gansterer + + Unreviewed build fix after r74800. + + * bindings/js/JSDOMWindowCustom.cpp: Add missing header. + * bindings/js/JSLocationCustom.cpp: Ditto. + +2010-12-31 Adam Barth + + Rubber-stamped by Eric Seidel. + + Move HTML and XML parser benchmarks into PerformanceTests/Parser + https://bugs.webkit.org/show_bug.cgi?id=51772 + + Remove the benchmarks folder now that it's empty. Future benchmarks + should go in the PerformanceTests directory. + + * benchmarks: Removed. + * benchmarks/parser: Removed. + * benchmarks/parser/html-parser.html: Removed. + * benchmarks/parser/resources: Removed. + * benchmarks/parser/resources/html5.html: Removed. + * benchmarks/parser/resources/runner.js: Removed. + * benchmarks/parser/xml-parser.html: Removed. + +2010-12-31 Patrick Gansterer + + Reviewed by Adam Barth. + + Add XML parser benchmark + https://bugs.webkit.org/show_bug.cgi?id=51612 + + Move the JavaScript code of html parser into a separate file to share it with xml parser. + + * benchmarks/parser/html-parser.html: + * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html. + (runFunction): + (run): + (start): + * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html. + +2010-12-29 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Update validation of stencil mask and ref values + https://bugs.webkit.org/show_bug.cgi?id=50716 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings. + (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings. + (WebCore::WebGLRenderingContext::drawElements): Ditto. + (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error. + (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto. + (WebCore::WebGLRenderingContext::stencilMask): Ditto. + (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto. + (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings. + * html/canvas/WebGLRenderingContext.h: Declare stencil setting members. + +2010-12-30 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3 + https://bugs.webkit.org/show_bug.cgi?id=51755 + + Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3 + if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary + step to landing support for the new GTK+ 3.x theming API. + + No new tests. This should not change functionality. + + * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list. + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method. + (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto. + (WebCore::RenderThemeGtk::paintMediaButton): Ditto. + (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto. + * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that + it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk. + * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk + that will eventually be platform-dependent. + * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto. + +2010-12-30 Justin Schuh + + Reviewed by James Robinson. + + Reverting r74292 because it introduced a crash with ruby text. + https://bugs.webkit.org/show_bug.cgi?id=51637 + + Test: fast/css/counters/counter-ruby-text-cleared.html + + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::addChild): + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::appendChildNode): + (WebCore::RenderObjectChildList::insertChildNode): + +2010-12-30 Darin Adler + + Reviewed by David Kilzer. + + Remove unused JSBinding source files + https://bugs.webkit.org/show_bug.cgi?id=51762 + + * bindings/js/JSBinding.h: Removed. + * bindings/js/specialization: Removed. + * bindings/js/specialization/JSBindingState.cpp: Removed. + * bindings/js/specialization/JSBindingState.h: Removed. + + * CMakeLists.txt: Removed references to files. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * bindings/js/JSBindingsAllInOne.cpp: Ditto. + +2010-12-30 Tony Gentilcore + + Reviewed by Darin Adler. + + Remove Document.h include from some headers where it isn't necessary + https://bugs.webkit.org/show_bug.cgi?id=51730 + + No new tests because no new functionality. + + * editing/EditingStyle.cpp: + * editing/EditingStyle.h: + * editing/SelectionController.h: + * editing/visible_units.h: + * html/HTMLAudioElement.h: + * html/HTMLBodyElement.h: + * inspector/InspectorCSSAgent.h: + * inspector/InspectorDOMAgent.h: + * inspector/InspectorInstrumentation.h: + * xml/DOMParser.cpp: + * xml/DOMParser.h: + (WebCore::DOMParser::create): + (WebCore::DOMParser::DOMParser): + +2010-12-30 Benjamin C Meyer + + Reviewed by Darin Adler. + + bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build + which is required when NOTIFICATIONS is enabled. + + https://bugs.webkit.org/show_bug.cgi?id=51761 + + * CMakeLists.txt: + +2010-12-30 Antti Koivisto + + Not reviewed. + + Revert accidental project file change. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-30 Antti Koivisto + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=51134 + Move loading related code from MemoryCache to CachedResourceLoader + + - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource + - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet + - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource + - Add MemoryCache::add + - Refactor the decision on whether to reload, revalidate or use the existing resource to + a single function, CachedResourceLoader::determineRevalidationPolicy + + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::cachedImage): + + Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed + if ever taken (since it passes null CachedResourceLoader pointer). + + * loader/ImageLoader.cpp: + (WebCore::ImageLoader::updateFromElement): + * loader/cache/CachedImage.cpp: + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::CachedResource): + (WebCore::CachedResource::~CachedResource): + (WebCore::CachedResource::mustRevalidateDueToCacheHeaders): + + Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed. + + (WebCore::CachedResource::setLoadPriority): + + Check for Unresolved value before setting. + + * loader/cache/CachedResource.h: + (WebCore::CachedResource::setOwningCachedResourceLoader): + + Rename to be bit less mysterious. + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::createResource): + + This was moved from MemoryCache. + + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::determineRevalidationPolicy): + (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): + + This was moved/merged from MemoryCache. + + (WebCore::CachedResourceLoader::canRequest): + (WebCore::CachedResourceLoader::requestResource): + + This combines MemoryCache::requestResource and the existing method. + + (WebCore::CachedResourceLoader::revalidateResource): + + This was moved from MemoryCache. + + (WebCore::CachedResourceLoader::loadResource): + + New method for initiating loading. + + (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache): + + Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus + + * loader/cache/CachedResourceLoader.h: + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::add): + * loader/cache/MemoryCache.h: + (WebCore::MemoryCache::remove): + +2010-12-30 Steve Block + + Reviewed by Gavin Barraclough. + + Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled + https://bugs.webkit.org/show_bug.cgi?id=51740 + + This is a policy decision for Android. + + No new tests, simply enabling existing, tested code on Android. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::supportsRichSourceInfo): + +2010-12-30 Yael Aharon + + Reviewed by Adam Barth. + + REGRESSION: fast/dom/cssTarget-crash.html fails + https://bugs.webkit.org/show_bug.cgi?id=20342 + + Do not reload the page when submitting a form, using "GET" method, and the + form action url matches the location url, except for the fragment. + + Test: fast/forms/submit-change-fragment.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadURL): + (WebCore::FrameLoader::loadWithDocumentLoader): + (WebCore::FrameLoader::shouldScrollToAnchor): + * loader/FrameLoader.h: + +2010-12-30 Darin Adler + + Reviewed by Adam Barth. + + Move security logic out of the JavaScript binding for location into the DOM class + https://bugs.webkit.org/show_bug.cgi?id=51714 + + * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h, + and JSBinding.h. Later, we'll remove them from other project files and delete + the source files. + + * bindings/js/JSBinding.h: Emptied out, marked for later deletion. + + * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull + function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL + function, unused toLexicalFrame function, unused completeURL function, unused + getCachedDOMStructure and cacheDOMStructure overloads, and unused + getCachedDOMConstructor and cacheDOMConstruction functions. + (WebCore::activeDOMWindow): Added. + (WebCore::firstDOMWindow): Added. + (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through + JSBindingState, since the latter is an unneeded abstraction. + (WebCore::processingUserGesture): Changed to call ScriptController's function + rather than calling through JSBindingState, which is an unneeded abstraction + + * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added + activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly + named allowsAccessFromFrame functions, which answer the question of whether + script is allowed access *to* a frame. + + * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes. + (WebCore::JSDOMWindow::setLocation): Streamlined by using the new + activeDOMWindow and firstDOMWindow functions. + (WebCore::JSDOMWindow::open): Ditto. + (WebCore::JSDOMWindow::showModalDialog): Ditto. + (WebCore::JSDOMWindow::postMessage): Ditto. + + * bindings/js/JSLocationCustom.cpp: + (WebCore::JSLocation::setHref): Changed to pass the active and first windows through + to the Location::setHref function, with it doing the rest of the work. This moves + work out of the DOM binding that belongs in the DOM itself. Eventually such functions + could even be automatically generated by the bindings script. + (WebCore::JSLocation::setProtocol): Ditto. + (WebCore::JSLocation::setHost): Ditto. + (WebCore::JSLocation::setHostname): Ditto. + (WebCore::JSLocation::setPort): Ditto. + (WebCore::JSLocation::setPathname): Ditto. + (WebCore::JSLocation::setSearch): Ditto. + (WebCore::JSLocation::setHash): Ditto. + (WebCore::JSLocation::replace): Ditto. + (WebCore::JSLocation::reload): Ditto. + (WebCore::JSLocation::assign): Ditto. + + * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion. + * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us + to use this function for Location::replace, which is the same as setLocation except that + it locks both history and the back/forward list. + * page/DOMWindow.h: Ditto. + + * page/Location.cpp: + (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security + logic there does not have to be repeated or even refactored. + (WebCore::Location::setProtocol): Ditto. + (WebCore::Location::setHost): Ditto. + (WebCore::Location::setHostname): Ditto. + (WebCore::Location::setPort): Ditto. + (WebCore::Location::setPathname): Ditto. + (WebCore::Location::setSearch): Ditto. + (WebCore::Location::setHash): Ditto. + (WebCore::Location::assign): Ditto. + (WebCore::Location::replace): Ditto. + (WebCore::Location::reload): Added. Security logic was refactored from the code in + JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems + possibly unneeded. + + * page/Location.h: Fixed indentation on the whole file. Added the new functions above. + (WebCore::Location::create): + (WebCore::Location::frame): + +2010-12-30 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Web Inspector: Pasting a style property with value should automatically split it into prop/value + https://bugs.webkit.org/show_bug.cgi?id=51581 + + The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts + of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one), + and the edit focus is transferred to the value field. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.selectElement): + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/inspector.js: + (WebInspector.completeURL): Drive-by: return full URLs as-is. + (WebInspector.startEditing.cleanUpAfterEditing): + (WebInspector.startEditing): + (WebInspector.startEditing.pasteEventListener): + (WebInspector.startEditing.keyDownEventListener): + +2010-12-30 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox. + https://bugs.webkit.org/show_bug.cgi?id=51745 + + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint.prototype.set enabled): + +2010-12-30 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping. + https://bugs.webkit.org/show_bug.cgi?id=51748 + + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): + (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): + (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): + +2010-12-30 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712). + + https://bugs.webkit.org/show_bug.cgi?id=51713 + + * WebCore.gypi: + * WebCore.pro: + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::memoryAccessorGetter): + * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp. + (WebCore::V8Performance::memoryAccessorGetter): + * page/Console.idl: + * page/Performance.idl: + +2010-12-30 Steve Block + + Reviewed by Sam Weinig. + + Visiting macnn.com often causes SQL spew via geolocation database + https://bugs.webkit.org/show_bug.cgi?id=51557 + + If the Geolocation position cache database path has not been set, early-out + rather than using an empty path and thus failing to open the database. + This avoids SQL log spew. + + Also, avoid starting the database thread until the path has been set, and + shorten the thread name to avoid warnings due to exceeding 30 characters. + + No new tests, implementation clean-up only. + + * page/GeolocationPositionCache.cpp: + (WebCore::GeolocationPositionCache::addUser): + (WebCore::GeolocationPositionCache::removeUser): + (WebCore::GeolocationPositionCache::setDatabasePath): + (WebCore::GeolocationPositionCache::startBackgroundThread): + +2010-12-29 Philippe Normand + + Reviewed by Martin Robinson. + + [GTK] minimal build fails at link time due to missing sqlite3 symbols + https://bugs.webkit.org/show_bug.cgi?id=51327 + + Guard the code calling sqlite3 with the ENABLE(DATABASE) check. + + No new tests, build fix only. + + * platform/sql/SQLiteAuthorizer.cpp: + * platform/sql/SQLiteDatabase.cpp: + * platform/sql/SQLiteFileSystem.cpp: + * platform/sql/SQLiteStatement.cpp: + * platform/sql/SQLiteTransaction.cpp: + +2010-12-30 Justin Schuh + + Reviewed by Dirk Schulze. + + Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. + https://bugs.webkit.org/show_bug.cgi?id=51692 + + * svg/SVGLength.cpp: + (WebCore::stringToLengthType): + (WebCore::SVGLength::setValueAsString): + +2010-12-30 Abhishek Arya + + Reviewed by Eric Seidel. + + Create a helper function for finding descendent video elements for a node. + https://bugs.webkit.org/show_bug.cgi?id=51696 + + Test: media/video-element-other-namespace-crash.html + + * html/MediaDocument.cpp: + (WebCore::descendentVideoElement): helper function. + (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions. + (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function. + +2010-12-29 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend. + https://bugs.webkit.org/show_bug.cgi?id=51707 + + This change brushes up storage agents + removes redundant InspectorBackend class. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::databaseForId): + (WebCore::InjectedScriptHost::selectDatabase): + (WebCore::InjectedScriptHost::selectDOMStorage): + (WebCore::InjectedScriptHost::inspectorDOMAgent): + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: Removed. + * inspector/InspectorBackend.h: Removed. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + (WebCore::InspectorController::didUseDOMStorage): + (WebCore::InspectorController::setInjectedScriptSource): + (WebCore::InspectorController::dispatchOnInjectedScript): + (WebCore::InspectorController::releaseWrapperObjectGroup): + * inspector/InspectorController.h: + * inspector/InspectorDOMStorageAgent.cpp: Added. + (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): + (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::selectDOMStorage): + (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDOMStorageAgent::create): + (WebCore::InspectorDOMStorageAgent::frontend): + * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp. + (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + (WebCore::InspectorDatabaseAgent::databaseForId): + (WebCore::InspectorDatabaseAgent::selectDatabase): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDatabaseAgent::create): + (WebCore::InspectorDatabaseAgent::frontend): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.show): + (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown): + (WebInspector.ScriptsPanel.prototype._toggleDebugging): + +2010-12-29 Dirk Schulze + + Reviewed by Darin Adler. + + Cleanup SVG code according to the webkit style rules 3 + https://bugs.webkit.org/show_bug.cgi?id=51490 + + Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code. + Just one file can't be fixed for check-webkit-style. + * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning + + No changes of functionality, so no new tests. + + * svg/SVGAllInOne.cpp: + * svg/SVGImage.cpp: + * svg/SVGLength.cpp: + (WebCore::SVGLength::setValue): + * svg/SVGPolygonElement.h: + * svg/SVGPolylineElement.h: + * svg/SVGPreserveAspectRatio.cpp: + (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): + (WebCore::SVGPreserveAspectRatio::transformRect): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::viewport): + * svg/SVGSetElement.h: + * svg/SVGStylable.h: + (WebCore::SVGStylable::~SVGStylable): + * svg/SVGStyledLocatableElement.h: + (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform): + (WebCore::SVGStyledLocatableElement::isStyledLocatable): + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::isKnownAttribute): + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::childShouldCreateRenderer): + * svg/SVGTests.cpp: + (WebCore::SVGTests::parseMappedAttribute): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::isKnownAttribute): + * svg/SVGTextPathElement.cpp: + * svg/SVGTextPathElement.h: + * svg/SVGTitleElement.h: + (WebCore::SVGTitleElement::rendererIsNeeded): + * svg/SVGTransformDistance.cpp: + (WebCore::SVGTransformDistance::SVGTransformDistance): + (WebCore::SVGTransformDistance::scaledDistance): + (WebCore::SVGTransformDistance::addSVGTransforms): + (WebCore::SVGTransformDistance::addSVGTransform): + (WebCore::SVGTransformDistance::addToSVGTransform): + (WebCore::SVGTransformDistance::isZero): + * svg/SVGTransformList.cpp: + * svg/SVGURIReference.cpp: + (WebCore::SVGURIReference::getTarget): + * svg/SVGVKernElement.h: + * svg/SVGViewSpec.cpp: + (WebCore::SVGViewSpec::parseViewSpec): + * svg/SVGZoomAndPan.h: + (WebCore::SVGZoomAndPan::SVGZoomAndPan): + (WebCore::SVGZoomAndPan::~SVGZoomAndPan): + (WebCore::SVGZoomAndPan::zoomAndPan): + * svg/SVGZoomEvent.h: + (WebCore::SVGZoomEvent::create): + * svg/animation/SMILTime.cpp: + (WebCore::operator*): + * svg/animation/SMILTime.h: + (WebCore::SMILTime::SMILTime): + (WebCore::SMILTime::unresolved): + (WebCore::SMILTime::indefinite): + (WebCore::SMILTime::operator=): + (WebCore::SMILTime::value): + (WebCore::SMILTime::isFinite): + (WebCore::SMILTime::isIndefinite): + (WebCore::SMILTime::isUnresolved): + (WebCore::operator==): + (WebCore::operator!): new operator checks for 0 or infinite values. + (WebCore::operator!=): + (WebCore::operator>): + (WebCore::operator<): + (WebCore::operator>=): + (WebCore::operator<=): + * svg/animation/SMILTimeContainer.h: + (WebCore::SMILTimeContainer::create): + (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty): + * svg/animation/SVGSMILElement.cpp: + (WebCore::ConditionEventListener::operator==): + (WebCore::SVGSMILElement::repeatingDuration): + (WebCore::SVGSMILElement::resolveInterval): + (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat): + * svg/animation/SVGSMILElement.h: + (WebCore::SVGSMILElement::timeContainer): + (WebCore::SVGSMILElement::intervalBegin): + (WebCore::SVGSMILElement::intervalEnd): + (WebCore::SVGSMILElement::previousIntervalBegin): + (WebCore::SVGSMILElement::documentOrderIndex): + (WebCore::SVGSMILElement::setDocumentOrderIndex): + * svg/graphics/SVGImage.h: + (WebCore::SVGImage::create): + (WebCore::SVGImage::destroyDecodedData): + (WebCore::SVGImage::decodedSize): + (WebCore::SVGImage::frameAtIndex): + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore::SVGFilterBuilder::create): + (WebCore::SVGFilterBuilder::lastEffect): + (WebCore::SVGFilterBuilder::getEffectReferences): + (WebCore::SVGFilterBuilder::addBuiltinEffects): + +2010-12-29 Abhishek Arya + + Reviewed by Darin Adler. + + ASSERT(oldchild->parent() == owner) fails. + https://bugs.webkit.org/show_bug.cgi?id=50480 + + In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next) + is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the + assertion failure when removeChildNode executes on the child(equal to prev or next). + Fix a typo in canMergeContiguousAnonymousBlocks. + + Test: fast/multicol/span/double-merge-anonymous-block-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next. + (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero. + +2010-12-29 Justin Schuh + + Reviewed by Darin Adler. + + Check SVG element type in FrameView::scrollToAnchor + https://bugs.webkit.org/show_bug.cgi?id=51718 + + Test: svg/custom/scroll-to-anchor-in-symbol.svg + + * page/FrameView.cpp: + (WebCore::FrameView::scrollToAnchor): + +2010-12-29 Anton Muhin + + Reviewed by Eric Seidel. + + [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell) + https://bugs.webkit.org/show_bug.cgi?id=51704 + + * bindings/v8/V8DOMWindowShell.cpp: + * bindings/v8/V8DOMWindowShell.h: + +2010-12-29 Kenichi Ishibashi + + Reviewed by Darin Adler. + + Use a HashMap for m_continuation to save memory + https://bugs.webkit.org/show_bug.cgi?id=43716 + + Saving memory consumption by applying a HashMap convention to + continuation pointers of RenderInline and RenderBlock classes. + + * rendering/RenderBlock.cpp: Removed m_continuation. + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::destroy): + (WebCore::RenderBlock::inlineElementContinuation): + (WebCore::RenderBlock::blockElementContinuation): + * rendering/RenderBlock.h: Removed m_continuation. + * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations. + (WebCore::RenderBoxModelObject::destroy): Added an assertion. + (WebCore::RenderBoxModelObject::continuation): Added. + (WebCore::RenderBoxModelObject::setContinuation): Added. + * rendering/RenderBoxModelObject.h: + * rendering/RenderInline.cpp: Removed m_continuation. + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::destroy): + (WebCore::RenderInline::inlineElementContinuation): + * rendering/RenderInline.h: Removed m_continuation. + +2010-12-27 Amruth Raj and Ravi Kasibhatla + + Reviewed by Martin Robinson. + + [GTK] Enable building whatever already exists of WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=37369 + + No new functionality added or deleted. Only makefile change. Hence, no tests added. + + * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and + added them to WebKit/gtk/GNUmakefile.am + * platform/network/soup/cache/webkit/soup-cache.h: Remove include + and declare WEBKIT_API directly + +2010-12-29 Eric Seidel + + Unreviewed. + + Simplify make-hash-tools.pl + https://bugs.webkit.org/show_bug.cgi?id=49922 + + Added HashTools.h to the project file now that its not autogenerated. + I also sorted the project file using sort-xcode-project-file + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-29 Pavel Feldman + + Not reviewed: revert r74755 and 74757. + +2010-12-29 Martin Robinson + + Reviewed by Sam Weinig. + + JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++ + https://bugs.webkit.org/show_bug.cgi?id=51722 + + Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives + methods the fastcall calling convention, which leads to runtime errors when they are + called from C++. Also remove a bit of unnecessary code duplication. + + No new tests. This is covered by fast/canvas/webgl/data-view-test.html. + + * bindings/js/JSDataViewCustom.cpp: + (WebCore::getDataViewMember): Remove duplicated code. + (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL. + (WebCore::JSDataView::getUint8): Ditto. + (WebCore::JSDataView::getFloat32): Ditto. + (WebCore::JSDataView::getFloat64): Ditto. + (WebCore::setDataViewMember): Remove duplicated code. + (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL. + (WebCore::JSDataView::setUint8): Ditto. + +2010-12-29 Dan Bernstein + + Reviewed by Kenneth Russel. + + A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681 + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls + CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/ + attach-type style recalc. + * html/HTMLCanvasElement.h: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in + r74716. A font that is loading custom fonts is okay to use, as long as it is valid. + (WebCore::CanvasRenderingContext2D::accessFont): Added a call to + Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place + and update the font if it is invalid. + * platform/graphics/Font.h: + (WebCore::Font::loadingCustomFonts): Made this private. + +2010-12-29 Pavel Feldman + + Not reviewed: Qt build fix. + + * inspector/InspectorController.cpp: + +2010-12-29 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: extract Database & DOM Storage + agents; remove InspectorBackend. + https://bugs.webkit.org/show_bug.cgi?id=51707 + + This change brushes up storage agents + removes redundant + InspectorBackend class. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::databaseForId): + (WebCore::InjectedScriptHost::selectDatabase): + (WebCore::InjectedScriptHost::selectDOMStorage): + (WebCore::InjectedScriptHost::inspectorDOMAgent): + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: Removed. + * inspector/InspectorBackend.h: Removed. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + (WebCore::InspectorController::didUseDOMStorage): + (WebCore::InspectorController::setInjectedScriptSource): + (WebCore::InspectorController::dispatchOnInjectedScript): + (WebCore::InspectorController::releaseWrapperObjectGroup): + * inspector/InspectorController.h: + * inspector/InspectorDOMStorageAgent.cpp: Added. + (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): + (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::selectDOMStorage): + (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDOMStorageAgent::create): + (WebCore::InspectorDOMStorageAgent::frontend): + * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp. + (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + (WebCore::InspectorDatabaseAgent::databaseForId): + (WebCore::InspectorDatabaseAgent::selectDatabase): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDatabaseAgent::create): + (WebCore::InspectorDatabaseAgent::frontend): + * inspector/InspectorFrontendClientLocal.cpp: + * inspector/InspectorFrontendClientLocal.h: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.show): + +2010-12-29 Tony Gentilcore + + Reviewed by Eric Seidel. + + Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon() + https://bugs.webkit.org/show_bug.cgi?id=51067 + + Typically when a script element is removed from the document, the cached script + client is removed. However, during the before load event, the cached script client + hasn't been created yet so it can't be removed. + + This patch handles that case by explicitly checking if the script element was + removed during the beforeload event. Also, it avoids caching the Document references + over the arbitrary script execution in the before load event. + + Test: fast/dom/HTMLScriptElement/move-in-beforeload.html + fast/dom/HTMLScriptElement/remove-in-beforeload.html + + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::requestScript): + +2010-12-29 Alexander Pavlov + + Reviewed by Yury Semikhatsky. + + Web Inspector: Element highlight tooltip displays wrong element size when zoomed in + https://bugs.webkit.org/show_bug.cgi?id=51703 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::drawElementTitle): + +2010-12-29 Yael Aharon + + Reviewed by Kent Tamura. + + [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors + https://bugs.webkit.org/show_bug.cgi?id=29071 + + Use InputType::rangeUnderflow() and InputType::rangeOverflow() + to determine if a control is in-range or out-of-range. + + Tests: fast/css/pseudo-in-range-invalid-value.html + fast/css/pseudo-in-range.html + fast/css/pseudo-out-of-range.html + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * dom/Element.h: + (WebCore::Element::isInRange): + (WebCore::Element::isOutOfRange): + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation): + * html/BaseDateAndTimeInputType.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isInRange): + (WebCore::HTMLInputElement::isOutOfRange): + * html/HTMLInputElement.h: + * html/InputType.cpp: + (WebCore::InputType::supportsRangeLimitation): + * html/InputType.h: + * html/NumberInputType.cpp: + (WebCore::NumberInputType::supportsRangeLimitation): + * html/NumberInputType.h: + * html/RangeInputType.cpp: + (WebCore::RangeInputType::supportsRangeLimitation): + * html/RangeInputType.h: + +2010-12-29 Abhishek Arya + + Reviewed by Eric Seidel. + + When cloning an anonymous block, make sure to set the childrenInline flag based + on the state of the block to be cloned. + https://bugs.webkit.org/show_bug.cgi?id=51489 + + Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks. + (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone(). + +2010-12-29 Patrick Gansterer + + Unreviewed build fix for WinCE after r73802. + + Reapply parts from r72585: + Port ContextMenuWin.cpp to WinCE + https://bugs.webkit.org/show_bug.cgi?id=48408 + + * CMakeLists.txt: + * platform/ContextMenu.h: + * platform/win/ContextMenuWin.cpp: + (WebCore::ContextMenu::getContextMenuItems): + (WebCore::ContextMenu::createNativeMenuFromItems): + +2010-12-29 Kent Hansen + + Reviewed by Simon Hausmann. + + [Qt] Fix compilation with Qt in namespace + https://bugs.webkit.org/show_bug.cgi?id=51701 + + * platform/graphics/ContextShadow.h: + * platform/graphics/GraphicsContext3D.h: + * platform/network/NetworkingContext.h: + * platform/network/qt/QtNAMThreadSafeProxy.h: + * plugins/PluginView.h: + +2010-12-28 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Web Inspector: A disabled style property should get enabled when edited + https://bugs.webkit.org/show_bug.cgi?id=51679 + + Test: inspector/styles-disable-then-change.html + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setText.callback): + +2010-12-29 Patrick Gansterer + + Reviewed by Andreas Kling. + + [CMake] Remove WebKitGenerators + https://bugs.webkit.org/show_bug.cgi?id=50445 + + * CMakeLists.txt: Pass preprocessor to generate-bindings.pl. + +2010-12-28 Pratik Solanki + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=51522 + Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB() + + * page/win/FrameCGWin.cpp: + (WebCore::imageFromRect): + * platform/graphics/cg/GradientCG.cpp: + (WebCore::Gradient::platformGradient): + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::paintToCanvas): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/gstreamer/ImageGStreamerCG.mm: + (ImageGStreamer::ImageGStreamer): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::CGContextWithHDC): + (WebCore::GraphicsContext::releaseWindowsContext): + (WebCore::GraphicsContext::drawWindowsBitmap): + * platform/graphics/win/ImageCGWin.cpp: + (WebCore::BitmapImage::create): + (WebCore::BitmapImage::getHBITMAPOfSize): + * platform/image-decoders/cg/ImageDecoderCG.cpp: + (WebCore::createColorSpace): + * platform/win/DragImageCGWin.cpp: + (WebCore::allocImage): + (WebCore::createCgContextFromBitmap): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + +2010-12-28 Daniel Bates + + Reviewed by Sam Weinig. + + Substitute // MARK: for compiler-specific #pragma mark + https://bugs.webkit.org/show_bug.cgi?id=51657 + + Fix compilation warnings about "#pragma mark" on GTK+ bots by + substituting "// MARK:" for "#pragma mark", which provides + analogous code-bookmarking functionality under Xcode. + + * platform/graphics/cg/PathCG.cpp: + * platform/graphics/mac/WebLayer.mm: + +2010-12-28 Jan Erik Hanssen + + Reviewed by Eric Seidel. + + [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform() + https://bugs.webkit.org/show_bug.cgi?id=51687 + + Use a const reference instead of a copy of QPainter::combinedTransform() + in GraphicsContext::getCTM() + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::getCTM): + +2010-12-28 Takashi Toyoshima + + Reviewed by Eric Seidel. + + gcc detected 'control reaches end of non-void function' with + -finstrument-functions option. + https://bugs.webkit.org/show_bug.cgi?id=51669 + + No new tests. These fixes are trivial. + + * dom/Element.cpp: + (WebCore::Element::childTypeAllowed): + * inspector/InspectorResourceAgent.cpp: + (WebCore::cachedResourceTypeString): + +2010-12-28 Tony Gentilcore + + Reviewed by Eric Seidel. + + Remove unused member of PendingScript + https://bugs.webkit.org/show_bug.cgi?id=51684 + + This was used when HTMLScriptRunner::runScript created a PendingScript + for inline scripts. But now it just calls executeScript() directly. + External scripts always have the minimum starting line number. + + No new tests because no changed functionality. + + * dom/PendingScript.cpp: + (WebCore::PendingScript::releaseElementAndClear): + * dom/PendingScript.h: + (WebCore::PendingScript::PendingScript): + (WebCore::PendingScript::operator=): + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::sourceFromPendingScript): + +2010-12-20 Antonio Gomes + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (Part VI) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/FocusController.cpp: + (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and + isElementNode() now that we are bailing out earlier in both the + FocusCandidate constructor and FocusController::findFocusCandidateInContainer(). + * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection + and virtualRectForAreaElementAndDirection functions. + (WebCore::FocusController::findFocusCandidateInContainer): + (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites + of canScrollInDirection(), and added an early return if !isElementNode(). + (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of + virtualRectForAreaElementAndDirection(); + * page/SpatialNavigation.cpp: + (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node; + (WebCore::isScrollableNode): Renamed from isScrollableContainerNode; + (WebCore::scrollInDirection): Adjusted callsite after function name change; + (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is + a documentNode. + (WebCore::canScrollInDirection): Signature changed. + (WebCore::canBeScrolledIntoView): Ditto. + (WebCore::virtualRectForAreaElementAndDirection): Ditto. + +2010-12-28 Adrienne Walker + + Reviewed by Kenneth Russell. + + [chromium] Fix tiled compositor assertion after GPU process recovery. + https://bugs.webkit.org/show_bug.cgi?id=51682 + + After the GPU process recovers, the layer size is set to IntSize(), + but IntRect::unite() has a special case for empty rects. This + behavior was causing the layer size to be too small, causing an + out-of-bounds array access elsewhere. + + No new tests. + + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::growLayerToContain): + +2010-12-23 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Initialize to 0 for undefined values in CopyTexImage2D + https://bugs.webkit.org/show_bug.cgi?id=51421 + + * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer. + (WebCore::WebGLFramebuffer::WebGLFramebuffer): + (WebCore::WebGLFramebuffer::setAttachment): + (WebCore::WebGLFramebuffer::getWidth): + (WebCore::WebGLFramebuffer::getHeight): + (WebCore::WebGLFramebuffer::getColorBufferFormat): + * html/canvas/WebGLFramebuffer.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): + (WebCore::WebGLRenderingContext::framebufferTexture2D): + (WebCore::WebGLRenderingContext::renderbufferStorage): + (WebCore::WebGLRenderingContext::getBoundFramebufferWidth): + (WebCore::WebGLRenderingContext::getBoundFramebufferHeight): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level. + (WebCore::WebGLTexture::getInternalFormat): + (WebCore::WebGLTexture::getWidth): + (WebCore::WebGLTexture::getHeight): + (WebCore::WebGLTexture::mapTargetToIndex): + (WebCore::WebGLTexture::getLevelInfo): + * html/canvas/WebGLTexture.h: + (WebCore::WebGLTexture::isTexture): + * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getInternalFramebufferSize): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::getInternalFramebufferSize): + +2010-12-23 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=39855 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto. + (WebCore::WebGLRenderingContext::scissor): Ditto. + (WebCore::WebGLRenderingContext::texImage2DBase): Ditto. + (WebCore::WebGLRenderingContext::texImage2D): Ditto. + (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto. + (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto. + (WebCore::WebGLRenderingContext::texSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::viewport): Ditto. + (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative. + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLRenderingContext.idl: + +2010-12-28 Abhishek Arya + + Reviewed by Kenneth Russell. + + Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the + process of loading. + https://bugs.webkit.org/show_bug.cgi?id=51681 + + Test: canvas/philip/tests/2d.text-custom-font-load-crash.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading. + * platform/graphics/Font.cpp: + (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts() + (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts() + (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts() + * platform/graphics/Font.h: + (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading. + +2010-12-28 Dimitri Glazkov + + Reviewed by Eric Seidel. + + Combine setShadowRoot and clearShadowRoot into a simpler API + https://bugs.webkit.org/show_bug.cgi?id=50971 + + No change in behavior, and API is not used yet. + + * dom/Element.cpp: + (WebCore::Element::setShadowRoot): Combined clearing and setting of + the shadowRoot, also hooked up with setting and clearing of the + corresponding shadowHost values. + * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it + private. + * dom/Node.h: Made shadow host-related functions public so that + Element::setShadowRoot can access setShadowHost. It seems logical + to make shadowHost public as well to keep the defs together. + +2010-12-28 Andrey Kosyakov + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Expose extension API to select a node in WebInspector + Do not request content for resources with non-numeric identifiers. + https://bugs.webkit.org/show_bug.cgi?id=49727 + + Test: http/tests/inspector/extensions-resources-redirect.html + + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager.prototype._appendRedirect): + +2010-12-28 Ilya Tikhonovsky + + Unreviewed build fix for Qt. + + ResourceTreeModel.js was added. + + * inspector/front-end/WebKit.qrc: + +2010-12-28 Mikhail Naganov + + Reviewed by Pavel Feldman. + + [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views. + + https://bugs.webkit.org/show_bug.cgi?id=51680 + + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._reset): + +2010-12-28 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore + https://bugs.webkit.org/show_bug.cgi?id=51663 + + The base URI is now computed correctly for links from CSS property uri(...) values. Additionally, + optional quotes/apostrophes and spaces are now allowed inside uri(...). + + Test: inspector/styles-url-linkify.html + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle): + +2010-12-21 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains. + + Domain was changed for Resources, FileSystem etc. related methods. + ResourcesManager was renamed to NetworkManager. + ResourceTreeModel was extracted as separate file. + FileSystem, Database, DOMStorage and ApplicationCache methods were + removed from NetworkManager and added to corresponding classes. + + https://bugs.webkit.org/show_bug.cgi?id=51334 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.addMessage): + (WebInspector.ConsoleView.prototype.clearMessages): + * inspector/front-end/DOMAgent.js: + (WebInspector.ApplicationCache.updateApplicationCacheStatus): + (WebInspector.ApplicationCache.updateNetworkState): + * inspector/front-end/DOMStorage.js: + (WebInspector.DOMStorage.addDOMStorage): + (WebInspector.DOMStorage.selectDOMStorage): + (WebInspector.DOMStorage.updateDOMStorage): + * inspector/front-end/Database.js: + (WebInspector.Database.prototype.executeSql): + (WebInspector.Database.addDatabase): + (WebInspector.Database.selectDatabase): + (WebInspector.Database.sqlTransactionSucceeded): + (WebInspector.Database.sqlTransactionFailed): + * inspector/front-end/FileSystemView.js: + (WebInspector.FileSystem.didGetFileSystemPath): + (WebInspector.FileSystem.didGetFileSystemError): + (WebInspector.FileSystem.didGetFileSystemDisabled): + * inspector/front-end/NetworkItemView.js: + (WebInspector.NetworkItemView): + * inspector/front-end/NetworkManager.js: Added. + (WebInspector.NetworkManager): + (WebInspector.NetworkManager.prototype._createResource): + (WebInspector.NetworkManager.prototype.identifierForInitialRequest): + (WebInspector.NetworkManager.prototype.willSendRequest): + (WebInspector.NetworkManager.prototype._updateResourceWithRequest): + (WebInspector.NetworkManager.prototype._appendRedirect): + (WebInspector.NetworkManager.prototype.markResourceAsCached): + (WebInspector.NetworkManager.prototype.didReceiveResponse): + (WebInspector.NetworkManager.prototype._updateResourceWithResponse): + (WebInspector.NetworkManager.prototype.didReceiveContentLength): + (WebInspector.NetworkManager.prototype.didFinishLoading): + (WebInspector.NetworkManager.prototype.didFailLoading): + (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache): + (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource): + (WebInspector.NetworkManager.prototype.setInitialContent): + (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): + (WebInspector.NetworkManager.prototype.frameDetachedFromParent): + (WebInspector.NetworkManager.prototype.didCreateWebSocket): + (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): + (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): + (WebInspector.NetworkManager.prototype.didCloseWebSocket): + (WebInspector.NetworkManager.prototype._processCachedResources): + (WebInspector.NetworkManager.prototype._addFramesRecursively): + (WebInspector.NetworkManager.requestContent): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype.refreshResource): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._innerRequestContent): + * inspector/front-end/ResourceManager.js: Removed. + * inspector/front-end/ResourceTreeModel.js: Added. + (WebInspector.ResourceTreeModel): + (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame): + (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): + (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent): + (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): + (WebInspector.ResourceTreeModel.prototype.addResourceToFrame): + (WebInspector.ResourceTreeModel.prototype._clearResources): + (WebInspector.ResourceTreeModel.prototype.forAllResources): + (WebInspector.ResourceTreeModel.prototype.addConsoleMessage): + (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages): + (WebInspector.ResourceTreeModel.prototype._callForFrameResources): + (WebInspector.ResourceTreeModel.prototype.resourceForURL): + (WebInspector.ResourceTreeModel.prototype.bindResourceURL): + (WebInspector.ResourceTreeModel.prototype._unbindResourceURL): + (WebInspector.ResourceTreeModel.createResource): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.createResourceView): + (WebInspector.ResourceView.resourceViewTypeMatchesResource): + (WebInspector.ResourceView.resourceViewForResource): + (WebInspector.ResourceView.recreateResourceView): + (WebInspector.ResourceView.existingResourceViewForResource): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.canShowSourceLine): + (WebInspector.ResourcesPanel.prototype.showSourceLine): + (WebInspector.ResourcesPanel.prototype.showResource): + (WebInspector.ResourcesPanel.prototype.get searchableViews.callback): + (WebInspector.ResourcesPanel.prototype.get searchableViews): + (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated): + (WebInspector.FrameResourceTreeElement.prototype._contentChanged): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._addScript): + (WebInspector.ScriptsPanel.prototype.reset): + (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): + (WebInspector.ScriptsPanel.prototype._showScriptOrResource): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.forAllResources): + (WebInspector.resourceForURL): + +2010-12-27 Helder Correia + + Reviewed by Ariya Hidayat. + + ContextShadow should use AffineTransform instead of TransformationMatrix + https://bugs.webkit.org/show_bug.cgi?id=51661 + + ContextShadow needs the CTM to make sure shadows are not affected by + transformations when drawing on a canvas. AffineTransform is sufficient + in this case. + + Existing tests: fast/canvas/canvas*shadow*html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::mustUseContextShadow): + (WebCore::ContextShadow::adjustBlurDistance): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::getTransformationMatrixFromContext): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::getTransformationMatrixFromContext): + +2010-12-27 Daniel Bates + + Reviewed by Antonio Gomes. + + Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight() + https://bugs.webkit.org/show_bug.cgi?id=51634 + + Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight() + to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively. + This will make the names of these getters consistent with the naming convention we use for + getters. + + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::insertedIntoDocument): + * html/HTMLFrameElementBase.h: + (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth(). + (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight(). + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadSubframe): + * page/FrameView.cpp: + (WebCore::FrameView::init): + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh + to marginWidth and marginHeight, respectively. This makes the names of these variables + consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init(). + * rendering/RenderFrame.cpp: + (WebCore::RenderFrame::viewCleared): Ditto. + +2010-12-27 Martin Robinson + + Reviewed by Daniel Bates. + + [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized + https://bugs.webkit.org/show_bug.cgi?id=51654 + + Properly initialize slider members of RenderThemeGtk. This can lead to test crashes + on some debug configurations. + + No new tests. This is already covered by current slider tests. It isn't crashing on + the bots, but it does crash locally. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members. + +2010-12-27 Anton Muhin + + Reviewed by David Levin. + + [v8] Remove unused methods to protect/unprotect wrappers during garbage collection + https://bugs.webkit.org/show_bug.cgi?id=51648 + + * bindings/v8/ScriptController.cpp: + * bindings/v8/ScriptController.h: + * bindings/v8/V8GCController.cpp: + (WebCore::V8GCController::gcEpilogue): + * bindings/v8/V8GCController.h: + +2010-12-27 Yury Semikhatsky + + Unreviewed. Removed trailing spaces from a localized + string to make it the same as the one used in the code. + + * English.lproj/localizedStrings.js: + +2010-12-27 Yael Aharon + + Reviewed by Eric Seidel. + + Browser is failing 16 baseline test from Selector API Test Suite + https://bugs.webkit.org/show_bug.cgi?id=42968 + + Throw an exception if there is no argument to querySelector or + querySelectorAll. This replaces the current behavior of passing the string + "undefined" as the argument. + + No new tests, just updating the existing results for + fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml. + + * dom/Document.idl: + * dom/DocumentFragment.idl: + * dom/Element.idl: + +2010-12-26 MORITA Hajime + + Reviewed by Dan Bernstein. + + For box-shadow, non-primary shadows should have specified radii. + https://bugs.webkit.org/show_bug.cgi?id=51386 + + On paintBoxShadow(), the spread value accidentally accumulated accidentally + during the loop, which should be applied individually for radius of each shadow. + This change makes the radii for rects computed for each shadow. + + Test: fast/box-shadow/spread-multiple-normal.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): + +2010-12-26 Patrick Gansterer + + Reviewed by Eric Seidel. + + Improve output of HTML parser benchmark + https://bugs.webkit.org/show_bug.cgi?id=51611 + + Calculate and show median, min and max values. + + * benchmarks/parser/html-parser.html: + +2010-12-26 Abhishek Arya + + Reviewed by Simon Fraser. + + Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. + https://bugs.webkit.org/show_bug.cgi?id=48772 + + Test: fast/multicol/renderer-positioned-assert-crash.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintPaginatedChildLayer): + (WebCore::RenderLayer::hitTestPaginatedChildLayer): + +2010-12-25 Peter Rybin + + Reviewed by Adam Barth. + + Adds currentColumn (and currentLine) to SegmentedString. Switches + HTMLTreeBuilder to HTMLDocumentParser::textPosition when it + needs position for a