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