diff options
author | Steve Block <steveblock@google.com> | 2011-05-06 11:45:16 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-05-12 13:44:10 +0100 |
commit | cad810f21b803229eb11403f9209855525a25d57 (patch) | |
tree | 29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /Source/WebCore/ChangeLog | |
parent | 121b0cf4517156d0ac5111caf9830c51b69bae8f (diff) | |
download | external_webkit-cad810f21b803229eb11403f9209855525a25d57.zip external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2 |
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r-- | Source/WebCore/ChangeLog | 17690 |
1 files changed, 17690 insertions, 0 deletions
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 <abarth@webkit.org> + + 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 <justin.garcia@apple.com> + + 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 <rniwa@webkit.org> + + Unreviewed; Added the missing null pointer check for r75293. + + * dom/Document.cpp: + (WebCore::Document::adoptNode): + +2011-01-07 Stephanie Lewis <slewis@apple.com> + + Reviewed by Geoff Garen. + + <rdar://problem/8649617> 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 <rniwa@webkit.org> + + 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 <mrobinson@igalia.com> + + 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 <rniwa@webkit.org> + + Unreviewed; speculative fix for Windows debug build. + + * bindings/js/JSBindingsAllInOne.cpp: + +2011-01-07 Ryosuke Niwa <rniwa@webkit.org> + + 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 <mihaip@chromium.org> + + 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 <jer.noble@apple.com> + + GTK Linux build fix: isDocumentRunningFullScreenAnimation should + be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING) + + * page/FrameView.cpp: + +2011-01-07 Rafael Weinstein <rafaelw@chromium.org> + + 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 <cmarrin@apple.com> + + Unreviewed. + + I mistakenly included a Windows only file in a + cross platform file. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Get rid of include of <QuartzCore/QuartzCore.h> + + * platform/graphics/ca/GraphicsLayerCA.cpp: + +2011-01-07 Jer Noble <jer.noble@apple.com> + + 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 <jer.noble@apple.com> + + 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 <cmarrin@apple.com> + + Unreviewed. + + Use new wkCACFLayerGetContextUserData function + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + +2011-01-07 James Robinson <jamesr@chromium.org> + + Fix compile bustage due to bad merge in 75276. + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + +2010-12-17 Jer Noble <jer@kokode.apple.com> + + 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 <jer@kokode.apple.com> + + 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 <jer@kokode.apple.com> + + 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 <jer@kokode.apple.com> + + 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 <jer@kokode.apple.com> + + 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 <jamesr@chromium.org> + + 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 <jhanssen@sencha.com> + + 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 <enne@google.com> + + 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 <cmarrin@apple.com> + + Unreviewed. + + Build fix for Chromium. Missing include. + + * page/animation/AnimationBase.cpp: + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Build fix. + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + +2011-01-06 Gavin Barraclough <barraclough@apple.com> + + 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 <cmarrin@apple.com> + + 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 <japhet@chromium.org> + + 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 <xlopez@igalia.com> + + 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 <cgarcia@igalia.com> + + 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 <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8783318> 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 <alex@igalia.com> + + 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 <cgarcia@igalia.com> + + 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 <zmo@google.com> + + Unreviewed, build fix. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexSubImage2D): + +2011-01-06 Zhenyao Mo <zmo@google.com> + + 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 <toyoshim@google.com> + + 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 <msanchez@igalia.com> + + 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 <zmo@google.com> + + 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 <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com> + + 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 <benjamin.poulain@nokia.com> + + 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 <alex@igalia.com> + + 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 <abarth@webkit.org> + + 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 <cmarrin@apple.com> + + 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 <jennb@chromium.org> + + 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 <zmo@google.com> + + 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 <mrobinson@igalia.com> + + 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 <helder@sencha.com> + + 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 <laszlo.1.gombos@nokia.com> + + 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 <mrobinson@igalia.com> + + 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 <simonjam@chromium.org> + + 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 <cmarrin@apple.com> + + 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 <tonyg@chromium.org> + + 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 <zmo@google.com> + + 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 <paroga@webkit.org> + + 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 <robert@webkit.org> + + 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 <joone.hur@collabora.co.uk> + + 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 <aroben@apple.com> + + Remove some dead code from WKCACFLayerRenderer + + Fixes <http://webkit.org/b/51954> 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 <cfleizach@apple.com> + + 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 <zmo@google.com> + + 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 <yoli@rim.com> + + 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 <jamesr@chromium.org> + + 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 <inferno@chromium.org> + + 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 <enne@google.com> + + 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 <paroga@webkit.org> + + Unreviewed Windows build fix for r75161. + + * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added. + +2011-01-06 Patrick Gansterer <paroga@webkit.org> + + 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 <reni@webkit.org> + + 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 <yael.aharon@nokia.com> + + 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 <jhanssen@sencha.com> + + 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 <abecsi@webkit.org> + + 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 <helder@sencha.com> + + 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 <darin@apple.com> + + Fix Chromium Mac build. + + * platform/graphics/Gradient.h: Forward-declare CGContextRef. + This might even make it possible to remove the include of + <CoreGraphics/CoreGraphics.h> 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 <wangxianzhu@google.com> + + 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 <helder@sencha.com> + + 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 <sfalken@apple.com> + + 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 <simon.fraser@apple.com> + + 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 <simon.fraser@apple.com> + + 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 <simonjam@chromium.org> + + 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 <helder@sencha.com> + + 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 <simonjam@chromium.org> + + 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 <crogers@google.com> + + 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 <andersca@apple.com> + + Try again. + + * WebCore.exp.in: + +2011-01-05 Anders Carlsson <andersca@apple.com> + + Attempt to fix Leopard build. + + * WebCore.exp.in: + +2011-01-05 Evan Martin <evan@chromium.org> + + 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 <psolanki@apple.com> + + 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 <andersca@apple.com> + + 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 <simon.fraser@apple.com> + + 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 <mrobinson@igalia.com> + + 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 <mihaip@chromium.org> + + 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 <inferno@chromium.org> + + 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 <inferno@chromium.org> + + 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 <rniwa@webkit.org> + + 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 <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8799835> 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 <laszlo.1.gombos@nokia.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <yi.4.shen@nokia.com> + + 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 <cgarcia@igalia.com> + + 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 <paroga@webkit.org> + + 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 <abecsi@webkit.org> + + 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 <yoli@rim.com> + + 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 <simon.hausmann@nokia.com> + + 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 <pnormand@igalia.com> + + 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 <leo.yang@torchmobile.com.cn> + + Reviewed by Dirk Schulze. + + Malformed SVG causes crash in updateContainerOffset + https://bugs.webkit.org/show_bug.cgi?id=44610 + + We should check recursive <use> at the begining of + WebCore::SVGUseElement::buildInstanceTree instead + of at the end of it because the target element's + children may cause infinite recursive <use>. + + Test: svg/custom/recursive-use.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + (WebCore::SVGUseElement::hasCycleUseReferencing): + * svg/SVGUseElement.h: + +2011-01-04 Antti Koivisto <antti@apple.com> + + 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 <cgarcia@igalia.com> + + 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 <cgarcia@igalia.com> + + 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 <ap@apple.com> + + 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 <cfleizach@apple.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <benjamin.poulain@nokia.com> + + 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 <tonyg@chromium.org> + + 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 <jeffm@apple.com> + + 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 <yael.aharon@nokia.com> + + 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 <cfleizach@apple.com> + + 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 <ctruta@chromium.org> + + 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 <cfleizach@apple.com> + + 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 <wjmaclean@chromium.org> + + 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 <evan@chromium.org> + + 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 <darin@apple.com> + + 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 <xji@chromium.org> + + 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 <mrobinson@igalia.com> + + 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 <mrobinson@igalia.com> + + 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 <ddkilzer@apple.com> + + <http://webkit.org/b/51890> 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 <beidson@apple.com> + + Reviewed by a spell checker. + + * storage/StorageMap.h: mesured? Really? + +2011-01-04 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com> + + 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 <antti@apple.com> + + 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 <wangxianzhu@google.com> + + 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 <yoli@rim.com> + + 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 <tonyg@chromium.org> + + 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 <rniwa@webkit.org> + + 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 <tonyg@chromium.org> + + 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 <paroga@webkit.org> + + Unreviewed WinCE build fix. + + * CMakeListsWinCE.txt: Added missing include directories, files and libraries. + +2011-01-04 Yi Shen <yi.4.shen@nokia.com> + + 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 <benjamin.poulain@nokia.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <pnormand@igalia.com> + + 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 <leo.yang@torchmobile.com.cn> + + Reviewed by Dirk Schulze. + + Malformed SVG causes crash in updateContainerOffset + https://bugs.webkit.org/show_bug.cgi?id=44610 + + We should check recursive <use> at the begining of + WebCore::SVGUseElement::buildInstanceTree instead + of at the end of it because the target element's + children may cause infinite recursive <use>. + + Test: svg/custom/recursive-use.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + +2011-01-04 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix. + + Try to fix Clang build. + + * css/CSSParser.cpp: + (WebCore::valueFromSideKeyword): + (WebCore::CSSParser::parseLinearGradient): + +2011-01-03 Julie-Jeongeun-Kim <Jeongeun.Kim@obigo.com> + + 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 <darin@apple.com> + + 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 <darin@apple.com> + + Try to fix Leopard build. + + * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the + size variable. + +2011-01-03 Abhishek Arya <inferno@chromium.org> + + 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 <mitz@apple.com> + + 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 <darin@apple.com> + + 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 <darin@apple.com> + + 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<uint8_t> instead of + Vector<char>. 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<uint8_t> instead of + Vector<char>. 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 <simon.fraser@apple.com> + + Attempt to fix GTK build. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::drawGlyphsShadow): + +2011-01-03 Helder Correia <helder@sencha.com> + + 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 <darin@apple.com> + + 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 <cgarcia@igalia.com> + + 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 <psolanki@apple.com> + + 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 <yi.4.shen@nokia.com> + + 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 <mitz@apple.com> + + 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 <gustavo.noronha@collabora.co.uk> + + 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 <beidson@apple.com> + + 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 <cfleizach@apple.com> + + 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 <simon.fraser@apple.com> + + Fix warning in 32-bit builds. + + * css/CSSGradientValue.cpp: + (WebCore::CSSLinearGradientValue::createGradient): + +2011-01-03 Benjamin C Meyer <bmeyer@rim.com> + + 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 <mitz@apple.com> + + 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 <simon.fraser@apple.com> + + 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 <simon.fraser@apple.com> + + 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 <http://dev.w3.org/csswg/css3-images/#linear-gradients>. + + 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 <noam.rosenthal@nokia.com> + + 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 <hyatt@apple.com> + + 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 <ossy@webkit.org> + + [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 <darin@apple.com> + + 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 <mihaip@chromium.org> + + 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 <agomes@rim.com> + + 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 <mitz@apple.com> + + Rubber-stamped by Simon Fraser. + + <rdar://problem/8812159> Update copyright strings + + * Info.plist: + +2011-01-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8806570> 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 <benjamin.poulain@nokia.com> + + 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 <paroga@webkit.org> + + Unreviewed WinCE build fix for r74868. + + * platform/graphics/wince/ImageBufferWinCE.cpp: + (WebCore::getImageData): + +2011-01-02 Sheriff Bot <webkit.review.bot@gmail.com> + + 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 <paroga@webkit.org> + + [CMake] Unreviewed build fix. + + * CMakeLists.txt: + +2011-01-02 Dirk Schulze <krit@webkit.org> + + 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 <abarth@webkit.org> + + 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 <abarth@webkit.org> + + 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 <abarth@webkit.org> + + 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 <abarth@webkit.org> + + 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 <abarth@webkit.org> + + 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 <abarth@webkit.org> + + 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 <annulen@yandex.ru> + + 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 <abarth@webkit.org> + + 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 <mrobinson@igalia.com> + + 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 <darin@apple.com> + + 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 <dbates@rim.com> + + Reviewed by Darin Adler. + + Pass style for <area> instead of associated <img> when querying whether + the theme draws the focus ring for an <area> + https://bugs.webkit.org/show_bug.cgi?id=51632 + + Fixes an issue where the style for the associated <img> of an <area> + was passed when considering whether the theme should draw a focus ring + for the <area>. Instead, we should pass the theme the style for the <area>. + + It's not possible to test this at this time since there are no themes + that override focus ring drawing for <area>s. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing() + such that it's called with respect to the focused <area>. + +2010-12-31 Darin Adler <darin@apple.com> + + * WebCore.xcodeproj/project.pbxproj: Added back the language. + Developers should be using Xcode 3.2.5 or newer. + +2010-12-31 Adam Barth <abarth@webkit.org> + + 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 <yi.4.shen@nokia.com> + + 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 <loislo@chromium.org> + + 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 <paroga@webkit.org> + + Unreviewed build fix after r74800. + + * bindings/js/JSDOMWindowCustom.cpp: Add missing header. + * bindings/js/JSLocationCustom.cpp: Ditto. + +2010-12-31 Adam Barth <abarth@webkit.org> + + 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 <paroga@webkit.org> + + 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 <zmo@google.com> + + 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 <mrobinson@igalia.com> + + 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 <jschuh@chromium.org> + + 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 <darin@apple.com> + + 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 <tonyg@chromium.org> + + 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 <bmeyer@rim.com> + + 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 <antti@apple.com> + + Not reviewed. + + Revert accidental project file change. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-30 Antti Koivisto <antti@apple.com> + + 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 <steveblock@google.com> + + 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 <yael.aharon@nokia.com> + + 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 <darin@apple.com> + + 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 <apavlov@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <mnaganov@chromium.org> + + 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 <steveblock@google.com> + + 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 <pnormand@igalia.com> + + 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 <jschuh@chromium.org> + + 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 <inferno@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <krit@webkit.org> + + 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 <inferno@chromium.org> + + 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 <jschuh@chromium.org> + + 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 <antonm@chromium.org> + + 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 <bashi@google.com> + + 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 <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com> + + 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 <webkit/webkitdefines.h> + and declare WEBKIT_API directly + +2010-12-29 Eric Seidel <eric@webkit.org> + + 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 <pfeldman@chromium.org> + + Not reviewed: revert r74755 and 74757. + +2010-12-29 Martin Robinson <mrobinson@igalia.com> + + 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 <mitz@apple.com> + + 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 <pfeldman@chromium.org> + + Not reviewed: Qt build fix. + + * inspector/InspectorController.cpp: + +2010-12-29 Pavel Feldman <pfeldman@chromium.org> + + 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 <tonyg@chromium.org> + + 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 <apavlov@chromium.org> + + 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 <yael.aharon@nokia.com> + + 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 <inferno@chromium.org> + + 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 <paroga@webkit.org> + + 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 <kent.hansen@nokia.com> + + 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 <apavlov@chromium.org> + + 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 <paroga@webkit.org> + + 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 <psolanki@apple.com> + + 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 <dbates@rim.com> + + 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 <jhanssen@sencha.com> + + 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 <toyoshim@google.com> + + 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 <tonyg@chromium.org> + + 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 <agomes@rim.com> + + 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 <enne@google.com> + + 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 <zmo@google.com> + + 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 <zmo@google.com> + + 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 <inferno@chromium.org> + + 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 <dglazkov@chromium.org> + + 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 <caseq@chromium.org> + + 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 <loislo@chromium.org> + + Unreviewed build fix for Qt. + + ResourceTreeModel.js was added. + + * inspector/front-end/WebKit.qrc: + +2010-12-28 Mikhail Naganov <mnaganov@chromium.org> + + 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 <apavlov@chromium.org> + + 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 <loislo@chromium.org> + + 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 <helder@sencha.com> + + 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 <dbates@rim.com> + + 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 <mrobinson@igalia.com> + + 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 <antonm@chromium.org> + + 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 <yurys@chromium.org> + + 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 <yael.aharon@nokia.com> + + 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 <morrita@google.com> + + 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 <paroga@webkit.org> + + 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 <inferno@chromium.org> + + 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 <peter.rybin@gmail.com> + + Reviewed by Adam Barth. + + Adds currentColumn (and currentLine) to SegmentedString. Switches + HTMLTreeBuilder to HTMLDocumentParser::textPosition when it + needs position for a <script> tag. + + SegmentedString should provide column position + https://bugs.webkit.org/show_bug.cgi?id=51311 + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::HTMLDocumentParser): + (WebCore::HTMLDocumentParser::textPosition): + * html/parser/HTMLInputStream.h: + (WebCore::HTMLInputStream::current): + (WebCore::InsertionPointRecord::InsertionPointRecord): + (WebCore::InsertionPointRecord::~InsertionPointRecord): + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::processScriptStartTag): + * html/parser/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::create): + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::operator=): + (WebCore::SegmentedString::numberOfCharactersConsumedSlow): + (WebCore::SegmentedString::advanceSlowCase): + (WebCore::SegmentedString::currentLine): + (WebCore::SegmentedString::currentColumn): + (WebCore::SegmentedString::setCurrentPosition): + * platform/text/SegmentedString.h: + (WebCore::SegmentedString::SegmentedString): + (WebCore::SegmentedString::advancePastNewline): + (WebCore::SegmentedString::advance): + (WebCore::SegmentedString::numberOfCharactersConsumed): + +2010-12-25 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + GraphicsContext: Don't pass StrokeStyle (enum) as const reference + https://bugs.webkit.org/show_bug.cgi?id=51608 + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setPlatformStrokeStyle): + (WebCore::GraphicsContext::adjustLineToPixelBoundaries): + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/openvg/PainterOpenVG.cpp: + (WebCore::PainterOpenVG::setStrokeStyle): + * platform/graphics/openvg/PainterOpenVG.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + +2010-12-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + REGRESSION (r74648): XHR layout test failures + https://bugs.webkit.org/show_bug.cgi?id=51603 + + Reverted r74648. + + * WebCore.exp.in: + +2010-12-24 Dan Bernstein <mitz@apple.com> + + Try to fix the Qt build after r74648. + + * WebCore.gypi: + * WebCore.pro: + * platform/network/qt/CredentialStorageQt.cpp: Added. + (WebCore::CredentialStorage::getFromPersistentStorage): + +2010-12-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + CSSStyleSelector cleanup + https://bugs.webkit.org/show_bug.cgi?id=51597 + + Make some methods const. Add assertion to checkOneSelector, with the + intention of later removing the if (!e) check (this is hot code). + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::locateCousinList): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::locateSharedStyle): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::CSSStyleSelector::mmLength): + (WebCore::CSSStyleSelector::inchLength): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + (WebCore::CSSStyleSelector::hasSelectorForAttribute): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::fontSelector): + +2010-12-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8758386> The web process uses its own credential storage + https://bugs.webkit.org/show_bug.cgi?id=51599 + + * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(), + and Credential::isEmpty(). + +2010-12-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Darin Adler. + + [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp} + https://bugs.webkit.org/show_bug.cgi?id=51595 + + * WebCore.gypi: + * bindings/v8/V8DOMWrapper.cpp: + * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp. + (WebCore::V8EventListener::V8EventListener): + (WebCore::V8EventListener::getListenerFunction): + (WebCore::V8EventListener::callListenerFunction): + * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h. + (WebCore::V8EventListener::create): + * bindings/v8/V8EventListenerList.h: + * bindings/v8/V8WorkerContextEventListener.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + * bindings/v8/custom/V8LocationCustom.cpp: + * bindings/v8/custom/V8NodeCustom.cpp: + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + +2010-12-24 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Show current time / total in media player + https://bugs.webkit.org/show_bug.cgi?id=51535 + + * css/mediaControlsGtk.css: + (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime): + (WebCore::RenderThemeGtk::paintMediaCurrentTime): + * platform/gtk/RenderThemeGtk.h: + +2010-12-24 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Eric Seidel. + + Clean up CSSRuleData in CSSStyleSelector.h + https://bugs.webkit.org/show_bug.cgi?id=27753 + + Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSRuleData::CSSRuleData): + (WebCore::CSSRuleData::~CSSRuleData): + (WebCore::CSSRuleData::position): + (WebCore::CSSRuleData::rule): + (WebCore::CSSRuleData::selector): + (WebCore::CSSRuleData::next): + (WebCore::CSSRuleDataList::CSSRuleDataList): + (WebCore::CSSRuleDataList::~CSSRuleDataList): + (WebCore::CSSRuleDataList::first): + (WebCore::CSSRuleDataList::last): + (WebCore::CSSRuleDataList::append): + * css/CSSStyleSelector.h: + +2010-12-24 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix compilation on Windows. + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor + * inspector/InspectorStyleSheet.h: + +2010-12-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Darin Adler. + + inspector/debugger-step-out.html crashing intermittently in the bots + https://bugs.webkit.org/show_bug.cgi?id=50868 + + Use RefPtr rather instead of raw pointers when keeping references + to refcounted objects. + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getStylesForNode2): + (WebCore::InspectorCSSAgent::getComputedStyleForNode2): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::create): + (WebCore::InspectorStyle::InspectorStyle): + (WebCore::InspectorStyle::buildObjectForStyle): + (WebCore::InspectorStyle::setPropertyText): + (WebCore::InspectorStyle::toggleProperty): + (WebCore::InspectorStyle::styleText): + (WebCore::InspectorStyle::populateAllProperties): + (WebCore::InspectorStyle::replacePropertyInStyleText): + (WebCore::InspectorStyleSheet::create): + (WebCore::InspectorStyleSheet::InspectorStyleSheet): + (WebCore::InspectorStyleSheetForInlineStyle::create): + (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): + (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): + * inspector/InspectorStyleSheet.h: + (WebCore::InspectorStyle::cssStyle): + (WebCore::InspectorStyleSheet::pageStyleSheet): + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + SVGElementInstance::m_useElement should be cleared when use element is removed from document + https://bugs.webkit.org/show_bug.cgi?id=51486 + + Test: svg/custom/use-instanceRoot-with-use-removed.svg + + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::clearUseElement): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::removedFromDocument): + (WebCore::ShadowTreeUpdateBlocker::if): + (WebCore::SVGUseElement::detachInstance): + (WebCore::SVGUseElement::detach): + * svg/SVGUseElement.h: + +2010-12-23 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Missing Localized Strings + https://bugs.webkit.org/show_bug.cgi?id=51542 + + Added missing strings: "WebSocket", "Frames", "Text", "Transfer", + "Preserve Log upon Navigation", and "Go to Line". + + * English.lproj/localizedStrings.js: + +2010-12-24 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Inline HTML style property out of sync with element.style in Sidebar + https://bugs.webkit.org/show_bug.cgi?id=51478 + + Now the element attribute modifications (including "style") are tracked, which results in the + source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend) + on the "style" attribute modification through the Elements tree. Also, it appears that + a complete "style" attribute removal destroys the inline style declaration + (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash). + + Test: inspector/elements-delete-inline-style.html + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::didModifyDOMAttr): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::didModifyDOMAttr): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): + (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute): + (WebCore::InspectorStyleSheetForInlineStyle::text): + (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): + (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): + +2010-12-24 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Andreas Kling. + + [chromium] Fix a style nit in the JPEG encoder + https://bugs.webkit.org/show_bug.cgi?id=51574 + + * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone. + +2010-12-23 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Maciej Stachowiak. + + Web Inspector: CSS shorthand properties expand unnecessarily + https://bugs.webkit.org/show_bug.cgi?id=36304 + + "border-radius" is a shorthand property that has a "non-standard" format and longhands, see + http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the + standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method. + This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value + appropriately when adding implicit longhands, thus they were added as normal properties + found in the CSS (neither implicit, nor longhands). This is now fixed. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseBorderRadius): + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + setTargetAttributeAnimatedValue should check for a null shadowTreeElement. + https://bugs.webkit.org/show_bug.cgi?id=51576 + + Disallowed elements may be pruned from the shadow tree, leaving a null + shadowTreeElement. We should check for that before setting attributes. + + Test: svg/custom/animate-disallowed-use-element.svg + + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): + +2010-12-24 Evan Martin <evan@chromium.org> + + Reviewed by Darin Adler. + + TextMetrics::width is an integer, but the member is a float + https://bugs.webkit.org/show_bug.cgi?id=51566 + + Change the return type to a float. + + No tests, fixing a compiler warning. + (I was unable to produce a difference in the values exposed to pages + with a float versus the previous conversion to an integer.) + + * html/TextMetrics.h: + (WebCore::TextMetrics::width): + +2010-12-24 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Add option to enable Touch Events. + https://bugs.webkit.org/show_bug.cgi?id=49125 + + Add files for EFL to support TOUCH_EVENTS. + + * CMakeLists.txt: + * CMakeListsEfl.txt: + * platform/PlatformTouchEvent.h: Add EFL related constructor. + * platform/PlatformTouchPoint.h: ditto. + * platform/efl/PlatformTouchEventEfl.cpp: Added. + (WebCore::PlatformTouchEvent::PlatformTouchEvent): + * platform/efl/PlatformTouchPointEfl.cpp: Added. + (WebCore::PlatformTouchPoint::PlatformTouchPoint): + +2010-12-24 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension() + https://bugs.webkit.org/show_bug.cgi?id=51457 + + WebKit EFL can't play html5 audio because of wrong mime type checking. + So, 'application/octet-stream' is changed with an empty string. + + * platform/efl/MIMETypeRegistryEfl.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + Returns an empty string instead of application/octet-stream when it can't find proper mime type. + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + SVGFontFaceElement::rebuildFontFace() should exit when not in document + https://bugs.webkit.org/show_bug.cgi?id=51571 + + We were hitting a NULL deref crash. Since most of the callers checked + inDocument() anyway, I moved it into the start of rebuildFontFace. + + Test: svg/custom/use-invalid-font-face.svg + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::parseMappedAttribute): + (WebCore::SVGFontFaceElement::rebuildFontFace): + (WebCore::SVGFontFaceElement::childrenChanged): + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + Remove unnecessary check in CSSCanvasValue::canvasDestroyed(). + https://bugs.webkit.org/show_bug.cgi?id=51564 + + This check was duplicating an ASSERT for a case fixed in r73927. + Now that the bug is fixed the check is no longer necessary. + + Removing dead code, so no new tests needed. + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasDestroyed): + +2010-12-23 Evan Martin <evan@chromium.org> + + Reviewed by Darin Adler. + + ViewportArguments.h uses an enum to intialize a bool + https://bugs.webkit.org/show_bug.cgi?id=50982 + + Initialize userScalable to true, rather than -1. + No tests; fixes a compiler warning. + + * dom/ViewportArguments.h: + (WebCore::ViewportArguments::ViewportArguments): + +2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Adam Barth. + + [Qt] User name/password stripped from URLs + https://bugs.webkit.org/show_bug.cgi?id=36232 + + If a username but no password or no username but a password is present + in a URL, QtWebKit won't send any authentication information down to Qt + as it should. + + Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html + http/tests/xmlhttprequest/basic-auth-nouser.html + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2010-12-23 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + queryCommandValue("FormatBlock") does not respect editing boundaries + https://bugs.webkit.org/show_bug.cgi?id=51219 + + Fixed the bug by checking the element we found in elementForFormatBlockCommand + does not contain the editable root. + + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::elementForFormatBlockCommand): + +2010-12-23 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + FormatBlock doesn't preserve typing style but it should + https://bugs.webkit.org/show_bug.cgi?id=51140 + + Fixed the bug by making preserveTypingStyle return true. + + Test: editing/execCommand/format-block-typing-style.html + + * editing/FormatBlockCommand.h: + (WebCore::FormatBlockCommand::preservesTypingStyle): + +2010-12-23 Jessie Berlin <jberlin@apple.com> + + Reviewed by Sam Weinig. + + Need WebKit2 API to create a SecurityOrigin from protocol, host, and port + https://bugs.webkit.org/show_bug.cgi?id=51563 + + Add SecurityOrigin::create(const String& protocol, const String& host, int port). + + * WebCore.exp.in: + Export the symbols for WebCore::SecurityOrigin::create(String, String, int). + + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::createFromDatabaseIdentifier): + Use the constant MaxAllowedPort. + (WebCore::SecurityOrigin::create): + Sanitizing based off of that done in createFromDatabaseIdentifier. + * page/SecurityOrigin.h: + +2010-12-23 Patrick Gansterer <paroga@webkit.org> + + Unreviewed build fix for WinCE after r73802. + + Reapply r70812: + Port ContextMenuItemWin.cpp to WinCE + https://bugs.webkit.org/show_bug.cgi?id=48407 + + * platform/win/ContextMenuItemWin.cpp: + +2010-12-23 Adam Barth <abarth@webkit.org> + + Remove include of non-existant file. + + * bindings/v8/custom/V8DOMWindowCustom.cpp: + +2010-12-23 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Selection becomes stale when CharacterData is manipulated directly + https://bugs.webkit.org/show_bug.cgi?id=51389 + + The bug was caused by SelectionController's not adjusting selection when CharacterData's + m_data is modified by its API. + + Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in + CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to + textWillBeReplaced because inserting, replacing, or removing data may require moving + the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement). + + Also fixed the condition for determining whether or not a node intersects the selection + in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition + failed to recognize certain cases when selection started and ended with non-zero offsets. + + Tests: editing/selection/character-data-mutation-crash.html + editing/selection/character-data-mutation.html + + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate. + (WebCore::CharacterData::appendData): Ditto. + (WebCore::CharacterData::insertData): Ditto. + (WebCore::CharacterData::deleteData): Ditto. + (WebCore::CharacterData::replaceData): Ditto. + (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list, + and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced. + * dom/CharacterData.h: + * editing/SelectionController.cpp: + (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines. + (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved. + (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved; + fixed the logic to figure out whether a node is inside the range or not. + (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added. + (WebCore::SelectionController::textWillBeReplaced): Added. + * editing/SelectionController.h: + +2010-12-23 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Remove unneeded V8 bindings files + https://bugs.webkit.org/show_bug.cgi?id=51570 + + * WebCore.gypi: + * bindings/generic/BindingDOMWindow.h: Removed. + * bindings/v8/specialization/V8BindingDOMWindow.h: Removed. + +2010-12-23 Dan Bernstein <mitz@apple.com> + + Build fix. + + * editing/EditorCommand.cpp: + (WebCore::enabledDismissCorrectionPanel): + +2010-12-23 Darin Adler <darin@apple.com> + + Try to fix crash seen on GTK bot. + + * editing/EditorCommand.cpp: + (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580. + + * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file. + +2010-12-23 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74561. + http://trac.webkit.org/changeset/74561 + https://bugs.webkit.org/show_bug.cgi?id=51565 + + "Broke Chromium UI tests on Vista" (Requested by kbr_google on + #webkit). + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-23 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Kent Tamura. + + [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT + https://bugs.webkit.org/show_bug.cgi?id=51507 + + Adds WebThemeEngine for the Mac (it already has parallel definitions for + Windows and Linux) so that scrollbar thumb rendering can be overridden + for the DRT (to be consistent with the NSScroller-based rendering + used by the Mac port). + + No new tests since the functionality is not exposed yet. Eventually will + result in the Chromium/Mac port being able to use the same pixel + baselines for layout tests as the Mac port. + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + +2010-12-23 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + WKView should not try to do asynchronous validation for selectors that are not editor commands + https://bugs.webkit.org/show_bug.cgi?id=51555 + + * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding. + * editing/Editor.h: Reordered arguments in the Editor::Command constructor + and the data members too so the frame is last. Added + commandIsSupportedFromMenuOrKeyBinding. + + * editing/EditorCommand.cpp: + (WebCore::supported): Removed the EditorCommandSource argument. These + functions are now only used when called from DOM. + (WebCore::supportedFromMenuOrKeyBinding): Ditto. + (WebCore::supportedCopyCut): Ditto. + (WebCore::supportedPaste): Ditto. + (WebCore::enabledDismissCorrectionPanel): Changed the supported function to + an enabled function. It was incorrect to say that this is "supported" only + when the correction panel is up. Correct to say that it is "enabled" only + then. And also probably OK to enable it even when the selection is not in + editable text, as long as the panel is up. + (WebCore::createCommandMap): Moved conditional commands out of the main + array into a separate section at the end. + (WebCore::internalCommand): Added. + (WebCore::Editor::command): Changed to use the new internalCommand function + and simplified by relying on the null check in the Command constructor. + (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added. + (WebCore::Editor::Command::Command): Removed unneeded initialization of + m_source, which is never looked at if m_command is 0. Added feature of + passing a null command pointer to the non-default constructor. + (WebCore::Editor::Command::isSupported): Changed to only call the + per-command isSupported function when the command source is DOM. + Accordingly that function is now called isSupportedFromDOM. + +2010-12-23 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing + https://bugs.webkit.org/show_bug.cgi?id=51560 + + No new tests. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::setAcceleratesDrawing): + +2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown + https://bugs.webkit.org/show_bug.cgi?id=35635 + + Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta> + tag informing the OS that the data is in UTF-8 format. + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeSelection): + +2010-12-23 Justin Schuh <jschuh@chromium.org> + + Reviewed by Eric Seidel. + + CSSCursorImageValue destructor should clear referenced element. + https://bugs.webkit.org/show_bug.cgi?id=51417 + + Calls correct method to clear image and renames method to avoid future confusion. + + Test: svg/css/cursor-image-replace.svg + + * css/CSSCursorImageValue.cpp: + (WebCore::CSSCursorImageValue::~CSSCursorImageValue): + * svg/SVGElement.cpp: + (WebCore::SVGElement::cursorImageValueRemoved): + * svg/SVGElement.h: + +2010-12-22 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + WebKit2 needs to mirror the frame tree in the UIProcess + https://bugs.webkit.org/show_bug.cgi?id=51546 + + - Add client functions to notify that a frame has been added or + removed from the page cache. + + * history/CachedFrame.cpp: + (WebCore::CachedFrameBase::restore): + (WebCore::CachedFrame::CachedFrame): + * history/CachedFrame.h: + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::didSaveToPageCache): + (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache): + * loader/FrameLoaderClient.h: + +2010-12-22 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces + This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE) + https://bugs.webkit.org/show_bug.cgi?id=51279 + + * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc + * html/canvas/CanvasRenderingContext2D.cpp: Use new flag + * platform/graphics/ImageBuffer.h: Use new flag + * platform/graphics/cg/ImageBufferCG.cpp: Use new flag + +2010-12-20 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Tile root layer of the compositor. + https://bugs.webkit.org/show_bug.cgi?id=49947 + + Refactor root layer update and drawing from LayerRendererChromium into + LayerTilerChromium. The root layer is now drawn as multiple tiles + rather than as one single large texture. Scrollbars are now drawn + separately rather than as part of the root layer. + + Test: LayoutTests/compositing/ + + * WebCore.gypi: + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + * platform/ScrollView.cpp: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::setClipsRepaints): + * platform/ScrollView.h: + (WebCore::ScrollView::clipsRepaints): + * platform/graphics/chromium/LayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::~LayerRendererChromium): + (WebCore::LayerRendererChromium::useShader): + (WebCore::LayerRendererChromium::verticalScrollbarRect): + (WebCore::LayerRendererChromium::horizontalScrollbarRect): + (WebCore::LayerRendererChromium::invalidateRootLayerRect): + (WebCore::LayerRendererChromium::updateAndDrawRootLayer): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::setRootLayer): + (WebCore::LayerRendererChromium::initializeSharedObjects): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/LayerTilerChromium.cpp: Added. + (WebCore::LayerTilerChromium::create): + (WebCore::LayerTilerChromium::LayerTilerChromium): + (WebCore::LayerTilerChromium::~LayerTilerChromium): + (WebCore::LayerTilerChromium::layerRendererContext): + (WebCore::LayerTilerChromium::setTileSize): + (WebCore::LayerTilerChromium::reset): + (WebCore::LayerTilerChromium::createTile): + (WebCore::LayerTilerChromium::invalidateTiles): + (WebCore::LayerTilerChromium::contentRectToTileIndices): + (WebCore::LayerTilerChromium::contentRectToLayerRect): + (WebCore::LayerTilerChromium::layerRectToContentRect): + (WebCore::LayerTilerChromium::tileIndex): + (WebCore::LayerTilerChromium::tileContentRect): + (WebCore::LayerTilerChromium::tileLayerRect): + (WebCore::LayerTilerChromium::invalidateRect): + (WebCore::LayerTilerChromium::invalidateEntireLayer): + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::setLayerPosition): + (WebCore::LayerTilerChromium::draw): + (WebCore::LayerTilerChromium::resizeLayer): + (WebCore::LayerTilerChromium::growLayerToContain): + (WebCore::LayerTilerChromium::Tile::~Tile): + (WebCore::LayerTilerChromium::Tile::releaseTextureId): + * platform/graphics/chromium/LayerTilerChromium.h: Added. + (WebCore::LayerTilerChromium::Tile::Tile): + (WebCore::LayerTilerChromium::Tile::textureId): + (WebCore::LayerTilerChromium::Tile::dirty): + (WebCore::LayerTilerChromium::Tile::clearDirty): + (WebCore::LayerTilerChromium::layerRenderer): + +2010-12-22 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Editor.h doesn't need to include SelectionController.h + https://bugs.webkit.org/show_bug.cgi?id=51441 + + Removed #include <Selection.h> from Editor.h. + Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection + to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h + + * WebCore.exp.in: Signature changes. + * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection. + * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h + * editing/Editor.cpp: + (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection. + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto. + (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto. + * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h + and WritingDirection.h; forward declared CSSMutableStyleDeclaration. + * editing/EditorCommand.cpp: + (WebCore::executeDeleteBackward): Change due to SelectionDirection. + (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto. + (WebCore::executeDeleteForward): Ditto. + (WebCore::executeDeleteToBeginningOfLine): Ditto. + (WebCore::executeDeleteToBeginningOfParagraph): Ditto. + (WebCore::executeDeleteToEndOfLine): Ditto. + (WebCore::executeDeleteToEndOfParagraph): Ditto. + (WebCore::executeDeleteWordBackward): Ditto. + (WebCore::executeDeleteWordForward): Ditto. + (WebCore::executeForwardDelete): Ditto. + (WebCore::executeMoveBackward): Ditto. + (WebCore::executeMoveBackwardAndModifySelection): Ditto. + (WebCore::executeMoveDown): Ditto. + (WebCore::executeMoveDownAndModifySelection): Ditto. + (WebCore::executeMoveForward): Ditto. + (WebCore::executeMoveForwardAndModifySelection): Ditto. + (WebCore::executeMoveLeft): Ditto. + (WebCore::executeMoveLeftAndModifySelection): Ditto. + (WebCore::executeMoveRight): Ditto. + (WebCore::executeMoveRightAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfDocument): Ditto. + (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfLine): Ditto. + (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfParagraph): Ditto. + (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfSentence): Ditto. + (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfDocument): Ditto. + (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfSentence): Ditto. + (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfLine): Ditto. + (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfParagraph): Ditto. + (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto. + (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto. + (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto. + (WebCore::executeMoveUp): Ditto. + (WebCore::executeMoveUpAndModifySelection): Ditto. + (WebCore::executeMoveWordBackward): Ditto. + (WebCore::executeMoveWordBackwardAndModifySelection): Ditto. + (WebCore::executeMoveWordForward): Ditto. + (WebCore::executeMoveWordForwardAndModifySelection): Ditto. + (WebCore::executeMoveWordLeft): Ditto. + (WebCore::executeMoveWordLeftAndModifySelection): Ditto. + (WebCore::executeMoveWordRight): Ditto. + (WebCore::executeMoveWordRightAndModifySelection): Ditto. + (WebCore::executeMoveToLeftEndOfLine): Ditto. + (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto. + (WebCore::executeMoveToRightEndOfLine): Ditto. + (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto. + * editing/SelectionController.cpp: + (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection. + (WebCore::SelectionController::modify): Ditto. + * editing/SelectionController.h: Change due to SelectionDirection. + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): Ditto. + (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. + * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection + in SelectionController.h + * editing/WritingDirection.h: Added. + * page/DOMSelection.cpp: + (WebCore::DOMSelection::modify): Change due to SelectionDirection. + (WebCore::DOMSelection::deleteFromDocument): Ditto. + * page/EventHandler.cpp: + (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto. + * page/Frame.h: Includes SelectionController.h. + +2010-12-23 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Move V8 to WebCore's implementation of showModalDialog + https://bugs.webkit.org/show_bug.cgi?id=51527 + + This code is basically verbatim translation from the JavaScriptCore + bindings. The only intentional difference is in the world selection + for the dialog's frame. I suspect JavaScriptCore's bindings have a + subtle bug there. + + In this patch, I also remove a bunch of now-unneeded code in the + generic bindings. + + * bindings/generic/BindingDOMWindow.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::DialogHandler::dialogCreated): + (WebCore::setUpDialog): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::DialogHandler::DialogHandler): + (WebCore::DialogHandler::dialogCreated): + (WebCore::DialogHandler::returnValue): + (WebCore::setUpDialog): + (WebCore::V8DOMWindow::showModalDialogCallback): + (WebCore::V8DOMWindow::openCallback): + * bindings/v8/specialization/V8BindingDOMWindow.h: + +2010-12-23 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: Can't backspace from CSS value to CSS key field + https://bugs.webkit.org/show_bug.cgi?id=51476 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.): + (WebInspector.StylePropertyTreeElement.prototype): + +2010-12-23 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add asserts to test for contiguous-pixel Skia bitmaps. + https://bugs.webkit.org/show_bug.cgi?id=51186 + + No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated. + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-23 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Kenneth Rohde Christiansen. + + Fix check by undefined macro + https://bugs.webkit.org/show_bug.cgi?id=51531 + + Fix check by undefined macro + + When building EFL port with libsoup, BUILDING_GTK__ is not defined, + leading to warnings during compile. We actually have to use an #ifdef + instead of an #if. + + No change in functionality so no new tests. + + * platform/network/soup/cache/webkit/soup-cache.h: + +2010-12-23 Jonathan Dixon <joth@chromium.org> + + Reviewed by Steve Block. + + TouchEvents does not support multi-touch on a page with multiple touch targets + https://bugs.webkit.org/show_bug.cgi?id=51258 + + Test: fast/events/touch/multi-touch-grouped-targets.html + + * page/EventHandler.cpp: + (WebCore::eventNameForTouchPointState): + (WebCore::EventHandler::handleTouchEvent): + Redesigned event handler to ensure all event targets involved in a given + multitouch event get the appropriate event(s) fired. + + * platform/PlatformTouchPoint.h: Added end-stop marker for State enum. + +2010-12-23 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] media/audio-data-url.html fails since r75504 + https://bugs.webkit.org/show_bug.cgi?id=51525 + + Make the GStreamer media-player advertize 3gpp mime-types as + supported if the 3gp caps are in the typefind factories. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): + +2010-12-23 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler() + to InputTypes. + https://bugs.webkit.org/show_bug.cgi?id=51093 + + Move BeforeTextInserted and Wheel event handling, event forwarding to + renderers, and the isindex form submission quirk code to InputTypes. + Also, change the return types of InputType event handlers from 'bool' + to 'void'. We use Event::defaultHandled() to decide whether event + handling should be stopped. + + No new tests because this is just a refactoring. + + * html/BaseButtonInputType.cpp: bool->void changes + (WebCore::BaseButtonInputType::handleKeydownEvent): + (WebCore::BaseButtonInputType::handleKeypressEvent): + (WebCore::BaseButtonInputType::handleKeyupEvent): + * html/BaseButtonInputType.h: ditto. + * html/BaseCheckableInputType.cpp: ditto. + (WebCore::BaseCheckableInputType::handleKeydownEvent): + (WebCore::BaseCheckableInputType::handleKeypressEvent): + * html/BaseCheckableInputType.h: ditto. + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto. + (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton(). + * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition. + * html/CheckboxInputType.cpp: bool->void change + (WebCore::CheckboxInputType::handleKeyupEvent): + * html/CheckboxInputType.h: ditto. + * html/FileInputType.cpp: ditto. + (WebCore::FileInputType::handleDOMActivateEvent): + * html/FileInputType.h: ditto. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + - Change return-value handling of InputType event handlers + - Move out beforeTextInserted/wheel event handling and isindex form quirk. + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): + Added so that InputType can call InputElement::handleBeforeTextInsertedEvent(). + * html/ImageInputType.cpp: bool->void change + (WebCore::ImageInputType::handleDOMActivateEvent): + * html/ImageInputType.h: ditto. + * html/InputType.cpp: ditto. + (WebCore::InputType::handleClickEvent): + (WebCore::InputType::handleDOMActivateEvent): + (WebCore::InputType::handleKeydownEvent): + (WebCore::InputType::handleKeypressEvent): + (WebCore::InputType::handleKeyupEvent): + (WebCore::InputType::handleBeforeTextInsertedEvent): + (WebCore::InputType::handleWheelEvent): Added default implementation. + (WebCore::InputType::forwardEvent): ditto. + (WebCore::InputType::formForSubmission): ditto. + * html/InputType.h: + * html/IsIndexInputType.cpp: + (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp. + * html/IsIndexInputType.h: + * html/NumberInputType.cpp: + (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp. + (WebCore::NumberInputType::handleKeydownEvent): bool->void change. + (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp. + (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton(). + * html/NumberInputType.h: + * html/RadioInputType.cpp: bool->void changes. + (WebCore::RadioInputType::handleClickEvent): + (WebCore::RadioInputType::handleKeydownEvent): + (WebCore::RadioInputType::handleKeyupEvent): + * html/RadioInputType.h: + * html/RangeInputType.cpp: + (WebCore::RangeInputType::handleKeydownEvent): ditto. + (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp. + * html/RangeInputType.h: + * html/ResetInputType.cpp: bool->void change. + (WebCore::ResetInputType::handleDOMActivateEvent): + * html/ResetInputType.h: ditto. + * html/SubmitInputType.cpp: ditto. + (WebCore::SubmitInputType::handleDOMActivateEvent): + * html/SubmitInputType.h: ditto. + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change. + (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto. + (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp. + (WebCore::TextFieldInputType::forwardEvent): ditto. + * html/TextFieldInputType.h: + +2010-12-23 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style + https://bugs.webkit.org/show_bug.cgi?id=51390 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + +2010-12-23 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Adam Barth. + + [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300% + https://bugs.webkit.org/show_bug.cgi?id=51455 + + Chromium uses the libpng compression defaults. Good compression results, + but at much larger run-time cost compared to other browsers. Chrome is 2 + times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3. + + libpng has supported alternative compression methods for some time, they + better meet the dual goals of good compression and run-time cost for the + on-line case, and are well-documented. Here use Huffman encoding. It's + 2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed + size is within 1% of the Safari 5.0.3 result independent of image size. + + No change in behaviour, so no new tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding. + +2010-12-22 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Darin Fisher. + + [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop + https://bugs.webkit.org/show_bug.cgi?id=51321 + + Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for + the "image/png" encoder case viz., compute the unpremultiplication in-place. + See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference. + + No new tests: canvas.toDataURL() is covered by existing tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::preMultipliedBGRAtoRGBA): + +2010-12-22 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Simon Fraser. + + Implement skewX() and skewY() for CSSMatrix. + https://bugs.webkit.org/show_bug.cgi?id=38335 + + * css/WebKitCSSMatrix.cpp: + (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY(). + * css/WebKitCSSMatrix.h: Added skewX() and skewY(). + * css/WebKitCSSMatrix.idl: Added skewX() and skewY(). + +2010-12-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Support unprefixed box-shadow property + https://bugs.webkit.org/show_bug.cgi?id=51448 + + Add support for the box-shadow CSS property. We'll currently render this + similarly to -webkit-box-shadow, but a later fix will adjust the blur radius + handling to match the spec. + + Test: fast/css/box-shadow.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle + for box-shadow + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::ShadowParseContext::ShadowParseContext): + (WebCore::ShadowParseContext::commitValue): + (WebCore::ShadowParseContext::commitLength): + (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow + + * css/CSSPropertyNames.in: add box-shadow + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and + store in the ShadowData if this is -webkit-box-shadow or not. We'll use this + to adjust radii later. + + * css/SVGCSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow. + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): + (WebCore::PropertyWrapperShadow::blend): + (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow. + + * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow. + (WebCore::ShadowData::ShadowData): + (WebCore::ShadowData::operator==): + * rendering/style/ShadowData.h: + (WebCore::ShadowData::ShadowData): + (WebCore::ShadowData::isWebkitBoxShadow): + +2010-12-22 Michael Saboff <msaboff@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION: Can't shadow/overwrite window.constructor + (causes TypeError exception) + https://bugs.webkit.org/show_bug.cgi?id=48953 + + Added code in the javascript code generator to create a setter for + a constructor if the new extended attribute ReplaceableConstructor + is present for the interface. + + * bindings/scripts/CodeGeneratorJS.pm: + * page/DOMWindow.idl: + +2010-12-22 Steve Lacey <sjl@chromium.org> + + Reviewed by David Levin. + + Change css for chromium media controls to deal with the timeline + not expanding when the current time disappears. This happens when + the width of the control drops below 240px. + + This change results in a minor pixel difference - the timebar now + aligns better with the time and when the time is not displayed is + now perfectly centered. Disabling the affected tests for now + and will rebaseline. + + https://bugs.webkit.org/show_bug.cgi?id=51500 + + * css/mediaControlsChromium.css: + (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): + (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): + (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): + (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): + +2010-12-22 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Simon Fraser. + + the shadow direction is negated in canvas context shadowOffsetY. + https://bugs.webkit.org/show_bug.cgi?id=25619 + + Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps + if we're not transforming shadows (i.e. are rendering in a canvas). Also + use CG shadows if there's a non-translate/flip transform applied + (shadow offsets are supposed to ignore transforms, but the naive/simple + implementation was taking them into account). + + Also does the equivalent changes to FontCGWin. + + Test: fast/canvas/fillText-shadow.html + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::shadowsIgnoreTransforms): + * platform/graphics/GraphicsContext.h: + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawGlyphs): + * platform/graphics/win/FontCGWin.cpp: + (WebCore::Font::drawGlyphs): + +2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74503. + http://trac.webkit.org/changeset/74503 + https://bugs.webkit.org/show_bug.cgi?id=51513 + + breaks chromium mac debug compile (Requested by tonyg-cr on + #webkit). + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Replace runtime checks for hyphenation API availability with compile-time checks. + + * platform/text/cf/HyphenationCF.cpp: + (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the + search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale. + (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available. + It is identical to the implementation in Hyphenation.cpp. + (WebCore::lastHyphenLocation): Ditto. + +2010-12-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Cache snapshots of plug-ins before painting, to avoid script running during painting + https://bugs.webkit.org/show_bug.cgi?id=51493 + + When FrameView is asked to do a flattening paint (e.g. when Safari snapshots, + or when printing), plug-ins which otherwise use the CA rendering model + are sent a paint event. Some plug-ins may run script while handling this event, + or out of process plug-ins may process queued requests at this time. Running + script while inside layout or painting can have bad consequences, because it + can result in arbitrary changes to the render tree. + + This patch avoids sending plug-ins paint events inside of painting. Instead, + we ask the plug-ins to cache a snapshot before we paint, and then the software + paint simply draws that snapshot. + + Requires manual test, because the bug happens when Safari does + a page snapshot. It's not possible to tell the Test Netscape Plug-in + to paint without laying out, making an automated test impossible. + + * manual-tests/plugins/plugin-paint-causes-layout.html: Added. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::paintContents): Notify all enclosed widgets + that a flattening paint is going to happen. + (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method + that tells the RenderView in all subframes to notify their widgets. + + * platform/Widget.h: + (WebCore::Widget::notifyWidget): Generic method that can be used + to send messages to widgets. Current messages are just 'before flattening paint' + and 'after flattening paint'. Message has no payload. + + * rendering/RenderView.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::getRetainedWidgets): + (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(), + since we use it in two places now. + + (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc. + (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send + them all the message. + + * rendering/RenderWidget.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::notifyWidget): Pass the message to the widget. + +2010-12-22 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + Fix null pointer deref when restoring a lost WebGL context. + https://bugs.webkit.org/show_bug.cgi?id=51494 + + No new tests, as context restored events are not currently testable. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::initializeNewContext): + (WebCore::WebGLRenderingContext::restoreContext): + +2010-12-22 Adam Bergkvist <adam.bergkvist@ericsson.com> + + Reviewed by Martin Robinson. + + [GTK] Building with Blob support fails again + https://bugs.webkit.org/show_bug.cgi?id=51392 + + Build fix. + + * GNUmakefile.am: + +2010-12-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + canHyphenate() always returns true for the default locale + https://bugs.webkit.org/show_bug.cgi?id=51506 + + No test, since this change only affects performance. + + * platform/text/cf/HyphenationCF.cpp: + (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale. + (WebCore::::createValueForKey): Removed whitespace. + +2010-12-22 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: script name gets parsed as HTML in Call stack panel + https://bugs.webkit.org/show_bug.cgi?id=51468 + + * inspector/front-end/Placard.js: + (WebInspector.Placard.prototype.set subtitle): + +2010-12-22 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + MediaPlayer should look for MIME type in data: URL + https://bugs.webkit.org/show_bug.cgi?id=51195 + + If no MIME type is passed from the media element for a data: URL, try to get it from + the URL itself. + + No new tests are possible because the MIME type is just passed to the media engine. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::load): + +2010-12-22 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add asserts to test for contiguous-pixel Skia bitmaps. + https://bugs.webkit.org/show_bug.cgi?id=51186 + + No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated. + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-22 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar + https://bugs.webkit.org/show_bug.cgi?id=51488 + + Test: platform/mac/accessibility/aria-menubar.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::createARIARoleMap): + +2010-12-22 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible + https://bugs.webkit.org/show_bug.cgi?id=51423 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo. + * html/canvas/WebGLRenderingContext.h: + +2010-12-22 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] Compilation fixes with GTK+ 2.91.7 + https://bugs.webkit.org/show_bug.cgi?id=51487 + + * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for + backwards compatibility, it's now defined again in GTK+ 3.x. + * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to + initialize global static variables (!). These are called when the + .so is loaded, and they now require GType to be initialized and + will crash. Initialize them once from the ctor, which is a more + common pattern anyway. + (WebCore::initGdkAtoms): new method to initialize static variables. + (WebCore::PasteboardHelper::PasteboardHelper): call it. + * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when + using GTK+ 3.x, since it's no longer installed. + +2010-12-22 Dirk Schulze <krit@wbekit.org> + + Reviewed by Nikolas Zimmermann. + + Cleanup SVG code according to the webkit style rules 2 + https://bugs.webkit.org/show_bug.cgi?id=51461 + + Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code. + + No changes of functionality, so no new tests. + + * svg/SVGFEDisplacementMapElement.cpp: + (WebCore::SVGFEDisplacementMapElement::stringToChannel): + * svg/SVGFEDistantLightElement.h: + * svg/SVGFEFuncAElement.h: + * svg/SVGFEFuncBElement.h: + * svg/SVGFEFuncGElement.h: + * svg/SVGFEFuncRElement.h: + * svg/SVGFEMergeElement.cpp: + (WebCore::SVGFEMergeElement::build): + * svg/SVGFEMorphologyElement.cpp: + * svg/SVGFEPointLightElement.h: + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::findLights): + * svg/SVGFESpotLightElement.h: + * svg/SVGFitToViewBox.cpp: + (WebCore::SVGFitToViewBox::parseViewBox): + (WebCore::SVGFitToViewBox::isKnownAttribute): + * svg/SVGFontFaceElement.cpp: + (WebCore::cssPropertyIdForSVGAttributeName): + * svg/SVGFontFaceElement.h: + (WebCore::SVGFontFaceElement::associatedFontElement): + * svg/SVGFontFaceNameElement.h: + * svg/SVGFontFaceSrcElement.cpp: + * svg/SVGFontFaceSrcElement.h: + * svg/SVGFontFaceUriElement.h: + * svg/SVGForeignObjectElement.h: + * svg/SVGGlyphElement.cpp: + (WebCore::parseArabicForm): + (WebCore::parseOrientation): + * svg/SVGGlyphElement.h: + (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): + (WebCore::SVGGlyphIdentifier::inheritedValue): + (WebCore::SVGGlyphIdentifier::operator==): + (WebCore::SVGGlyphElement::rendererIsNeeded): + * svg/SVGGlyphMap.h: + (WebCore::GlyphMapNode::GlyphMapNode): + (WebCore::GlyphMapNode::create): + (WebCore::SVGGlyphMap::SVGGlyphMap): + (WebCore::SVGGlyphMap::add): + (WebCore::SVGGlyphMap::compareGlyphPriority): + (WebCore::SVGGlyphMap::get): + (WebCore::SVGGlyphMap::clear): + * svg/SVGGradientElement.cpp: + * svg/SVGHKernElement.cpp: + * svg/SVGHKernElement.h: + (WebCore::SVGHKernElement::rendererIsNeeded): + * svg/SVGImageElement.h: + * svg/SVGImageLoader.cpp: + * svg/SVGImageLoader.h: + * svg/SVGLangSpace.cpp: + (WebCore::SVGLangSpace::parseMappedAttribute): + (WebCore::SVGLangSpace::isKnownAttribute): + * svg/SVGLangSpace.h: + (WebCore::SVGLangSpace::xmllang): + * svg/SVGMetadataElement.h: + * svg/SVGMissingGlyphElement.h: + (WebCore::SVGMissingGlyphElement::rendererIsNeeded): + * svg/SVGPaint.cpp: + (WebCore::SVGPaint::cssText): + * svg/SVGPaint.h: + (WebCore::SVGPaint::create): + (WebCore::SVGPaint::paintType): + (WebCore::SVGPaint::isSVGPaint): + * svg/SVGParserUtilities.cpp: + * svg/SVGParserUtilities.h: + (WebCore::isWhitespace): + (WebCore::skipOptionalSpaces): + (WebCore::skipOptionalSpacesOrDelimiter): + * svg/SVGPathElement.cpp: + * svg/SVGPathParserFactory.h: + * svg/SVGPathSegList.h: + +2010-12-22 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Sam Weinig. + + AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property + https://bugs.webkit.org/show_bug.cgi?id=51481 + + Support aria-multiline and use it to change the role of an ARIA "textbox" + from AXTextArea to AXTextField. + + Test: platform/mac/accessibility/aria-multiline.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::ariaIsMultiline): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isPasswordField): + (WebCore::AccessibilityObject::isTextControl): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): + * accessibility/AccessibilityRenderObject.h: + * html/HTMLAttributeNames.in: + +2010-12-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + CSS 2.1 failure: counter-increment-013 fails + https://bugs.webkit.org/show_bug.cgi?id=51483 + + Clamp the counter-increment property to the valid range of signed + integers. + + Test: fast/css/counters/counter-increment-overflow.html + + * css/CSSParser.cpp: + (WebCore::clampToSignedInteger): + (WebCore::CSSParser::parseCounter): + +2010-12-22 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + Changed WebKitTools to Tools in script build phases. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-21 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Fixing crash with empty render surfaces. + https://bugs.webkit.org/show_bug.cgi?id=51432 + + Test: platform/chromium/compositing/empty-render-surface-crasher.html + + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::draw): + +2010-12-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: persist JavaScript breakpoints in frontend settings. + https://bugs.webkit.org/show_bug.cgi?id=48434 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::restoreBreakpoint): + (WebCore::InspectorDebuggerAgent::clearForPageNavigation): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.DOMBreakpoint.prototype._serializeToJSON): + (WebInspector.JavaScriptBreakpoint): + (WebInspector.XHRBreakpoint.prototype._serializeToJSON): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + * inspector/front-end/SourceFrame.js: + +2010-12-20 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=51354 + Don't block rendering and script execution on deferred stylesheets + + - Don't add low priority stylesheets to the document pending sheet count. + - Resolve media attribute fully for the link element stylesheet load. + + Test: http/tests/local/stylesheet-and-script-load-order-media-print.html + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::HTMLLinkElement): + (WebCore::HTMLLinkElement::~HTMLLinkElement): + (WebCore::HTMLLinkElement::setDisabledState): + (WebCore::HTMLLinkElement::process): + (WebCore::HTMLLinkElement::sheetLoaded): + (WebCore::HTMLLinkElement::addPendingSheet): + (WebCore::HTMLLinkElement::removePendingSheet): + * html/HTMLLinkElement.h: + +2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74473. + http://trac.webkit.org/changeset/74473 + https://bugs.webkit.org/show_bug.cgi?id=51463 + + broke compilation on leopard intel release (Requested by + podivilov on #webkit). + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + (WebCore::InspectorController::breakpointsSettingKey): + (WebCore::InspectorController::loadBreakpoints): + (WebCore::InspectorController::saveBreakpoints): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::formatBreakpointId): + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::clearForPageNavigation): + (WebCore::InspectorDebuggerAgent::md5Base16): + (WebCore::InspectorDebuggerAgent::loadBreakpoints): + (WebCore::InspectorDebuggerAgent::saveBreakpoints): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.jsBreakpointId): + (WebInspector.Breakpoint.prototype.set enabled): + (WebInspector.Breakpoint.prototype.get id): + (WebInspector.Breakpoint.prototype.set condition): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._createDOMBreakpoint): + (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype._createXHRBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled): + (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.DOMBreakpoint.prototype._serializeToJSON): + (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON): + (WebInspector.XHRBreakpoint.prototype._serializeToJSON): + (WebInspector.NativeBreakpointView.prototype.set enabled): + (WebInspector.NativeBreakpointView.prototype.remove): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint): + (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.findBreakpoint): + (WebInspector.DebuggerModel.prototype.reset): + (WebInspector.DebuggerModel.prototype._setBreakpoint): + (WebInspector.DebuggerModel.prototype._breakpointRemoved): + (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend): + (WebInspector.DebuggerModel.prototype.breakpointRestored): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.continueToLine): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._mouseDown): + (WebInspector.SourceFrame.prototype._continueToLine): + (WebInspector.SourceFrame.prototype._setBreakpoint): + +2010-12-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: persist JavaScript breakpoints in frontend settings. + https://bugs.webkit.org/show_bug.cgi?id=48434 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::restoreBreakpoint): + (WebCore::InspectorDebuggerAgent::clearForPageNavigation): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.DOMBreakpoint.prototype._serializeToJSON): + (WebInspector.JavaScriptBreakpoint): + (WebInspector.XHRBreakpoint.prototype._serializeToJSON): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + * inspector/front-end/SourceFrame.js: + +2010-12-22 Dirk Schulze <krit@wbekit.org> + + Reviewed by Nikolas Zimmermann. + + Cleanup SVG code according to the webkit style rules 1 + https://bugs.webkit.org/show_bug.cgi?id=51411 + + First patch to fix indention and other style issues according to the WebKit style rules in the SVG code. + + No change of functionality. + + * svg/ColorDistance.cpp: + (WebCore::ColorDistance::isZero): + * svg/ColorDistance.h: + * svg/ElementTimeControl.h: + (WebCore::ElementTimeControl::~ElementTimeControl): + * svg/LinearGradientAttributes.h: + (WebCore::LinearGradientAttributes::LinearGradientAttributes): + (WebCore::LinearGradientAttributes::x1): + (WebCore::LinearGradientAttributes::y1): + (WebCore::LinearGradientAttributes::x2): + (WebCore::LinearGradientAttributes::y2): + (WebCore::LinearGradientAttributes::setX1): + (WebCore::LinearGradientAttributes::setY1): + (WebCore::LinearGradientAttributes::setX2): + (WebCore::LinearGradientAttributes::setY2): + (WebCore::LinearGradientAttributes::hasX1): + (WebCore::LinearGradientAttributes::hasY1): + (WebCore::LinearGradientAttributes::hasX2): + (WebCore::LinearGradientAttributes::hasY2): + * svg/RadialGradientAttributes.h: + (WebCore::RadialGradientAttributes::RadialGradientAttributes): + (WebCore::RadialGradientAttributes::cx): + (WebCore::RadialGradientAttributes::cy): + (WebCore::RadialGradientAttributes::r): + (WebCore::RadialGradientAttributes::fx): + (WebCore::RadialGradientAttributes::fy): + (WebCore::RadialGradientAttributes::setCx): + (WebCore::RadialGradientAttributes::setCy): + (WebCore::RadialGradientAttributes::setR): + (WebCore::RadialGradientAttributes::setFx): + (WebCore::RadialGradientAttributes::setFy): + (WebCore::RadialGradientAttributes::hasCx): + (WebCore::RadialGradientAttributes::hasCy): + (WebCore::RadialGradientAttributes::hasR): + (WebCore::RadialGradientAttributes::hasFx): + (WebCore::RadialGradientAttributes::hasFy): + * svg/SVGAngle.cpp: + * svg/SVGAnimateColorElement.h: + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::calculateAnimatedValue): + (WebCore::SVGAnimateElement::calculateDistance): + * svg/SVGAnimateElement.h: + * svg/SVGAnimateMotionElement.cpp: + * svg/SVGAnimateMotionElement.h: + * svg/SVGAnimatedNumber.h: + * svg/SVGAnimationElement.cpp: + (WebCore::parseKeyTimes): + (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): + (WebCore::SVGAnimationElement::updateAnimation): + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::svgAttributeChanged): + * svg/SVGColor.h: + (WebCore::SVGColor::create): + (WebCore::SVGColor::createCurrentColor): + (WebCore::SVGColor::colorType): + (WebCore::SVGColor::setRGBColor): + (WebCore::SVGColor::color): + (WebCore::SVGColor::isSVGColor): + * svg/SVGCursorElement.cpp: + (WebCore::SVGCursorElement::svgAttributeChanged): + * svg/SVGCursorElement.h: + * svg/SVGDescElement.h: + (WebCore::SVGDescElement::rendererIsNeeded): + * svg/SVGDocument.cpp: + * svg/SVGDocument.h: + (WebCore::SVGDocument::create): + (WebCore::SVGDocument::isSVGDocument): + * svg/SVGElement.h: + (WebCore::SVGElement::isStyled): + (WebCore::SVGElement::isStyledTransformable): + (WebCore::SVGElement::isStyledLocatable): + (WebCore::SVGElement::isSVG): + (WebCore::SVGElement::isFilterEffect): + (WebCore::SVGElement::isGradientStop): + (WebCore::SVGElement::isTextContent): + (WebCore::SVGElement::isValid): + (WebCore::SVGElement::svgAttributeChanged): + (WebCore::SVGElement::synchronizeProperty): + (WebCore::SVGElement::supplementalTransform): + (WebCore::SVGElement::invalidateSVGAttributes): + (WebCore::SVGElement::rendererIsNeeded): + (WebCore::SVGElement::needsPendingResourceHandling): + (WebCore::SVGElement::buildPendingResource): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::create): + (WebCore::SVGElementInstance::correspondingElement): + (WebCore::SVGElementInstance::correspondingUseElement): + (WebCore::SVGElementInstance::shadowTreeElement): + (WebCore::SVGElementInstance::parentNode): + (WebCore::SVGElementInstance::previousSibling): + (WebCore::SVGElementInstance::nextSibling): + (WebCore::SVGElementInstance::firstChild): + (WebCore::SVGElementInstance::lastChild): + (WebCore::SVGElementInstance::ownerDocument): + (WebCore::SVGElementInstance::toNode): + (WebCore::SVGElementInstance::toSVGElementInstance): + (WebCore::SVGElementInstance::hasChildNodes): + (WebCore::SVGElementInstance::setFirstChild): + (WebCore::SVGElementInstance::setLastChild): + (WebCore::SVGElementInstance::setNextSibling): + (WebCore::SVGElementInstance::setPreviousSibling): + (WebCore::SVGElementInstance::refEventTarget): + (WebCore::SVGElementInstance::derefEventTarget): + * svg/SVGElementInstanceList.h: + (WebCore::SVGElementInstanceList::create): + * svg/SVGException.h: + (WebCore::SVGException::create): + (WebCore::SVGException::SVGException): + * svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): + * svg/SVGFEComponentTransferElement.cpp: + (WebCore::SVGFEComponentTransferElement::build): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::findLights): + * svg/SVGFont.cpp: + (WebCore::convertEmUnitToPixel): + * svg/SVGUseElement.cpp: + (WebCore::isDirectReference): + +2010-12-22 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + https://bugs.webkit.org/show_bug.cgi?id=51289 + Initial state of checkValidity() and :invalid are incorrect with <select required> + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change. + +2010-12-22 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly + https://bugs.webkit.org/show_bug.cgi?id=51405 + + Invoke markPropertyStart() after the parser has restored after an error. + + * css/CSSGrammar.y: + +2010-12-22 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Assertion failure with <select multiple required> + https://bugs.webkit.org/show_bug.cgi?id=51260 + + Test: fast/css/pseudo-valid-select-click.html + + * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache. + (WebCore::SelectElement::updateListBoxSelection): + +2010-12-21 Darin Adler <darin@apple.com> + + Unreviewed correction to unreviewed build fix for r74447. + + Inappropriate code was left behind in sourceURI function for non-Dashboard platforms. + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround + logic is inside the #ifdef. + +2010-12-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Include the shadow color space as part of the GraphicsContext state + https://bugs.webkit.org/show_bug.cgi?id=51420 + + Include the ColorSpace for the shadow color as part of the graphics + state. This will be used later for a shadow implementation that + does not rely on platform shadow code. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawGlyphs): + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleDrawTextShadow): + * platform/graphics/win/FontCGWin.cpp: + (WebCore::drawGDIGlyphs): + (WebCore::Font::drawGlyphs): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::drawText): + +2010-12-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent + https://bugs.webkit.org/show_bug.cgi?id=51413 + + 71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the + scheduling, which is host-dependent, before calling willSendRequest, because the latter can + change the host. + + * loader/NetscapePlugInStreamLoader.cpp: + (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init() + and return 0 if it is false. + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest() + from start() into here. Return false if willSendRequest() canceled the request. + (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init(). + * loader/ResourceLoader.h: + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init() + and return 0 if it is false. + +2010-12-21 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Darin Adler. + + Shift-End does not select to the end of the line + https://bugs.webkit.org/show_bug.cgi?id=50610 + + Let the VisiblePosition affinity for end of line selection to be set by + visibleEnd/visibleStart rather than using end/start and always using UPSTREAM. + + Test: editing/selection/extend-to-line-boundary.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than + start/end. + (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity. + +2010-12-21 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Simon Fraser. + + matrix3d() must take the zoom factor into account + https://bugs.webkit.org/show_bug.cgi?id=51408 + + Test: transforms/3d/general/matrix-with-zoom-3d.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::createTransformOperations): + +2010-12-21 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Move V8 to common implementation of window.open + https://bugs.webkit.org/show_bug.cgi?id=51385 + + I also changed some function names to match WebKit style. There's a + bunch of code we can remove in the generic bindings now. I'll do that + in the next patch. + + * bindings/generic/BindingDOMWindow.h: + (WebCore::::open): + * bindings/generic/BindingFrame.h: + (WebCore::::navigateIfAllowed): + * bindings/generic/BindingSecurity.h: + (WebCore::::canAccessWindow): + (WebCore::::allowPopUp): + (WebCore::::shouldAllowNavigation): + * bindings/generic/GenericBinding.h: + (WebCore::completeURL): + * bindings/js/JSDOMBinding.cpp: + (WebCore::toLexicalFrame): + (WebCore::toDynamicFrame): + * bindings/js/specialization/JSBindingState.cpp: + (WebCore::::activeFrame): + (WebCore::::firstFrame): + * bindings/js/specialization/JSBindingState.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::callingOrEnteredFrame): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::locationAccessorSetter): + (WebCore::V8DOMWindow::openCallback): + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::activeWindow): + (WebCore::::firstWindow): + (WebCore::::activeFrame): + (WebCore::::firstFrame): + * bindings/v8/specialization/V8BindingState.h: + +2010-12-21 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed build fix for r74447. + + Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled. + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): + +2010-12-21 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget + + Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html + + The Address Book widget sets the src attribute of an img element to a string that looks like a CSS + URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using + the wrong function to parse URL attributes (last named deprecatedParseURL). + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("' + and ends with '")', and if so, strip those away. + +2010-12-21 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + CharacterData needs cleanup + https://bugs.webkit.org/show_bug.cgi?id=51426 + + Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer. + + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): Calls setDataAndUpdate. + (WebCore::CharacterData::parserAppendData): Ditto. + (WebCore::CharacterData::appendData): Ditto. + (WebCore::CharacterData::insertData): Ditto. + (WebCore::CharacterData::deleteData): Ditto. + (WebCore::CharacterData::replaceData): Ditto. + (WebCore::CharacterData::setDataAndUpdate): Added. + (WebCore::CharacterData::updateRenderer): Added. + (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData. + * dom/CharacterData.h: + +2010-12-21 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74420. + http://trac.webkit.org/changeset/74420 + https://bugs.webkit.org/show_bug.cgi?id=51436 + + causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash + (Requested by tonyg-cr 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): + +2010-12-21 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Fisher. + + Enable extensions used in accelerated 2D canvas implementation + https://bugs.webkit.org/show_bug.cgi?id=51433 + + Call Extensions3D::ensureEnabled() for all supported extensions + the accelerated 2D Canvas implementation uses. Tested with a few + layout tests previously failing when run in Chromium due to OpenGL + INVALID_ENUM and other errors. + + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::create): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::supportsBGRA): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + +2010-12-21 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + WebGLRenderingContext needs to zero textures and renderbuffers + https://bugs.webkit.org/show_bug.cgi?id=49355 + + Test: fast/canvas/webgl/uninitialized-test.html + + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed. + (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist. + * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter. + (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::drawArrays): Ditto. + (WebCore::WebGLRenderingContext::drawElements): Ditto. + (WebCore::WebGLRenderingContext::readPixels): Ditto. + (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures. + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0. + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe. + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::generateColorTexture): Ditto. + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto. + * platform/graphics/chromium/TextureManager.cpp: + (WebCore::TextureManager::requestTexture): Ditto. + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::allocateTexture): Ditto. + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer. + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe. + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::create): Ditto. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in. + +2010-12-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioBusChromium for decoding audio file data + https://bugs.webkit.org/show_bug.cgi?id=51430 + + No new tests since audio API is not yet implemented. + + * platform/audio/chromium: Added. + * platform/audio/chromium/AudioBusChromium.cpp: Added. + (WebCore::createBusFromInMemoryAudioFile): + +2010-12-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add web audio spatialization resource files + https://bugs.webkit.org/show_bug.cgi?id=50998 + + No new tests since audio API is not yet implemented. + + * platform/audio/HRTFElevation.cpp: + (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation): + * platform/audio/mac/AudioBusMac.mm: + (WebCore::AudioBus::loadPlatformResource): + * platform/audio/resources: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added. + +2010-12-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Gavin Barraclough & Oliver Hunt. + + Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements + https://bugs.webkit.org/show_bug.cgi?id=51359 + + * ForwardingHeaders/wtf/PageAllocationAligned.h: Added. + +2010-12-21 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=49774 + Need to scale translation values in matrix() by the zoom factor. + + Test: fast/transforms/matrix-with-zoom.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::createTransformOperations): + +2010-12-21 Jian Li <jianli@chromium.org> + + Reviewed by Darin Adler. + + Fix bug 51366: REGRESSION (r66452): Form data no longer contains + 'Content-Type' header for files with unrecognized extensions + https://bugs.webkit.org/show_bug.cgi?id=51366 + + Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html + + * platform/network/FormData.cpp: + (WebCore::FormData::appendKeyValuePairItems): + +2010-12-21 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Mac WebKit delivers an extra didCommit when loading web archives + https://bugs.webkit.org/show_bug.cgi?id=51419 + + Could not find a simple way to test this in WebKit1, but in WebKit2 + it leads to an immediate failure when loading a web archive. Tested + that making the Mac share the same code path with other platforms + works fine in WebKit1. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for + the Mac platform. Also removed the call to isArchiveMimeType since we + get a 0 from ArchiveFactory::create in that case. + + * loader/archive/ArchiveFactory.cpp: + (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by + adding a special case for null and empty strings, since hash tables can't + handle null strings. + (WebCore::ArchiveFactory::create): Ditto. + +2010-12-21 Yong Li <yoli@rim.com> + + 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::suspendParsing): + (WebCore::DocumentParser::resumeParsing): + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::suspendParsing): + (WebCore::HTMLDocumentParser::resumeParsing): + * 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): + +2010-12-21 Anders Carlsson <andersca@apple.com> + + Reviewed by John Sullivan. + + Clicking missing plug-in text does not show a sheet + https://bugs.webkit.org/show_bug.cgi?id=51403 + + * WebCore.exp.in: + Export symbols needed by WebKit2. + + * WebCore.xcodeproj/project.pbxproj: + Make HTMLPlugInImageElement.h a private header. + + * html/HTMLPlugInImageElement.h: + (WebCore::HTMLPlugInImageElement::serviceType): + (WebCore::HTMLPlugInImageElement::url): + Make these member functions public. + +2010-12-21 Andras Becsi <abecsi@webkit.org> + + Unreviewed build fix. + + [Qt] Fix the build with USE_GSTREAMER=1 + + No new tests needed. + + * WebCore.pro: remove nonexisting DataSourceGStreamer sources. + +2010-12-21 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] QtWebKit doesn't build in debug on Windows + https://bugs.webkit.org/show_bug.cgi?id=41930 + + Disable incremental linking in windows 32bit debug version as webkit is so + big it fails to link incremental. + + Build fix. No new test cases added. + + * WebCore.pro: + +2010-12-21 Dominic Cooney <dominicc@google.com> + + Reviewed by Adam Barth. + + Rename Node::isShadowNode to isShadowRoot + https://bugs.webkit.org/show_bug.cgi?id=51060 + + The method gets whether the node is the root of a shadow tree; + renamed to reflect intent. + + A simple rename--no new tests needed. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + * dom/Node.cpp: + (WebCore::Node::shadowTreeRootNode): + (WebCore::Node::isInShadowTree): + (WebCore::eventTargetRespectingSVGTargetRules): + (WebCore::Node::getEventAncestors): + * dom/Node.h: + (WebCore::Node::isShadowRoot): + * dom/Range.cpp: + (WebCore::Range::checkNodeBA): + * page/DragController.cpp: + (WebCore::asFileInput): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::dispatchMouseEvent): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::hasLineIfEmpty): + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::attachInnerElement): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::title): + * svg/SVGUseElement.cpp: + (WebCore::ShadowTreeUpdateBlocker::while): + * svg/animation/SVGSMILElement.cpp: + (WebCore::SVGSMILElement::insertedIntoDocument): + +2010-12-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> + + Reviewed by Andreas Kling. + + Qt port of geolocation, geoposition objects timestamp was in seconds + instead of miliseconds as per HTML5 Geolocation standards. + Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface + http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp + + Implemented by Asheesh Srivastava. + + [QT] QtWebkit geolocation's position.timestamp is not in miliseconds + https://bugs.webkit.org/show_bug.cgi?id=51100 + + Porting code not covered in layout testing. No new tests added. + + * platform/qt/GeolocationServiceQt.cpp: + (WebCore::GeolocationServiceQt::positionUpdated): + +2010-12-20 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Eric Seidel. + + Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded + https://bugs.webkit.org/show_bug.cgi?id=26183 + + Test: fast/css/font-face-font-family-descriptor.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule + invalid if its font-family descriptor has multiple (or zero) families. + +2010-12-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: fall back to object formatting in case dom is not yet loaded. + https://bugs.webkit.org/show_bug.cgi?id=44273 + + Sometimes DOM is loaded after the inline message is being formatted, so we get + no nodeId for it. Let us fall back to object formatting in such cases. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._formatnode): + (WebInspector.ConsoleMessage): + +2010-12-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: cycle through tag name / attributes / new attribute on Tab. + + https://bugs.webkit.org/show_bug.cgi?id=38429 + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded): + +2010-12-20 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WebSocket errors should be logged to console + https://bugs.webkit.org/show_bug.cgi?id=40945 + + Test: http/tests/inspector/console-websocket-error.html + + * platform/network/SocketStreamErrorBase.cpp: + (WebCore::SocketStreamErrorBase::compare): + * platform/network/SocketStreamErrorBase.h: + (WebCore::SocketStreamErrorBase::failingURL): + (WebCore::SocketStreamErrorBase::localizedDescription): + (WebCore::SocketStreamErrorBase::SocketStreamErrorBase): + * platform/network/cf/SocketStreamError.h: + (WebCore::SocketStreamError::SocketStreamError): + * platform/network/cf/SocketStreamHandle.h: + * platform/network/cf/SocketStreamHandleCFNet.cpp: + (WebCore::SocketStreamHandle::readStreamCallback): + (WebCore::SocketStreamHandle::writeStreamCallback): + (WebCore::SocketStreamHandle::reportErrorToClient): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::didFail): + +2010-12-17 MORITA Hajime <morrita@google.com> + + Reviewed by James Robinson. + + https://bugs.webkit.org/show_bug.cgi?id=51240 + [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia. + + Even after a shader was set, old color value had been remaining and passed to Skia. + Then Skia refered an alpha component of that color to make pixels transparent. + This change invalidates existing color value when a shader is given, + which means the renderer will paint shapes with gradients or patterns. + + Test: fast/gradients/gradient-after-transparent-border.html + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::setStrokeShader): + (WebCore::PlatformContextSkia::setFillShader): + +2010-12-20 Xiaomei Ji <xji@chromium.org> + + Reviewed by Dan Bernstein. + + Fix move left/right by character hang. + https://bugs.webkit.org/show_bug.cgi?id=51344 + + Test: editing/selection/51344.html + + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + +2010-12-20 Steve Lacey <sjl@chromium.org> + + Reviewed by David Levin. + + Add missing default styles in mediaControlsChromium.css to prevent + user overrides. + https://bugs.webkit.org/show_bug.cgi?id=51360 + + No new tests needed as functionality is covered by existing layout + tests. + + + * css/mediaControlsChromium.css: + (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): + (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): + +2010-12-20 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Add lastModifiedDate attribute to File interface per File API spec + https://bugs.webkit.org/show_bug.cgi?id=49895 + + lastModifiedDate is not supported for GObject bindings because Date is + not support in code generation. + + Test: http/tests/local/fileapi/file-last-modified.html + + * fileapi/File.cpp: + (WebCore::File::lastModifiedDate): + * fileapi/File.h: + * fileapi/File.idl: + +2010-12-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8757601> Don't install header files in to the Resources directory. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-20 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned + https://bugs.webkit.org/show_bug.cgi?id=51338 + + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::ZigZag::Reader::readUint32): + +2010-12-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Ada Chan. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in + RenderMathMLSubSup::layout() because of null base + -and corresponding- + <rdar://problem/8712200> + + Only use base inside if(base) block. + * mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::layout): + +2010-12-20 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + Crash at WebCore::SplitElementCommand::SplitElementCommand + https://bugs.webkit.org/show_bug.cgi?id=51278 + <rdar://problem/7347139> + + Executing outdent command on an inline blockquote that is + not the first element in a block causes a crash. + The fix consists in chaging the was the start of block is + calculated in case of the inline blockquote. + + Test: editing/execCommand/outdent-inline-blockquote.html + editing/execCommand/outdent-inline-list.html + + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::outdentParagraph): + +2010-12-20 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin Adler. + + Need to support serialisation of cyclic graphs in the internal structured cloning algorithm + https://bugs.webkit.org/show_bug.cgi?id=51353 + + The Internal Structured Clone algorithm has been changed to allow (and + correctly clone) cyclic graphs. This patch updates our implementation + to provide that functionality. + + I've bumped the serialization version number, and added ObjectReferenceTag + to represent references to objects that have already been seen. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::startObjectInternal): + Now that we have something a bit more complex than cycle checking + I've replaced the duplicate code in startObject and startArray with + a shared function that implements that logic to plant an object + reference + (WebCore::CloneSerializer::startObject): + (WebCore::CloneSerializer::startArray): + Lift out duplicate code + (WebCore::CloneSerializer::endObject): + Can't remove objects from the gcbuffer now as they need to remain live + so we can identify graphs + (WebCore::CloneSerializer::writeStringIndex): + (WebCore::CloneSerializer::writeObjectIndex): + (WebCore::CloneSerializer::writeConstantPoolIndex): + (WebCore::CloneSerializer::write): + (WebCore::CloneSerializer::serialize): + (WebCore::CloneDeserializer::readStringIndex): + (WebCore::CloneDeserializer::readConstantPoolIndex): + (WebCore::CloneDeserializer::readTerminal): + (WebCore::CloneDeserializer::deserialize): + +2010-12-20 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + * GNUmakefile.am: add missing files. + +2010-12-20 Abhishek Arya <inferno@chromium.org> + + Reviewed by James Robinson. + + Pass the correct beforeChild value when adding a child to an anonymous table part. + https://bugs.webkit.org/show_bug.cgi?id=50932 + + When a "before" content child was added to an anonymous table part, it was added + after the last child. This patch fixes the behavior by adding it properly before + the first child. + + Test: fast/css-generated-content/table-before-child-add.html + + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): + +2010-12-18 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 26276 - Need a mechanism to determine stack extent + + Add forwarding header for StackBounds.h. + + * ForwardingHeaders/wtf/StackBounds.h: Added. + +2010-12-20 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r74278. + http://trac.webkit.org/changeset/74278 + https://bugs.webkit.org/show_bug.cgi?id=50833 + + [chromium] Causes many layout tests to crash + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::setScissorToRect): + * platform/graphics/chromium/LayerRendererChromium.h: + +2010-12-20 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Factored common page set management into a new PageBlock base class + https://bugs.webkit.org/show_bug.cgi?id=51285 + + * ForwardingHeaders/wtf/PageBlock.h: Added. + +2010-12-20 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + GeolocationPositionCache should do database access on background thread + https://bugs.webkit.org/show_bug.cgi?id=50825 + + Covered by existing Geolocation tests. + + * page/Coordinates.h: + (WebCore::Coordinates::threadSafeCopy): + * page/GeolocationPositionCache.cpp: + (WebCore::GeolocationPositionCache::GeolocationPositionCache): + (WebCore::GeolocationPositionCache::addUser): + (WebCore::GeolocationPositionCache::removeUser): + (WebCore::GeolocationPositionCache::setDatabasePath): + (WebCore::GeolocationPositionCache::setCachedPosition): + (WebCore::GeolocationPositionCache::cachedPosition): + (WebCore::GeolocationPositionCache::startBackgroundThread): + (WebCore::GeolocationPositionCache::threadEntryPoint): + (WebCore::GeolocationPositionCache::threadEntryPointImpl): + (WebCore::GeolocationPositionCache::triggerReadFromDatabase): + (WebCore::GeolocationPositionCache::readFromDatabase): + (WebCore::GeolocationPositionCache::readFromDatabaseImpl): + (WebCore::GeolocationPositionCache::triggerWriteToDatabase): + (WebCore::GeolocationPositionCache::writeToDatabase): + (WebCore::GeolocationPositionCache::writeToDatabaseImpl): + * page/GeolocationPositionCache.h: + * page/Geoposition.h: + (WebCore::Geoposition::threadSafeCopy): + (WebCore::Geoposition::Geoposition): + +2010-12-20 Andras Becsi <abecsi@webkit.org> + + Unreviewed build fix. + + [Qt][V8] Add missing sources to the pro file and remove duplications to fix linking. + + No new tests needed. + + * WebCore.pro: + +2010-12-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Make CSSCompletions a real class rather than singleton + https://bugs.webkit.org/show_bug.cgi?id=51332 + + Drive-by: make use of keywords from re2js in the CSS tokenizer + (apparently, various authors have presumed that re2js is processed at build time). + + No new tests, as this is a refactoring. + + * inspector/front-end/CSSCompletions.js: + (WebInspector.CSSCompletions): + (WebInspector.CSSCompletions.prototype.startsWith): + (WebInspector.CSSCompletions.prototype.firstStartsWith): + (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix): + (WebInspector.CSSCompletions.prototype.keySet): + (WebInspector.CSSCompletions.prototype.next): + (WebInspector.CSSCompletions.prototype.previous): + (WebInspector.CSSCompletions.prototype._closest): + * inspector/front-end/SourceCSSTokenizer.js: + (WebInspector.SourceCSSTokenizer): + * inspector/front-end/SourceCSSTokenizer.re2js: + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/inspector.js: + (WebInspector.doLoadedDone.propertyNamesCallback): + (WebInspector.doLoadedDone): + +2010-12-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided. + https://bugs.webkit.org/show_bug.cgi?id=50813 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._addBreakpoint): + (WebInspector.SourceFrame.prototype._breakpointRemoved): + (WebInspector.SourceFrame.prototype._breakpointChanged): + (WebInspector.SourceFrame.prototype._setBreakpointDecoration): + (WebInspector.SourceFrame.prototype._removeBreakpointDecoration): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing): + (WebInspector.SourceFrame.prototype._editBreakpointCondition): + (WebInspector.SourceFrame.prototype._continueToLine): + (WebInspector.SourceFrame.prototype._setBreakpoint): + +2010-12-20 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit. + https://bugs.webkit.org/show_bug.cgi?id=51112 + + Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort. + + Test: storage/indexeddb/transaction-crash-on-abort.html + + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::abort): + (WebCore::IDBTransactionBackendImpl::commit): + +2010-12-20 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBCursor::delete is not implemented. + https://bugs.webkit.org/show_bug.cgi?id=51110 + + Implement IDBCursor::delete. + See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete + + Tests: storage/indexeddb/cursor-delete.html + storage/indexeddb/cursor-index-delete.html + + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::deleteFunction): + * storage/IDBCursor.h: + * storage/IDBCursor.idl: + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): + (WebCore::IDBCursorBackendImpl::deleteFunction): + (WebCore::IDBCursorBackendImpl::loadCurrentRow): + * storage/IDBCursorBackendImpl.h: + (WebCore::IDBCursorBackendImpl::create): + * storage/IDBCursorBackendInterface.h: + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::openCursorInternal): + * storage/IDBKey.cpp: + (WebCore::IDBKey::fromQuery): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): + +2010-12-20 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: After a multiline command execution Console does not show the command prompt + https://bugs.webkit.org/show_bug.cgi?id=51257 + + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt.prototype._moveBackInHistory): + (WebInspector.TextPrompt.prototype._moveForwardInHistory): + +2010-12-19 Helder Correia <helder@sencha.com> + + Reviewed by Ariya Hidayat. + + [Qt] Blur distance should not be affected by transformations + https://bugs.webkit.org/show_bug.cgi?id=51161 + + From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur: + "The shadowBlur attribute specifies the level of the blurring effect. + (The units do not map to coordinate space units, and are not affected + by the current transformation matrix.)" + + Test: fast/canvas/canvas-scale-shadowBlur.html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::adjustBlurDistance): + * platform/graphics/ContextShadow.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::beginShadowLayer): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + +2010-12-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Cameron Zwarich. + + Text emphasis marks are not repainted correctly in flipped writing modes + https://bugs.webkit.org/show_bug.cgi?id=51307 + + Tests: fast/repaint/text-emphasis-h.html + fast/repaint/text-emphasis-v.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check. + +2010-12-19 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Andreas Kling. + + Remove m_drawsContents from RenderSVGContainer.h + https://bugs.webkit.org/show_bug.cgi?id=51305 + + Remove m_drawsContents, its getter and setter and the call + sites, since it has no effect anymore. + + * WebCore.order: + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::RenderSVGContainer): + (WebCore::RenderSVGContainer::paint): + * rendering/RenderSVGContainer.h: + * rendering/RenderSVGResourceContainer.h: + * rendering/SVGImageBufferTools.cpp: + (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): + +2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + WebKit does not build with worker but without the javascript debugger + https://bugs.webkit.org/show_bug.cgi?id=51293 + + Add missing guard for calls depending on the debugger. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::postWorkerNotificationToFrontend): + +2010-12-18 Tom Sepez <tsepez@chromium.org> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=51055 + Fix a null de-reference when an XML file contains a malformed entity + of the form "&:;". + + Test: fast/parser/xml-colon-entity.html + + * html/parser/HTMLEntitySearch.cpp: + (WebCore::HTMLEntitySearch::advance): + +2010-12-18 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by David Levin. + + [chromium] Simplify the PNG encoder. + https://bugs.webkit.org/show_bug.cgi?id=50905 + + Remove PNGEncoderState class - it was a proxy for the encoder output, and + that is a Vector<>, so just write into it directly using append() to make + use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA() + and encode() routines, replace the OwnArrayPtr<> with a Vector<>. + + canvas.toDataURL("image/png") is covered by existing tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it. + (WebCore::preMultipliedBGRAtoRGBA): simplified. + (WebCore::PNGImageEncoder::encode): ditto. + +2010-12-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Cameron Zwarich. + + Text emphasis marks are not always included in the selection highlight + https://bugs.webkit.org/show_bug.cgi?id=51299 + + Affects pixel results of fast/text/emphasis.html + + Account for annotations in selectionTop() and selectionBottom(). + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::selectionTop): + (WebCore::RootInlineBox::selectionBottom): + +2010-12-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Cameron Zwarich. + + In flipped writing modes, opposite text emphasis marks from adjacent lines overlap + https://bugs.webkit.org/show_bug.cgi?id=51298 + + Test: fast/text/emphasis-overlap.html + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -. + +2010-12-18 Helder Correia <helder@sencha.com> and Martin Robinson <mrobinson@igalia.com> + + Reviewed by Ariya Hidayat. + + [Qt] Canvas shadow offset should not be affected by any transformation + https://bugs.webkit.org/show_bug.cgi?id=50422 + + On a canvas context, shadows are currently affected by all + transformations except scaling. According to the spec: + http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows + + "The shadowOffsetX and shadowOffsetY attributes specify the distance + that the shadow will be offset in the positive horizontal and positive + vertical distance respectively. Their values are in coordinate space + units. They are not affected by the current transformation matrix." + + NOTE: this applies only to canvas, not to box shadows. + + Test: fast/canvas/canvas-transforms-fillRect-shadow.html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + (WebCore::ContextShadow::setShadowsIgnoreTransforms): + (WebCore::ContextShadow::shadowsIgnoreTransforms): + (WebCore::ContextShadow::offset): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::mustUseContextShadow): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-18 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] TransparencyLayer should inherit its container render hints + https://bugs.webkit.org/show_bug.cgi?id=51283 + + * platform/graphics/qt/TransparencyLayer.h: + (WebCore::TransparencyLayer::TransparencyLayer): + +2010-12-18 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Laszlo Gombos. + + [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End} + https://bugs.webkit.org/show_bug.cgi?id=50943 + + See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start + + * dom/Document.cpp: + (WebCore::Document::finishedParsing): + * dom/DocumentTiming.h: + (WebCore::DocumentTiming::DocumentTiming): + * page/PerformanceTiming.cpp: + (WebCore::PerformanceTiming::domContentLoadedEventStart): + (WebCore::PerformanceTiming::domContentLoadedEventEnd): + * page/PerformanceTiming.h: + * page/PerformanceTiming.idl: + +2010-12-17 Justin Schuh <jschuh@chromium.org> + + Reviewed by Andreas Kling. + + Style fix for r73927 + https://bugs.webkit.org/show_bug.cgi?id=51194 + + No functionality change. No new tests needed. + + * html/HTMLCanvasElement.h: + +2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Buttons rendering was broken in r74129 + https://bugs.webkit.org/show_bug.cgi?id=51173 + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintRenderObject): + +2010-12-17 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Improve 'arithmetic' operator on feComposite + https://bugs.webkit.org/show_bug.cgi?id=51105 + + Fixing style errors and bug description for r74177. + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::arithmetic): + +2010-12-17 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + Updated for the renaming of WebKitTools to Tools + + * WebCore.vcproj/build-generated-files.sh: + * WebCore.vcproj/migrate-scripts.sh: + +2010-12-17 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by Darin Adler. + + A corrupted counter tree is created when renderers are added to the + tree bypassing RenderObject::addChild + https://bugs.webkit.org/show_bug.cgi?id=51270 + + This patch replaces the hack introduced for fixing bug 43812 + with code that addresses the underlying problem for that bug. + No new layout tests provided as there is no identified scenario when + visible behavior would be different, the internal datastructures + are maintained properly through this fix so the previous hack + introduced for bug 43812 is now removed. The fact that the + layout test introduced for 43812 continues to pass is proof that the + code works. + + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + Removed hack. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::addChild): + Moved call to counter nodes updater to lower level + functions to avoid bypass. + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::appendChildNode): + (WebCore::RenderObjectChildList::insertChildNode): + Changed to update the values of the counters that + may be inserted in the tree. + +2010-12-17 Shimeng (Simon) Wang <swang@google.com> + + Reviewed by Steve Block. + + Fix V8 JNI binding. + https://bugs.webkit.org/show_bug.cgi?id=51156 + + There're LayoutTests in: + http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber + to exercise these code paths. + Though Chromium don't run them. + Tested on Android fast/events/touch tests. + + * bridge/jni/v8/JNIUtilityPrivate.cpp: + (JSC::Bindings::convertNPVariantToJValue): + +2010-12-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Interrupted accelerated animation can break later transitions + <rdar://problem/8767714> + https://bugs.webkit.org/show_bug.cgi?id=51264 + + If we're still waiting for the 'animationDidStart' callback when renderers + get destroyed, then the m_waitingForStartTimeResponse flag could be left + set to 'true', which causes later transitions to never start. + + Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters + becomes empty. + + Test: transitions/interrupted-accelerated-transition.html + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): + +2010-12-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Interrupted accelerated animation can break later transitions + https://bugs.webkit.org/show_bug.cgi?id=51264 + + Step 1: code cleanup. + Rename "responseWait" variables to "startTimeResponseWait", to make it clear + the kind of response that is being waited for. + + Make a couple of methods private. + + No behavioral changes, so no tests. + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): + (WebCore::AnimationControllerPrivate::endAnimationUpdate): + (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): + (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): + (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): + (WebCore::AnimationControllerPrivate::startTimeResponse): + * page/animation/AnimationControllerPrivate.h: + +2010-12-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Layout and rendering of CSS text-emphasis + Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property + https://bugs.webkit.org/show_bug.cgi?id=48539 + + Tests: fast/text/emphasis-vertical.html + fast/text/emphasis.html + + Emphasis marks behave like they are stuck just above the ascender (or just below the + descender). They occupy space in the leading and in padding, and only grow the line space + if they cannot fit. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to + hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis + marks. + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks. + (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment() + to this and added adjustment for text emphasis marks. + (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function, + but for annotations under the glyphs. These can only be text emphasis marks. + * rendering/InlineFlowBox.h: + * rendering/InlineTextBox.cpp: + (WebCore::paintTextWithShadows): Paint emphasis marks. + (WebCore::InlineTextBox::paint): Ditto. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for + ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non- + flipped writing mode. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor(). + (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor(). + (WebCore::RenderObject::selectionEmphasisMarkColor): Added. + * rendering/RenderObject.h: + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members. + (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members. + (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this + and extended to deal with annotations over and under the line and the previous line. If both lines have + annotations into the space between the lines, maintain separation so that the annotations do not overlap. + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor. + (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto. + +2010-12-17 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by James Robinson. + + [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. + + External behaviour not changed, so no tests. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::setCompositeOffscreen): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::setScissorToRect): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::isCompositingOffscreen): + (WebCore::LayerRendererChromium::getOffscreenLayerTexture): + +2010-12-17 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] Default image interpolation should reset the render hint + https://bugs.webkit.org/show_bug.cgi?id=51233 + + Save initial SmoothPixmapTransform render hint so that it can be used + with default image interpolation quality to reset back the render hints. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::setImageInterpolationQuality): + +2010-12-17 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Support Date objects as keys. + https://bugs.webkit.org/show_bug.cgi?id=51193 + + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::createIDBKeyFromValue): + Use the new IDBKey factory functions, and support Date objects. + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + Create Date objects from DateType keys. + * storage/IDBKey.cpp: + (WebCore::IDBKey::fromQuery): + (WebCore::IDBKey::isEqual): + (WebCore::IDBKey::whereSyntax): + (WebCore::IDBKey::lowerCursorWhereFragment): + (WebCore::IDBKey::upperCursorWhereFragment): + (WebCore::IDBKey::bind): + (WebCore::IDBKey::bindWithNulls): + Update all SQL related functions to handle Date keys. + * storage/IDBKey.h: + (WebCore::IDBKey::createNull): + (WebCore::IDBKey::createNumber): + (WebCore::IDBKey::createString): + (WebCore::IDBKey::createDate): + Rename the create factories; since both number and date is just a + double, function overloading can't be used to discriminate between + the factories. + (WebCore::IDBKey::date): + Add getter for the date value. + +2010-12-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: add scripts parsed after resource load to SourceFrame. + https://bugs.webkit.org/show_bug.cgi?id=51243 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._addScript): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.addScript): + +2010-12-17 Anton Muhin <antonm@chromium.org> + + Reviewed by Yury Semikhatsky. + + [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html + https://bugs.webkit.org/show_bug.cgi?id=51121 + + Properly group style elements of HTML links, style elements and processing instructions. + + * bindings/v8/V8GCController.cpp: + (WebCore::NodeGrouperVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::addDOMObjectToGroup): + +2010-12-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload. + https://bugs.webkit.org/show_bug.cgi?id=51101 + + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): + +2010-12-17 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Laszlo Gombos. + + The inspector does not compile without JAVASCRIPT_DEBUGGER + https://bugs.webkit.org/show_bug.cgi?id=51246 + + Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER. + + * inspector/InspectorController.h: + +2010-12-17 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: clear extra/override headers when front-end is closed + https://bugs.webkit.org/show_bug.cgi?id=51244 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::willSendRequest): + +2010-12-17 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel. + https://bugs.webkit.org/show_bug.cgi?id=50893 + + Now Mac shortcuts are: + - Cmd F/G = find / next + - Cmd L = go to line + + Win/Linux: + - Ctrl+G = go to line + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._registerShortcuts): + * inspector/front-end/inspector.js: + (WebInspector._registerShortcuts): + +2010-12-16 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + Wrong check in ResourceHandleSoup in error cases + https://bugs.webkit.org/show_bug.cgi?id=51171 + + Calling didReceiveData with no data causes a crash in debug + builds. Checking for soupMsg->response_body->data is not correct as libsoup + always creates a buffer for that. Instead we should check for + soupMsg->response_body->length + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): + +2010-12-17 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p() + https://bugs.webkit.org/show_bug.cgi?id=49954 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::pushTransparencyLayerInternal): + (WebCore::GraphicsContext::beginTransparencyLayer): + +2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Compile warning introduced in r74129 + https://bugs.webkit.org/show_bug.cgi?id=51181 + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::gtkContainer): + +2010-12-17 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] Add sslHandshakeStart to interface + + https://bugs.webkit.org/show_bug.cgi?id=50400 + + Test: http/tests/misc/webtiming-ssl.php + + * page/PerformanceTiming.cpp: + (WebCore::PerformanceTiming::connectStart): Update comment. + (WebCore::PerformanceTiming::connectEnd): Remove SSL time. + (WebCore::PerformanceTiming::sslHandshakeStart): Added. + * page/PerformanceTiming.h: Added sslHandshakeStart. + * page/PerformanceTiming.idl: Ditto. + +2010-12-17 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] Navigation type enums should begin with TYPE_ + https://bugs.webkit.org/show_bug.cgi?id=51200 + + * page/PerformanceNavigation.cpp: + (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types. + * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED. + * page/PerformanceNavigation.idl: Ditto. + +2010-12-17 Steve Block <steveblock@google.com> + + Unreviewed build fix. + + Fix build when Geolocation is disabled. + + No new tests, build fix only. + + * page/Geolocation.h: + +2010-12-17 Patrick Gansterer <paroga@webkit.org> + + Unreviewed. WinCE build fix. + + * platform/graphics/GraphicsContext.h: + +2010-12-17 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: remove unnecessary dependencies from InspectorBackendStub. + + InspectorBackendStub is a transport-only thing but it has dependencies with + Callback.js and WebInspector namespace. Callback can be integrated into + InspectorBackendStub because it is the only client. + Without these dependencies InspectorBackendStub can be used as an API + wrapper for Inspector Protocol. + + https://bugs.webkit.org/show_bug.cgi?id=51184 + + * WebCore.gypi: + * inspector/CodeGeneratorInspector.pm: + * inspector/front-end/Callback.js: Removed. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2010-12-15 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Extension API] add support for adding/overriding HTTP request headers + https://bugs.webkit.org/show_bug.cgi?id=50493 + + Test: http/tests/inspector/extensions-headers.html + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): Apply extra headers. + (WebCore::InspectorController::setExtraHeaders): + * inspector/InspectorController.h: + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR): + (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer): + (WebInspector.ExtensionServer.prototype._onAddRequestHeaders): + +2010-12-16 Koan-Sin Tan <koansin.tan@gmail.com> + + Reviewed by Kent Tamura. + + Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux + https://bugs.webkit.org/show_bug.cgi?id=50365 + + No new tests. But this makes Chromimium Linux show + fast/blockflow/japanese-*-text.html and other vertical + writing text correctly as on WebKit and Chromimum for Mac. + + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::operator=): + (WebCore::FontPlatformData::operator==): + (WebCore::FontPlatformData::hash): + * platform/graphics/chromium/FontPlatformDataLinux.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::orientation): + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: + (WebCore::substituteWithVerticalGlyphs): + (WebCore::GlyphPage::fill): + +2010-12-16 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com> + + Reviewed by Eric Carlson. + + Provide an interface to require using fullscreen mediaplayer + https://bugs.webkit.org/show_bug.cgi?id=51133 + + Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit + to launch fullscreen video player for playing the html5 video. The + idea is that a browser vendor can specify this behavior through the + platform plugin or something else by using this interface. + + No new tests because no client implements requiresFullscreenForVideoPlayback yet. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updatePlayState): + (WebCore::HTMLMediaElement::exitFullscreen): + * page/Chrome.cpp: + (WebCore::Chrome::requiresFullscreenForVideoPlayback): + * page/Chrome.h: + * page/ChromeClient.h: + (WebCore::ChromeClient::requiresFullscreenForVideoPlayback): + +2010-12-16 Steve Block <steveblock@google.com> + + Reviewed by Steve Block. + + GeolocationPositionCache needs refactoring + https://bugs.webkit.org/show_bug.cgi?id=50826 + + No new tests, refactoring only. + + * page/Geolocation.cpp: + (WebCore::Geolocation::Geolocation): + (WebCore::Geolocation::makeCachedPositionCallbacks): + (WebCore::Geolocation::haveSuitableCachedPosition): + (WebCore::Geolocation::positionChangedInternal): + * page/Geolocation.h: + * page/GeolocationPositionCache.cpp: + (WebCore::GeolocationPositionCache::instance): + (WebCore::GeolocationPositionCache::GeolocationPositionCache): + (WebCore::GeolocationPositionCache::addUser): + (WebCore::GeolocationPositionCache::removeUser): + (WebCore::GeolocationPositionCache::setDatabasePath): + (WebCore::GeolocationPositionCache::setCachedPosition): + (WebCore::GeolocationPositionCache::cachedPosition): + (WebCore::GeolocationPositionCache::readFromDatabase): + (WebCore::GeolocationPositionCache::writeToDatabase): + * page/GeolocationPositionCache.h: + (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper): + (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper): + (WebCore::GeolocationPositionCacheWrapper::setCachedPosition): + (WebCore::GeolocationPositionCacheWrapper::cachedPosition): + +2010-12-16 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] GraphicsContext should respect QWebView render hints + https://bugs.webkit.org/show_bug.cgi?id=51208 + + GraphicsContext does not override SmoothPixmapTransform (see also + r62762). To keep the same behavior, canvas default image interpolation + quality is set to medium and QWebView's render hints by default also + include SmoothPixmapTransform. + + * html/HTMLCanvasElement.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + +2010-12-16 Daniel Bates <dbates@rim.com> + + Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217) + so as to be consistent with the formatting of the rest of this file. + + Also, add an empty line between the win32* and wince* conditional include blocks. + + * WebCore.pro: + +2010-12-16 Daniel Bates <dbates@rim.com> + + Reviewed by Antonio Gomes. + + [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp + on Windows if ENABLE_SMOOTH_SCROLLING=1 + https://bugs.webkit.org/show_bug.cgi?id=51215 + + Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building + the Qt Windows with smooth scrolling enabled. + + No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING). + + * WebCore.pro: + +2010-12-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + execCommand('JustifyCenter') adds extra BR + https://bugs.webkit.org/show_bug.cgi?id=51082 + + The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br + to new block and not removing it later. Fixed the bug by removing it when the paragraph + moved into the block didn't have a br at the end. + + Test: editing/execCommand/justify.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): + +2010-12-16 Jian Li <jianli@chromium.org> + + Unreviewed. Fixed chromium build break caused by r74207. + + * platform/ContextMenuItem.h: + +2010-12-16 Leandro Pereira <leandro@profusion.mobi> + + [EFL] Unreviewed build fix. + + Disable ContextMenu support for now while support for + CROSS_PLATFORM_MENUS is written. + + * CMakeListsEfl.txt: + * platform/ContextMenu.h: + * platform/ContextMenuItem.h: + * platform/efl/ContextMenuEfl.cpp: + (WebCore::ContextMenu::ContextMenu): + (WebCore::ContextMenu::getContextMenuItems): + (WebCore::ContextMenu::createNativeMenuFromItems): + (WebCore::ContextMenu::nativeMenu): + * platform/efl/ContextMenuItemEfl.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::nativeMenuItem): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setChecked): + (WebCore::ContextMenuItem::checked): + (WebCore::ContextMenuItem::setEnabled): + (WebCore::ContextMenuItem::enabled): + (WebCore::ContextMenuItem::setSubMenu): + +2010-12-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area + https://bugs.webkit.org/show_bug.cgi?id=51164 + + Fixed the bug by always enabling the StyleWithCSS command. + + Test: editing/style/stylewithcss-without-selection.html + + * editing/EditorCommand.cpp: + (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText. + +2010-12-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Save the manual plug-in stream data and redeliver it when the plug-in is initialized + https://bugs.webkit.org/show_bug.cgi?id=51201 + + Export SharedBuffer related symbols. + + * WebCore.exp.in: + +2010-12-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: timeline records should only operate WebCore time. + https://bugs.webkit.org/show_bug.cgi?id=51127 + + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::didFinishLoadingResource): + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createResourceFinishData): + * inspector/TimelineRecordFactory.h: + +2010-12-15 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=50996 + <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used + + No new tests, cannot test DNS. + + * platform/network/cf/DNSCFNet.cpp: + (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use + a proxy. This is only an estimate - even with a proxy is configured in system preferences, an + actual request can go directly to the host if a PAC script says so. + (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests. + (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones. + +2010-12-16 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Console always scroll to the bottom on new events + https://bugs.webkit.org/show_bug.cgi?id=51189 + + When new messages are added to the console it will auto scroll + only if it was already scrolled down to the last record. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView): + (WebInspector.ConsoleView.prototype._scheduleScrollIntoView): + (WebInspector.ConsoleView.prototype._isScrolledToLastMessage): + (WebInspector.ConsoleView.prototype.addMessage): + +2010-12-16 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: update CallStackSidebarPane placards and status message in the same event handler. + https://bugs.webkit.org/show_bug.cgi?id=51174 + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._debuggerPaused): + (WebInspector.BreakpointManager.prototype._debuggerResumed): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.pausedScript): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + +2010-12-16 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Fix IDBDatabaseError code offset bug + https://bugs.webkit.org/show_bug.cgi?id=51177 + + IDBDatabaseError::code() needs to return the error code without + offset. But when the IDBDatabaseError is created, the code comes with + an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode). + + However, in Chromium, IDBDatabaseErrors are sometimes also created via + WebIDBDatabaseError when they are sent across IPC, and then the error + code comes *without* offset. Provide a second create() function for + this case. + + * storage/IDBDatabaseError.h: + (WebCore::IDBDatabaseError::create): + (WebCore::IDBDatabaseError::createWithoutOffset): + (WebCore::IDBDatabaseError::code): + +2010-12-16 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74162. + http://trac.webkit.org/changeset/74162 + https://bugs.webkit.org/show_bug.cgi?id=51185 + + More breakage in GTK+ (Requested by xan_ on #webkit). + + * platform/text/TextCodecUTF16.cpp: + (WebCore::TextCodecUTF16::registerEncodingNames): + +2010-12-16 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor + https://bugs.webkit.org/show_bug.cgi?id=51114 + + The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes + are updated once a stylesheet is reverted. + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype._stylesPaneEdited): + (WebInspector.ElementsPanel.prototype._metricsPaneEdited): + (WebInspector.ElementsPanel.prototype._styleSheetChanged): + +2010-12-16 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Chromium Mac Debug Clang compilation. + + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::getGlyphsAndAdvancesForSimpleText): + +2010-12-16 Alejandro G. Castro <alex@igalia.com> + + Unreviewed. Fix GTK3 compilation after 74129. + + * platform/gtk/WidgetRenderingContextGtk3.cpp: + +2010-12-16 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Chromium Debug compilation after r74177 + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::arithmetic): + +2010-12-16 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix. + + Fix a warning on 32-bit Mac. + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f + +2010-12-16 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Improve feArithmeticFilter + https://bugs.webkit.org/show_bug.cgi?id=51105 + + In case of the arithmetic operator on feComposite filter, we could use + different result passing modes depend on its type. Furthermore, the + number of executed multiplications is reduced if k1 or k4 argument is zero. + + 2% speedup on WebCore/manual-tests/svg-filter-animation.svg + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::computeArithmeticPixels): + (WebCore::arithmetic): + (WebCore::FEComposite::apply): + +2010-12-15 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Jon Honeycutt. + + WebKit2 should exit auto scrolling mode when losing focus + https://bugs.webkit.org/show_bug.cgi?id=49209 + + When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We + don't want to automatically scroll when a page doesn't have focus. + + Updated manual-tests/autoscroll.html with instructions to test this bug. + + * manual-tests/autoscroll.html: + * page/FocusController.cpp: + (WebCore::FocusController::setFocused): + +2010-12-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Font support for the text-emphasis CSS property + Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property + https://bugs.webkit.org/show_bug.cgi?id=48539 + + * platform/graphics/Font.cpp: + (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text. + (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should + have an emphasis mark. + + * platform/graphics/Font.h: + + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant + parameter and made this function work with other variants. + (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of + the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none + of the standard emphasis marks do so. + (WebCore::Font::emphasisMarkAscent): Added. + (WebCore::Font::emphasisMarkDescent): Added. + (WebCore::Font::emphasisMarkHeight): Added. + (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText() + into this new function, which also has a ForTextEmphasis parameter, which is passed along to the + WidthIterator. + (WebCore::Font::drawSimpleText): Left the drawing part here. + (WebCore::Font::drawEmphasisMarksForSimpleText): Added. + (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter. + (WebCore::offsetToMiddleOfGlyph): Added this helper. + (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper. + (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing + one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks(). + + * platform/graphics/GraphicsContext.h: + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members. + (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens + in ~DerivedFontData. + (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData. + (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct + contains the SimpleFontData for small caps, broken ideograph and emphasis mark. + (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added. + + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter(). + + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter. + (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph + if they should not receive an emphasis mark. + + * platform/graphics/WidthIterator.h: + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter(). + (WebCore::TextRunWalker::setupFontForScriptRun): Ditto. + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/efl/FontEfl.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/freetype/SimpleFontDataFreeType.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/haiku/FontHaiku.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/haiku/SimpleFontDataHaiku.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter. + (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter(). + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph + if they should not receive an emphasis mark. + + * platform/graphics/mac/ComplexTextController.h: + + * platform/graphics/mac/FontComplexTextMac.cpp: + (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText() + into this new function, which also has a ForTextEmphasis parameter, which is passed along to the + ComplexTextController. + (WebCore::Font::drawComplexText): Left the drawing part here. + (WebCore::Font::drawEmphasisMarksForComplexText): Added. + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData. + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/pango/SimpleFontDataPango.cpp: + (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font. + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::emphasisMarkAscent): Added stub. + (WebCore::Font::emphasisMarkDescent): Ditto. + (WebCore::Font::emphasisMarkHeight): Ditto. + (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto. + (WebCore::Font::drawEmphasisMarksForComplexText): Ditto. + + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText() + into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty + glyph buffer for text emphasis. + (WebCore::Font::drawComplexText): Left the drawing part here. + (WebCore::Font::drawEmphasisMarksForComplexText): Added. + + * platform/graphics/win/SimpleFontDataWin.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter(). + + * platform/graphics/wince/FontWinCE.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/wince/SimpleFontDataWinCE.cpp: + (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font. + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub. + (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer(). + (WebCore::Font::drawEmphasisMarksForComplexText): Added. + + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis(). + +2010-12-15 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's + _scaleWebView SPI doesn't work on pages with compositing layers + -and corresponding- + <rdar://problem/8604713> + + paintingGoesToWindow() should return false if the owning layer has + a transform. + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintingGoesToWindow): + + Use docWidth() and docHeight() instead of rightLayoutOverflow() and + bottomLayoutOverflow() since docWidth/Height are now the preferred + way to query physical dimensions of the document. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateRootLayerPosition): + +2010-12-15 Alex Bredariol Grilo <abgrilo@profusion.mobi> + + Reviewed by Eric Seidel. + + [EFL] Fix timer calling time in SharedTimerEfl + + No new features, so no tests added. + + The usage of ecore_timer_loop_add instead of ecore_timer_add corrects + the problem that the timer is not called at the correct time. Since this + code runs in a single thread, all multiple thread operations were + removed. + + * platform/efl/SharedTimerEfl.cpp: + (WebCore::stopSharedTimer): + (WebCore::addNewTimer): + +2010-12-15 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition + https://bugs.webkit.org/show_bug.cgi?id=49918 + + Go through GraphicsContext::setCompositeOperation() which does the check for us. + + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2010-12-15 Yong Li <yoli@rim.com> + + Reviewed by Darin Adler. + + UTF-16 and its variants should be treated as Big Endian when BOM + is absent. + https://bugs.webkit.org/show_bug.cgi?id=51035 + + Test: fast/encoding/char-decoding.html (changed) + + * platform/text/TextCodecUTF16.cpp: + (WebCore::TextCodecUTF16::registerEncodingNames): + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid + https://bugs.webkit.org/show_bug.cgi?id=51070 + + Treat as inavlid -webkit-transform values that include a percentage value in translateZ() + or in the third parameter to translate3d(). + + Test: transforms/3d/general/3dtransform-values.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTransform): + (WebCore::CSSParser::parseTransformOrigin): Whitespace change. + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled + https://bugs.webkit.org/show_bug.cgi?id=50967 + + If a reflection on a compositied, transformed element is toggled on, off and on, + then we pick up a cached layer clone that has the wrong transform set on it. + + The fix is to reset those properties on the layer clones that get changed + when the GraphicsLayer gains a structural layer (for reflection flattening). + + Test: compositing/reflections/remove-add-reflection.html + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + +2010-12-15 Timothy Hatcher <timothy@apple.com> + + Fix a regression where the Web Inspector console would be empty + if the Inspector is localized. + + https://bugs.webkit.org/show_bug.cgi?id=51145 + + Reviewed by Joseph Pecoraro. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string + is separate from the classname. Code clean up. + (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare. + (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement. + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adele Peterson. + + WebKit2 in compositing mode no longer has font smoothing + https://bugs.webkit.org/show_bug.cgi?id=50733 + + Only turn off font smoothing for layers whose contents are + not opaque. This allows the root GraphicsLayer in WebKit2 to + set the opaque flag, and get smoothed text. + + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Allow disabling of font smoothing in compositing layers to be overridden by style + https://bugs.webkit.org/show_bug.cgi?id=50732 + + Add methods to GraphicsContext to get and set font smoothing, + and have them be part of the graphics state. + + Fix Font::drawGlyphs() to allow the font's smoothing mode (from style) + to override the current smoothing mode of the context. The global + shouldUseSmoothing() still has final say. + + Turn off smoothing in compositing layers with this, rather than + the non-stateful 'allow' method. + + * manual-tests/compositing/font-smoothing.html: Added. + Manual test because DRT disables font smoothing. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setShouldSmoothFonts): + (WebCore::GraphicsContext::shouldSmoothFonts): + (WebCore::GraphicsContext::setPlatformShouldSmoothFonts): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setPlatformShouldSmoothFonts): + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawGlyphs): + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + +2010-12-15 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + IOSurface bounds checks on bytesPerRow and allocSize are incorrect + https://bugs.webkit.org/show_bug.cgi?id=51137 + + No new tests added. For those using this new functionality, many current canvas layout tests will now pass. + + * platform/graphics/cg/ImageBufferCG.cpp: + +2010-12-15 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Web Audio API: port FFTFrame to MKL + https://bugs.webkit.org/show_bug.cgi?id=50986 + + Ported FFTFrame to Intel's MKL. This patch contains the port and + initial, though not complete, build system changes. Tested so far + with a unit test by Chris Rogers (which requires code changes to + AudioContext.cpp and is not being checked in). Further testing to + follow once layout tests are available for the Web Audio API. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/audio/FFTFrame.h: + * platform/audio/mkl: Added. + * platform/audio/mkl/FFTFrameMKL.cpp: Added. + (WebCore::FFTFrame::FFTFrame): + (WebCore::FFTFrame::~FFTFrame): + (WebCore::FFTFrame::multiply): + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::cleanup): + (WebCore::FFTFrame::realData): + (WebCore::FFTFrame::imagData): + (WebCore::FFTFrame::getUpToDateComplexData): + (WebCore::FFTFrame::descriptorHandleForSize): + +2010-12-15 Yong Li <yoli@rim.com> + + Reviewed by Darin Adler. + + Fix stack overflow when there are too many sibling inline boxes by using + a loop to traverse children instead of calling each sibling from the first child. + https://bugs.webkit.org/show_bug.cgi?id=48255 + + Test: fast/overflow/lots-of-sibling-inline-boxes.html + + * rendering/InlineBox.h: + (WebCore::InlineBox::setConstructed): + (WebCore::InlineBox::next): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::setConstructed): + +2010-12-15 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + WebKit2: Can't add files to an <input type=file> + https://bugs.webkit.org/show_bug.cgi?id=51087 + + Add exported function. + + * WebCore.exp.in: + +2010-12-15 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antonio Gomes. + + [Qt] screenIsMonochrome() is broken + https://bugs.webkit.org/show_bug.cgi?id=49957 + + * platform/qt/PlatformScreenQt.cpp: + (WebCore::screenIsMonochrome): + +2010-12-15 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=48486 + + Implement button rendering in RenderThemeGtk. The implementation + from gtk{2,3}drawing.cpp will be removed once menu list button rendering + is implemented in RenderThemeGtk as well. + + No new tests, as this should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintButton): Add an implementation of button + rendering that uses WidgetRenderingContext. + +2010-10-18 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move input type=range rendering to RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=47836 + + Begin moving widget rendering out of the old Mozilla theme drawing code, + which should remove many lines of code when completed. WidgetRenderingContext + now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay + version agnostic. + + No new tests as this patch does not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a + GtkWidget, so update the cast here. + (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which + converts a RenderObject state into a GtkStateType. + (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for + scale painting, as it's not handled by this method any longer. + (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use + WidgetRenderingContext. + (WebCore::RenderThemeGtk::paintSliderThumb): Ditto. + (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size + properties directly from the widget now instead of asking the Mozilla code. + (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this + helper which reduces the amount of code quite a bit. + (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper. + (WebCore::RenderThemeGtk::gtkButton): Ditto. + (WebCore::RenderThemeGtk::gtkEntry): Ditto. + (WebCore::RenderThemeGtk::gtkTreeView): Ditto. + (WebCore::RenderThemeGtk::gtkVScale): Added. + (WebCore::RenderThemeGtk::gtkHScale): Added. + (WebCore::RenderThemeGtk::platformColorsDidChange): Removed + GTK_CONTAINER cast. + * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and + GtkVScale members. + * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy + gtk_paint_box, gtk_paint_focus and gtk_paint_slider. + * platform/gtk/WidgetRenderingContextGtk2.cpp: + (WebCore::WidgetRenderingContext::gtkPaintBox): Added. + (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto. + (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto. + * platform/gtk/WidgetRenderingContextGtk3.cpp: + (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto. + (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto. + (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto. + * platform/gtk/gtk2drawing.c: Removed defunct code! + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtk3drawing.c: Ditto. + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: + +2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74117. + http://trac.webkit.org/changeset/74117 + https://bugs.webkit.org/show_bug.cgi?id=51113 + + This broke the GTK1 build. (Requested by mrobinson on + #webkit). + + * GNUmakefile.am: + * platform/network/soup/cache/webkit/soup-cache.h: + +2010-12-15 Jian Li <jianli@chromium.org> + + Unreviewed. Fixed a clang compiling error by making the forward + declaration of MediaPlayerFactory be consistent with the definition. + + * platform/graphics/MediaPlayer.h: + +2010-12-15 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a + y-position. + + * rendering/LayoutState.cpp: + (WebCore::LayoutState::pageLogicalOffset): + (WebCore::LayoutState::addForcedColumnBreak): + * rendering/LayoutState.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::setPageLogicalOffset): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::pageLogicalOffset): + (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + +2010-12-13 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel. + https://bugs.webkit.org/show_bug.cgi?id=50908 + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._debuggerPaused): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.update): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype._setBreakpoint): + (WebInspector.DebuggerModel.prototype.scriptForSourceID): + (WebInspector.DebuggerModel.prototype.scriptsForURL): + (WebInspector.DebuggerModel.prototype.queryScripts): + (WebInspector.DebuggerModel.prototype.parsedScriptSource): + (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): + (WebInspector.DebuggerModel.prototype.breakpointRestored): + (WebInspector.DebuggerModel.prototype.debuggerPaused): + (WebInspector.DebuggerModel.prototype.debuggerResumed): + * inspector/front-end/Resource.js: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): eliminate sourceIDMap + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrame.prototype._setBreakpoint): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + * inspector/front-end/inspector.js: + (WebInspector.createJSBreakpointsSidebarPane): + (WebInspector.parsedScriptSource): + (WebInspector.failedToParseScriptSource): + +2010-12-15 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + MediaPlayer should try all installed media engines + https://bugs.webkit.org/show_bug.cgi?id=50209 + + * platform/graphics/MediaPlayer.cpp: + (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional + parameter for current engine. + (WebCore::nextMediaEngine): New, return the next media engine in the list. + (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer. + (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables. + (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine. + (WebCore::MediaPlayer::supportsType): Make contentType parameter const. + (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine. + (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's + metadata has not loaded, give the next installed engine a try. + * platform/graphics/MediaPlayer.h: + +2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com> + + Reviewed by Martin Robinson. + + Changes to enable building WebKit2 for Gtk port + (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 <webkit/webkitdefines.h> and declare WEBKIT_API directly + +2010-12-15 Jarred Nicholls <jarred@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] Implement the File API spec + https://bugs.webkit.org/show_bug.cgi?id=49839 + + No new tests. fast/files tests work when manually operated. + They do not automatically work due to Qt's inability to handle multi-file + inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT + is missing an eventSender.beginDragWithFiles implementation. + + * WebCore.pri: + * WebCore.pro: + * features.pri: + * platform/qt/FileSystemQt.cpp: + (WebCore::directoryName): + (WebCore::readFromFile): + (WebCore::seekFile): + +2010-12-14 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=49548 + WebCore cache stores duplicate copies of subresources with URL fragments + + - Strip fragment identifiers from HTTP and file URLs for the memory cache. + - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs + instead of strings to reduce repeated URL parsing. + + Test: http/tests/cache/subresource-fragment-identifier.html + + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::cachedResource): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::~CachedResource): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::cachedResource): + (WebCore::CachedResourceLoader::checkForReload): + (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): + (WebCore::CachedResourceLoader::requestResource): + * loader/cache/CachedResourceLoader.h: + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::requestResource): + (WebCore::MemoryCache::requestUserCSSStyleSheet): + (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded): + (WebCore::MemoryCache::resourceForURL): + * loader/cache/MemoryCache.h: + +2010-12-15 Anton Muhin <antonm@chromium.org> + + Reviewed by David Levin. + + [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations + https://bugs.webkit.org/show_bug.cgi?id=50965 + + * bindings/v8/V8GCController.cpp: + (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): + (WebCore::DOMObjectGrouperVisitor::addAllItems): + +2010-12-13 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation. + https://bugs.webkit.org/show_bug.cgi?id=48858 + + BreakpointManager pushes all persistent breakpoints to backend when loaded. + InspectorController restores sticky breakpoints from cookie on navigation. + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + (WebCore::InspectorState::getObject): + (WebCore::InspectorState::setObject): + (WebCore::InspectorState::registerObject): + * inspector/InspectorState.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointsSidebarPane): + (WebInspector.BreakpointsSidebarPane.prototype._removeListElement): + (WebInspector.BreakpointsSidebarPane.prototype._projectChanged): + (WebInspector.EventListenerBreakpointsSidebarPane): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/Settings.js: + (WebInspector.Settings.prototype.inspectedURLChanged): + (WebInspector.Settings.prototype.get projectId): + (WebInspector.Settings.prototype.findSettingForAllProjects): + (WebInspector.Settings.prototype._formatProjectKey): + * inspector/front-end/inspector.js: + (WebInspector.createDOMBreakpointsSidebarPane): + (WebInspector.createXHRBreakpointsSidebarPane): + (WebInspector.reset): + (WebInspector.inspectedURLChanged): + +2010-12-15 Mario Sanchez Prada <msanchez@igalia.com> + + Unreviewed, fix compilation warnings after r74066. + + * rendering/RenderBox.cpp: + (WebCore::layersUseImage): Place this static function between the + same if-def region used in the only place where it's called from. + +2010-12-15 Emil Eklund <eae@chromium.org> + + Reviewed by Adam Barth. + + Change ContainerNode::willRemoveChildren to not fire mutation events for children + added as a result of a mutation event, thereby avoiding an infinite loop. + https://bugs.webkit.org/show_bug.cgi?id=51079 + + Test: fast/dom/containerNode.html + + * dom/ContainerNode.cpp: + (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event. + +2010-12-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value + https://bugs.webkit.org/show_bug.cgi?id=51096 + + Test: fast/css/appearance-caps-lock-indicator.html + + * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be + accepted by the parser, and added comments about maintaining the list of appearance values. + * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum. + +2010-12-14 takano takumi <takano@apple.com> + + Reviewed by Dan Bernstein. + + text-combine value names have been changed in the css3 proposal. + https://bugs.webkit.org/show_bug.cgi?id=51089 + + Changed text-combine's value names from "none|cluster|upright" to "none|horizontal". + + * css/CSSParser.cpp: Changed value name. + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: Changed value name. + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator TextCombine): + * css/CSSValueKeywords.in: No more text-combine specific values needed since + "horizontal" is already there. + * rendering/style/RenderStyleConstants.h: Changed value name. + * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size. + +2010-12-14 Koan-Sin Tan <koansin.tan@gmail.com> + + Reviewed by Alexey Proskuryakov. + + Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp + https://bugs.webkit.org/show_bug.cgi?id=51012 + + Kana should be displayed correctly in vertical text with broken font. + + Test: fast/blockflow/japanese-rl-text-with-broken-font.html + + * platform/graphics/Font.cpp: + (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms + +2010-12-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + Additional RenderStyle support for the text-emphasis CSS property + Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property + https://bugs.webkit.org/show_bug.cgi?id=48539 + + No test possible, since this is just adding a function to be used by upcoming patches. + + * platform/text/CharacterNames.h: Added characters used as emphasis marks. + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the + emphasis mark, or the null AtomicString if there is none. + * rendering/style/RenderStyle.h: + +2010-12-14 Anton D'Auria <adauria@apple.com> + + Reviewed by Darin Adler. + + Do not allow access to existing HTML5 databases in private browsing + mode https://bugs.webkit.org/show_bug.cgi?id=49332 + + Test: storage/private-browsing-noread-nowrite.html + + Previously, read-only transactions and private browsing mode were + represented by the same SQLStatement and DatabaseAuthorizer states. + This patch removes the m_readOnly member variable from SQLStatement and + DatabaseAuthorizer, and replaces it with m_permissions whose bit fields + are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite, + ReadOnly, NoAccess). A read-only transaction sets permissions to + ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(), + then permissions also set to NoAccess. + + * dom/Document.cpp: + (WebCore::Document::allowDatabaseAccess): this method was previously + called isDatabaseReadOnly. It checks if private browsing preference is + set. This method is renamed because it is used to check if private + browsing restricts access to databases. + * dom/Document.h: + * dom/ScriptExecutionContext.h: + * storage/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::setAuthorizerPermissions): + * storage/AbstractDatabase.h: + * storage/DatabaseAuthorizer.cpp: + (WebCore::DatabaseAuthorizer::reset): + (WebCore::DatabaseAuthorizer::createTable): + (WebCore::DatabaseAuthorizer::createTempTable): + (WebCore::DatabaseAuthorizer::dropTable): + (WebCore::DatabaseAuthorizer::dropTempTable): + (WebCore::DatabaseAuthorizer::allowAlterTable): + (WebCore::DatabaseAuthorizer::createIndex): + (WebCore::DatabaseAuthorizer::createTempIndex): + (WebCore::DatabaseAuthorizer::dropIndex): + (WebCore::DatabaseAuthorizer::dropTempIndex): + (WebCore::DatabaseAuthorizer::createTrigger): + (WebCore::DatabaseAuthorizer::createTempTrigger): + (WebCore::DatabaseAuthorizer::dropTrigger): + (WebCore::DatabaseAuthorizer::dropTempTrigger): + (WebCore::DatabaseAuthorizer::createView): + (WebCore::DatabaseAuthorizer::createTempView): + (WebCore::DatabaseAuthorizer::dropView): + (WebCore::DatabaseAuthorizer::dropTempView): + (WebCore::DatabaseAuthorizer::createVTable): + (WebCore::DatabaseAuthorizer::dropVTable): + (WebCore::DatabaseAuthorizer::allowDelete): + (WebCore::DatabaseAuthorizer::allowInsert): + (WebCore::DatabaseAuthorizer::allowUpdate): + (WebCore::DatabaseAuthorizer::allowRead): + (WebCore::DatabaseAuthorizer::allowReindex): + (WebCore::DatabaseAuthorizer::allowWrite): a new private method that + checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or + NoAccess mode. + (WebCore::DatabaseAuthorizer::setReadOnly): + (WebCore::DatabaseAuthorizer::setPermissions): + * storage/DatabaseAuthorizer.h: + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::create): + (WebCore::SQLStatement::SQLStatement): + (WebCore::SQLStatement::execute): + * storage/SQLStatement.h: + * storage/SQLStatementSync.cpp: + (WebCore::SQLStatementSync::SQLStatementSync): + (WebCore::SQLStatementSync::execute): + * storage/SQLStatementSync.h: + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::executeSQL): + * storage/SQLTransactionSync.cpp: + (WebCore::SQLTransactionSync::executeSQL): + * workers/WorkerContext.h: + (WebCore::WorkerContext::allowDatabaseAccess): + +2010-12-02 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + [chromium] Fix drawing of inset box shadows + https://bugs.webkit.org/show_bug.cgi?id=41576 + + When clearing outside clipped path, the context contains unexpected transform. + Fixed to restore original state before the clear. + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::clipPathAntiAliased): + (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths): + +2010-12-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Mouse Events Not Received in Run Applet in their Own Process Mode + https://bugs.webkit.org/show_bug.cgi?id=51078 + <rdar://problem/8333491> + + Make sure that Widget::handleEvent is called for applets as well. + + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::defaultEventHandler): + * html/HTMLAppletElement.h: + +2010-12-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Parts of page disappear + https://bugs.webkit.org/show_bug.cgi?id=41701 + + The page has text-indent: -1000000px on an element that becomes + compositing, causing a huge tiled layer to get created. + + r63452 aimed to fix this by clamping layer bounds to the viewport, + but did not do so for pages running accelerated animations (since + we don't want to clamp for transform animations). However, this + page only has an opacity animation. + + So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false) + for transform animations. + + Test: compositing/geometry/limit-layer-bounds-opacity-transition.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation() + with the appropriate properties, and clean up confusing logic that was used to + compute the return value. We want to return true if either property is accelerated. + + (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation() + with the appropriate property. + + * rendering/RenderLayerCompositor.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in, + and only turn off overlap testing if we see a transform animation. + +2010-12-14 Brady Eidson <beidson@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138 + Authorization header is sent from an HTTP Auth protected site on redirect + Test: http/tests/misc/authentication-sent-to-redirect.html + + Add helper to clear the Auth headers from a resource request: + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::clearHTTPAuthorization): + * platform/network/ResourceRequestBase.h: + + Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them: + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::willSendRequest): + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::willSendRequest): + +2010-12-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL + https://bugs.webkit.org/show_bug.cgi?id=51072 + + Fix a crash when painting a layer whose PlatformCALayer has been deleted, + by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer + is destroyed. + + I was not able to reduce the page to a simple testcase. + + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::~PlatformCALayer): + +2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Unreviewed, build fix. + + [Qt] Fix the list of header files in WebCore.pro after r74049. + + No new tests as there is no new functionality. + + * WebCore.pro: + +2010-12-14 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Focus rings are ugly, rects should be united instead of drawn individually + https://bugs.webkit.org/show_bug.cgi?id=49953 + + Create a QPainterPath and add to it the focus rects, one at a time. + Combine the 2 drawFocusRing functions into one function drawFocusRingForPath. + + Tests: fast/css/focus-ring-detached.html + fast/css/focus-ring-multiline.html + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::drawFocusRingForPath): + (WebCore::GraphicsContext::drawFocusRing): + +2010-12-14 Mark Rowe <mrowe@apple.com> + + Fix the Qt build. + + * xml/XSLTProcessorQt.cpp: + (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit + since QVariant can be constructed from either a QString or a bool. + +2010-12-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + compositing/masks/simple-composited-mask.html failure + https://bugs.webkit.org/show_bug.cgi?id=49746 + + Geometry of composited layers with a mask depends on the loading + of the mask image, since maskClipRect() is used for the layer bounds. + + So when RenderBox::imageChanged() is called for an image used by + a mask on a layer with a composited mask, call the newly-renamed + layer->contentsChanged() method. This percolates down into RenderLayerBacking, + ending in a layer geometry update. + + Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added + an enum to say what changed, for somewhat more efficient updating. + + Also, when the mask layer gets resized, make sure we mark it as needing + display. + + Tested by pixel result of compositing/masks/simple-composited-mask.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::didDraw): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::markContextChanged): + (WebCore::WebGLRenderingContext::reshape): + * rendering/RenderBox.cpp: + (WebCore::layersUseImage): + (WebCore::RenderBox::imageChanged): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::imageDimensionsChanged): + (WebCore::RenderImage::notifyFinished): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::contentChanged): + * rendering/RenderLayer.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::RenderLayerBacking::contentChanged): + * rendering/RenderLayerBacking.h: + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::updatePlayer): + +2010-12-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video> + + We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in + to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string. + +2010-12-14 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=50970 + + It's arguably a bug, but we don't let inline flow layers paint floating + descendants. The containing block of the inline flow paints them instead. + However our shouldPaint logic has always been flawed and has turned off propagation + of painting when an inline flow layer is enclosing the float. + + Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise + and for now limit it to RenderBoxes. + + Added fast/block/float/floatstack.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverhangingFloats): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::enclosingFloatPaintingLayer): + * rendering/RenderBox.h: + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + +2010-12-14 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Dimitri Glazkov. + + Move asynchronous event dispatching out of Document + https://bugs.webkit.org/show_bug.cgi?id=49785 + + Move asynchonous event code out of Document and into a standalone + EventQueue class (which supports async events for both regular nodes + and the window object). + + No new tests necessary, since no new functionality is exposed (existing + layout tests pass). + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::enqueueWindowEvent): + (WebCore::Document::enqueueHashchangeEvent): + * dom/DOMAllInOne.cpp: + (WebCore::Document::eventQueue): + * dom/Document.h: + * dom/EventQueue.cpp: Added. + (WebCore::EventQueue::EventQueue): + (WebCore::EventQueue::enqueueEvent): + (WebCore::EventQueue::pendingEventTimerFired): + (WebCore::EventQueue::dispatchEvent): + * dom/EventQueue.h: Added. + * storage/StorageEventDispatcher.cpp: + (WebCore::StorageEventDispatcher::dispatch): + +2010-12-14 Kyounga Ra <kyounga.ra@gmail.com> + + Reviewed by Adam Barth. + + <noscript> is rendered with enabled XHTMLMP. + https://bugs.webkit.org/show_bug.cgi?id=48493 + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::rendererIsNeeded): + +2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Eric Seidel. + + [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported + https://bugs.webkit.org/show_bug.cgi?id=50231 + + No new tests as there is no new functionality. + + Guard CONFIG+=link_pkgconfig with !symbian. + + * WebCore.pro: + +2010-12-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74040. + http://trac.webkit.org/changeset/74040 + https://bugs.webkit.org/show_bug.cgi?id=51050 + + Breaks 2d.shadow.canvas.transparent.2 and + 2d.shadow.image.transparent.2 (Requested by helder on + #webkit). + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + (WebCore::ContextShadow::offset): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-14 Nate Chapin <japhet@chromium.org> + + Unreviewed, fixing qt (hopefully for real this time). + + Remove a couple more references to loader.h. + + * xml/XSLStyleSheetQt.cpp: + * xml/XSLTProcessorQt.cpp: + +2010-12-14 Nate Chapin <japhet@chromium.org> + + Unreviewed, fix mac and qt builds. + + Missed a couple of references to loader.h and + improperly added CachedResourceRequest.h to + WebCore.xcodeproj. + + * WebCore.xcodeproj/project.pbxproj: + * platform/android/TemporaryLinkStubs.cpp: + * platform/qt/TemporaryLinkStubsQt.cpp: + +2010-12-14 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Rename Loader to CachedResourceRequest. + https://bugs.webkit.org/show_bug.cgi?id=50848 + + No new tests, rename only. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + * loader/cache/CachedCSSStyleSheet.cpp: + * loader/cache/CachedFont.cpp: + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::setRequest): + * loader/cache/CachedResource.h: + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::load): + (WebCore::CachedResourceLoader::loadDone): + (WebCore::CachedResourceLoader::cancelRequests): + * loader/cache/CachedResourceLoader.h: + * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp. + * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h. + * loader/loader.cpp: Removed. + * loader/loader.h: Removed. + * xml/XSLStyleSheetLibxslt.cpp: + * xml/XSLTProcessor.cpp: + * xml/XSLTProcessorLibxslt.cpp: + +2010-12-14 David Hyatt <hyatt@apple.com> + + Reviewed by Tim Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=46422 + + Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for + making printing and pagination work with vertical writing modes. + + * page/FrameView.cpp: + (WebCore::FrameView::forceLayoutForPagination): + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + (WebCore::LayoutState::clearPaginationInformation): + * rendering/LayoutState.h: + (WebCore::LayoutState::LayoutState): + (WebCore::LayoutState::isPaginated): + (WebCore::LayoutState::pageLogicalHeight): + (WebCore::LayoutState::pageLogicalHeightChanged): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::nextPageTop): + (WebCore::RenderBlock::applyBeforeBreak): + (WebCore::RenderBlock::applyAfterBreak): + (WebCore::RenderBlock::adjustForUnsplittableChild): + (WebCore::RenderBlock::adjustLinePositionForPagination): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalHeight): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + * rendering/RenderView.cpp: + (WebCore::RenderView::RenderView): + (WebCore::RenderView::layout): + * rendering/RenderView.h: + (WebCore::RenderView::pageLogicalHeight): + (WebCore::RenderView::setPageLogicalHeight): + +2010-12-14 Dimitri Glazkov <dglazkov@chromium.org> + + Fix GTK build by adding source files that were accidentally skipped in + r74044. Sorry! + + * GNUmakefile.am: Added SliderThumbElement. + +2010-12-14 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=50974 + getComputedStyle() returns wrong values for zoomed elements when + display is none + -and corresponding- + <rdar://problem/8522731> + + If there is no renderer but the RenderStyle's value is a fixed + length, send it through zoomAdjustedPixelValue(). There's not much + we can do for other length types without a renderer. + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::zoomAdjustedPixelValueForLength): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2010-12-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by David Levin. + + Move SliderThumbElement into its own file. + https://bugs.webkit.org/show_bug.cgi?id=50973 + + No change in behavior, so no tests. + + * Android.mk: Added SliderThumbElement. + * CMakeLists.txt: Ditto. + * WebCore.gyp/WebCore.gyp: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto, + * html/shadow/SliderThumbElement.cpp: Added. + * html/shadow/SliderThumbElement.h: Added. + * rendering/RenderSlider.cpp: Removed code that was moved into + SliderThumbElement. + +2010-12-13 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=50953 + DNS Prefetch should be an opt-in feature + + No new tests, can't test DNS. + + * dom/Document.h: Made initDNSPrefetch public, since Page now calls it. + + * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged): + * page/Page.h: + Documents cache the value of this setting, so they need to be notified of changes. In particular, + the first document in a page is created before settings are applied. + + * page/Settings.cpp: + (WebCore::Settings::Settings): Changed default to false. + (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change. + +2010-12-14 Helder Correia <helder@sencha.com> + + Reviewed by Ariya Hidayat. + + [Qt] Canvas shadow offset should not be affected by any transformation + https://bugs.webkit.org/show_bug.cgi?id=50422 + + On a canvas context, shadows are currently affected by all + transformations except scaling. According to the spec: + http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows + + "The shadowOffsetX and shadowOffsetY attributes specify the distance + that the shadow will be offset in the positive horizontal and positive + vertical distance respectively. Their values are in coordinate space + units. They are not affected by the current transformation matrix." + + NOTE: this applies only to canvas, not to box shadows. + + Test: fast/canvas/canvas-transforms-fillRect-shadow.html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + (WebCore::ContextShadow::setShadowsIgnoreTransforms): + (WebCore::ContextShadow::shadowsIgnoreTransforms): + (WebCore::ContextShadow::offset): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::mustUseContextShadow): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-14 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted + https://bugs.webkit.org/show_bug.cgi?id=51034 + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._onRevert): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype._metricsPaneEdited): + (WebInspector.ElementsPanel.prototype._stylesPaneEdited): + (WebInspector.ElementsPanel.prototype._styleSheetChanged): + +2010-12-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Avoid GraphicsContext save/restore in Image::drawPattern() + https://bugs.webkit.org/show_bug.cgi?id=51037 + + It's enough to restore the CompositeOperator after drawing. + + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): + +2010-12-14 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8763862> + r72017 used incorrect compiler conditional. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::createQTMovie): + +2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Simplify context-menu handling code + https://bugs.webkit.org/show_bug.cgi?id=49658 + + * platform/ContextMenuItem.h: + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::title): + (WebCore::ContextMenuItem::setTitle): + (WebCore::ContextMenuItem::platformSubMenu): + (WebCore::ContextMenuItem::setSubMenu): + (WebCore::ContextMenuItem::setChecked): + (WebCore::ContextMenuItem::setEnabled): + +2010-12-14 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects + https://bugs.webkit.org/show_bug.cgi?id=27048 + + Handle focus change for text objects based in caret changes. + + As text objects (such as paragraphs) seem not to accept focus in + WebCore in the same way other objects (text controls) do, a + Gtk-specific workaround is needed to expose this states and the + related events to ATK-based assistive technologies. + + Test: platform/gtk/accessibility/caret-browsing-text-focus.html + + Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE + state, and that the ATK_STATE_FOCUSED state is added to those + text objects containing the currently active caret selection. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (selectionBelongsToObject): Moved upwards to use it from + the new isTextWithCaret() function. + (isTextWithCaret): New, checks whether an accessibility object + represents a text object with the current caret selection on it. + (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state + when also when isTextWithCaret(coreObject) returns true. + (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE + state to text objects and those with the ATK_ROLE_PARAGRAPH role. + (webkit_accessible_text_get_n_selections): Optimize return expression. + + Make sure the proper events associated to a change of focus are + emitted, based on caret changes across different accessibility + objects. Also, refactored the code in more manageable and + understandable helper functions. + + * editing/gtk/SelectionControllerGtk.cpp: + (WebCore::emitTextSelectionChange): New, includes the specific + code formerly placed in notifyAccessibilityForSelectionChange() to + emit the 'text-caret-moved' and 'text-selection-change' signals. + (WebCore::maybeEmitTextFocusChange): New, takes care of emitting + the 'focus-event' and 'state-changed::focused' signals when + needed, that is, when a change in the selection happens across + different accessible objects. + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + Refactored some code here, by using the new helper functions. + +2010-12-14 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: regroup Inspector.idl entries. + Just for better visibility. + + https://bugs.webkit.org/show_bug.cgi?id=51025 + + * inspector/Inspector.idl: + +2010-12-14 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Reverted stylesheet breaks style data + https://bugs.webkit.org/show_bug.cgi?id=51030 + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::reparseStyleSheet): + +2010-12-14 Mads Ager <ager@chromium.org> + + Reviewed by Pavel Feldman. + + [V8] Reflected unsigned attributes should be in the range [0, 2^31) + https://bugs.webkit.org/show_bug.cgi?id=51023 + + Follow the changes made to CodeGeneratorJS.pm to return 0 for + reflected unsigned attributes that are outside the allowed range. + See https://bugs.webkit.org/show_bug.cgi?id=50472 + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-12-14 Charlie Reis <creis@chromium.org> + + Reviewed by Darin Adler. + + Remove stale include of Document.h in V8DOMWrapper.h + https://bugs.webkit.org/show_bug.cgi?id=50607 + + We no longer need to include Document.h or V8DOMMap.h in + V8DOMWrapper. Removing them to avoid dependencies. + + * bindings/v8/V8DOMWrapper.h: + +2010-12-14 Julien Chaffraix <jchaffraix@codeaurora.org> + + Reviewed by Darin Adler. + + Test for: EventSource fails to connect if Content-Type header has a charset attribute + https://bugs.webkit.org/show_bug.cgi?id=45372 + + Tests: http/tests/eventsource/eventsource-content-type-charset.html + http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html + + * page/EventSource.cpp: + (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type + header directly. This makes the detection of the "text/stream" mimeType more accurate. + +2010-12-14 Pieter Senster <psenster@google.com> + + Reviewed by Dirk Schulze. + + Incorporate the channel offsets from the ColorMatrix filter in the filter calculation + https://bugs.webkit.org/show_bug.cgi?id=50682 + + Test: svg/filters/feColorMatrix-offset.svg + + * platform/graphics/filters/FEColorMatrix.cpp: + (WebCore::matrix): + +2010-12-14 Jarred Nicholls <jarred@sencha.com> + + Reviewed by Kenneth Rohde Christiansen. + + Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer) + + No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles. + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::files): + +2010-12-13 Antonio Gomes <agomes@rim.com> + + Rubber stamped by Daniel Bates. + + Spatial Navigation: code clean up (part V) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/SpatialNavigation.cpp: + (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not + supposed to change within this function. + * page/SpatialNavigation.h: Ditto. + +2010-12-13 takano takumi <takano@apple.com> + + Reviewed by Dan Bernstein. + + GlyphPage::fill() is slow on vertical writing (Mac) + https://bugs.webkit.org/show_bug.cgi?id=50865 + + No test. Just a performance improvement. + + * platform/graphics/Font.cpp: + (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji). + (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols. + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph(). + * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: + (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not. + For vertical writing, if the current page contains only ideographs, we go CG path. + (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path. + +2010-12-13 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (part IV) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + Avoid calling canScrollInDirection more than necessary. + + No new tests needed. + + * page/FocusController.cpp: + (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection() + to within the scrollInDirection(). + * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function. + (WebCore::scrollInDirection): + +2010-12-13 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (part III) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and + WebCore::frameOwnerElement helper functions. + (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer + wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false + otherwise. + * page/SpatialNavigation.cpp: + (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with + the FocusCandidate if appropriate. + * page/FocusController.cpp: + (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper. + (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto. + +2010-12-13 Mike Lawther <mikelawther@chromium.org> + + Reviewed by Daniel Bates. + + [skia] ignore transform for canvas shadows + https://bugs.webkit.org/show_bug.cgi?id=50437 + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-13 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + ValidityState's exposed functions should check if willValidate() is true before all + https://bugs.webkit.org/show_bug.cgi?id=50617 + + Added checking willValidate() to exposed functions. And modified willValidate() behavior + for <button type="submit"> and <input type="submit"> to return true if not disabled and + not readonly. + + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type. + (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec. + * html/HTMLButtonElement.h: + * html/SubmitInputType.cpp: + (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec. + (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available. + * html/SubmitInputType.h: + * html/ValidityState.cpp: Added checking willValidate(). + (WebCore::ValidityState::typeMismatch): + (WebCore::ValidityState::patternMismatch): + (WebCore::ValidityState::tooLong): + (WebCore::ValidityState::rangeUnderflow): + (WebCore::ValidityState::rangeOverflow): + (WebCore::ValidityState::stepMismatch): + (WebCore::ValidityState::customError): + * html/ValidityState.h: + +2010-12-13 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by David Levin. + + [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil() + https://bugs.webkit.org/show_bug.cgi?id=50545 + + Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling. + + No new tests, no change in behaviour. + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::putImageData): + +2010-12-13 Gavin Peters <gavinp@chromium.org> + + Reviewed by Adam Barth. + + Re land Purpose after bad merge + https://bugs.webkit.org/show_bug.cgi?id=51000 + + * loader/loader.cpp: + (WebCore::Loader::load): + +2010-12-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified + https://bugs.webkit.org/show_bug.cgi?id=50979 + + Many test results updated. + + * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and + affectsDescent in the used-fonts code path. Renamed variables for clarity. Added + a check whether usedFonts is empty (which it might be if there is glyph overflow + but no fallback) as an optimization. + +2010-12-13 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Jon Honeycutt. + + Remove unnecessary include of Switch module. + + There are no switch statements in this file. + + * dom/make_names.pl: + +2010-12-13 Emil Eklund <eae@chromium.org> + + Reviewed by Dimitri Glazkov. + + Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM + tree instead of the render tree. + https://bugs.webkit.org/show_bug.cgi?id=50989 + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setFocusedNodeIfNeeded): + Walk up DOM/hosted tree rather than render tree and remove FIXME comment + that does't apply (SelectionController and EventHandler needs different + checks). + +2010-12-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: aria-invalid should be supported. + https://bugs.webkit.org/show_bug.cgi?id=50573 + + Test: platform/mac/accessibility/aria-invalid.html + + * accessibility/AXObjectCache.h: + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::invalidStatus): + * accessibility/AccessibilityObject.h: + * accessibility/chromium/AXObjectCacheChromium.cpp + (WebCore::AXObjectCache::postPlatformNotification): + * accessibility/mac/AXObjectCacheMac.mm: + (WebCore::AXObjectCache::postPlatformNotification): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + * dom/Element.cpp: + (WebCore::Element::updateAfterAttributeChanged): + * html/HTMLAttributeNames.in: + +2010-12-13 Joone Hur <joone@kldp.org> + + Reviewed by Eric Seidel. + + WebKit fails to compile when building with WML support enabled + https://bugs.webkit.org/show_bug.cgi?id=42943 + + Use TextPosition instead of lineNumber() and columNumber(). + + No new tests are added, because this is just a build fix. + + * dom/XMLDocumentParser.h: Make lineNumber() private. + * wml/WMLErrorHandling.cpp: + (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber(). + +2010-12-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: lists and list boxes need different attributes + https://bugs.webkit.org/show_bug.cgi?id=50978 + + Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>). + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + +2010-12-13 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=50963 + + REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView. + + The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box + of the root layer. This bounding box was only coincidentally incorporating overflow as part of the + RenderLayer's bounds. Since I fixed the RenderLayer bounds to not include layout overflow any longer, + this check is now exposed as incorrect. Use the entire document size when computing layer clip + rects. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::childrenClipRect): + (WebCore::RenderLayer::selfClipRect): + * rendering/RenderView.h: + (WebCore::RenderView::documentRect): + +2010-12-13 Simon Fraser <simon.fraser@apple.com> + + GraphicsContextPrivate.h was removed. Nuke it from the project. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-13 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + HTMLMediaElement::endedPlayback should not return true if duration is zero + https://bugs.webkit.org/show_bug.cgi?id=50962 + + (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a + media file can't play if it has no duration, therefore it can't have ended playback. + +2010-12-13 Brent Fulgham <bfulgham@webkit.org> + + Unreviewed build fix after r73840. + + * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file + to pass three arguments to build-generated-files.sh, just like + the official Apple port. + +2010-12-13 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Make sure the defaultSpaceEventHandler does logical scrolling. + + * page/EventHandler.cpp: + (WebCore::EventHandler::defaultSpaceEventHandler): + +2010-12-13 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas + + No new tests necessary. + + * Configurations/WebCore.xcconfig: Added IOSurface framework link. + * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead. + * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor. + * platform/graphics/cairo/ImageBufferCairo.cpp: + * platform/graphics/cg/ImageBufferCG.cpp: + * platform/graphics/haiku/ImageBufferHaiku.cpp: + * platform/graphics/qt/ImageBufferQt.cpp: + * platform/graphics/skia/ImageBufferSkia.cpp: + * platform/graphics/wince/ImageBufferWinCE.cpp: + * platform/graphics/wx/ImageBufferWx.cpp: + +2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73923. + http://trac.webkit.org/changeset/73923 + https://bugs.webkit.org/show_bug.cgi?id=50944 + + Broke editing/selection/extend-selection-home-end.html on non- + mac platforms. Looks like a real bug. (Requested by ojan on + #webkit). + + * editing/SelectionController.cpp: + (WebCore::SelectionController::positionForPlatform): + (WebCore::SelectionController::modifyExtendingForward): + +2010-12-13 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. + + Add logical scrolling to WebCore. It basically mirrors physical scrolling but works in abstract logical + directions and only converts to physical when it's time to attempt the scroll. + + Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing + frames got skipped over. + + Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections. + + * WebCore.exp.in: + * page/EventHandler.cpp: + (WebCore::EventHandler::logicalScrollOverflow): + (WebCore::EventHandler::scrollRecursively): + (WebCore::EventHandler::logicalScrollRecursively): + * page/EventHandler.h: + * page/FrameView.cpp: + (WebCore::FrameView::isVerticalDocument): + (WebCore::FrameView::isFlippedDocument): + * page/FrameView.h: + * platform/ScrollTypes.h: + (WebCore::logicalToPhysical): + * platform/ScrollView.cpp: + (WebCore::ScrollView::scroll): + (WebCore::ScrollView::logicalScroll): + * platform/ScrollView.h: + (WebCore::ScrollView::isVerticalDocument): + (WebCore::ScrollView::isFlippedDocument): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::logicalScroll): + * rendering/RenderBox.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scroll): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::logicalScroll): + * rendering/RenderListBox.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::logicalScroll): + * rendering/RenderTextControlSingleLine.h: + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921. + + REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit). + https://bugs.webkit.org/show_bug.cgi?id=50950 + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::reportException): + * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp. + (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler): + (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler): + (WebCore::JSWorkerContextErrorHandler::handleEvent): + * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h. + (WebCore::JSWorkerContextErrorHandler::create): + (WebCore::createJSWorkerContextErrorHandler): + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::handler): + * bindings/v8/V8ConsoleMessage.h: + * bindings/v8/V8WindowErrorHandler.cpp: Removed. + * bindings/v8/V8WindowErrorHandler.h: Removed. + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::v8MessageHandler): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Document.cpp: + (WebCore::Document::reportException): + (WebCore::Document::addMessage): + * dom/Document.h: + * dom/ErrorEvent.cpp: + * dom/ErrorEvent.h: + * dom/Event.cpp: + * dom/Event.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + * dom/ScriptExecutionContext.h: + * websockets/WebSocket.cpp: + (WebCore::WebSocket::connect): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::didOpen): + (WebCore::WebSocketChannel::appendToBuffer): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::readServerHandshake): + (WebCore::WebSocketHandshake::readStatusLine): + (WebCore::WebSocketHandshake::readHTTPHeaders): + (WebCore::WebSocketHandshake::checkResponseHeaders): + * workers/DefaultSharedWorkerRepository.cpp: + (WebCore::postExceptionTask): + (WebCore::postConsoleMessageTask): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::reportException): + (WebCore::WorkerContext::addMessage): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerExceptionTask::performTask): + (WebCore::postConsoleMessageTask): + * xml/XMLHttpRequest.cpp: + (WebCore::reportUnsafeUsage): + +2010-12-13 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=50758 + <rdar://problem/8722094> + Defer loading print stylesheets + + - Make preload scanner skip stylesheets with non-screen media types. + - Make it possible to specify non-default load priority from the client. + - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else. + - Move default priority code from Loader to CachedResource. + - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority). + - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably. + + Tests: http/tests/local/link-stylesheet-load-order-preload.html + http/tests/local/link-stylesheet-load-order.html + + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::cachedImage): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * html/parser/HTMLPreloadScanner.cpp: + (WebCore::HTMLNames::PreloadTask::PreloadTask): + (WebCore::HTMLNames::PreloadTask::processAttributes): + (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet): + (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen): + (WebCore::HTMLNames::PreloadTask::preload): + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::loadRequest): + * loader/ResourceLoadPriority.h: Added. + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::ResourceLoadScheduler): + (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): + (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad): + (WebCore::ResourceLoadScheduler::scheduleLoad): + (WebCore::ResourceLoadScheduler::servePendingRequests): + (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation): + (WebCore::ResourceLoadScheduler::HostInformation::schedule): + (WebCore::ResourceLoadScheduler::HostInformation::remove): + (WebCore::ResourceLoadScheduler::HostInformation::hasRequests): + (WebCore::ResourceLoadScheduler::HostInformation::limitRequests): + * loader/ResourceLoadScheduler.h: + (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled): + (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled): + (WebCore::ResourceLoadScheduler::HostInformation::requestsPending): + * loader/cache/CachedResource.cpp: + (WebCore::defaultPriorityForResourceType): + (WebCore::CachedResource::CachedResource): + * loader/cache/CachedResource.h: + (WebCore::CachedResource::loadPriority): + (WebCore::CachedResource::setLoadPriority): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::requestCSSStyleSheet): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::requestPreload): + * loader/cache/CachedResourceLoader.h: + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::requestResource): + * loader/cache/MemoryCache.h: + * loader/loader.cpp: + (WebCore::Loader::load): + +2010-12-13 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dimitri Glazkov. + + Build fix for r73927 + https://bugs.webkit.org/show_bug.cgi?id=50946 + + Reverting CSSCanvasValue::canvasDestroyed to its code before r73927 + because it's breaking the build and I changed it only because it + appeared redunudant after r73927. + + No behavior changed so no new tests needed. + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasDestroyed): + +2010-12-13 Matthew Delaney <mdelaney@apple.com> + + Reviewed by nobody, build fix. + + Unlinking IOSurface framework from xcodeproj. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-13 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dimitri Glazkov. + + HTMLCanvasElement should handle multiple observers. + https://bugs.webkit.org/show_bug.cgi?id=50899 + + Test: fast/canvas/canvas-bg-multiple-removal.html + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::~CSSCanvasValue): + (WebCore::CSSCanvasValue::canvasDestroyed): + (WebCore::CSSCanvasValue::element): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): + (WebCore::HTMLCanvasElement::~HTMLCanvasElement): + (WebCore::HTMLCanvasElement::addObserver): + (WebCore::HTMLCanvasElement::removeObserver): + (WebCore::HTMLCanvasElement::didDraw): + (WebCore::HTMLCanvasElement::reset): + * html/HTMLCanvasElement.h: + +2010-12-13 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Adam Barth. + + [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard + https://bugs.webkit.org/show_bug.cgi?id=50841 + + Test: fast/canvas/strokeText-missing-args.html + + We didn't have isfinite checks for the x and y coordinates that are + passed to strokeText/drawTextInternal (unlike all the other methods, + which got checks in r50910 and r59447). + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): + +2010-12-09 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Adopt new CG API for canvas + https://bugs.webkit.org/show_bug.cgi?id=50591 + + No new tests. All current layout tests are sufficient. + + * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation. + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms. + (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer. + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::create): Plumb through new flag. + * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig. + * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths. + * platform/graphics/cg/ImageBufferData.h: Add in surface ref + * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig. + * platform/graphics/qt/ImageBufferQt.cpp: ^^ + * platform/graphics/skia/ImageBufferSkia.cpp: ^^ + * platform/graphics/wince/ImageBufferWinCE.cpp: ^^ + * platform/graphics/wx/ImageBufferWx.cpp: ^^ + * platform/mac/WebCoreSystemInterface.h: Add new method sigs + * platform/mac/WebCoreSystemInterface.mm: ^^ + * rendering/RenderLayerBacking.cpp: + * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings. + +2010-12-13 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Ojan Vafai. + + Shift-End does not select to the end of the line + https://bugs.webkit.org/show_bug.cgi?id=50610 + + Test: editing/selection/extend-to-line-boundary.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than + start/end. + (WebCore::SelectionController::modifyExtendingForward): + +2010-12-13 Adam Roben <aroben@apple.com> + + Windows build fix after r73914 + + * WebCore.vcproj/WebCore.vcproj: Fix malformed XML. + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Qt build fix. + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + * dom/ScriptExecutionContext.h: + +2010-12-13 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] Additional support is needed for caret browsing + https://bugs.webkit.org/show_bug.cgi?id=25526 + + Enable "MoveTo{Beginninng|End}OfDocument" commands when caret + browsing is enabled. + + This change impacts the GTK-port only as caret browsing is a + feature only used in that platform so far. + + Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html + + * editing/EditorCommand.cpp: + (WebCore::createCommandMap): Enable the commads when in caret browsing. + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Qt build fix. + + * dom/Event.cpp: + (WebCore::Event::isErrorEvent): + * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not + only in workers. + +2010-12-13 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. + + Debugger and Resources related notification functions of Inspector.idl were + marked as such with help of "domain" attribute. The other changes in js files + are reflecting this change. Some wrappers in WebInspector namespace were dropped, + the others were moved to DebuggerModel class. + + https://bugs.webkit.org/show_bug.cgi?id=50906 + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.didCommitLoad): + * inspector/front-end/Database.js: + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown): + (WebInspector.DebuggerModel.prototype.debuggerWasEnabled): + (WebInspector.DebuggerModel.prototype.debuggerWasDisabled): + (WebInspector.DebuggerModel.prototype.parsedScriptSource): + (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): + (WebInspector.DebuggerModel.prototype.didCreateWorker): + (WebInspector.DebuggerModel.prototype.didDestroyWorker): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): + (WebInspector.ProfilesPanel.prototype.setRecordingProfile): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager): + (WebInspector.ResourceManager.prototype._unbindResourceURL): + (WebInspector.ResourceManager.prototype.updateDOMStorage): + (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus): + (WebInspector.ResourceManager.prototype.didGetFileSystemPath): + (WebInspector.ResourceManager.prototype.didGetFileSystemError): + (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled): + (WebInspector.ResourceManager.prototype.updateNetworkState): + (WebInspector.ResourceManager.prototype.addDOMStorage): + (WebInspector.ResourceManager.prototype.selectDOMStorage): + (WebInspector.ResourceManager.prototype.addDatabase): + (WebInspector.ResourceManager.prototype.selectDatabase): + (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded): + (WebInspector.ResourceManager.prototype.sqlTransactionFailed): + * inspector/front-end/WorkersSidebarPane.js: + (WebInspector.Worker): + * inspector/front-end/inspector.js: + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Qt build fix. + + * dom/ErrorEvent.cpp: + * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not + only in workers. + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown + https://bugs.webkit.org/show_bug.cgi?id=8519 + + Uncaught exceptions are propagated to window.onerror hander if one is present. + The handler is expected to be a function accepting three arguments: error message, + resource url and line number where the exception occured. + + It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they + were created in the same isolated world where the exception occured or not. + + Tests: fast/events/window-onerror1.html + fast/events/window-onerror10.html + fast/events/window-onerror11.html + fast/events/window-onerror2.html + fast/events/window-onerror3.html + fast/events/window-onerror4.html + fast/events/window-onerror5.html + fast/events/window-onerror6.html + fast/events/window-onerror7.html + fast/events/window-onerror8.html + fast/events/window-onerror9.html + http/tests/security/window-onerror-exception-in-iframe.html + userscripts/window-onerror-for-isolated-world-1.html + userscripts/window-onerror-for-isolated-world-2.html + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::reportException): + * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp. + (WebCore::JSErrorHandler::JSErrorHandler): + (WebCore::JSErrorHandler::~JSErrorHandler): + (WebCore::JSErrorHandler::handleEvent): + * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::JSErrorHandler::create): + (WebCore::createJSErrorHandler): + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception + reporting mechanism which is also used by JSC bindings. + * bindings/v8/V8ConsoleMessage.h: + * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::V8WindowErrorHandler::V8WindowErrorHandler): + (WebCore::V8WindowErrorHandler::callListenerFunction): + * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::V8WindowErrorHandler::create): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::v8MessageHandler): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Document.cpp: + (WebCore::Document::errorEventTarget): + (WebCore::Document::logExceptionToConsole): + * dom/Document.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::PendingException::PendingException): + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to + ensure that error event dispatching algorithm is the same in WorkerContext and in Document. + (WebCore::ScriptExecutionContext::dispatchErrorEvent): + * dom/ScriptExecutionContext.h: + * workers/DefaultSharedWorkerRepository.cpp: + (WebCore::postExceptionTask): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::errorEventTarget): + (WebCore::WorkerContext::logExceptionToConsole): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerExceptionTask::performTask): + +2010-12-08 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: Enable CSS property editing name/value-wise (like Firebug does) + https://bugs.webkit.org/show_bug.cgi?id=50565 + + For CSS property editing, the property name and value have become two fields separated + by a colon (rather than one field containing the full property text.) A user can tab + between the name and value fields forward and backward. A colon typed in the name field + and a semicolon in the value field (unless found inside a string) act as a Tab and focus + the next editable field (while applying the entire property value.) + + Now a user can tab through all editable styles for an element, even across rule boundaries. + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint): + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): + (WebInspector.DataGrid.prototype._startEditing): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._startEditingAttribute): + (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): + (WebInspector.ElementsTreeElement.prototype._startEditingTagName): + (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): + * inspector/front-end/MetricsSidebarPane.js: + (WebInspector.MetricsSidebarPane.prototype.startEditing): + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): + * inspector/front-end/Section.js: + (WebInspector.Section): + (WebInspector.Section.prototype.get subtitleAsTextForTest): + (WebInspector.Section.prototype.get nextSibling): + (WebInspector.Section.prototype.get previousSibling): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._editBreakpointCondition): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection.prototype.nextEditableSibling): + (WebInspector.StylePropertiesSection.prototype.previousEditableSibling): + (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): + (WebInspector.StylePropertiesSection.prototype.startEditingSelector): + (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): + (WebInspector.StylePropertyTreeElement.prototype.): + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._handleDoubleClick): + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionTreeElement.prototype.startEditing): + * inspector/front-end/inspector.css: + (.child-editing): + * inspector/front-end/inspector.js: + (WebInspector.startEditing.defaultFinishHandler): + (WebInspector.startEditing): + * inspector/front-end/treeoutline.js: + (TreeElement.prototype.select): + +2010-12-13 Yael Aharon <yael.aharon@nokia.com> + + Unreviewed. + + Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot. + + * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style. + +2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73898. + http://trac.webkit.org/changeset/73898 + https://bugs.webkit.org/show_bug.cgi?id=50919 + + FileSystem and Database API's were broken (Requested by loislo + on #webkit). + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + * inspector/front-end/DOMAgent.js: + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.debuggerPaused): + (WebInspector.DebuggerModel.prototype.debuggerResumed): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager): + (WebInspector.ResourceManager.prototype._registerNotifyHandlers): + (WebInspector.ResourceManager.prototype._unbindResourceURL): + * inspector/front-end/inspector.js: + (WebInspector.addDatabase): + (WebInspector.addDOMStorage): + (WebInspector.updateDOMStorage): + (WebInspector.updateApplicationCacheStatus): + (WebInspector.didGetFileSystemPath): + (WebInspector.didGetFileSystemError): + (WebInspector.didGetFileSystemDisabled): + (WebInspector.updateNetworkState): + (WebInspector.attachDebuggerWhenShown): + (WebInspector.debuggerWasEnabled): + (WebInspector.debuggerWasDisabled): + (WebInspector.profilerWasEnabled): + (WebInspector.profilerWasDisabled): + (WebInspector.parsedScriptSource): + (WebInspector.restoredBreakpoint): + (WebInspector.failedToParseScriptSource): + (WebInspector.pausedScript): + (WebInspector.resumedScript): + (WebInspector.resetProfilesPanel): + (WebInspector.didCommitLoad): + (WebInspector.addProfileHeader): + (WebInspector.setRecordingProfile): + (WebInspector.addHeapSnapshotChunk): + (WebInspector.finishHeapSnapshot): + +2010-12-13 Anton Muhin <antonm@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups + https://bugs.webkit.org/show_bug.cgi?id=50828 + + * bindings/v8/DOMData.h: + (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper): + (WebCore::DOMData::removeObjectsFromWrapperMap): + * bindings/v8/DOMDataStore.h: + (WebCore::ChunkedTable::visit): + (WebCore::ChunkedTable::visitEntries): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit): + * bindings/v8/V8DOMMap.cpp: + (WebCore::removeAllDOMObjectsInCurrentThread): + (WebCore::visitDOMNodesInCurrentThread): + (WebCore::visitDOMObjectsInCurrentThread): + (WebCore::visitActiveDOMObjectsInCurrentThread): + (WebCore::visitDOMSVGElementInstancesInCurrentThread): + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::DOMObjectVisitor::visitDOMWrapper): + (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper): + (WebCore::GCPrologueVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::applyGrouping): + (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): + (WebCore::GCEpilogueVisitor::visitDOMWrapper): + +2010-12-13 Zoltan Herczeg <zherczeg@webkit.org> + + Unreviewed build fix for r73894. + + SVGFEImage should also check its hasResult() in its apply(). + + * svg/graphics/filters/SVGFEImage.cpp: + (WebCore::FEImage::apply): + +2010-12-13 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. + + Debugger and Resources related notification functions of Inspector.idl were + marked as such with help of "domain" attribute. The other changes in js files + are reflecting this change. Some wrappers in WebInspector namespace were dropped, + the others were moved to DebuggerModel class. + + https://bugs.webkit.org/show_bug.cgi?id=50906 + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.didCommitLoad): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown): + (WebInspector.DebuggerModel.prototype.debuggerWasEnabled): + (WebInspector.DebuggerModel.prototype.debuggerWasDisabled): + (WebInspector.DebuggerModel.prototype.parsedScriptSource): + (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.addHeapSnapshots): + (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): + (WebInspector.ProfilesPanel.prototype.setRecordingProfile): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager): + (WebInspector.ResourceManager.prototype._unbindResourceURL): + (WebInspector.ResourceManager.prototype.updateDOMStorage): + (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus): + (WebInspector.ResourceManager.prototype.didGetFileSystemPath): + (WebInspector.ResourceManager.prototype.didGetFileSystemError): + (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled): + (WebInspector.ResourceManager.prototype.updateNetworkState): + (WebInspector.ResourceManager.prototype.addDatabase): + (WebInspector.ResourceManager.prototype.addDOMStorage): + * inspector/front-end/inspector.js: + +2010-12-13 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Better result passing in filter primitives + https://bugs.webkit.org/show_bug.cgi?id=49907 + + SVG filter primitives can use the output of other filters. The + input and output format of a filter can be a premultiplied or + unmultiplied RGBA array, or an image buffer. All filter + primitive results were converted to image buffers before, which + could be an unecessary (and really costly) operation, if + a filter expects its input in the same format as the output + of the input filter primitive. This overhead is removed by + this patch. All apply() methods are updated according to this + new filter primitive interface. + + Filters do not generate their results twice (or more) anymore, + when their apply() called multiple times. + + The existing tests cover this feature. + + * manual-tests/svg-filter-animation.svg: Added. + * 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::FEConvolveMatrix::apply): + * platform/graphics/filters/FEDisplacementMap.cpp: + (WebCore::FEDisplacementMap::apply): + * platform/graphics/filters/FEFlood.cpp: + (WebCore::FEFlood::apply): + * platform/graphics/filters/FEGaussianBlur.cpp: + (WebCore::FEGaussianBlur::apply): + * platform/graphics/filters/FELighting.cpp: + (WebCore::FELighting::apply): + * platform/graphics/filters/FEMerge.cpp: + (WebCore::FEMerge::apply): + * platform/graphics/filters/FEMerge.h: + * platform/graphics/filters/FEMorphology.cpp: + (WebCore::FEMorphology::apply): + * platform/graphics/filters/FEOffset.cpp: + (WebCore::FEOffset::apply): + * platform/graphics/filters/FETile.cpp: + (WebCore::FETile::apply): + * platform/graphics/filters/FETurbulence.cpp: + (WebCore::FETurbulence::apply): + * platform/graphics/filters/FilterEffect.cpp: + (WebCore::FilterEffect::requestedRegionOfInputImageData): + (WebCore::FilterEffect::asImageBuffer): + (WebCore::FilterEffect::asUnmultipliedImage): + (WebCore::FilterEffect::asPremultipliedImage): + (WebCore::FilterEffect::copyImageBytes): + (WebCore::FilterEffect::copyUnmultipliedImage): + (WebCore::FilterEffect::copyPremultipliedImage): + (WebCore::FilterEffect::createImageBufferResult): + (WebCore::FilterEffect::createUnmultipliedImageResult): + (WebCore::FilterEffect::createPremultipliedImageResult): + * platform/graphics/filters/FilterEffect.h: + (WebCore::FilterEffect::hasResult): + * platform/graphics/filters/SourceAlpha.cpp: + (WebCore::SourceAlpha::apply): + * platform/graphics/filters/SourceGraphic.cpp: + (WebCore::SourceGraphic::apply): + * platform/graphics/filters/SourceGraphic.h: + * rendering/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::postApplyResource): + * svg/graphics/filters/SVGFEImage.cpp: + (WebCore::FEImage::apply): + +2010-12-13 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed. + + * WebCore.pro: Remove non-existant loader/Request.h from build system. + +2010-12-13 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Eric Seidel. + + [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10% + https://bugs.webkit.org/show_bug.cgi?id=50804 + + Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call + viz., compute the unpremultiplatcion in-place. This reduces the run-time + cost of jpeg encoding by 10-15% for my image test set. + + No new tests: canvas.toDataURL() is covered by existing tests. + + * platform/image-encoders/skia/JPEGImageEncoder.cpp: + (WebCore::preMultipliedBGRAtoRGB): + +2010-12-13 Helder Correia <helder@sencha.com> + + Reviewed by Eric Seidel. + + [Qt] StillImage::draw() should use ContextShadow + https://bugs.webkit.org/show_bug.cgi?id=50849 + + The branch that checks for a shadow requirement in StillImage::draw() + is executed when drawing a canvas onto a canvas with + ctx1.drawImage(canvas2, x, y). The current implementation supports + solid shadows only. And if transformations are present, the offset gets + transformed as well. Thus, ContextShadow must be used instead in order + to support blur and correct offset transformations. + + Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html + + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2010-12-12 Jon Honeycutt <jhoneycutt@apple.com> + + Unreviewed build fix. + + * editing/EditingAllInOne.cpp: + Add new file to the all-in-one. + +2010-12-12 Jon Honeycutt <jhoneycutt@apple.com> + + Unreviewed build fix. + + * WebCore.vcproj/WebCore.vcproj: + Remove accidentally-committed conflict marker. + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + - Introduced SpellChecker class to encapsulate asynchronous spell + checker state: sequence id, requesting text and target node. + This is also the first step to decompose spell-check related + code to a separate class. + - Added EditorClient::isAsynchronousSpellCheckingEnabled() + to use async spellcheck API on the platform. + These APIs are touched by SpellChecker. + - Used SpellChecker to check a pasted test. Text to check is + collected from the subtree under the editingRoot. + - Added Setting::m_asynchronousSpellCheckingEnabled to control + async spell checking. + + Test: editing/spelling/spellcheck-paste.html + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::showMarkers): + (showDocumentMarkers): + * dom/DocumentMarkerController.h: + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::setOffsetInLeafNode): + * dom/PositionIterator.h: + * editing/Editor.cpp: + (WebCore::Editor::replaceSelectionWithFragment): + (WebCore::Editor::Editor): + (WebCore::findFirstMarkable): + (WebCore::Editor::selectionStartHasSpellingMarkerFor): + * editing/Editor.h: + (WebCore::Editor::spellChecker): + * editing/SpellChecker.cpp: Added. + (WebCore::SpellChecker::SpellChecker): + (WebCore::SpellChecker::~SpellChecker): + (WebCore::SpellChecker::initRequest): + (WebCore::SpellChecker::clearRequest): + (WebCore::SpellChecker::isAsynchronousEnabled): + (WebCore::SpellChecker::canCheckAsynchronously): + (WebCore::SpellChecker::isBusy): + (WebCore::SpellChecker::isValid): + (WebCore::SpellChecker::isCheckable): + (WebCore::SpellChecker::requestCheckingFor): + (WebCore::forwardIterator): + (WebCore::SpellChecker::didCheck): + * editing/SpellChecker.h: Added. + (WebCore::SpellCheckingResult::SpellCheckingResult): + (WebCore::SpellCheckingResult::type): + (WebCore::SpellCheckingResult::location): + (WebCore::SpellCheckingResult::length): + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::requestCheckingOfString): + * page/EditorClient.h: + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setAsynchronousSpellCheckingEnabled): + (WebCore::Settings::asynchronousSpellCheckingEnabled): + +2010-12-09 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (part II) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from + the top of FocusController.cpp, and added the 'static' keyword where the function is implemented; + * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it; + (WebCore::FocusCandidate::FocusCandidate): + (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node'; + * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones; + Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp; + And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore. + +2010-12-12 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez. + + build-webkit --gtk --minimal fails + https://bugs.webkit.org/show_bug.cgi?id=46267 + + No new tests, build fix only. + + * GNUmakefile.am: Include some JS bindings generated headers in + the build even if their corresponding feature is disabled. They + are needed to make the DOM bindings build. + +2010-12-12 Sam Magnuson <smagnuso@gmail.com> + + Reviewed by Eric Seidel. + + [Qt] Compile with QT_NO_QUUID_STRING. + https://bugs.webkit.org/show_bug.cgi?id=49745 + + * platform/UUID.cpp: + (WebCore::createCanonicalUUIDString): + +2010-12-12 Ragner Magalhaes <ragner.magalhaes@openbossa.org> + + Reviewed by Eric Seidel. + + [Qt] Missing style for date pickers on Qt Mobile theme + https://bugs.webkit.org/show_bug.cgi?id=50628 + + * css/themeQtMobile.css: + +2010-12-11 Alice Liu <alice.liu@apple.com> + + Mac build fix. + + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::platformLazyInit): + Resolve string[0] ambiguity by passing 0U. + +2010-12-11 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + [V8] Move to DOMWindow::setLocation + https://bugs.webkit.org/show_bug.cgi?id=50876 + + Recently, JavaScriptCore moved to implementing setLocation in WebCore. + This patch change V8 to use that common code path. I haven't removed + the old code path because it's still used for other things (like + assigning window.location.href), but I'll move the rest over in a + future patch. + + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::locationAccessorSetter): + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::getFirstWindow): + * bindings/v8/specialization/V8BindingState.h: + +2010-10-11 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Mock DeviceOrientation client for DRT + https://bugs.webkit.org/show_bug.cgi?id=47490 + + * WebCore.pro: + +2010-12-11 Joone Hur <joone@kldp.org> + + Reviewed by Alexey Proskuryakov. + + enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch + https://bugs.webkit.org/show_bug.cgi?id=50871 + + Fix the warning which occurs when enumeration value is not handled in switch. + + No new tests, no change in behavior. + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::response): + +2010-12-11 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Darin Adler. + + Add an overload to makeString for Vector<char> + https://bugs.webkit.org/show_bug.cgi?id=50123 + + This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port. + + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/gtk/ImageBufferGtk.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/haiku/ImageBufferHaiku.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::toDataURL): + +2010-12-10 Alexey Proskuryakov <ap@apple.com> + + Mac build fix. + + * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit): + Resolve string[0] ambiguity by passing 0U. + +2010-12-10 Steve Falkenburg <sfalken@apple.com> + + Windows production build fix. + + Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts. + + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: + * WebCore.vcproj/build-generated-files.sh: + +2010-12-10 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Eric Seidel. + + Remove WebCore/platform/mac/GeolocationService.{h,mm} + https://bugs.webkit.org/show_bug.cgi?id=50074 + + Remove unused non-client-based geolocation code. + + * platform/mac/GeolocationServiceMac.h: Removed. + * platform/mac/GeolocationServiceMac.mm: Removed. + +2010-12-10 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=46573 + <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work + + Test: http/tests/mime/quoted-charset.php + + * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit): + * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit): + Work around a CFNetwork issue, strip quotes if they are present. + +2010-12-10 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + Shader::loadShader() must initialize variable passed to getShaderiv + https://bugs.webkit.org/show_bug.cgi?id=50842 + + Test: fast/canvas/canvas-largedraws.html + + * platform/graphics/gpu/Shader.cpp: + (WebCore::Shader::loadShader): + +2010-12-10 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + Texture::updateSubRect should pass IntRect by reference + https://bugs.webkit.org/show_bug.cgi?id=50845 + + No test, changing to pass by ref. + + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::updateSubRect): + * platform/graphics/gpu/Texture.h: + +2010-12-10 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Move open and showModalDialog implementations from bindings into DOM class DOMWindow + https://bugs.webkit.org/show_bug.cgi?id=50836 + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::open): Removed most of the code and changed to call + DOMWindow::open. + (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the + arguments and return value in showModalDialog. + (WebCore::DialogHandler::dialogCreated): Ditto. + (WebCore::DialogHandler::returnValue): Ditto. + (WebCore::setUpDialog): Added. Function passed to showModalDialog that just + casts pointer to DialogHandler can calls dialogCreated. + (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed + to call DOMWindow::showModalDialog. + (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by + renaming local variables and getting rid of a needless ones. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function + to the WindowFeatures class. + (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame, + because that's the frame we pass in here. Also added an overload so this can be + called on a window rather than a frame. + (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are + the same as in open and showModalDialog. Factored the JavaScript security check + into a new function named isInsecureScriptAccess. + (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function. + (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and + showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp + used to. + (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the + JavaScript language binding part, and with a bit of refactoring to share code + with the rest of the DOMWindow class. + (WebCore::DOMWindow::showModalDialog): Ditto. + + * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs + in alphabetical order so they are not scattered thorugh the file. Removed redundant + includes. Added some blank lines for clarity. Added an open function and a + showModalDialog function. Added private createWindow and isInsecureScriptAccess + functions. + + * page/WindowFeatures.cpp: + (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity. + (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty + instead of checking length. Added a new constructor for use when making dialogs, + with code from the showModalDialog function. + (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef. + (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef. + Renamed a local variable and tweaked the comments a bit. + (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from + DOMWindow::parseDialogFeatures and refactored a bit. + + * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures + function, DialogFeaturesMap typedef, and made setWindowFeature function private. + +2010-12-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: refactor AccessibilityRenderObject::doAccessibilityHitTest + https://bugs.webkit.org/show_bug.cgi?id=50574 + + Refactors accessibility hit testing to allow for a more flexible model when handling elements + with fake sub-elements (like sliders or list boxes). + + Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root + accessibility render object. Then subclassers are able to override + elementAccessibilityHitTest to return their own specific elements. + + * accessibility/AccessibilityListBox.cpp: + (WebCore::AccessibilityListBox::elementAccessibilityHitTest): + * accessibility/AccessibilityListBox.h: + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::accessibilityHitTest): + (WebCore::AccessibilityObject::elementAccessibilityHitTest): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityHitTest): + * accessibility/AccessibilityRenderObject.h: + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySlider::elementAccessibilityHitTest): + * accessibility/AccessibilitySlider.h: + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_component_ref_accessible_at_point): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityHitTest:]): + +2010-12-10 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Adler. + + Clean up assertion in Extensions3DOpenGL.cpp + https://bugs.webkit.org/show_bug.cgi?id=50852 + + Built Release mode to test. No functionality change. + + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::ensureEnabled): + +2010-12-10 Cosmin Truta <ctruta@chromium.org> + + Reviewed by Eric Seidel. + + Crash while processing ill-formed <textPath> ouside of <text> + https://bugs.webkit.org/show_bug.cgi?id=47759 + + Renderers within a <text> subtree are created only when their corresponding elements + satisfy the content model. + + Test: svg/custom/invalid-text-content.svg + + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model. + (WebCore::SVGTRefElement::rendererIsNeeded): Added. + * svg/SVGTRefElement.h: + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model. + (WebCore::SVGTSpanElement::rendererIsNeeded): Added. + * svg/SVGTSpanElement.h: Changed indentation. + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted. + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model. + (WebCore::SVGTextPathElement::rendererIsNeeded): Added. + * svg/SVGTextPathElement.h: + +2010-12-10 Zhenyao Mo <zmo@google.com> + + Reviewed by Adam Barth. + + Use enums instead of booleans in ImageSource/ImageDecoder constructors + https://bugs.webkit.org/show_bug.cgi?id=50818 + + This patch basically defines two enum type in ImageSource: AlphaOption + and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder + constructor parameters instead of boolean typs. + + * platform/graphics/ImageSource.cpp: + (WebCore::ImageSource::ImageSource): + (WebCore::ImageSource::setData): + * platform/graphics/ImageSource.h: Define the two enum types. + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::ImageSource): + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoder::create): + (WebCore::ImageDecoderQt::ImageDecoderQt): + * platform/graphics/qt/ImageDecoderQt.h: + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/image-decoders/ImageDecoder.cpp: + (WebCore::ImageDecoder::create): + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageDecoder::ImageDecoder): + * platform/image-decoders/bmp/BMPImageDecoder.cpp: + (WebCore::BMPImageDecoder::BMPImageDecoder): + * platform/image-decoders/bmp/BMPImageDecoder.h: + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::GIFImageDecoder): + * platform/image-decoders/gif/GIFImageDecoder.h: + * platform/image-decoders/ico/ICOImageDecoder.cpp: + (WebCore::ICOImageDecoder::ICOImageDecoder): + (WebCore::ICOImageDecoder::decodeAtIndex): + * platform/image-decoders/ico/ICOImageDecoder.h: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageDecoder::JPEGImageDecoder): + * platform/image-decoders/jpeg/JPEGImageDecoder.h: + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::PNGImageDecoder): + * platform/image-decoders/png/PNGImageDecoder.h: + * platform/image-decoders/webp/WEBPImageDecoder.cpp: + (WebCore::WEBPImageDecoder::WEBPImageDecoder): + * platform/image-decoders/webp/WEBPImageDecoder.h: + +2010-12-10 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION(r73799): editing/execCommand/4920488.html fails + https://bugs.webkit.org/show_bug.cgi?id=50854 + + The regression was caused by Range::processContents's not extracting + m_end.container()->firstChild(). Fixed the bug by always adding the first child. + + * dom/Range.cpp: + (WebCore::Range::processContents): + +2010-12-10 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION: Infinite redirect on developer.apple.com + https://bugs.webkit.org/show_bug.cgi?id=45627 + + Tests: fast/loader/form-submit-aborts-parsing.html + fast/loader/location-change-aborts-parsing.html + + This patch is not pretty, but it fixes the bug. I stole this approach + from the old HTML parser (as suggested by Eric Seidel). The other + approaches that folks tried for this bug are better, but it's inclear + how to get them to work correctly. I've added a large FIXME comment. + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::pumpTokenizer): + * html/parser/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::isParsingFragment): + +2010-12-10 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Ada Chan. + + When we are creating a ContextMenuItem, only call setSubMenu if we have + a subMenu to set. + + * platform/ContextMenuItem.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + +2010-12-10 Kenneth Russell <kbr@google.com> + + Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed + for Release builds. + + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + +2010-12-10 Kenneth Russell <kbr@google.com> + + Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG. + + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::ensureEnabled): + +2010-12-10 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Implement extension entry points and remove EXTENSIONS enum + https://bugs.webkit.org/show_bug.cgi?id=40316 + + Implemented WebGLRenderingContext's getSupportedExtensions and + getExtensions entry points, and, to verify them, added support for + the first specified WebGL extension, OES_texture_float. This + extension is now advertised in the Chromium and WebKit ports when + the underlying hardware supports it. + + The new OES_texture_float test in the WebGL conformance suite + verifies the allocation and population of floating point textures, + and their use as render targets. However, because this extension + is optional, it is not easily testable with a layout test; there + is only one set of expectations for a given test, and two would be + needed, one when the extension is available and one when it is not. + + Tested with the oes-texture-float.html WebGL conformance test in + Chromium and WebKit on Mac OS X on hardware that supports the + extension. Also verified with a configuration that does not + advertise the extension that this same test passes. + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSWebGLRenderingContextCustom.cpp: + (WebCore::toJS): + (WebCore::JSWebGLRenderingContext::markChildren): + (WebCore::JSWebGLRenderingContext::getExtension): + (WebCore::JSWebGLRenderingContext::getSupportedExtensions): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + (WebCore::V8WebGLRenderingContext::getExtensionCallback): + (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): + * html/canvas/OESTextureFloat.cpp: Added. + (WebCore::OESTextureFloat::OESTextureFloat): + (WebCore::OESTextureFloat::~OESTextureFloat): + (WebCore::OESTextureFloat::getName): + (WebCore::OESTextureFloat::create): + * html/canvas/OESTextureFloat.h: Added. + * html/canvas/OESTextureFloat.idl: Added. + * html/canvas/WebGLExtension.cpp: Added. + (WebCore::WebGLExtension::WebGLExtension): + (WebCore::WebGLExtension::~WebGLExtension): + * html/canvas/WebGLExtension.h: Added. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getExtension): + (WebCore::WebGLRenderingContext::getSupportedExtensions): + (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): + (WebCore::WebGLRenderingContext::validateTexFuncData): + (WebCore::WebGLRenderingContext::getNumberOfExtensions): + (WebCore::WebGLRenderingContext::getExtensionNumber): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLRenderingContext.idl: + * platform/graphics/Extensions3D.h: + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): + (WebCore::GraphicsContext3D::extractTextureData): + (WebCore::doUnpackingAndPacking): + (WebCore::doPacking): + (WebCore::doFloatingPointPacking): + (WebCore::GraphicsContext3D::packPixels): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/chromium/Extensions3DChromium.h: + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::supports): + (WebCore::Extensions3DOpenGL::ensureEnabled): + * platform/graphics/opengl/Extensions3DOpenGL.h: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::texImage2D): + * platform/graphics/qt/Extensions3DQt.cpp: + (WebCore::Extensions3DQt::ensureEnabled): + * platform/graphics/qt/Extensions3DQt.h: + +2010-12-10 Darin Adler <darin@apple.com> + + Try to fix Windows build. + + * dom/Range.cpp: + (WebCore::Range::processContents): Put typedef of NodeVector inside the function + instead of at the top of the file, since the use is restricted to this function. + There's another NodeVector in ContainerNode.cpp. + +2010-12-09 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben. + + Prep for WebKit2: Context menu support on Windows + https://bugs.webkit.org/show_bug.cgi?id=50514 + + Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems + were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to + be to work in WebKit2. + + This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform + representation of context menus. This patch also has Windows adopt them. + + Cross-platform context menus change the API of context menus and the ContextMenuClient. There + is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed + by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked + title, action, type, and submenu). + + This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems + function to allow for customization of the context menu. + + For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from + a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done + in ContextMenuWin.cpp and ContextMenuItemWin.cpp. + + No new tests, no change in behavior. + + * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now). + * loader/EmptyClients.h: + (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS + is on. + * page/ContextMenuClient.h: Ditto. + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of + getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on. + * platform/ContextMenu.cpp: Added. + (WebCore::ContextMenu::ContextMenu): Empty constructor. + (WebCore::ContextMenu::setItems): Sets the items in the menu. + (WebCore::ContextMenu::items): Returns the items in the menu. + (WebCore::ContextMenu::itemAtIndex): + (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending + into submenus. + (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu. + * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for + CROSS_PLATFORM_CONTEXT_MENUS. + (WebCore::ContextMenu::appendItem): Appends an item to the menu. + * platform/ContextMenuItem.cpp: Added. + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::setSubMenu): + * platform/ContextMenuItem.h: + (WebCore::ContextMenuItem::type): Returns the type. + (WebCore::ContextMenuItem::setType): Sets the type. + (WebCore::ContextMenuItem::action): Returns the action. + (WebCore::ContextMenuItem::setAction): Sets the action. + (WebCore::ContextMenuItem::title): Returns the title. + (WebCore::ContextMenuItem::setTitle): Sets the title. + (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked. + (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked. + (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled. + (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled. + (WebCore::ContextMenuItem::submenu): Returns the submenu. + * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if + CROSS_PLATFORM_CONTEXT_MENUS is on. + * platform/win/ContextMenuItemWin.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO. + (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO. + * platform/win/ContextMenuWin.cpp: + (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU. + (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU. + +2010-12-10 Emil Eklund <eae@chromium.org> + + Reviewed by Adam Barth. + + Fix crash in ReplaceSelectionCommand::doApply when selection is modified + during execution. + https://bugs.webkit.org/show_bug.cgi?id=50840 + + Test: editing/execCommand/insertHTML-mutation-crash.html + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::copyStyleToChildren): + Replaced raw node pointer with RefPtr. + + (WebCore::ReplaceSelectionCommand::doApply): + Replaced raw node pointer with RefPtr and added null check. + +2010-12-10 Emil Eklund <eae@chromium.org> + + Reviewed by Adam Barth. + + Fix crash in Range::processContents when modified during mutation event. + https://bugs.webkit.org/show_bug.cgi?id=50710 + + Test: fast/dom/Range/range-extractContents.html + + * dom/Range.cpp: + (WebCore::Range::processContents): + Replace raw pointers with RefPtrs and add checks. + +2010-12-09 Enrica Casucci <enrica@apple.com> + + Reviewed by Alexey Proskuryakov. + + Implement IME support for Mac. + <rdar://problem/7660589> WebKit2: Implement IME support for Mac. + https://bugs.webkit.org/show_bug.cgi?id=50788 + + * dom/KeyboardEvent.h: + (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor, + since it is now used for more than one command. + +2010-12-10 Jessie Berlin <jberlin@apple.com> + + Windows build fix. Unreviewed. + + * WebCore.vcproj/WebCore.vcproj: + Remove duplicate </File> tag. + +2010-12-09 Jenn Braithwaite <jennb@chromium.org> + + Reviewed by Adam Barth. + + TextResourceDecoder::checkForHeadCharset can look way past the limit. + https://bugs.webkit.org/show_bug.cgi?id=47397 + + Replaced charset detection algorithm with real parser. + Added tests for parser bugs mentioned in the thread for this bug report. + Converted hixie's encoding parsing tests to a layout test. + + Tests: fast/encoding/bracket-in-script.html + fast/encoding/bracket-in-tag.html + fast/encoding/escaped-bracket.html + fast/encoding/meta-in-body.html + fast/encoding/meta-in-script.html + fast/encoding/meta-in-title.html + fast/encoding/mismatched-end-tag.html + fast/encoding/namespace-meta.html + fast/encoding/not-http-equiv-content.html + fast/encoding/parser-tests.html + fast/encoding/quotes-in-title.html + fast/encoding/tag-name-digit.html + http/tests/misc/charset-sniffer-end-sniffing.html + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/parser/HTMLMetaCharsetParser.cpp: Added. + (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): + (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser): + (WebCore::HTMLMetaCharsetParser::extractCharset): + (WebCore::HTMLMetaCharsetParser::processMeta): + (WebCore::HTMLMetaCharsetParser::checkForMetaCharset): + * html/parser/HTMLMetaCharsetParser.h: Added. + (WebCore::HTMLMetaCharsetParser::create): + (WebCore::HTMLMetaCharsetParser::encoding): + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::checkForHeadCharset): + (WebCore::TextResourceDecoder::checkForMetaCharset): + * loader/TextResourceDecoder.h: + +2010-12-10 Nate Chapin <japhet@chromium.org> + + Reviewed by Antti Koivisto. + + Merge Loader and Request. Currently, Loader is a singleton attached + to MemoryCache. Our goal is to remove knowledge of the loading process + from MemoryCache, so we should attach Loader to CachedResourceLoader instead. + Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton, + which removes the main reason for Request existing as a separate class (to store per-request + state that Loader couldn't). + + Loader will be given a more descriptive name in a later patch. + + https://bugs.webkit.org/show_bug.cgi?id=49837 + + Refactor only, no new tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * loader/FrameLoader.cpp: + * loader/Request.cpp: + * loader/Request.h: + * loader/cache/CachedFont.cpp: + * loader/cache/CachedImage.cpp: + * loader/cache/CachedResource.cpp: + * loader/cache/CachedResource.h: + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::CachedResourceLoader): + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestImage): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::load): + (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false), + plus other CachedResourceLoader cleanup that had been handled in Loader. + (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader. + (WebCore::CachedResourceLoader::requestCount): + * loader/cache/CachedResourceLoader.h: + (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true) + * loader/cache/MemoryCache.h: + * loader/loader.cpp: + (WebCore::Loader::Loader): + (WebCore::Loader::~Loader): + (WebCore::Loader::load): + (WebCore::Loader::willSendRequest): + (WebCore::Loader::didFinishLoading): + (WebCore::Loader::didFail): + (WebCore::Loader::didReceiveResponse): + (WebCore::Loader::didReceiveData): + (WebCore::Loader::didReceiveCachedMetadata): + * loader/loader.h: + (WebCore::Loader::cachedResourceLoader): + +2010-12-10 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73703. + http://trac.webkit.org/changeset/73703 + https://bugs.webkit.org/show_bug.cgi?id=49658 + + This patch is causing crashes on the GTK+ bots. + + * platform/ContextMenuItem.h: + (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::createNativeMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::title): + (WebCore::ContextMenuItem::setTitle): + (WebCore::ContextMenuItem::platformSubMenu): + (WebCore::ContextMenuItem::setSubMenu): + (WebCore::ContextMenuItem::setChecked): + (WebCore::ContextMenuItem::setEnabled): + +2010-12-08 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Darin Adler. + + fast/canvas/canvas-getImageData-negative-source.html fails on Mac + https://bugs.webkit.org/show_bug.cgi?id=47901 + + Test: fast/canvas/canvas-getImageData-rounding.html + + static_cast<unsigned> is generally not what we want in + convertLogicalToDevice. It produces inconsistent results when compiling + for 32-bit vs. 64-bit, and in any case we weren't getting correct + rounding behavior for source rectangles (e.g. we should get a source rect + of width 2 if the source X is 0.9 and the source width is 0.2, but we + were getting only one of width 1). + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::convertLogicalToDevice): + (WebCore::HTMLCanvasElement::convertToValidDeviceSize): + * html/HTMLCanvasElement.h: + +2010-12-10 Hironori Bono <hbono@chromium.org> + + Reviewed by Ojan Vafai. + + [Chromium] Use libjpeg-turbo instead of libjpeg + https://bugs.webkit.org/show_bug.cgi?id=50054 + + This change replaces the hard-coded path to the GYP files of the JPEG + library with a 'libjpeg_gyp_path' variable, which is added by Chromium + r68453. (When building WebKit Chromium, this change sets its value to + '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing + the current behavior.) + + No new tests since this does not change the code at all. + + * WebCore.gyp/WebCore.gyp: + +2010-12-10 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside + the implementation. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::setAnimationOnLayer): + * platform/graphics/ca/PlatformCAAnimation.h: + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (hasNonZeroBeginTimeFlag): + (setNonZeroBeginTimeFlag): + (PlatformCAAnimation::PlatformCAAnimation): + (PlatformCAAnimation::setBeginTime): + +2010-12-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor. + https://bugs.webkit.org/show_bug.cgi?id=50679 + + * inspector/front-end/Script.js: + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrame.prototype._breakpointAdded): + (WebInspector.SourceFrame.prototype._doEditLine): + (WebInspector.SourceFrame.prototype._commitEditLine): + (WebInspector.SourceFrame.prototype._breakpoints): + (WebInspector.SourceFrame.prototype._sourceIDForLine): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + +2010-12-10 Andreas Kling <kling@webkit.org> + + Reviewed by Eric Seidel. + + Don't do GraphicsContext save/restore just to preserve the CompositeOperator + https://bugs.webkit.org/show_bug.cgi?id=50070 + + Add GraphicsContext::compositeOperation() so we don't have to do a full + save/restore if the only context-tainting call is setCompositeOperation(). + + GraphicsContext::setCompositeOperation() now stores the op in its state + and calls a port-specific setPlatformCompositeOperation(). + + No new tests, this is an optimization. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setCompositeOperation): + (WebCore::GraphicsContext::compositeOperation): + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsContextPrivate.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/Image.cpp: + (WebCore::Image::fillWithSolidColor): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/skia/SkiaUtils.cpp: + (WebCore::WebCoreCompositeToSkiaComposite): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + +2010-12-10 Renata Hodovan <reni@webkit.org> + + Reviewed by Andreas Kling. + + GraphicsContext: Merge m_common and m_data + https://bugs.webkit.org/show_bug.cgi?id=49914 + + Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h + and m_common became unnecessary. They are removed. + Add two methods to GraphicsContext: platformInit() and platformDestroy(), which + make the constructor of GraphicsContext clearer. + Besides add a getter to the private GraphicsContext::m_state member, because some inline + functions in cairo need it. + + No new test is needed, because this is a refactoring. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::setStrokeThickness): + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setStrokeColor): + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + (WebCore::GraphicsContext::strokeThickness): + (WebCore::GraphicsContext::strokeStyle): + (WebCore::GraphicsContext::strokeColor): + (WebCore::GraphicsContext::strokeColorSpace): + (WebCore::GraphicsContext::fillRule): + (WebCore::GraphicsContext::setFillRule): + (WebCore::GraphicsContext::setFillColor): + (WebCore::GraphicsContext::fillColor): + (WebCore::GraphicsContext::fillColorSpace): + (WebCore::GraphicsContext::setShouldAntialias): + (WebCore::GraphicsContext::shouldAntialias): + (WebCore::GraphicsContext::state): + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + (WebCore::GraphicsContext::fillGradient): + (WebCore::GraphicsContext::strokeGradient): + (WebCore::GraphicsContext::fillPattern): + (WebCore::GraphicsContext::strokePattern): + (WebCore::GraphicsContext::setShadowsIgnoreTransforms): + (WebCore::GraphicsContext::updatingControlTints): + (WebCore::GraphicsContext::setUpdatingControlTints): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + (WebCore::GraphicsContext::textDrawingMode): + (WebCore::GraphicsContext::setTextDrawingMode): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/GraphicsContextPrivate.h: Removed. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::setPlatformFill): + (WebCore::setPlatformStroke): + (WebCore::drawPathShadow): + (WebCore::fillCurrentCairoPath): + (WebCore::strokeCurrentCairoPath): + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::platformInit): + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::platformInit): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + +2010-12-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: introduce a pair of set/remove methods for each breakpoint type. + https://bugs.webkit.org/show_bug.cgi?id=50809 + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setEventListenerBreakpoint): + (WebCore::InspectorController::removeEventListenerBreakpoint): + (WebCore::InspectorController::hasEventListenerBreakpoint): + (WebCore::InspectorController::setXHRBreakpoint): + (WebCore::InspectorController::removeXHRBreakpoint): + (WebCore::InspectorController::hasXHRBreakpoint): + (WebCore::InspectorController::clearNativeBreakpoints): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::setDOMBreakpoint): + (WebCore::InspectorDOMAgent::removeDOMBreakpoint): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): + (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): + (WebCore::InspectorDOMAgent::descriptionForDOMEvent): + (WebCore::InspectorDOMAgent::didRemoveDOMNode): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.NativeBreakpoint): + (WebInspector.DOMBreakpoint): + (WebInspector.EventListenerBreakpoint): + (WebInspector.XHRBreakpoint): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.debuggerPaused): + +2010-12-10 Adam Roben <aroben@apple.com> + + Windows production build fix after r72555 + + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use + "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the + .vsprops files, rather than $(WebKitLibrariesDir). + +2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by nobody, build fix. + + [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710. + + * platform/network/qt/QtNAMThreadSafeProxy.cpp: + (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy): + (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest): + * platform/network/qt/QtNAMThreadSafeProxy.h: + +2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by nobody, build fix. + + [Qt] Fix the build with Qt 4.6 broken in 73710. + + * platform/network/qt/QtNAMThreadSafeProxy.cpp: + (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy): + * platform/network/qt/QtNAMThreadSafeProxy.h: + +2010-12-10 Emil Eklund <eae@chromium.org> + + Reviewed by Eric Seidel. + + Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal + https://bugs.webkit.org/show_bug.cgi?id=49982 + + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchMouseEvent): + Walk up DOM/hosted tree rather than render tree. + +2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Support a QNetworkAccessManager affined to a different thread. + https://bugs.webkit.org/show_bug.cgi?id=50080 + + This patch introduce thread safe proxy classes for QNetworkAccessManager + and QNetworkReply. + If run in the same thread, these objects will forward the calls with + Qt::DirectConnection bindings, while in the other case they will use + Qt::QueuedConnection to carry requests accross threads. + + This patch basically: + - Makes sure that all access goes through these objects + - Reorders signal connections to make sure we are connected when the + signal comes + - Makes sure that no QObject in the WebCore thread is a child of the + reply which might be in a different thread. + - Forward the data directly in QByteArrays in signals instead of collecting + the data when the signal is handled. + + New test: tst_QWebPage::networkAccessManagerOnDifferentThread + + * WebCore.pro: + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::commitLoad): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::FormDataIODevice::FormDataIODevice): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::setLoadMode): + (WebCore::QNetworkReplyHandler::abort): + (WebCore::QNetworkReplyHandler::release): + (WebCore::ignoreHttpError): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + (WebCore::QNetworkReplyHandler::sendQueuedItems): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added. + * platform/network/qt/QtNAMThreadSafeProxy.h: Added. + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::willLoadFromCache): + * platform/qt/CookieJarQt.cpp: + (WebCore::networkAccessManager): + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + +2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes. + https://bugs.webkit.org/show_bug.cgi?id=50761 + + This patch change the order to check if m_reply is null instead, + explicitly deleting the reply before calling start() for a redirect, + or after calling didFinishLoading()/didFail() in other cases. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + +2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make sure we send the response before any data. + https://bugs.webkit.org/show_bug.cgi?id=50760 + + This patch make sure the data available flag is set before + we call sendResponseIfNeeded. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::resetState): + * platform/network/qt/QNetworkReplyHandler.h: + +2010-12-10 Koan-Sin Tan <koansin.tan@gmail.com> + + Reviewed by Dan Bernstein. + + Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp + https://bugs.webkit.org/show_bug.cgi?id=50668 + + No new tests. Note that, as said in the bug report discussion, + I did have a test case for the bug. However, to show the test + case you need some "broken" Microsoft copyrighted fonts, such + as DFKai-SB. + + * platform/graphics/Font.cpp: + (WebCore::Font::isCJKIdeograph): + +2010-12-10 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Simplify context-menu handling code + https://bugs.webkit.org/show_bug.cgi?id=49658 + + * platform/ContextMenuItem.h: + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::title): + (WebCore::ContextMenuItem::setTitle): + (WebCore::ContextMenuItem::platformSubMenu): + (WebCore::ContextMenuItem::setSubMenu): + (WebCore::ContextMenuItem::setChecked): + (WebCore::ContextMenuItem::setEnabled): + +2010-12-10 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GStreamer] un-needed methods + https://bugs.webkit.org/show_bug.cgi?id=50805 + + No new tests, code cleanup only. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2010-12-10 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GStreamer] data: source could also support non-base64 encoded URIs + https://bugs.webkit.org/show_bug.cgi?id=30007 + + Removed our ancient implementation of dataurisrc. We should now + use the one in gst-plugins-bad which is more mature. + + * GNUmakefile.am: + * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed. + * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed. + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::doGstInit): + +2010-12-10 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Eric Seidel. + + [Qt] Fix crashes in debug mode + https://bugs.webkit.org/show_bug.cgi?id=49976 + + The m_methods hashmap of QtInstance contains InternalFunctions + whose depend on the current RuntimeObject. When we recreate the + RuntimeObject, we should also reset this hashmap. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::newRuntimeObject): + +2010-12-10 François Sausset <sausset@gmail.com> + + Reviewed by Eric Seidel. + + MathML: update baselinePosition() call in RenderMathMLBlock.cpp + https://bugs.webkit.org/show_bug.cgi?id=50540 + + The call of baselinePosition() is outdated: new arguments added. + + * mathml/RenderMathMLBlock.cpp: + (WebCore::RenderMathMLBlock::paint): + +2010-12-10 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Numeric keys are floats. + https://bugs.webkit.org/show_bug.cgi?id=50674 + + Use floating point to represent numeric keys, + add version meta data to the SQLite db, + and migrate object stores that use integers. + + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::createIDBKeyFromValue): + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::createTables): + (WebCore::migrateDatabase): + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBKey.cpp: + (WebCore::IDBKey::IDBKey): + (WebCore::IDBKey::fromQuery): + (WebCore::IDBKey::bind): + (WebCore::IDBKey::bindWithNulls): + * storage/IDBKey.h: + (WebCore::IDBKey::create): + (WebCore::IDBKey::number): + +2010-12-10 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] style="font-family: courier" makes text disappear + https://bugs.webkit.org/show_bug.cgi?id=47452 + + Don't ever use fonts that do not have any of the three charmaps that + Fontconfig supports (Unicode, Apple Roman and Symbol). If we select + a font that doesn't have one of these charmaps, use the next font in + the list. + + Test: platform/gtk/fonts/font-with-no-valid-encoding.html + + * platform/graphics/freetype/FontCacheFreeType.cpp: + (WebCore::FontCache::createFontPlatformData): Check whether the + font we selected has a valid Fontconfig charmap. + * platform/graphics/freetype/FontPlatformData.h: Added new method definition. + * platform/graphics/freetype/FontPlatformDataFreeType.cpp: + (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which + verifies that a font has a valid Fontconfig charmap. + +2010-12-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Ojan Vafai. + + Make DOM Mutation Events Asynchronous + https://bugs.webkit.org/show_bug.cgi?id=46936 + + Implemented DOM mutations events as scoped events. A scoped event is an event whose + dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by + EventQueueScope objects (RAII idiom), which increments and decrements the scoping level + on its constructor and destructor respectively. + + When the scoping level is 0 (initial level), scoped events are dispatched as soon as + they are enqueued and act like synchronous events. When the scoping level is greater than 0, + however, events are queued in ScopedEventQueue and their dispatches are delayed until + the scoping level goes back to 0 (by the destruction of EventQueueScope). + + DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, + DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as + scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches + of the events until the completion of each call of EditCommand::doApply. + + Test: fast/events/mutation/execCommands.html + + * Android.mk: Added ScopedEventQueue.cpp. + * CMakeLists.txt: Ditto. + * WebCore.pro: Ditto. + * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h. + * WebCore.gypi: Ditto. + * WebCore.vcproj/project.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent. + (WebCore::dispatchChildRemovalEvents): Ditto. + * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp. + * dom/Element.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): Ditto. + (WebCore::Element::dispatchAttrAdditionEvent): Ditto. + * dom/Node.cpp: + (WebCore::Node::dispatchScopedEvent): Added. + (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent. + * dom/Node.h: + * dom/ScopedEventQueue.cpp: Added. + (WebCore::ScopedEventQueue::initialize): Added. + (WebCore::ScopedEventQueue::enqueueEvent): Added. + (WebCore::ScopedEventQueue::dispatchAllEvents): Added. + (WebCore::ScopedEventQueue::dispatchEvent): Added. + (WebCore::ScopedEventQueue::instance): Added. + (WebCore::ScopedEventQueue::incrementScopingLevel): Added. + (WebCore::ScopedEventQueue::decrementScopingLevel): Added. + * dom/ScopedEventQueue.h: Added. + (WebCore::ScopedEventQueue::~ScopedEventQueue): Added. + (WebCore::ScopedEventQueue::ScopedEventQueue): Added. + (WebCore::EventQueueScope::EventQueueScope): Added. + (WebCore::EventQueueScope::~EventQueueScope): Added. + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): Instantiates EventQueueScope. + +2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73684. + http://trac.webkit.org/changeset/73684 + https://bugs.webkit.org/show_bug.cgi?id=50801 + + "missing bug number" (Requested by rniwa on #webkit). + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): + (WebCore::dispatchChildRemovalEvents): + * dom/DOMAllInOne.cpp: + * dom/Element.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): + (WebCore::Element::dispatchAttrAdditionEvent): + * dom/Node.cpp: + (WebCore::Node::dispatchSubtreeModifiedEvent): + (WebCore::Node::dispatchUIEvent): + * dom/Node.h: + * dom/ScopedEventQueue.cpp: Removed. + * dom/ScopedEventQueue.h: Removed. + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): + +2010-12-09 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] enable orientation flag when QtMobility available + https://bugs.webkit.org/show_bug.cgi?id=50781 + + When QtMobility available, enable orientation flag by default. + + * features.pri: + +2010-12-09 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Kent Tamura. + + Improve validation API support of <object> and <keygen> + https://bugs.webkit.org/show_bug.cgi?id=50663 + + Adds validation API to HTMLObjectElement class. + Makes HTMLKeygenElement::willValidate() return false. + + Test: fast/forms/setCustomValidity-existence.html + + * html/HTMLKeygenElement.h: + (WebCore::HTMLKeygenElement::willValidate): Added. + * html/HTMLObjectElement.h: + (WebCore::HTMLObjectElement::validationMessage): Added. + (WebCore::HTMLObjectElement::checkValidity): Added. + (WebCore::HTMLObjectElement::setCustomValidity): Added. + * html/HTMLObjectElement.idl: Added validation API properties. + +2010-12-09 Sadrul Habib Chowdhury <sadrul@chromium.org> + + Reviewed by Kent Tamura. + + Make sure a non-zero value is used for tile-width to avoid a crash + https://bugs.webkit.org/show_bug.cgi?id=50341 + + The scaled tile width can be very small at times (e.g. with 'style: font 1 + required'). So use a minimum width of 1 instead of using 0 (which leads to a + crash). + + Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html + + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::paintProgressBar): + +2010-12-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Ojan Vafai. + + Implemented DOM mutations events as scoped events. A scoped event is an event whose + dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by + EventQueueScope objects (RAII idiom), which increments and decrements the scoping level + on its constructor and destructor respectively. + + When the scoping level is 0 (initial level), scoped events are dispatched as soon as + they are enqueued and act like synchronous events. When the scoping level is greater than 0, + however, events are queued in ScopedEventQueue and their dispatches are delayed until + the scoping level goes back to 0 (by the destruction of EventQueueScope). + + DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, + DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as + scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches + of the events until the completion of each call of EditCommand::doApply. + + Test: fast/events/mutation/execCommands.html + + * Android.mk: Added ScopedEventQueue.cpp. + * CMakeLists.txt: Ditto. + * WebCore.pro: Ditto. + * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h. + * WebCore.gypi: Ditto. + * WebCore.vcproj/project.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent. + (WebCore::dispatchChildRemovalEvents): Ditto. + * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp. + * dom/Element.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): Ditto. + (WebCore::Element::dispatchAttrAdditionEvent): Ditto. + * dom/Node.cpp: + (WebCore::Node::dispatchScopedEvent): Added. + (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent. + * dom/Node.h: + * dom/ScopedEventQueue.cpp: Added. + (WebCore::ScopedEventQueue::initialize): Added. + (WebCore::ScopedEventQueue::enqueueEvent): Added. + (WebCore::ScopedEventQueue::dispatchAllEvents): Added. + (WebCore::ScopedEventQueue::dispatchEvent): Added. + (WebCore::ScopedEventQueue::instance): Added. + (WebCore::ScopedEventQueue::incrementScopingLevel): Added. + (WebCore::ScopedEventQueue::decrementScopingLevel): Added. + * dom/ScopedEventQueue.h: Added. + (WebCore::ScopedEventQueue::~ScopedEventQueue): Added. + (WebCore::ScopedEventQueue::ScopedEventQueue): Added. + (WebCore::EventQueueScope::EventQueueScope): Added. + (WebCore::EventQueueScope::~EventQueueScope): Added. + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): Instantiates EventQueueScope. + +2010-12-09 Sam Weinig <sam@webkit.org> + + Reviewed by Gavin Barraclough. + + Fix scrolling with mouse wheel in WebKit2 views. Once + we coalesce wheel events, we can re-enable this. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scroll): + +2010-12-09 Abhishek Arya <inferno@chromium.org> + + Reviewed by James Robinson. + + For details element, ensure that if we ended up being inline that we set out replaced + flag so that we are treated like an inline block. + https://bugs.webkit.org/show_bug.cgi?id=50671 + + Test: fast/html/details-element-render-inline-crash.html + + * rendering/RenderDetails.cpp: + (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline. + * rendering/RenderDetails.h: function definition. + +2010-12-09 Jasmin Lapalme <jlapalme@druide.com> + + Reviewed by Alexey Proskuryakov. + + Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation. + https://bugs.webkit.org/show_bug.cgi?id=50708 + + Test: fast/xsl/utf8-chunks.xml + + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character. + +2010-12-09 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + Clip update rectangle for Texture::updateSubRect to texture size + https://bugs.webkit.org/show_bug.cgi?id=49929 + + Test: fast/canvas/canvas-largedraws.html + + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::updateSubRect): + +2010-12-09 Kenneth Russell <kbr@google.com> + + Unreviewed. Another speculative Gtk build fix after r73669. Add + needed derived sources to GNUmakefile.am. + + * GNUmakefile.am: + +2010-12-09 Kenneth Russell <kbr@google.com> + + Unreviewed. Speculative Gtk build fix after + https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process + all of the WebGL classes' IDL files. + + * CMakeLists.txt: + +2010-12-09 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Expose constructor functions for instanceof checks of WebGL objects + https://bugs.webkit.org/show_bug.cgi?id=36512 + + Test: fast/canvas/webgl/instanceof-test.html + + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled): + (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled): + (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled): + (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled): + (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled): + (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled): + (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled): + (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled): + * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor. + * html/canvas/WebGLBuffer.idl: Ditto. + * html/canvas/WebGLFramebuffer.idl: Ditto. + * html/canvas/WebGLProgram.idl: Ditto. + * html/canvas/WebGLRenderbuffer.idl: Ditto. + * html/canvas/WebGLShader.idl: Ditto. + * html/canvas/WebGLTexture.idl: Ditto. + * html/canvas/WebGLUniformLocation.idl: Ditto. + * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow. + +2010-12-09 Timothy Hatcher <timothy@apple.com> + + Export Color::white and Color::transparent. + + Reviewed by Anders Carlsson. + + * WebCore.exp.in: + +2010-12-09 Sam Weinig <sam@webkit.org> + + Fix failing Mac tests. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default + AppleScrollAnimationEnabled is false. + +2010-12-09 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Compositor needs to manage its VRAM use + https://bugs.webkit.org/show_bug.cgi?id=49629 + + This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM + used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and + RenderSurfaceChromium to use managed LayerTexture. The other *LayerChromium classes (Canvas, + Video, and WebGL) and the root layer are still unmanaged. + + The TextureManager works by providing tokens to callers that want to use a managed texture. + The token can be used to request a texture, see if the previously requested texture is still + available, and to protect/unprotect textures when they cannot be collected. Whenever a + texture is created the manager attempts to free up the least recently used textures until the + total memory use is below the provided threshhold. If the manager cannot satisfy the memory + limit it will not return any new textures until some old textures are released. + + A LayerTexture wraps a TextureManager token, size, and format. A LayerChromium can check if a + previously requested texture is still available for use and reserve the LayerTexture's underlying + storage between the updateContentsIfDirty() and the draw() call. + + Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single + updateContentsIfDirty(). + + Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html + platform/chromium/compositing/lots-of-img-layers.html + + * WebCore.gypi: + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/Canvas2DLayerChromium.h: + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::cleanupResources): + (WebCore::ContentLayerChromium::updateContentsIfDirty): + (WebCore::ContentLayerChromium::updateTextureRect): + (WebCore::ContentLayerChromium::draw): + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/ImageLayerChromium.h: + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::updateContentsIfDirty): + (WebCore::LayerChromium::draw): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::useShader): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::updateRootLayerTextureRect): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::getFramebufferPixels): + (WebCore::LayerRendererChromium::createLayerTexture): + (WebCore::LayerRendererChromium::deleteLayerTexture): + (WebCore::LayerRendererChromium::updateLayersRecursive): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::drawLayer): + (WebCore::LayerRendererChromium::setScissorToRect): + (WebCore::LayerRendererChromium::setDrawViewportRect): + (WebCore::LayerRendererChromium::initializeSharedObjects): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::renderSurfaceSharedValues): + (WebCore::LayerRendererChromium::textureManager): + * platform/graphics/chromium/LayerTexture.cpp: Added. + (WebCore::LayerTexture::LayerTexture): + (WebCore::LayerTexture::~LayerTexture): + (WebCore::LayerTexture::isValid): + (WebCore::LayerTexture::reserve): + (WebCore::LayerTexture::unreserve): + (WebCore::LayerTexture::bindTexture): + (WebCore::LayerTexture::framebufferTexture2D): + * platform/graphics/chromium/LayerTexture.h: Added. + (WebCore::LayerTexture::create): + * platform/graphics/chromium/PluginLayerChromium.cpp: + (WebCore::PluginLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/PluginLayerChromium.h: + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::SharedValues::SharedValues): + (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues): + (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): + (WebCore::RenderSurfaceChromium::cleanupResources): + (WebCore::RenderSurfaceChromium::prepareContentsTexture): + (WebCore::RenderSurfaceChromium::draw): + * platform/graphics/chromium/RenderSurfaceChromium.h: + (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram): + (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation): + (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation): + (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation): + (WebCore::RenderSurfaceChromium::SharedValues::initialized): + * platform/graphics/chromium/TextureManager.cpp: Added. + (WebCore::memoryUseBytes): + (WebCore::TextureManager::TextureManager): + (WebCore::TextureManager::getToken): + (WebCore::TextureManager::releaseToken): + (WebCore::TextureManager::hasTexture): + (WebCore::TextureManager::protectTexture): + (WebCore::TextureManager::unprotectTexture): + (WebCore::TextureManager::reduceMemoryToLimit): + (WebCore::TextureManager::addTexture): + (WebCore::TextureManager::removeTexture): + (WebCore::TextureManager::requestTexture): + * platform/graphics/chromium/TextureManager.h: Added. + (WebCore::TextureManager::create): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/VideoLayerChromium.h: + * platform/graphics/chromium/WebGLLayerChromium.cpp: + (WebCore::WebGLLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/WebGLLayerChromium.h: + +2010-12-09 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Rework my recent setLocation refactoring to use DOMWindow instead of Frame. + It's difficult to make correct security decisions based on Frame since a + Frame can navigate to a new document. + + Fixes some test failures that I somehow missed before the last check-in. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the + shell DOMWindow; not sure this one matters, but it's closer to the old + code before my last patch. Also pass the DOMWindow rather than the + frame to crossDomainAccessErrorMessage. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame + to the DOMWindow::setLocation function. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame. + (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto. + + * page/DOMWindow.h: Update new functions to take DOMWindow rather + than Frame. + +2010-12-09 Sam Weinig <sam@webkit.org> + + Try and fix the mac build. + + * WebCore.exp.in: + +2010-12-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Removed an unused variable. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight. + +2010-12-09 Darin Adler <darin@apple.com> + + Reviewed by Geoffrey Garen. + + Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding + https://bugs.webkit.org/show_bug.cgi?id=50640 + + * bindings/js/JSDOMBinding.cpp: + (WebCore::printErrorMessageForFrame): Removed body; just call through to + DOMWindow::printErrorMessage. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body; + just call through to DOMWindow::crossDomainAccessErrorMessage. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and + firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most + of the body and moved it into DOMWindow::setLocation. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Added. Does all the same work that + JSDOMWindow::setLocation used to do, but in a way that's not specific + to JavaScript. + (WebCore::DOMWindow::printErrorMessage): Added. + (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added. + + * page/DOMWindow.h: Added setLocation, printErrorMessage, and + crossDomainAccessErrorMessage. + +2010-12-09 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + WebKit2 needs smooth scrolling support on the mac + <rdar://problem/8219402> + + * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm. + * platform/mac/ScrollAnimatorMac.cpp: Removed. + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp. + (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]): + (-[ScrollAnimationHelperDelegate bounds]): + (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]): + (-[ScrollAnimationHelperDelegate convertSizeToBase:]): + (-[ScrollAnimationHelperDelegate convertSizeFromBase:]): + (-[ScrollAnimationHelperDelegate superview]): + (-[ScrollAnimationHelperDelegate documentView]): + (-[ScrollAnimationHelperDelegate window]): + (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]): + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + (WebCore::ScrollAnimatorMac::scroll): + (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation): + (WebCore::ScrollAnimatorMac::currentPosition): + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): + Add implementation of ScrollAnimator for the Mac. + +2010-12-09 Brady Eidson <beidson@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777 + WebKit2 ContextMenuClient support + + Export some symbols and headers needed by WebKit2 Mac: + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + +2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73635. + http://trac.webkit.org/changeset/73635 + https://bugs.webkit.org/show_bug.cgi?id=50778 + + 'Side-effects on 3 css tests needs closer review' (Requested + by mwenge on #webkit). + + * platform/graphics/qt/ImageQt.cpp: + (loadResourcePixmap): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::paintSearchField): + (WebCore::RenderThemeQt::adjustSearchFieldStyle): + (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeQt::paintSearchFieldCancelButton): + * platform/qt/RenderThemeQt.h: + +2010-12-09 Robert Hogan <robert@webkit.org> + + Reviewed by Andreas Kling. + + [Qt] Search input field doesn't have cancel button + + Add a cancel button to the search field and make it customizable + by the client. For now, use the close dialog button associated + with the application's style as the default. + + https://bugs.webkit.org/show_bug.cgi?id=42887 + + * platform/graphics/qt/ImageQt.cpp: + (loadResourcePixmap): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::paintSearchField): + (WebCore::RenderThemeQt::adjustSearchFieldStyle): + (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeQt::convertToPaintingRect): + (WebCore::RenderThemeQt::paintSearchFieldCancelButton): + * platform/qt/RenderThemeQt.h: + +2010-12-09 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Antonio Gomes. + + Spatial Navigation: Crash when handling iframe of size 0. + https://bugs.webkit.org/show_bug.cgi?id=50730 + + if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is + that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node, + thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial + navigation algorithm. + + Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html + + * page/FocusController.cpp: + (WebCore::updateFocusCandidateIfNeeded): + +2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73616. + http://trac.webkit.org/changeset/73616 + https://bugs.webkit.org/show_bug.cgi?id=50772 + + Breaks chromium win build (Requested by hwennborg on #webkit). + + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::createIDBKeyFromValue): + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::createTables): + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBKey.cpp: + (WebCore::IDBKey::IDBKey): + (WebCore::IDBKey::fromQuery): + (WebCore::IDBKey::bind): + (WebCore::IDBKey::bindWithNulls): + * storage/IDBKey.h: + (WebCore::IDBKey::create): + (WebCore::IDBKey::number): + +2010-12-09 Antonio Gomes <agomes@rim.com> + + Rubber stamped by by Gustavo Noronha Silva. + + Buildfix for GTK+ with building with -no-video. + + paintStockIcon static function was implemented under the ENABLE(VIDEO) guard + but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration() + and RenderThemeGtk::paintSearchFieldCancelButton() methods. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::getMediaElementFromRenderObject): + +2010-12-07 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up + https://bugs.webkit.org/show_bug.cgi?id=50666 + + Patch unifies two FocusCandidate constructors, making caller sites + simpler. Now the special handling HTMLAreaElement gets is done within + the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)). + + No new tests needed. + + * page/FocusController.cpp: + (WebCore::FocusController::findFocusCandidateInContainer): + * page/SpatialNavigation.cpp: + (WebCore::FocusCandidate::FocusCandidate): + +2010-12-09 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GStreamer] disable fullscreen on MacOS Tiger and Leopard + https://bugs.webkit.org/show_bug.cgi?id=50748 + + Don't support fullscreen video on Tiger and Leopard, just like the + QTKit player. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen): + +2010-12-06 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Support the Mozilla-style Fullscreen Javascript API + https://bugs.webkit.org/show_bug.cgi?id=50572 + + * GNUmakefile.am: enable the Javascript Fullscreen API feature if + it's been requested at configure time. + +2010-12-09 Yong Li <yoli@rim.com> + + Reviewed by Darin Adler. + + Check the return value of ImageBuffer::create() + to avoid crash when ImageBuffer::create() fails. + https://bugs.webkit.org/show_bug.cgi?id=50631 + + No new test because it relies on the platform implementation + of ImageBuffer. It is hard to make ImageBuffer::create() fail + in most ports. + + * platform/graphics/GeneratedImage.cpp: + (WebCore::GeneratedImage::drawPattern): + +2010-12-09 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + Implement "Use Selection for Find" in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=50737 + <rdar://problem/8564881> + + Implement a TakeFindStringFromSelection editor command. This is + used solely to implement the "Use Selection for Find" menu command + on Mac, and is not made available to script. On WebKit2, it is + very convenient to reuse the editing machinery since this command + is very similar to Copy. + + * editing/Editor.h: + * editing/EditorCommand.cpp: + (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function. + (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage + (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command. + * editing/mac/EditorMac.mm: + (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy + since it would make no sense to enable "Use Selection for Find" when viewing a standalone image + document. + (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text + to the special Find pasteboard. + +2010-12-09 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dimitri Glazkov. + + As part of r73559, I added the referenceNode check to validate whether the root + node of the iterator matches the node which is getting moved to other document. + referenceNode is initialized to root, however can get moved using previousNode + and nextNode methods, so it is required to use root directly. + https://bugs.webkit.org/show_bug.cgi?id=50764 + + Test: fast/dom/node-iterator-reference-node-moved-crash.html + + * dom/Document.cpp: + (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root. + +2010-12-08 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Provide a generic way to store shadowParent on a Node. + https://bugs.webkit.org/show_bug.cgi?id=50184 + + This patch makes TreeShared::m_parent act as either parentNode() or + shadowHost() for Node. The distinction is controlled by IsShadowRootFlag. + + Refactoring, so no new tests. See performance result testing in bug. + + * dom/Element.cpp: + (WebCore::Element::recalcStyle): Changed to use parentOrHostNode(). + * dom/Node.cpp: + (WebCore::Node::shadowHost): Added. + (WebCore::Node::setShadowHost): Added. + (WebCore::Node::isContentEditable): Changed to use parentOrHostNode(). + (WebCore::Node::isContentRichlyEditable): Ditto. + (WebCore::Node::nextRenderer): Ditto. + (WebCore::Node::virtualComputedStyle): Ditto. + (WebCore::Node::canStartSelection): Ditto. + (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree(). + (WebCore::Node::getEventAncestors): Ditto. + (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). + * dom/Node.h: Added an extra flag and adjusted bit counts. + (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag. + (WebCore::Node::parentNode): Made to recognize flag. + (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const. + (WebCore::Node::parentNodeGuaranteedHostFree): Added. + (WebCore::Node::shadowParentNode): Made non-virtual and const. + * editing/TextIterator.cpp: + (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode(); + (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto. + (WebCore::previousInPostOrderCrossingShadowBoundaries): Ditto. + (WebCore::setUpFullyClippedStack): Ditto. + (WebCore::TextIterator::advance): Ditto. + (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. + * page/DOMSelection.cpp: + (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree(). + (WebCore::DOMSelection::focusNode): Ditto. + (WebCore::DOMSelection::baseNode): Ditto. + (WebCore::DOMSelection::extentNode): Ditto. + (WebCore::DOMSelection::getRangeAt): Ditto. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): + Changed to setShadowHost(). + (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost(). + (WebCore::MediaControlShadowRootElement::detach): Added an override to + explicitly set shadowHost to 0. Otherwise, the element will leak. + * rendering/MediaControlElements.h: Added detach def, removed members that are + no longer needed. + * rendering/RenderSVGShadowTreeRootContainer.cpp: + (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): + Added explicit clearing of shadowHost to avoid leaking and crashes, + because SVG shadow DOM can be dynamically attached/detached, producing + stale nodes in over/out event handling. + * rendering/RenderSlider.cpp: + (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost(). + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): + Added explicit clearing of shadowHost and explicit destruction to + avoid out-of-order removal of children. + * rendering/RenderTreeAsText.cpp: + (WebCore::nodePosition): Simplified code. + * rendering/SVGShadowTreeElements.cpp: + (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added + setting of shadowHost. + (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost(). + (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added. + * rendering/SVGShadowTreeElements.h: Added def, removed members that are + no longer needed. + * rendering/ShadowElement.cpp: + (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost(). + * rendering/ShadowElement.h: Removed members that are no longer needed. + (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost. + (WebCore::ShadowElement::detach): Added. + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting + of shadowHost. + (WebCore::TextControlInnerElement::attachInnerElement): Changed to use + isShadowNode(). + (WebCore::TextControlInnerElement::detach): Added. + * rendering/TextControlInnerElements.h: Removed members that are no + longer needed. + * svg/SVGElement.cpp: + (WebCore::SVGElement::ownerSVGElement): Simplified code. + (WebCore::SVGElement::viewportElement): Ditto. + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::computeCTM): Ditto. + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::title): Ditto. + * svg/SVGUseElement.cpp: + (WebCore::ShadowTreeUpdateBlocker::while): Ditto. + +2010-12-09 Brady Eidson <beidson@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191 + WebKit2 Authentication Support + + * WebCore.exp.in: + +2010-12-09 Peter Beverloo <peter@lvp-media.com> + + Reviewed by Maciej Stachowiak. + + Default CSS definitions for the figure and figcaption elements. + + Tests: fast/html/figcaption-element.html + fast/html/figure-element.html + + * css/html.css: + (figure): The default figure-style equals a blockquote + (figcaption): A non-sectioning block-level element + +2010-12-09 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Console records for failed XHRs should contain call stack and request method + https://bugs.webkit.org/show_bug.cgi?id=50390 + + When inspector front-end is open we capture call stack at the place where request is sent and + pass the stack along with other request data. There is a new type of console messages which + is NetworkErrorMessageType, all messages of that type will have requestId field initialized + with the corresponding network request identifier so that later on when we need to display + that message in the front-end we could pull request data from the Network panel using + this identifier. If there are no data for given requestId message formatting falls back to + the old implementation which lacks such things as call stack, request method and exact + source location. + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didReceiveResponse): + (WebCore::InspectorController::didFailLoading): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::identifierForInitialRequest): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.prototype._formatMessage): + (WebInspector.ConsoleMessage.prototype.toMessageElement): + (WebInspector.ConsoleMessage.prototype.toString): + (WebInspector.ConsoleMessage.prototype.isEqual): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager.prototype.identifierForInitialRequest): + * inspector/front-end/inspector.js: + (WebInspector.addConsoleMessage): + * page/Console.h: + +2010-12-09 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Implement "required" attribute for select tags + https://bugs.webkit.org/show_bug.cgi?id=50380 + + Test: fast/forms/select-live-pseudo-selectors.html + platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck(). + (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity(). + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface. + (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified. + (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180. + (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated.. + (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not. + (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added. + (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck(). + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required. + * html/HTMLSelectElement.idl: Added a required attribute to select elements.. + * html/ValidityState.cpp: + (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing(). + * wml/WMLSelectElement.h: + (WebCore::WMLSelectElement::updateValidity): Added. It does nothing. + +2010-12-07 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + IndexedDB returns the wrong exceptions + https://bugs.webkit.org/show_bug.cgi?id=50632 + + IndexedDB exceptions need to have an offset so they can + be distinguished from DOM exceptions. We also need to + add strings for the various exceptions. Lastly, make + IDBDatabaseException use the common exception base class. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::setDOMException): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::setDOMException): + * dom/ExceptionCode.cpp: + (WebCore::getExceptionCodeDescription): + * dom/ExceptionCode.h: + * storage/IDBDatabaseError.h: + (WebCore::IDBDatabaseError::code): + * storage/IDBDatabaseException.h: + (WebCore::IDBDatabaseException::create): + (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode): + (WebCore::IDBDatabaseException::IDBDatabaseException): + * storage/IDBDatabaseException.idl: + +2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the + GDK window size. + + * plugins/gtk/gtk2xtbin.c: + (gtk_xtbin_realize): + +2010-12-09 Siddharth Mathur <siddharth.mathur@nokia.com> + + Reviewed by Laszlo Gombos. + + Use BUILDING_WEBKIT like other ports + https://bugs.webkit.org/show_bug.cgi?id=50713 + + * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT + +2010-12-08 Erik Arvidsson <arv@chromium.org> + + Reviewed by Darin Adler. + + Replace getAttribute().isNull() with fastHasAttribute() + https://bugs.webkit.org/show_bug.cgi?id=50719 + + Covered by existing tests. + + * dom/SelectElement.cpp: + (WebCore::SelectElement::reset): + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::rendererIsNeeded): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::itemAfter): + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::formNoValidate): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::noValidate): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultChecked): + (WebCore::HTMLInputElement::multiple): + (WebCore::HTMLInputElement::webkitdirectory): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::defaultSelected): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::asyncAttributeValue): + (WebCore::HTMLScriptElement::deferAttributeValue): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::allowsMultipleFiles): + (WebCore::RenderFileUploadControl::allowsDirectoryUpload): + +2010-12-08 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> + + Reviewed by Martin Robinson. + + Full page size flash plugins do not show in all situations + https://bugs.webkit.org/show_bug.cgi?id=47742 + + This patch moves the plugin widget size allocation after the + NPP_SetWindow is called with the effect that the resize of Flash + content no longer result in grey flash. This seems logical since the + widget tree cannot be fully constructed before the plugin receives + the new container window. + + Test: manual-tests/plugins/gtk-windowed-grey-glitch.html + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + +2010-12-08 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Fix regression from xji's wheel scroll patch. The vertical case is looking at the horizontal + maximum position and not the vertical position. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + +2010-12-08 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement + https://bugs.webkit.org/show_bug.cgi?id=50726 + + * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h. + +2010-12-08 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Add getter and setters for acceleratesRendering flag on layers + https://bugs.webkit.org/show_bug.cgi?id=50717 + + * platform/graphics/GraphicsLayer.cpp: + * platform/graphics/ca/GraphicsLayerCA.cpp: + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + Plumbed through acceleratedRendering flag. + +2010-12-07 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + WebGLUniformLocation objects must be invalidated during linkProgram + https://bugs.webkit.org/show_bug.cgi?id=37118 + + * html/canvas/WebGLProgram.cpp: + (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0. + (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead. + * html/canvas/WebGLProgram.h: + (WebCore::WebGLProgram::getLinkCount): Get link count. + (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated. + (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram. + * html/canvas/WebGLUniformLocation.cpp: + (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation. + (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's. + (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's. + * html/canvas/WebGLUniformLocation.h: + +2010-12-08 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=50725 + <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high + + Test: fast/forms/placeholder-position.html + + Since we center the inner text element for single line text controls, + we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class. + + * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder): + * rendering/RenderTextControl.h: + * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop): + * rendering/RenderTextControlMultiLine.h: + * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop): + * rendering/RenderTextControlSingleLine.h: + +2010-12-08 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add web audio files to mac port Xcode projects + https://bugs.webkit.org/show_bug.cgi?id=50721 + + No new tests since audio API is not yet implemented. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::webkitAudioContext): + +2010-12-08 Kent Tamura <tkent@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Yensign hack should work with Shift_JIS and ISO-2022-JP encodings. + https://bugs.webkit.org/show_bug.cgi?id=49714 + + IE chooses a font which shows a yensign for 0x5c code point for a page + encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000, + x-sjis, and Windows-31J. + We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and + Shift_JIS_X0213-2000. This change adds other encodings above. + + Also, we move the HashSet initialization for isJapanese() and + backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of + ease of making them multi-thread safe. + + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding(). + (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn(). + * platform/text/TextEncodingRegistry.cpp: + (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName(). + (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn(). + (WebCore::isJapaneseEncoding): + (WebCore::shouldShowBackslashAsCurrencySymbolIn): + (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets(). + * platform/text/TextEncodingRegistry.h: + +2010-12-08 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + Reflected unsigned attributes should be in the range [0, 2^31). + https://bugs.webkit.org/show_bug.cgi?id=50472 + + HTML5 says that unsigned reflected attributes should be in the range + [0, 2^31). When a value isn't in this range, a default value (or 0) + should be returned instead. Update the JS bindings code generator to + ensure 0 is returned when a content attribute value falls outside of + this range. + + Tests: bindings/scripts/test/TestObj.idl + fast/html/marquee-element.html + + * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the + content attribute as a 32-bit signed int when converting a native value + to an unsigned JS value. + * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute + to test code generation. + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results. + * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto. + * bindings/scripts/test/JS/JSTestObj.cpp: Ditto. + * bindings/scripts/test/JS/JSTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto. + * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. + +2010-12-08 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=50623 + + We don't need to cache the icons since the will be cached by GTK+, + and they will be rendered using the state and text direction. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintStockIcon): + (WebCore::getMediaButtonIconSize): + (WebCore::RenderThemeGtk::initMediaColors): + (WebCore::RenderThemeGtk::initMediaButtons): + (WebCore::RenderThemeGtk::RenderThemeGtk): + (WebCore::RenderThemeGtk::~RenderThemeGtk): + (WebCore::RenderThemeGtk::gtkIconState): + (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle): + (WebCore::centerRectVerticallyInParentInputElement): + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): + (WebCore::RenderThemeGtk::platformColorsDidChange): + (WebCore::RenderThemeGtk::paintMediaButton): + (WebCore::RenderThemeGtk::paintMediaFullscreenButton): + (WebCore::RenderThemeGtk::paintMediaMuteButton): + (WebCore::RenderThemeGtk::paintMediaPlayButton): + (WebCore::RenderThemeGtk::paintMediaSeekBackButton): + (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): + * platform/gtk/RenderThemeGtk.h: + +2010-12-08 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dimitri Glazkov. + + Detach node iterator and move to new document when node gets moved. + https://bugs.webkit.org/show_bug.cgi?id=50697 + + Test: fast/dom/node-iterator-document-moved-crash.html + + * dom/Document.cpp: Method that takes a node and new document as argument. + It detaches the node iterators belonging to the current document and attaches + them to the new document. + (WebCore::Document::moveNodeIteratorsToNewDocument): + * dom/Document.h: Function definition. + * dom/Node.cpp: When node is moved to another document, call the function to move + the iterators appropriately. + (WebCore::Node::setDocument): + +2010-12-08 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate + https://bugs.webkit.org/show_bug.cgi?id=50702 + + Compute the center of a large layer using floats instead of ints to avoid roundoff errors. + + Test: compositing/text-on-large-layer.html + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::draw): + +2010-12-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Dan Bernstein. + + REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails + https://bugs.webkit.org/show_bug.cgi?id=33503 + + The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction. + When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text, + and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA, + then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2. + + Case 1. CBA appears in a RTL block: + In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2). + Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected. + Case 2. CBA appears in a LTR block: + Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds + to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA. + Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0), + and clicking on the visual right should put it at Position("CBA", 2). + + The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block. + Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition. + + Tests: editing/selection/caret-ltr-2-left.html + editing/selection/caret-ltr-2.html + editing/selection/caret-ltr-right.html + editing/selection/caret-ltr.html + editing/selection/caret-rtl-2-left.html + editing/selection/caret-rtl-right.html + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::offsetForPosition): + +2010-12-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix some clang++ warnings (one of which was an actual bug) + https://bugs.webkit.org/show_bug.cgi?id=50700 + + * page/mac/DragControllerMac.mm: + (WebCore::DragController::dragOperation): + Add parentheses to silent a clang warning. + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): + Fix || vs && precedence bug uncovered by clang. + + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::reshape): + Use an early return to avoid a warning. + +2010-12-08 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Added copy constructors and casting operators to go between + TransformationMatrix and CATransform3D. Also added a copy + constructor to go from CGAffineTransform to TransformationMatrix. + Used these new methods to clean up platform CA code. This will + make it easier to port to Windows. + + I also fixed a couple of build issues found when trying out a + Windows build. + + This is a resubmission of changesets r73477 and r73483 with a + fix for the SL build. The failure was because TransformationMatrix + included QuartzCore/CATransform3D.h which brought in some system + libraries, including Quickdraw, which has a definition for + 'Cursor' which clashed with WebCore's 'Cursor' class. So I had + to qualify its use in WebChromeClient.cpp in WebKit2. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::updateContentsTransform): + (WebCore::GraphicsLayerCA::ensureCloneLayers): + (WebCore::GraphicsLayerCA::fetchCloneLayers): + * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp. + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (PlatformCAAnimation::setFromValue): + (PlatformCAAnimation::setToValue): + (PlatformCAAnimation::setValues): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::transform): + (PlatformCALayer::setTransform): + (PlatformCALayer::sublayerTransform): + (PlatformCALayer::setSublayerTransform): + (PlatformCALayer::contentsTransform): + (PlatformCALayer::setContentsTransform): + * platform/graphics/cg/TransformationMatrixCG.cpp: + (WebCore::TransformationMatrix::TransformationMatrix): + * platform/graphics/transforms/TransformationMatrix.h: + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Layering Violation in ContextMenu - member variable of type HitTestResult + https://bugs.webkit.org/show_bug.cgi?id=50586 + + ContextMenu had a layering violation by having a member variable of type HitTestResult, because + classes in WebCore/platform can't know about classes in WebCore. + + This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController. + All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this + allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it + in ContextMenuController, and the rest of the code is in the platform-specific files. + + No change in behavior, no new tests. + + * Android.mk: Removed ContextMenu.cpp. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult. + (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead + of the ContextMenu. + (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member + variable. + (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController. + (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult. + (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu. + This allowed us to move checkOrEnableIfNeeded from ContextMenu. + + These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController. + All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care + of validating the menu. + (WebCore::separatorItem): Moved from ContextMenu. + (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto. + (WebCore::selectionContainsPossibleWord): Ditto. + (WebCore::ContextMenuController::populate): Ditto. + (WebCore::ContextMenuController::addInspectElementItem): Ditto. + (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto. + + * page/ContextMenuController.h: + (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu. + + * platform/ContextMenu.cpp: Removed. + * platform/ContextMenu.h: + * platform/efl/ContextMenuEfl.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded. + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Ditto. + * platform/haiku/ContextMenuHaiku.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Ditto. + (WebCore::ContextMenu::insertItem): Ditto. + * platform/mac/ContextMenuMac.mm: + (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of + the context menu. + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded. + (WebCore::ContextMenu::insertItem): Ditto. + * platform/win/ContextMenuWin.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded. + * platform/wx/ContextMenuWx.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (ContextMenu::appendItem): Ditto. + +2010-12-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by John Sullivan. + + [GTK] Layering violation in ContextMenuGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=50676 + + ContextMenuGtk accesses the page's ContextMenuController, which is a layering + violation. This was fixed for Mac with change r73469. We make a similar fix here + by moving the "activated" signal connection to the WebKit layer. + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This + is a layering violation. + +2010-12-08 Jessie Berlin <jberlin@apple.com> + + Reviewed by Adam Roben. + + WebKit2: Implement WebChromeClient::exceededDatabaseQuota + https://bugs.webkit.org/show_bug.cgi?id=50656 + + * WebCore.exp.in: + Export the symbol for SecurityOrigin::databaseIdentifier. + +2010-12-08 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed, rolling out r73521. + http://trac.webkit.org/changeset/73521 + https://bugs.webkit.org/show_bug.cgi?id=50640 + + It broke 90 layout tests + + * bindings/js/JSDOMBinding.cpp: + (WebCore::printErrorMessageForFrame): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + * page/DOMWindow.cpp: + * page/DOMWindow.h: + +2010-12-08 David Hyatt <hyatt@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=50576 + + REGRESSION in position of autocomplete popup on RTL page. + + RTL static position computation did not subtract out the width of the enclosing box if the + immediate parent was a RenderInline. This bug was exposed by properly changing the RenderView + to be RTL when the document was RTL. + + Added three new tests in fast/block/positioning. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computePositionedLogicalWidth): + +2010-12-08 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Hyatt. + + Fix backward mouse wheeling not working when scroll position is below 0. + https://bugs.webkit.org/show_bug.cgi?id=50370 + + Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html + fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html + + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + +2010-12-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Fix pauseAnimation API to work with shorthand properties + https://bugs.webkit.org/show_bug.cgi?id=50639 + + The pause API is always called with a long-hand property, but that + property may be animating via a shorthand. Detect this, and pause + such shorthand animations. + + * page/animation/AnimationBase.cpp: + (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector + of wrappers used by a shorthand wrapper. + + (WebCore::gatherEnclosingShorthandProperties): Utility function that walks + through the shorthand wrappers, keeping track of which can affect the given + property. + (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set + of shorthand properties that can affect the given property. + + * page/animation/AnimationBase.h: New method. + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the + property itself, check whether it's being animated via shorthands. + +2010-12-08 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885 + + Make sure the transform applied to the RenderView for page scaling is incorporated into the + docTop/Bottom/Left/Right accessors. + + * rendering/RenderView.cpp: + (WebCore::RenderView::docTop): + (WebCore::RenderView::docBottom): + (WebCore::RenderView::docLeft): + (WebCore::RenderView::docRight): + +2010-12-08 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Remove WebInspector wrappers + for TimelineAgent functions. + + https://bugs.webkit.org/show_bug.cgi?id=50690 + + * inspector/Inspector.idl: + * inspector/front-end/TimelineAgent.js: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted): + (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped): + +2010-12-08 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] media/fullscreen* failing on 64-bits Debug + https://bugs.webkit.org/show_bug.cgi?id=50394 + + Avoid emiting durationchanged in the case where the previous + duration was 0 because that case is already handled by the + HTMLMediaElement. + + Test: media/media-fullscreen*.html + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::durationChanged): + +2010-12-07 Darin Adler <darin@apple.com> + + Reviewed by Geoffrey Garen. + + Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding + https://bugs.webkit.org/show_bug.cgi?id=50640 + + * bindings/js/JSDOMBinding.cpp: + (WebCore::printErrorMessageForFrame): Removed body; just call through to + DOMWindow::printErrorMessage. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body; + just call through to DOMWindow::crossDomainAccessErrorMessage. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and + firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most + of the body and moved it into DOMWindow::setLocation. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Added. Does all the same work that + JSDOMWindow::setLocation used to do, but in a way that's not specific + to JavaScript. + (WebCore::DOMWindow::printErrorMessage): Added. + (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added. + + * page/DOMWindow.h: Added setLocation, printErrorMessage, and + crossDomainAccessErrorMessage. + +2010-12-08 Alejandro G. Castro <alex@igalia.com> + + Unreviewed, rolling out r73494. + http://trac.webkit.org/changeset/73494 + https://bugs.webkit.org/show_bug.cgi?id=50380 + + The tests added are crashing in the debug bots (macn and gtk) + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::deselectItems): + (WebCore::HTMLSelectElement::setSelectedIndex): + (WebCore::HTMLSelectElement::setSelectedIndexByUser): + (WebCore::HTMLSelectElement::listBoxSelectItem): + (WebCore::HTMLSelectElement::add): + (WebCore::HTMLSelectElement::remove): + (WebCore::HTMLSelectElement::restoreFormControlState): + (WebCore::HTMLSelectElement::parseMappedAttribute): + (WebCore::HTMLSelectElement::selectAll): + (WebCore::HTMLSelectElement::reset): + (WebCore::HTMLSelectElement::updateListBoxSelection): + (WebCore::HTMLSelectElement::setLength): + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isOptionalFormControl): + * html/HTMLSelectElement.idl: + * html/ValidityState.cpp: + (WebCore::ValidityState::valueMissing): + +2010-12-07 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Inspector protocol cleanup task. Remove + WebInspector wrappers for DOMAgent functions. + + There were a lot of wrappers in WebInspector namespace + for different WebInspector agents functions. As far as we have a + generic mechanic for such functions we can remove these + wrappers and register domAgent instance as a handler for + DOM domain notifications. + + https://bugs.webkit.org/show_bug.cgi?id=50626 + + * inspector/Inspector.idl: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode): + (WebInspector.DOMAgent): + (WebInspector.DOMAgent.prototype.attributesUpdated): + (WebInspector.DOMAgent.prototype.characterDataModified): + (WebInspector.DOMAgent.prototype.setDocument): + (WebInspector.DOMAgent.prototype.setDetachedRoot): + (WebInspector.DOMAgent.prototype.setChildNodes): + (WebInspector.DOMAgent.prototype.childNodeCountUpdated): + (WebInspector.DOMAgent.prototype.childNodeInserted): + (WebInspector.DOMAgent.prototype.childNodeRemoved): + (WebInspector.EventListeners.getEventListenersForNodeAsync): + * inspector/front-end/inspector.js: + (WebInspector.didCommitLoad): + +2010-12-08 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove groupLevel counter from console messages + https://bugs.webkit.org/show_bug.cgi?id=50672 + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::addMessageToConsole): + (WebCore::InspectorController::clearConsoleMessages): + (WebCore::InspectorController::startGroup): + (WebCore::InspectorController::endGroup): + * inspector/InspectorController.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.createFilterElement): + (WebInspector.ConsoleView): + (WebInspector.ConsoleView.prototype.filter): + (WebInspector.ConsoleView.prototype.afterShow): + (WebInspector.ConsoleView.prototype.addMessage): + (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): + (WebInspector.ConsoleView.prototype.clearMessages): + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.createTextMessage): + (WebInspector.ConsoleMessage.prototype.toMessageElement): + (WebInspector.ConsoleMessage.prototype._addMessageHeader): + (WebInspector.ConsoleMessage.prototype._updateRepeatCount): + (WebInspector.ConsoleMessage.prototype.toString): + (WebInspector.ConsoleMessage.prototype.isEqual): + (WebInspector.ConsoleGroup): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._checkWarning): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._addMessageToSource): + * inspector/front-end/inspector.js: + (WebInspector.addConsoleMessage): + (WebInspector.log.logMessage): + (WebInspector.log): + +2010-12-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state. + https://bugs.webkit.org/show_bug.cgi?id=50567 + + Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file. + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/Breakpoint.js: Added. + (WebInspector.Breakpoint): Moved from BreakpointManager.js. + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): Remove debugger-related methods. + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): + (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): + * inspector/front-end/DebuggerModel.js: Added. + (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager. + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.continueToLine): + (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback): + (WebInspector.ScriptsPanel.prototype.editScriptSource): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._debuggerResumed): + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrameDelegate.prototype.addBreakpoint): + (WebInspector.SourceFrameDelegate.prototype.breakpoints): + (WebInspector.SourceFrameDelegate.prototype.findBreakpoint): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.createJSBreakpointsSidebarPane): + (WebInspector.restoredBreakpoint): + (WebInspector.pausedScript): + (WebInspector.resumedScript): + (WebInspector.reset): + +2010-12-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: SourceFrame refactoring. + https://bugs.webkit.org/show_bug.cgi?id=50223 + + SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining + it's own storages. Move common code from ScriptView and SourceView to SourceFrame. + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.findBreakpoints): + (WebInspector.BreakpointManager.prototype.findBreakpoint): + * inspector/front-end/Script.js: + (WebInspector.Script): + (WebInspector.Script.prototype.get linesCount): + (WebInspector.Script.prototype.get source): + (WebInspector.Script.prototype.set source): + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + (WebInspector.ScriptView.prototype._scriptSourceChanged): + (WebInspector.ScriptFrameDelegateImpl): + (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts): + (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete): + (WebInspector.ScriptFrameDelegateImpl.prototype.scripts): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView. + (WebInspector.SourceFrameDelegate): + (WebInspector.SourceFrameDelegate.prototype.canEditScripts): + (WebInspector.SourceFrameDelegate.prototype.editLineComplete): + (WebInspector.SourceFrameDelegate.prototype.scripts): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + (WebInspector.SourceView.prototype._contentLoaded): + (WebInspector.ResourceFrameDelegateImpl): + (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts): + (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete): + (WebInspector.ResourceFrameDelegateImpl.prototype.scripts): + +2010-12-08 Yuta Kitamura <yutak@chromium.org> + + Unreviewed, rolling out r73492. + http://trac.webkit.org/changeset/73492 + https://bugs.webkit.org/show_bug.cgi?id=49914 + + Caused a lot of pixel test failures and broke Windows build. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::createGraphicsContextPrivate): + (WebCore::GraphicsContext::destroyGraphicsContextPrivate): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::setStrokeThickness): + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setStrokeColor): + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + (WebCore::GraphicsContext::strokeThickness): + (WebCore::GraphicsContext::strokeStyle): + (WebCore::GraphicsContext::strokeColor): + (WebCore::GraphicsContext::strokeColorSpace): + (WebCore::GraphicsContext::fillRule): + (WebCore::GraphicsContext::setFillRule): + (WebCore::GraphicsContext::setFillColor): + (WebCore::GraphicsContext::fillColor): + (WebCore::GraphicsContext::fillColorSpace): + (WebCore::GraphicsContext::setShouldAntialias): + (WebCore::GraphicsContext::shouldAntialias): + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + (WebCore::GraphicsContext::fillGradient): + (WebCore::GraphicsContext::strokeGradient): + (WebCore::GraphicsContext::fillPattern): + (WebCore::GraphicsContext::strokePattern): + (WebCore::GraphicsContext::setShadowsIgnoreTransforms): + (WebCore::GraphicsContext::updatingControlTints): + (WebCore::GraphicsContext::setUpdatingControlTints): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + (WebCore::GraphicsContext::textDrawingMode): + (WebCore::GraphicsContext::setTextDrawingMode): + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsContextPrivate.h: Added. + (WebCore::GraphicsContextState::GraphicsContextState): + (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::setPlatformFill): + (WebCore::setPlatformStroke): + (WebCore::drawPathShadow): + (WebCore::fillCurrentCairoPath): + (WebCore::strokeCurrentCairoPath): + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + +2010-12-08 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Implement "required" attribute for select tags + https://bugs.webkit.org/show_bug.cgi?id=50380 + + Test: fast/forms/select-live-pseudo-selectors.html + platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface. + (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified. + (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180. + (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated.. + (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not. + (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added. + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required. + * html/HTMLSelectElement.idl: Added a required attribute to select elements.. + * html/ValidityState.cpp: + (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing(). + +2010-12-08 Renata Hodovan <reni@webkit.org> + + Reviewed by Andreas Kling. + + GraphicsContext: Merge m_common and m_data + https://bugs.webkit.org/show_bug.cgi?id=49914 + + Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h + and m_common became unnecessary. They are removed. + Add two methods to GraphicsContext: platformInit() and platformDestroy(), which + make the constructor of GraphicsContext clearer. + Besides add a getter to the private GraphicsContext::m_state member, because some inline + functions in cairo need it. + + No new test is needed, because this is a refactoring. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::setStrokeThickness): + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setStrokeColor): + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + (WebCore::GraphicsContext::strokeThickness): + (WebCore::GraphicsContext::strokeStyle): + (WebCore::GraphicsContext::strokeColor): + (WebCore::GraphicsContext::strokeColorSpace): + (WebCore::GraphicsContext::fillRule): + (WebCore::GraphicsContext::setFillRule): + (WebCore::GraphicsContext::setFillColor): + (WebCore::GraphicsContext::fillColor): + (WebCore::GraphicsContext::fillColorSpace): + (WebCore::GraphicsContext::setShouldAntialias): + (WebCore::GraphicsContext::shouldAntialias): + (WebCore::GraphicsContext::state): + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + (WebCore::GraphicsContext::fillGradient): + (WebCore::GraphicsContext::strokeGradient): + (WebCore::GraphicsContext::fillPattern): + (WebCore::GraphicsContext::strokePattern): + (WebCore::GraphicsContext::setShadowsIgnoreTransforms): + (WebCore::GraphicsContext::updatingControlTints): + (WebCore::GraphicsContext::setUpdatingControlTints): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + (WebCore::GraphicsContext::textDrawingMode): + (WebCore::GraphicsContext::setTextDrawingMode): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/GraphicsContextPrivate.h: Removed. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::setPlatformFill): + (WebCore::setPlatformStroke): + (WebCore::drawPathShadow): + (WebCore::fillCurrentCairoPath): + (WebCore::strokeCurrentCairoPath): + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::platformInit): + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::platformInit): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + +2010-12-07 Anton Muhin <antonm@chromium.org> + + Reviewed by Nate Chapin. + + Port http://trac.webkit.org/changeset/72819/ to v8-backed ports. + https://bugs.webkit.org/show_bug.cgi?id=50246 + + * bindings/v8/V8DOMMap.h: + (WebCore::AbstractWeakReferenceMap::Visitor::startMap): + (WebCore::AbstractWeakReferenceMap::Visitor::endMap): + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::GrouperItem::GrouperItem): + (WebCore::GrouperItem::groupId): + (WebCore::makeV8ObjectGroups): + (WebCore::NodeGrouperVisitor::NodeGrouperVisitor): + (WebCore::NodeGrouperVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::applyGrouping): + (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor): + (WebCore::DOMObjectGrouperVisitor::startMap): + (WebCore::DOMObjectGrouperVisitor::endMap): + (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): + (WebCore::V8GCController::gcPrologue): + +2010-12-07 Daniel Bates <dbates@rim.com> + + Reviewed by Martin Robinson. + + Implement focus ring support for image maps + https://bugs.webkit.org/show_bug.cgi?id=50371 + + Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support + drawing a focus ring for image maps. + + Tests: fast/images/imagemap-circle-focus-ring.html + fast/images/imagemap-polygon-focus-ring.html + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::adjustFocusRingColor): Added. + (WebCore::adjustFocusRingLineWidth): Added. + (WebCore::focusRingStrokeStyle): Added. + (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color, + line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(), + and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...). + +2010-12-07 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed + https://bugs.webkit.org/show_bug.cgi?id=50577 + + Try to download cached resources again if they are no longer + accesible by the cache. + + * platform/network/soup/cache/soup-request-http.c: + (send_async_cb): + (webkit_soup_request_http_send_async): + +2010-12-06 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + RenderIndicator subclasses should not change the render tree during layout. + https://bugs.webkit.org/show_bug.cgi?id=50026 + + The old code created shadow elements during a layout computation, + that makes the layout state inconsisntent and cause an assertion failure. + This change created shadow elements before the layout to avoid + state inconsistencies. + + Instead of creating shadows on demand, RenderMeter and + RenderProgress now create all necessary shadows before layouts, + and change its visibilities during the layout: Changing + visibilities doesn't trigger relayout and keep the state + consistent. + + RenderMeter uses new HidablePartElement for shadow elements, + which can toggle visibiliby between hidden and original value. + + Test: fast/dom/HTMLMeterElement/meter-element-crash.html + + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::attach): Calling updateFromElement() + * html/HTMLMeterElement.h: + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::attach): Calling updateFromElement() + * html/HTMLProgressElement.h: + * rendering/RenderIndicator.cpp: + * rendering/RenderIndicator.h: + * rendering/RenderMeter.cpp: + (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility. + (WebCore::MeterPartElement::createForPart): + (WebCore::MeterPartElement::hide): + (WebCore::MeterPartElement::restoreVisibility): + (WebCore::MeterPartElement::updateStyleForPart): + (WebCore::MeterPartElement::saveVisibility): + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::createPart): Extracted + (WebCore::RenderMeter::updateFromElement): Had a shadow generation. + (WebCore::RenderMeter::layoutParts): Removed shadow generation code. + (WebCore::RenderMeter::shouldHaveParts): + (WebCore::RenderMeter::valuePartRect): Adopted orientation. + (WebCore::RenderMeter::orientation): Morphed from isHorizontal() + (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation + (WebCore::RenderMeter::barPseudoId): Adopted orientation. + * rendering/RenderMeter.h: + (WebCore::RenderMeter::shadowAttached): + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::updateFromElement): Had a shadow generation. + (WebCore::RenderProgress::layoutParts): + * rendering/RenderProgress.h: + * rendering/ShadowElement.cpp: + (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart(). + (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart(). + * rendering/ShadowElement.h: + +2010-11-29 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Adam Barth. + + returning to a POST result within a frame does a GET instead of a POST + https://bugs.webkit.org/show_bug.cgi?id=10199 + + FrameLoader::loadURLIntoChildFrame had a check for whether a frame + had a HistoryItem, and if so used that item's URL. However, that did + not handle the case where the HistoryItem had FormData and thus was the + result of a POST request. FrameLoader::navigateToDifferentDocument (now + renamed to loadDifferentDocumentItem) does all that, so just switch to + using it instead. + + Besides the bug fix, the only difference in behavior is that we use the + HistoryItem's URL instead of original URL when restoring it in a child + frame. This seems desirable too (for consistency with other browsers, and + so that we can avoid form double-submits for forms that that do + POST-then-redirect), and is tested by + fast/history/history-back-initial-vs-final-url.html. + + Tests: fast/history/history-back-initial-vs-final-url.html + http/tests/navigation/post-frames-goback1.html + http/tests/navigation/postredirect-frames-goback1.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using + loadDifferentDocumentItem. Also cleaned up ordering slightly (if + on the archive path, there's no need to do any of the other checks). + (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from + navigateToDifferentDocument so that calling it from loadItem and + loadURLIntoChildFrame flows more easily. + (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from + navigateWithinDocument. + (WebCore::FrameLoader::loadItem): Update callsites to the above methods. + * loader/FrameLoader.h: + +2010-12-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Made tables repaint correctly in all writing modes + Part of: Make tables work with vertical text + https://bugs.webkit.org/show_bug.cgi?id=46417 + + Tests: fast/repaint/table-writing-modes-h.html + fast/repaint/table-writing-modes-v.html + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and + columns to repaint based on the logical extent of the repaint rect. + +2010-12-07 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by James Robinson. + + [chromium] compositor lost context recovery fix + https://bugs.webkit.org/show_bug.cgi?id=50614 + + To test, load a page that triggers the compositor, kill the GPU + process and hover over a link to redraw and thus restart the GPU + process. Without this patch it will assert in + ContentLayerChromium::updateTextureRect; with this patch it will not. + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::setNeedsDisplay): + +2010-12-07 Anders Carlsson <andersca@apple.com> + + Fix the last clang++ build error. + + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::animationForKey): + Cast the returned animation to the correct type. + +2010-12-07 Anders Carlsson <andersca@apple.com> + + Fix some clang++ build errors. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + Remove unused variable. + + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + Fix constness of pointers. + +2010-12-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Fix the Color -> CGColorRef conversions for the debug colors + used for compositing layers. + + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::setBackgroundColor): + (PlatformCALayer::setBorderColor): + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Part of Layering Violation in ContextMenu + https://bugs.webkit.org/show_bug.cgi?id=50586 + + ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping + a ContextMenuItem, and calling through to the ContextMenuController to validate it + and call a function when it was selected. + + It was a layering violation to have this class here, because ContextMenu can't know + about ContextMenuController. + + This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm, + and sets up the menu targets there. + + No change in behavior, no new tests. + + * WebCore.exp.in: Added function that needs to be exported. + * platform/mac/ContextMenuMac.mm: + (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore. + (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now). + (WebCore::ContextMenu::insertItem): Ditto. + +2010-12-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + -webkit-transition Fails on Multiple text-shadow Shadows + https://bugs.webkit.org/show_bug.cgi?id=42281 + + When transitioning multiple shadows, the blend function for + ShadowData dropped all but the first and last shadow because + of a failure to append to the end of the list. Fixed. + + Test: transitions/multiple-text-shadow-transition.html + + * page/animation/AnimationBase.cpp: + (WebCore::PropertyWrapperShadow::blend): + +2010-12-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + CSS animation doesn't work for border-radius + https://bugs.webkit.org/show_bug.cgi?id=48340 + + Include CSSPropertyBorderRadius in the list of shorthand + properties, so that the individual border-radius properties + get animated. + + Test: transitions/border-radius-transition.html + + * page/animation/AnimationBase.cpp: + (WebCore::addShorthandProperties): + +2010-12-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Kent Tamura. + + Implement HTML5 hidden attribute + https://bugs.webkit.org/show_bug.cgi?id=40511 + + Test: fast/html/hidden-attr.html + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute. + (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none. + +2010-12-07 Kenneth Russell <kbr@google.com> + + Reviewed by David Levin. + + Fix compilation of core web audio files on Windows + https://bugs.webkit.org/show_bug.cgi?id=50603 + + Changed a few constructs using C99 features of math.h to use + wtf/MathExtras.h instead. Changed inline definitions of a couple of + const static doubles in classes to out-of-line. Built Chrome with + web audio enabled on Windows and Mac OS X to test these changes. + + No new tests since audio API is not yet implemented. + + * WebCore.gypi: + * platform/audio/AudioResampler.cpp: + * platform/audio/Biquad.cpp: + (WebCore::Biquad::setLowpassParams): + (WebCore::Biquad::setHighpassParams): + (WebCore::Biquad::setLowShelfParams): + * platform/audio/Cone.cpp: + (WebCore::ConeEffect::gain): + * platform/audio/EqualPowerPanner.cpp: + (WebCore::EqualPowerPanner::pan): + * platform/audio/FFTFrame.cpp: + (WebCore::FFTFrame::interpolateFrequencyComponents): + (WebCore::FFTFrame::extractAverageGroupDelay): + (WebCore::FFTFrame::addConstantGroupDelay): + * platform/audio/HRTFKernel.cpp: + * platform/audio/HRTFPanner.cpp: + * webaudio/AudioBufferSourceNode.cpp: + (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope): + * webaudio/AudioPannerNode.cpp: + (WebCore::AudioPannerNode::getAzimuthElevation): + * webaudio/AudioParam.cpp: Added. + (AudioParam::setValue): + (AudioParam::smooth): + * webaudio/AudioParam.h: + * webaudio/RealtimeAnalyser.cpp: + +2010-11-25 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GStreamer] faster elements linking + https://bugs.webkit.org/show_bug.cgi?id=50067 + + Perform less checks during GStreamer elements linking if building + against GStreamer >= 0.10.30. + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::enterFullscreen): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + +2010-12-07 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GStreamer] ::buffered() should return multiple ranges in some cases + https://bugs.webkit.org/show_bug.cgi?id=45101 + + Improved the ::buffered() method thanks to the new buffering query + support that landed in GStreamer 0.10.31. The method now + queries the media buffered-ranges on the pipeline and queue2 + handles it if it's buffering the media to disk. + + The webkitwebsrc element also gained BYTES duration query + support. This is needed in the rare cases where uridecodebin + configures its queue before the HTTP server returns the media + Content-Length. + + Test: http/tests/media/video-buffered.html + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::buffered): + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (webkit_web_src_init): + (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries + if it's aware of the media content-length. + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of + the second and next buffered ranges. + +2010-12-07 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Antonio Gomes. + + Spatial navigation not Working for Map and Area Tags + https://bugs.webkit.org/show_bug.cgi?id=47142 + + Give area elements special treatment in spatial navigation algorithm by getting the + rect of the area from the associated image. Since area elements are likely to overlap + if they are not rects, or if authors are not careful, we flatten the rect of area elements. + + Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html + fast/spatial-navigation/snav-imagemap-area-without-image.html + fast/spatial-navigation/snav-imagemap-overlapped-areas.html + fast/spatial-navigation/snav-imagemap-simple.html + + * page/FocusController.cpp: + (WebCore::FocusController::findFocusCandidateInContainer): + (WebCore::FocusController::advanceFocusDirectionallyInContainer): + (WebCore::FocusController::advanceFocusDirectionally): + * page/SpatialNavigation.cpp: + (WebCore::FocusCandidate::FocusCandidate): + (WebCore::virtualRectForDirection): + (WebCore::virtualRectForAreaElementAndDirection): + * page/SpatialNavigation.h: + (WebCore::FocusCandidate::FocusCandidate): + +2010-12-07 Darin Adler <darin@apple.com> + + Try to fix V8 build. + + * bindings/generic/BindingDOMWindow.h: + (WebCore::BindingDOMWindow::createWindow): Pass security origin. + +2010-12-07 Darin Adler <darin@apple.com> + + Another build fix. + + * loader/CrossOriginAccessControl.cpp: Added a missing include. + +2010-12-07 Darin Adler <darin@apple.com> + + Try to fix build. + + * plugins/PluginView.cpp: + (WebCore::PluginView::start): Pass security origin. + (WebCore::PluginView::getURLNotify): Ditto. + (WebCore::PluginView::getURL): Ditto. + (WebCore::PluginView::handlePost): Ditto. + +2010-12-06 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Pass security origin to make local file decision correctly + https://bugs.webkit.org/show_bug.cgi?id=48603 + + * bindings/generic/BindingDOMWindow.h: + (WebCore::BindingDOMWindow::createWindow): Pass security origin. + (WebCore::BindingDOMWindow::open): Ditto. + * bindings/generic/BindingFrame.h: + (WebCore::BindingFrame::navigateIfAllowed): Ditto. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Pass security origin. + (WebCore::createWindow): Ditto. + (WebCore::JSDOMWindow::open): Ditto. + + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::setLocation): Pass security origin. + + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): Pass security origin. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::openInInspectedWindow): + Pass security origin. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::changeLocation): Added a security origin + argument, passed through to urlSelected. + (WebCore::FrameLoader::urlSelected): Replaced the resource request + and frame name arguments with a frame load request arguments in one + overload, and changed the other overload to pass in the current + frame's document for the security origin. + (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay + check before the referrer computation because it no longer needs + to look at the referrer. Replaced the call to canDisplay that + used the target frame's security origin and the call to + deprecatedCanDisplay with a single call to canDisplay that uses + the requester security origin. + + * loader/FrameLoader.h: Updated for argument changes above. + + * loader/NavigationScheduler.cpp: + (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added + a security origin. + (WebCore::ScheduledURLNavigation::fire): Pass the security origin + in to FrameLoader::changeLocation. + (WebCore::ScheduledURLNavigation::securityOrigin): Added. + (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security + origin argument. + (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto. + (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto. + (WebCore::ScheduledRefresh::fire): Pass the security origin in to + FrameLoader::changeLocation. + (WebCore::ScheduledFormSubmission::fire): Include the security + origin when constructing form submission. + (WebCore::NavigationScheduler::scheduleRedirect): Include the security + origin when creating the scheduled navigation object. + (WebCore::NavigationScheduler::scheduleLocationChange): Ditto. + (WebCore::NavigationScheduler::scheduleRefresh): Ditto. + + * loader/NavigationScheduler.h: Added the security origin argument + to scheduleLocationChange. + + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security + origin when calling scheduleLocationChange. + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::selectCache): Ditto. + + * page/ContextMenuController.cpp: + (WebCore::openNewWindow): Pass in the security origin. + (WebCore::ContextMenuController::contextMenuItemSelected): Ditto. + + * page/FrameLoadRequest.h: Added a security origin called the requester + to all FrameLoadRequest objects. + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::findInRequest): Added the security origin. + +2010-12-07 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer + https://bugs.webkit.org/show_bug.cgi?id=50627 + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has + not been initialized yet. + +2010-12-07 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey. + + * page/animation/AnimationBase.cpp: + (WebCore::addShorthandProperties): + +2010-12-07 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73392. + http://trac.webkit.org/changeset/73392 + https://bugs.webkit.org/show_bug.cgi?id=50489 + + This commit caused crashes on the GTK+ bots + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::close): + (WebCore::Document::lastModified): + (WebCore::Document::finishedParsing): + (WebCore::Document::initSecurityContext): + (WebCore::Document::updateURLForPushOrReplaceState): + * dom/Document.h: + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::scriptCharset): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * html/MediaDocument.cpp: + (WebCore::MediaDocument::replaceMediaElementTimerFired): + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::createDocumentStructure): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::DocumentLoader): + (WebCore::DocumentLoader::finishedLoading): + (WebCore::DocumentLoader::commitData): + (WebCore::DocumentLoader::setupForReplaceByMIMEType): + (WebCore::DocumentLoader::setFrame): + * loader/DocumentLoader.h: + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + * loader/DocumentWriter.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::transitionToCommitted): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::finishedLoadingDocument): + (WebCore::FrameLoader::addExtraFieldsToRequest): + * loader/FrameLoader.h: + (WebCore::FrameLoader::writer): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::requestPreload): + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::encodingFromAcceptCharset): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2010-12-07 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Remove WebKitGenerators + https://bugs.webkit.org/show_bug.cgi?id=50445 + + Move remaining logic into main CMakeLists.txt. + + * CMakeLists.txt: + +2010-12-07 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + Clear old SVG cursor entry before adding a new one + https://bugs.webkit.org/show_bug.cgi?id=50549 + + Test: svg/css/cursor-replace.svg + + * css/CSSCursorImageValue.cpp: + (WebCore::CSSCursorImageValue::~CSSCursorImageValue): + * svg/SVGCursorElement.cpp: + (WebCore::SVGCursorElement::~SVGCursorElement): + (WebCore::SVGCursorElement::removeClient): + (WebCore::SVGCursorElement::removeReferencedElement): + * svg/SVGCursorElement.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::setCursorElement): + (WebCore::SVGElement::cursorElementRemoved): + (WebCore::SVGElement::setCursorImageValue): + (WebCore::SVGElement::cursorImageElementRemoved): + * svg/SVGElement.h: + +2010-12-07 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Kent Tamura. + + Let HTMLObjectElement be a form associated element + https://bugs.webkit.org/show_bug.cgi?id=48821 + + Introduces FormAssociatedElement class which would be a super class + of form assocated elements. Some of member functions and variables of + HTMLFormControlElement are migrated into this class. + Following the HTML5 spec, HTMLFormControlElement class and + HTMLObjectElement class are subclasses of it for now. + + Test: fast/forms/form-collection-elements-order.html + + * Android.mk: Added FormAssociatedElement.cpp + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Added FormAssociatedElement.{cpp,h} + * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*) + * WebCore.gypi: Added FormAssociatedElement.{cpp,h} + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/CheckedRadioButtons.h: Fixed class forward declaration order. + * dom/Document.cpp: + (WebCore::Document::registerFormElementWithFormAttribute): Modified to + use FormAssociatedElement instead of HTMLFormControlElement + (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto. + (WebCore::Document::resetFormElementsOwner): + * dom/Document.h: Ditto. + * html/DOMFormData.cpp: Ditto. + (WebCore::DOMFormData::DOMFormData): + * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp. + (WebCore::FormAssociatedElement::FormAssociatedElement): + (WebCore::FormAssociatedElement::~FormAssociatedElement): + (WebCore::FormAssociatedElement::validity): + (WebCore::FormAssociatedElement::insertedIntoTree): + (WebCore::FormAssociatedElement::removedFromTree): + (WebCore::FormAssociatedElement::removeFromForm): + (WebCore::FormAssociatedElement::resetFormOwner): + (WebCore::FormAssociatedElement::formAttributeChanged): + (WebCore::toHTMLElement): + * html/FormAssociatedElement.h: Ditto. + (WebCore::FormAssociatedElement::ref): + (WebCore::FormAssociatedElement::deref): + (WebCore::FormAssociatedElement::formDestroyed): + (WebCore::FormAssociatedElement::setForm): + * html/HTMLElement.h: Changed the access level of findFormAncestor(). + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement + instead of HTMLFormControlElement. + (WebCore::HTMLFormCollection::getNamedFormItem): Ditto. + (WebCore::HTMLFormCollection::updateNameCache): Ditto. + * html/HTMLFormControlElement.cpp: Modified regarding with the change of class + hierarchy. + (WebCore::HTMLFormControlElement::HTMLFormControlElement): + (WebCore::HTMLFormControlElement::~HTMLFormControlElement): + (WebCore::HTMLFormControlElement::insertedIntoTree): + (WebCore::HTMLFormControlElement::removedFromTree): + (WebCore::HTMLFormControlElement::supportsFocus): + (WebCore::HTMLFormControlElement::checkValidity): + (WebCore::HTMLFormControlElement::virtualForm): + (WebCore::HTMLFormControlElement::isDefaultButtonForForm): + (WebCore::HTMLFormControlElement::attributeChanged): + * html/HTMLFormControlElement.h: Ditto. + (WebCore::HTMLFormControlElement::form): + (WebCore::HTMLFormControlElement::disabled): + (WebCore::HTMLFormControlElement::type): + (WebCore::HTMLFormControlElement::refFormAssociatedElement): + (WebCore::HTMLFormControlElement::derefFormAssociatedElement): + * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement + instead of HTMLFormControlElement. + (WebCore::HTMLFormElement::submitImplicitly): + (WebCore::HTMLFormElement::validateInteractively): + (WebCore::HTMLFormElement::submit): + (WebCore::HTMLFormElement::reset): + (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): + (WebCore::HTMLFormElement::formElementIndex): + (WebCore::HTMLFormElement::registerFormElement): + (WebCore::HTMLFormElement::removeFormElement): + (WebCore::HTMLFormElement::defaultButton): + (WebCore::HTMLFormElement::checkValidity): + (WebCore::HTMLFormElement::collectUnhandledInvalidControls): + (WebCore::HTMLFormElement::documentDidBecomeActive): + * html/HTMLFormElement.h: Ditto. + (WebCore::HTMLFormElement::associatedElements): + * html/HTMLInputElement.cpp: Ditto. + (WebCore::HTMLInputElement::updateCheckedRadioButtons): + * html/HTMLObjectElement.cpp: Modified regarding with the change of class + hierarchy. + (WebCore::HTMLObjectElement::HTMLObjectElement): + (WebCore::HTMLObjectElement::~HTMLObjectElement): + (WebCore::HTMLObjectElement::create): + (WebCore::HTMLObjectElement::attributeChanged): + (WebCore::HTMLObjectElement::insertedIntoTree): + (WebCore::HTMLObjectElement::removedFromTree): + (WebCore::HTMLObjectElement::appendFormData): + (WebCore::HTMLObjectElement::formControlName): + * html/HTMLObjectElement.h: Ditto. + (WebCore::HTMLObjectElement::form): + (WebCore::HTMLObjectElement::isFormControlElement): + (WebCore::HTMLObjectElement::isEnumeratable): + (WebCore::HTMLObjectElement::refFormAssociatedElement): + (WebCore::HTMLObjectElement::derefFormAssociatedElement): + * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag. + * html/ValidationMessage.cpp: Modified to use FormAssociatedElement + instead of HTMLFormControlElement. + (WebCore::ValidationMessage::ValidationMessage): + (WebCore::ValidationMessage::create): + * html/ValidationMessage.h: Ditto. + * html/ValidityState.cpp: Ditto. + (WebCore::ValidityState::validationMessage): + (WebCore::ValidityState::setCustomErrorMessage): + (WebCore::ValidityState::valueMissing): + (WebCore::ValidityState::typeMismatch): + (WebCore::ValidityState::patternMismatch): + (WebCore::ValidityState::tooLong): + (WebCore::ValidityState::rangeUnderflow): + (WebCore::ValidityState::rangeOverflow): + (WebCore::ValidityState::stepMismatch): + * html/ValidityState.h: Ditto. + (WebCore::ValidityState::create): + (WebCore::ValidityState::ValidityState): + * loader/FormSubmission.cpp: Ditto. + (WebCore::FormSubmission::create): + +2010-12-06 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed. Rolling out r72988 for breaking iframes. + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + +2010-12-06 Hironori Bono <hbono@chromium.org> + + Reviewed by David Levin. + + [Chromium] Refactor FontCacheChromiumWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=50611 + + This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file. + + No new tests are added since this is a refactoring. + + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file. + (WebCore::toGDIFontWeight): Moved to the beginning of the file. + (WebCore::FillLogFont): Moved to the beginning of the file. + (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file. + (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file. + (WebCore::FontCache::platformInit): Moved after the static functions. + +2010-12-06 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by Kenneth Russell. + + Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored. + https://bugs.webkit.org/show_bug.cgi?id=50364 + + No new tests since there is currently no way to force a context lost event. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired): + (WebCore::WebGLRenderingContext::create): + (WebCore::WebGLRenderingContext::WebGLRenderingContext): + (WebCore::WebGLRenderingContext::isContextLost): + (WebCore::WebGLRenderingContext::loseContext): + (WebCore::WebGLRenderingContext::restoreContext): + * html/canvas/WebGLRenderingContext.h: + (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer): + +2010-12-06 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=50593 + + Fix background canvas painting for documents with left/top overflow. The math from the original RTL patch was incorrect. + + Just use the RenderView's document dimensions always. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintRootBoxDecorations): + +2010-12-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + CSS animation doesn't work for border-radius + https://bugs.webkit.org/show_bug.cgi?id=48340 + + Include CSSPropertyBorderRadius in the list of shorthand + properties, so that the individual border-radius properties + get animated. + + Test: transitions/border-radius-transition.html + + * page/animation/AnimationBase.cpp: + (WebCore::addShorthandProperties): + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration + https://bugs.webkit.org/show_bug.cgi?id=49938 + + Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle* + instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle + by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and + EditingStyle::extractAndRemoveBlockProperties. + + No new tests are added since this is a refactoring. + + * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle. + * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const. + (WebCore::CSSMutableStyleDeclaration::merge): + * css/CSSMutableStyleDeclaration.h: + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*. + (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle. + * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration. + (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*. + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::applyStyle): Ditto. + (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle. + (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto. + * editing/CompositeEditCommand.h: + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto. + * editing/EditCommand.cpp: + * editing/EditCommand.h: + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::~EditingStyle): Added. + (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete. + (WebCore::EditingStyle::copy): Added. + (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete. + * editing/EditingStyle.h: + * editing/Editor.cpp: + (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create. + (WebCore::Editor::applyParagraphStyle): Ditto. + (WebCore::Editor::computeAndSetTypingStyle): Ditto. + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto. + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): Ditto. + * editing/RemoveFormatCommand.cpp: + (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle. + * editing/SelectionController.cpp: + (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h + * editing/SelectionController.h: + +2010-12-05 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre + https://bugs.webkit.org/show_bug.cgi?id=47300 + + The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode + contains more than one paragraphs even when the refNode is fully selected. + + Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in + such a situation. + + Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection + is not properly updated when the end of selection resides in the node split by + rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded. + + Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html + + * editing/ApplyBlockElementCommand.cpp: + (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph. + (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates + m_endOfLastParagraph when the position points to the node split by this function. + (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto. + * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable. + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::formatRange): See above. + * editing/FormatBlockCommand.h: + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection. + * editing/IndentOutdentCommand.h: + +2010-12-03 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Postpone gl delete* calls until shaders/programs are no longer attached + https://bugs.webkit.org/show_bug.cgi?id=50501 + + * html/canvas/WebGLBuffer.cpp: + (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource. + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto. + * html/canvas/WebGLObject.cpp: + (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not. + * html/canvas/WebGLObject.h: + (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion. + (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject. + (WebCore::WebGLObject::isDeleted): Make this public. + * html/canvas/WebGLProgram.cpp: + (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource. + * html/canvas/WebGLRenderbuffer.cpp: + (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS. + (WebCore::WebGLRenderingContext::getShaderParameter): Ditto. + * html/canvas/WebGLShader.cpp: + (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource. + * html/canvas/WebGLTexture.cpp: + (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource. + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Yet unreviewed another Leopard build fix for r73380. + + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (PlatformCAAnimation::setKeyTimes): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::platformCALayer): + +2010-12-06 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + Marquee elements do not stop animating when scrollAmount is set to 0. + https://bugs.webkit.org/show_bug.cgi?id=50434 + + Test: fast/html/marquee-scrollamount.html + + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::timerFired): Allow increment to be 0. + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed Leopard buildfix for r73380. + + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (PlatformCAAnimation::setTimingFunctions): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::PlatformCALayer): + +2010-12-06 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer + https://bugs.webkit.org/show_bug.cgi?id=44157 + + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (webKitWebSrcNeedDataMainCb): + (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code + with cross-platform ResourceHandle::setDefersLoading calls. + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed Leopard build fix for r73388. + + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySlider::maxValueForRange): + (WebCore::AccessibilitySlider::minValueForRange): + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed build fix for Leopard after r73379. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setAllowsFontSmoothing): + +2010-12-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Make DocumentWriter a member of DocumentLoader + instead of FrameLoader. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + Refactor, no new tests. + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::close): + (WebCore::Document::lastModified): + (WebCore::Document::finishedParsing): + (WebCore::Document::initSecurityContext): + (WebCore::Document::updateURLForPushOrReplaceState): + * dom/Document.h: + (WebCore::Document::setDocumentLoader): + (WebCore::Document::loader): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::scriptCharset): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * html/MediaDocument.cpp: + (WebCore::MediaDocument::replaceMediaElementTimerFired): + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::createDocumentStructure): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::DocumentLoader): + (WebCore::DocumentLoader::finishedLoading): + (WebCore::DocumentLoader::commitData): + (WebCore::DocumentLoader::setupForReplaceByMIMEType): + (WebCore::DocumentLoader::setFrame): + * loader/DocumentLoader.h: + (WebCore::DocumentLoader::writer): + * loader/DocumentWriter.h: + (WebCore::DocumentWriter::setFrame): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::transitionToCommitted): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::finishedLoadingDocument): + (WebCore::FrameLoader::addExtraFieldsToRequest): + * loader/FrameLoader.h: + (WebCore::FrameLoader::notifier): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::requestPreload): + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::encodingFromAcceptCharset): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2010-12-06 Mark Rowe <mrowe@apple.com> + + Build fix. + + * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK. + That's just plain wrong. + +2010-12-06 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + HTML5 Slider does not work correctly with VoiceOver + https://bugs.webkit.org/show_bug.cgi?id=50505 + + Address a few problems with the Mac implementation for the accessibility slider. + 1) The value indicator is not hit testable. + 2) The value indicator does not return an AXValue. + 3) In the slider, the min/max values are not correct when min/max attributes are not present. + 4) When you change the value with the keyboard, it doesn't send out the right notification. + 5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes. + + Test: platform/mac/accessibility/html-slider-indicator.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::getAttribute): + Use fastGetAttribute on Element, instead of getAttribute. + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isInputSlider): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySlider::doAccessibilityHitTest): + (WebCore::AccessibilitySlider::maxValueForRange): + (WebCore::AccessibilitySlider::minValueForRange): + * accessibility/AccessibilitySlider.h: + (WebCore::AccessibilitySlider::isInputSlider): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::applyStep): + +2010-12-06 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now + O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition. + + This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow + in the engine to cache all the information required to properly handle scrolling. + + In the old code, there were two types of overflow: layout overflow and visual overflow. The former could + affect scrolling and the latter could not. The distinction was largely meaningless, since layout overflow + wasn't actually used to determine scroll width or scroll height. It didn't propagate across self-painting layer + boundaries either. In the old code, the term visible overflow meant the union of the layout overflow and + visual overflow rects. + + In the new code, the two types of overflow remain, but the distinction between the two is now clear. Visual overflow + is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling. It has + been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to + work with writing modes. + + In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members. + Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful). + A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise + a huge number of tests would change. + + Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest. + + * page/FrameView.cpp: + (WebCore::FrameView::adjustViewSize): + (WebCore::FrameView::forceLayoutForPagination): + Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it + to account for writing modes. + + * platform/graphics/IntRect.h: + (WebCore::IntRect::shiftLeftEdgeTo): + (WebCore::IntRect::shiftRightEdgeTo): + (WebCore::IntRect::shiftTopEdgeTo): + (WebCore::IntRect::shiftBottomEdgeTo): + New helper functions for sliding the edge of a rectangle without moving any of the other three edges. + + * rendering/InlineBox.h: + (WebCore::InlineBox::frameRect): + frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInInlineDirection): + All of the overflow setting in the inline direction has been removed from this function. All line overflow is computed + at once now in a single function: computeOverflow. + + (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + (WebCore::InlineFlowBox::addReplacedChildOverflow): + Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow. + + (WebCore::InlineFlowBox::computeOverflow): + The new function that computes both horizontal and vertical overflow for a line box. + + (WebCore::InlineFlowBox::setLayoutOverflow): + (WebCore::InlineFlowBox::setVisualOverflow): + (WebCore::InlineFlowBox::setOverflowFromLogicalRects): + New functions that set the overflow computed by computeOverflow. These replace setBlockDirectionOverflowPositions + and setInlineDirectionOverflowPositions. They essentially do the same thing, but they operate on rectangles. + + (WebCore::InlineFlowBox::nodeAtPoint): + (WebCore::InlineFlowBox::paint): + Changed to use visual overflow instead of visible overflow. (Visible overflow as a union of layout and visual + overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.) + + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::logicalLayoutOverflowRect): + (WebCore::InlineFlowBox::logicalVisualOverflowRect): + Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before + converting to block coordinates at the end. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::addOverflowFromChildren): + (WebCore::RenderBlock::computeOverflow): + (WebCore::RenderBlock::addOverflowFromFloats): + (WebCore::RenderBlock::addOverflowFromPositionedObjects): + Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow. The addOverflowFromChildren + method is virtual so that RenderListItem and RenderTable can subclass it. RenderListItem has to position its list marker and + propagate marker overflow up, and RenderTable adds in overflow from its sections. + + (WebCore::RenderBlock::layoutOnlyPositionedObjects): + (WebCore::RenderBlock::layoutPositionedObjects): + When only positioned objects lay out, overflow must still be recomputed. The refactoring of overflow computation into a single + callable method: computeOverflow, makes it possible for this to be done easily. + + (WebCore::RenderBlock::paint): + visible -> visual. + + (WebCore::RenderBlock::addOverhangingFloats): + The propagation of float overflow has changed substantially. The basic rules are: + (1) The float must be in our floating objects list to contribute to overflow. + (2) The float must be a descendant to contribute to overflow. + (3) The block must have the outermost list that contains the float, or it has a self-painting layer and + so the float needs to be included in its overflow. + + (WebCore::RenderBlock::nodeAtPoint): + visible -> visual. + + (WebCore::RenderBlock::layoutColumns): + Remove column overflow computation from layoutColumns and move it to computeOverflow. + + (WebCore::RenderBlock::adjustLinePositionForPagination): + visible -> visual. + + * rendering/RenderBlock.h: + (WebCore::RenderBlock::scrollbarsChanged): + Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::matchedEndLine): + (WebCore::RenderBlock::addOverflowFromInlineChildren): + (WebCore::RenderBlock::beforeSideVisualOverflowForLine): + (WebCore::RenderBlock::afterSideVisualOverflowForLine): + visible -> visual. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::scrollWidth): + (WebCore::RenderBox::scrollHeight): + Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions. + + (WebCore::RenderBox::paintRootBoxDecorations): + Use docLeft and docTop here, so that writing modes are handled. + + (WebCore::RenderBox::clippedOverflowRectForRepaint): + visible -> visual. + + (WebCore::RenderBox::addOverflowFromChild): + (WebCore::RenderBox::addLayoutOverflow): + (WebCore::RenderBox::addVisualOverflow): + (WebCore::RenderBox::logicalVisualOverflowRectForPropagation): + (WebCore::RenderBox::visualOverflowRectForPropagation): + (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation): + (WebCore::RenderBox::layoutOverflowRectForPropagation): + * rendering/RenderBox.h: + The new overflow system for boxes. Layout overflow now crosses self-painting layer boundaries and adjusts child boxes + for transforms, relative positioning and writing mode differences. + + (WebCore::RenderBox::layoutOverflowRect): + (WebCore::RenderBox::topLayoutOverflow): + (WebCore::RenderBox::bottomLayoutOverflow): + (WebCore::RenderBox::leftLayoutOverflow): + (WebCore::RenderBox::rightLayoutOverflow): + Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions. + + (WebCore::RenderBox::clientLogicalBottom): + New helper for obtaining the logical bottom of the client box. + + (WebCore::RenderBox::clientBoxRect): + New helper for obtaining the clientLeft/Top/Width/Height box. + + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::relativePositionLogicalOffset): + Helper for obtaining the relative position offset transposed for vertical writing modes. Used by line overflow. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + Changed flexible boxes to just call the base class computeOverflow method. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::linesVisualOverflowBoundingBox): + (WebCore::RenderInline::clippedOverflowRectForRepaint): + visible -> visual. + + * rendering/RenderInline.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + Changed layers to no longer incorporate right/bottom overflow into width/height. This is the reason many layout + tests change. (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting + layers now.) + + (WebCore::RenderLayer::overflowTop): + (WebCore::RenderLayer::overflowBottom): + (WebCore::RenderLayer::overflowLeft): + (WebCore::RenderLayer::overflowRight): + overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used + to set up the scroll area. + + (WebCore::RenderLayer::computeScrollDimensions): + Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow. + + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the + bottom works. + + (WebCore::performOverlapTests): + (WebCore::RenderLayer::paintLayer): + Fix a bug in performOverlapTests. It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out + of the layer (see why I hate layers even having dimensions?). Changed it to use the bounding box of the layer instead. + + (WebCore::RenderLayer::hitTest): + Fix a bug in hit testing. It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account + for left/top overflow in a ScrollView (hate hate hate layers having dimensions). I changed it to use the hit test rect instead, + so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping). + + (WebCore::RenderLayer::localBoundingBox): + visible -> visual. + + * rendering/RenderLayer.h: + Added the new overflowTop/Left/Right/Bottom accessors. + + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::anyLineIntersectsRect): + (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): + (WebCore::RenderLineBoxList::paint): + (WebCore::RenderLineBoxList::hitTest): + visible -> visual. + + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::addOverflowFromChildren): + (WebCore::RenderListItem::positionListMarker): + * rendering/RenderListItem.h: + RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item. + + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + visible -> visual. + + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::computePosition): + Changed to use overflow functions instead of rightmost/lowestPosition. + + * rendering/RenderMedia.cpp: + * rendering/RenderMedia.h: + Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already. + + * rendering/RenderOverflow.h: + (WebCore::RenderOverflow::RenderOverflow): + (WebCore::RenderOverflow::setLayoutOverflow): + (WebCore::RenderOverflow::setVisualOverflow): + Add new setters for layout and visual overflow as rects. + + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::shouldPaint): + (WebCore::RenderReplaced::clippedOverflowRectForRepaint): + visible -> visual. + + * rendering/RenderRubyRun.cpp: + (WebCore::RenderRubyRun::layout): + Call computeOverflow to recompute our overflow information after we adjust the ruby. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + (WebCore::RenderTable::addOverflowFromChildren): + (WebCore::RenderTable::paint): + * rendering/RenderTable.h: + Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow. + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::clippedOverflowRectForRepaint): + visible -> visual. + + (WebCore::RenderTableCell::scrollbarsChanged): + Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed + a bug in table layout. If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the + cell, then the cell won't lay out properly the second time (after the scrollbars have been added). We have to adjust the intrinsic + padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions. + + * rendering/RenderTableCell.h: + (WebCore::RenderTableCell::hasVisualOverflow): + visible -> visual. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + * rendering/RenderTableSection.h: + visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions. + + * rendering/RenderTreeAsText.cpp: + (WebCore::writeLayers): + Added a hack to render tree dumping to include right/bottom overflow for the root layer only. This keeps a zillion layout tests + from failing. + + * rendering/RenderView.cpp: + (WebCore::RenderView::layout): + (WebCore::RenderView::docTop): + (WebCore::RenderView::docBottom): + (WebCore::RenderView::docLeft): + (WebCore::RenderView::docRight): + * rendering/RenderView.h: + (WebCore::RenderView::docHeight): + (WebCore::RenderView::docWidth): + RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes. These methods + are now the preferred way to query for the physical dimensions of a document. + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::addHighlightOverflow): + Changed to call setOverflowFromLogicalRects instead of the block/inline position functions. + + (WebCore::RootInlineBox::alignBoxesInBlockDirection): + Remove the computation of block direction overflow, since it now all happens at once after the line is built. + + (WebCore::RootInlineBox::paddedLayoutOverflowRect): + * rendering/RootInlineBox.h: + Added a new helper function for incorporating the end padding into a line. This end padding also includes the single pixel for a caret + in LTR if needed. + +2010-12-06 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially + identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls + with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA + platform neutral as long as implementations of those two classes are available. + Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got + rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() + to avoid confusion since both names were used to refer to the same thing. + + This patch is only for Mac. Windows implementation has not changed. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsLayer.h: + * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp. + * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h. + * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h. + * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h. + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm. + (toCAMediaTimingFunction): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm. + (PlatformCALayer::PlatformCALayer): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/mac/GraphicsLayerMac.h: Removed. + * platform/graphics/mac/GraphicsLayerMac.mm: Removed. + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (-[WebLayer setNeedsDisplay]): + (-[WebLayer setNeedsDisplayInRect:]): + (-[WebLayer display]): + (-[WebLayer drawInContext:]): + * platform/graphics/mac/WebTiledLayer.h: + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplay]): + (-[WebTiledLayer setNeedsDisplayInRect:]): + (-[WebTiledLayer display]): + (-[WebTiledLayer drawInContext:]): + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::flushChanges): + * platform/graphics/qt/GraphicsLayerQt.h: + * platform/graphics/win/GraphicsLayerCACF.cpp: + * platform/graphics/win/GraphicsLayerCACF.h: + +2010-12-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Font antialiasing (smoothing) changes when elements are rendered into compositing layers + https://bugs.webkit.org/show_bug.cgi?id=23364 + + Text rendered by Core Graphics over a transparent background looks bad because of + font smoothing, so turn off smoothing when rendering text into compositing layers. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setAllowsFontSmoothing): + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + +2010-12-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [WINCE] Add build system + https://bugs.webkit.org/show_bug.cgi?id=50522 + + * CMakeListsWinCE.txt: Added. + +2010-12-06 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Oliver Hunt. + + AX does not support HTML5 "required" + https://bugs.webkit.org/show_bug.cgi?id=50507 + + Test: platform/mac/accessibility/html5-required-attribute.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isRequired): + +2010-12-06 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] using shadows leaks memory + https://bugs.webkit.org/show_bug.cgi?id=50541 + + Fixed leaks in the shadow code. + * platform/graphics/cairo/CairoUtilities.cpp: + (WebCore::drawPatternToCairoContext): adoptRef instead of just + getting a new reference. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawPathShadow): handle cairo_path_t with smart + pointers. + +2010-12-06 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: remove duplicate code for capturing stack trace + https://bugs.webkit.org/show_bug.cgi?id=50461 + + No new tests. Covered with existing inspector tests. + + * bindings/js/ScriptCallStackFactory.cpp: + (WebCore::createScriptCallStack): + * bindings/js/ScriptCallStackFactory.h: + * bindings/v8/ScriptCallStackFactory.cpp: + (WebCore::toScriptCallFrame): + (WebCore::toScriptCallFramesVector): + (WebCore::createScriptCallStack): + * bindings/v8/ScriptCallStackFactory.h: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::handler): + * inspector/ScriptCallFrame.cpp: + (WebCore::ScriptCallFrame::ScriptCallFrame): + (WebCore::ScriptCallFrame::isEqual): + (WebCore::ScriptCallFrame::buildInspectorObject): + * inspector/ScriptCallFrame.h: + (WebCore::ScriptCallFrame::sourceURL): + * inspector/ScriptCallStack.h: + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createGenericRecord): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): + +== Rolled over to ChangeLog-2010-12-06 == |