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 . https://bugs.webkit.org/show_bug.cgi?id=45803 Increasing the value with Up/Right arrow keys by its step value, and decreasing with Down/Left arrow keys. If an input element has step=any attribute, increasing/decreasing by 1/100 of max-min. Note: This change is not useful on Mac because users can't set focus on range controls. Test: fast/forms/range-keyoperation.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Calls handleKeyEventForRange() for RANGE and key events. (WebCore::HTMLInputElement::handleKeyEventForRange): * html/HTMLInputElement.h: Add handleKeyEventForRange() declaration. 2010-09-22 Mario Sanchez Prada Reviewed by Chris Fleizach. [Gtk] Incorrect exposure of list items whose children are elements https://bugs.webkit.org/show_bug.cgi?id=45383 Set ATK_ROLE_LIST_ITEM looking for the role of the parent object Test: platform/gtk/accessibility/list-items-always-exposed.html * accessibility/gtk/AccessibilityObjectAtk.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Always include objects with ListItemRole in accessibility for GTK. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (getInterfaceMaskFromObject): Add some specific code to handle the special case of list markers by implementing AtkText when needed. 2010-09-22 Dirk Schulze Reviewed by Nikolas Zimmermann. Make FilterEffects independent of SVG https://bugs.webkit.org/show_bug.cgi?id=46177 Moving all FilterEffects from svg/graphics/filters to platform/graphics/filters, now that they are independent of SVG. Removed the SVG prefix of the files and updated the headers. * Android.mk: * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/filters/DistantLightSource.h: Copied from WebCore/svg/graphics/filters/SVGDistantLightSource.h. * platform/graphics/filters/FEConvolveMatrix.cpp: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp. * platform/graphics/filters/FEConvolveMatrix.h: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h. * platform/graphics/filters/FEDiffuseLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp. * platform/graphics/filters/FEDiffuseLighting.h: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h. * platform/graphics/filters/FEDisplacementMap.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp. * platform/graphics/filters/FEDisplacementMap.h: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.h. * platform/graphics/filters/FEFlood.cpp: Copied from WebCore/svg/graphics/filters/SVGFEFlood.cpp. * platform/graphics/filters/FEFlood.h: Copied from WebCore/svg/graphics/filters/SVGFEFlood.h. * platform/graphics/filters/FELighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFELighting.cpp. * platform/graphics/filters/FELighting.h: Copied from WebCore/svg/graphics/filters/SVGFELighting.h. * platform/graphics/filters/FEMerge.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMerge.cpp. * platform/graphics/filters/FEMerge.h: Copied from WebCore/svg/graphics/filters/SVGFEMerge.h. * platform/graphics/filters/FEMorphology.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.cpp. * platform/graphics/filters/FEMorphology.h: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.h. * platform/graphics/filters/FEOffset.cpp: Copied from WebCore/svg/graphics/filters/SVGFEOffset.cpp. * platform/graphics/filters/FEOffset.h: Copied from WebCore/svg/graphics/filters/SVGFEOffset.h. * platform/graphics/filters/FESpecularLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp. * platform/graphics/filters/FESpecularLighting.h: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.h. * platform/graphics/filters/FETile.cpp: Copied from WebCore/svg/graphics/filters/SVGFETile.cpp. * platform/graphics/filters/FETile.h: Copied from WebCore/svg/graphics/filters/SVGFETile.h. * platform/graphics/filters/FETurbulence.cpp: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.cpp. * platform/graphics/filters/FETurbulence.h: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.h. * platform/graphics/filters/LightSource.cpp: Copied from WebCore/svg/graphics/filters/SVGLightSource.cpp. * platform/graphics/filters/LightSource.h: Copied from WebCore/svg/graphics/filters/SVGLightSource.h. * platform/graphics/filters/PointLightSource.h: Copied from WebCore/svg/graphics/filters/SVGPointLightSource.h. * platform/graphics/filters/SpotLightSource.h: Copied from WebCore/svg/graphics/filters/SVGSpotLightSource.h. * svg/SVGFEConvolveMatrixElement.h: * svg/SVGFEDiffuseLightingElement.cpp: * svg/SVGFEDisplacementMapElement.h: * svg/SVGFEDistantLightElement.cpp: * svg/SVGFEFloodElement.h: * svg/SVGFELightElement.h: * svg/SVGFEMergeElement.h: * svg/SVGFEMorphologyElement.h: * svg/SVGFEOffsetElement.h: * svg/SVGFEPointLightElement.cpp: * svg/SVGFESpecularLightingElement.h: * svg/SVGFESpotLightElement.cpp: * svg/SVGFETileElement.h: * svg/SVGFETurbulenceElement.h: * svg/graphics/filters/SVGDistantLightSource.h: Removed. * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Removed. * svg/graphics/filters/SVGFEConvolveMatrix.h: Removed. * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Removed. * svg/graphics/filters/SVGFEDiffuseLighting.h: Removed. * svg/graphics/filters/SVGFEDisplacementMap.cpp: Removed. * svg/graphics/filters/SVGFEDisplacementMap.h: Removed. * svg/graphics/filters/SVGFEFlood.cpp: Removed. * svg/graphics/filters/SVGFEFlood.h: Removed. * svg/graphics/filters/SVGFELighting.cpp: Removed. * svg/graphics/filters/SVGFELighting.h: Removed. * svg/graphics/filters/SVGFEMerge.cpp: Removed. * svg/graphics/filters/SVGFEMerge.h: Removed. * svg/graphics/filters/SVGFEMorphology.cpp: Removed. * svg/graphics/filters/SVGFEMorphology.h: Removed. * svg/graphics/filters/SVGFEOffset.cpp: Removed. * svg/graphics/filters/SVGFEOffset.h: Removed. * svg/graphics/filters/SVGFESpecularLighting.cpp: Removed. * svg/graphics/filters/SVGFESpecularLighting.h: Removed. * svg/graphics/filters/SVGFETile.cpp: Removed. * svg/graphics/filters/SVGFETile.h: Removed. * svg/graphics/filters/SVGFETurbulence.cpp: Removed. * svg/graphics/filters/SVGFETurbulence.h: Removed. * svg/graphics/filters/SVGLightSource.cpp: Removed. * svg/graphics/filters/SVGLightSource.h: Removed. * svg/graphics/filters/SVGPointLightSource.h: Removed. * svg/graphics/filters/SVGSpotLightSource.h: Removed. 2010-09-22 Patrick Gansterer Reviewed by Adam Roben. [WIN] Add internetHandle to WebCoreSynchronousLoader. https://bugs.webkit.org/show_bug.cgi?id=46185 For loading content via network the WebCoreSynchronousLoader needs its own (synchronous) internetHandle. This also adds asynchronousInternetHandle() to create a static asynchronous internetHandle. * platform/network/win/ResourceHandleWin.cpp: (WebCore::createInternetHandle): (WebCore::asynchronousInternetHandle): (WebCore::WebCoreSynchronousLoader::internetHandle): (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Create synchronous internetHandle. (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Delete synchronous internetHandle. 2010-09-22 Kwang Yul Seo Reviewed by Chris Fleizach. [chromium] Remove unused sys/types.h in VDMXParser.cpp https://bugs.webkit.org/show_bug.cgi?id=46136 sys/types.h is not needed here. * platform/graphics/chromium/VDMXParser.cpp: 2010-09-22 Kwang Yul Seo Reviewed by Kent Tamura. [BREWMP] Change the home directory path to the WebKit module directory https://bugs.webkit.org/show_bug.cgi?id=45895 AEEFS_HOME_DIR denotes the currently running application's directory. Change it to fs:/~ to use the WebKit module directory as home. * platform/brew/FileSystemBrew.cpp: (WebCore::homeDirectoryPath): 2010-09-22 Kwang Yul Seo Reviewed by Kent Tamura. [BREWMP] Add dummy Pasteboard https://bugs.webkit.org/show_bug.cgi?id=46107 Pasteboard is not supported yet. Add dummy implementation to avoid link errors. * platform/brew/PasteboardBrew.cpp: Added. (WebCore::Pasteboard::generalPasteboard): (WebCore::Pasteboard::Pasteboard): (WebCore::Pasteboard::clear): (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL): (WebCore::Pasteboard::writeImage): (WebCore::Pasteboard::canSmartReplace): (WebCore::Pasteboard::plainText): (WebCore::Pasteboard::documentFragment): 2010-09-21 Ryosuke Niwa Reviewed by Kent Tamura. Each EntityMaskIn* needs explanation https://bugs.webkit.org/show_bug.cgi?id=44833 Added a description as to why we escape nbsp when serializing HTML documents but not when serializing XML documents. * editing/markup.cpp: 2010-09-21 Ryosuke Niwa Reviewed by Kent Tamura. cleanup: removeInlineStyleFromElement and extractInlineStyleToPushDown should be merged https://bugs.webkit.org/show_bug.cgi?id=46205 Cleanup required to fix the bug 27818. Added the style extraction mechanism to removeInlineStyleFromElement and removeCSSStyle and replaced the call to extractInlineStyleToPushDown by a call to removeInlineStyleFromElement. * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added extractedStyle argument. (WebCore::ApplyStyleCommand::removeCSSStyle): Added extractedStyle argument. (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement instead of extractInlineStyleToPushDown which has been deleted. * editing/ApplyStyleCommand.h: 2010-09-21 Andrew Wilson Unreviewed, rolling out r67982. http://trac.webkit.org/changeset/67982 https://bugs.webkit.org/show_bug.cgi?id=45156 Causes crashes on chromium testshell * WebCore.gypi: * accessibility/chromium/AXObjectCacheChromium.cpp: (WebCore::AXObjectCache::postPlatformNotification): (WebCore::AXObjectCache::handleFocusedUIElementChanged): (WebCore::AXObjectCache::handleScrolledToAnchor): * dom/Document.cpp: (WebCore::Document::implicitClose): (WebCore::Document::setFocusedNode): * editing/SelectionController.h: * editing/chromium/SelectionControllerChromium.cpp: Removed. * page/FrameView.cpp: (WebCore::FrameView::layout): * page/chromium/ChromeClientChromium.h: 2010-09-21 Cosmin Truta Reviewed by James Robinson. RenderImage::intrinsicSizeChanged crashes when m_imageResource is missing https://bugs.webkit.org/show_bug.cgi?id=46120 Avoid applying operator -> to m_imageResource when its underlying pointer is NULL. * rendering/RenderImage.h: (WebCore::RenderImage::intrinsicSizeChanged): Checked m_imageResource. * html/HTMLImageElement.cpp: (HTMLImageElement::createRenderer): Fixed indentation. 2010-09-21 Kenneth Russell Reviewed by James Robinson. [chromium] Remove GLES2Context and WebGLES2Context https://bugs.webkit.org/show_bug.cgi?id=46131 Removed now-obsolete GLES2Context and WebGLES2Context classes, and dependency on command buffer client code from WebCore. Built and tested 3D CSS and WebGL content on Mac OS X to test. * WebCore.gypi: * platform/chromium/GLES2Context.h: Removed. * platform/graphics/skia/ImageSkia.cpp: 2010-09-21 Geoffrey Garen Try to fix the Windows build. * loader/Cache.cpp: (WebCore::Cache::makeResourcePurgeable): (WebCore::Cache::evict): Cast to int before using unary '-', to avoid an MSVC warning. 2010-09-21 Pratik Solanki Reviewed by Geoffrey Garen and Darin Adler. Use purgeable memory to keep more dead resources in cache https://bugs.webkit.org/show_bug.cgi?id=44806 This changes the behavior of dead resources in the WebCore cache to be the following if shouldMakeResourcePurgeableOnEviction() returns true. 1. Dead resources in the cache are kept in non-purgeable memory. 2. When we prune dead resources, instead of freeing them, we mark their memory as purgeable and keep the resources until the kernel reclaims the purgeable memory. By leaving the in-cache dead resources in dirty resident memory, we decrease the likelihood of the kernel claiming that memory and forcing us to refetch the resource (for example when a user presses back). And by having an unbounded number of resource objects using purgeable memory, we can use as much memory as is available on the machine. The trade-off is that the CachedResource object (and its member variables) are allocated in non-purgeable TC-malloc'd memory so we would see slightly more memory use due to this. * loader/Cache.cpp: (WebCore::Cache::resourceForURL): Adjust sizes appropriately if we made resource memory non-purgeable. (WebCore::Cache::pruneDeadResources): When removing dead resources, try first to mark their memory as purgeable. If not, evict the resource. (WebCore::Cache::makeResourcePurgeable): Added. Try to mark resource memory as purgeable. If successful, adjust the sizes so that we don't factor this resources size in the Cache size calculation. (WebCore::Cache::evict): Don't decrement size if we already did it in makeResourcePurgeable. (WebCore::Cache::dumpLRULists): Extra debug logging. * loader/Cache.h: (WebCore::Cache::shouldMakeResourcePurgeableOnEviction): Added. Indicates if the new behaviour is enabled. * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::allClientsRemoved): Do not mark memory as purgeable. The Cache class takes care of this. * loader/CachedImage.cpp: (WebCore::CachedImage::destroyDecodedData): Ditto. * loader/CachedScript.cpp: (WebCore::CachedScript::destroyDecodedData): Ditto. 2010-09-21 Dan Bernstein Reviewed by Darin Adler. Extending the selection to sentence boundary after a line break may select extra character https://bugs.webkit.org/show_bug.cgi?id=46232 Test: editing/selection/extend-by-sentence-002.html * editing/visible_units.cpp: (WebCore::nextBoundary): The text iterator’s range end can be the position after the line break, in which case the next visible is actually after the first character of the next sentence. Instead, advance the text iterator past the newline character and return the beginning of its range, which is guaranteed to still be before the next sentence. 2010-09-21 Robert Hogan Rubber-stamped by Ariya Hidayat. [Qt] Build fix against qt trunk * platform/graphics/qt/ContextShadow.cpp: (WebCore::ContextShadow::beginShadowLayer): 2010-09-21 Tony Chang Unreviewed, QT build fix. * platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::ClipboardQt): 2010-09-21 Andy Estes Reviewed by Darin Adler. REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen https://bugs.webkit.org/show_bug.cgi?id=46134 * WebCore.exp.in: Export __ZN7WebCore32applicationIsAOLInstantMessengerEv. * platform/mac/RuntimeApplicationChecks.h: * platform/mac/RuntimeApplicationChecks.mm: (WebCore::applicationIsAOLInstantMessenger): Determine if the embedding application is AOL Instant Messenger by checking the bundle identifier. 2010-09-21 Chris Guillory Reviewed by Chris Fleizach. Send webkit accessibility notifications to Chromium. https://bugs.webkit.org/show_bug.cgi?id=45156 * WebCore.gypi: * accessibility/chromium/AXObjectCacheChromium.cpp: (WebCore::AXObjectCache::postPlatformNotification): (WebCore::AXObjectCache::handleFocusedUIElementChanged): (WebCore::AXObjectCache::handleScrolledToAnchor): * dom/Document.cpp: (WebCore::Document::implicitClose): (WebCore::Document::setFocusedNode): * editing/SelectionController.h: * editing/chromium/SelectionControllerChromium.cpp: Added. (WebCore::SelectionController::notifyAccessibilityForSelectionChange): * page/FrameView.cpp: (WebCore::FrameView::layout): * page/chromium/ChromeClientChromium.h: 2010-09-21 Alejandro G. Castro Reviewed by Martin Robinson. [gtk] Move copyContextProperties outside the GraphicsContextCairo https://bugs.webkit.org/show_bug.cgi?id=46179. Moved the copyContextProperties function to the CairoUtilities so we can use it outside GraphicsContextCairo. We moved also the old gtk CairoUtilities file to GdkCairoUtilities and added the new file in the cairo directory. * GNUmakefile.am: * platform/graphics/cairo/CairoUtilities.cpp: Added. (WebCore::copyContextProperties): * platform/graphics/cairo/CairoUtilities.h: Added. * platform/graphics/cairo/GraphicsContextCairo.cpp: * platform/graphics/gtk/CairoUtilities.cpp: Removed. * platform/graphics/gtk/CairoUtilities.h: Removed. * platform/graphics/gtk/GdkCairoUtilities.cpp: Added. (getCairoSurfacePixel): (getGdkPixbufPixel): (cairoImageSurfaceToGdkPixbuf): * platform/graphics/gtk/GdkCairoUtilities.h: Added. * platform/graphics/gtk/ImageBufferGtk.cpp: * platform/graphics/gtk/ImageGtk.cpp: 2010-09-21 Vangelis Kokkevis Reviewed by James Robinson. [chromium] Cleaned up LayerRendererChromium::prepareToDrawLayers logic to avoid unnecessary copy operations if the existing root layer contents aren't useful for scrolling. Also removed call to updateLayersRecursive() as the composited layer update is actually happening in the drawLayers() method. https://bugs.webkit.org/show_bug.cgi?id=46199 * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::prepareToDrawLayers): 2010-09-21 Daniel Cheng Reviewed by Tony Chang. Change Clipboard to use an enum instead of isForDragging = true/false https://bugs.webkit.org/show_bug.cgi?id=46004 No new tests, since it's just a refactoring change. * bindings/js/JSClipboardCustom.cpp: (WebCore::JSClipboard::setDragImage): * bindings/v8/custom/V8ClipboardCustom.cpp: (WebCore::V8Clipboard::setDragImageCallback): * dom/Clipboard.cpp: (WebCore::Clipboard::Clipboard): (WebCore::Clipboard::setDropEffect): (WebCore::Clipboard::setEffectAllowed): * dom/Clipboard.h: (WebCore::Clipboard::isForCopyAndPaste): (WebCore::Clipboard::isForDragAndDrop): * editing/android/EditorAndroid.cpp: (WebCore::Editor::newGeneralClipboard): * editing/brew/EditorBrew.cpp: (WebCore::Editor::newGeneralClipboard): * editing/chromium/EditorChromium.cpp: (WebCore::Editor::newGeneralClipboard): * editing/haiku/EditorHaiku.cpp: (WebCore::Editor::newGeneralClipboard): * editing/mac/EditorMac.mm: (WebCore::Editor::newGeneralClipboard): * editing/wx/EditorWx.cpp: (WebCore::Editor::newGeneralClipboard): * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::createDraggingClipboard): * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::createDraggingClipboard): * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::createDraggingClipboard): * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::createDraggingClipboard): * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::createDraggingClipboard): * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::createDraggingClipboard): * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::createDraggingClipboard): * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::createDraggingClipboard): * platform/android/ClipboardAndroid.cpp: (WebCore::ClipboardAndroid::ClipboardAndroid): (WebCore::ClipboardAndroid::clearData): (WebCore::ClipboardAndroid::clearAllData): (WebCore::ClipboardAndroid::setData): * platform/android/ClipboardAndroid.h: * platform/brew/ClipboardBrew.cpp: (WebCore::ClipboardBrew::ClipboardBrew): (WebCore::ClipboardBrew::clearData): (WebCore::ClipboardBrew::clearAllData): (WebCore::ClipboardBrew::setData): * platform/brew/ClipboardBrew.h: * platform/chromium/ClipboardChromium.cpp: (WebCore::Clipboard::create): (WebCore::ClipboardChromium::ClipboardChromium): (WebCore::ClipboardChromium::create): (WebCore::ClipboardChromium::getData): * platform/chromium/ClipboardChromium.h: * platform/efl/ClipboardEfl.cpp: (WebCore::Editor::newGeneralClipboard): (WebCore::ClipboardEfl::ClipboardEfl): * platform/efl/ClipboardEfl.h: (WebCore::ClipboardEfl::create): * platform/gtk/ClipboardGtk.cpp: (WebCore::Editor::newGeneralClipboard): (WebCore::Clipboard::create): (WebCore::ClipboardGtk::ClipboardGtk): (WebCore::dataObjectTypeFromHTMLClipboardType): (WebCore::ClipboardGtk::clearData): (WebCore::ClipboardGtk::getData): (WebCore::ClipboardGtk::setData): * platform/gtk/ClipboardGtk.h: (WebCore::ClipboardGtk::create): * platform/haiku/ClipboardHaiku.cpp: (WebCore::Clipboard::create): (WebCore::ClipboardHaiku::ClipboardHaiku): * platform/haiku/ClipboardHaiku.h: (WebCore::ClipboardHaiku::create): * platform/mac/ClipboardMac.h: (WebCore::ClipboardMac::create): * platform/mac/ClipboardMac.mm: (WebCore::Clipboard::create): (WebCore::ClipboardMac::ClipboardMac): * platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::ClipboardQt): (WebCore::ClipboardQt::~ClipboardQt): (WebCore::ClipboardQt::clearData): (WebCore::ClipboardQt::clearAllData): (WebCore::ClipboardQt::setData): (WebCore::ClipboardQt::declareAndWriteDragImage): (WebCore::ClipboardQt::writeURL): (WebCore::ClipboardQt::writeRange): (WebCore::ClipboardQt::writePlainText): * platform/qt/ClipboardQt.h: (WebCore::ClipboardQt::create): * platform/win/ClipboardWin.cpp: (WebCore::Clipboard::create): (WebCore::ClipboardWin::ClipboardWin): (WebCore::ClipboardWin::clearData): (WebCore::ClipboardWin::clearAllData): (WebCore::ClipboardWin::setData): (WebCore::ClipboardWin::setExternalDataObject): * platform/win/ClipboardWin.h: (WebCore::ClipboardWin::create): * platform/win/EditorWin.cpp: (WebCore::Editor::newGeneralClipboard): * platform/wx/ClipboardWx.cpp: (WebCore::ClipboardWx::ClipboardWx): * platform/wx/ClipboardWx.h: (WebCore::ClipboardWx::create): 2010-09-21 Abhishek Arya Reviewed by Dave Hyatt. Take isValueList() checks out of the asserts for memory safety. https://bugs.webkit.org/show_bug.cgi?id=46194 Test: editing/execCommand/apply-style-text-decoration-crash.html * editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::extractTextStyles): (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): 2010-09-21 Vangelis Kokkevis Reviewed by Kenneth Russell. [chromium] Fixing double translation of composited layers when scrolling. The scrolling transform is now applied by a separate layer maintained in the RenderLayerCompositor. https://bugs.webkit.org/show_bug.cgi?id=46193 * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::drawLayers): 2010-09-21 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46196, add marginStart/Before/End/After accessors to RenderBoxModelObject. * rendering/RenderBox.cpp: (WebCore::RenderBox::marginBefore): (WebCore::RenderBox::marginAfter): (WebCore::RenderBox::marginStart): (WebCore::RenderBox::marginEnd): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.h: * rendering/RenderInline.cpp: (WebCore::computeMargin): (WebCore::RenderInline::marginLeft): (WebCore::RenderInline::marginRight): (WebCore::RenderInline::marginTop): (WebCore::RenderInline::marginBottom): (WebCore::RenderInline::marginStart): (WebCore::RenderInline::marginEnd): * rendering/RenderInline.h: (WebCore::RenderInline::marginBefore): (WebCore::RenderInline::marginAfter): 2010-09-21 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46190, add borderStart/Before/End/After accessors to RenderBoxModelObject. * rendering/RenderBoxModelObject.h: (WebCore::RenderBoxModelObject::borderBefore): (WebCore::RenderBoxModelObject::borderAfter): (WebCore::RenderBoxModelObject::borderStart): (WebCore::RenderBoxModelObject::borderEnd): (WebCore::RenderBoxModelObject::borderAndPaddingLogicalHeight): (WebCore::RenderBoxModelObject::borderAndPaddingLogicalWidth): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::borderStart): (WebCore::RenderTableCell::borderEnd): (WebCore::RenderTableCell::borderBefore): (WebCore::RenderTableCell::borderAfter): * rendering/RenderTableCell.h: 2010-09-21 Martin Robinson Reviewed by Xan Lopez. [GTK] 'make dist' should be fixed in preparation for the next release https://bugs.webkit.org/show_bug.cgi?id=46129 * GNUmakefile.am: Update the sources list to include missing headers. 2010-09-21 David Hyatt Reviewed by John Sullivan. https://bugs.webkit.org/show_bug.cgi?id=46188, make the cross-platform setPrinting method match the Mac version of the method. Specifically don't pass the page size down to subframes of the one you're printing. * page/Frame.cpp: (WebCore::Frame::setPrinting): 2010-09-21 Patrick Gansterer Reviewed by Adam Roben. Use WTF::Vector for storing formData in ResourceHandleWin. https://bugs.webkit.org/show_bug.cgi?id=46180 * platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): * platform/network/win/ResourceHandleWin.cpp: (WebCore::ResourceHandle::onHandleCreated): (WebCore::ResourceHandle::onRequestComplete): 2010-09-21 Jocelyn Turcotte Reviewed by Andreas Kling. [Qt] Check if the reply has been deleted before finishing a network request https://bugs.webkit.org/show_bug.cgi?id=46174 A crash can happen with the following sequence: 1. QNetworkReplyHandler::abort() emits reply->deleteLater() 2. QNAM emits QNetworkReply::finished() -> calls QNetworkReplyHandler::finish() 3. event loop would call reply->deleteLater() However a crash occurs since m_reply == 0 on step 2. * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::finish): 2010-09-21 Jochen Eisinger Reviewed by Jeremy Orlow. Use @ to concatenate the database name and the database identifier when building the filename to use for indexed databases. That character is valid for filenames but cannot occur in a database identifier derived from a security origin. https://bugs.webkit.org/show_bug.cgi?id=46178 * storage/IDBFactoryBackendImpl.cpp: (WebCore::IDBFactoryBackendImpl::databaseFileName): 2010-09-21 Steve Block Reviewed by Jeremy Orlow. DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods https://bugs.webkit.org/show_bug.cgi?id=45891 Tested by existing DeviceOrientation tests. * dom/DeviceMotionClient.h: * dom/DeviceMotionController.cpp: (WebCore::DeviceMotionController::~DeviceMotionController): * dom/DeviceMotionController.h: * dom/DeviceOrientationClient.h: * dom/DeviceOrientationController.cpp: (WebCore::DeviceOrientationController::~DeviceOrientationController): * dom/DeviceOrientationController.h: * loader/EmptyClients.h: (WebCore::EmptyDeviceMotionClient::deviceOrientationControllerDestroyed): (WebCore::EmptyDeviceOrientationClient::deviceOrientationControllerDestroyed): * platform/mock/DeviceOrientationClientMock.h: (WebCore::DeviceOrientationClientMock::deviceOrientationControllerDestroyed): 2010-09-21 Jochen Eisinger Reviewed by Jeremy Orlow. Factor out the file name used for a given indexed database to a static method. https://bugs.webkit.org/show_bug.cgi?id=46090 * storage/IDBFactoryBackendImpl.cpp: (WebCore::openSQLiteDatabase): (WebCore::IDBFactoryBackendImpl::databaseFileName): * storage/IDBFactoryBackendImpl.h: 2010-09-21 Dirk Schulze SVG Filter cleanup https://bugs.webkit.org/show_bug.cgi?id=45612 Unreviewed change of epsilon back to a more tolerant value in RenderTreeAsText and made it a static const. This should turn the bots green again. * rendering/RenderTreeAsText.cpp: (WebCore::hasFractions): 2010-09-21 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46125, convert table cell intrinsic padding from top/bottom-based to before/after-based. A vertical text table can have intrinsic padding built into the left/right direction (and this allows the base class logical padding methods on RenderBoxModelObject to be safe to use). * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): (WebCore::RenderTableCell::paddingTop): (WebCore::RenderTableCell::paddingBottom): (WebCore::RenderTableCell::paddingLeft): (WebCore::RenderTableCell::paddingRight): (WebCore::RenderTableCell::paddingBefore): (WebCore::RenderTableCell::paddingAfter): * rendering/RenderTableCell.h: (WebCore::RenderTableCell::setIntrinsicPaddingBefore): (WebCore::RenderTableCell::setIntrinsicPaddingAfter): (WebCore::RenderTableCell::setIntrinsicPadding): (WebCore::RenderTableCell::intrinsicPaddingBefore): (WebCore::RenderTableCell::intrinsicPaddingAfter): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): * rendering/RenderTreeAsText.cpp: (WebCore::RenderTreeAsText::writeRenderObject): (WebCore::writeTextRun): 2010-09-21 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG Filter cleanup https://bugs.webkit.org/show_bug.cgi?id=45612 Second cleanup patch. Modified files to follow webkit style. Removed dependencies to SVG of most of the filter effects and prepared them to move from WebCore/svg/graphics/filters to WebCore/platform/graphics/filters/. Renamed calculateDrawingIntRect and calculateDrawingRect to requestedRegionOfInputImageData and drawingRegionOfInputImage to clarify the functionality and make both functions distinguishable. * platform/graphics/filters/FEBlend.cpp: (WebCore::FEBlend::apply): * platform/graphics/filters/FEBlend.h: * platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::apply): * platform/graphics/filters/FEColorMatrix.h: * platform/graphics/filters/FEComponentTransfer.cpp: (WebCore::FEComponentTransfer::apply): * platform/graphics/filters/FEComponentTransfer.h: (WebCore::ComponentTransferFunction::ComponentTransferFunction): * platform/graphics/filters/FEComposite.cpp: (WebCore::FEComposite::apply): * platform/graphics/filters/FEComposite.h: * platform/graphics/filters/FEGaussianBlur.cpp: (WebCore::FEGaussianBlur::apply): * platform/graphics/filters/FEGaussianBlur.h: * platform/graphics/filters/Filter.h: * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::requestedRegionOfInputImageData): (WebCore::FilterEffect::drawingRegionOfInputImage): (WebCore::FilterEffect::effectContext): * platform/graphics/filters/FilterEffect.h: * platform/graphics/filters/ImageBufferFilter.cpp: * platform/graphics/filters/ImageBufferFilter.h: * platform/graphics/filters/SourceAlpha.cpp: (WebCore::SourceAlpha::apply): * platform/graphics/filters/SourceAlpha.h: (WebCore::SourceAlpha::isSourceInput): (WebCore::SourceAlpha::SourceAlpha): * platform/graphics/filters/SourceGraphic.cpp: (WebCore::SourceGraphic::apply): * platform/graphics/filters/SourceGraphic.h: (WebCore::SourceGraphic::isSourceInput): (WebCore::SourceGraphic::SourceGraphic): * rendering/RenderTreeAsText.cpp: (WebCore::hasFractions): (WebCore::operator<<): * rendering/RenderTreeAsText.h: (WebCore::operator<<): * rendering/SVGRenderTreeAsText.cpp: * rendering/SVGRenderTreeAsText.h: * svg/graphics/filters/SVGFEConvolveMatrix.cpp: (WebCore::FEConvolveMatrix::apply): * svg/graphics/filters/SVGFEConvolveMatrix.h: * svg/graphics/filters/SVGFEDiffuseLighting.cpp: * svg/graphics/filters/SVGFEDiffuseLighting.h: * svg/graphics/filters/SVGFEDisplacementMap.cpp: (WebCore::FEDisplacementMap::apply): * svg/graphics/filters/SVGFEDisplacementMap.h: * svg/graphics/filters/SVGFEFlood.cpp: (WebCore::FEFlood::apply): (WebCore::FEFlood::externalRepresentation): * svg/graphics/filters/SVGFEFlood.h: * svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::apply): * svg/graphics/filters/SVGFEImage.h: * svg/graphics/filters/SVGFELighting.cpp: (WebCore::FELighting::apply): * svg/graphics/filters/SVGFELighting.h: * svg/graphics/filters/SVGFEMerge.cpp: (WebCore::FEMerge::apply): * svg/graphics/filters/SVGFEMerge.h: * svg/graphics/filters/SVGFEMorphology.cpp: (WebCore::FEMorphology::apply): * svg/graphics/filters/SVGFEMorphology.h: * svg/graphics/filters/SVGFEOffset.cpp: (WebCore::FEOffset::apply): * svg/graphics/filters/SVGFEOffset.h: * svg/graphics/filters/SVGFESpecularLighting.cpp: * svg/graphics/filters/SVGFESpecularLighting.h: * svg/graphics/filters/SVGFETile.cpp: (WebCore::FETile::apply): * svg/graphics/filters/SVGFETile.h: * svg/graphics/filters/SVGFETurbulence.cpp: (WebCore::FETurbulence::apply): * svg/graphics/filters/SVGFETurbulence.h: 2010-09-20 Philippe Normand Reviewed by Eric Carlson. [GTK] enhanced context menu for media elements https://bugs.webkit.org/show_bug.cgi?id=45021 New items in the media Element context menu: - play/pause - mute/unmute - controls display control - switch to fullscreen (for video only) - loop playback control - copy media url to clipboard - open in new window Test: media/context-menu-actions.html * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): * platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): (WebCore::ContextMenu::checkOrEnableIfNeeded): * platform/ContextMenuItem.h: * platform/LocalizationStrategy.h: * platform/LocalizedStrings.cpp: (WebCore::contextMenuItemTagOpenVideoInNewWindow): (WebCore::contextMenuItemTagOpenAudioInNewWindow): (WebCore::contextMenuItemTagCopyVideoLinkToClipboard): (WebCore::contextMenuItemTagCopyAudioLinkToClipboard): (WebCore::contextMenuItemTagToggleMediaControls): (WebCore::contextMenuItemTagToggleMediaLoop): (WebCore::contextMenuItemTagEnterVideoFullscreen): (WebCore::contextMenuItemTagMediaPlay): (WebCore::contextMenuItemTagMediaPause): (WebCore::contextMenuItemTagMediaMute): * platform/LocalizedStrings.h: * platform/android/LocalizedStringsAndroid.cpp: (WebCore::contextMenuItemTagOpenVideoInNewWindow): (WebCore::contextMenuItemTagOpenAudioInNewWindow): (WebCore::contextMenuItemTagCopyVideoLinkToClipboard): (WebCore::contextMenuItemTagCopyAudioLinkToClipboard): (WebCore::contextMenuItemTagToggleMediaControls): (WebCore::contextMenuItemTagToggleMediaLoop): (WebCore::contextMenuItemTagEnterVideoFullscreen): (WebCore::contextMenuItemTagMediaPlay): (WebCore::contextMenuItemTagMediaPause): (WebCore::contextMenuItemTagMediaMute): * platform/brew/LocalizedStringsBrew.cpp: (WebCore::contextMenuItemTagOpenVideoInNewWindow): (WebCore::contextMenuItemTagOpenAudioInNewWindow): (WebCore::contextMenuItemTagCopyVideoLinkToClipboard): (WebCore::contextMenuItemTagCopyAudioLinkToClipboard): (WebCore::contextMenuItemTagToggleMediaControls): (WebCore::contextMenuItemTagToggleMediaLoop): (WebCore::contextMenuItemTagEnterVideoFullscreen): (WebCore::contextMenuItemTagMediaPlay): (WebCore::contextMenuItemTagMediaPause): (WebCore::contextMenuItemTagMediaMute): * platform/efl/LocalizedStringsEfl.cpp: (WebCore::contextMenuItemTagOpenVideoInNewWindow): (WebCore::contextMenuItemTagOpenAudioInNewWindow): (WebCore::contextMenuItemTagCopyVideoLinkToClipboard): (WebCore::contextMenuItemTagCopyAudioLinkToClipboard): (WebCore::contextMenuItemTagToggleMediaControls): (WebCore::contextMenuItemTagToggleMediaLoop): (WebCore::contextMenuItemTagEnterVideoFullscreen): (WebCore::contextMenuItemTagMediaPlay): (WebCore::contextMenuItemTagMediaPause): (WebCore::contextMenuItemTagMediaMute): * platform/gtk/ContextMenuItemGtk.cpp: (WebCore::gtkStockIDFromContextMenuAction): * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::contextMenuItemTagOpenVideoInNewWindow): (WebCore::contextMenuItemTagOpenAudioInNewWindow): (WebCore::contextMenuItemTagCopyVideoLinkToClipboard): (WebCore::contextMenuItemTagCopyAudioLinkToClipboard): (WebCore::contextMenuItemTagToggleMediaControls): (WebCore::contextMenuItemTagToggleMediaLoop): (WebCore::contextMenuItemTagEnterVideoFullscreen): (WebCore::contextMenuItemTagMediaPlay): (WebCore::contextMenuItemTagMediaPause): (WebCore::contextMenuItemTagMediaMute): * platform/haiku/LocalizedStringsHaiku.cpp: (WebCore::contextMenuItemTagOpenVideoInNewWindow): (WebCore::contextMenuItemTagOpenAudioInNewWindow): (WebCore::contextMenuItemTagCopyVideoLinkToClipboard): (WebCore::contextMenuItemTagCopyAudioLinkToClipboard): (WebCore::contextMenuItemTagToggleMediaControls): (WebCore::contextMenuItemTagToggleMediaLoop): (WebCore::contextMenuItemTagEnterVideoFullscreen): (WebCore::contextMenuItemTagMediaPlay): (WebCore::contextMenuItemTagMediaPause): (WebCore::contextMenuItemTagMediaMute): * platform/wx/LocalizedStringsWx.cpp: (WebCore::contextMenuItemTagOpenVideoInNewWindow): (WebCore::contextMenuItemTagOpenAudioInNewWindow): (WebCore::contextMenuItemTagCopyVideoLinkToClipboard): (WebCore::contextMenuItemTagCopyAudioLinkToClipboard): (WebCore::contextMenuItemTagToggleMediaControls): (WebCore::contextMenuItemTagToggleMediaLoop): (WebCore::contextMenuItemTagEnterVideoFullscreen): (WebCore::contextMenuItemTagMediaPlay): (WebCore::contextMenuItemTagMediaPause): (WebCore::contextMenuItemTagMediaMute): * rendering/HitTestResult.cpp: (WebCore::HitTestResult::absoluteMediaURL): (WebCore::HitTestResult::mediaSupportsFullscreen): (WebCore::HitTestResult::mediaElement): (WebCore::HitTestResult::toggleMediaControlsDisplay): (WebCore::HitTestResult::toggleMediaLoopPlayback): (WebCore::HitTestResult::enterFullscreenForVideo): (WebCore::HitTestResult::mediaControlsEnabled): (WebCore::HitTestResult::mediaLoopEnabled): (WebCore::HitTestResult::mediaPlaying): (WebCore::HitTestResult::toggleMediaPlayState): (WebCore::HitTestResult::mediaHasAudio): (WebCore::HitTestResult::mediaMuted): (WebCore::HitTestResult::toggleMediaMuteState): * rendering/HitTestResult.h: 2010-09-20 Kwang Yul Seo Reviewed by Daniel Bates. [BREWMP] Handle tab key https://bugs.webkit.org/show_bug.cgi?id=46104 In Brew MP, AVK_FUNCTION is the key code for tab. Process AVK_FUNCTION as tab in PlatformKeyboardEvent. * platform/brew/PlatformKeyboardEventBrew.cpp: (WebCore::keyIdentifierForBrewKeyCode): (WebCore::windowsKeyCodeForKeyEvent): 2010-09-20 Sheriff Bot Unreviewed, rolling out r67918. http://trac.webkit.org/changeset/67918 https://bugs.webkit.org/show_bug.cgi?id=46162 Broke chromium win compile (Requested by jamesr on #webkit). * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Renamed from WebCore/platform/graphics/skia/GlyphPageTreeNodeSkia.cpp. (WebCore::GlyphPage::fill): 2010-09-20 Daniel Bates Reviewed by Dan Bernstein. Cleanup: Extract common border radii expansion code in RenderBoxModelObject::paintBoxShadow() into function https://bugs.webkit.org/show_bug.cgi?id=45934 Extracted code for expanding and clamping the border radii into common function to remove duplicate code. No functionality was changed. So, no new tests. * rendering/RenderBoxModelObject.cpp: (WebCore::uniformlyExpandBorderRadii): Added. (WebCore::RenderBoxModelObject::paintBoxShadow): Moved common code to uniformlyExpandBorderRadii(). 2010-09-20 Kwang Yul Seo Reviewed by James Robinson. Make sure skia is not Chromium specific https://bugs.webkit.org/show_bug.cgi?id=39672 GGlyphPageTreeNodeLinux does not depend on Linux or Chromium. Move GGlyphPageTreeNodeLinux to platform/graphics/skia and rename it to GlyphPageTreeNodeSkia.cpp so that other ports can use it. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed. * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added. 2010-09-20 Kinuko Yasuda Reviewed by David Levin. Add NoStaticTables attributes to IDLs of FileSystem API for Worker support https://bugs.webkit.org/show_bug.cgi?id=46021 Added NoStaticTables attributes to IDLs except for ones for Callbacks. (As NoStaticTables only affects non-callback interfaces.) * fileapi/DOMFileSystem.idl: * fileapi/DirectoryEntry.idl: * fileapi/DirectoryReader.idl: * fileapi/Entry.idl: * fileapi/EntryArray.idl: * fileapi/FileEntry.idl: * fileapi/Flags.idl: * fileapi/Metadata.idl: 2010-09-20 Nico Weber Reviewed by Adam Barth. Fix "operands of ? are integers of different signs" clang warnings https://bugs.webkit.org/show_bug.cgi?id=46157 * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::advance): * rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight): 2010-09-20 Vangelis Kokkevis Unreviewed, rolling out r67906. http://trac.webkit.org/changeset/67906 https://bugs.webkit.org/show_bug.cgi?id=46139 Change causes chromium to crash when switching pages * platform/graphics/chromium/ContentLayerChromium.h: * platform/graphics/chromium/LayerChromium.h: 2010-09-19 Antonio Gomes Reviewed by Ojan Vafai. SelectionController::modify should ask EditingBehavior for platform specific behavior https://bugs.webkit.org/show_bug.cgi?id=41975 As a follow up of the refactoring work in bug 39854, patch makes SelectionController::modify() stop accessing EditingBehaviorType values directly, and replaces its use by the EditingBehavior class. Since the "Settings*" parameter of the private SelectionController::modify() method becomes unneeded with this change (it was used to query the editingBehaviorType), patch merges two modify() methods. No behavior change, so no new tests. * editing/EditingBehavior.h: (WebCore::EditingBehavior::shouldAlwaysGrowSelectionWhenExtendingToBoundary): * editing/SelectionController.cpp: (WebCore::SelectionController::modify): * editing/SelectionController.h: 2010-09-20 Vangelis Kokkevis Reviewed by James Robinson. [chromium] Making destructors of LayerChromium and ContentLayerChromium virtual so that the derived class' destructor code gets called. https://bugs.webkit.org/show_bug.cgi?id=46139 * platform/graphics/chromium/ContentLayerChromium.h: * platform/graphics/chromium/LayerChromium.h: 2010-09-20 Darin Adler Reviewed by James Robinson. Deprecate the inputType function on HTMLInputElement https://bugs.webkit.org/show_bug.cgi?id=46023 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::HTMLInputElement): Use m_deprecatedTypeNumber. (WebCore::HTMLInputElement::isValidValue): Use deprecatedInputType. (WebCore::HTMLInputElement::typeMismatch): Ditto. (WebCore::HTMLInputElement::valueMissing): Ditto. (WebCore::HTMLInputElement::rangeUnderflow): Ditto. (WebCore::HTMLInputElement::rangeOverflow): Ditto. (WebCore::HTMLInputElement::minimum): Ditto. (WebCore::HTMLInputElement::maximum): Ditto. (WebCore::HTMLInputElement::stepBase): Ditto. (WebCore::HTMLInputElement::stepMismatch): Ditto. (WebCore::HTMLInputElement::getStepParameters): Ditto. (WebCore::HTMLInputElement::getAllowedValueStep): Ditto. (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto. (WebCore::HTMLInputElement::shouldUseInputMethod): Ditto. (WebCore::HTMLInputElement::handleBlurEvent): Ditto. (WebCore::HTMLInputElement::setType): Added a comment. (WebCore::HTMLInputElement::updateType): Replaced the setInputType function with this. The type is always the type attribute value, so there is no value in passing the type string in, and this is an internal implementation detail, not a public function. (WebCore::createFormControlTypes): Use deprecatedNumberOfTypes. (WebCore::HTMLInputElement::formControlType): Use deprecatedInputType. (WebCore::HTMLInputElement::saveFormControlState): Ditto. (WebCore::HTMLInputElement::restoreFormControlState): Ditto. (WebCore::HTMLInputElement::accessKeyAction): Ditto. (WebCore::HTMLInputElement::mapToEntry): Ditto. (WebCore::HTMLInputElement::parseMappedAttribute): Ditto. (WebCore::HTMLInputElement::rendererIsNeeded): Ditto. (WebCore::HTMLInputElement::createRenderer): Ditto. (WebCore::HTMLInputElement::attach): Ditto. (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Ditto. (WebCore::HTMLInputElement::appendFormData): Ditto. (WebCore::HTMLInputElement::isTextField): Ditto. (WebCore::HTMLInputElement::isTextType): Ditto. (WebCore::HTMLInputElement::setChecked): Ditto. (WebCore::HTMLInputElement::value): Ditto. (WebCore::HTMLInputElement::valueWithDefault): Ditto. (WebCore::HTMLInputElement::setSuggestedValue): Ditto. (WebCore::HTMLInputElement::setValue): Ditto. (WebCore::HTMLInputElement::parseToDouble): Ditto. (WebCore::HTMLInputElement::valueAsDate): Ditto. (WebCore::HTMLInputElement::setValueAsDate): Ditto. (WebCore::HTMLInputElement::valueAsNumber): Ditto. (WebCore::HTMLInputElement::setValueAsNumber): Ditto. (WebCore::HTMLInputElement::serializeForDateTimeTypes): Ditto. (WebCore::HTMLInputElement::serialize): Ditto. (WebCore::HTMLInputElement::setValueFromRenderer): Ditto. (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Ditto. (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto. (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto. (WebCore::HTMLInputElement::defaultEventHandler): Ditto. (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): Ditto. (WebCore::HTMLInputElement::files): Ditto. (WebCore::HTMLInputElement::isAcceptableValue): Ditto. (WebCore::HTMLInputElement::sanitizeValue): Ditto. (WebCore::HTMLInputElement::hasUnacceptableValue): Ditto. (WebCore::HTMLInputElement::needsActivationCallback): Ditto. (WebCore::HTMLInputElement::isRequiredFormControl): Ditto. (WebCore::HTMLInputElement::recalcWillValidate): Ditto. (WebCore::HTMLInputElement::parseToDateComponents): Ditto. (WebCore::HTMLInputElement::dataList): Ditto. (WebCore::HTMLInputElement::isSpeechEnabled): Ditto. * html/HTMLInputElement.h: Renamed InputType to DeprecatedInputType since it should not be used outside this class. Renamed numberOfTypes to dprecatedNumberOfTypes for the same reason. Changed all code to use deprecatedInputType function instead of m_type. Renamed inputType function to deprecatedInputType. Replaced public setInputType function with private updateType function. Renamed m_type data member to m_deprecatedTypeNumber. * rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::MediaControlInputElement): * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::updateFromElement): Use setType instead of setInputType. 2010-09-20 Mihai Parparita Unreviewed; an attempt to fix Windows build. * WebCore.vcproj/WebCore.vcproj: 2010-09-20 Simon Fraser Reviewed by Dan Bernstein. When PDF image is directly composited, it does not display https://bugs.webkit.org/show_bug.cgi?id=46144 In the "direct image compositing" code path, we set the image directly as the contents of the GraphicsLayer. However, this only works with bitmap images, so we have to check that the image is a bitmap image. Test: compositing/images/direct-pdf-image.html * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::isDirectlyCompositedImage): 2010-09-20 Simon Fraser Reviewed by Darin Adler. Crash when div with content set to image gets composited (Vimeo). https://bugs.webkit.org/show_bug.cgi?id=46140 When CSS specifies that the content of an element is an image, we make a RenderImage, and setStyle() before setting the image resource. In this case the compositing code can attempt to access the cached image, which would crash with a null deref. Fix by null-checking m_imageResource. Test: compositing/images/content-image.html * rendering/RenderImage.h: (WebCore::RenderImage::cachedImage): 2010-09-20 Mihai Parparita Reviewed by Dimitri Glazkov. Hashchange event is no longer a simple event, needs to be its own interface https://bugs.webkit.org/show_bug.cgi?id=36335 Add HashChangeEvent.idl and supporting files/changes. Test: fast/loader/hashchange-event-properties.html The original version of this patch was written by Steven Lai . * CMakeLists.txt: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/v8/custom/V8EventCustom.cpp: (WebCore::toV8): * dom/Document.cpp: (WebCore::Document::enqueueHashchangeEvent): * dom/Event.cpp: (WebCore::Event::isHashChangeEvent): * dom/Event.h: * dom/HashChangeEvent.h: Added. (WebCore::HashChangeEvent::isHashChangeEvent): (WebCore::HashChangeEvent::create): (WebCore::HashChangeEvent::initHashChangeEvent): (WebCore::HashChangeEvent::oldURL): (WebCore::HashChangeEvent::newURL): (WebCore::HashChangeEvent::HashChangeEvent): * dom/HashChangeEvent.idl: Added. * page/DOMWindow.idl: 2010-09-20 Andy Estes Reviewed by Adam Barth. REGRESSION (HTML5 Parser): Pages broken due to parsing changes https://bugs.webkit.org/show_bug.cgi?id=40961 Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's legacy behavior when the start of a new token is encountered before the current token is finished parsing. The legacy behavior is to emit the current token as if it were properly closed and being parsing the new token. Test: fast/parser/pre-html5-parser-quirks.html * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate m_tokenizer with the value of Settings::usePreHTML5ParserQuirks(). (WebCore::usePreHTMLParserQuirks): Add a helper function to return the value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL. * html/parser/HTMLPreloadScanner.cpp: (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate m_tokenizer with the value of Settings::usePreHTML5ParserQuirks(). * html/parser/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::HTMLTokenizer): (WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an unexpected '<' is encountered in certain states, emit the current token and reprocess the '<' as the start of a new token. * html/parser/HTMLTokenizer.h: (WebCore::HTMLTokenizer::create): * html/parser/HTMLViewSourceParser.cpp: (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate m_tokenizer with the value of Settings::usePreHTML5ParserQuirks(). * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: (WebCore::Settings::setUsePreHTML5ParserQuirks): (WebCore::Settings::usePreHTML5ParserQuirks): 2010-09-20 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46132, add an isVerticalBlockFlow() method to RenderStyle and patch callers so that they don't have to check both top-to-bottom and bottom-to-top block flow. * rendering/RenderBox.cpp: (WebCore::RenderBox::availableLogicalWidth): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::logicalWidth): (WebCore::RenderStyle::logicalHeight): (WebCore::RenderStyle::logicalMinWidth): (WebCore::RenderStyle::logicalMaxWidth): (WebCore::RenderStyle::logicalMinHeight): (WebCore::RenderStyle::logicalMaxHeight): (WebCore::RenderStyle::borderStartWidth): (WebCore::RenderStyle::borderEndWidth): (WebCore::RenderStyle::marginStart): (WebCore::RenderStyle::marginEnd): (WebCore::RenderStyle::paddingStart): (WebCore::RenderStyle::paddingEnd): * rendering/style/RenderStyle.h: (WebCore::InheritedFlags::isVerticalBlockFlow): 2010-09-20 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46124, add support for logical padding accessors to RenderBoxModelObject. Added fast/blockflow/percentage-padding.html even though it fails, so that when more of layout is patched we can see it start passing. * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paddingTop): (WebCore::RenderBoxModelObject::paddingBottom): (WebCore::RenderBoxModelObject::paddingLeft): (WebCore::RenderBoxModelObject::paddingRight): (WebCore::RenderBoxModelObject::paddingBefore): (WebCore::RenderBoxModelObject::paddingAfter): (WebCore::RenderBoxModelObject::paddingStart): (WebCore::RenderBoxModelObject::paddingEnd): * rendering/RenderBoxModelObject.h: 2010-09-20 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46126, add availableLogicalWidth() to RenderBox. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::availableWidth): (WebCore::RenderBlock::availableLogicalWidth): * rendering/RenderBlock.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::availableLogicalWidth): * rendering/RenderBox.h: (WebCore::RenderBox::availableWidth): 2010-09-20 Kenneth Russell Reviewed by James Robinson. [chromium] Change compositor to use GraphicsContext3D rather than GLES2Context https://bugs.webkit.org/show_bug.cgi?id=45912 Switched Chromium's compositor to use GraphicsContext3D to issue its OpenGL rendering calls rather than the Chromium-specific GLES2Context and command buffer OpenGL implementation. The in-process software rendering path for GraphicsContext3D does not yet work with the compositor, at least not on Mac OS X. This will be worked on in subsequent bugs. Tested manually with 3D CSS, WebGL and video content on Mac OS X and Linux. No new tests. * platform/graphics/chromium/Canvas2DLayerChromium.cpp: (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): (WebCore::Canvas2DLayerChromium::updateContents): * platform/graphics/chromium/CanvasLayerChromium.cpp: (WebCore::CanvasLayerChromium::SharedValues::SharedValues): (WebCore::CanvasLayerChromium::SharedValues::~SharedValues): (WebCore::CanvasLayerChromium::draw): * platform/graphics/chromium/CanvasLayerChromium.h: * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::SharedValues::SharedValues): (WebCore::ContentLayerChromium::SharedValues::~SharedValues): (WebCore::ContentLayerChromium::~ContentLayerChromium): (WebCore::ContentLayerChromium::updateTextureRect): (WebCore::ContentLayerChromium::draw): * platform/graphics/chromium/ContentLayerChromium.h: * platform/graphics/chromium/DrawingBufferChromium.cpp: (WebCore::DrawingBuffer::publishToPlatformLayer): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::loadShader): (WebCore::LayerChromium::SharedValues::SharedValues): (WebCore::LayerChromium::SharedValues::~SharedValues): (WebCore::LayerChromium::createShaderProgram): (WebCore::LayerChromium::layerRendererContext): (WebCore::LayerChromium::drawTexturedQuad): (WebCore::LayerChromium::drawDebugBorder): (WebCore::LayerChromium::drawAsMask): (WebCore::LayerChromium::prepareForDraw): * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::SharedValues::context): * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::create): (WebCore::LayerRendererChromium::LayerRendererChromium): (WebCore::LayerRendererChromium::context): (WebCore::LayerRendererChromium::debugGLCall): (WebCore::LayerRendererChromium::useShader): (WebCore::LayerRendererChromium::prepareToDrawLayers): (WebCore::LayerRendererChromium::updateRootLayerTextureRect): (WebCore::LayerRendererChromium::drawLayers): (WebCore::LayerRendererChromium::finish): (WebCore::LayerRendererChromium::present): (WebCore::LayerRendererChromium::getFramebufferPixels): (WebCore::LayerRendererChromium::createLayerTexture): (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer): (WebCore::LayerRendererChromium::drawLayersRecursive): (WebCore::LayerRendererChromium::drawLayer): (WebCore::LayerRendererChromium::scissorToRect): (WebCore::LayerRendererChromium::makeContextCurrent): (WebCore::LayerRendererChromium::resizeOnscreenContent): (WebCore::LayerRendererChromium::initializeSharedObjects): (WebCore::LayerRendererChromium::cleanupSharedObjects): * platform/graphics/chromium/LayerRendererChromium.h: * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::createTextureRect): (WebCore::VideoLayerChromium::updateTextureRect): * platform/graphics/chromium/WebGLLayerChromium.cpp: (WebCore::WebGLLayerChromium::updateContents): * platform/graphics/gpu/SharedGraphicsContext3D.cpp: (WebCore::SharedGraphicsContext3D::flush): (WebCore::SharedGraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM): (WebCore::SharedGraphicsContext3D::copyTextureToParentTextureCHROMIUM): * platform/graphics/gpu/SharedGraphicsContext3D.h: 2010-09-20 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46119, add logical accessors to RenderStyle. Not used by any RenderObjects yet, so no tests until then. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::logicalWidth): (WebCore::RenderStyle::logicalHeight): (WebCore::RenderStyle::logicalMinWidth): (WebCore::RenderStyle::logicalMaxWidth): (WebCore::RenderStyle::logicalMinHeight): (WebCore::RenderStyle::logicalMaxHeight): (WebCore::RenderStyle::borderBeforeWidth): (WebCore::RenderStyle::borderAfterWidth): (WebCore::RenderStyle::borderStartWidth): (WebCore::RenderStyle::borderEndWidth): (WebCore::RenderStyle::marginBefore): (WebCore::RenderStyle::marginAfter): (WebCore::RenderStyle::marginStart): (WebCore::RenderStyle::marginEnd): (WebCore::RenderStyle::paddingBefore): (WebCore::RenderStyle::paddingAfter): (WebCore::RenderStyle::paddingStart): (WebCore::RenderStyle::paddingEnd): * rendering/style/RenderStyle.h: 2010-09-20 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=46116, implement block-flow-aware logical properties. This patch adds all the logical properties from the CSS3 Writing Mode draft for margins, padding, border, width and height. Added fast/css/logical-property-resolution.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): * css/CSSProperty.cpp: (WebCore::resolveToPhysicalProperty): (WebCore::CSSProperty::resolveDirectionAwareProperty): * css/CSSProperty.h: * css/CSSPropertyNames.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyDeclarations): (WebCore::CSSStyleSelector::applyProperty): 2010-09-20 David Hyatt Reviewed by Beth Dakin. https://bugs.webkit.org/show_bug.cgi?id=46114, two tables repaint tests failing on bots. Patch layoutRows to apply the layout delta when setting a new cell location prior to laying out the cell. The layout delta is then removed after layout has happened when the repaint check is done. This change makes cell layout match block child layout, and now the cells have the correct new location up front when laying out (a necessity for pagination). * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): 2010-09-20 Jacob Dinu Reviewed by Adam Barth. When loading a cached page, dispatchDidCommitLoad is called after FrameLoader::open so that all initialzations are done before calling client dispatchDidCommitLoad to avoid client from accessing incorrect data. https://bugs.webkit.org/show_bug.cgi?id=41155 * loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): (WebCore::FrameLoader::transitionToCommitted): 2010-09-20 Simon Fraser Reviewed by Adam Roben. REGRESSION: alternating animation direction doesn't work on Windows https://bugs.webkit.org/show_bug.cgi?id=46017 Animation-direction on Windows was broken because bitfields on Windows are signed. Fixed by making m_direction an unsigned in the bitfield, and casting in the accessor. Test: animations/animation-direction.html * platform/animation/Animation.h: (WebCore::Animation::direction): 2010-09-20 Enrica Casucci Reviewed by Sam Weinig. Pasteboard doesn't work in WebKit2. https://bugs.webkit.org/show_bug.cgi?id=42317 * loader/EmptyClients.h: (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Changed parameter to be a Vector of RefPtr. * page/EditorClient.h: * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::documentFragmentWithRtf): Stylistic changes. 2010-09-20 Yong Li Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=39966 Make compareBorders() a consistent compare function which can beused by qsort(). New test case added: LayoutTests/tables/sort-collapsed-border-styles.html * rendering/RenderTableCell.cpp: (WebCore::compareBorders): (WebCore::chooseBorder): (WebCore::RenderTableCell::collapsedLeftBorder): (WebCore::RenderTableCell::collapsedRightBorder): (WebCore::RenderTableCell::collapsedTopBorder): (WebCore::RenderTableCell::collapsedBottomBorder): (WebCore::compareBorderStylesForQSort): 2010-09-20 Patrick Gansterer Reviewed by Adam Roben. [WINCE] Buildfix for PluginViewWin.cpp https://bugs.webkit.org/show_bug.cgi?id=46033 * plugins/win/PluginViewWin.cpp: (WebCore::PluginView::paintIntoTransformedContext): (WebCore::PluginView::snapshot): 2010-09-18 David Hyatt Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=46030, aintitcool.com doesn't paginate correctly when printed. This happens because the site always has a document width that will exceed the page width. We incorrectly apply a double scale instead of clipping after the first scale still doesn't fit. The fix for the issue is to cap the right layout overflow to the page width and to just clip out any additional excess. This is the code in FrameView.cpp. This patch also cleans up table cell invalidation to reduce the # of relayouts. This change is not a correctness fix. It's just performance. I'm not sure how to write a test for this, since the double scale is an artifact of how WebKit mac calls back in when really printing. * page/FrameView.cpp: (WebCore::FrameView::forceLayoutForPagination): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChild): (WebCore::RenderBlock::layoutPositionedObjects): (WebCore::RenderBlock::positionNewFloats): * rendering/RenderBlock.h: (WebCore::RenderBlock::markForPaginationRelayout): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): 2010-09-20 Ilya Tikhonovsky Reviewed by Pavel Feldman. Web Inspector: merge Inspector client runtime events into the serialized inspector state object. Drive-by rename getBackendSettings -> getInspectorState to better reflect the nature of the data. https://bugs.webkit.org/show_bug.cgi?id=45974 * inspector/Inspector.idl: * inspector/InspectorClient.h: (WebCore::InspectorClient::updateInspectorStateCookie): * inspector/InspectorController.cpp: (WebCore::InspectorController::saveApplicationSettings): (WebCore::InspectorController::getInspectorState): (WebCore::InspectorController::updateInspectorStateCookie): (WebCore::InspectorController::restoreInspectorStateFromCookie): (WebCore::InspectorController::getSettings): (WebCore::InspectorController::setMonitoringXHREnabled): (WebCore::InspectorController::restoreDebugger): (WebCore::InspectorController::restoreProfiler): (WebCore::InspectorController::setResourceTrackingEnabled): (WebCore::InspectorController::ensureSettingsLoaded): (WebCore::InspectorController::startTimelineProfiler): (WebCore::InspectorController::stopTimelineProfiler): (WebCore::InspectorController::enableProfiler): (WebCore::InspectorController::disableProfiler): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): * inspector/InspectorController.h: * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._handleContextMenuEvent): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): * inspector/front-end/Settings.js: (WebInspector.Settings.initialize): * inspector/front-end/inspector.js: (WebInspector.doLoadedDone.populateInspectorState): (WebInspector.doLoadedDone): 2010-09-20 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG Filter cleanup https://bugs.webkit.org/show_bug.cgi?id=45612 All effect inputs are stored in a Vector in FilterEffect instead of passing them via constructors to every effect type. This simplifies the primitive subregion logic and centralizes it in determineFilterPrimitiveSubregion. Just SourceGraphic, SourceAlpha and FETile still calculate filter primitive subregions on their own. Working on it in a followup patch. The subregions code is SVG specific and moving this calculation to FilterEffect is an intermediate step before moving it to RenderSVGResourceFilterPrimitive in a following patch. The new FilterEffectVector will also make it possible to add code to determine the smallest used region of an effect and will help save memory and resources in the future. subRegion got renamed to filterPrimitiveSubregion to match the name scheme. scaledSubRegion got renamed to repaintRectInLocalCoordinates since this is its proper meaning. Removed unnecessary member variables and functions from FilterEffect. No new tests added since the functionality didn't change. * platform/graphics/cairo/GraphicsContextCairo.cpp: scaledSubRegion was renamed to repaintRectInLocalCoordinates. (WebCore::GraphicsContext::createShadowMask): * platform/graphics/filters/FEBlend.cpp: Removed Filter effect inputs from constructor. (WebCore::FEBlend::FEBlend): (WebCore::FEBlend::create): (WebCore::FEBlend::apply): Call inputFilterEffects to get input filter primitives. (WebCore::FEBlend::externalRepresentation): Call inputFilterEffects to get input filter primitives. * platform/graphics/filters/FEBlend.h: * platform/graphics/filters/FEColorMatrix.cpp: Ditto. (WebCore::FEColorMatrix::FEColorMatrix): (WebCore::FEColorMatrix::create): (WebCore::FEColorMatrix::apply): (WebCore::FEColorMatrix::externalRepresentation): * platform/graphics/filters/FEColorMatrix.h: * platform/graphics/filters/FEComponentTransfer.cpp: Ditto. (WebCore::FEComponentTransfer::FEComponentTransfer): (WebCore::FEComponentTransfer::create): (WebCore::FEComponentTransfer::apply): (WebCore::FEComponentTransfer::externalRepresentation): * platform/graphics/filters/FEComponentTransfer.h: * platform/graphics/filters/FEComposite.cpp: Ditto. (WebCore::FEComposite::FEComposite): (WebCore::FEComposite::create): (WebCore::FEComposite::apply): (WebCore::FEComposite::externalRepresentation): * platform/graphics/filters/FEComposite.h: * platform/graphics/filters/FEGaussianBlur.cpp: Ditto. (WebCore::FEGaussianBlur::FEGaussianBlur): (WebCore::FEGaussianBlur::create): (WebCore::FEGaussianBlur::apply): (WebCore::FEGaussianBlur::externalRepresentation): * platform/graphics/filters/FEGaussianBlur.h: * platform/graphics/filters/Filter.h: (WebCore::Filter::determineFilterPrimitiveSubregion): Renamed from calculateEffectSubRegion to match name scheme. * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::FilterEffect): (WebCore::FilterEffect::determineFilterPrimitiveSubregion): The main place for subregion calculation. (WebCore::FilterEffect::calculateDrawingIntRect): Takes repaintRectInLocalCoordinates now. (WebCore::FilterEffect::calculateDrawingRect): ditto. (WebCore::FilterEffect::getEffectContext): Check if ImageBuffer was created. * platform/graphics/filters/FilterEffect.h: Changed names to match name scheme. Removed unnecessary member variables and functions. Seperate SVG specific member variables and functions. Will get removed in followup patches. (WebCore::FilterEffect::resultImage): (WebCore::FilterEffect::setEffectBuffer): (WebCore::FilterEffect::inputEffect): (WebCore::FilterEffect::inputEffects): (WebCore::FilterEffect::numberOfinputEffects): (WebCore::FilterEffect::isAlphaImage): (WebCore::FilterEffect::setIsAlphaImage): (WebCore::FilterEffect::repaintRectInLocalCoordinates): (WebCore::FilterEffect::setRepaintRectInLocalCoordinates): (WebCore::FilterEffect::isSourceInput): (WebCore::FilterEffect::hasX): (WebCore::FilterEffect::setHasX): (WebCore::FilterEffect::hasY): (WebCore::FilterEffect::setHasY): (WebCore::FilterEffect::hasWidth): (WebCore::FilterEffect::setHasWidth): (WebCore::FilterEffect::hasHeight): (WebCore::FilterEffect::setHasHeight): (WebCore::FilterEffect::filterPrimitiveSubregion): (WebCore::FilterEffect::setFilterPrimitiveSubregion): (WebCore::FilterEffect::effectBoundaries): (WebCore::FilterEffect::setEffectBoundaries): * platform/graphics/filters/SourceAlpha.cpp: (WebCore::SourceAlpha::determineFilterPrimitiveSubregion): Renamed to match name scheme. * platform/graphics/filters/SourceAlpha.h: (WebCore::SourceAlpha::isSourceInput): * platform/graphics/filters/SourceGraphic.cpp: (WebCore::SourceGraphic::determineFilterPrimitiveSubregion): Ditto. * platform/graphics/filters/SourceGraphic.h: (WebCore::SourceGraphic::isSourceInput): * rendering/RenderSVGResourceFilter.cpp: Adapt to renames in FilterEffect. (WebCore::RenderSVGResourceFilter::applyResource): (WebCore::RenderSVGResourceFilter::postApplyResource): * svg/SVGFEBlendElement.cpp: Constructor of FEBlend doesn't take input effects. Adding them afterwards. (WebCore::SVGFEBlendElement::build): * svg/SVGFEColorMatrixElement.cpp: Ditto. (WebCore::SVGFEColorMatrixElement::build): * svg/SVGFEComponentTransferElement.cpp: Ditto. (WebCore::SVGFEComponentTransferElement::build): * svg/SVGFECompositeElement.cpp: Ditto. (WebCore::SVGFECompositeElement::build): * svg/SVGFEConvolveMatrixElement.cpp: Ditto. (WebCore::SVGFEConvolveMatrixElement::build): * svg/SVGFEDiffuseLightingElement.cpp: Ditto. (WebCore::SVGFEDiffuseLightingElement::build): * svg/SVGFEDisplacementMapElement.cpp: Ditto. (WebCore::SVGFEDisplacementMapElement::build): * svg/SVGFEGaussianBlurElement.cpp: Ditto. (WebCore::SVGFEGaussianBlurElement::build): * svg/SVGFEMergeElement.cpp: Ditto. (WebCore::SVGFEMergeElement::build): * svg/SVGFEMorphologyElement.cpp: Ditto. (WebCore::SVGFEMorphologyElement::build): * svg/SVGFEOffsetElement.cpp: Ditto. (WebCore::SVGFEOffsetElement::build): * svg/SVGFESpecularLightingElement.cpp: Ditto. (WebCore::SVGFESpecularLightingElement::build): * svg/SVGFETileElement.cpp: Ditto. (WebCore::SVGFETileElement::build): * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Ditto. (WebCore::FEConvolveMatrix::FEConvolveMatrix): (WebCore::FEConvolveMatrix::create): (WebCore::FEConvolveMatrix::apply): (WebCore::FEConvolveMatrix::externalRepresentation): * svg/graphics/filters/SVGFEConvolveMatrix.h: * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto. (WebCore::FEDiffuseLighting::FEDiffuseLighting): (WebCore::FEDiffuseLighting::create): (WebCore::FEDiffuseLighting::externalRepresentation): * svg/graphics/filters/SVGFEDiffuseLighting.h: * svg/graphics/filters/SVGFEDisplacementMap.cpp: Ditto. (WebCore::FEDisplacementMap::FEDisplacementMap): (WebCore::FEDisplacementMap::create): (WebCore::FEDisplacementMap::apply): (WebCore::FEDisplacementMap::externalRepresentation): * svg/graphics/filters/SVGFEDisplacementMap.h: * svg/graphics/filters/SVGFEFlood.cpp: Ditto. (WebCore::FEFlood::apply): * svg/graphics/filters/SVGFEImage.cpp: Ditto. (WebCore::FEImage::apply): * svg/graphics/filters/SVGFELighting.cpp: Ditto. (WebCore::FELighting::FELighting): (WebCore::FELighting::apply): * svg/graphics/filters/SVGFELighting.h: * svg/graphics/filters/SVGFEMerge.cpp: Ditto. (WebCore::FEMerge::FEMerge): (WebCore::FEMerge::create): (WebCore::FEMerge::apply): (WebCore::FEMerge::externalRepresentation): * svg/graphics/filters/SVGFEMerge.h: * svg/graphics/filters/SVGFEMorphology.cpp: Ditto. (WebCore::FEMorphology::FEMorphology): (WebCore::FEMorphology::create): (WebCore::FEMorphology::apply): (WebCore::FEMorphology::externalRepresentation): * svg/graphics/filters/SVGFEMorphology.h: * svg/graphics/filters/SVGFEOffset.cpp: Ditto. (WebCore::FEOffset::FEOffset): (WebCore::FEOffset::create): (WebCore::FEOffset::apply): (WebCore::FEOffset::externalRepresentation): * svg/graphics/filters/SVGFEOffset.h: * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto. (WebCore::FESpecularLighting::FESpecularLighting): (WebCore::FESpecularLighting::create): (WebCore::FESpecularLighting::externalRepresentation): * svg/graphics/filters/SVGFESpecularLighting.h: * svg/graphics/filters/SVGFETile.cpp: Ditto. (WebCore::FETile::FETile): (WebCore::FETile::create): (WebCore::FETile::determineFilterPrimitiveSubregion): Renamed to match name scheme. (WebCore::FETile::apply): (WebCore::FETile::externalRepresentation): * svg/graphics/filters/SVGFETile.h: * svg/graphics/filters/SVGFilter.cpp: Renamed itemBox to targetBoundingBox to match name scheme. (WebCore::SVGFilter::SVGFilter): (WebCore::SVGFilter::determineFilterPrimitiveSubregion): Renamed to match name scheme. (WebCore::SVGFilter::create): * svg/graphics/filters/SVGFilter.h: (WebCore::SVGFilter::sourceImageRect): 2010-09-20 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: highlight DOM node when hover on link element or DOM breakpoint https://bugs.webkit.org/show_bug.cgi?id=45897 * inspector/front-end/BreakpointsSidebarPane.js: (WebInspector.BreakpointItem): (WebInspector.JSBreakpointItem): (WebInspector.DOMBreakpointItem): (WebInspector.DOMBreakpointItem.prototype.compareTo): (WebInspector.DOMBreakpointItem.prototype._breakpointClicked): * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.hide): (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype.setDocument.selectNode): (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs): (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): (WebInspector.ElementsPanel.prototype.linkifyNodeReference): * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): (WebInspector.ElementsTreeOutline.prototype._onmousemove): (WebInspector.ElementsTreeOutline.prototype._onmouseout): * inspector/front-end/inspector.js: (WebInspector.highlightDOMNode): (WebInspector.highlightDOMNodeForTwoSeconds): (WebInspector.wireElementWithDOMNode): (WebInspector._updateFocusedNode): (WebInspector.reset): (WebInspector.updateFocusedNode): 2010-09-19 Sheriff Bot Unreviewed, rolling out r67749. http://trac.webkit.org/changeset/67749 https://bugs.webkit.org/show_bug.cgi?id=46068 breaking ToT chromium canary build (Requested by shans on #webkit). * bindings/v8/V8DOMWindowShell.cpp: (WebCore::V8DOMWindowShell::createNewContext): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::registeredExtensionWithV8): (WebCore::V8Proxy::registerExtension): * bindings/v8/V8Proxy.h: * loader/EmptyClients.h: * loader/FrameLoaderClient.h: 2010-09-19 Gavin Barraclough Reviewed by Oliver Hunt. Bug 46065 - Unify implementation of ToInt32 and ToUInt32, don't use fmod. These methods implement the same conversion (see discussion in the notes of sections of 9.5 and 9.6 of the spec), only differing in how the result is interpretted. Removing JSValue::toInt32 (since this has weird, non-spec function). A couple of places in the binding are using this method, so adding finiteInt32Value to the bindings to maintain current behaviour. Test: fast/js/toInt32UInt32.html * bindings/js/JSDOMBinding.h: (WebCore::finiteInt32Value): * bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::add): * bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item): * bindings/js/JSSVGPODListCustom.h: (WebCore::JSSVGPODListCustom::getItem): (WebCore::JSSVGPODListCustom::insertItemBefore): (WebCore::JSSVGPODListCustom::replaceItem): (WebCore::JSSVGPODListCustom::removeItem): * bindings/js/JSSVGPathSegListCustom.cpp: (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): 2010-09-19 Andreas Kling Reviewed by Kenneth Rohde Christiansen. [Qt] clipBoundingRect() should return rect relevant to current layer https://bugs.webkit.org/show_bug.cgi?id=46059 r65791 inadvertently changed clipBoundingRect() to always use the GC painter without checking the TransparencyLayer stack first. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContextPlatformPrivate::p): (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect): 2010-09-19 Sam Weinig Reviewed by Anders Carlsson. Replace WKBundleRangeRef with WKBundleRangeHandleRef. https://bugs.webkit.org/show_bug.cgi?id=46054 * WebCore.exp.in: * WebCore.xcodeproj/project.pbxproj: 2010-09-19 Patrick Gansterer Unreviewed. [WINCE] Buildfix for Gradient after r67801. * platform/graphics/Gradient.h: * platform/graphics/wince/GradientWinCE.cpp: (WebCore::Gradient::getStops): 2010-09-19 Kent Tamura Reviewed by Dimitri Glazkov. [Chromium] Add is() functions to WebInputElement https://bugs.webkit.org/show_bug.cgi?id=46035 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isText): Added. It is used by WebKit/chromium. 2010-09-18 Andreas Kling Reviewed by Antonio Gomes. [Qt] Path: Remove unused member variable https://bugs.webkit.org/show_bug.cgi?id=46048 Path::m_lastMoveToIndex is not used for anything, so remove it. * platform/graphics/Path.h: * platform/graphics/qt/PathQt.cpp: (WebCore::Path::Path): (WebCore::Path::operator=): (WebCore::Path::moveTo): 2010-09-18 Patrick Gansterer Reviewed by Darin Adler. Use AtomicString insted of String in XMLDocumentParser https://bugs.webkit.org/show_bug.cgi?id=45990 Create AtomicString as early as possible. This can avoid unnecessary memcpy of String content. * dom/XMLDocumentParser.h: * dom/XMLDocumentParserLibxml2.cpp: (WebCore::toAtomicString): (WebCore::handleElementNamespaces): (WebCore::handleElementAttributes): (WebCore::XMLDocumentParser::startElementNs): 2010-09-18 Erik Arvidsson Reviewed by Nate Chapin. [Chromium] fast/dom/dataset-gc.html is failing https://bugs.webkit.org/show_bug.cgi?id=45426 * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/custom/V8DOMStringMapCustom.cpp: (WebCore::toV8): * dom/DOMStringMap.h: * dom/DatasetDOMStringMap.h: (WebCore::DatasetDOMStringMap::element): 2010-09-18 Andreas Kling Reviewed by Oliver Hunt. Gradient: Fast-path for the ideal case in sortStopsIfNecessary() https://bugs.webkit.org/show_bug.cgi?id=46045 Avoid calling std::stable_sort for 2-stop gradients that are already in order. * platform/graphics/Gradient.cpp: (WebCore::Gradient::sortStopsIfNecessary): 2010-09-18 Kwang Yul Seo Reviewed by Andreas Kling. [BREWMP] Fix a typo in key code name https://bugs.webkit.org/show_bug.cgi?id=46003 AVK_CLR is the right Brew MP key code name for VK_BACK. * platform/brew/PlatformKeyboardEventBrew.cpp: (WebCore::windowsKeyCodeForKeyEvent): 2010-09-18 Andreas Kling Reviewed by Oliver Hunt. Gradient: Pre-reserve space for 2 color stops https://bugs.webkit.org/show_bug.cgi?id=46044 Most gradients have only 2 color stops, pre-reserve space for these in m_stops to avoid growing the vector dynamically in the common case. * platform/graphics/Gradient.h: 2010-09-18 Dimitri Glazkov Unreviewed, rolling out r67792. http://trac.webkit.org/changeset/67792 https://bugs.webkit.org/show_bug.cgi?id=45976 Broke over a hundred SVG tests. * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage): (WebCore::GraphicsContext::drawImageBuffer): * platform/graphics/GraphicsContext.h: 2010-09-18 Mihai Parparita Reviewed by Simon Fraser. webkitAnimationEnd event doesn't fire when skipping over final iteration https://bugs.webkit.org/show_bug.cgi?id=46010 It's possible for AnimationBase::fireAnimationEventsIfNeeded to decide that the animation is ended while we're in the looping state, if the animation timer never fires during an iteration. That then fails the assert in AnimationBase::updateStateMachine (we don't expect AnimationStateInputEndTimerFired while in the looping state). Jump the state to AnimationStateEnding, which is more accurate. Test: animations/animation-end-event-short-iterations.html * page/animation/AnimationBase.cpp: (WebCore::AnimationBase::fireAnimationEventsIfNeeded): 2010-09-18 Kwang Yul Seo Reviewed by Andreas Kling. [BREWMP] Wrong key code type in keyIdentifierForBrewKeyCode https://bugs.webkit.org/show_bug.cgi?id=46005 The type of key code in Brew MP is uint16. Take uint16 instead of int16 in keyIdentifierForBrewKeyCode. * platform/brew/PlatformKeyboardEventBrew.cpp: (WebCore::keyIdentifierForBrewKeyCode): 2010-09-18 Matthew Delaney Reviewed by Oliver Hunt. Canvas drawImage with source or destination widths/heights of -1 renders incorrectly. https://bugs.webkit.org/show_bug.cgi?id=45976 Specifying a -1 width or height for either the source or destination rectangle in drawImage get improperly drawn with -1 replaced as the corresponding image width or height. This was because the value -1 was being passed around to signal non-specified widths and heights and thus was interpreted lower down in the drawImage implementation which disallowed any calls that actually wanted to use -1 as the widths or heights. Fixed this by moving the default logic up and not using -1 in-band signaling to denote default behavior. Tests: canvas/philip/tests/2d.drawImage.negativeOneDest.html canvas/philip/tests/2d.drawImage.negativeOneSource.html * platform/graphics/GraphicsContext.cpp: Removed -1 in-band signals and replaced cascased calls to have the desired replaces for unspecified widths and heights earlier on. * platform/graphics/GraphicsContext.h: Removed faulty default value. 2010-09-18 Ademar de Souza Reis Jr Reviewed by Kenneth Rohde Christiansen. Enable Platform Strategies on Qt [Qt] Turn on PLATFORM_STRATEGIES https://bugs.webkit.org/show_bug.cgi?id=45831 * WebCore.pro: Adding/removing implementation files * platform/qt/Language.cpp: Added, WebCore::defaultLanguage() was moved from platform/qt/Localizations.cpp (WebCore::defaultLanguage): Moved from Localizations.cpp * platform/qt/Localizations.cpp: Removed (code is now inside WebCoreSupport/WebPlatformStrategies.cpp) * plugins/qt/PluginDataQt.cpp: Removed (idem) 2010-09-18 Patrick Gansterer Reviewed by Darin Adler. Rename Wince files to WinCE https://bugs.webkit.org/show_bug.cgi?id=37287 * loader/icon/wince/IconDatabaseWinCE.cpp: Copied from WebCore/loader/icon/wince/IconDatabaseWince.cpp. * loader/icon/wince/IconDatabaseWince.cpp: Removed. * page/wince/FrameWinCE.cpp: Copied from WebCore/page/wince/FrameWince.cpp. * page/wince/FrameWince.cpp: Removed. * platform/graphics/MediaPlayer.cpp: * platform/graphics/wince/ColorWinCE.cpp: Copied from WebCore/platform/graphics/wince/ColorWince.cpp. * platform/graphics/wince/ColorWince.cpp: Removed. * platform/graphics/wince/FontCacheWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontCacheWince.cpp. * platform/graphics/wince/FontCacheWince.cpp: Removed. * platform/graphics/wince/FontWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontWince.cpp. * platform/graphics/wince/FontWince.cpp: Removed. * platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp: Copied from WebCore/platform/graphics/wince/GlyphPageTreeNodeWince.cpp. * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Removed. * platform/graphics/wince/GradientWinCE.cpp: Copied from WebCore/platform/graphics/wince/GradientWince.cpp. * platform/graphics/wince/GradientWince.cpp: Removed. * platform/graphics/wince/GraphicsContextWinCE.cpp: Copied from WebCore/platform/graphics/wince/GraphicsContextWince.cpp. * platform/graphics/wince/GraphicsContextWince.cpp: Removed. * platform/graphics/wince/ImageBufferWinCE.cpp: Copied from WebCore/platform/graphics/wince/ImageBufferWince.cpp. * platform/graphics/wince/ImageBufferWince.cpp: Removed. * platform/graphics/wince/MediaPlayerPrivateWinCE.h: Copied from WebCore/platform/graphics/wince/MediaPlayerPrivateWince.h. * platform/graphics/wince/MediaPlayerPrivateWince.h: Removed. * platform/graphics/wince/PathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PathWince.cpp. * platform/graphics/wince/PathWince.cpp: Removed. * platform/graphics/wince/PlatformPathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PlatformPathWince.cpp. * platform/graphics/wince/PlatformPathWinCE.h: Copied from WebCore/platform/graphics/wince/PlatformPathWince.h. * platform/graphics/wince/PlatformPathWince.cpp: Removed. * platform/graphics/wince/PlatformPathWince.h: Removed. * platform/graphics/wince/SimpleFontDataWinCE.cpp: Copied from WebCore/platform/graphics/wince/SimpleFontDataWince.cpp. * platform/graphics/wince/SimpleFontDataWince.cpp: Removed. * platform/graphics/wince/WinCEGraphicsExtras.h: Copied from WebCore/platform/graphics/wince/WinceGraphicsExtras.h. * platform/graphics/wince/WinceGraphicsExtras.h: Removed. * platform/text/wince/TextBoundariesWinCE.cpp: Copied from WebCore/platform/text/wince/TextBoundariesWince.cpp. * platform/text/wince/TextBoundariesWince.cpp: Removed. * platform/text/wince/TextBreakIteratorWinCE.cpp: Copied from WebCore/platform/text/wince/TextBreakIteratorWince.cpp. * platform/text/wince/TextBreakIteratorWince.cpp: Removed. * platform/wince/CursorWinCE.cpp: Copied from WebCore/platform/wince/CursorWince.cpp. * platform/wince/CursorWince.cpp: Removed. * platform/wince/DragDataWinCE.cpp: Copied from WebCore/platform/wince/DragDataWince.cpp. * platform/wince/DragDataWince.cpp: Removed. * platform/wince/DragImageWinCE.cpp: Copied from WebCore/platform/wince/DragImageWince.cpp. * platform/wince/DragImageWince.cpp: Removed. * platform/wince/EditorWinCE.cpp: Copied from WebCore/platform/wince/EditorWince.cpp. (WebCore::Editor::newGeneralClipboard): * platform/wince/EditorWince.cpp: Removed. * platform/wince/FileChooserWinCE.cpp: Copied from WebCore/platform/wince/FileChooserWince.cpp. * platform/wince/FileChooserWince.cpp: Removed. * platform/wince/FileSystemWinCE.cpp: Copied from WebCore/platform/wince/FileSystemWince.cpp. * platform/wince/FileSystemWince.cpp: Removed. * platform/wince/KURLWinCE.cpp: Copied from WebCore/platform/wince/KURLWince.cpp. * platform/wince/KURLWince.cpp: Removed. * platform/wince/KeygenWinCE.cpp: Copied from WebCore/platform/wince/KeygenWince.cpp. * platform/wince/KeygenWince.cpp: Removed. * platform/wince/MIMETypeRegistryWinCE.cpp: Copied from WebCore/platform/wince/MIMETypeRegistryWince.cpp. * platform/wince/MIMETypeRegistryWince.cpp: Removed. * platform/wince/PasteboardWinCE.cpp: Copied from WebCore/platform/wince/PasteboardWince.cpp. * platform/wince/PasteboardWince.cpp: Removed. * platform/wince/SearchPopupMenuWinCE.cpp: Copied from WebCore/platform/wince/SearchPopupMenuWince.cpp. * platform/wince/SearchPopupMenuWince.cpp: Removed. * platform/wince/SharedTimerWinCE.cpp: Copied from WebCore/platform/wince/SharedTimerWince.cpp. * platform/wince/SharedTimerWince.cpp: Removed. * rendering/RenderThemeWinCE.cpp: Copied from WebCore/rendering/RenderThemeWince.cpp. (WebCore::RenderThemeWinCE::create): (WebCore::RenderTheme::themeForPage): (WebCore::RenderThemeWinCE::RenderThemeWinCE): (WebCore::RenderThemeWinCE::~RenderThemeWinCE): (WebCore::RenderThemeWinCE::platformActiveSelectionBackgroundColor): (WebCore::RenderThemeWinCE::platformInactiveSelectionBackgroundColor): (WebCore::RenderThemeWinCE::platformActiveSelectionForegroundColor): (WebCore::RenderThemeWinCE::platformInactiveSelectionForegroundColor): (WebCore::RenderThemeWinCE::supportsFocus): (WebCore::RenderThemeWinCE::supportsFocusRing): (WebCore::RenderThemeWinCE::determineClassicState): (WebCore::RenderThemeWinCE::getThemeData): (WebCore::RenderThemeWinCE::paintButton): (WebCore::RenderThemeWinCE::setCheckboxSize): (WebCore::RenderThemeWinCE::paintTextField): (WebCore::RenderThemeWinCE::adjustMenuListStyle): (WebCore::RenderThemeWinCE::paintMenuList): (WebCore::RenderThemeWinCE::paintMenuListButton): (WebCore::RenderThemeWinCE::systemFont): (WebCore::RenderThemeWinCE::themeChanged): (WebCore::RenderThemeWinCE::extraDefaultStyleSheet): (WebCore::RenderThemeWinCE::extraQuirksStyleSheet): (WebCore::RenderThemeWinCE::supportsHover): (WebCore::RenderThemeWinCE::systemColor): (WebCore::RenderThemeWinCE::adjustSliderThumbSize): (WebCore::RenderThemeWinCE::adjustButtonInnerStyle): (WebCore::RenderThemeWinCE::adjustSearchFieldStyle): (WebCore::RenderThemeWinCE::paintSearchField): (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle): (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle): (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle): (WebCore::RenderThemeWinCE::paintSearchFieldResultsDecoration): (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle): (WebCore::RenderThemeWinCE::paintSearchFieldResultsButton): (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle): (WebCore::RenderThemeWinCE::paintSliderTrack): (WebCore::RenderThemeWinCE::paintSliderThumb): (WebCore::RenderThemeWinCE::paintMediaFullscreenButton): (WebCore::RenderThemeWinCE::paintMediaMuteButton): (WebCore::RenderThemeWinCE::paintMediaPlayButton): (WebCore::RenderThemeWinCE::paintMediaSeekBackButton): (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton): (WebCore::RenderThemeWinCE::paintMediaSliderTrack): (WebCore::RenderThemeWinCE::paintMediaSliderThumb): * rendering/RenderThemeWinCE.h: Copied from WebCore/rendering/RenderThemeWince.h. * rendering/RenderThemeWince.cpp: Removed. * rendering/RenderThemeWince.h: Removed. * storage/wince/DatabaseThreadWinCE.cpp: Copied from WebCore/storage/wince/DatabaseThreadWince.cpp. * storage/wince/DatabaseThreadWinCE.h: Copied from WebCore/storage/wince/DatabaseThreadWince.h. * storage/wince/DatabaseThreadWince.cpp: Removed. * storage/wince/DatabaseThreadWince.h: Removed. * storage/wince/LocalStorageThreadWinCE.cpp: Copied from WebCore/storage/wince/LocalStorageThreadWince.cpp. * storage/wince/LocalStorageThreadWinCE.h: Copied from WebCore/storage/wince/LocalStorageThreadWince.h. * storage/wince/LocalStorageThreadWince.cpp: Removed. * storage/wince/LocalStorageThreadWince.h: Removed. 2010-09-18 Patrick Gansterer Reviewed by Eric Seidel. Move Plugin*None.cpp from CMakeLists.txt into CMakeListsEfl.txt https://bugs.webkit.org/show_bug.cgi?id=45900 PluginDataNone.cpp and PluginViewNone.cpp are not used by all port. Move them into plaform sepcific build system. * CMakeLists.txt: * CMakeListsEfl.txt: 2010-09-18 Andreas Kling Reviewed by Simon Hausmann. [Qt] Don't copy clip path to TransparencyLayer https://bugs.webkit.org/show_bug.cgi?id=45965 We don't need to copy the GC's clip path to the TransparencyLayer since it will clip anyway when ending the layer. * platform/graphics/qt/TransparencyLayer.h: (WebCore::TransparencyLayer::TransparencyLayer): 2010-09-18 Patrick Gansterer Unreviewed. [WINCE] Buildfix for FrameWince.cpp after r51353, r67762 and r67771. * page/wince/FrameWince.cpp: (WebCore::computePageRectsForFrame): (WebCore::imageFromSelection): 2010-09-18 Kent Tamura Unreviewed, a trivial change. Run sort-Xcode-project-file. * WebCore.xcodeproj/project.pbxproj: 2010-09-18 Dan Bernstein Reviewed by Eric Seidel. REGRESSION (r67762): Over 160 layout tests failing due to incorrect zoom factors in subframes https://bugs.webkit.org/show_bug.cgi?id=46031 * page/Frame.cpp: (WebCore::parentPageZoomFactor): Return the zoom factor of the parent frame. (WebCore::parentTextZoomFactor): Ditto. 2010-09-17 Sam Weinig Reviewed by Jon Honeycutt. Need a way to load data (as plain text) in a WKPage * WebCore.exp.in: 2010-09-17 David Hyatt Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=46027, image on gamespot.com paginates without bringing its enclosing border along. Make sure that unsplittable objects like replaced elements propagate their pagination strut outward to the parent block when appropriate. An image on a line did this, but a block-level image did not. Added fast/multicol/image-inside-nested-blocks-with-border.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChild): 2010-09-17 Dimitri Glazkov Unreviewed, build fix. Move calls from frameView->pageZoomFactor() to frame->pageZoomFactor(). * page/EventHandler.cpp: (WebCore::EventHandler::handleTouchEvent): Removed a helper function, added direct calls to frame->pageZoomFactor(). 2010-09-17 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model. Make printing store the page height in the RenderView and push that into the layout state to use the new pagination model. The old pagination model is retained because it is still used for embedded WebViews. * page/FrameView.cpp: (WebCore::FrameView::reset): (WebCore::FrameView::layout): (WebCore::FrameView::forceLayout): (WebCore::FrameView::forceLayoutForPagination): (WebCore::FrameView::adjustPageHeight): * page/FrameView.h: * page/PrintContext.cpp: (WebCore::PrintContext::computePageRectsWithPageSizeInternal): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintChildren): * rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight): * rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::paint): * rendering/RenderVideo.cpp: (WebCore::RenderVideo::paintReplaced): * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): (WebCore::RenderView::layout): (WebCore::RenderView::paint): (WebCore::RenderView::setBestTruncatedAt): * rendering/RenderView.h: (WebCore::RenderView::popLayoutState): (WebCore::RenderView::pageHeight): (WebCore::RenderView::setPageHeight): (WebCore::RenderView::bestTruncatedAt): (WebCore::RenderView::truncatedAt): (WebCore::RenderView::setTruncatedAt): (WebCore::RenderView::printRect): (WebCore::RenderView::setPrintRect): (WebCore::RenderView::pushLayoutState): (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): (WebCore::LayoutStateMaintainer::push): (WebCore::LayoutStateMaintainer::pop): 2010-09-17 Dan Bernstein Reviewed by Simon Fraser. Canvas sizing ignores intrinsic size https://bugs.webkit.org/show_bug.cgi?id=46024 Updated fast/replaced/table-percent-height.html * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): If this is used as a proxy for