From 28040489d744e0c5d475a88663056c9040ed5320 Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Wed, 10 Nov 2010 15:31:59 -0800 Subject: Merge WebKit at r71558: Initial merge by git. Change-Id: Ib345578fa29df7e4bc72b4f00e4a6fddcb754c4c --- WebCore/ChangeLog | 6433 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 6432 insertions(+), 1 deletion(-) (limited to 'WebCore/ChangeLog') diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 44714b7..6bf8f3c 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,6324 @@ +2010-11-08 Ryosuke Niwa + + Reviewed by Darin Adler. + + Remove the remaining editing-style functions from ApplyStyleCommand + https://bugs.webkit.org/show_bug.cgi?id=49155 + + Replaced removeNonEditingProperties, editingStyleAtPosition, prepareEditingStyleToApplyAt, + and removeStylesAddedByNode in ApplyStyleCommand.cpp by removeNonEditingProperties, EditingStyle::create, + prepareToApplyAt, and removeStyleAddedByNode in EditingStyle.cpp. + + Also removed unnecessary header includes from various cpp files. + + No tests are added since this is a cleanup. + + * editing/ApplyStyleCommand.cpp: Removed removeNonEditingProperties, editingStyleAtPosition, + prepareEditingStyleToApplyAt, and removeStylesAddedByNode. + * editing/ApplyStyleCommand.h: Ditto. + * editing/DeleteSelectionCommand.cpp: Removed removeEnclosingAnchorStyle. + (WebCore::DeleteSelectionCommand::saveTypingStyleState): Calls removeStylesAddedByNode instead. + * editing/EditingStyle.cpp: + (WebCore::copyEditingProperties): Moved and renamed ApplyStyleCommand::removeNonEditingProperties. + (WebCore::editingStyleFromComputedStyle): Calls copyEditingProperties. Changed the argument to PassRefPtr + as supposed to a raw pointer for convenience. + (WebCore::EditingStyle::init): Calls editingStyleFromComputedStyle. + (WebCore::EditingStyle::removeStyleAddedByNode): Added. + (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added. + (WebCore::EditingStyle::removeNonEditingProperties): Added. + (WebCore::editingStyleIncludingTypingStyle): Calls copyEditingProperties. + * editing/EditingStyle.h: Added prototypes. + * editing/Editor.cpp: + (WebCore::Editor::selectionComputedStyle): Uses EditingStyle. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto. + (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto. + * editing/InsertParagraphSeparatorCommand.h: + * editing/RemoveFormatCommand.cpp: + (WebCore::RemoveFormatCommand::doApply): Ditto. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::handleStyleSpansBeforeInsertion): Ditto. + (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto. + (WebCore::ReplaceSelectionCommand::doApply): Ditto. + (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto. + * editing/ReplaceSelectionCommand.h: + * editing/markup.cpp: Removed removeEnclosingMailBlockquoteStyle and removeDefaultStyles. + (WebCore::createMarkup): Uses EditingStyle. + +2010-11-08 Simon Fraser + + Reviewed by Dan Bernstein. + + Media objects in nested iframes showing above everything else in TinyMCE + https://bugs.webkit.org/show_bug.cgi?id=44877 + + Tests: compositing/iframes/become-composited-nested-iframes.html + compositing/iframes/overlapped-nested-iframes.html + + The overlap testing logic that connects compositing across iframe boundaries + needed to be educated about nestd iframes, for platforms (i.e. Mac) where iframes + are allowed to be independently composited. + + Also fix a bug that could cause iframes (and possibly other elements) that share + style to fail to become composited. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): Disable style sharing for elements + that force synethetic style updates in order to gain RenderLayers, so they can become + composited. This is tested by become-composited-nested-iframes.html, though it is very + timing-dependent. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::hasCompositedContentIncludingDescendants): New method that + is a "deep" version of hasCompositedContent() on platforms where that is necessary to ask. + + (WebCore::FrameView::hasCompositingAncestor): New method. + (WebCore::FrameView::setIsOverlapped): If we can have independently composited iframes, + we need to force all descendant iframes to update so that compositing gets hooked up across + nested iframes. + + (WebCore::FrameView::isOverlappedIncludingAncestors): New method, only called on platforms + where allowsIndependentlyCompositedIFrames() is true. + + * rendering/RenderLayerCompositor.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedIFrames): Utility method that + returns true if an iframe can be a compositing root. + + (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Make use of + allowsIndependentlyCompositedIFrames(). + + (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): We need to notify all + descendant frames, not just children. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setStyle): Add assert to ensure that we don't do style sharing + for elements that play tricks with synthetic style changes. + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): Run overlap testing if a frame has any composited + descendants. + +2010-11-08 Darin Adler + + Reviewed by Alexey Proskuryakov. + + Incorrect image map used when multiple maps have the same name + https://bugs.webkit.org/show_bug.cgi?id=49086 + + Tests: fast/images/image-map-multiple.html + fast/images/image-map-multiple-xhtml.xhtml + + Factored out the code used to look up elements by id and reused it + to look up maps by name. It handles multiple elements efficiently. + + * dom/Document.cpp: + (WebCore::Document::DocumentOrderedMap::clear): Added. + (WebCore::Document::DocumentOrderedMap::add): Added. Has code that + was formerly in addElementById. + (WebCore::Document::DocumentOrderedMap::remove): Added. Has code that + was formerly in removeElementById. + (WebCore::Document::DocumentOrderedMap::get): Added. Has code that + was formerly in getElementById. + (WebCore::keyMatchesId): Added. + (WebCore::Document::getElementById): Use DocumentOrderedMap::get. + (WebCore::Document::addElementById): Use DocumentOrderedMap::add. + (WebCore::Document::removeElementById): Use DocumentOrderedMap::remove. + (WebCore::Document::addImageMap): Use DocumentOrderedMap::add. + (WebCore::Document::removeImageMap): Use DocumentOrderedMap::remove. + (WebCore::keyMatchesMapName): Added. + (WebCore::keyMatchesLowercasedMapName): Added. + (WebCore::Document::getImageMap): Use DocumentOrderedMap::get. + + * dom/Document.h: Added DocumentOrderedMap class, used inside the + Document class. Changed m_imageMapsByName to be a DocumentOrderedMap. + Changed m_elementsById to be a DocumentOrderedMap. Eliminated + m_duplicateIds, since DocumentOrderedMap now has that internally. + +2010-11-08 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=48685 + Notify UI process about focused frame + + * WebCore.xcodeproj/project.pbxproj: Adding developmentRegion back. + + * loader/EmptyClients.h: (WebCore::EmptyChromeClient::focusedFrameChanged): + * page/Chrome.cpp: (WebCore::Chrome::focusedFrameChanged): + * page/Chrome.h: + * page/ChromeClient.h: + Added a new Chrome client notification. + + * page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame): Notify chrome. + +2010-11-08 Anders Carlsson + + Reviewed by Adam Roben. + + Remove use of HIGetScaleFactor + https://bugs.webkit.org/show_bug.cgi?id=49186 + + + Scale factors can vary on a display-by-display basis and it doesn't make sense + to compute scale factor event coordinates like this. + + * plugins/mac/PluginViewMac.mm: + (WebCore::PluginView::globalMousePosForPlugin): + +2010-11-08 Noam Rosenthal + + Reviewed by Kenneth Rohde Christiansen. + + [Texmap] [Qt] Texture mapper initial implementation + https://bugs.webkit.org/show_bug.cgi?id=47070 + + Make the necessary changes in TextureMapperNode in preparation of making it possible to paint it + from a different thread. + The main problematic part was the cache, which made it so that textures can become invalid and have to + be rerendered from content during paint. This is solved here by creating a pack/unpack function for + textures, which lets a texture archive its data away from video memory, or do whatever the platform + thinks is right for freeing memory without needing to re-render again from content (which cannot be + made thread safe). + + After this change, TextureMapperNode moved to its own file, and has 2 entry points: paint and syncCompositingState. + The idea is that syncCompositingState has to be called in the UI thread, paint can be called from a different + thread, and they should block each other. + + The new test tests the cache code-path, to show that the pack/unpack technique works for cases where it + kicks in. + + Test: compositing/layer-creation/many-layers.html + + * WebCore.pro: + * platform/graphics/opengl/TextureMapperGL.cpp: + (WebCore::BitmapTextureGL::~BitmapTextureGL): + (WebCore::BitmapTextureGL::BitmapTextureGL): + (WebCore::TextureMapperGL::TextureMapperGL): + (WebCore::TextureMapperGL::drawTexture): + * platform/graphics/opengl/TextureMapperGL.h: + (WebCore::TextureMapperGL::create): + * platform/graphics/qt/TextureMapperQt.cpp: + (WebCore::BitmapTextureQt::pack): + (WebCore::BitmapTextureQt::unpack): + (WebCore::TextureMapper::create): + (WebCore::BitmapTextureQt::BitmapTextureQt): + * platform/graphics/qt/TextureMapperQt.h: Added. + +2010-11-08 Simon Fraser + + Reviewed by Sam Weinig. + + Allow applets to participate in accelerated compositing + https://bugs.webkit.org/show_bug.cgi?id=49117 + + + Add RenderApplet to the list of renderers that can optionally get RenderLayers, + and be composited for some reason. + + Not currently testable. + + * rendering/RenderApplet.h: Outdented the class declaration. + + * rendering/RenderApplet.cpp: + (WebCore::RenderApplet::requiresLayer): Return true if the underlying widget + has a platform layer. + (WebCore::RenderApplet::allowsAcceleratedCompositing): Check the widget to see + if it has a platform layer. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::shouldBeNormalFlowOnly): Reformat, and add isApplet(). + (WebCore::RenderLayer::isSelfPaintingLayer): Reformat, and add isApplet(). + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use 'renderer' local variable + for efficiency. Now check for embedded objects and applets. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Check for embedded objects and applets. + +2010-11-08 Xan Lopez + + Reviewed by Martin Robinson. + + * GNUmakefile.am: add missing files to fix distcheck. + +2010-11-08 Alexander Pavlov + + Reviewed by David Hyatt. + + getPropertyValue("background") causes crash + https://bugs.webkit.org/show_bug.cgi?id=49055 + + Test: fast/css/background-norepeat-crash.html + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): + +2010-11-08 Martin Robinson + + Reviewed by Xan Lopez. + + [GTK] Wrapped DOM bindings GObjects do not disconnect event listeners when they die + https://bugs.webkit.org/show_bug.cgi?id=49136 + + When GObjects are finalized and freed, disconnect their event listeners, so that + WebCore does not try to fire signals on dead GObjects. We do this by holding a weak + reference to the GObject in the signal listener. When the weak reference notification + callback is executed, we disconnect the event listener. + + No new tests; this fix is proved by prevention of crashes in soon to be + landed editing delegate signals, which are covered by the layout tests. + + * bindings/gobject/GObjectEventListener.cpp: + (WebCore::GObjectEventListener::GObjectEventListener): Updated the constructor. + (WebCore::GObjectEventListener::~GObjectEventListener): Disconnect the weak reference + if the GObject is still alive. + (WebCore::GObjectEventListener::gobjectDestroyed): When the GObject is destroyed, + disconnect the appropriate event listener. + (WebCore::GObjectEventListener::handleEvent): Changes to reflect use of CString + instead of WebCore string. + * bindings/gobject/GObjectEventListener.h: + (WebCore::GObjectEventListener::addEventListener): Changed create to addEventListener, + so that the connection and disconnection is an internal contract to the class. + (WebCore::GObjectEventListener::gobjectDestroyedCallback): Added. + * bindings/scripts/CodeGeneratorGObject.pm: Modified the code generate to use + GObjectEventListener::addEventListener and no longer call addEventListener on + its own. + +2010-11-08 Adam Roben + + Windows Release build fix after r71514 + + The build was failing due to an alignment error. Strangely, depending + on the order of SVGStaticPropertyTearOff's members, the build will + either fail in Release (as it does before this change), or Debug (as it + did before r71514), but not both. + + * svg/properties/SVGStaticPropertyTearOff.h: + (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Copied + the #pragma pack trick from JSSVGPODTypeWrapper.h, which has similar + issues. + +2010-11-08 Yury Semikhatsky + + Reviewed by Pavel Feldman. + + Web Inspector: decouple ScriptArguments from ScriptCallStack + https://bugs.webkit.org/show_bug.cgi?id=48058 + + ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8. + The factory functions that allow to create ScriptCallStack from VM-specific + objects are defined in ScriptCallStackFactory.cpp. + + ScriptArguments class is used for passing arguments from JS code to the native + part. + + No new tests. This refactoring is covered with existing Console tests. + + * Android.jscbindings.mk: + * Android.v8bindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSConsoleCustom.cpp: + (WebCore::JSConsole::profile): + (WebCore::JSConsole::profileEnd): + * bindings/js/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/js/ScriptCallStack.cpp. + (WebCore::createScriptCallStack): + (WebCore::createScriptArguments): + (WebCore::ScriptCallStack::stackTrace): + * bindings/js/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp. + * bindings/js/ScriptState.cpp: + (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr): + (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr): + (WebCore::ScriptStateProtectedPtr::get): + * bindings/js/ScriptState.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::customArgsAndExceptionCallback): + * bindings/v8/ScriptCallFrame.h: Removed. + * bindings/v8/ScriptCallStack.h: Removed. + * bindings/v8/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/v8/ScriptCallStack.cpp. + (WebCore::toScriptCallFrame): + (WebCore::toScriptCallFramesVector): + (WebCore::createScriptCallStack): + (WebCore::createScriptArguments): + (WebCore::ScriptCallStack::stackTrace): + * bindings/v8/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp. + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions): + * bindings/v8/ScriptState.h: + (WebCore::ScriptStateProtectedPtr::get): + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::handler): + (WebCore::V8ConsoleMessage::dispatchNow): + * bindings/v8/V8ConsoleMessage.h: + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::traceCallback): + (WebCore::V8Console::assertCallback): + (WebCore::V8Console::profileCallback): + (WebCore::V8Console::profileEndCallback): + * dom/NodeFilter.h: + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::updateRepeatCountInConsole): + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addMessageToConsole): + (WebCore::InspectorController::startGroup): + * inspector/InspectorController.h: + * inspector/ScriptArguments.cpp: Copied from WebCore/bindings/v8/ScriptCallFrame.cpp. + (WebCore::ScriptArguments::ScriptArguments): + (WebCore::ScriptArguments::~ScriptArguments): + (WebCore::ScriptArguments::argumentAt): + (WebCore::ScriptArguments::globalState): + (WebCore::ScriptArguments::getFirstArgumentAsString): + (WebCore::ScriptArguments::isEqual): + * inspector/ScriptArguments.h: Copied from WebCore/bindings/js/ScriptCallFrame.h. + (WebCore::ScriptArguments::argumentCount): + * inspector/ScriptCallFrame.cpp: Renamed from WebCore/bindings/v8/ScriptCallFrame.cpp. + (WebCore::ScriptCallFrame::ScriptCallFrame): + (WebCore::ScriptCallFrame::~ScriptCallFrame): + (WebCore::ScriptCallFrame::isEqual): + (WebCore::ScriptCallFrame::buildInspectorObject): + * inspector/ScriptCallFrame.h: Renamed from WebCore/bindings/js/ScriptCallFrame.h. + (WebCore::ScriptCallFrame::functionName): + (WebCore::ScriptCallFrame::sourceURL): + (WebCore::ScriptCallFrame::lineNumber): + * inspector/ScriptCallStack.cpp: Renamed from WebCore/bindings/js/ScriptCallFrame.cpp. + (WebCore::ScriptCallStack::ScriptCallStack): + (WebCore::ScriptCallStack::~ScriptCallStack): + (WebCore::ScriptCallStack::at): + (WebCore::ScriptCallStack::size): + (WebCore::ScriptCallStack::isEqual): + (WebCore::ScriptCallStack::buildInspectorObject): + * inspector/ScriptCallStack.h: Renamed from WebCore/bindings/js/ScriptCallStack.h. + * page/Console.cpp: + (WebCore::Console::addMessage): + (WebCore::Console::debug): + (WebCore::Console::error): + (WebCore::Console::info): + (WebCore::Console::log): + (WebCore::Console::dir): + (WebCore::Console::dirxml): + (WebCore::Console::trace): + (WebCore::Console::assertCondition): + (WebCore::Console::count): + (WebCore::Console::markTimeline): + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + (WebCore::Console::timeEnd): + (WebCore::Console::group): + (WebCore::Console::groupCollapsed): + (WebCore::Console::shouldCaptureFullStackTrace): + (WebCore::Console::warn): + * page/Console.h: + (WebCore::Console::profiles): + * page/Console.idl: + +2010-11-08 Nikolas Zimmermann + + Not reviewed. Build fix. + + Attempt to fix windows builds after r71512. Swap order of members to avoid warning C4121. + + * svg/properties/SVGStaticPropertyTearOff.h: + (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): + +2010-11-08 Mikhail Naganov + + Unreviewed. Fix Qt build after r71511. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreInspectorStateFromCookie): + +2010-11-08 Nikolas Zimmermann + + Reviewed by Dirk Schulze. + + Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept + https://bugs.webkit.org/show_bug.cgi?id=49067 + + Remove SVGAnimatedPoints interface, not reachable through bindings anyway, it was just another MI interface, that + now has been integrated into SVGPolylineElement/SVGPolygonElement, simplfying the generation and avoiding virtual + calls in SVGPolylineElement/SVGPolygonElement. + + Remove the need to use manual XML <-> SVG DOM synchronization. The points/animatedPoints methods now create + SVGListPropertyTearOffs, thus using the same synchronization/expose-to-bindings concept like all other + animated properties. + + Convert SVGPoint/SVGPointList to use the new SVGPropertyTearOff concept, adapted all code, as SVGPointList + is now a plain Vector. Enable StrictTypeChecking for SVGPoint. + + Test: svg/dom/SVGPoint.html + + * Android.derived.v8bindings.mk: Remove SVGAnimatedPoints (and IDL generation). + * Android.mk: Ditto. + * CMakeLists.txt: Ditto. + * DerivedSources.make: Ditto. + * GNUmakefile.am: Ditto. Add SVGStaticPropertyTearOff.h to build. + * WebCore.gypi: Ditto. + * WebCore.order: Remove SVGAnimatedPoints symbols. + * WebCore.pro: Remove SVGAnimatedPoints (and IDL generation). Add SVGStaticPropertyTearOff.h to build. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * bindings/objc/DOMSVG.h: Remove DOMSVGAnimatedPoints include. + * bindings/scripts/CodeGenerator.pm: Adapt code converting SVGPoint/SVGPointList to use the new SVGPropertyTearOff concepts. + * bindings/scripts/CodeGeneratorJS.pm: Ditto. + * bindings/scripts/CodeGeneratorObjC.pm: Ditto. + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + * rendering/SVGRenderTreeAsText.cpp: Adapt for SVGPolyElement API change, use pointList() instead of points() (which is only used for bindings now). + (WebCore::operator<<): + * svg/SVGAllInOne.cpp: Remove SVGAnimatedPoints.cpp. + * svg/SVGAnimateElement.cpp: Adapt for SVGPointList API change, it's not refcounted anymore. + (WebCore::SVGAnimateElement::calculateAnimatedValue): + (WebCore::SVGAnimateElement::calculateFromAndToValues): + (WebCore::SVGAnimateElement::applyResultsToTarget): + * svg/SVGAnimateElement.h: Ditto. + * svg/SVGAnimatedPoints.cpp: Removed. + * svg/SVGAnimatedPoints.h: Removed. + * svg/SVGAnimatedPoints.idl: Removed. + * svg/SVGParserUtilities.cpp: Adapt for SVGPointList API change, it's not refcounted anymore. + (WebCore::pointsListFromSVGData): + * svg/SVGParserUtilities.h: Ditto. + * svg/SVGPoint.idl: Remove PODType marker, and add StrictTypeChecking for x/y attributes. + * svg/SVGPointList.cpp: SVGPointList is now a plain Vector, rewrite. + (WebCore::SVGPointList::valueAsString): + (WebCore::SVGPointList::createAnimated): + * svg/SVGPointList.h: Ditto. + (WebCore::SVGPointList::SVGPointList): + * svg/SVGPolyElement.cpp: Remove manual SVG <-> XML DOM synchronization. Now handles through the SVGAnimatedPropertyTearOff concept. + (WebCore::SVGPolyElement::parseMappedAttribute): + (WebCore::SVGPolyElement::svgAttributeChanged): + (WebCore::SVGPolyElement::synchronizeProperty): + (WebCore::SVGPolyElement::synchronizePoints): + (WebCore::SVGPolyElement::points): + (WebCore::SVGPolyElement::animatedPoints): + * svg/SVGPolyElement.h: Reindented. + (WebCore::SVGPolyElement::pointList): + (WebCore::SVGPolyElement::isValid): + (WebCore::SVGPolyElement::supportsMarkers): + * svg/SVGPolygonElement.cpp: Adapt for SVGPointList API change. + (WebCore::SVGPolygonElement::toPathData): + * svg/SVGPolygonElement.idl: Remove SVGAnimatedPoints inheritance. + * svg/SVGPolylineElement.cpp: Adapt for SVGPointList API change. + (WebCore::SVGPolylineElement::toPathData): + * svg/SVGPolylineElement.idl: Remove SVGAnimatedPoints inheritance. + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::setCurrentTranslate): Use updateCurrentTranslate(). + (WebCore::SVGSVGElement::updateCurrentTranslate): Added, only used by the bindings, after changing a value of SVGStaticPropertyTearOff object. + * svg/SVGSVGElement.h: + (WebCore::SVGSVGElement::currentTranslate): Return reference to m_translation. + * svg/properties/SVGPropertyTearOff.h: Made constructors protected, as SVGStaticPropertyTearOff inherits from it. + (WebCore::SVGPropertyTearOff::commitChange): + * svg/properties/SVGPropertyTraits.h: Add SVGPointList handing. + * svg/properties/SVGStaticPropertyTearOff.h: Added. Used for SVGProperty types returned by attributes, that are not associated with a SVGAnimatedProperty. (SVGSVGElement::currentTranslate). + (WebCore::SVGStaticPropertyTearOff::create): + (WebCore::SVGStaticPropertyTearOff::commitChange): + (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): + +2010-11-08 Mikhail Naganov + + Reviewed by Adam Barth. + + Web Inspector [Chromium]: Make CPU profiling to survive navigation. + + https://bugs.webkit.org/show_bug.cgi?id=48843 + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::reuseFrontend): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::restoreProfiler): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::startUserInitiatedProfiling): + (WebCore::InspectorController::stopUserInitiatedProfiling): + * inspector/InspectorController.h: + (WebCore::InspectorController::startProfiling): + (WebCore::InspectorController::stopProfiling): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling): + * inspector/InspectorProfilerAgent.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype.hasTemporaryProfile): + (WebInspector.ProfilesPanel.prototype.hasProfile): + * inspector/front-end/inspector.js: + (WebInspector.setRecordingProfile): + +2010-11-08 Renata Hodovan + + Reviewed by Nikolas Zimmermann. + + SVGFEConvolveMatrixElement doesn't support dynamic invalidation + https://bugs.webkit.org/show_bug.cgi?id=47660 + + Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in. + The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach + properly the orderX and orderY components of order property from SVG DOM. + + Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html + + * svg/SVGFEConvolveMatrixElement.cpp: + (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier): + (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier): + * svg/SVGFEConvolveMatrixElement.h: + * svg/svgattrs.in: + +2010-11-08 Adam Barth + + Reviewed by Antti Koivisto. + + Rename CachedResourceLoader::m_doc to CachedResourceLoader::m_document + https://bugs.webkit.org/show_bug.cgi?id=49163 + + The usual convention is to use "document", not "doc" to refer to the + document. + + * css/CSSCursorImageValue.cpp: + (WebCore::CSSCursorImageValue::cachedImage): + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::shouldAllowExternalLoad): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::CachedResourceLoader): + (WebCore::CachedResourceLoader::frame): + (WebCore::CachedResourceLoader::requestImage): + (WebCore::CachedResourceLoader::canRequest): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::printAccessDeniedMessage): + (WebCore::CachedResourceLoader::preload): + (WebCore::CachedResourceLoader::checkForPendingPreloads): + (WebCore::CachedResourceLoader::requestPreload): + * loader/cache/CachedResourceLoader.h: + (WebCore::CachedResourceLoader::document): + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::requestResource): + * loader/loader.cpp: + (WebCore::Loader::load): + (WebCore::Loader::Host::servePendingRequests): + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::docLoaderFunc): + +2010-11-07 Adam Barth + + Unreviewed. Remove some unneeded includes. + + * loader/FrameLoader.cpp: + * loader/PlaceholderDocument.cpp: + +2010-11-07 Adam Barth + + Reviewed by Eric Seidel. + + Rename Cache to MemoryCache + https://bugs.webkit.org/show_bug.cgi?id=49159 + + So sayeth the diagram. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSImageValue.cpp: + * dom/ContainerNode.cpp: + * history/PageCache.cpp: + * inspector/InspectorCSSStore.h: + * inspector/InspectorResourceAgent.cpp: + * loader/FrameLoader.cpp: + * loader/archive/cf/LegacyWebArchive.cpp: + * loader/cache/Cache.cpp: Removed. + * loader/cache/Cache.h: Removed. + * loader/cache/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::allClientsRemoved): + * loader/cache/CachedFont.cpp: + * loader/cache/CachedFont.h: + * loader/cache/CachedImage.cpp: + (WebCore::CachedImage::destroyDecodedData): + * loader/cache/CachedImage.h: + * loader/cache/CachedResource.cpp: + * loader/cache/CachedResource.h: + * loader/cache/CachedResourceLoader.cpp: + * loader/cache/CachedResourceLoader.h: + * loader/cache/CachedScript.cpp: + (WebCore::CachedScript::destroyDecodedData): + * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp. + (WebCore::cache): + (WebCore::MemoryCache::MemoryCache): + (WebCore::MemoryCache::requestResource): + (WebCore::MemoryCache::requestUserCSSStyleSheet): + (WebCore::MemoryCache::revalidateResource): + (WebCore::MemoryCache::revalidationSucceeded): + (WebCore::MemoryCache::revalidationFailed): + (WebCore::MemoryCache::resourceForURL): + (WebCore::MemoryCache::deadCapacity): + (WebCore::MemoryCache::liveCapacity): + (WebCore::MemoryCache::pruneLiveResources): + (WebCore::MemoryCache::pruneDeadResources): + (WebCore::MemoryCache::setCapacities): + (WebCore::MemoryCache::makeResourcePurgeable): + (WebCore::MemoryCache::evict): + (WebCore::MemoryCache::addCachedResourceLoader): + (WebCore::MemoryCache::removeCachedResourceLoader): + (WebCore::MemoryCache::lruListFor): + (WebCore::MemoryCache::removeFromLRUList): + (WebCore::MemoryCache::insertInLRUList): + (WebCore::MemoryCache::resourceAccessed): + (WebCore::MemoryCache::removeFromLiveDecodedResourcesList): + (WebCore::MemoryCache::insertInLiveDecodedResourcesList): + (WebCore::MemoryCache::addToLiveResourcesSize): + (WebCore::MemoryCache::removeFromLiveResourcesSize): + (WebCore::MemoryCache::adjustSize): + (WebCore::MemoryCache::TypeStatistic::addResource): + (WebCore::MemoryCache::getStatistics): + (WebCore::MemoryCache::setDisabled): + (WebCore::MemoryCache::dumpStats): + (WebCore::MemoryCache::dumpLRULists): + * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h. + (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction): + * loader/loader.cpp: + * page/EventSource.cpp: + * page/Settings.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::createRequest): + +2010-11-07 Eric Seidel + + Unreviewed. Attempt to fix the windows build. + + Move the rest of the cache-related files into loader/cache + https://bugs.webkit.org/show_bug.cgi?id=49156 + + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/copyForwardingHeaders.cmd: + +2010-11-07 Eric Seidel + + Reviewed by Adam Barth. + + Move the rest of the cache-related files into loader/cache + https://bugs.webkit.org/show_bug.cgi?id=49156 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * loader/CachePolicy.h: Removed. + * loader/CachedCSSStyleSheet.cpp: Removed. + * loader/CachedCSSStyleSheet.h: Removed. + * loader/CachedFont.cpp: Removed. + * loader/CachedFont.h: Removed. + * loader/CachedImage.cpp: Removed. + * loader/CachedImage.h: Removed. + * loader/CachedResource.cpp: Removed. + * loader/CachedResource.h: Removed. + * loader/CachedResourceClient.h: Removed. + * loader/CachedResourceClientWalker.cpp: Removed. + * loader/CachedResourceClientWalker.h: Removed. + * loader/CachedResourceHandle.cpp: Removed. + * loader/CachedResourceHandle.h: Removed. + * loader/CachedResourceLoader.cpp: Removed. + * loader/CachedResourceLoader.h: Removed. + * loader/CachedScript.cpp: Removed. + * loader/CachedScript.h: Removed. + * loader/CachedXSLStyleSheet.cpp: Removed. + * loader/CachedXSLStyleSheet.h: Removed. + * loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h. + * loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp. + * loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h. + * loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp. + * loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h. + * loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp. + * loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h. + * loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp. + * loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h. + * loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h. + * loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp. + * loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h. + * loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp. + * loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h. + * loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp. + * loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h. + * loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp. + * loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h. + * loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp. + * loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h. + +2010-11-07 Adam Barth + + Reviewed by Eric Seidel. + + Rename X-Purpose to Purpose + https://bugs.webkit.org/show_bug.cgi?id=47802 + + As requested by IETF HTTP WG. This patch is part of a larger movement + in the HTTP community to move away from X- headers. Various senior + folks at the IETF believe they're a failed experiment: + + http://tools.ietf.org/html/draft-saintandre-xdash-considered-harmful + + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): + +2010-11-07 Daniel Bates + + Reviewed by Adam Barth. + + Assert that a non-null PassRefPtr has a non-null frame in Frame::setDocument() + https://bugs.webkit.org/show_bug.cgi?id=49152 + + Add an ASSERT to ensure that a non-null Document has a non-null Frame + in Frame::setDocument(). + + Currently, whenever Frame::setDocument() is called with a non-null + Document the Document has a non-null Frame. We should assert this + invariant. + + * page/Frame.cpp: + (WebCore::Frame::setDocument): + +2010-11-07 Eric Seidel + + Reviewed by Adam Barth. + + Move Cache.* into loader/cache in as a start to cleaning up loader/ + https://bugs.webkit.org/show_bug.cgi?id=49153 + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp. + (WebCore::cache): + (WebCore::Cache::Cache): + (WebCore::createResource): + (WebCore::Cache::requestResource): + (WebCore::Cache::requestUserCSSStyleSheet): + (WebCore::Cache::revalidateResource): + (WebCore::Cache::revalidationSucceeded): + (WebCore::Cache::revalidationFailed): + (WebCore::Cache::resourceForURL): + (WebCore::Cache::deadCapacity): + (WebCore::Cache::liveCapacity): + (WebCore::Cache::pruneLiveResources): + (WebCore::Cache::pruneDeadResources): + (WebCore::Cache::setCapacities): + (WebCore::Cache::makeResourcePurgeable): + (WebCore::Cache::evict): + (WebCore::Cache::addCachedResourceLoader): + (WebCore::Cache::removeCachedResourceLoader): + (WebCore::fastLog2): + (WebCore::Cache::lruListFor): + (WebCore::Cache::removeFromLRUList): + (WebCore::Cache::insertInLRUList): + (WebCore::Cache::resourceAccessed): + (WebCore::Cache::removeFromLiveDecodedResourcesList): + (WebCore::Cache::insertInLiveDecodedResourcesList): + (WebCore::Cache::addToLiveResourcesSize): + (WebCore::Cache::removeFromLiveResourcesSize): + (WebCore::Cache::adjustSize): + (WebCore::Cache::TypeStatistic::addResource): + (WebCore::Cache::getStatistics): + (WebCore::Cache::setDisabled): + (WebCore::Cache::dumpStats): + (WebCore::Cache::dumpLRULists): + * loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h. + (WebCore::Cache::LRUList::LRUList): + (WebCore::Cache::TypeStatistic::TypeStatistic): + (WebCore::Cache::loader): + (WebCore::Cache::disabled): + (WebCore::Cache::setPruneEnabled): + (WebCore::Cache::prune): + (WebCore::Cache::setDeadDecodedDataDeletionInterval): + (WebCore::Cache::deadDecodedDataDeletionInterval): + (WebCore::Cache::remove): + (WebCore::Cache::shouldMakeResourcePurgeableOnEviction): + +2010-11-05 Helder Correia + + Reviewed by Andreas Kling. + + [Qt] box-shadow does not blur (is solid) when using border-radius + https://bugs.webkit.org/show_bug.cgi?id=46327 + + Implement blurred box-shadow when styling with border-radius. + This change is related to https://bugs.webkit.org/show_bug.cgi?id=44488 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + +2010-11-07 John Reck + + Reviewed by Steve Block. + + Implements navigator.language for Android + https://bugs.webkit.org/show_bug.cgi?id=49099 + + Android was previously hardcoding the value for WebCore::platformDefaultLanguage(). + This patch removes the hardcoding and calls into the PlatformBridge to get the + correct language based off of the user's settings. + + No new tests needed, this is already covered + + * Android.mk: + * platform/android/LanguageAndroid.cpp: Added. + (WebCore::platformDefaultLanguage): + * platform/android/PlatformBridge.h: + * platform/android/TemporaryLinkStubs.cpp: + +2010-11-07 Robert Hogan + + Reviewed by Andreas Kling. + + [qt] screenDepthPerComponent returns the wrong value + + Return best estimate of the number of bits per color + rather than screen depth. + + Add a layout test to sanity check screenDepthPerComponent. + + https://bugs.webkit.org/show_bug.cgi?id=20289 + + Test: fast/css/media-rule-screenDepthPerComponent.html + + * platform/qt/PlatformScreenQt.cpp: + (WebCore::screenDepthPerComponent): + +2010-11-07 Chang Shu + + Reviewed by Antonio Gomes. + + Add a helper function to avoid duplicated code. + https://bugs.webkit.org/show_bug.cgi?id=49085 + + * dom/SelectElement.cpp: + * editing/SelectionController.cpp: + (WebCore::SelectionController::modify): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isKeyboardFocusable): + * page/EventHandler.cpp: + (WebCore::EventHandler::defaultArrowEventHandler): + * page/SpatialNavigation.cpp: + (WebCore::isSpatialNavigationEnabled): + * page/SpatialNavigation.h: + +2010-11-06 Pavel Feldman + + Reviewed by Simon Fraser. + + Web Inspector: Some image resources don't display the image when selected in the Resources panel. + https://bugs.webkit.org/show_bug.cgi?id=48935 + + Marked resources loaded from memory cache as finished. + + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache): + +2010-11-06 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: XHR logging is not checked in context menu after browser restart. + https://bugs.webkit.org/show_bug.cgi?id=49133 + + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + +2010-11-06 Ryosuke Niwa + + Unreviewed Windows build fix. + + * editing/EditingAllInOne.cpp: Added EditingStyle.cpp + +2010-11-04 Ryosuke Niwa + + Reviewed by Darin Adler. + + Bug 46335 - Add EditingStyle + https://bugs.webkit.org/show_bug.cgi?id=46335 + + Added EditingStyle to WebCore/editing. This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties, + editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere. + Deployed it in typing styles. + + No new tests are added since this is a refactoring in progress. + + * CMakeLists.txt: Added EditingStyle.cpp + * GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle. + (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle. + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto. + (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto. + * editing/DeleteSelectionCommand.h: + * editing/EditingStyle.cpp: Added. + (WebCore::editingStyleFromComputedStyle): Added. + (WebCore::EditingStyle::EditingStyle): Added. + (WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition. + (WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init. + (WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init. + (WebCore::EditingStyle::isEmpty): Added. + (WebCore::EditingStyle::setStyle): Added. + (WebCore::EditingStyle::clear): Added. + (WebCore::EditingStyle::removeBlockProperties): Added. + (WebCore::EditingStyle::prepareToApplyAt): Added. + (WebCore::editingStyleIncludingTypingStyle): Added. + * editing/EditingStyle.h: Added. + (WebCore::EditingStyle::create): Added. + (WebCore::EditingStyle::style): Added. + * editing/RemoveFormatCommand.cpp: + (WebCore::RemoveFormatCommand::doApply): Uses EditingStyle. + * editing/SelectionController.h: + (WebCore::SelectionController::typingStyle): Uses EditingStyle. + (WebCore::SelectionController::clearTypingStyle): Uses EditingStyle. + (WebCore::SelectionController::setTypingStyle): Uses EditingStyle. + * rendering/style/RenderStyle.h: Added EditingStyle as a friend. + +2010-11-05 David Hyatt + + Reviewed by Dan Bernstein and Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=47237 + + Make selection work with vertical text. This patch fixes a bug in the computation of lineTop. For lines + with positive leading, lineTop was incorrectly including the top leading. Since the flipping of lines + for "lr" and "bt" writing modes involved flipping using lineTop and lineBottom, an incorrect lineTop meant + that those modes were mis-rendering. This is why the Japanese "lr" text examples have the first line smushed + too far against the border. + + Fixing lineTop to no longer incorrectly include top leading has implications for editing. I ended up + rewriting positionForPoint to exactly match selection, since that seemed to be the most intuitive + behavior. I got rid of the verticalClickFudgeFactor and now just use selectionTop and selectionBottom + instead of lineTop and lineBottom. I am pretty sure the code used selectionTop in a previous incarnation + anyway and that I moved away from it when I implemented lineTop and lineBottom. The code then grew + more complicated from people trying to work with lineTop and lineBottom, but going back to selectionTop + and selectionBottom is the right behavior I think. One editing test has been updated after this change + (editing/selection/after-line-break.html), and one DOM test has been changed to not hit test past the + bottom of a line (fast/dom/Document/CaretRangeFromPoint/basic.html). + + I patched selection painting of InlineTextBoxes so that the leading going up to the next line box is used + for "lr" and "bt" modes instead of the previous box. This makes sense for English text, but we may want + a different policy for Japanese text eventually (possibly just splitting the difference instead). Leaving it + this way for now, and we can collect feedback on the design. + + I rewrote all of the selection gap painting code to be writing-mode aware. During the course of rewriting this + code I noticed a bug in the logicalLeftSelectionOffset and logicalRightSelectionOffset functions where there + was a coordinate space mismatch on a comparison. Fixing this improves the repaint/selection-clear.html test. + + Added new tests in fast/blockflow/. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): + * rendering/InlineFlowBox.h: + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionBottom): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintCompositionBackground): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintTextMatchMarker): + * rendering/InlineTextBox.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::selectionGapRectsForRepaint): + (WebCore::RenderBlock::paintSelection): + (WebCore::clipOutPositionedObjects): + (WebCore::blockDirectionOffset): + (WebCore::inlineDirectionOffset): + (WebCore::RenderBlock::logicalRectToPhysicalRect): + (WebCore::RenderBlock::selectionGaps): + (WebCore::RenderBlock::inlineSelectionGaps): + (WebCore::RenderBlock::blockSelectionGaps): + (WebCore::RenderBlock::blockSelectionGap): + (WebCore::RenderBlock::logicalLeftSelectionGap): + (WebCore::RenderBlock::logicalRightSelectionGap): + (WebCore::RenderBlock::logicalLeftSelectionOffset): + (WebCore::RenderBlock::logicalRightSelectionOffset): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::flipForWritingMode): + * rendering/RenderBox.h: + (WebCore::RenderBox::logicalBottom): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): + (WebCore::RootInlineBox::lineSelectionGap): + (WebCore::RootInlineBox::selectionTop): + (WebCore::RootInlineBox::selectionBottom): + * rendering/RootInlineBox.h: + +2010-11-05 Simon Fraser + + Just put things back the way they were. Too many mysterious linker errors. + +2010-11-05 Simon Fraser + + Undo most of the previous commit since the compiler seems to have trouble + with an inlined operator++ in debug builds. + + * platform/DeprecatedPtrListImpl.cpp: + (WebCore::DeprecatedPtrListImplIterator::operator++): + * platform/DeprecatedPtrListImpl.h: + +2010-11-05 Simon Fraser + + Reviewed by Dave Hyatt. + + Inline some DeprecatedPtrListImplIterator methods for performance + https://bugs.webkit.org/show_bug.cgi?id=49124 + + This is a ~4% performance improvement on some Peacekeepr "Community" tests. + + * platform/DeprecatedPtrListImpl.cpp: + * platform/DeprecatedPtrListImpl.h: + (WebCore::DeprecatedListNode::DeprecatedListNode): + (WebCore::DeprecatedPtrListImplIterator::current): + (WebCore::DeprecatedPtrListImplIterator::operator++): + +2010-11-05 Adam Barth + + Reviewed by Eric Seidel. + + Gray-scale PNGs with color profiles don't decode properly on Chromium Mac + https://bugs.webkit.org/show_bug.cgi?id=49110 + + Applying the color profile from this PNG was causing the image to + triple in width. This seems to be because both the PNG decoder and + CoreGraphics were trying to expand the gray-scale image to RGB. To fix + this issue, I've disabled color profile support for gray-scale PNGs. + + Test: fast/images/gray-scale-png-with-color-profile.html + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::headerAvailable): + +2010-11-05 Jian Li + + Reviewed by Dmitry Titov. + + Need to check if page is detached in Frame::transferChildFrameToNewDocument to avoid occasional crash + https://bugs.webkit.org/show_bug.cgi?id=49116 + + The fix is to add the check. + + * page/Frame.cpp: + (WebCore::Frame::transferChildFrameToNewDocument): + +2010-11-04 Enrica Casucci + + Reviewed by Adele Peterson. + + Pasting large amounts of plain text in a text area is very slow + https://bugs.webkit.org/show_bug.cgi?id=49040 + + + The optimization consists in skipping the ApplyStyle command when + pasting into a text area or into an element that has -webkit-user-modify: read-write-plaintext-only. + The biggest performance hit comes from iterating through + a large number of paragraph when no style change is needed. + A further step will be to improve the paragraph iteration when it + can't be avoided. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): Check if the selection + is in a text form control or in an element that has -webkit-user-modify: read-write-plaintext-only + and force no style matching. + +2010-11-05 Ryosuke Niwa + + Reviewed by David Levin. + + JSCallbackData::invokeCallback triggers layout from a worker thread + https://bugs.webkit.org/show_bug.cgi?id=49096 + + Fixed the bug by only calling updateStyleForAllDocuments when the context is document in + JSCallbackData::invokeCallback. + + No new tests are added since many of existing workers tests hit the added assertion in debug builds. + + * bindings/js/JSCallbackData.cpp: + (WebCore::JSCallbackData::invokeCallback): No longer calls updateStyleForAllDocuments unconditionally. + * dom/Document.cpp: + (WebCore::Document::updateStyleIfNeeded): Added ASSERT(isMainThread()). + (WebCore::Document::updateStyleForAllDocuments): Ditto. + (WebCore::Document::updateLayout): Ditto. + +2010-11-05 Ilya Sherman + + Reviewed by Simon Fraser. + + Querying selection start and end should be const + https://bugs.webkit.org/show_bug.cgi?id=48786 + + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::selectionStart): + (WebCore::RenderTextControl::selectionEnd): + (WebCore::RenderTextControl::visiblePositionForIndex): + (WebCore::RenderTextControl::indexForVisiblePosition): + * rendering/RenderTextControl.h: + +2010-11-05 Chris Marrin + + Reviewed by Simon Fraser. + + Move resumeAnimations/suspendAnimations from Frame to AnimationController. + https://bugs.webkit.org/show_bug.cgi?id=49073 + + Changed the name of suspendAnimations/resumeAnimations to + suspendAnimationsInDocument/resumeAnimationsInDocument. These are no + longer exported, but have the same functionality as before. I then + added new suspendAnimations/resumeAnimations function which take + no params and suspend/resume on the frame owning the animation + controller and all its child frames. These are the functions that + are now exported. I then changed all the platform specific WebKit + code to use these functions. + + * WebCore.exp.in: + * page/Frame.cpp: + * page/Frame.h: + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::suspendAnimations): + (WebCore::AnimationControllerPrivate::resumeAnimations): + +2010-11-04 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter + https://bugs.webkit.org/show_bug.cgi?id=49020 + + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::getAttachment): Return the attached renderbuffer/texture. + (WebCore::WebGLFramebuffer::isIncomplete): Add an extra parameter deciding whether we should check internal format matching the attachment point or not. + (WebCore::WebGLFramebuffer::onAccess): Pass extra parameter in isIncomplete. + * html/canvas/WebGLFramebuffer.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::checkFramebufferStatus): Pass extra parameter in isIncomplete. + (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Emulate DEPTH_STENCIL_ATTACHMENT; re-attach previously conflicted buffers upon detachment. + (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Throw an error when conflicted attachments exist. + (WebCore::WebGLRenderingContext::renderbufferStorage): Map DEPTH_STENCIL to DEPTH24_STENCIL8. + * platform/graphics/Extensions3D.h: Add DEPTH24_STENCIL8 enum and update the documentation. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::framebufferRenderbuffer): Remove emulation code at this level. + +2010-11-05 Chris Guillory + + Reviewed by Chris Fleizach. + + Keep a reference to the scrollbar in accessibility scrollbar. + https://bugs.webkit.org/show_bug.cgi?id=48896 + + * accessibility/AccessibilityScrollbar.h: + (WebCore::AccessibilityScrollbar::scrollbar): + +2010-11-05 Chang Shu + + Reviewed by Antonio Gomes. + + Add support for