diff options
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r-- | Source/WebCore/ChangeLog | 19846 |
1 files changed, 19846 insertions, 0 deletions
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index b15d4c227..b0b5bdf70 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,19849 @@ +2012-02-24 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Font related problem with newer Qt5 + https://bugs.webkit.org/show_bug.cgi?id=79402 + + Reviewed by Kenneth Rohde Christiansen. + + Apply the descent += 1 workaround needed to produce correct metrics only for Qt 4, + because the behaviour has been corrected in Qt 5. + + * platform/graphics/qt/SimpleFontDataQt.cpp: + (WebCore::SimpleFontData::platformInit): + +2012-02-24 Kentaro Hara <haraken@chromium.org> + + Move XML-related APIs from DOMWindow.idl to DOMWindowXML.idl + https://bugs.webkit.org/show_bug.cgi?id=79434 + + Reviewed by Adam Barth. + + For WebKit modularization, this patch moves XML-related APIs + from DOMWindow.idl to DOMWIndowXML.idl. + + No tests. No change in behavior. + + * xml/DOMWindowXML.idl: Added. + * page/DOMWindow.idl: + + * CMakeLists.txt: Added "DOMWindowXML.idl". + * DerivedSources.make: Ditto. + * DerivedSources.pri: Ditto. + * GNUmakefile.list.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + +2012-02-24 Renata Hodovan <reni@webkit.org> + + External <use> xlink:href references do not work + https://bugs.webkit.org/show_bug.cgi?id=12499 + + Reviewed by Nikolas Zimmermann. + + Support external references on <use> by introducing CachedSVGDocument. + CachedSVGDocument is a CachedResource specialized for SVGDocuments. + This CachedSVGDocument will be stored for every use element with external reference. + This first patch only contains the new classes to test whether it works on every platform. + So they aren't used anywhere and just a follow-up patch will bind them into the caching system. + + No new tests - no change in functionality. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * loader/cache/CachedResource.cpp: + (WebCore::defaultPriorityForResourceType): + (WebCore::cachedResourceTypeToTargetType): + * loader/cache/CachedResource.h: + * loader/cache/CachedResourceClient.h: + (CachedResourceClient): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::createResource): + (WebCore::CachedResourceLoader::checkInsecureContent): + (WebCore::CachedResourceLoader::canRequest): + * loader/cache/CachedSVGDocument.cpp: Added. + (WebCore): + (WebCore::CachedSVGDocument::CachedSVGDocument): + (WebCore::CachedSVGDocument::~CachedSVGDocument): + (WebCore::CachedSVGDocument::setEncoding): + (WebCore::CachedSVGDocument::encoding): + (WebCore::CachedSVGDocument::data): + * loader/cache/CachedSVGDocument.h: Added. + (WebCore): + (CachedSVGDocument): + (WebCore::CachedSVGDocument::document): + (WebCore::CachedSVGDocument::schedule): + (CachedSVGDocumentClient): + (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient): + (WebCore::CachedSVGDocumentClient::expectedType): + (WebCore::CachedSVGDocumentClient::resourceClientType): + +2012-02-24 Alexis Menard <alexis.menard@openbossa.org> + + Little optimization in CSSParser::parseShorthand. + https://bugs.webkit.org/show_bug.cgi?id=79356 + + Reviewed by Tony Chang. + + Remove one loop by initializing array values at declaration time. + Also early return when the number of properties parsed are equals + with longhands count of the shorthand. It happens to be very often + the case (e.g. border). Instruments shows an improvement from 19ms + to 17ms on the time spent in this function for the css-parser-yui + benchmark. + + No new tests : refactor, exisiting ones should cover. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseShorthand): + +2012-02-24 Kentaro Hara <haraken@chromium.org> + + Move HTML-related APIs from DOMWindow.idl to DOMWindowHTML.idl + https://bugs.webkit.org/show_bug.cgi?id=79436 + + Reviewed by Adam Barth. + + For WebKit modularization, this patch moves HTML-related APIs + from DOMWindow.idl to DOMWindowHTML.idl. + + No tests. No change in behavior. + + * html/DOMWindowHTML.idl: + * page/DOMWindow.idl: + +2012-02-24 Jochen Eisinger <jochen@chromium.org> + + [v8] when a named item on document goes out of scope, actually remove it + https://bugs.webkit.org/show_bug.cgi?id=79409 + + Reviewed by Adam Barth. + + The original change already included the code, but it led to some + problems, so it was reverted in http://trac.webkit.org/changeset/63845. + However, not removing the items leaks a considerable amount of memory, + so I'm adding the code back. The bug that led to the revert was that + the accessor was removed unconditionally. I'm now only removing it, + when the last item with that name is removed. + + Test: fast/dom/HTMLDocument/named-item.html + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::namedItemRemoved): + +2012-02-24 Kentaro Hara <haraken@chromium.org> + + Move Worker-related APIs from DOMWindow.idl to DOMWindowWorker.idl + https://bugs.webkit.org/show_bug.cgi?id=79442 + + Reviewed by Adam Barth. + + For WebKit modularization, this patch moves Worker-related APIs + from DOMWindow.idl to DOMWindowWorker.idl. + + No tests. No change in behavior. + + * workers/DOMWindowWorker.idl: Added. + * page/DOMWindow.idl: + + * CMakeLists.txt: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * WebCore.gypi: + +2012-02-24 Robin Cao <robin.cao@torchmobile.com.cn> + + [BlackBerry] Upstream helper classes for skia + https://bugs.webkit.org/show_bug.cgi?id=79216 + + Reviewed by Antonio Gomes. + + Initial upstreaming, no new tests. + + * platform/graphics/blackberry/skia/ImageBufferData.h: Added. + (WebCore): + (ImageBufferData): + * platform/graphics/blackberry/skia/PlatformSupport.cpp: Added. + (WebCore): + (WebCore::setFontRenderStyleDefaults): + (WebCore::PlatformSupport::getRenderStyleForStrike): + (WebCore::PlatformSupport::getFontFamilyForCharacters): + * platform/graphics/blackberry/skia/PlatformSupport.h: Added. + (WebCore): + (PlatformSupport): + (FontFamily): + +2012-02-24 Robin Cao <robin.cao@torchmobile.com.cn> + + [BlackBerry] Upstream ImageBlackBerry in platform/graphics/blackberry + https://bugs.webkit.org/show_bug.cgi?id=79212 + + Reviewed by Antonio Gomes. + + Initial upstreaming, no new tests. + + * PlatformBlackBerry.cmake: + * platform/graphics/blackberry/ImageBlackBerry.cpp: Added. + (WebCore): + (WebCore::Image::loadPlatformResource): + +2012-02-24 Leo Yang <leo.yang@torchmobile.com.cn> + + [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntSize.h + https://bugs.webkit.org/show_bug.cgi?id=79430 + + Reviewed by Antonio Gomes. + + Add conversion convenience between WebCore::IntSize and BlackBerry::Platform::IntSize. + + The porting can't be built yet, no new tests. + + * platform/graphics/IntSize.h: + (Platform): + (IntSize): + +2012-02-24 Shinya Kawanaka <shinyak@chromium.org> + + SpellCheckRequest needs to know the context where the spellcheck happened. + https://bugs.webkit.org/show_bug.cgi?id=79320 + + Reviewed by Hajime Morita. + + WebKit clients should be able to get the context how the spellcheck happended. + For example, WebKit clients may want to change the behavior by a spellcheck request is + invoked in typing or in pasting. + + This patch added an enum in SpellCheckRequest so that WebKit clients can understand the context. + + * editing/Editor.cpp: + (WebCore::Editor::replaceSelectionWithFragment): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + * editing/SpellChecker.cpp: + (WebCore::SpellCheckRequest::SpellCheckRequest): + (WebCore::SpellCheckRequest::create): + (WebCore::SpellChecker::invokeRequest): + * editing/SpellChecker.h: + (SpellCheckRequest): + (WebCore::SpellCheckRequest::textCheckingRequest): + (WebCore::SpellCheckRequest::processType): + * loader/EmptyClients.h: + (WebCore::EmptyTextCheckerClient::requestCheckingOfString): + * platform/text/TextCheckerClient.h: + (WebCore): + (TextCheckerClient): + * platform/text/TextChecking.h: + (TextCheckingRequest): + (WebCore::TextCheckingRequest::TextCheckingRequest): + (WebCore::TextCheckingRequest::setSequence): + (WebCore::TextCheckingRequest::sequence): + (WebCore::TextCheckingRequest::text): + (WebCore::TextCheckingRequest::mask): + (WebCore::TextCheckingRequest::processType): + (WebCore): + +2012-02-24 Hayato Ito <hayato@chromium.org> + + Make Node::showTreeForThis (and Node::showTreeForThisAcrossFrame) dump multiple shadow roots. + https://bugs.webkit.org/show_bug.cgi?id=79351 + + Reviewed by Dimitri Glazkov. + + No new tests since these utility functions are only available in debug build. + I manually tested in GDB session. + + * dom/Node.cpp: + (WebCore::oldestShadowRootFor): + (WebCore::traverseTreeAndMark): + (WebCore::parentOrHostOrFrameOwner): + (WebCore::showSubTreeAcrossFrame): + * dom/ShadowRoot.h: + (WebCore::ShadowRoot::youngerShadowRoot): + (WebCore::ShadowRoot::olderShadowRoot): + (WebCore::toShadowRoot): + (WebCore): + +2012-02-24 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: follow up to inspector's r108331, using more general condition. + + * inspector/front-end/JavaScriptSourceFrame.js: + (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor): + +2012-02-24 Kentaro Hara <haraken@chromium.org> + + Move WebGL APIs from DOMWindow.idl to DOMWindowWebGL.idl + https://bugs.webkit.org/show_bug.cgi?id=79432 + + Reviewed by Adam Barth. + + For WebKit modularization, this patch moves WebGL-related APIs + from DOMWindow.idl to DOMWindowWebGL.idl. + + No tests. No change in behavior. + + * html/canvas/DOMWindowWebGL.idl: Added. + * page/DOMWindow.idl: + + * DerivedSources.make: Added DOMWindowWebGL.idl. + * DerivedSources.pri: Ditto. + * GNUmakefile.list.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + +2012-02-24 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [Regression] network worker tests crash on qt. + https://bugs.webkit.org/show_bug.cgi?id=79263 + + Reviewed by Pavel Feldman. + + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::createDecoder): + (WebCore::InspectorPageAgent::cachedResourceContent): + +2012-02-24 Andreas Kling <awesomekling@apple.com> + + Miscellaneous CSSParser dodging in presentation attribute parsing. + <http://webkit.org/b/79468> + + Reviewed by Antti Koivisto. + + - Bypass CSSParser when adding constant values to attribute styles. + - Added fast paths for the valid HTMLTablePartElement align values. + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::collectStyleForAttribute): + * html/HTMLHRElement.cpp: + (WebCore::HTMLHRElement::collectStyleForAttribute): + * html/HTMLIFrameElement.cpp: + (WebCore::HTMLIFrameElement::collectStyleForAttribute): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::collectStyleForAttribute): + * html/HTMLTablePartElement.cpp: + (WebCore::HTMLTablePartElement::collectStyleForAttribute): + +2012-02-24 Dana Jansens <danakj@chromium.org> + + [chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw culling + https://bugs.webkit.org/show_bug.cgi?id=79183 + + Reviewed by James Robinson. + + Addresses performance issues with draw culling by avoiding the work + of mapRect and other function calls when the quad has no opaque area. + And adds a TRACE_EVENT to watch the time spent in draw culling. + + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses): + * platform/graphics/chromium/cc/CCQuadCuller.cpp: + (WebCore::CCQuadCuller::cullOccludedQuads): + +2012-02-24 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Scripts panel navigator overlay should be shown automatically only one time. + https://bugs.webkit.org/show_bug.cgi?id=79467 + + Reviewed by Pavel Feldman. + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay): + (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide): + +2012-02-23 MORITA Hajime <morrita@google.com> + + Adding a ShadowRoot to image-backed element causes a crash + https://bugs.webkit.org/show_bug.cgi?id=78878 + + Reviewed by Dimitri Glazkov. + + The crash happened because NodeRenderingContext tried to append a + child to a renderer regardless one isn't capable of holding any + children if it appears in the shadow attaching phase. RenderImage + is one of such renderer classes which aren't capable. + + NodeRenderingContext decide whether the contextual node as a child + can create its renderer based on RenderObject::canHaveChildren() + and Node::childShouldCreateRenderer(). But the responsibility + between these two methods are getting confused. which results this + unfortuante crash path. + + This change re-aligns the responsibility: + + - Now canHaveChildren() purely declares the ability of the + renderer. If the renderer is capable of having children, it + return true regardless of HTML semantics. + + - On the other hand, childShouldCreateRenderer() cares about the + semantics. If the element doesn't allow children to be rendered, + this returns false. + + - Note that these decision on elements are contextual. Each element + needs to know which role it is playing in the tree composition + algorithm of Shadow DOM. That's why the method parameter is changed + from Node* to NodeRenderingContext. + + - Fixed updateFirstLetter() which relied on this confused assumption. + This change introduces RenderDeprecatedFlexibleBox::buttonText() + to refine the relying assumption. + + With this change, some decision points are moved from a renderer to an + element. Following renderers no longer stop reject having children: + + - RenderButton, RenderListBox, RenderMenuList, RenderMeter, + RenderProgress, RenderTextControl. + + Corresponding element for such a render (HTMLProgressElement of + RenderProgress for exaple) now cares about that. + + Reviewed by Dimitri Glazkov. + + Tests: fast/dom/shadow/shadow-on-image-expected.html + fast/dom/shadow/shadow-on-image.html + + * dom/Element.cpp: + (WebCore::Element::childShouldCreateRenderer): + * dom/Element.h: + (Element): + * dom/Node.h: + (WebCore::Node::childShouldCreateRenderer): + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::shouldCreateRenderer): + * dom/NodeRenderingContext.h: + (NodeRenderingContext): + (WebCore::NodeRenderingContext::isOnEncapsulationBoundary): + (WebCore): + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::childShouldCreateRenderer): + * html/HTMLDetailsElement.h: + (HTMLDetailsElement): + * html/HTMLMediaElement.cpp: + (WebCore): + (WebCore::HTMLMediaElement::childShouldCreateRenderer): + * html/HTMLMediaElement.h: + (HTMLMediaElement): + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLMeterElement.h: + (HTMLMeterElement): + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLProgressElement.h: + (HTMLProgressElement): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLSelectElement.h: + (HTMLSelectElement): + * html/HTMLSummaryElement.cpp: + (WebCore::HTMLSummaryElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLSummaryElement.h: + (HTMLSummaryElement): + * html/HTMLTextFormControlElement.cpp: + (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLTextFormControlElement.h: + (HTMLTextFormControlElement): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + * rendering/RenderButton.cpp: + * rendering/RenderButton.h: + (RenderButton): + * rendering/RenderDeprecatedFlexibleBox.h: + (WebCore::RenderDeprecatedFlexibleBox::buttonText): + * rendering/RenderListBox.h: + (RenderListBox): + * rendering/RenderMedia.h: + (WebCore::RenderMedia::canHaveChildren): + * rendering/RenderMenuList.h: + (RenderMenuList): + (WebCore::RenderMenuList::hasControlClip): + * rendering/RenderMeter.h: + * rendering/RenderProgress.h: + * rendering/RenderTextControl.h: + * rendering/svg/RenderSVGRoot.h: + (WebCore::RenderSVGRoot::canHaveChildren): + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::childShouldCreateRenderer): + * svg/SVGAElement.h: + (SVGAElement): + * svg/SVGAltGlyphElement.cpp: + (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): + * svg/SVGAltGlyphElement.h: + (SVGAltGlyphElement): + * svg/SVGDocument.cpp: + (WebCore::SVGDocument::childShouldCreateRenderer): + * svg/SVGDocument.h: + (SVGDocument): + * svg/SVGElement.cpp: + (WebCore::SVGElement::childShouldCreateRenderer): + * svg/SVGElement.h: + (SVGElement): + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): + * svg/SVGForeignObjectElement.h: + (SVGForeignObjectElement): + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::childShouldCreateRenderer): + * svg/SVGSwitchElement.h: + (SVGSwitchElement): + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::childShouldCreateRenderer): + * svg/SVGTRefElement.h: + (SVGTRefElement): + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::childShouldCreateRenderer): + * svg/SVGTSpanElement.h: + (SVGTSpanElement): + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::childShouldCreateRenderer): + * svg/SVGTextElement.h: + (SVGTextElement): + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::childShouldCreateRenderer): + * svg/SVGTextPathElement.h: + +2012-02-24 Kentaro Hara <haraken@chromium.org> + + Support [Supplemental] on static methods + https://bugs.webkit.org/show_bug.cgi?id=79357 + + Reviewed by Adam Barth. + + [Supplemental] on static methods does not work in CodeGeneratorJS.pm + and CodeGeneratorV8.pm due to mis-ordered if-elsif statements. + This patch fixes it and supports [Supplemental] on static methods. + + Test: bindings/scripts/test/TestSupplemental.idl + + * bindings/scripts/CodeGeneratorJS.pm: Modified as described above. + (GenerateParametersCheck): + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + (GenerateFunctionCallString): + + * bindings/scripts/test/TestSupplemental.idl: Added a test case. + + * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated run-bindings-tests results. + (WebDOMTestInterface::supplementalMethod4): + * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto. + (webkit_dom_test_interface_supplemental_method4): + * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto. + * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto. + (WebCore): + (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot): + (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor): + (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): + * bindings/scripts/test/JS/JSTestInterface.h: Ditto. + (WebCore): + * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto. + (-[DOMTestInterface supplementalMethod4]): + * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto. + (TestInterfaceInternal): + (WebCore::TestInterfaceInternal::supplementalMethod4Callback): + (WebCore::ConfigureV8TestInterfaceTemplate): + +2012-02-24 Tony Chang <tony@chromium.org> + + Small refactor in RenderFlexibleBox::layoutAndPlaceChildren + https://bugs.webkit.org/show_bug.cgi?id=79420 + + Reviewed by Ojan Vafai. + + No new tests, just a refactor. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Share some of the logic + in computing the cross axis length. + +2012-02-24 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: cannot drag timeline overview window when clicking inside the window + https://bugs.webkit.org/show_bug.cgi?id=79453 + + Reviewed by Pavel Feldman. + + * inspector/front-end/timelinePanel.css: + (.timeline-overview-window-rulers): + +2012-02-24 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r108731. + http://trac.webkit.org/changeset/108731 + https://bugs.webkit.org/show_bug.cgi?id=79464 + + Broke Chromium Win tests (Requested by bashi on #webkit). + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * websockets/WebSocket.cpp: + (WebCore::WebSocket::didConnect): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::connect): + (WebCore::WebSocketChannel::fail): + (WebCore::WebSocketChannel::processFrame): + (WebCore::WebSocketChannel::sendFrame): + * websockets/WebSocketChannel.h: + * websockets/WebSocketDeflateFramer.cpp: Removed. + * websockets/WebSocketDeflateFramer.h: Removed. + +2012-02-22 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Show scripts panel navigator overlay on the first scripts panel opening. + https://bugs.webkit.org/show_bug.cgi?id=79248 + + Reviewed by Pavel Feldman. + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.wasShown): + (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay): + (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay): + +2012-02-24 Mike Lawther <mikelawther@chromium.org> + + CSS3 calc(): handle non-negative values + https://bugs.webkit.org/show_bug.cgi?id=79188 + + Reviewed by Daniel Bates. + + Some CSS properties (e.g. padding) are required to be non-negative. These + are now restricted to the correct range. + + Tests: css3/calc/negative-padding-expected.html + css3/calc/negative-padding.html + + * css/CSSCalculationValue.cpp: + (WebCore): + (WebCore::CSSCalcValue::clampToPermittedRange): Added + (WebCore::CSSCalcValue::doubleValue): + (WebCore::CSSCalcValue::isNegative): Added + (WebCore::CSSCalcValue::computeLengthPx): + (WebCore::CSSCalcValue::create): + * css/CSSCalculationValue.h: + (CSSCalcValue): + (WebCore::CSSCalcValue::CSSCalcValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::validCalculationUnit): + (WebCore::CSSParser::parseCalculation): + * css/CSSParser.h: + * platform/CalculationValue.h: + +2012-02-22 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [Regression] xhr tests are crashing after r108506. + https://bugs.webkit.org/show_bug.cgi?id=79265 + + Reviewed by Pavel Feldman. + + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::setInitialScriptContent): + (WebCore::InspectorResourceAgent::setInitialXHRContent): + +2012-02-24 Huang Dongsung <luxtella@company100.net> + + Rename LocalStorageThread to StorageThread and LocalStorageTask to StorageTask. + https://bugs.webkit.org/show_bug.cgi?id=79358 + + Revision 45124 commented FIXME to rename these classes. + + Reviewed by Kentaro Hara. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.order: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * storage/LocalStorageTask.h: Removed. + * storage/StorageSyncManager.cpp: + (WebCore::StorageSyncManager::StorageSyncManager): + (WebCore::StorageSyncManager::scheduleImport): + (WebCore::StorageSyncManager::scheduleSync): + (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase): + * storage/StorageSyncManager.h: + (WebCore): + (StorageSyncManager): + * storage/StorageTask.cpp: Renamed from Source/WebCore/storage/LocalStorageTask.cpp. + (WebCore): + (WebCore::StorageTask::StorageTask): + (WebCore::StorageTask::~StorageTask): + (WebCore::StorageTask::performTask): + * storage/StorageTask.h: Added. + (WebCore): + (StorageTask): + (WebCore::StorageTask::createImport): + (WebCore::StorageTask::createSync): + (WebCore::StorageTask::createDeleteEmptyDatabase): + (WebCore::StorageTask::createOriginIdentifiersImport): + (WebCore::StorageTask::createSetOriginDetails): + (WebCore::StorageTask::createDeleteOrigin): + (WebCore::StorageTask::createDeleteAllOrigins): + (WebCore::StorageTask::createTerminate): + * storage/StorageThread.cpp: Renamed from Source/WebCore/storage/LocalStorageThread.cpp. + (WebCore): + (WebCore::StorageThread::create): + (WebCore::StorageThread::StorageThread): + (WebCore::StorageThread::~StorageThread): + (WebCore::StorageThread::start): + (WebCore::StorageThread::threadEntryPointCallback): + (WebCore::StorageThread::threadEntryPoint): + (WebCore::StorageThread::scheduleTask): + (WebCore::StorageThread::terminate): + (WebCore::StorageThread::performTerminate): + * storage/StorageThread.h: Renamed from Source/WebCore/storage/LocalStorageThread.h. + (WebCore): + (StorageThread): + * storage/StorageTracker.cpp: + (WebCore::StorageTracker::StorageTracker): + (WebCore::StorageTracker::importOriginIdentifiers): + (WebCore::StorageTracker::setOriginDetails): + (WebCore::StorageTracker::scheduleTask): + (WebCore::StorageTracker::deleteAllOrigins): + (WebCore::StorageTracker::deleteOrigin): + * storage/StorageTracker.h: + (WebCore): + (StorageTracker): + * storage/wince/StorageThreadWinCE.cpp: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.cpp. + (WebCore): + (WebCore::StorageThread::StorageThread): + (WebCore::StorageThread::~StorageThread): + (WebCore::StorageThread::start): + (WebCore::StorageThread::timerFired): + (WebCore::StorageThread::scheduleImport): + (WebCore::StorageThread::scheduleSync): + (WebCore::StorageThread::terminate): + (WebCore::StorageThread::performTerminate): + * storage/wince/StorageThreadWinCE.h: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.h. + (WebCore): + (StorageThread): + (WebCore::StorageThread::create): + +2012-02-23 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: prepare border images on timelines to enable zooming. + https://bugs.webkit.org/show_bug.cgi?id=79360 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/Images/timelineBarBlue.png: + * inspector/front-end/Images/timelineBarGray.png: + * inspector/front-end/Images/timelineBarGreen.png: + * inspector/front-end/Images/timelineBarOrange.png: + * inspector/front-end/Images/timelineBarPurple.png: + * inspector/front-end/Images/timelineBarRed.png: + * inspector/front-end/Images/timelineBarYellow.png: + * inspector/front-end/Images/timelineHollowPillBlue.png: + * inspector/front-end/Images/timelineHollowPillGray.png: + * inspector/front-end/Images/timelineHollowPillGreen.png: + * inspector/front-end/Images/timelineHollowPillOrange.png: + * inspector/front-end/Images/timelineHollowPillPurple.png: + * inspector/front-end/Images/timelineHollowPillRed.png: + * inspector/front-end/Images/timelineHollowPillYellow.png: + * inspector/front-end/Images/timelinePillBlue.png: + * inspector/front-end/Images/timelinePillGray.png: + * inspector/front-end/Images/timelinePillGreen.png: + * inspector/front-end/Images/timelinePillOrange.png: + * inspector/front-end/Images/timelinePillPurple.png: + * inspector/front-end/Images/timelinePillRed.png: + * inspector/front-end/Images/timelinePillYellow.png: + * inspector/front-end/inspectorCommon.css: + (body): + * inspector/front-end/networkLogView.css: + (.network-graph-bar): + (.resource-cached .network-graph-bar): + (.network-category-documents .network-graph-bar): + (.network-category-documents.resource-cached .network-graph-bar): + (.network-category-stylesheets .network-graph-bar): + (.network-category-stylesheets.resource-cached .network-graph-bar): + (.network-category-images.resource-cached .network-graph-bar): + (.network-category-fonts .network-graph-bar): + (.network-category-fonts.resource-cached .network-graph-bar): + (.network-category-scripts .network-graph-bar): + (.network-category-scripts.resource-cached .network-graph-bar): + (.network-category-xhr .network-graph-bar): + (.network-category-xhr.resource-cached .network-graph-bar): + (.network-category-websockets .network-graph-bar): + (.network-category-websockets.resource-cached .network-graph-bar): + +2012-02-23 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: exception in front-end on selecting an element in heap snapshot + https://bugs.webkit.org/show_bug.cgi?id=79447 + + Fixed a typo in method name and added a check that selected node has + corresponding heap snapshot object before adding that object to the console + as $0 entry. + + Reviewed by Pavel Feldman. + + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged): + +2012-02-23 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: hide color picker upon panel switch. + https://bugs.webkit.org/show_bug.cgi?id=79355 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.willHide): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged): + (WebInspector.StylesSidebarPane.prototype.willHide): + +2012-02-23 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: make color review larger in the color picker. + https://bugs.webkit.org/show_bug.cgi?id=79339 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/Popover.js: + (WebInspector.Popover.prototype.hide): + * inspector/front-end/Spectrum.js: + * inspector/front-end/elementsPanel.css: + (.spectrum-container): + (.spectrum-color): + (.spectrum-display-value): + (.spectrum-hue): + (.spectrum-fill): + (.spectrum-range-container label): + (.spectrum-range-container input): + (.spectrum-slider): + (.spectrum-container .swatch): + * inspector/front-end/inspector.css: + (.swatch): + +2012-02-23 Kenichi Ishibashi <bashi@chromium.org> + + [Chromium] Add HarfBuzzShaperBase class + https://bugs.webkit.org/show_bug.cgi?id=79336 + + Extract a part of ComplexTextControllerHarfBuzz class as + HarfBuzzShaperBase class. This patch intends to share the code between + old HarfBuzz and HarfBuzz-ng. + + Reviewed by Tony Chang. + + No new tests. No behavior change. Existing tests in fast/text should pass. + + * PlatformBlackBerry.cmake: Added HarfBuzzShaperBase.cpp. + * WebCore.gyp/WebCore.gyp: Added HarfBuzzShaperBase.(cpp|h). + * WebCore.gypi: Ditto. + * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: + (WebCore::ComplexTextController::ComplexTextController): Removed redundant arguments. + (WebCore::ComplexTextController::nextScriptRun): Use m_normalizedBuffer and m_normalizedBufferLength instead of m_run. + (WebCore::ComplexTextController::setupFontForScriptRun): Ditto. + (WebCore::ComplexTextController::setGlyphPositions): Ditto. + * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: + (ComplexTextController): + * platform/graphics/harfbuzz/FontHarfBuzz.cpp: + (WebCore::Font::drawComplexText): Removed redundant arguments of ComplexTextController constructor. + (WebCore::Font::floatWidthForComplexText): Ditto. + (WebCore::Font::offsetForPositionForComplexText): Ditto. + (WebCore::Font::selectionRectForComplexText): Ditto. + * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: Added. + (WebCore): + (WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase): + (WebCore::normalizeSpacesAndMirrorChars): + (WebCore::HarfBuzzShaperBase::setNormalizedBuffer): + (WebCore::HarfBuzzShaperBase::isWordEnd): + (WebCore::HarfBuzzShaperBase::determineWordBreakSpacing): + (WebCore::HarfBuzzShaperBase::setPadding): + * platform/graphics/harfbuzz/HarfBuzzShaperBase.h: Added. + (WebCore): + (HarfBuzzShaperBase): + (WebCore::HarfBuzzShaperBase::~HarfBuzzShaperBase): + (WebCore::HarfBuzzShaperBase::isCodepointSpace): + +2012-02-23 Kenichi Ishibashi <bashi@chromium.org> + + Adding WebSocket per-frame DEFLATE extension + https://bugs.webkit.org/show_bug.cgi?id=77522 + + Add WebSocketDeflateFramer class which handles deflate-frame extension. + This class encapsulates WebSocketDeflater and WebSocketInflater classes, + which depend on zlib, so that WebSocketChannel is not necessary to aware + zlib dependency. + + This is the second patch to land. The previous patch broke Chromium Win + release build. r108600 should fix the build failure. I also added + zlib entry to |export_dependent_settings| of |webcore_prerequisites| + target. + + Reviewed by Kent Tamura. + + Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html + http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html + http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html + http/tests/websocket/tests/hybi/deflate-frame-parameter.html + + * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h) + * GNUmakefile.list.am: Ditto. + * Target.pri: Ditto. + * WebCore.gypi: Ditto. + * WebCore.gyp/WebCore.gyp: Added zlib dependency. + * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h) + * WebCore.xcodeproj/project.pbxproj: Ditto. + * websockets/WebSocket.cpp: + (WebCore::WebSocket::didConnect): Set m_extensions. + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use. + (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail(). + (WebCore::WebSocketChannel::processFrame): Decompress frames if needed. + (WebCore::WebSocketChannel::sendFrame): Compress frames if possible. + * websockets/WebSocketChannel.h: + * websockets/WebSocketDeflateFramer.cpp: Added. + (WebCore): + (WebSocketExtensionDeflateFrame): + (WebCore::WebSocketExtensionDeflateFrame::create): + (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame): + (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame): + (WebCore::WebSocketExtensionDeflateFrame::handshakeString): + (WebCore::WebSocketExtensionDeflateFrame::processResponse): + (WebCore::DeflateResultHolder::DeflateResultHolder): + (WebCore::DeflateResultHolder::~DeflateResultHolder): + (WebCore::DeflateResultHolder::fail): + (WebCore::InflateResultHolder::InflateResultHolder): + (WebCore::InflateResultHolder::~InflateResultHolder): + (WebCore::InflateResultHolder::fail): + (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer): + (WebCore::WebSocketDeflateFramer::createExtensionProcessor): + (WebCore::WebSocketDeflateFramer::canDeflate): + (WebCore::WebSocketDeflateFramer::enableDeflate): + (WebCore::WebSocketDeflateFramer::deflate): + (WebCore::WebSocketDeflateFramer::resetDeflateContext): + (WebCore::WebSocketDeflateFramer::inflate): + (WebCore::WebSocketDeflateFramer::resetInflateContext): + (WebCore::WebSocketDeflateFramer::didFail): + * websockets/WebSocketDeflateFramer.h: Added. + (WebCore): + (DeflateResultHolder): + (WebCore::DeflateResultHolder::succeeded): + (WebCore::DeflateResultHolder::failureReason): + (InflateResultHolder): + (WebCore::InflateResultHolder::succeeded): + (WebCore::InflateResultHolder::failureReason): + (WebSocketDeflateFramer): + (WebCore::WebSocketDeflateFramer::enabled): + +2012-02-23 Andy Estes <aestes@apple.com> + + Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API. + https://bugs.webkit.org/show_bug.cgi?id=79433 + + Reviewed by Dan Bernstein. + + * dom/Document.cpp: + (WebCore::Document::implicitClose): + (WebCore::Document::visualUpdatesAllowed): + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setSuppressesIncrementalRendering): + (WebCore::Settings::suppressesIncrementalRendering): + (Settings): + +2012-02-23 Erik Arvidsson <arv@chromium.org> + + Rename DOMWindow to Window in the bindings + https://bugs.webkit.org/show_bug.cgi?id=78721 + + Reviewed by Adam Barth. + + Covered by existing tests. + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGenericObjectNode): + (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow): + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshotNode.prototype.get isWindow): + (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance): + (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): + * page/DOMWindow.idl: + +2012-02-23 Shinya Kawanaka <shinyak@chromium.org> + + NodeRenderingContext should have ShadowRootList instead of ShadowRoot. + https://bugs.webkit.org/show_bug.cgi?id=79079 + + Reviewed by Dimitri Glazkov. + + Apparently NodeRenderingContext should have ShadowRootList instead of ShadowRoot. + This patch changes it. + + No new tests. Simple refactoring. + + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::NodeRenderingContext): + (WebCore::NodeRenderingContext::hostChildrenChanged): + (WebCore::NodeRenderingContext::shouldCreateRenderer): + * dom/NodeRenderingContext.h: + (WebCore): + +2012-02-23 Ian Vollick <vollick@chromium.org> + + [chromium] Implement keyframed animations for the cc thread. + https://bugs.webkit.org/show_bug.cgi?id=77229 + + Reviewed by James Robinson. + + * WebCore.gypi: + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::hasActiveAnimation): + (WebCore): + * platform/graphics/chromium/LayerChromium.h: + (LayerChromium): + * platform/graphics/chromium/cc/CCActiveAnimation.cpp: + (WebCore::CCActiveAnimation::CCActiveAnimation): + (WebCore::CCActiveAnimation::isFinishedAt): + (WebCore::CCActiveAnimation::trimTimeToCurrentIteration): + (WebCore::CCActiveAnimation::cloneForImplThread): + * platform/graphics/chromium/cc/CCActiveAnimation.h: + (WebCore::CCActiveAnimation::curve): + (CCActiveAnimation): + * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Added. + (WebCore::CCKeyframedFloatAnimationCurve::create): + (WebCore): + (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve): + (WebCore::CCKeyframedFloatAnimationCurve::~CCKeyframedFloatAnimationCurve): + (WebCore::CCKeyframedFloatAnimationCurve::duration): + (WebCore::CCKeyframedFloatAnimationCurve::clone): + (WebCore::CCKeyframedFloatAnimationCurve::getValue): + (WebCore::CCKeyframedTransformAnimationCurve::create): + (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve): + (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve): + (WebCore::CCKeyframedTransformAnimationCurve::duration): + (WebCore::CCKeyframedTransformAnimationCurve::clone): + (WebCore::CCKeyframedTransformAnimationCurve::getValue): + * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Added. + (WebCore): + (WebCore::CCFloatKeyframe::CCFloatKeyframe): + (CCFloatKeyframe): + (WebCore::CCTransformKeyframe::CCTransformKeyframe): + (CCTransformKeyframe): + (CCKeyframedFloatAnimationCurve): + (CCKeyframedTransformAnimationCurve): + * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: + (WebCore::CCLayerAnimationController::addAnimation): + * platform/graphics/chromium/cc/CCLayerAnimationController.h: + (WebCore::CCLayerAnimationController::hasActiveAnimation): + (CCLayerAnimationController): + * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: + (WebCore::CCLayerAnimationControllerImpl::tickAnimations): + +2012-02-23 Raymond Toy <rtoy@google.com> + + Use MathExtras round() in timeToSampleFrame + https://bugs.webkit.org/show_bug.cgi?id=79281 + + Reviewed by Chris Rogers. + + No new tests. Existing tests cover this change. + + * platform/audio/AudioUtilities.cpp: + (WebCore::AudioUtilities::timeToSampleFrame): Use round(). + +2012-02-23 Greg Billock <gbillock@google.com> + + Don't clear IntentRequest callback pointers on stop() + + This causes re-entry into ScriptExecutionContext when + the ActiveDOMCallback objects get deleted, which crashes. + Instead, just de-activate the object and wait for + context destruction to clean up. + + Test crashes consistently without fix and passes with fix. + Added some test infrastructure to support this test. + https://bugs.webkit.org/show_bug.cgi?id=78638 + + Reviewed by Adam Barth. + + * Modules/intents/IntentRequest.cpp: + (WebCore::IntentRequest::IntentRequest): + (WebCore::IntentRequest::stop): + (WebCore::IntentRequest::postResult): + (WebCore::IntentRequest::postFailure): + * Modules/intents/IntentRequest.h: + (IntentRequest): + +2012-02-23 Konrad Piascik <kpiascik@rim.com> + + Upstream BlackBerry Cookie Management Classes + https://bugs.webkit.org/show_bug.cgi?id=73654 + + Reviewed by Rob Buis. + + Added ManualTests/cookieSpeedTest.html as well as tested functionality + on the BlackBerry port with http://testsuites.opera.com/cookies/ + Passes all non Cookie 2 tests since Cookie 2 is not implemented/supported at this time. + Error handling and extended tests do not all pass and will be updated with future bugs/patches. + + * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: Added. + * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h: Added. + * platform/blackberry/CookieJarBlackBerry.cpp: Added. + * platform/blackberry/CookieManager.cpp: Added. + * platform/blackberry/CookieManager.h: Added. + * platform/blackberry/CookieMap.cpp: Added. + * platform/blackberry/CookieMap.h: Added. + * platform/blackberry/CookieParser.cpp: Added. + * platform/blackberry/CookieParser.h: Added. + * platform/blackberry/ParsedCookie.cpp: Added. + * platform/blackberry/ParsedCookie.h: Added. + +2012-02-23 Levi Weintraub <leviw@chromium.org> + + Switch drawLineForBoxSide to use integers + https://bugs.webkit.org/show_bug.cgi?id=78647 + + Reviewed by Eric Seidel. + + drawLineForBoxSide handles painting lines for boxes which must be done on pixel boundaries. + Its interface doesn't make it possible to pixel snap properly within the function itself -- + it draws one side of the box at a time, and the logical right and bottom lines can only be + properly determined using the logical top and left positions -- so it needs to be treated + like a graphics context function, whereby the caller handles the proper pixel snapping before + passing the values in. + + No new tests. No change in behavior. + + * rendering/LayoutTypes.h: + (WebCore::pixelSnappedIntRectFromEdges): convenience function for returning a pixel snapped + int rect from four LayoutUnits that are its edges (as opposed to position and size). + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintColumnRules): Pixel snapping the column rule rect. + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintOneBorderSide): Side rects are now IntRects by the time + they get to paintOneBorderSide. + (WebCore::calculateSideRect): Properly use RoundedRect as IntRects instead of LayoutRects. + (WebCore::RenderBoxModelObject::paintBorderSides): Ditto. + (WebCore::RenderBoxModelObject::paintBorder): Ditto. + (WebCore::calculateSideRectIncludingInner): Ditto. + * rendering/RenderBoxModelObject.h: + (RenderBoxModelObject): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::paintOutlineForLine): Outline widths are related to borders and stored + as ints. Removing an unnecessary conversion to LayoutUnits. Pixel snapping the edges of the box. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawLineForBoxSide): Moving back to integers and removing an + unnecessary pixelSnappedIntRect call. + (WebCore::RenderObject::paintOutline): Pixel snapping the column rule rect and using an integer + for outlineOffset. + * rendering/RenderObject.h: + (RenderObject): + +2012-02-23 Leo Yang <leo.yang@torchmobile.com.cn> + + [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntPoint.h + https://bugs.webkit.org/show_bug.cgi?id=79094 + + Reviewed by Antonio Gomes. + + Add conversion convenience between WebCore::IntPoint and BlackBerry::Platform::IntPoint. + + The porting can't be built yet, no new tests. + + * platform/graphics/IntPoint.h: + (Platform): + (IntPoint): + +2012-02-23 Justin Novosad <junov@chromium.org> + + [Chromium] Add profiling trace for deferred canvas rendering + https://bugs.webkit.org/show_bug.cgi?id=79376 + + Reviewed by Stephen White. + + No new tests. + + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::paintContentsIfDirty): + Profiling trace for the entire method, as well as for + calls to canvas flush and context flush, both of which may + cause deferred operation to be executed. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::bitmap): + Inserting a profiling trace in this method because it may cause + deferred draw commands to be executed. + +2012-02-23 Shinya Kawanaka <shinyak@chromium.org> + + ShadowRootList should have recalculation flag instead of ShadowRoot. + https://bugs.webkit.org/show_bug.cgi?id=79071 + + Reviewed by Hajime Morita. + + When light children or shadow children are changed, we currently re-construct a shadow subtree. + However, when supporting multiple shadow subtrees, all shadow subtrees should be re-constructed. + So ShadowRootList should have re-construction flag instead of ShadowRoot. + + Also, re-construction methods in ShadowRoot should be moved to ShadowRootList. + + No new tests, should be convered by existing tests. + + * dom/Element.cpp: + (WebCore::Element::recalcStyle): + (WebCore::Element::childrenChanged): + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::hostChildrenChanged): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::ShadowRoot): + (WebCore::ShadowRoot::list): + * dom/ShadowRoot.h: + (WebCore): + (ShadowRoot): + * dom/ShadowRootList.cpp: + (WebCore::ShadowRootList::ShadowRootList): + (WebCore::ShadowRootList::reattach): + (WebCore): + (WebCore::ShadowRootList::childNeedsStyleRecalc): + (WebCore::ShadowRootList::needsStyleRecalc): + (WebCore::ShadowRootList::recalcShadowTreeStyle): + (WebCore::ShadowRootList::needsReattachHostChildrenAndShadow): + (WebCore::ShadowRootList::hostChildrenChanged): + (WebCore::ShadowRootList::setNeedsReattachHostChildrenAndShadow): + (WebCore::ShadowRootList::reattachHostChildrenAndShadow): + * dom/ShadowRootList.h: + (WebCore): + (ShadowRootList): + (WebCore::ShadowRootList::clearNeedsReattachHostChildrenAndShadow): + * html/shadow/HTMLContentElement.cpp: + (WebCore::HTMLContentElement::attach): + (WebCore::HTMLContentElement::detach): + (WebCore::HTMLContentElement::parseAttribute): + +2012-02-23 Roland Steiner <rolandsteiner@chromium.org> + + Unreviewed: add clause in ASSERT missing from r108474. + + No new tests. (fix) + + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::willRemove): + +2012-02-23 Eric Seidel <eric@webkit.org> + + Split out HTML constructors into new DOMWindowHTML suplemental idl + https://bugs.webkit.org/show_bug.cgi?id=79377 + + Reviewed by Adam Barth. + + * CMakeLists.txt: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * html/DOMWindowHTML.idl: Added. + * page/DOMWindow.idl: + +2012-02-23 Eric Seidel <eric@webkit.org> + + Move SVG element constructors out of DOMWindow.idl into a new DOMWindowSVG.idl suplemental + https://bugs.webkit.org/show_bug.cgi?id=79379 + + Reviewed by Adam Barth. + + * CMakeLists.txt: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * page/DOMWindow.idl: + * svg/DOMWindowSVG.idl: Added. + +2012-02-23 Jonathan Backer <backer@chromium.org> + + [chromium] Plumb video damage to the damage tracker. + https://bugs.webkit.org/show_bug.cgi?id=79373 + + Reviewed by James Robinson. + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::contentChanged): + (WebCore): + * platform/graphics/chromium/VideoLayerChromium.h: + (VideoLayerChromium): + +2012-02-23 MORITA Hajime <morrita@google.com> + + This test checks select attribute of content element is valid. + https://bugs.webkit.org/show_bug.cgi?id=65595 + + Reviewed by Dimitri Glazkov. + + This change introduces FrameTree::scopedChild() and + FrameTree::scopedChild(), which can be used for scope-aware + frame lookup. Using these, the named accessor and the indexed + acceccor on Document, and Window.length are now TreeScope + aware. They don't count iframes in Shadow DOM. + + This change also removes FrameTree::m_childCount since + Frame::childCount() is no longer in the hot + path. m_scopedChildCount is added instead. + + Test: fast/dom/shadow/iframe-shadow.html + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::childFrameGetter): + (WebCore::indexGetter): + (WebCore::JSDOMWindow::getOwnPropertySlot): + (WebCore::JSDOMWindow::getOwnPropertyDescriptor): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::indexedPropertyGetter): + (WebCore::V8DOMWindow::namedPropertyGetter): + (WebCore::V8DOMWindow::namedSecurityCheck): + (WebCore::V8DOMWindow::indexedSecurityCheck): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::length): + * page/Frame.cpp: + (WebCore::Frame::inScope): + (WebCore): + * page/Frame.h: + (WebCore): + (Frame): + * page/FrameTree.cpp: + (WebCore::FrameTree::actuallyAppendChild): + (WebCore::FrameTree::removeChild): + (WebCore::FrameTree::scopedChild): + (WebCore): + (WebCore::FrameTree::scopedChildCount): + (WebCore::FrameTree::childCount): + * page/FrameTree.h: + (WebCore): + (FrameTree): + (WebCore::FrameTree::FrameTree): + +2012-02-23 Philip Rogers <pdr@google.com> + + Recompute font metrics on scale changes + https://bugs.webkit.org/show_bug.cgi?id=75091 + + Reviewed by Nikolas Zimmermann. + + SVG text metrics depend on the transform from renderer to the svg root + which requires that we propagate transform changes down to text. + This change adds a boolean for tracking transform changes to + SVGViewportContainers and SVGTransformableContainers, and updates + RenderSVGText::layout() to recalculate text metrics if the transform + of an ancestor has changed. + + Tests: platform/mac/svg/text/text-rescale.html + platform/mac/svg/text/text-viewbox-rescale.html + svg/text/text-rescale.html + svg/text/text-viewbox-rescale.html + + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGTransformableContainer): + (WebCore::RenderObject::isSVGViewportContainer): + * rendering/svg/RenderSVGContainer.h: + (WebCore::RenderSVGContainer::didTransformToRootUpdate): + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::RenderSVGText): + (WebCore::RenderSVGText::layout): + * rendering/svg/RenderSVGText.h: + (WebCore::RenderSVGText::setNeedsTextMetricsUpdate): + (RenderSVGText): + * rendering/svg/RenderSVGTransformableContainer.cpp: + (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): + (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): + * rendering/svg/RenderSVGTransformableContainer.h: + (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer): + (WebCore::RenderSVGTransformableContainer::didTransformToRootUpdate): + (RenderSVGTransformableContainer): + * rendering/svg/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): + (WebCore::RenderSVGViewportContainer::calcViewport): + * rendering/svg/RenderSVGViewportContainer.h: + (WebCore::RenderSVGViewportContainer::didTransformToRootUpdate): + (RenderSVGViewportContainer): + * rendering/svg/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::transformToRootChanged): + (WebCore): + (WebCore::SVGRenderSupport::layoutChildren): + * rendering/svg/SVGRenderSupport.h: + (SVGRenderSupport): + +2012-02-21 James Robinson <jamesr@chromium.org> + + [chromium] Notify compositor of wheel event registration via ScrollingCoordinator + https://bugs.webkit.org/show_bug.cgi?id=79133 + + Reviewed by Dimitri Glazkov. + + This notifies the chromium compositor of changes to the number of wheel event handlers via ScrollingCoordinator + instead of through ChromeClient/WebViewImpl. This is the path we'll use for other properties in the future and + is more extensible for handling things other than the root layer. + + Property behavior is covered by new unit tests in LayerChromiumTests and CCLayerTreeHostImplTest. + + * page/scrolling/ScrollingCoordinator.cpp: + * page/scrolling/ScrollingCoordinator.h: + (WebCore): + (ScrollingCoordinator): + Add a ScrollingCoordinatorPrivate so implementations can tack on additional data without having to #ifdef up + ScrollingCoordinator.h/cpp + * page/scrolling/ScrollingCoordinatorNone.cpp: + (WebCore): + (WebCore::ScrollingCoordinator::~ScrollingCoordinator): + * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: + (ScrollingCoordinatorPrivate): + ScrollingCoordinatorPrivate in the chromium implementation keeps a reference to the scroll layer. + (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate): + (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate): + (WebCore::ScrollingCoordinatorPrivate::setScrollLayer): + (WebCore::ScrollingCoordinatorPrivate::scrollLayer): + (WebCore): + (WebCore::ScrollingCoordinator::create): + (WebCore::ScrollingCoordinator::~ScrollingCoordinator): + (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::setScrollLayer): + (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): + (WebCore::ScrollingCoordinator::setScrollParameters): + (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): + * page/scrolling/mac/ScrollingCoordinatorMac.mm: + (WebCore): + (WebCore::ScrollingCoordinator::~ScrollingCoordinator): + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + (WebCore::LayerChromium::setHaveWheelEventHandlers): + (WebCore): + (WebCore::LayerChromium::pushPropertiesTo): + * platform/graphics/chromium/LayerChromium.h: + (LayerChromium): + * platform/graphics/chromium/cc/CCInputHandler.h: + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::CCLayerImpl): + * platform/graphics/chromium/cc/CCLayerImpl.h: + (WebCore::CCLayerImpl::haveWheelEventHandlers): + (WebCore::CCLayerImpl::setHaveWheelEventHandlers): + (CCLayerImpl): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::CCLayerTreeHost): + (WebCore::CCLayerTreeHost::finishCommitOnImplThread): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHost): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): + (WebCore::CCLayerTreeHostImpl::scrollBegin): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (CCLayerTreeHostImpl): + +2012-02-23 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Qt][WK2] Clipping is broken + https://bugs.webkit.org/show_bug.cgi?id=78677 + + Reviewed by Simon Hausmann. + + Rework the clipping stack in TextureMapperGL. + Instead of saving a stack of IntRect scissor clips, we save every clipping change in the + stack, and reapply it when we end the clip. Popping the stack is almost free, since we + don't reapply the stencil but simply change the stencil test index. + + In addition, we don't use a special shader for clipping, and we don't apply clipping for + masked children, since they're already clipped because they're rendered into an intermediate + buffer. + + This fixes exiting tests in LayoutTests/compositing/overflow. + It also fixes asserts in the leaves demo, as well as asserts in nytimes.com and other sites. + + * page/FrameView.cpp: + (WebCore::FrameView::paintContents): + * platform/graphics/texmap/TextureMapperGL.cpp: + (ClipState): + (WebCore::TextureMapperGLData::SharedGLData::ClipState::ClipState): + (SharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::pushClipState): + (WebCore::TextureMapperGLData::SharedGLData::popClipState): + (WebCore::TextureMapperGLData::SharedGLData::scissorClip): + (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip): + (TextureMapperGLData): + (BitmapTextureGL): + (WebCore::TextureMapperGLData::initStencil): + (WebCore): + (WebCore::TextureMapperGL::beginPainting): + (WebCore::TextureMapperGL::endPainting): + (WebCore::TextureMapperGL::drawTexture): + (WebCore::BitmapTextureGL::initStencil): + (WebCore::BitmapTextureGL::bind): + (WebCore::BitmapTextureGL::destroy): + (WebCore::TextureMapperGL::bindSurface): + (WebCore::TextureMapperGL::beginScissorClip): + (WebCore::TextureMapperGL::beginClip): + (WebCore::TextureMapperGL::endClip): + * platform/graphics/texmap/TextureMapperLayer.cpp: + (WebCore::TextureMapperLayer::paintSelfAndChildren): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + * platform/graphics/texmap/TextureMapperShaderManager.h: + +2012-02-23 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r108685. + http://trac.webkit.org/changeset/108685 + https://bugs.webkit.org/show_bug.cgi?id=79414 + + Broke Chromium builds (Requested by enne on #webkit). + + * Target.pri: + * WebCore.pri: + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedImageMIMETypes): + (WebCore::initializeSupportedImageMIMETypesForEncoding): + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageFrame::getAddr): + (ImageFrame): + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore): + * platform/image-decoders/qt/ImageFrameQt.cpp: + +2012-02-23 Koji Ishii <kojiishi@gmail.com> + + CSS2:text-decoration: <rt> element should not inherit text-decoration property + https://bugs.webkit.org/show_bug.cgi?id=71266 + + Reviewed by Kentaro Hara. + + Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html + fast/ruby/text-decoration-in-descendants-ruby.html + + The spec says "text decorations are not propagated to any out-of-flow descendants": + http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration + Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore + it should be included; it was confirmed at a discussion at www-style. + http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getTextDecorationColors): + +2012-02-23 Zoltan Horvath <zoltan@webkit.org> + + [Qt] Allow to use WebCore imagedecoders + https://bugs.webkit.org/show_bug.cgi?id=32410 + + Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default. + By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system WebKit will build + with WebCore's imagedecoders. + + I added NO_RETURN attribute to 2 functions of PNG and JPEG decoders to avoid compiler warnings + because in Qt-port we treat warning as errors (-Werror). + + I'm continuing the refactoring of this area and try to use Qt imagedecoders only in + cases when WebCore doesn't support the image format. + + Reviewed by Simon Hausmann. + + No behavior change, no need new tests. + + * Target.pri: + * WebCore.pri: + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedImageMIMETypes): + (WebCore::initializeSupportedImageMIMETypesForEncoding): + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageFrame::getAddr): + (ImageFrame): + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + NO_RETURN has been added to a function to avoid warning message. + * platform/image-decoders/png/PNGImageDecoder.cpp: + NO_RETURN has been added to a function to avoid warning message. + (WebCore): + * platform/image-decoders/qt/ImageFrameQt.cpp: + (WebCore): + (WebCore::ImageFrame::asNewNativeImage): + +2012-02-23 Dana Jansens <danakj@chromium.org> + + [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class. + https://bugs.webkit.org/show_bug.cgi?id=75864 + + Reviewed by James Robinson. + + * platform/graphics/chromium/cc/CCLayerIterator.cpp: + (WebCore::CCLayerIteratorActions::BackToFront::begin): + (WebCore::CCLayerIteratorActions::BackToFront::end): + (WebCore::CCLayerIteratorActions::BackToFront::next): + (WebCore::CCLayerIteratorActions::FrontToBack::begin): + (WebCore::CCLayerIteratorActions::FrontToBack::end): + (WebCore::CCLayerIteratorActions::FrontToBack::next): + (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree): + * platform/graphics/chromium/cc/CCLayerIterator.h: + (WebCore::CCLayerIterator::CCLayerIterator): + (WebCore::CCLayerIterator::operator++): + (WebCore::CCLayerIterator::operator==): + (WebCore::CCLayerIterator::operator->): + (WebCore::CCLayerIterator::operator*): + (WebCore::CCLayerIterator::representsTargetRenderSurface): + (WebCore::CCLayerIterator::representsContributingRenderSurface): + (WebCore::CCLayerIterator::currentLayer): + (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface): + (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface): + (WebCore::CCLayerIterator::targetRenderSurfaceLayer): + (WebCore::CCLayerIterator::targetRenderSurface): + (WebCore::CCLayerIterator::targetRenderSurfaceChildren): + * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed. + +2012-02-23 Daniel Sievers <sievers@chromium.org> + + [Chromium] Add video stream texture support + https://bugs.webkit.org/show_bug.cgi?id=78398 + + This upstreams the abstraction used on Android for + hardware video decoding with the compositor. + + Most of the interfaces are kept generic and the core + of this change is to allow texturing from an external + texture while receiving notifications (on the compositor + thread if we are running it) when there are new frames to + be displayed. + + Reviewed by James Robinson. + + * platform/graphics/chromium/Extensions3DChromium.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad): + (WebCore::LayerRendererChromium::drawRGBA): + (WebCore::LayerRendererChromium::drawNativeTexture): + (WebCore): + (WebCore::LayerRendererChromium::drawStreamTexture): + (WebCore::LayerRendererChromium::drawVideoQuad): + (WebCore::LayerRendererChromium::streamTextureLayerProgram): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (LayerRendererChromium): + * platform/graphics/chromium/ShaderChromium.cpp: + (WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform): + (WebCore): + (WebCore::VertexShaderVideoTransform::init): + (WebCore::VertexShaderVideoTransform::getShaderString): + (WebCore::FragmentShaderOESImageExternal::init): + (WebCore::FragmentShaderOESImageExternal::getShaderString): + * platform/graphics/chromium/ShaderChromium.h: + (VertexShaderVideoTransform): + (WebCore::VertexShaderVideoTransform::matrixLocation): + (WebCore::VertexShaderVideoTransform::texTransformLocation): + (WebCore::VertexShaderVideoTransform::texMatrixLocation): + (WebCore): + (FragmentShaderOESImageExternal): + * platform/graphics/chromium/VideoFrameChromium.h: + * platform/graphics/chromium/VideoFrameProvider.h: + (Client): + (VideoFrameProvider): + * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: + (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): + * platform/graphics/chromium/cc/CCVideoDrawQuad.h: + (WebCore::CCVideoDrawQuad::matrix): + (CCVideoDrawQuad): + (WebCore::CCVideoDrawQuad::setMatrix): + * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: + (WebCore): + (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): + (WebCore::convertVFCFormatToGC3DFormat): + (WebCore::CCVideoLayerImpl::appendQuads): + (WebCore::CCVideoLayerImpl::didReceiveFrame): + (WebCore::CCVideoLayerImpl::didUpdateMatrix): + (WebCore::CCVideoLayerImpl::setNeedsRedraw): + * platform/graphics/chromium/cc/CCVideoLayerImpl.h: + (WebCore): + (CCVideoLayerImpl): + +2012-02-23 Stephen White <senorblanco@chromium.org> + + [chromium] Implement drop-shadow() CSS filter on composited layers. + https://bugs.webkit.org/show_bug.cgi?id=79386 + + Reviewed by James Robinson. + + Covered by css3/filters/effect-drop-shadow-hw.html + + * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: + (WebCore::CCRenderSurfaceFilters::apply): + * platform/graphics/filters/FilterOperation.h: + (WebCore::DropShadowFilterOperation::movesPixels): + +2012-02-23 Erik Arvidsson <arv@chromium.org> + + Add support for InterfaceName in the bindings + https://bugs.webkit.org/show_bug.cgi?id=79384 + + Reviewed by Adam Barth. + + This makes the interface name part of the idl file instead of being hard coded into the code generators. + + * bindings/scripts/CodeGenerator.pm: + (GetVisibleInterfaceName): Extracted from CodeGenerator{JS,V8}.pm and changed to look at the extended attribute. + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateImplementation): + (GenerateConstructorDefinition): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateImplementation): + * bindings/scripts/IDLAttributes.txt: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::ConfigureV8TestObjTemplate): + * dom/DOMCoreException.idl: Set the InterfaceName. + * html/DOMFormData.idl: Ditto. + * plugins/DOMMimeType.idl: Ditto. + * plugins/DOMMimeTypeArray.idl: Ditto. + * plugins/DOMPlugin.idl: Ditto. + * plugins/DOMPluginArray.idl: Ditto. + +2012-02-22 Ryosuke Niwa <rniwa@webkit.org> + + REGRESSION(r99076): WebKit pastes the trailing newline into a single-line text field + https://bugs.webkit.org/show_bug.cgi?id=79305 + + Reviewed by Tony Chang. + + The bug was caused by ReplacementFragment::m_hasInterchangeNewlineAtEnd not reset even when + text field's beforeTextInserted event handler removed interchange new lines at the end. + Because the event handler is responsible for trimming new lines, we need to recompute the values + for m_hasInterchangeNewlineAt* after the event dispatch. + + Test: editing/input/paste-text-ending-with-interchange-newline.html + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + +2012-02-23 Andreas Kling <awesomekling@apple.com> + + Make use of StylePropertySet::setProperty(propertyID, CSSValue). + <http://webkit.org/b/79374> + + Reviewed by Antti Koivisto. + + Use the new setProperty() overload that takes a CSSValue in more places. This allows us + to get rid of 1/3 setProperty() overloads that don't expand shorthands. + + * css/StylePropertySet.h: + * css/StylePropertySet.cpp: + + Remove the setProperty() overload for specific primitive value types. StyledElement + can take care of this without help from StylePropertySet. + + * dom/StyledElement.h: + * dom/StyledElement.cpp: + (WebCore::StyledElement::setInlineStyleProperty): + (WebCore::StyledElement::addPropertyToAttributeStyle): + + Switch some functions over to using the setProperty() overload that takes a CSSValue. + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::applyBorderAttributeToStyle): + * html/HTMLHRElement.cpp: + (WebCore::HTMLHRElement::collectStyleForAttribute): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::collectStyleForAttribute): + * html/HTMLTablePartElement.cpp: + (WebCore::HTMLTablePartElement::collectStyleForAttribute): + + Use shorthands where possible to shrink the code a bit. Pass border widths as CSS_PX + values directly instead of making a CSSParser round-trip. + +2012-02-23 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix, use the strings in LocalizedStrings.cpp. + + * platform/wx/LocalizedStringsWx.cpp: + (WebCore::localizedString): + (WebCore): + +2012-02-23 Alok Priyadarshi <alokp@chromium.org> + + Microsoft IE fishtank demo causes assertion in RenderLayer::convertToLayerCoords + https://bugs.webkit.org/show_bug.cgi?id=61964 + + Reviewed by James Robinson. + + The assertion is caused with the following callstack: + WebCore::RenderLayer::convertToLayerCoords + WebCore::RenderLayerCompositor::layerWillBeRemoved + WebCore::RenderLayer::removeChild + WebCore::RenderLayer::removeOnlyThisLayer + + WebCore::RenderLayer::removeOnlyThisLayer removes itself from the parent + before moving its children to its parent. When WebCore::RenderLayer::convertToLayerCoords + is called for one of the children, it tries to walk to root only to stop at the immediate + parent which was disconnected from the tree in WebCore::RenderLayer::removeOnlyThisLayer. + If removal of layer is delayed until the children has been moved, the ASSERT is avoided. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::removeOnlyThisLayer): + +2012-02-23 Matthew Delaney <mdelaney@apple.com> + + Fix for canvas breakage caused by r108597 from the following: + https://bugs.webkit.org/show_bug.cgi?id=79317 + + Reviewed by Oliver Hunt. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer): + +2012-02-23 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: mad Redo to Cmd+Shift+Z, not Cmd+Y on a Mac. + https://bugs.webkit.org/show_bug.cgi?id=79341 + + Reviewed by Timothy Hatcher. + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.handleShortcut): + +2012-02-23 Ryosuke Niwa <rniwa@webkit.org> + + Mac build fix after 108629. + + * WebCore.exp.in: + +2012-02-23 Tom Sepez <tsepez@chromium.org> + + [chromium] XSS Auditor bypass via javascript url and control characters + https://bugs.webkit.org/show_bug.cgi?id=79154 + + Reviewed by Adam Barth. + + Test: http/tests/security/xssAuditor/javascript-link-control-char2.html + + * html/parser/XSSAuditor.cpp: + (WebCore): + (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected): + +2012-02-23 Patrick Gansterer <paroga@webkit.org> + + [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro + https://bugs.webkit.org/show_bug.cgi?id=79371 + + Reviewed by Daniel Bates. + + * CMakeLists.txt: + +2012-02-23 Julien Chaffraix <jchaffraix@webkit.org> + + Cleanup RenderBlock::moveChildrenTo + https://bugs.webkit.org/show_bug.cgi?id=79319 + + Reviewed by Eric Seidel. + + Refactoring, no change in behavior expected. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::moveChildrenTo): + Removed inline check that was redundant, switched to |while| to a |for| + to show what's going on more closely and adds a call to moveChildTo to + share more code between the 2 functions. + +2012-02-23 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Add support for touch cancellation + https://bugs.webkit.org/show_bug.cgi?id=79348 + + Reviewed by Kenneth Rohde Christiansen. + + Map Qt touch cancel events to the WebCore equivalent. + + No new tests, unskipped existing test for Qt 5. + + * platform/PlatformTouchPoint.h: + (PlatformTouchPoint): + * platform/qt/PlatformTouchEventQt.cpp: + (WebCore::PlatformTouchEvent::PlatformTouchEvent): + * platform/qt/PlatformTouchPointQt.cpp: + (WebCore::PlatformTouchPoint::PlatformTouchPoint): + +2012-02-23 Erik Arvidsson <arv@chromium.org> + + Unreviewed. Rebaseline binding test files. + + * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: + (webkit_dom_test_interface_supplemental_method1): + (webkit_dom_test_interface_supplemental_method2): + (webkit_dom_test_interface_get_supplemental_str1): + (webkit_dom_test_interface_get_supplemental_str2): + (webkit_dom_test_interface_set_supplemental_str2): + (webkit_dom_test_interface_get_supplemental_node): + (webkit_dom_test_interface_set_supplemental_node): + (webkit_dom_test_interface_set_property): + (webkit_dom_test_interface_get_property): + +2012-02-23 Anders Carlsson <andersca@apple.com> + + Crash in ScrollElasticityController::snapRubberBandTimerFired() + https://bugs.webkit.org/show_bug.cgi?id=79372 + <rdar://problem/10915193> + + Reviewed by Andreas Kling. + + Invalidate the rubber-band timer in the ScrollingTreeNodeMac destructor. + + * page/scrolling/mac/ScrollingTreeNodeMac.h: + (ScrollingTreeNodeMac): + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::~ScrollingTreeNodeMac): + (WebCore): + +2012-02-23 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: add experiment that loads stylesheets as links + https://bugs.webkit.org/show_bug.cgi?id=79340 + + Reviewed by Timothy Hatcher. + + * inspector/front-end/Settings.js: + (WebInspector.ExperimentsSettings): + * inspector/front-end/View.js: + (WebInspector.View.prototype._doLoadCSS): + +2012-02-23 Adam Roben <aroben@apple.com> + + Mac build fix after r108615 + + * WebCore.exp.in: Added a missing export. + +2012-02-23 Adam Barth <abarth@webkit.org> + + Move MediaStream related declarations from DOMWindow to DOMWindowMediaStream + https://bugs.webkit.org/show_bug.cgi?id=79343 + + Reviewed by Eric Seidel. + + These declarations belong in the MEDIA_STREAM module. + + * GNUmakefile.list.am: + * WebCore.gypi: + * mediastream/DOMWindowMediaStream.idl: Added. + * page/DOMWindow.idl: + +2012-02-22 Igor Oliveira <igor.o@sisa.samsung.com> + + Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2) + https://bugs.webkit.org/show_bug.cgi?id=38025 + + This patchs implements updateAnimationTimerForRenderer, it just checks the timeToNextService for + the current RenderObject reducing the amount of iterations. + + Reviewed by Simon Fraser. + + * page/animation/AnimationController.cpp: + (WebCore): + (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): + (WebCore::AnimationController::updateAnimations): + * page/animation/AnimationControllerPrivate.h: + (AnimationControllerPrivate): + +2012-02-22 Hajime Morrita <morrita@chromium.org> + + NOTIFICATIONS should be implemented as PageSupplement + https://bugs.webkit.org/show_bug.cgi?id=79052 + + Reviewed by Adam Barth. + + Turned NotificationController to a PageSupplement. + + No new tests. No behavior change. + + * notifications/NotificationController.cpp: + (WebCore::NotificationController::clientFrom): + (WebCore): + (WebCore::NotificationController::supplementName): + (WebCore::provideNotification): + * notifications/NotificationController.h: + (NotificationController): + (WebCore::NotificationController::from): + * notifications/NotificationPresenter.h: + (WebCore): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitNotifications): + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::PageClients::PageClients): + * page/Page.h: + (WebCore): + (PageClients): + (Page): + +2012-02-22 Dmitry Lomov <dslomov@google.com> + + [Chromium][V8] Support Uint8ClampedArray in postMessage + https://bugs.webkit.org/show_bug.cgi?id=79291. + + Reviewed by Kenneth Russell. + + Covered by existing tests. + + * bindings/v8/SerializedScriptValue.cpp: + +2012-02-22 Kentaro Hara <haraken@chromium.org> + + Enable Geolocation bindings for GObject + https://bugs.webkit.org/show_bug.cgi?id=79293 + + Reviewed by Adam Barth. + + This patch adds "WebCore::" to supplemental method calls. + This will solve the GTK build failure we have observed in the Geolocation API, + and thus this patch enables the Geolocation API. + + * Modules/geolocation/NavigatorGeolocation.idl: + * bindings/scripts/CodeGeneratorGObject.pm: + (GenerateProperty): + (GenerateFunction): + +2012-02-22 MORITA Hajime <morrita@google.com> + + [Refactoring] Align supplementName() values. + https://bugs.webkit.org/show_bug.cgi?id=79311 + + Reviewed by Adam Barth. + + No new tests. No behavioral change. + + * dom/DeviceOrientationController.cpp: + (WebCore::DeviceOrientationController::supplementName): + * mediastream/UserMediaController.cpp: + (WebCore::UserMediaController::supplementName): + +2012-02-22 Yuta Kitamura <yutak@chromium.org> + + Unreviewed, rolling out r108602. + http://trac.webkit.org/changeset/108602 + https://bugs.webkit.org/show_bug.cgi?id=78878 + + Caused a couple of layout test failures on Chromium bots. + + * dom/Element.cpp: + (WebCore::Element::childShouldCreateRenderer): + * dom/Element.h: + (Element): + * dom/Node.h: + (WebCore::Node::childShouldCreateRenderer): + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::shouldCreateRenderer): + * dom/NodeRenderingContext.h: + (NodeRenderingContext): + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::childShouldCreateRenderer): + * html/HTMLDetailsElement.h: + (HTMLDetailsElement): + * html/HTMLMediaElement.cpp: + (WebCore): + * html/HTMLMediaElement.h: + (HTMLMediaElement): + * html/HTMLMeterElement.cpp: + * html/HTMLMeterElement.h: + (HTMLMeterElement): + * html/HTMLProgressElement.cpp: + * html/HTMLProgressElement.h: + (HTMLProgressElement): + * html/HTMLSelectElement.cpp: + * html/HTMLSelectElement.h: + (HTMLSelectElement): + * html/HTMLSummaryElement.cpp: + * html/HTMLSummaryElement.h: + (HTMLSummaryElement): + * html/HTMLTextFormControlElement.cpp: + * html/HTMLTextFormControlElement.h: + (HTMLTextFormControlElement): + * rendering/RenderButton.cpp: + (WebCore::RenderButton::canHaveChildren): + (WebCore): + * rendering/RenderButton.h: + (RenderButton): + * rendering/RenderListBox.h: + (WebCore::RenderListBox::canHaveChildren): + (RenderListBox): + * rendering/RenderMedia.h: + * rendering/RenderMenuList.h: + (WebCore::RenderMenuList::canHaveChildren): + * rendering/RenderMeter.h: + (WebCore::RenderMeter::canHaveChildren): + * rendering/RenderProgress.h: + (WebCore::RenderProgress::canHaveChildren): + * rendering/RenderTextControl.h: + (WebCore::RenderTextControl::canHaveChildren): + * rendering/svg/RenderSVGRoot.h: + (WebCore::RenderSVGRoot::canHaveChildren): + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::childShouldCreateRenderer): + * svg/SVGAElement.h: + (SVGAElement): + * svg/SVGAltGlyphElement.cpp: + (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): + * svg/SVGAltGlyphElement.h: + (SVGAltGlyphElement): + * svg/SVGDocument.cpp: + (WebCore::SVGDocument::childShouldCreateRenderer): + * svg/SVGDocument.h: + (SVGDocument): + * svg/SVGElement.cpp: + (WebCore::SVGElement::childShouldCreateRenderer): + * svg/SVGElement.h: + (SVGElement): + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): + * svg/SVGForeignObjectElement.h: + (SVGForeignObjectElement): + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::childShouldCreateRenderer): + * svg/SVGSwitchElement.h: + (SVGSwitchElement): + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::childShouldCreateRenderer): + * svg/SVGTRefElement.h: + (SVGTRefElement): + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::childShouldCreateRenderer): + * svg/SVGTSpanElement.h: + (SVGTSpanElement): + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::childShouldCreateRenderer): + * svg/SVGTextElement.h: + (SVGTextElement): + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::childShouldCreateRenderer): + * svg/SVGTextPathElement.h: + +2012-02-22 Abhishek Arya <inferno@chromium.org> + + Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks. + https://bugs.webkit.org/show_bug.cgi?id=79043 + + Reviewed by Julien Chaffraix. + + Tests: fast/runin/runin-div-before-child.html + fast/runin/runin-table-before-child.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle + the case of run-in elements and strengthen code to handle cases where + beforeChild is incorrectly set. + * rendering/RenderObject.h: remove anonymousContainer function since + the new logic in RenderBlock does not need it. + +2012-02-22 Hayato Ito <hayato@chromium.org> + + Make ShadowRootList manage a node distribution. + https://bugs.webkit.org/show_bug.cgi?id=79008 + + Reviewed by Dimitri Glazkov. + + The result of node distributions is currently stored in + ShadowRoot. To support multiple ShadowRoots, such node distribution + information should be managed in one place per shadow host. Now + ShadowRootList takes this responsibility on behalf of owing + multiple ShadowRoots. Clients should ask ShadowRootList for such + information, not for each ShadowRoot. + + No tests. No change in behavior. + + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::NodeRenderingContext): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::create): + (WebCore::ShadowRoot::attach): + * dom/ShadowRoot.h: + (ShadowRoot): + * dom/ShadowRootList.cpp: + (WebCore::ShadowRootList::insertionPointFor): + (WebCore): + (WebCore::ShadowRootList::isSelectorActive): + (WebCore::ShadowRootList::ensureSelector): + * dom/ShadowRootList.h: + (WebCore): + (ShadowRootList): + (WebCore::ShadowRootList::hasShadowRoot): + (WebCore::ShadowRootList::youngestShadowRoot): + (WebCore::ShadowRootList::oldestShadowRoot): + (WebCore::ShadowRootList::selector): + (WebCore::ShadowRootList::host): + * html/shadow/HTMLContentElement.cpp: + (WebCore::HTMLContentElement::attach): + (WebCore::HTMLContentElement::detach): + * html/shadow/HTMLContentSelector.cpp: + (WebCore::HTMLContentSelector::willSelectOver): + * html/shadow/HTMLContentSelector.h: + (HTMLContentSelector): + +2012-02-22 Wei James <james.wei@intel.com> + + Add multi channels support in AudioBus and AudioBufferSourceNode + https://bugs.webkit.org/show_bug.cgi?id=79017 + + Reviewed by Chris Rogers. + + Tests: webaudio/up-mixing-mono-51.html + webaudio/up-mixing-mono-stereo.html + webaudio/up-mixing-stereo-51.html + + * platform/audio/AudioBus.cpp: + (WebCore::AudioBus::copyFrom): + (WebCore::AudioBus::sumFrom): + (WebCore::AudioBus::processWithGainFromMonoStereo): + (WebCore::AudioBus::processWithGainFrom): + +2012-02-22 Kentaro Hara <haraken@chromium.org> + + [Supplemental] should support constants + https://bugs.webkit.org/show_bug.cgi?id=79303 + + Reviewed by Adam Barth. + + Given that we have + + interface [Supplemental=Y] X { constant int A = 123; } + + then the code generator should generate + + X::A + + to refer to the constant. However, the current code generator generates Y::A instead. + This patch fixes it. + + Test: bindings/scripts/test/TestSupplemental.idl + + * bindings/scripts/CodeGenerator.pm: Modified as described above. + (GenerateCompileTimeCheckForEnumsIfNeeded): + + * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results. + (WebCore): + * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto. + (WebCore): + + * page/DOMWindow.h: Moved DOMWindow::FileSystemType to DOMWindowFileSystem::FileSystemType. + (DOMWindow): + * fileapi/DOMWindowFileSystem.h: Ditto. + (DOMWindowFileSystem): + * fileapi/DOMWindowFileSystem.cpp: Ditto. + (WebCore): + +2012-02-22 MORITA Hajime <morrita@google.com> + + Adding a ShadowRoot to image-backed element causes a crash + https://bugs.webkit.org/show_bug.cgi?id=78878 + + Reviewed by Dimitri Glazkov. + + The crash happened because NodeRenderingContext tried to append a + child to a renderer regardless one isn't capable of holding any + children if it appears in the shadow attaching phase. RenderImage + is one of such renderer classes which aren't capable. + + NodeRenderingContext decide whether the contextual node as a child + can create its renderer based on RenderObject::canHaveChildren() + and Node::childShouldCreateRenderer(). But the responsibility + between these two methods are getting confused. which results this + unfortuante crash path. + + This change re-aligns the responsibility: + + - Now canHaveChildren() purely declares the ability of the + renderer. If the renderer is capable of having children, it + return true regardless of HTML semantics. + + - On the other hand, childShouldCreateRenderer() cares about the + semantics. If the element doesn't allow children to be rendered, + this returns false. + + - Note that these decision on elements are contextual. Each element + needs to know which role it is playing in the tree composition + algorithm of Shadow DOM. That's why the method parameter is changed + from Node* to NodeRenderingContext. + + With this change, some decision points are moved from a renderer to an + element. Following renderers no longer stop reject having children: + + - RenderButton, RenderListBox, RenderMenuList, RenderMeter, + RenderProgress, RenderTextControl. + + Corresponding element for such a render (HTMLProgressElement of + RenderProgress for exaple) now cares about that. + + Tests: fast/dom/shadow/shadow-on-image-expected.html + fast/dom/shadow/shadow-on-image.html + + * dom/Element.cpp: + (WebCore::Element::childShouldCreateRenderer): + * dom/Element.h: + (Element): + * dom/Node.h: + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::shouldCreateRenderer): + * dom/NodeRenderingContext.h: + (NodeRenderingContext): + (WebCore::NodeRenderingContext::isOnEncapsulationBoundary): + (WebCore): + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::childShouldCreateRenderer): + * html/HTMLDetailsElement.h: + (HTMLDetailsElement): + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLMeterElement.h: + (HTMLMeterElement): + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::childShouldCreateRenderer): + * html/HTMLMediaElement.h: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLProgressElement.h: + (HTMLProgressElement): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::childShouldCreateRenderer): + (WebCore): + * html/HTMLSelectElement.h: + (HTMLSelectElement): + * html/HTMLSummaryElement.cpp: + * html/HTMLSummaryElement.h: + (HTMLSummaryElement): + * html/HTMLTextFormControlElement.cpp: + * html/HTMLTextFormControlElement.h: + (HTMLTextFormControlElement): + * rendering/RenderButton.cpp: + * rendering/RenderButton.h: + (RenderButton): + * rendering/RenderListBox.h: + (RenderListBox): + * rendering/RenderMedia.h: + (WebCore::RenderMedia::canHaveChildren): + * rendering/RenderMenuList.h: + * rendering/RenderMeter.h: + * rendering/RenderProgress.h: + * rendering/RenderTextControl.h: + * rendering/svg/RenderSVGRoot.h: + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::childShouldCreateRenderer): + * svg/SVGAElement.h: + (SVGAElement): + * svg/SVGAltGlyphElement.cpp: + (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): + * svg/SVGAltGlyphElement.h: + (SVGAltGlyphElement): + * svg/SVGDocument.cpp: + (WebCore::SVGDocument::childShouldCreateRenderer): + * svg/SVGDocument.h: + (SVGDocument): + * svg/SVGElement.cpp: + (WebCore::SVGElement::childShouldCreateRenderer): + * svg/SVGElement.h: + (SVGElement): + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): + * svg/SVGForeignObjectElement.h: + (SVGForeignObjectElement): + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::childShouldCreateRenderer): + * svg/SVGSwitchElement.h: + (SVGSwitchElement): + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::childShouldCreateRenderer): + * svg/SVGTRefElement.h: + (SVGTRefElement): + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::childShouldCreateRenderer): + * svg/SVGTSpanElement.h: + (SVGTSpanElement): + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::childShouldCreateRenderer): + * svg/SVGTextElement.h: + (SVGTextElement): + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::childShouldCreateRenderer): + * svg/SVGTextPathElement.h: + +2012-02-22 Yong Li <yoli@rim.com> + + [BlackBerry] NetworkJob can access deleted objects. + https://bugs.webkit.org/show_bug.cgi?id=79246 + + Reviewed by Antonio Gomes. + + When a NetworkJob is created by unload handler, we still need + to send the request to the server, but we shouldn't save and + keep using the Frame pointer because the frame is being detached. + The NetworkJob will be cancelled by PingLoader as soon as it gets + first response from host. + Also see https://bugs.webkit.org/show_bug.cgi?id=30457. + + No new tests because existing test case is good enough like + LayoutTests/http/tests/navigation/image-load-in-unload-handler.html. + + * platform/network/blackberry/NetworkJob.cpp: + (WebCore::NetworkJob::NetworkJob): + (WebCore::NetworkJob::initialize): + +2012-02-22 Kenichi Ishibashi <bashi@chromium.org> + + [WebSocket] Remove zlib.h from WebSocketDeflater.h + https://bugs.webkit.org/show_bug.cgi?id=79298 + + Use forward declaration and OwnPtr for z_stream to move zlib.h from + .h file to .cpp file. + + Reviewed by Kent Tamura. + + No new tests. No behavior change. + + * websockets/WebSocketDeflater.cpp: + (WebCore::WebSocketDeflater::WebSocketDeflater): + (WebCore::WebSocketDeflater::initialize): + (WebCore::WebSocketDeflater::~WebSocketDeflater): + (WebCore::setStreamParameter): + (WebCore::WebSocketDeflater::addBytes): + (WebCore::WebSocketDeflater::finish): + (WebCore::WebSocketDeflater::reset): + (WebCore::WebSocketInflater::WebSocketInflater): + (WebCore::WebSocketInflater::initialize): + (WebCore::WebSocketInflater::~WebSocketInflater): + (WebCore::WebSocketInflater::addBytes): + (WebCore::WebSocketInflater::finish): + * websockets/WebSocketDeflater.h: + (WebSocketDeflater): Use OwnPtr for m_stream. + (WebSocketInflater): Ditto. + +2012-02-22 James Robinson <jamesr@chromium.org> + + Remove GraphicsContext3D::paintsIntoCanvasBuffer and unify WebGL and canvas 2d logic + https://bugs.webkit.org/show_bug.cgi?id=79317 + + Reviewed by Kenneth Russell. + + HTMLCanvasElement::paint needs to know whether to attempt to paint the canvas buffer for its context. In the + case of an accelerated canvas or WebGL context, unless we are printing it is typically the composited layer's + responsibility to present the contents and the element itself is only responsible for backgrounds, borders and + the like. This removes a rather indirect path that WebGL content used to take to accomplish this and unifies + the logic with CanvasRenderingContext2D's, which has the exact same needs. + + Covered by existing canvas layout tests. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer): + (WebCore): + (WebCore::HTMLCanvasElement::paint): + * html/HTMLCanvasElement.h: + (HTMLCanvasElement): + * html/canvas/CanvasRenderingContext.h: + * html/canvas/CanvasRenderingContext2D.cpp: + * html/canvas/CanvasRenderingContext2D.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore): + * html/canvas/WebGLRenderingContext.h: + * platform/graphics/GraphicsContext3D.h: + +2012-02-22 Pablo Flouret <pablof@motorola.com> + + PopStateEvent.state should use the same object as history.state + https://bugs.webkit.org/show_bug.cgi?id=77493 + + Reviewed by Kentaro Hara. + + Tests: fast/loader/stateobjects/state-attribute-history-getter.html + fast/loader/stateobjects/state-attribute-popstate-event.html + + * bindings/js/JSPopStateEventCustom.cpp: + (WebCore): + (WebCore::cacheState): + (WebCore::JSPopStateEvent::state): + * bindings/v8/V8HiddenPropertyName.h: + (WebCore): + * bindings/v8/custom/V8HistoryCustom.cpp: + (WebCore::V8History::stateAccessorGetter): + (WebCore::V8History::pushStateCallback): + (WebCore::V8History::replaceStateCallback): + * bindings/v8/custom/V8PopStateEventCustom.cpp: + (WebCore): + (WebCore::cacheState): + (WebCore::V8PopStateEvent::stateAccessorGetter): + * dom/Document.cpp: + (WebCore::Document::enqueuePopstateEvent): + * dom/PopStateEvent.cpp: + (WebCore::PopStateEvent::PopStateEvent): + (WebCore::PopStateEvent::create): + * dom/PopStateEvent.h: + (WebCore): + (PopStateEvent): + (WebCore::PopStateEvent::history): + * dom/PopStateEvent.idl: + * page/History.cpp: + (WebCore::History::stateChanged): + (WebCore): + (WebCore::History::isSameAsCurrentState): + * page/History.h: + (History): + +2012-02-22 Adam Klein <adamk@chromium.org> + + Remove obsolete FIXMEs from ContainerNode + https://bugs.webkit.org/show_bug.cgi?id=79295 + + Reviewed by Ryosuke Niwa. + + Each of these three identical FIXMEs has since been fixed by adding + "RefPtr<Node> protect(this)" at the top of each method. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::removeChild): + +2012-02-22 Dmitry Lomov <dslomov@google.com> + + [JSC] Implement ArrayBuffer and typed array cloning in JSC + https://bugs.webkit.org/show_bug.cgi?id=79294 + + Reviewed by Oliver Hunt. + + Covered by existing tests. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::typedArrayElementSize): + (WebCore): + (WebCore::CloneSerializer::dumpArrayBufferView): + (CloneSerializer): + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneSerializer::write): + (WebCore::CloneDeserializer::readArrayBufferViewSubtag): + (CloneDeserializer): + (WebCore::CloneDeserializer::readArrayBuffer): + (WebCore::CloneDeserializer::readArrayBufferView): + (WebCore::CloneDeserializer::getJSValue): + (WebCore::CloneDeserializer::readTerminal): + +2012-02-22 Adrienne Walker <enne@google.com> + + [chromium] Unreviewed speculative chromium-mac build fix. + https://bugs.webkit.org/show_bug.cgi?id=75874 + + This broke in r108581. + + * platform/graphics/chromium/cc/CCLayerAnimationController.h: + (WebCore): + +2012-02-22 Raymond Toy <rtoy@google.com> + + exponentialRampToValue doesn't use starting value + https://bugs.webkit.org/show_bug.cgi?id=78035 + + Reviewed by Chris Rogers. + + Test: webaudio/audioparam-exponentialRampToValueAtTime.html + + * webaudio/AudioParamTimeline.cpp: + (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Set + starting value for exponential ramp. + +2012-02-22 Andreas Kling <awesomekling@apple.com> + + Make parsing color presentation attributes do less pointless work. + <http://webkit.org/b/79304> + + Reviewed by Antti Koivisto. + + Let HTMLElement::addHTMLColorToStyle() construct the color CSSValue directly + rather than passing a string that has to go through CSSParser. + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::setProperty): + * css/StylePropertySet.h: + + Added a setProperty(propertyID, CSSValue) overload that expands shorthand + properties if necessary. Also added a little comment about the behavior + differences between setProperty() overloads. + + * html/HTMLElement.cpp: + (WebCore::parseColorStringWithCrazyLegacyRules): + + Changed this to return an RGBA32. + + (WebCore::HTMLElement::addHTMLColorToStyle): + + Figure out the RGB value and construct a (pooled) CSSValue directly. + +2012-02-22 Ian Vollick <vollick@chromium.org> + + [chromium] Plumb from GraphicsLayer to the cc thread animation code + https://bugs.webkit.org/show_bug.cgi?id=75874 + + Reviewed by James Robinson. + + * WebCore.gypi: + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setThreadedAnimationEnabled): + (WebCore::Settings::threadedAnimationEnabled): + (Settings): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (std): + (WebCore::GraphicsLayerChromium::addChild): + (WebCore::GraphicsLayerChromium::addAnimation): + (WebCore): + (WebCore::GraphicsLayerChromium::pauseAnimation): + (WebCore::GraphicsLayerChromium::removeAnimation): + (WebCore::GraphicsLayerChromium::suspendAnimations): + (WebCore::GraphicsLayerChromium::resumeAnimations): + (WebCore::GraphicsLayerChromium::setContentsToMedia): + (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): + (WebCore::GraphicsLayerChromium::mapAnimationNameToId): + * platform/graphics/chromium/GraphicsLayerChromium.h: + (GraphicsLayerChromium): + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + (WebCore::LayerChromium::addAnimation): + (WebCore): + (WebCore::LayerChromium::pauseAnimation): + (WebCore::LayerChromium::removeAnimation): + (WebCore::LayerChromium::suspendAnimations): + (WebCore::LayerChromium::resumeAnimations): + (WebCore::LayerChromium::setLayerAnimationController): + (WebCore::LayerChromium::pushPropertiesTo): + * platform/graphics/chromium/LayerChromium.h: + (WebCore): + (LayerChromium): + (WebCore::LayerChromium::layerAnimationController): + (WebCore::LayerChromium::numChildren): + * platform/graphics/chromium/cc/CCActiveAnimation.cpp: + (WebCore::CCActiveAnimation::create): + (WebCore): + (WebCore::CCActiveAnimation::CCActiveAnimation): + (WebCore::CCActiveAnimation::~CCActiveAnimation): + (WebCore::CCActiveAnimation::isWaiting): + (WebCore::CCActiveAnimation::isRunningOrHasRun): + (WebCore::CCActiveAnimation::cloneForImplThread): + (WebCore::CCActiveAnimation::synchronizeProperties): + * platform/graphics/chromium/cc/CCActiveAnimation.h: + (CCActiveAnimation): + (WebCore::CCActiveAnimation::AnimationSignature::AnimationSignature): + (AnimationSignature): + (WebCore::CCActiveAnimation::id): + (WebCore::CCActiveAnimation::group): + (WebCore::CCActiveAnimation::signature): + * platform/graphics/chromium/cc/CCAnimationCurve.h: + (CCAnimationCurve): + (CCTransformAnimationCurve): + * platform/graphics/chromium/cc/CCAnimationEvents.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.h. + (WebCore): + (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent): + (CCAnimationStartedEvent): + * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Added. + (WebCore): + (WebCore::CCLayerAnimationController::CCLayerAnimationController): + (WebCore::CCLayerAnimationController::~CCLayerAnimationController): + (WebCore::CCLayerAnimationController::create): + (WebCore::CCLayerAnimationController::addAnimation): + (WebCore::CCLayerAnimationController::pauseAnimation): + (WebCore::CCLayerAnimationController::removeAnimation): + (WebCore::CCLayerAnimationController::suspendAnimations): + (WebCore::CCLayerAnimationController::resumeAnimations): + (WebCore::CCLayerAnimationController::synchronizeAnimations): + (WebCore::CCLayerAnimationController::removeCompletedAnimations): + (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread): + (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread): + (WebCore::CCLayerAnimationController::pushAnimationProperties): + (WebCore::CCLayerAnimationController::getActiveAnimation): + (WebCore::CCLayerAnimationController::remove): + * platform/graphics/chromium/cc/CCLayerAnimationController.h: Added. + (WebCore): + (CCLayerAnimationController): + (WebCore::CCLayerAnimationController::activeAnimations): + * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: + (WebCore::CCLayerAnimationControllerImpl::~CCLayerAnimationControllerImpl): + (WebCore): + (WebCore::CCLayerAnimationControllerImpl::animate): + (WebCore::CCLayerAnimationControllerImpl::add): + (WebCore::CCLayerAnimationControllerImpl::getActiveAnimation): + (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick): + (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime): + (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability): + (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations): + (WebCore::CCLayerAnimationControllerImpl::tickAnimations): + * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: + (CCLayerAnimationControllerImplClient): + (CCLayerAnimationControllerImpl): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::CCLayerImpl): + * platform/graphics/chromium/cc/CCLayerImpl.h: + (CCLayerImpl): + (WebCore::CCLayerImpl::id): + (WebCore::CCLayerImpl::opacity): + (WebCore::CCLayerImpl::transform): + (WebCore::CCLayerImpl::bounds): + (WebCore::CCLayerImpl::layerAnimationController): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::finishCommitOnImplThread): + (WebCore::CCLayerTreeHost::setAnimationEvents): + (WebCore): + (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (WebCore::CCSettings::CCSettings): + (CCSettings): + (CCLayerTreeHost): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): + (WebCore::CCLayerTreeHostImpl::animate): + (WebCore::CCLayerTreeHostImpl::animateLayersRecursive): + (WebCore): + (WebCore::CCLayerTreeHostImpl::animatePageScale): + (WebCore::CCLayerTreeHostImpl::animateLayers): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (CCLayerTreeHostImplClient): + (CCLayerTreeHostImpl): + (WebCore::CCLayerTreeHostImpl::needsAnimateLayers): + (WebCore::CCLayerTreeHostImpl::setNeedsAnimateLayers): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread): + (WebCore): + * platform/graphics/chromium/cc/CCSingleThreadProxy.h: + (CCSingleThreadProxy): + (WebCore): + (DebugScopedSetMainThread): + (WebCore::DebugScopedSetMainThread::DebugScopedSetMainThread): + (WebCore::DebugScopedSetMainThread::~DebugScopedSetMainThread): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread): + (WebCore): + (WebCore::CCThreadProxy::setAnimationEvents): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (CCThreadProxy): + +2012-02-22 Anders Carlsson <andersca@apple.com> + + Subframes with scrollable areas must be added to the non-fast scrollable region + https://bugs.webkit.org/show_bug.cgi?id=79306 + <rdar://problem/10915564> + + Reviewed by Andreas Kling. + + When computing the non-fast scrollable region, add subframes with scrollable regions to the region. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::computeNonFastScrollableRegion): + +2012-02-22 Nate Chapin <japhet@chromium.org> + + CachedResourceLoader ignores the Range header + in determineRavlidationPolicy(), resulting in incorrect + cache hits. + + Reviewed by Adam Barth. + + Test: http/tests/xmlhttprequest/range-test.html + Test written by Aaron Colwell (acolwell@chromium.org). + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::determineRevalidationPolicy): + +2012-02-22 Antti Koivisto <antti@apple.com> + + REGRESSION (r104060): Web font is not loaded if specified by link element dynamically inserted + https://bugs.webkit.org/show_bug.cgi?id=79186 + + Reviewed by Andreas Kling. + + Test: fast/css/font-face-insert-link.html + + If a dynamically inserted stylesheet contains @font-face rules, we may fail to update the rendering. + + Before r104060 the style selector was destroyed on every style change, and the font selector along with it. + This is no longer the case and we can't rely on comparing font selector pointers when comparing Fonts + for equality. This patch adds version number to the font selector and checks it in Font::operator==. + The version number is incremented when new font-face rules are added to the font selector. + + FontFallbackList is an object shared between Fonts so the extra field shouldn't matter much in terms + of memory. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::CSSFontSelector): + (WebCore::CSSFontSelector::addFontFaceRule): + * css/CSSFontSelector.h: + (CSSFontSelector): + * platform/graphics/Font.cpp: + (WebCore::Font::operator==): + * platform/graphics/FontFallbackList.cpp: + (WebCore::FontFallbackList::FontFallbackList): + (WebCore::FontFallbackList::invalidate): + * platform/graphics/FontFallbackList.h: + (FontFallbackList): + (WebCore::FontFallbackList::fontSelectorVersion): + * platform/graphics/FontSelector.h: + (FontSelector): + +2012-02-22 Nate Chapin <japhet@chromium.org> + + Prevent CachedRawResource from sending the same data + chunk multiple times. + https://bugs.webkit.org/show_bug.cgi?id=78810 + + Reviewed by Adam Barth. + + If a CachedRawResource receives data while a CachedRawResourceCallback + timer is active, the incremental data will be sent to the client, followed + but all data received so far, resulting in invalid data. Resolving this adds + complexity to CachedRawResource and requires making a few more CachedResource + functions virtual, so push the callback logic into CachedResource where it can + be implemented more cleanly. + + Test: inspector/debugger/script-formatter-console.html + should no longer be flaky. + + * loader/cache/CachedRawResource.cpp: CachedRawResourceCallback renamed and moved to CachedResource. + (WebCore::CachedRawResource::didAddClient): More or less the same as sendCallbacks() was. + * loader/cache/CachedRawResource.h: + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::addClient): Check the return value of addClientToSet() to determine whether + or not to call didAddClient. + (WebCore::CachedResource::didAddClient): May be called during addClient(), or may be called on a timer. + If called on a timer, move the client between sets. + (WebCore::CachedResource::addClientToSet): Determine whether didAddClient() can be called synchronously and + return true if it can. + (WebCore::CachedResource::removeClient): Ensure we cancel pending callbacks if necessary. + (WebCore::CachedResource::CachedResourceCallback::CachedResourceCallback): Renamed and moved from CachedRawResource. + * loader/cache/CachedResource.h: + (WebCore::CachedResource::hasClients): Check m_clientsAwaitingCallback as well as m_clients. + (WebCore::CachedResource::CachedResourceCallback::schedule): + (WebCore::CachedResource::hasClient): Helper for calling contains() on both m_clientsAwaitingCallback and m_clients. + +2012-02-22 Daniel Bates <dbates@webkit.org> + + Update change log entry for r108561 to reflect removal of "if (m_dispatchSoonList.isEmpty())". + https://bugs.webkit.org/show_bug.cgi?id=78840 + + Mention removal of unnecessary check for empty list m_dispatchSoonList in EventSender::cancelEvent(). + + Also, fix the date in the change log entry for changeset r108562 since it landed today (02/22/2012). + +2012-02-22 Ryosuke Niwa <rniwa@webkit.org> + + Remove the remaining uses of CSSStyleDeclaration in Editor + https://bugs.webkit.org/show_bug.cgi?id=78939 + + Reviewed by Enrica Casucci. + + Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection, + applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration + to StylePropertySet. + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * editing/Editor.cpp: + (WebCore::Editor::applyStyle): + (WebCore::Editor::shouldApplyStyle): + (WebCore::Editor::applyParagraphStyle): + (WebCore::Editor::applyStyleToSelection): + (WebCore::Editor::applyParagraphStyleToSelection): + (WebCore::Editor::setBaseWritingDirection): + (WebCore::Editor::computeAndSetTypingStyle): + * editing/Editor.h: + (WebCore): + (Editor): + * editing/EditorCommand.cpp: + (WebCore::applyCommandToFrame): + (WebCore::executeApplyParagraphStyle): + (WebCore::executeMakeTextWritingDirectionLeftToRight): + (WebCore::executeMakeTextWritingDirectionNatural): + (WebCore::executeMakeTextWritingDirectionRightToLeft): + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::shouldApplyStyle): + * page/DragController.cpp: + (WebCore::DragController::concludeEditDrag): + * page/EditorClient.h: + (WebCore): + (EditorClient): + +2012-02-22 Daniel Bates <dbates@webkit.org> + + Abstract ImageEventSender into a general purpose EventSender + https://bugs.webkit.org/show_bug.cgi?id=78840 + + Reviewed by Adam Barth. + + Abstract the functionality in ImageEventSender so that it can be used again. + This functionality may be useful in fixing WebKit Bug #38995. + + No functionality was changed; no new tests. + + * GNUmakefile.list.am: Added EventSender.h. + * Target.pri: Ditto. + * WebCore.gypi: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/EventSender.h: Added. + (WebCore): + (EventSender): + (WebCore::EventSender::eventType): + (WebCore::EventSender::hasPendingEvents): + (WebCore::EventSender::timerFired): + (WebCore::::EventSender): + (WebCore::::dispatchEventSoon): + (WebCore::::cancelEvent): Removed unnecessary check for empty list m_dispatchSoonList; + As far as I can tell this is an artifact of using a + QPtrList data structure for this functionality when it was originally in + DocumentImpl::removeImage() (see <http://trac.webkit.org/browser/trunk/WebCore/khtml/xml/DocumentImpl.cpp?rev=12515#L2302>), + which actually removed items from a list (as opposed to zeroing them out as we do + now). + (WebCore::::dispatchPendingEvents): + * loader/ImageLoader.cpp: Modified to use EventSender. + (WebCore): + (WebCore::ImageLoader::dispatchPendingEvent): Added; called by EventSender when the ImageLoader + should dispatch a pending BeforeLoad or Load event. + * loader/ImageLoader.h: + (WebCore): + (ImageLoader): + +2012-02-22 Max Vujovic <mvujovic@adobe.com> + + Paddings and borders on root SVG element with viewbox causes child SVG elements to be rendered with the incorrect size + https://bugs.webkit.org/show_bug.cgi?id=78613 + + Reviewed by Nikolas Zimmermann. + + When computing its localToBorderBoxTransform, RenderSVGRoot was using its width and height + as the dimensions of the SVG viewport. However, width and height include CSS borders and + paddings, which are not part of the SVG viewport area. Now, RenderSVGRoot uses its + contentWidth and contentHeight, which correspond to the SVG viewport area. + + Tests: svg/custom/svg-root-padding-border-margin-expected.html + svg/custom/svg-root-padding-border-margin.html + + * rendering/svg/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform): + +2012-02-22 Raphael Kubo da Costa <kubo@profusion.mobi> + + [EFL] Get rid of GeolocationServiceEfl + https://bugs.webkit.org/show_bug.cgi?id=79270 + + Reviewed by Adam Barth. + + These were just a bunch of dummy files with no real functionality, and + removing them helps the preparation of bug 78853, which will make + client-based geolocation the default. + + No new tests, this functionality was not used. + + * PlatformEfl.cmake: + * platform/efl/GeolocationServiceEfl.cpp: Removed. + * platform/efl/GeolocationServiceEfl.h: Removed. + +2012-02-22 Julien Chaffraix <jchaffraix@webkit.org> + + Clean-up RenderTableSection::calcRowLogicalHeight + https://bugs.webkit.org/show_bug.cgi?id=77705 + + Reviewed by Eric Seidel. + + Refactoring / simplication of the code. + + This change removes some variables that were unneeded and were + hiding what the code was really doing. Also some of the code was + split and moved down to RenderTableCell. + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::logicalHeightForRowSizing): + * rendering/RenderTableCell.h: + (RenderTableCell): + Added the previous helper function to calculate the cell's + adjusted logical height. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::calcRowLogicalHeight): + Removed some variables, simplified the rowspan logic to be clearer + (and added a comment about how we handle rowspans). + +2012-02-22 Adam Barth <abarth@webkit.org> + + Move FILE_SYSTEM code out of DOMWindow and into the fileapi folder + https://bugs.webkit.org/show_bug.cgi?id=79259 + + Reviewed by Eric Seidel. + + This patch is part of our ongoing effort to remove ifdefs from code + classes. The FILE_SYSTEM code in DOMWindow doesn't really have any + necessary connection to DOMWindow. DOMWindow is just the context + object that the API hangs off of. + + This patch moves the FILE_SYSTEM code into the fileapi folder using + [Supplemental]. + + * CMakeLists.txt: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * fileapi/DOMWindowFileSystem.cpp: Added. + (WebCore): + (WebCore::DOMWindowFileSystem::DOMWindowFileSystem): + (WebCore::DOMWindowFileSystem::~DOMWindowFileSystem): + (WebCore::DOMWindowFileSystem::webkitRequestFileSystem): + (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL): + * fileapi/DOMWindowFileSystem.h: Added. + (WebCore): + (DOMWindowFileSystem): + * fileapi/DOMWindowFileSystem.idl: Added. + * page/DOMWindow.cpp: + (WebCore): + * page/DOMWindow.h: + (WebCore): + (DOMWindow): + * page/DOMWindow.idl: + +2012-02-22 Luke Macpherson <macpherson@chromium.org> + + Re-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApplyProperty. + https://bugs.webkit.org/show_bug.cgi?id=79200 + + Reviewed by Andreas Kling. + + No new tests / refactoring only. + + * css/CSSStyleApplyProperty.cpp: + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::collectMatchingRulesForList): + * rendering/style/RenderStyle.h: + +2012-02-22 Tom Sepez <tsepez@chromium.org> + + XSSAuditor bypass with <svg> tags and html-entities. + https://bugs.webkit.org/show_bug.cgi?id=78836 + + Reviewed by Adam Barth. + + Tests: http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html + http/tests/security/xssAuditor/script-tag-inside-svg-tag.html + http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html + http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html + + * html/parser/XSSAuditor.cpp: + (WebCore::isNonCanonicalCharacter): + (WebCore::isTerminatingCharacter): + (WebCore): + (WebCore::startsHTMLCommentAt): + (WebCore::startsSingleLineCommentAt): + (WebCore::fullyDecodeString): + (WebCore::XSSAuditor::XSSAuditor): + (WebCore::XSSAuditor::init): + (WebCore::XSSAuditor::filterToken): + (WebCore::XSSAuditor::filterStartToken): + (WebCore::XSSAuditor::filterEndToken): + (WebCore::XSSAuditor::filterCharacterToken): + (WebCore::XSSAuditor::filterScriptToken): + (WebCore::XSSAuditor::filterObjectToken): + (WebCore::XSSAuditor::filterParamToken): + (WebCore::XSSAuditor::filterEmbedToken): + (WebCore::XSSAuditor::filterAppletToken): + (WebCore::XSSAuditor::filterIframeToken): + (WebCore::XSSAuditor::filterMetaToken): + (WebCore::XSSAuditor::filterBaseToken): + (WebCore::XSSAuditor::filterFormToken): + (WebCore::XSSAuditor::decodedSnippetForAttribute): + (WebCore::XSSAuditor::snippetForJavaScript): + * html/parser/XSSAuditor.h: + (XSSAuditor): + +2012-02-22 Anders Carlsson <andersca@apple.com> + + Crash when marking cached pages for full style recalc + https://bugs.webkit.org/show_bug.cgi?id=79276 + <rdar://problem/10884036> + + Reviewed by Beth Dakin. + + Guard against a null history item. + + * history/BackForwardController.cpp: + (WebCore::BackForwardController::markPagesForFullStyleRecalc): + +2012-02-22 Ken Buchanan <kenrb@chromium.org> + + Crash from empty anonymous block preceding :before content + https://bugs.webkit.org/show_bug.cgi?id=78250 + + Reviewed by David Hyatt. + + RenderListMarkers getting removed from the tree in updateMarkerLocation() + can leave parent anonymous blocks behind with no children. This was + confusing updateBeforeAfterContent() because it does not expect + an empty block to precede :before content renderers. + + Fix is to remove the anonymous block if it will lose all of its children. + + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::updateMarkerLocation): + +2012-02-22 Abhishek Arya <inferno@chromium.org> + + Crash due to accessing removed parent lineboxes when clearing view selection. + https://bugs.webkit.org/show_bug.cgi?id=79264 + + Reviewed by Eric Seidel. + + When our block needed a full layout, we were deleting our own lineboxes + and letting descendant children (at any level in hierarchy and not just + immediate children) clear their own lineboxes as we keep laying them out. + This was problematic because those descendant children lineboxes were + pointing to removed parent lineboxes in the meantime. An example scenario + where this would go wrong is first-letter object removal, which can cause + clearing view selection, leading to accessing parent lineboxes. The patch + modifies clearing the entire linebox tree upfront. It shouldn't introduce + performance issues since it will eventually happen as we are laying out + those children. + + Test: fast/css-generated-content/first-letter-textbox-parent-crash.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2012-02-22 Abhishek Arya <inferno@chromium.org> + + Cloning and linebox issues in multi-column layout. + https://bugs.webkit.org/show_bug.cgi?id=78273 + + Reviewed by Eric Seidel. + + Tests: fast/multicol/span/clone-flexbox.html + fast/multicol/span/clone-summary.html + fast/multicol/span/textbox-not-removed-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clone): Fix cloning algorithm to take + care of cloning descendant classes of RenderBlock. + (WebCore::RenderBlock::splitBlocks): When we move our inline children + to cloneBlock, we need to clear our entire line box tree. Any descendant + child in the hierarchy could be a part of our line box tree and will + never get cleared since the child has moved to new parent cloneBlock. + +2012-02-22 Tim Dresser <tdresser@chromium.org> + + CCLayerTreeHostImpl calls didDraw more frequently than willDraw + https://bugs.webkit.org/show_bug.cgi?id=79139 + + Reviewed by James Robinson. + + Ensure that didDraw is called if and only if willDraw was called previously. + + CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that + hidden layers, for which willDraw is not called, will also not have didDraw called. + + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::drawLayers): + * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: + (WebCore::CCVideoLayerImpl::didDraw): + +2012-02-22 Levi Weintraub <leviw@chromium.org> + + ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero + https://bugs.webkit.org/show_bug.cgi?id=78910 + + Reviewed by Eric Seidel. + + Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer. + This causes problems with our conversion to subpixel layout, which asserts when we overflow. + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::thumbPosition): + +2012-02-22 Raymond Liu <raymond.liu@intel.com> + + Have the DynamicsCompressorNode support multi-channel data + https://bugs.webkit.org/show_bug.cgi?id=77856 + + Reviewed by Chris Rogers. + + * platform/audio/DynamicsCompressor.cpp: + (WebCore::DynamicsCompressor::DynamicsCompressor): + (WebCore::DynamicsCompressor::setEmphasisStageParameters): + (WebCore::DynamicsCompressor::process): + (WebCore::DynamicsCompressor::reset): + (WebCore::DynamicsCompressor::setNumberOfChannels): + (WebCore): + * platform/audio/DynamicsCompressor.h: + (DynamicsCompressor): + * platform/audio/DynamicsCompressorKernel.cpp: + (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel): + (WebCore::DynamicsCompressorKernel::setNumberOfChannels): + (WebCore): + (WebCore::DynamicsCompressorKernel::setPreDelayTime): + (WebCore::DynamicsCompressorKernel::process): + (WebCore::DynamicsCompressorKernel::reset): + * platform/audio/DynamicsCompressorKernel.h: + (DynamicsCompressorKernel): + * webaudio/DynamicsCompressorNode.cpp: + (WebCore::DynamicsCompressorNode::DynamicsCompressorNode): + (WebCore::DynamicsCompressorNode::initialize): + +2012-02-22 Bear Travis <betravis@adobe.com> + + Not correctly recalculating layout for elements within nested SVG elements + https://bugs.webkit.org/show_bug.cgi?id=77535 + + Reviewed by Dirk Schulze. + + Relatively positioned text is not correctly updating its position when the + size of its nearest viewport changes. Updating to mark text for layout when + viewPort size changes. + + Test: svg/repaint/inner-svg-change-viewPort-relative.svg + + * rendering/svg/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::layoutChildren): + +2012-02-22 Alexei Svitkine <asvitkine@chromium.org> + + [chromium] Fix remaining compositing/rubberbanding test failures + https://bugs.webkit.org/show_bug.cgi?id=78008 + + These were happening due to the fact that ScrollView wasn't updating + the overhang layer when the contentsSize was updated. This is necessary + because calculateOverhangAreasForPainting() takes the contentsSize into + account when determining whether the overhang areas are visible. + + Reviewed by James Robinson. + + Re-enabled the following tests with updated baselines: + * platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png: + * platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png: + * platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png: + * platform/chromium/test_expectations.txt: + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setContentsSize): + (WebCore::ScrollView::scrollContents): + (WebCore::ScrollView::updateOverhangAreas): + (WebCore): + * platform/ScrollView.h: + (ScrollView): + +2012-02-22 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [Regression] network worker tests crash on qt. + https://bugs.webkit.org/show_bug.cgi?id=79263 + + Reviewed by Pavel Feldman. + + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::createDecoder): + (WebCore::InspectorPageAgent::cachedResourceContent): + +2012-02-22 Adrienne Walker <enne@google.com> + + Unreviewed, rolling out r108518. + http://trac.webkit.org/changeset/108518 + https://bugs.webkit.org/show_bug.cgi?id=75864 + + Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test. + + * WebCore.gypi: + * platform/graphics/chromium/cc/CCLayerIterator.cpp: + (WebCore): + (WebCore::CCLayerIteratorActions::BackToFront::begin): + (WebCore::CCLayerIteratorActions::BackToFront::end): + (WebCore::CCLayerIteratorActions::BackToFront::next): + (WebCore::CCLayerIteratorActions::FrontToBack::begin): + (WebCore::CCLayerIteratorActions::FrontToBack::end): + (WebCore::CCLayerIteratorActions::FrontToBack::next): + (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree): + * platform/graphics/chromium/cc/CCLayerIterator.h: + (WebCore): + (WebCore::CCLayerIterator::CCLayerIterator): + (WebCore::CCLayerIterator::operator++): + (WebCore::CCLayerIterator::operator==): + (WebCore::CCLayerIterator::operator->): + (WebCore::CCLayerIterator::operator*): + (WebCore::CCLayerIterator::representsTargetRenderSurface): + (WebCore::CCLayerIterator::representsContributingRenderSurface): + (WebCore::CCLayerIterator::targetRenderSurfaceLayer): + (CCLayerIterator): + (BackToFront): + (FrontToBack): + * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added. + (WebCore): + (CCLayerIteratorPositionValue): + (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition): + (CCLayerIteratorPosition): + (WebCore::CCLayerIteratorPosition::currentLayer): + (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface): + (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface): + (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer): + (WebCore::CCLayerIteratorPosition::targetRenderSurface): + (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren): + (WebCore::CCLayerIteratorPosition::operator==): + +2012-02-22 Dan Bernstein <mitz@apple.com> + + REGRESSION (r62632): page-break-inside: avoid is ignored + https://bugs.webkit.org/show_bug.cgi?id=79262 + + Reviewed by Adele Peterson. + + This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the + pagination code since then have invalidated that bug, so enabling the feature again does not + re-introduce the bug. + + Updated expected results for printing/page-break-inside-avoid.html. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::adjustForUnsplittableChild): + +2012-02-22 Philippe Normand <pnormand@igalia.com> + + [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer + https://bugs.webkit.org/show_bug.cgi?id=79236 + + Reviewed by Martin Robinson. + + Store a pointer to the MediaPlayer object in the private structure + of the WebKitWebSrc element so we can call its public methods, + like ::referrer(). + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::sourceChanged): + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (_WebKitWebSrcPrivate): + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: + +2012-02-22 Martin Robinson <mrobinson@igalia.com> + + [GTK] Clean build is broken when using make -j + https://bugs.webkit.org/show_bug.cgi?id=76388 + + No new tests. This is just a build fix. + + Use order-only dependencies to ensure that built sources are built before + files that depend on them. + + * GNUmakefile.am: Establish an order-only dependency on some built sources before starting + to build non-generated sources. Rename some temporary files and variables to be more consistent. + * bindings/gobject/GNUmakefile.am: Updated to reflect new variable names. + +2012-02-22 Dana Jansens <danakj@chromium.org> + + [Chromium] New CCOcclusionTracker class with tests + https://bugs.webkit.org/show_bug.cgi?id=78549 + + Reviewed by James Robinson. + + Adds a CCOcclusionTrackerBase template class that is able to track occlusion + of layers while traversing the layer tree from front-to-back, with typedefed + versions for the main and impl threads. + + At each step of the front-to-back traversal, the class should be notified of + changes to the current render target, and when done working with a layer, the + layer is added the tracked occlusion. + + The class provides tests for checking if a rect in content space + for a layer/surface is occluded by others in front of it. + + Unit tests: CCOcclusionTrackerTest.cpp + + * WebCore.gypi: + * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added. + (WebCore): + (WebCore::::enterTargetRenderSurface): + (WebCore::::finishedTargetRenderSurface): + (WebCore::transformSurfaceOpaqueRegion): + (WebCore::::leaveToTargetRenderSurface): + (WebCore::contentToScreenSpaceTransform): + (WebCore::contentToTargetSurfaceTransform): + (WebCore::computeOcclusionBehindLayer): + (WebCore::::markOccludedBehindLayer): + (WebCore::testContentRectOccluded): + (WebCore::::occluded): + (WebCore::::surfaceOccluded): + (WebCore::rectSubtractRegion): + (WebCore::computeUnoccludedContentRect): + (WebCore::::unoccludedContentRect): + (WebCore::::surfaceUnoccludedContentRect): + (WebCore::::currentOcclusionInScreenSpace): + (WebCore::::currentOcclusionInTargetSurface): + * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added. + (WebCore): + (CCOcclusionTrackerBase): + (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase): + (StackObject): + +2012-02-22 Joshua Bell <jsbell@chromium.org> + + [Chromium] IndexedDB: Integrate with about:tracing + https://bugs.webkit.org/show_bug.cgi?id=78831 + + Annotate interesting IDB functions so they show up in the + tracing utility included in the Chromium port. + + Reviewed by Tony Chang. + + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::createIDBKeyFromSerializedValueAndKeyPath): + (WebCore::injectIDBKeyIntoSerializedValue): + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::direction): + (WebCore::IDBCursor::key): + (WebCore::IDBCursor::primaryKey): + (WebCore::IDBCursor::value): + (WebCore::IDBCursor::update): + (WebCore::IDBCursor::continueFunction): + (WebCore::IDBCursor::deleteFunction): + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::direction): + (WebCore::IDBCursorBackendImpl::key): + (WebCore::IDBCursorBackendImpl::primaryKey): + (WebCore::IDBCursorBackendImpl::value): + (WebCore::IDBCursorBackendImpl::update): + (WebCore::IDBCursorBackendImpl::continueFunction): + (WebCore::IDBCursorBackendImpl::continueFunctionInternal): + (WebCore::IDBCursorBackendImpl::deleteFunction): + (WebCore::IDBCursorBackendImpl::prefetchContinue): + (WebCore::IDBCursorBackendImpl::prefetchContinueInternal): + (WebCore::IDBCursorBackendImpl::prefetchReset): + (WebCore::IDBCursorBackendImpl::close): + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::dispatchEvent): + * storage/IDBIndex.cpp: + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::count): + (WebCore::IDBIndex::openKeyCursor): + (WebCore::IDBIndex::get): + (WebCore::IDBIndex::getKey): + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::openCursorInternal): + (WebCore::IDBIndexBackendImpl::openCursor): + (WebCore::IDBIndexBackendImpl::openKeyCursor): + (WebCore::IDBIndexBackendImpl::countInternal): + (WebCore::IDBIndexBackendImpl::count): + (WebCore::IDBIndexBackendImpl::getInternal): + (WebCore::IDBIndexBackendImpl::get): + (WebCore::IDBIndexBackendImpl::getKey): + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::name): + (WebCore::IDBObjectStore::keyPath): + (WebCore::IDBObjectStore::indexNames): + (WebCore::IDBObjectStore::transaction): + (WebCore::IDBObjectStore::get): + (WebCore::IDBObjectStore::add): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::deleteFunction): + (WebCore::IDBObjectStore::clear): + (WebCore::IDBObjectStore::createIndex): + (WebCore::IDBObjectStore::index): + (WebCore::IDBObjectStore::openCursor): + (WebCore::IDBObjectStore::count): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::get): + (WebCore::IDBObjectStoreBackendImpl::getInternal): + (WebCore::fetchKeyFromKeyPath): + (WebCore::injectKeyIntoKeyPath): + (WebCore::IDBObjectStoreBackendImpl::put): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + (WebCore::IDBObjectStoreBackendImpl::deleteFunction): + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + (WebCore::IDBObjectStoreBackendImpl::clear): + (WebCore::IDBObjectStoreBackendImpl::openCursor): + (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): + (WebCore::IDBObjectStoreBackendImpl::count): + (WebCore::IDBObjectStoreBackendImpl::countInternal): + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::onSuccess): + (WebCore::IDBRequest::onSuccessWithContinuation): + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBTracing.h: Added. + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::dispatchEvent): + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::abort): + (WebCore::IDBTransactionBackendImpl::commit): + (WebCore::IDBTransactionBackendImpl::taskTimerFired): + (WebCore::IDBTransactionBackendImpl::taskEventTimerFired): + +2012-02-22 Dana Jansens <danakj@chromium.org> + + [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class. + https://bugs.webkit.org/show_bug.cgi?id=75864 + + Reviewed by James Robinson. + + * platform/graphics/chromium/cc/CCLayerIterator.cpp: + (WebCore::CCLayerIteratorActions::BackToFront::begin): + (WebCore::CCLayerIteratorActions::BackToFront::end): + (WebCore::CCLayerIteratorActions::BackToFront::next): + (WebCore::CCLayerIteratorActions::FrontToBack::begin): + (WebCore::CCLayerIteratorActions::FrontToBack::end): + (WebCore::CCLayerIteratorActions::FrontToBack::next): + (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree): + * platform/graphics/chromium/cc/CCLayerIterator.h: + (WebCore::CCLayerIterator::CCLayerIterator): + (WebCore::CCLayerIterator::operator++): + (WebCore::CCLayerIterator::operator==): + (WebCore::CCLayerIterator::operator->): + (WebCore::CCLayerIterator::operator*): + (WebCore::CCLayerIterator::representsTargetRenderSurface): + (WebCore::CCLayerIterator::representsContributingRenderSurface): + (WebCore::CCLayerIterator::currentLayer): + (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface): + (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface): + (WebCore::CCLayerIterator::targetRenderSurfaceLayer): + (WebCore::CCLayerIterator::targetRenderSurface): + (WebCore::CCLayerIterator::targetRenderSurfaceChildren): + * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed. + +2012-02-22 Pavel Feldman <pfeldman@google.com> + + Web Inspector: console doesn't show properly arrays from which tail values have been deleted + https://bugs.webkit.org/show_bug.cgi?id=79242 + + Reviewed by Yury Semikhatsky. + + * English.lproj/localizedStrings.js: + * inspector/front-end/ConsoleMessage.js: + (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined): + (WebInspector.ConsoleMessageImpl.prototype._printArray): + +2012-02-22 Pavel Feldman <pfeldman@google.com> + + Web Inspector: warning external font mime (font/font/woff). + https://bugs.webkit.org/show_bug.cgi?id=79244 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/Resource.js: + +2012-02-22 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: use dots as markers on the counter graphs + https://bugs.webkit.org/show_bug.cgi?id=79243 + + Changed counter graphs marker and counter text styles. + + Reviewed by Pavel Feldman. + + * English.lproj/localizedStrings.js: + * inspector/front-end/MemoryStatistics.js: + (WebInspector.MemoryStatistics): + (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement): + (WebInspector.MemoryStatistics.prototype.addTimlineEvent): + (WebInspector.MemoryStatistics.prototype._draw): + (WebInspector.MemoryStatistics.prototype._onMouseOut): + (WebInspector.MemoryStatistics.prototype._onMouseOver): + (WebInspector.MemoryStatistics.prototype._onMouseMove): + (WebInspector.MemoryStatistics.prototype._refreshCurrentValues): + (WebInspector.MemoryStatistics.prototype._recordIndexAt): + (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs): + (WebInspector.MemoryStatistics.prototype._clearMarkers): + (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker): + (WebInspector.MemoryStatistics.prototype.refresh): + (WebInspector.MemoryStatistics.prototype._drawPolyline): + (WebInspector.MemoryStatistics.prototype._clear): + * inspector/front-end/timelinePanel.css: + (.memory-counter-sidebar-info): + (.memory-counter-sidebar-info .title): + (.memory-counter-sidebar-info .counter-value): + +2012-02-22 Pavel Feldman <pfeldman@google.com> + + Web Inspector: make 'glue asynchronous events' optional. + https://bugs.webkit.org/show_bug.cgi?id=79240 + + Reviewed by Yury Semikhatsky. + + * English.lproj/localizedStrings.js: + * inspector/front-end/Images/statusbarButtonGlyphs.png: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype.get statusBarItems): + (WebInspector.TimelinePanel.prototype._createStatusbarButtons): + (WebInspector.TimelinePanel.prototype._glueParentButtonClicked): + (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked): + (WebInspector.TimelinePanel.prototype._repopulateRecords): + (WebInspector.TimelinePanel.prototype._findParentRecord): + (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): + (WebInspector.TimelinePanel.prototype.sidebarResized): + (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): + (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition): + (WebInspector.TimelineRecordGraphRow): + (WebInspector.TimelineRecordGraphRow.prototype.update): + (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats): + * inspector/front-end/timelinePanel.css: + (.glue-async-status-bar-item .glyph): + (.timeline-start-at-zero-status-bar-item .glyph): + +2012-02-22 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672. + https://bugs.webkit.org/show_bug.cgi?id=79229 + + Reviewed by Pavel Feldman. + + Test: http/tests/inspector/console-xhr-logging-async.html + + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::setInitialScriptContent): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFinishLoading): + +2012-02-22 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely + https://bugs.webkit.org/show_bug.cgi?id=79241 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/MemoryStatistics.js: + (WebInspector.MemoryStatistics.prototype.addTimlineEvent): + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewPane): + (WebInspector.TimelineOverviewPane.prototype._showTimelines): + (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph): + (WebInspector.TimelineOverviewPane.prototype.setStartAtZero): + (WebInspector.TimelineOverviewPane.prototype._onWindowChanged): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged): + +2012-02-22 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: [experimental] add a mode to display timeline events aligned by the start time + https://bugs.webkit.org/show_bug.cgi?id=79123 + + Reviewed by Pavel Feldman. + + * inspector/front-end/Images/statusbarButtonGlyphs.png: + * inspector/front-end/Settings.js: + (WebInspector.ExperimentsSettings): + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewPane): + (WebInspector.TimelineOverviewPane.prototype._showTimelines): + (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph): + (WebInspector.TimelineOverviewPane.prototype._onWindowChanged): + (WebInspector.TimelineOverviewPane.prototype.setStartAtZero): + (WebInspector.TimelineOverviewPane.prototype.update): + (WebInspector.TimelineOverviewPane.prototype.reset): + (WebInspector.TimelineOverviewWindow): + (WebInspector.TimelineOverviewWindow.prototype.reset): + (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition): + (WebInspector.TimelineOverviewWindow.prototype.scrollWindow): + (WebInspector.TimelineStartAtZeroOverview): + (WebInspector.TimelineStartAtZeroOverview.prototype.reset): + (WebInspector.TimelineStartAtZeroOverview.prototype.update): + (WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords): + (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar): + (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype.get statusBarItems): + (WebInspector.TimelinePanel.prototype._createStatusbarButtons): + (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked): + (WebInspector.TimelinePanel.prototype.get _startAtZero): + (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): + (WebInspector.TimelinePanel.prototype.sidebarResized): + (WebInspector.TimelinePanel.prototype._onRecordsCleared): + (WebInspector.TimelinePanel.prototype._resetPanel): + (WebInspector.TimelinePanel.prototype._scheduleRefresh): + (WebInspector.TimelinePanel.prototype._refresh): + (WebInspector.TimelinePanel.prototype._filterRecords): + (WebInspector.TimelinePanel.prototype._refreshRecords): + (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition): + (WebInspector.TimelineStartAtZeroCalculator): + (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages): + (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition): + (WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow): + (WebInspector.TimelineStartAtZeroCalculator.prototype.reset): + (WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries): + (WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue): + (WebInspector.TimelinePanel.FormattedRecord): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): + (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats): + (WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats): + (WebInspector.TimelineModel.prototype.get records): + (WebInspector.TimelinePresentationModel): + (WebInspector.TimelinePresentationModel.prototype.reset): + (WebInspector.TimelinePresentationModel.prototype.setWindowIndices): + (WebInspector.TimelineRecordFilter): + (WebInspector.TimelineRecordFilter.prototype.accept): + (WebInspector.TimelineStartAtZeroRecordFilter): + (WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept): + * inspector/front-end/timelinePanel.css: + (.timeline-start-at-zero #timeline-overview-sidebar): + (.timeline-start-at-zero #timeline-overview-grid): + (.timeline-overview-window): + (.timeline-start-at-zero .timeline-overview-window): + (.timeline-start-at-zero .timeline-overview-dividers-background): + (.timeline-overview-window-rulers): + (.timeline-start-at-zero #timeline-overview-memory): + (.popover .timeline-loading): + (.popover .timeline-scripting): + (.popover .timeline-rendering): + (.timeline-start-at-zero-status-bar-item .glyph): + (.timeline-start-at-zero-status-bar-item.toggled-on .glyph): + (.timeline-overview-start-at-zero): + (.timeline-overview-start-at-zero-bars): + (.timeline-overview-start-at-zero-bars .padding): + (.timeline-overview-start-at-zero-bars .timeline-bar-vertical): + (.timeline-bar-vertical div:first-child): + (.timeline-bar-vertical .timeline-loading): + (.timeline-bar-vertical .timeline-scripting): + (.timeline-bar-vertical .timeline-rendering): + +2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org> + + [Qt] Disregard previous backing store as soon as possible + https://bugs.webkit.org/show_bug.cgi?id=79232 + + Reviewed by Simon Hausmann and No'am Rosenthal. + + Make it possible to drop non-visible tiles and to test + if the current visible rect is fully covered. + + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::visibleContentsRect): + (WebCore::TiledBackingStore::coverageRatio): + (WebCore::TiledBackingStore::visibleAreaIsCovered): + (WebCore): + (WebCore::TiledBackingStore::createTiles): + (WebCore::TiledBackingStore::removeAllNonVisibleTiles): + * platform/graphics/TiledBackingStore.h: + (TiledBackingStore): + +2012-02-22 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore + https://bugs.webkit.org/show_bug.cgi?id=79233 + + Reviewed by Kenneth Rohde Christiansen. + + Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from. + + * Target.pri: Remove ScrollbarQt.cpp from build. + * platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum + accessible from the outside. + * platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore. + +2012-02-22 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: retrieving content for some XHR requests crashes inspected page renderer + https://bugs.webkit.org/show_bug.cgi?id=79026 + + Reviewed by Pavel Feldman. + + Fixed loading empty xhr content and xhr content decoding that was + broken in r107672. + + Tests: http/tests/inspector/network/network-cyrillic-xhr.html + http/tests/inspector/network/network-empty-xhr.html + + * inspector/InspectorPageAgent.cpp: + (WebCore): + (WebCore::InspectorPageAgent::createDecoder): + (WebCore::InspectorPageAgent::cachedResourceContent): + * inspector/InspectorPageAgent.h: + (WebCore): + * inspector/NetworkResourcesData.cpp: + (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): + (WebCore::NetworkResourcesData::responseReceived): + * inspector/NetworkResourcesData.h: + (WebCore::NetworkResourcesData::ResourceData::decoder): + (WebCore::NetworkResourcesData::ResourceData::setDecoder): + +2012-02-22 Peter Rybin <peter.rybin@gmail.com> + + Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions + https://bugs.webkit.org/show_bug.cgi?id=79153 + + Reviewed by Yury Semikhatsky. + + CParamType class removed completely, some ("virtual") methods are + removed. TypeModel notion is added instead with some minor helper + classes and methods. + + * inspector/CodeGeneratorInspector.py: + (DomainNameFixes): + (RawTypes.BaseType): + (RawTypes.String): + (RawTypes.String.get_raw_type_model): + (RawTypes.Int): + (RawTypes.Int.get_raw_type_model): + (RawTypes.Number): + (RawTypes.Number.get_raw_type_model): + (RawTypes.Bool): + (RawTypes.Bool.get_raw_type_model): + (RawTypes.Object): + (RawTypes.Object.get_raw_type_model): + (RawTypes.Any): + (RawTypes.Any.get_raw_type_model): + (RawTypes.Array): + (RawTypes.Array.get_raw_type_model): + (replace_right_shift): + (CommandReturnPassModel): + (CommandReturnPassModel.ByReference): + (CommandReturnPassModel.ByReference.__init__): + (CommandReturnPassModel.ByReference.get_return_var_type): + (CommandReturnPassModel.get_output_argument_prefix): + (CommandReturnPassModel.get_output_to_raw_expression): + (CommandReturnPassModel.get_output_parameter_type): + (CommandReturnPassModel.get_set_return_condition): + (CommandReturnPassModel.ByPointer): + (CommandReturnPassModel.ByPointer.__init__): + (CommandReturnPassModel.ByPointer.get_return_var_type): + (TypeModel): + (TypeModel.RefPtrBased): + (TypeModel.RefPtrBased.__init__): + (TypeModel.RefPtrBased.get_optional): + (TypeModel.RefPtrBased.get_command_return_pass_model): + (TypeModel.RefPtrBased.get_input_param_type_text): + (TypeModel.RefPtrBased.get_event_setter_expression_pattern): + (TypeModel.Enum): + (TypeModel.Enum.__init__): + (TypeModel.Enum.get_optional): + (TypeModel.Enum.get_optional.EnumOptional): + (TypeModel.Enum.get_optional.EnumOptional.get_optional): + (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model): + (TypeModel.Enum.get_input_param_type_text): + (TypeModel.Enum.get_event_setter_expression_pattern): + (TypeModel.Enum.get_command_return_pass_model): + (TypeModel.ValueType): + (TypeModel.ValueType.__init__): + (TypeModel.ValueType.get_optional): + (TypeModel.ValueType.get_command_return_pass_model): + (TypeModel.ValueType.get_input_param_type_text): + (TypeModel.ValueType.get_event_setter_expression_pattern): + (TypeModel.ValueType.ValueOptional): + (TypeModel.ValueType.ValueOptional.__init__): + (TypeModel.ValueType.ValueOptional.get_optional): + (TypeModel.ValueType.ValueOptional.get_command_return_pass_model): + (TypeModel.ValueType.ValueOptional.get_input_param_type_text): + (TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern): + (TypeModel.init_class): + (TypeBindings.create_ad_hoc_type_declaration.Helper): + (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text): + (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern): + (TypeBindings.create_type_declaration_.EnumBinding): + (TypeBindings.create_type_declaration_.EnumBinding.get_type_model): + (TypeBindings.create_type_declaration_): + (TypeBindings.create_type_declaration_.get_type_model): + (TypeBindings.create_type_declaration_.get_array_item_c_type_text): + (get_type_model): + (AdHocTypeContextImpl.__init__): + (PlainObjectBinding): + (PlainObjectBinding.get_type_model): + (AdHocTypeContext): + (ArrayBinding.get_array_item_c_type_text): + (ArrayBinding): + (ArrayBinding.get_type_model): + (RawTypeBinding.get_validator_call_text): + (RawTypeBinding.reduce_to_raw_type): + (RawTypeBinding): + (RawTypeBinding.get_type_model): + (MethodGenerateModes.StrictParameterMode.get_c_param_type_text): + (MethodGenerateModes.RawParameterMode.get_c_param_type_text): + (MethodGenerateModes.CombinedMode.get_c_param_type_text): + (Generator.go): + (Generator.process_event): + (Generator.process_command): + (Generator.resolve_type_and_generate_ad_hoc): + (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + +2012-02-21 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel. + https://bugs.webkit.org/show_bug.cgi?id=79098 + + Reviewed by Pavel Feldman. + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + * inspector/compile-front-end.sh: + * inspector/front-end/IndexedDBModel.js: + (WebInspector.IndexedDBModel.prototype._assertFrameId): + (WebInspector.IndexedDBModel.prototype.loadObjectStoreData): + (WebInspector.IndexedDBModel.prototype.loadIndexData): + * inspector/front-end/IndexedDBViews.js: Added. + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertiesSection): + (WebInspector.ObjectPropertiesSection.prototype.updateProperties): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.showIndexedDB): + (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB): + (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded): + (WebInspector.IDBDatabaseTreeElement): + (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL): + (WebInspector.IDBDatabaseTreeElement.prototype.update): + (WebInspector.IDBDatabaseTreeElement.prototype.onselect): + (WebInspector.IDBObjectStoreTreeElement): + (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL): + (WebInspector.IDBObjectStoreTreeElement.prototype.update): + (WebInspector.IDBObjectStoreTreeElement.prototype.onselect): + (WebInspector.IDBIndexTreeElement): + (WebInspector.IDBIndexTreeElement.prototype.get itemURL): + (WebInspector.IDBIndexTreeElement.prototype.update): + (WebInspector.IDBIndexTreeElement.prototype.onselect): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/externs.js: + * inspector/front-end/indexedDBViews.css: Added. + * inspector/front-end/inspector.html: + +2012-02-22 Nikolas Zimmermann <nzimmermann@rim.com> + + REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none + https://bugs.webkit.org/show_bug.cgi?id=41386 + + Reviewed by Zoltan Herczeg. + + r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set). + The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used + for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers + for child resources, like <g display="none"><linearGradient>. + + This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as + RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements + contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated + layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it + shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer. + + The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules + to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore. + + Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg + svg/foreignObject/fO-display-none.svg + svg/foreignObject/fO-parent-display-changes.svg + svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg + svg/foreignObject/fO-parent-display-none.svg + svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg + svg/foreignObject/fO-parent-of-parent-display-none.svg + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::addChild): Only create layers, if its allowed. + * rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true. + +2012-02-22 Zoltan Herczeg <zherczeg@webkit.org> + + Drop clipToImageBuffer from RenderBoxModelObject + https://bugs.webkit.org/show_bug.cgi?id=79225 + + Reviewed by Nikolas Zimmermann. + + -webkit-background-clip: text is a rarely used non-standard + feature uses clipToImageBuffer. It is replaced by + CompositeDestinationIn on a transparent layer. The new + approach has the same speed as the old one. + + Existing tests cover this issue. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + +2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Merge setVisibleRectTrajectoryVector and adjustVisibleRect to + the more descriptive coverWithTilesIfNeeded + https://bugs.webkit.org/show_bug.cgi?id=79230 + + Reviewed by Simon Hausmann. + + Both setVisibleRectTrajectoryVector and the adjustVisibleRect are + used for initiating re-tiling, so make that more obvious and merge + the two. + + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::coverWithTilesIfNeeded): + * platform/graphics/TiledBackingStore.h: + (TiledBackingStore): + +2012-02-17 Nikolas Zimmermann <nzimmermann@rim.com> + + REGRESSION: unbalanced transparency layers for clipPath + https://bugs.webkit.org/show_bug.cgi?id=78074 + + Reviewed by Zoltan Herczeg. + + If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify. + SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that + by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer(). + + Add new reftest covering both the visual & logical correctness (no assertion). + + Tests: svg/clip-path/opacity-assertion-expected.svg + svg/clip-path/opacity-assertion.svg + + * rendering/svg/SVGRenderSupport.cpp: + (WebCore::isRenderingMaskImage): Extraced as sharable helper function. + (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function. + (WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first. + +2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Improve comments in tiling code. + + Rubberstamped by Simon Hausmann. + + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::createTiles): + +2012-02-22 'Pavel Feldman' <pfeldman@google.com> + + Not reviewed: build fix. + + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + (InspectorController): + +2012-02-21 Pavel Feldman <pfeldman@google.com> + + Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events. + https://bugs.webkit.org/show_bug.cgi?id=79116 + + Reviewed by Yury Semikhatsky. + + * English.lproj/localizedStrings.js: + * dom/ScriptedAnimationController.cpp: + (WebCore::ScriptedAnimationController::registerCallback): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl): + (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl): + (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback): + * inspector/InspectorTimelineAgent.cpp: + (TimelineRecordType): + (WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback): + (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback): + (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent): + (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent): + * inspector/InspectorTimelineAgent.h: + (InspectorTimelineAgent): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.EventListenerBreakpointsSidebarPane): + (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI): + * inspector/front-end/TimelineAgent.js: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype.get _recordStyles): + (WebInspector.TimelinePanel.prototype._findParentRecord): + (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): + (WebInspector.TimelinePanel.prototype._onRecordsCleared): + (WebInspector.TimelinePanel.FormattedRecord): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): + (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): + +2012-02-22 Changhun Kang <temoochin@company100.net> + + Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h + https://bugs.webkit.org/show_bug.cgi?id=79175 + + Reviewed by Kentaro Hara. + + * page/scrolling/ScrollingCoordinator.h: + Remove PlatformGestureEvent class declaration. + (WebCore): + +2012-02-22 Andras Becsi <andras.becsi@nokia.com> + + [Qt][WK2] Fix the N9 build + https://bugs.webkit.org/show_bug.cgi?id=79101 + + Reviewed by Simon Hausmann. + + Fixed the include order of the rolled out r108359 not to break + the build with CONFIG+=force_static_libs_as_shared. + + * platform/graphics/OpenGLShims.h: Add missing include. + +2012-02-22 Shinya Kawanaka <shinyak@chromium.org> + + firstRendererOf() should also return a fallback element renderer in NodeRenderingContext. + https://bugs.webkit.org/show_bug.cgi?id=79180 + + Reviewed by Hajime Morita. + + Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf + and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner. + + We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked. + They are used for fallback elements. + + Added new test cases in: + fast/dom/shadow/shadow-contents-fallback.html + fast/dom/shadow/shadow-contents-fallback-dynamic.html + + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::NodeRenderingContext): + (WebCore::firstRendererOf): + (WebCore::lastRendererOf): + (WebCore::NodeRenderingContext::nextRenderer): + (WebCore::NodeRenderingContext::previousRenderer): + (WebCore::NodeRenderingContext::shouldCreateRenderer): + * dom/NodeRenderingContext.h: + * html/shadow/InsertionPoint.h: + (WebCore::isInsertionPoint): + (WebCore): + (WebCore::toInsertionPoint): + +2012-02-22 Csaba Osztrogonác <ossy@webkit.org> + + [Qt] Unreviewed gardening after r108464. + + * Target.pri: + +2012-02-22 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r108468. + http://trac.webkit.org/changeset/108468 + https://bugs.webkit.org/show_bug.cgi?id=79219 + + Broke Chromium Win release build (Requested by bashi on + #webkit). + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * websockets/WebSocket.cpp: + (WebCore::WebSocket::didConnect): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::connect): + (WebCore::WebSocketChannel::fail): + (WebCore::WebSocketChannel::processFrame): + (WebCore::WebSocketChannel::sendFrame): + * websockets/WebSocketChannel.h: + * websockets/WebSocketDeflateFramer.cpp: Removed. + * websockets/WebSocketDeflateFramer.h: Removed. + +2012-02-20 Roland Steiner <rolandsteiner@chromium.org> + + <style scoped>: Add runtime-flag + https://bugs.webkit.org/show_bug.cgi?id=79074 + + Added runtime-flag. + Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope. + + Reviewed by Dimitri Glazkov. + + No new tests. (no change in functionality) + + * bindings/generic/RuntimeEnabledFeatures.cpp: + (WebCore): + * bindings/generic/RuntimeEnabledFeatures.h: + (RuntimeEnabledFeatures): + (WebCore::RuntimeEnabledFeatures::styleScopedEnabled): + (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::determineScopingElement): + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::registerWithScopingNode): + (WebCore::HTMLStyleElement::unregisterWithScopingNode): + * html/HTMLStyleElement.idl: + +2012-02-21 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: Audit rules to recommend unprefixing supported CSS properties + https://bugs.webkit.org/show_bug.cgi?id=78985 + + Reviewed by Pavel Feldman. + + * inspector/front-end/AuditCategories.js: + (WebInspector.AuditCategories.PagePerformance.prototype.initialize): + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.CSSRuleBase): + (WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback): + (WebInspector.AuditRules.CSSRuleBase.prototype.doRun): + (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback): + (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet): + (WebInspector.AuditRules.CSSRuleBase.prototype._visitRule): + (WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet): + (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet): + (WebInspector.AuditRules.CSSRuleBase.prototype.visitRule): + (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule): + (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty): + (WebInspector.AuditRules.VendorPrefixedCSSProperties): + (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet): + (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule): + (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule): + (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty): + * inspector/front-end/ResourceUtils.js: + +2012-02-22 Shinya Kawanaka <shinyak@chromium.org> + + Node::attach() should be after attaching children in Element::attach(). + https://bugs.webkit.org/show_bug.cgi?id=79201 + + Reviewed by Hajime Morita. + + In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists. + This may cause O(N^2) problem in NodeRenderingContext. + + No new tests. Existing tests should cover this. + + * dom/Element.cpp: + (WebCore::Element::attach): + +2012-02-22 Kenichi Ishibashi <bashi@chromium.org> + + Adding WebSocket per-frame DEFLATE extension + https://bugs.webkit.org/show_bug.cgi?id=77522 + + Add WebSocketDeflateFramer class which handles deflate-frame extension. + This class encapsulates WebSocketDeflater and WebSocketInflater classes, + which depend on zlib, so that WebSocketChannel is not necessary to aware + zlib dependency. + + Reviewed by Kent Tamura. + + Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html + http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html + http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html + http/tests/websocket/tests/hybi/deflate-frame-parameter.html + + * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h) + * GNUmakefile.list.am: Ditto. + * Target.pri: Ditto. + * WebCore.gypi: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * websockets/WebSocket.cpp: + (WebCore::WebSocket::didConnect): Set m_extensions. + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use. + (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail(). + (WebCore::WebSocketChannel::processFrame): Decompress frames if needed. + (WebCore::WebSocketChannel::sendFrame): Compress frames if possible. + * websockets/WebSocketChannel.h: + * websockets/WebSocketDeflateFramer.cpp: Added. + (WebCore): + (WebSocketExtensionDeflateFrame): + (WebCore::WebSocketExtensionDeflateFrame::create): + (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame): + (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame): + (WebCore::WebSocketExtensionDeflateFrame::handshakeString): + (WebCore::WebSocketExtensionDeflateFrame::processResponse): + (WebCore::DeflateResultHolder::DeflateResultHolder): + (WebCore::DeflateResultHolder::~DeflateResultHolder): + (WebCore::DeflateResultHolder::fail): + (WebCore::InflateResultHolder::InflateResultHolder): + (WebCore::InflateResultHolder::~InflateResultHolder): + (WebCore::InflateResultHolder::fail): + (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer): + (WebCore::WebSocketDeflateFramer::createExtensionProcessor): + (WebCore::WebSocketDeflateFramer::canDeflate): + (WebCore::WebSocketDeflateFramer::enableDeflate): + (WebCore::WebSocketDeflateFramer::deflate): + (WebCore::WebSocketDeflateFramer::resetDeflateContext): + (WebCore::WebSocketDeflateFramer::inflate): + (WebCore::WebSocketDeflateFramer::resetInflateContext): + (WebCore::WebSocketDeflateFramer::didFail): + * websockets/WebSocketDeflateFramer.h: Added. + (WebCore): + (DeflateResultHolder): + (WebCore::DeflateResultHolder::succeeded): + (WebCore::DeflateResultHolder::failureReason): + (InflateResultHolder): + (WebCore::InflateResultHolder::succeeded): + (WebCore::InflateResultHolder::failureReason): + (WebSocketDeflateFramer): + (WebCore::WebSocketDeflateFramer::enabled): + +2012-02-22 Yuta Kitamura <yutak@chromium.org> + + Unreviewed, rolling out r108453. + http://trac.webkit.org/changeset/108453 + https://bugs.webkit.org/show_bug.cgi?id=78549 + + Broke Chromium's webkit_unit_tests. + + * WebCore.gypi: + * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed. + * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed. + +2012-02-22 Zoltan Herczeg <zherczeg@webkit.org> + + [Qt] clipToImageBuffer assertion fix in debug mode on Qt. + + Rubber stamped by Csaba Osztrogonác. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::restorePlatformState): + +2012-02-22 Adam Barth <abarth@webkit.org> + + [GTK] fast/frames/frame-dead-region.html crash + https://bugs.webkit.org/show_bug.cgi?id=79205 + + Unreviewed. + + Apparently we're not supposed to call willDetachPage from + CachedFrame::destroy. This call got added in + http://trac.webkit.org/changeset/108428, but it seems to cause a crash. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::closeAndRemoveChild): + (WebCore::FrameLoader::detachFromParent): + * page/Frame.h: + (WebCore::Frame::detachFromPage): + * page/Page.cpp: + (WebCore::Page::~Page): + +2012-02-22 Adam Barth <abarth@webkit.org> + + Move Geolocation code into Modules/geolocation + https://bugs.webkit.org/show_bug.cgi?id=79204 + + Reviewed by Hajime Morita. + + There are still some dangling references into the Geolocation module, + which I will clean up in a followup patch. + + * CMakeLists.txt: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp. + * Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h. + * Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl. + * Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp. + * Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h. + * Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h. + * Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h. + * Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h. + * Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl. + * Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h. + * Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl. + * Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h. + * Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl. + * Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h. + * Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl. + * Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h. + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/Geolocation.cpp: Removed. + * page/Geolocation.h: Removed. + * page/Geolocation.idl: Removed. + * page/GeolocationController.cpp: Removed. + * page/GeolocationController.h: Removed. + * page/GeolocationError.h: Removed. + * page/GeolocationPosition.h: Removed. + * page/Geoposition.h: Removed. + * page/Geoposition.idl: Removed. + * page/PositionCallback.h: Removed. + * page/PositionCallback.idl: Removed. + * page/PositionError.h: Removed. + * page/PositionError.idl: Removed. + * page/PositionErrorCallback.h: Removed. + * page/PositionErrorCallback.idl: Removed. + * page/PositionOptions.h: Removed. + +2012-02-22 Frederik Gladhorn <frederik.gladhorn@nokia.com> + + [gtk] Accessibility: use find funtion in vector instead of for. + https://bugs.webkit.org/show_bug.cgi?id=77878 + + Reviewed by Hajime Morita. + + Minor cleanup, use the find function from vector. + + * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: + (webkitAccessibleGetIndexInParent): + +2012-02-22 Ryosuke Niwa <rniwa@webkit.org> + + Remove the remaining uses of CSSStyleDeclaration in Editor + https://bugs.webkit.org/show_bug.cgi?id=78939 + + Reviewed by Enrica Casucci. + + Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection, + applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration + to StylePropertySet. + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * editing/Editor.cpp: + (WebCore::Editor::applyStyle): + (WebCore::Editor::shouldApplyStyle): + (WebCore::Editor::applyParagraphStyle): + (WebCore::Editor::applyStyleToSelection): + (WebCore::Editor::applyParagraphStyleToSelection): + (WebCore::Editor::setBaseWritingDirection): + (WebCore::Editor::computeAndSetTypingStyle): + * editing/Editor.h: + (WebCore): + (Editor): + * editing/EditorCommand.cpp: + (WebCore::applyCommandToFrame): + (WebCore::executeApplyParagraphStyle): + (WebCore::executeMakeTextWritingDirectionLeftToRight): + (WebCore::executeMakeTextWritingDirectionNatural): + (WebCore::executeMakeTextWritingDirectionRightToLeft): + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::shouldApplyStyle): + * page/DragController.cpp: + (WebCore::DragController::concludeEditDrag): + * page/EditorClient.h: + (WebCore): + (EditorClient): + +2012-02-22 Dana Jansens <danakj@chromium.org> + + [chromium] Cull quads outside of the scissoring damage rect + https://bugs.webkit.org/show_bug.cgi?id=79181 + + Reviewed by James Robinson. + + Quads outside of the partial swap cause us to execute GL operations + that actually use a fair amount of CPU time (enough to affect power + usage). Here we cull quads by only keeping their intersection + with the damage rect used for partial swap. + + Unit test: CCQuadCuller.cpp + + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses): + * platform/graphics/chromium/cc/CCQuadCuller.cpp: + (WebCore::CCQuadCuller::cullOccludedQuads): + * platform/graphics/chromium/cc/CCQuadCuller.h: + (CCQuadCuller): + * platform/graphics/chromium/cc/CCRenderPass.cpp: + (WebCore::CCRenderPass::optimizeQuads): + * platform/graphics/chromium/cc/CCRenderPass.h: + (CCRenderPass): + +2012-02-21 Dana Jansens <danakj@chromium.org> + + [Chromium] New CCOcclusionTracker class with tests + https://bugs.webkit.org/show_bug.cgi?id=78549 + + Reviewed by James Robinson. + + Adds a CCOcclusionTrackerBase template class that is able to track occlusion + of layers while traversing the layer tree from front-to-back, with typedefed + versions for the main and impl threads. + + At each step of the front-to-back traversal, the class should be notified of + changes to the current render target, and when done working with a layer, the + layer is added the tracked occlusion. + + The class provides tests for checking if a rect in content space + for a layer/surface is occluded by others in front of it. + + Unit tests: CCOcclusionTrackerTest.cpp + + * WebCore.gypi: + * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added. + (WebCore): + (WebCore::::enterTargetRenderSurface): + (WebCore::::finishedTargetRenderSurface): + (WebCore::transformSurfaceOpaqueRegion): + (WebCore::::leaveToTargetRenderSurface): + (WebCore::contentToScreenSpaceTransform): + (WebCore::contentToTargetSurfaceTransform): + (WebCore::computeOcclusionBehindLayer): + (WebCore::::markOccludedBehindLayer): + (WebCore::testContentRectOccluded): + (WebCore::::occluded): + (WebCore::::surfaceOccluded): + (WebCore::rectSubtractRegion): + (WebCore::computeUnoccludedContentRect): + (WebCore::::unoccludedContentRect): + (WebCore::::surfaceUnoccludedContentRect): + (WebCore::::currentOcclusionInScreenSpace): + (WebCore::::currentOcclusionInTargetSurface): + * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added. + (WebCore): + (CCOcclusionTrackerBase): + (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase): + (StackObject): + +2012-02-21 Andreas Kling <awesomekling@apple.com> + + Cache <font face> family lists in CSSValuePool. + <http://webkit.org/b/79195> + + Reviewed by Antti Koivisto. + + HTMLFontElements with "face" attributes are very common in legacy web content. + Add a String->CSSValue cache for these in CSSValuePool and use it to avoid + reparsing and recreating duplicate font face values. + + This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFontFaceValue): + * css/CSSParser.h: + * css/CSSValuePool.cpp: + (WebCore::CSSValuePool::createFontFaceValue): + * css/CSSValuePool.h: + * html/HTMLFontElement.cpp: + (WebCore::HTMLFontElement::collectStyleForAttribute): + +2012-02-21 Adam Barth <abarth@webkit.org> + + Separate the implementation of registerProtocolHandler from Navigator.cpp + https://bugs.webkit.org/show_bug.cgi?id=78945 + + Reviewed by Eric Seidel. + + The implementation of registerProtocolHandler needlessly complicates + the implementation of Navigator.cpp. In principle, + registerProtocolHandler (and possibly registerContentHandler, when we + implement that feature) could be its own module, but that seems like + overkill for one or two files. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/Navigator.cpp: + (WebCore): + * page/Navigator.h: + (Navigator): + * page/Navigator.idl: + +2012-02-21 MORITA Hajime <morrita@google.com> + + HasIDFlag and HasClassFlag can be removed. + https://bugs.webkit.org/show_bug.cgi?id=77861 + + Reviewed by Andreas Kling. + + Replaced HasIDFlag and HasClassFlag with a check against + ElementAttributeData. It looks these flags (originally bitfields) + were legacy of ancient era, where we didn't cache @id and @class + values and needed a hash lookup for each check. + + No new tests. No behavioral change. + + * dom/Element.cpp: + (WebCore::Element::idAttributeChanged): + * dom/Element.h: + (WebCore::Element::hasID): + (WebCore): + (WebCore::Element::hasClass): + (WebCore::Node::hasID): + (WebCore::Node::hasClass): + * dom/ElementAttributeData.h: + (WebCore::ElementAttributeData::hasID): + (WebCore::ElementAttributeData::hasClass): + (ElementAttributeData): + * dom/Node.h: + (Node): + (WebCore::nodeStyleChangeShift): + * dom/StyledElement.cpp: + (WebCore::StyledElement::classAttributeChanged): + +2012-02-21 Matthew Delaney <mdelaney@apple.com> + + 2D Canvas setTransform makes unnecessary matrix mults + https://bugs.webkit.org/show_bug.cgi?id=79190 + + Reviewed by Dan Bernstein. + + No new tests - plenty of current tests using setTransform. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setTransform): + +2012-02-21 MORITA Hajime <morrita@google.com> + + INPUT_SPEECH should be implemented as a PageSupplement. + https://bugs.webkit.org/show_bug.cgi?id=79051 + + Turned SpeechInput to a PageSupplement. + + Reviewed by Adam Barth. + + No new tests. No behavior change. + + * html/shadow/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::speechInput): + (WebCore::InputFieldSpeechButtonElement::attach): + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::PageClients::PageClients): + * page/Page.h: + (WebCore): + (PageClients): + (Page): + * page/SpeechInput.cpp: + (WebCore::SpeechInput::supplementName): + (WebCore): + (WebCore::provideSpeechInputTo): + * page/SpeechInput.h: + (SpeechInput): + (WebCore::SpeechInput::from): + * page/SpeechInputClient.h: + (WebCore): + +2012-02-21 Alexandre Elias <aelias@google.com> + + [chromium] Add three small zoom gesture features + https://bugs.webkit.org/show_bug.cgi?id=74216 + + Reviewed by James Robinson. + + 1. Support panning around with two fingers. + 2. When double-tap zooming, issue the commit at final/scroll scale as + early as possible. + 3. When pinch zooming out, issue a commit at minimum scale to avoid + showing checkerboard. + + Added test for panning to CCLayerTreeHostImplTest::pinchGesture. + (The other features are heuristics whose exact behavior we don't need + to lock in with a test.) + + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation): + (WebCore::CCLayerTreeHostImpl::pinchGestureBegin): + (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate): + (WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas): + (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas): + (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet): + (WebCore::CCLayerTreeHostImpl::processScrollDeltas): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + +2012-02-21 Filip Pizlo <fpizlo@apple.com> + + JSC should be a triple-tier VM + https://bugs.webkit.org/show_bug.cgi?id=75812 + <rdar://problem/10079694> + + Reviewed by Gavin Barraclough. + + No new tests, because there is no change in behavior. + + * CMakeLists.txt: + +2012-02-21 Kentaro Hara <haraken@chromium.org> + + NavigatorMediaStream.idl defines an interface for NavigatorGamepad + https://bugs.webkit.org/show_bug.cgi?id=79152 + + Reviewed by Adam Barth. + + Fixed a typo: NavigatorGamepad => NavigatorMediaStream + + This typo fix just changes the name of generated files: + + - V8NavigatorGamepad.h => V8NavigatorMediaStream.h + - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp + + The reason why the typo has not caused any serious build issues is that + the generate files for supplemental interfaces are "empty" and not important. + They just exist to control makefile dependencies. + + No tests. No change in behavior. + + * mediastream/NavigatorMediaStream.idl: + +2012-02-21 Daniel Sievers <sievers@chromium.org> + + [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads. + https://bugs.webkit.org/show_bug.cgi?id=76017 + + Reviewed by James Robinson. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawSolidColorQuad): + +2012-02-21 Max Vujovic <mvujovic@adobe.com> + + getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values + https://bugs.webkit.org/show_bug.cgi?id=78631 + + Reviewed by Eric Seidel. + + SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS + borders and paddings, causing the CTM calculation to be off. + + Test: svg/dom/SVGLocatable-getCTM-svg-root.html + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::currentViewportSize): + + SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect. + The contentBoxRect corresponds to the SVG viewport and does not include borders and + paddings. + +2012-02-21 Robin Cao <robin.cao@torchmobile.com.cn> + + [BlackBerry] Upstream Icon class in platform/graphics/blackberry + https://bugs.webkit.org/show_bug.cgi?id=79088 + + Reviewed by Antonio Gomes. + + Initial upstreaming, no new tests. + + * platform/graphics/blackberry/IconBlackBerry.cpp: Added. + (WebCore): + (WebCore::Icon::~Icon): + (WebCore::Icon::paint): + (WebCore::Icon::createIconForFiles): + +2012-02-21 Kenichi Ishibashi <bashi@chromium.org> + + Rename "reserved1" flag of WebSocketFrame to compress + https://bugs.webkit.org/show_bug.cgi?id=79187 + + WebSocket deflate-frame extension draft specification defines COMP bit. + http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11 + + Reviewed by Kent Tamura. + + No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change. + + * websockets/WebSocketChannel.cpp: + (WebCore): + (WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress". + (WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check. + (WebCore::makeFrameData): + (WebCore::WebSocketChannel::sendFrame): + * websockets/WebSocketFrame.h: "reserved1" flag renamed "compress". + (WebCore::WebSocketFrame::WebSocketFrame): + (WebSocketFrame): + +2012-02-21 Yael Aharon <yael.aharon@nokia.com> + + [Texmap] Move all TextureMapper related files to graphics/texmap + https://bugs.webkit.org/show_bug.cgi?id=79141 + + Reviewed by Martin Robinson. + + Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap. + No new tests. + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * platform/graphics/qt/GraphicsContext3DQt.cpp + * platform/graphics/opengl/TextureMapperGL.cpp: Removed. + * platform/graphics/opengl/TextureMapperGL.h: Removed. + * platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed. + * platform/graphics/opengl/TextureMapperShaderManager.h: Removed. + * platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp. + * platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h. + * platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp. + * platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h. + +2012-02-20 MORITA Hajime <morrita@google.com> + + MEDIA_STREAM should be implemented as a PageSupplement. + https://bugs.webkit.org/show_bug.cgi?id=79050 + + Reviewed by Adam Barth. + + Added UserMediaController which implements PageSupplement. This + controller mediates WebCore-to-client communication and lifecycle + management. Then pushed UserMediaController out as a + PageSupplement module. + + No new tests. No behavior change. + + * WebCore.gypi: + * GNUmakefile.list.am: + * mediastream/NavigatorMediaStream.cpp: + (WebCore::NavigatorMediaStream::webkitGetUserMedia): + * mediastream/UserMediaClient.h: + (WebCore): + * mediastream/UserMediaController.cpp: Added. + (WebCore): + (WebCore::UserMediaController::supplementName): + (WebCore::UserMediaController::UserMediaController): + (WebCore::UserMediaController::~UserMediaController): + (WebCore::UserMediaController::create): + (WebCore::provideUserMediaTo): + * mediastream/UserMediaController.h: Added. + (WebCore): + (UserMediaController): + (WebCore::UserMediaController::client): + (WebCore::UserMediaController::from): + (WebCore::UserMediaController::requestUserMedia): + (WebCore::UserMediaController::cancelUserMediaRequest): + * mediastream/UserMediaRequest.cpp: + (WebCore::UserMediaRequest::create): + (WebCore::UserMediaRequest::UserMediaRequest): + (WebCore::UserMediaRequest::didCompleteQuery): + (WebCore::UserMediaRequest::contextDestroyed): + * mediastream/UserMediaRequest.h: + (WebCore): + (UserMediaRequest): + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::~Page): + (WebCore::Page::PageClients::PageClients): + * page/Page.h: + (WebCore): + (PageClients): + (Page): + +2012-02-21 James Robinson <jamesr@chromium.org> + + Node::isContentEditable should only update styles, not layout + https://bugs.webkit.org/show_bug.cgi?id=78637 + + Reviewed by Ryosuke Niwa. + + isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are + out of date. It does not depend on knowing any layout-derived properties, however, so updating layout is just a + waste of time. + + Behavior is covered by existing layout tests, primarily in editing/ + + * dom/Node.cpp: + (WebCore::Node::isContentEditable): + (WebCore::Node::isContentRichlyEditable): + +2012-02-21 James Robinson <jamesr@chromium.org> + + Partially revert r108418 - move allowEventDispatch() call back to where it used to be. + + Rubber-stamped by Ryosuke Niwa. + + Tested by fast/text/find-layout-crash.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChildren): + +2012-02-21 Anders Carlsson <andersca@apple.com> + + Background jitters on pages with background-attachment: fixed + https://bugs.webkit.org/show_bug.cgi?id=79182 + + Reviewed by Dan Bernstein. + + Make sure to update the main frame scroll position before updating the scrolling layer. + This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame + position if the main frame didn't have a scroll layer. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition): + +2012-02-21 Dana Jansens <danakj@chromium.org> + + Early-out in Region::unite() for adding an empty region. + https://bugs.webkit.org/show_bug.cgi?id=79174 + + Reviewed by Anders Carlsson. + + * platform/graphics/Region.cpp: + (WebCore::Region::unite): + +2012-02-21 Dana Jansens <danakj@chromium.org> + + [chromium] Painting a layer clears opaque rect in untouched tiles + https://bugs.webkit.org/show_bug.cgi?id=79157 + + Reviewed by James Robinson. + + When painting a tiled layer, we would throw away the saved opaque rect + for any tiles that were not part of the paint. So now we check + if we are able to save the existing saved opaque rect in a more + proper way: + 1. If any pixels of the saved rect are painted non-opaque, we replace + the saved rect. + 2. If an opaque rect is drawn outside of the saved rect, we replace + the saved rect. + + Unit test: TiledLayerChromiumTest.cpp + + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::TiledLayerChromium::prepareToUpdateTiles): + (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace): + +2012-02-21 Raymond Toy <rtoy@google.com> + + Small typo in AudioPannerNode.cpp + https://bugs.webkit.org/show_bug.cgi?id=75890 + + Change to check elevation as intended instead of azimuth. + + Reviewed by Chris Rogers. + + No new tests for correction of typo. + + * webaudio/AudioPannerNode.cpp: + (WebCore::AudioPannerNode::getAzimuthElevation): + +2012-02-21 Adam Barth <abarth@webkit.org> + + Frame and Navigator shouldn't need to worry about Geolocation + https://bugs.webkit.org/show_bug.cgi?id=78860 + + Reviewed by Eric Seidel. + + This patch removes some Geolocation-specific code from Frame and + Navigator in favor of our new supplemental module mechanism. We're + still refining the module system, but we seem to be converging on a + simple Observer/Supplement design. + + In a future patch, I'll move the remaining Geolocation-related files in + WebCore into Modules/geolocation. This patch appears to be the first + patch that introduces a module used by all the various build systems, + which is why there's a bit more build system overhead than usual. + + * Modules/geolocation: Added. + * Modules/geolocation/NavigatorGeolocation.cpp: Added. + (WebCore): + (WebCore::NavigatorGeolocation::NavigatorGeolocation): + (WebCore::NavigatorGeolocation::~NavigatorGeolocation): + (WebCore::NavigatorGeolocation::pageDestroyed): + (WebCore::NavigatorGeolocation::from): + (WebCore::NavigatorGeolocation::geolocation): + * Modules/geolocation/NavigatorGeolocation.h: Added. + (WebCore): + (NavigatorGeolocation): + * Modules/geolocation/NavigatorGeolocation.idl: Added. + - I've temporarily disabled this API for GObject because it generates + a strange compile error. Once I land this patch, I'll spend some + more time fixing the compile error. + * page/DOMWindow.cpp: + (WebCore): + * page/DOMWindow.h: + (DOMWindow): + * page/Frame.cpp: + (WebCore::Frame::pageDestroyed): + (WebCore::Frame::transferChildFrameToNewDocument): + * page/FrameDestructionObserver.cpp: + (WebCore::FrameDestructionObserver::pageDestroyed): + (WebCore): + * page/FrameDestructionObserver.h: + (FrameDestructionObserver): + * page/Navigator.cpp: + (WebCore): + * page/Navigator.h: + (WebCore): + (Navigator): + * page/Navigator.idl: + +2012-02-21 Shawn Singh <shawnsingh@chromium.org> + + [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic + https://bugs.webkit.org/show_bug.cgi?id=78936 + + Reviewed by James Robinson. + + No change in behavior, the code moved around already covered by existing tests. + + In calculateDrawTransformsAndVisibility(), there are two separate + if-else statements where setTargetRenderSurface logic is + performed, and this makes the code less readable and more error + prone. This patch merges the logic, removing the redundant if-else + statements. + + This code also merges one other set of if-statements that are + equivalent, if (layer->parent()) and if (layer!=rootLayer). + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::createRenderSurface): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::createRenderSurface): + * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: + (WebCore::calculateDrawTransformsAndVisibilityInternal): + +2012-02-21 Kentaro Hara <haraken@chromium.org> + + Remove FIXME from resolve-supplemental.pl + https://bugs.webkit.org/show_bug.cgi?id=79160 + + Reviewed by Adam Barth. + + The IDL attribute checker has been enabled in all build systems. + This patch removes FIXME in resolve-supplemental.pl. + Also, this patch improves a comment in IDLAttributes.txt. + + No tests. No change in behavior. + + * bindings/scripts/IDLAttributes.txt: + * bindings/scripts/resolve-supplemental.pl: + +2012-02-21 Emil A Eklund <eae@chromium.org> + + Add FractionalLayoutRect for sub-pixel layout + https://bugs.webkit.org/show_bug.cgi?id=78924 + + Reviewed by Eric Seidel. + + Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint + and FractionalLayoutSize internally. + + Also add conversions to int/float versions of same. + + No new tests. + + * GNUmakefile.list.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/FloatRect.cpp: + (WebCore::FloatRect::FloatRect): + (WebCore): + * platform/graphics/FloatRect.h: + (WebCore): + (FloatRect): + * platform/graphics/FractionalLayoutRect.cpp: Added. + (WebCore): + (WebCore::FractionalLayoutRect::FractionalLayoutRect): + (WebCore::FractionalLayoutRect::intersects): + (WebCore::FractionalLayoutRect::contains): + (WebCore::FractionalLayoutRect::intersect): + (WebCore::FractionalLayoutRect::unite): + (WebCore::FractionalLayoutRect::uniteIfNonZero): + (WebCore::FractionalLayoutRect::scale): + (WebCore::unionRect): + (WebCore::enclosingIntRect): + (WebCore::enclosingFractionalLayoutRect): + (WebCore::pixelSnappedIntRect): + * platform/graphics/FractionalLayoutRect.h: Added. + (WebCore): + (FractionalLayoutRect): + (WebCore::FractionalLayoutRect::FractionalLayoutRect): + (WebCore::FractionalLayoutRect::location): + (WebCore::FractionalLayoutRect::size): + (WebCore::FractionalLayoutRect::setLocation): + (WebCore::FractionalLayoutRect::setSize): + (WebCore::FractionalLayoutRect::x): + (WebCore::FractionalLayoutRect::y): + (WebCore::FractionalLayoutRect::maxX): + (WebCore::FractionalLayoutRect::maxY): + (WebCore::FractionalLayoutRect::width): + (WebCore::FractionalLayoutRect::height): + (WebCore::FractionalLayoutRect::setX): + (WebCore::FractionalLayoutRect::setY): + (WebCore::FractionalLayoutRect::setWidth): + (WebCore::FractionalLayoutRect::setHeight): + (WebCore::FractionalLayoutRect::isEmpty): + (WebCore::FractionalLayoutRect::center): + (WebCore::FractionalLayoutRect::move): + (WebCore::FractionalLayoutRect::moveBy): + (WebCore::FractionalLayoutRect::expand): + (WebCore::FractionalLayoutRect::contract): + (WebCore::FractionalLayoutRect::shiftXEdgeTo): + (WebCore::FractionalLayoutRect::shiftMaxXEdgeTo): + (WebCore::FractionalLayoutRect::shiftYEdgeTo): + (WebCore::FractionalLayoutRect::shiftMaxYEdgeTo): + (WebCore::FractionalLayoutRect::minXMinYCorner): + (WebCore::FractionalLayoutRect::maxXMinYCorner): + (WebCore::FractionalLayoutRect::minXMaxYCorner): + (WebCore::FractionalLayoutRect::maxXMaxYCorner): + (WebCore::FractionalLayoutRect::contains): + (WebCore::FractionalLayoutRect::inflateX): + (WebCore::FractionalLayoutRect::inflateY): + (WebCore::FractionalLayoutRect::inflate): + (WebCore::FractionalLayoutRect::transposedRect): + (WebCore::FractionalLayoutRect::infiniteRect): + (WebCore::intersection): + (WebCore::unionRect): + (WebCore::operator==): + (WebCore::operator!=): + * platform/graphics/IntRect.cpp: + (WebCore::IntRect::IntRect): + (WebCore): + * platform/graphics/IntRect.h: + (WebCore): + (IntRect): + +2012-02-21 James Robinson <jamesr@chromium.org> + + Enable ScrollingCoordinator in chromium whenever compositing is enabled + https://bugs.webkit.org/show_bug.cgi?id=79165 + + Reviewed by Adam Barth. + + As the title says. + + * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: + (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::setScrollLayer): + (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): + (WebCore::ScrollingCoordinator::setScrollParameters): + (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): + Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing. + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::RenderLayerBacking): + Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME. + * rendering/RenderLayerCompositor.cpp: + (WebCore::shouldCompositeOverflowControls): + Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we + want to composite overflow controls even for FrameViews that we aren't coordinating via the + ScrollingCoordinator. + +2012-02-21 Adam Klein <adamk@chromium.org> + + Setting innerText causes DOMSubtreeModified to be dispatched too early + https://bugs.webkit.org/show_bug.cgi?id=79140 + + Reviewed by Ryosuke Niwa. + + Followup to r108152: move children change notifications later in + ContainerNode::removeChildren(), thus making sure Node::inDocument() + is in the correct state when we call into script. + + Tests: fast/dom/getElementById-consistency3.html + fast/dom/getElementById-consistency4.html + fast/dom/getElementById-consistency5.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChildren): + +2012-02-15 Ryosuke Niwa <rniwa@webkit.org> + + Assertion failure in TextIterator::handleTextBox + https://bugs.webkit.org/show_bug.cgi?id=78530 + + Reviewed by Eric Seidel. + + The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing + m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition + when we have a first-letter. + + Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html + + * editing/TextIterator.cpp: + (WebCore::TextIterator::handleTextNode): + (WebCore::TextIterator::handleTextBox): + (WebCore::TextIterator::handleTextNodeFirstLetter): + +2012-02-21 Yael Aharon <yael.aharon@nokia.com> + + Unreviewed build fix. + + No new tests. + + * platform/graphics/opengl/TextureMapperGL.cpp: + +2012-02-21 Adam Klein <adamk@chromium.org> + + ContainerNode::childrenChanged must be called immediately after removing children + https://bugs.webkit.org/show_bug.cgi?id=79162 + + Reviewed by Ryosuke Niwa. + + In r108152, a call to childrenChanged() was erroneously moved + below the call to child->removedFromDocument(). This breaks, at the + least, the behavior of the <title> element. This patch corrects the + mistake and adds a test. + + Test: fast/dom/title-directionality-removeChild.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChild): + +2012-02-21 Luke Macpherson <macpherson@chromium.org> + + Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty. + https://bugs.webkit.org/show_bug.cgi?id=79067 + + Reviewed by Andreas Kling. + + No new tests / refactoring only. + + * css/CSSStyleApplyProperty.cpp: + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::collectMatchingRulesForList): + * rendering/style/RenderStyle.h: + +2012-02-21 Jon Lee <jonlee@apple.com> + + Bring notifications support to WK1 mac + https://bugs.webkit.org/show_bug.cgi?id=78783 + <rdar://problem/10610578> + + Reviewed by Anders Carlsson. + + * WebCore.exp.in: Expose dispatchErrorEvent on Notification. + +2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Qt] Previous web page appears outside content rect + https://bugs.webkit.org/show_bug.cgi?id=78816 + + Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and + not sizes. + + Reviewed by Kenneth Rohde Christiansen. + + No new functionality. + + * platform/graphics/opengl/TextureMapperGL.cpp: + (WebCore::scissorClip): + +2012-02-21 Victor Carbune <vcarbune@adobe.com> + + Added support for pause-on-exit flag on a TextTrackCue. + https://bugs.webkit.org/show_bug.cgi?id=72173 + + Reviewed by Eric Carlson. + + Test: media/track/track-cues-pause-on-exit.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented + support for pausing the video if the pause-on-exit flag is set on + a cue that is currently exiting. + +2012-02-21 Kentaro Hara <haraken@chromium.org> + + Enable the IDL attribute checker in all build systems + https://bugs.webkit.org/show_bug.cgi?id=79090 + + Reviewed by Adam Barth. + + We have enabled the IDL attribute checker in Chromium in r108322. + This patch enables the IDL attribute checker in all other + build systems. + + No tests. I manually checked that [Custommm], [CallWith=], + [CallWith=ScriptExecutionContext|Foo] cause build failures. + + * CMakeLists.txt: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.am: + * UseJSC.cmake: + * UseV8.cmake: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation] + since I forgot to add it in r108322. + +2012-02-21 Yael Aharon <yael.aharon@nokia.com> + + [Texmap] Better management of shaders in TextureMapperGL + https://bugs.webkit.org/show_bug.cgi?id=78674 + + Reviewed by Noam Rosenthal. + + Split TextureMapperGL.cpp into two files. + Get rid of the enums that we were using to identify shaders and to identify variables. + Switch flip and opaque from using bool to using enums. + + No new tests. This is refactoring only. + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * platform/graphics/OpenGLShims.h: + * platform/graphics/opengl/TextureMapperGL.cpp: + (WebCore): + (SharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::SharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData): + (WebCore::TextureMapperGLData::TextureMapperGLData): + (TextureMapperGLData): + (WebCore::TextureMapperGL::drawTexture): + (WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity): + (WebCore::TextureMapperGL::drawTextureSimple): + (WebCore::TextureMapperGL::beginClip): + * platform/graphics/opengl/TextureMapperGL.h: + * platform/graphics/opengl/TextureMapperShaderManager.cpp: Added. + (WebCore): + (WebCore::FRAGMENT_SHADER): + (WebCore::TextureMapperShaderProgram::initializeProgram): + (WebCore::TextureMapperShaderProgram::getUniformLocation): + (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgramSimple::create): + (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource): + (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource): + (WebCore::TextureMapperShaderProgramOpacityAndMask::create): + (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource): + (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource): + (WebCore::TextureMapperShaderProgramClip::create): + (WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip): + (WebCore::TextureMapperShaderProgramClip::vertexShaderSource): + (WebCore::TextureMapperShaderProgramClip::fragmentShaderSource): + (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): + (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager): + * platform/graphics/opengl/TextureMapperShaderManager.h: Added. + (WebCore): + (WebCore::debugGLCommand): + (TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::id): + (WebCore::TextureMapperShaderProgram::vertexAttrib): + (WebCore::TextureMapperShaderProgram::shaderType): + (TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramSimple::matrixVariable): + (WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable): + (WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable): + (WebCore::TextureMapperShaderProgramSimple::opacityVariable): + (TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable): + (WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable): + (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable): + (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable): + (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable): + (WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable): + (TextureMapperShaderProgramClip): + (WebCore::TextureMapperShaderProgramClip::matrixVariable): + (TextureMapperShaderManager): + (WebCore::TextureMapperShaderManager::getShaderProgram): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): + * platform/graphics/texmap/TextureMapper.h: + (WebCore::BitmapTexture::reset): + (WebCore::BitmapTexture::isOpaque): + (BitmapTexture): + +2012-02-21 Anders Carlsson <andersca@apple.com> + + The tile cache should keep track of the tile coverage rect + https://bugs.webkit.org/show_bug.cgi?id=79149 + <rdar://problem/10877338> + + Reviewed by Andreas Kling. + + Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages. + + * platform/graphics/ca/mac/TileCache.h: + (TileCache): + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::setNeedsDisplayInRect): + (WebCore::TileCache::revalidateTiles): + +2012-02-21 Andreas Kling <awesomekling@apple.com> + + Make WebKitCSSShaderValue inherit directly from CSSValue. + <http://webkit.org/b/79144> + + Reviewed by Antti Koivisto. + + WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used + it for storing the shader URL. Moved that to a String member instead. + + WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so + there should be no behavior change whatsoever here. + + * css/WebKitCSSShaderValue.cpp: + (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue): + (WebCore::WebKitCSSShaderValue::cachedShader): + (WebCore::WebKitCSSShaderValue::customCssText): + * css/WebKitCSSShaderValue.h: + (WebKitCSSShaderValue): + +2012-02-21 James Robinson <jamesr@chromium.org> + + Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView): + +2012-02-21 James Robinson <jamesr@chromium.org> + + ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active + https://bugs.webkit.org/show_bug.cgi?id=79126 + + Reviewed by Anders Carlsson. + + The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all + about manipulating GraphicsLayers. Adds a runtime check. + + Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView. + + * page/FrameView.cpp: + (WebCore::FrameView::addFixedObject): + (WebCore::FrameView::removeFixedObject): + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView): + (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange): + +2012-02-21 James Robinson <jamesr@chromium.org> + + Chromium build fix. Unreviwed but rubber-stamped by Antti. + + * dom/Document.cpp: + * editing/ReplaceSelectionCommand.cpp: + * inspector/InspectorStyleSheet.h: + +2012-02-21 Eric Carlson <eric.carlson@apple.com> + + Set Referrer header for media downloads + https://bugs.webkit.org/show_bug.cgi?id=78614 + + Reviewed by Alexey Proskuryakov. + + Test: http/tests/media/video-referer.html was modified to test this change. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer. + * html/HTMLMediaElement.h: + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer. + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayerClient::mediaPlayerReferrer): + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: + * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add + a referer header. + +2012-02-21 Antti Koivisto <antti@apple.com> + + Not reviewed. + + Remove some obsolete comments, use consistent name for propertyID. + + * css/StylePropertySet.h: + (StylePropertySet): + +2012-02-21 Antti Koivisto <antti@apple.com> + + Clean up StylePropertySet included headers + https://bugs.webkit.org/show_bug.cgi?id=79134 + + Reviewed by Andreas Kling. + + Remove unneccesary includes. + + * bindings/js/JSDOMBinding.h: + * css/StylePropertySet.cpp: + * css/StylePropertySet.h: + (WebCore): + (StylePropertySet): + * editing/RemoveCSSPropertyCommand.cpp: + +2012-02-21 Lin Wei <wei.a.lin@intel.com> + + Fix bug from r107672. + https://bugs.webkit.org/show_bug.cgi?id=78773 + + Before set MediaStreamTrack disable/enable operation, + checking the status of MediaStream that contains this MediaStreamTrack. + if MediaStream is finished, then skipping operation of + didSetMediaStreamTrackEnabled(). + + Reviewed by Adam Barth. + * mediastream/MediaStreamTrack.cpp: + (WebCore::MediaStreamTrack::setEnabled): + +2012-02-21 Julien Chaffraix <jchaffraix@webkit.org> + + Move RenderLayer::scrolledContentOffset calls to a common function + https://bugs.webkit.org/show_bug.cgi?id=76971 + + Reviewed by David Hyatt. + + Refactoring without any change in behavior. + + This change adds a RenderBox::scrolledContentOffset function to handle all + the calls that goes through the layer(). This indirection will enable us to + add layer() checks without patching a lot of call sites as part of bug 75568. + + We also moved down the concept of scroll offset down to RenderBox where it belongs! + + * rendering/RenderLayer.h: + (RenderLayer): + (WebCore::RenderLayer::scrolledContentOffset): + Moved scrolledContent to the private section of the class to prevent misuse. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::scrolledContentOffset): + New function to add an indirection with RenderLayer. + + * editing/visible_units.cpp: + (WebCore::absoluteLineDirectionPointToLocalPointInBlock): + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::selectionGapRectsForRepaint): + (WebCore::RenderBlock::paintSelection): + (WebCore::RenderBlock::nodeAtPoint): + (WebCore::RenderBlock::offsetForContents): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::offsetFromContainer): + (WebCore::RenderBox::computeRectForRepaint): + * rendering/RenderBox.h: + (RenderBox): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::clippedOverflowRectForRepaint): + (WebCore::RenderInline::computeRectForRepaint): + (WebCore::RenderInline::offsetFromContainer): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::computeRectForRepaint): + (WebCore::RenderObject::mapLocalToContainer): + (WebCore::RenderObject::mapAbsoluteToLocalPoint): + (WebCore::RenderObject::offsetFromContainer): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlInnerBlock::positionForPoint): + Patched all those call sites to use the new function. + +2012-02-21 Emil A Eklund <eae@chromium.org> + + Remove obsolete float comparison FIXMEs + https://bugs.webkit.org/show_bug.cgi?id=79127 + + Reviewed by Eric Seidel. + + Remove obsolete FIXME comments added back when we were planning to use + floating point units for layout. + + No new tests, no code changes. + + * page/FrameView.cpp: + (WebCore::FrameView::init): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): + (WebCore::RenderBlock::getClearDelta): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalHeight): + (WebCore::RenderBox::computeLogicalHeightUsing): + (WebCore::RenderBox::computePercentageLogicalHeight): + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + +2012-02-21 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: it is nearly impossible to select and copy text on the Elements panel. + https://bugs.webkit.org/show_bug.cgi?id=60814 + + Reviewed by Pavel Feldman. + + * inspector/front-end/inspector.js: + (WebInspector.documentClick.followLink): + (WebInspector.documentClick): + +2012-02-21 Abhishek Arya <inferno@chromium.org> + + Crash in RenderTableSection::nodeAtPoint. + https://bugs.webkit.org/show_bug.cgi?id=78922 + + Reviewed by Julien Chaffraix. + + Test: fast/table/table-section-node-at-point-crash.html + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::nodeAtPoint): recalc cells if the + m_needsCellRecalc is set. Otherwise, we will end up accessing + removed table cells. + +2012-02-21 Antti Koivisto <antti@apple.com> + + Move PropertySetCSSStyleDeclaration to a file of its own + https://bugs.webkit.org/show_bug.cgi?id=79121 + + Rubber-stamped by Andreas Kling. + + This makes StylePropertySet.cpp more readable. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp. + (WebCore::PropertySetCSSStyleDeclaration::ref): + (WebCore::PropertySetCSSStyleDeclaration::deref): + (WebCore): + * css/PropertySetCSSStyleDeclaration.h: Added. + (WebCore): + (PropertySetCSSStyleDeclaration): + (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration): + (WebCore::PropertySetCSSStyleDeclaration::parentElement): + (WebCore::PropertySetCSSStyleDeclaration::clearParentRule): + (WebCore::PropertySetCSSStyleDeclaration::clearParentElement): + (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet): + (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc): + (RuleCSSStyleDeclaration): + (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration): + (WebCore::RuleCSSStyleDeclaration::parentRule): + (WebCore::RuleCSSStyleDeclaration::clearParentRule): + (InlineCSSStyleDeclaration): + (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration): + (WebCore::InlineCSSStyleDeclaration::parentElement): + (WebCore::InlineCSSStyleDeclaration::clearParentElement): + * css/StylePropertySet.cpp: + (WebCore): + +2012-02-21 Philippe Normand <pnormand@igalia.com> + + [GTK] WebAudio build is broken + https://bugs.webkit.org/show_bug.cgi?id=79113 + + Reviewed by Martin Robinson. + + * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: + (webKitWebAudioGStreamerChannelPosition): Set a default value for + the position variable. + * platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed + for sharedResourcesPath(). + +2012-02-21 Andreas Kling <awesomekling@apple.com> + + Kill FontFamilyValue. + <http://webkit.org/b/79103> + + Reviewed by Antti Koivisto. + + Remove FontFamilyValue and replace all usage by CSSPrimitiveValue. + The class was only used to filter font family names, removing bracketed + suffixes, e.g "[Xft]". + + This was added to KHTML in 2002 to support the use of specific X11 font + families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808> + + Test: fast/css/font-family-trailing-bracket-gunk.html + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.order: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + * css/CSSParser.cpp: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::collectMatchingRulesForList): + * css/CSSValue.cpp: + (WebCore::CSSValue::cssText): + (WebCore::CSSValue::destroy): + * css/CSSValue.h: + * css/CSSValuePool.cpp: + (WebCore::CSSValuePool::createFontFamilyValue): + * css/CSSValuePool.h: + (CSSValuePool): + * css/FontFamilyValue.cpp: Removed. + * css/FontFamilyValue.h: Removed. + +2012-02-21 Alexis Menard <alexis.menard@openbossa.org> + + Little optimization for CSSParser::parseFillShorthand. + https://bugs.webkit.org/show_bug.cgi?id=79042 + + Reviewed by Hajime Morita. + + Remove one extra loop that we can combine with the following one + which adds the properties to the parser's list of properties. I also + removed a useless check. + Instruments shows on the css-parser-yui benchmark an improvement + of 13ms (from 77ms spent in the function to 64ms). + + No new tests : refactoring, existings tests should cover. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFillShorthand): + +2012-02-20 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=79046 + + width of overflow:hidden blocks is wrong when their margins overlap floats. + + Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html + + This patch makes the following changes to how objects shrink when avoiding floats: + (1) The containing block width used for percentage calculations is now constant. This means that + an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending + on the available line width. From a code perspective, containingBlockLogicalWidthForContent and + containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for + shrinkToAvoidFloats() objects. + + (2) Now the computation of the logical width for the shrinking object itself handles the adjustments. + Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink + the object to the available line width minus our margins, and then expand the width back out to the content edge + or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the + content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our + margin overlaps with the float. This expansion is not performed for negative margins, since our result is already + correct in that case. + + Reviewed by Dan Bernstein. + + Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot) + in fast/block/float. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::containsFloat): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::containsFloats): + Changed to be const. + + (WebCore::RenderBlock::endOffsetForLine): + (WebCore::RenderBlock::endOffsetForContent): + Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): + New method that handles shrinking the logical width to the line width (and then re-expanding back out to the + float and/or content edges as needed). + + (WebCore::RenderBox::containingBlockLogicalWidthForContent): + (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion): + Patched to no longer do the shrinking of objects to avoid floats. + + (WebCore::RenderBox::computeLogicalWidthInRegion): + (WebCore::RenderBox::computeLogicalWidthInRegionUsing): + Patched to handle calling the new shrinking code to adjust our logical width. + + * rendering/RenderBox.h: + (RenderBox): + The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information + to efficiently perform the shrinking. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::computeLogicalWidth): + Patched to handle calling the new shrinking code to adjust our logical width. + +2012-02-21 Sam Weinig <sam@webkit.org> + + Attempt to fix the Snow Leopard build. + + * Configurations/Base.xcconfig: + +2012-02-21 Sam Weinig <sam@webkit.org> + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * Configurations/Base.xcconfig: + +2012-02-21 Adam Roben <aroben@apple.com> + + Mac build fix + + * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that + WebKit can include them. + +2012-02-21 Andras Becsi <andras.becsi@nokia.com> + + [Qt][WK2] Fix the N9 build + https://bugs.webkit.org/show_bug.cgi?id=79101 + + Reviewed by Noam Rosenthal. + + No new tests needed. + + * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include. + +2012-02-21 Adam Roben <aroben@apple.com> + + Roll out r108309, r108323, and r108326 + + They broke the 32-bit Lion build. + + Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>. + + * CMakeLists.txt: + +2012-02-21 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box + https://bugs.webkit.org/show_bug.cgi?id=79107 + + Reviewed by Pavel Feldman. + + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt.SuggestBox): + (WebInspector.TextPrompt.SuggestBox.prototype.get visible): + (WebInspector.TextPrompt.SuggestBox.prototype.hide): + (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement): + (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady): + * inspector/front-end/textPrompt.css: + (.suggest-box): + +2012-02-21 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: timeline hangs on a page with deep chain of nested events. + https://bugs.webkit.org/show_bug.cgi?id=79106 + + Use stack of states instead of recursive calls when traversing records tree to + avoid stack overflow. + + Reviewed by Pavel Feldman. + + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewPane.prototype._forAllRecords): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype._filterRecords): + +2012-02-21 Pavel Feldman <pfeldman@google.com> + + Web Inspector: [crash] upon style modification after navigation + https://bugs.webkit.org/show_bug.cgi?id=79108 + + Reviewed by Yury Semikhatsky. + + * inspector/InspectorHistory.cpp: + (WebCore::InspectorHistory::undo): + (WebCore::InspectorHistory::redo): + (WebCore::InspectorHistory::reset): + +2012-02-21 Patrick Gansterer <paroga@webkit.org> + + Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=79089 + + Reviewed by Adam Roben. + + Avoid loading and unloading of the crypto library during every + call to openTemporaryFile() and make the code easier. + + * platform/win/FileSystemWin.cpp: + (WebCore::openTemporaryFile): + +2012-02-21 Alexander Færøy <alexander.faeroy@nokia.com> + + Remove stylesheet pointer from StylePropertySet + https://bugs.webkit.org/show_bug.cgi?id=79092 + + Reviewed by Csaba Osztrogonác. + + Qt buildfix after r108345. + + * css/CSSParser.cpp: + (WebCore::parseColorValue): + +2012-02-21 Csaba Osztrogonác <ossy@webkit.org> + + Remove stylesheet pointer from StylePropertySet + https://bugs.webkit.org/show_bug.cgi?id=79092 + + Reviewed by Antti Koivisto. + + Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which + reported a false warning: 'value$m_ptr' may be used uninitialized in this function + + * css/CSSParser.cpp: + (WebCore::parseSimpleLengthValue): + +2012-02-21 Andreas Kling <awesomekling@apple.com> + + Shrink attribute style property sets after populating them. + <http://webkit.org/b/78972> + + Reviewed by Antti Koivisto. + + Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute() + to minimize the amount of wasted space. + + * css/StylePropertySet.h: + (WebCore::StylePropertySet::shrinkToFit): + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateAttributeStyle): + +2012-02-21 Antti Koivisto <antti@apple.com> + + Remove stylesheet pointer from StylePropertySet + https://bugs.webkit.org/show_bug.cgi?id=79092 + + Reviewed by Andreas Kling. + + The context should be passed as an argument for CSS parser invoking setters that actually need it. + + - Remove the context stylesheet pointer. + - Add context stylesheet argument to setters. + - Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly. + - Adapt to changes by passing in the context stylesheet where needed. + - Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style. + + * css/CSSFontFaceRule.cpp: + (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): + * css/CSSParser.cpp: + (WebCore::parseColorValue): + (WebCore::parseSimpleLengthValue): + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseDeclaration): + (WebCore::CSSParser::createStyleRule): + (WebCore::CSSParser::createFontFaceRule): + (WebCore::CSSParser::createPageRule): + (WebCore::CSSParser::createKeyframeRule): + * css/CSSParser.h: + (CSSParser): + * css/CSSStyleRule.cpp: + (WebCore::CSSStyleRule::addSubresourceStyleURLs): + * css/StylePropertySet.cpp: + (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet): + (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc): + (RuleCSSStyleDeclaration): + (InlineCSSStyleDeclaration): + (WebCore): + (WebCore::StylePropertySet::StylePropertySet): + (WebCore::StylePropertySet::setProperty): + (WebCore::StylePropertySet::parseDeclaration): + (WebCore::StylePropertySet::addSubresourceStyleURLs): + (WebCore::StylePropertySet::clearParentRule): + (WebCore::StylePropertySet::clearParentElement): + (WebCore::PropertySetCSSStyleDeclaration::setCssText): + (WebCore::PropertySetCSSStyleDeclaration::setProperty): + (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal): + (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet): + (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc): + (WebCore::RuleCSSStyleDeclaration::contextStyleSheet): + (WebCore::InlineCSSStyleDeclaration::contextStyleSheet): + (SameSizeAsStylePropertySet): + * css/StylePropertySet.h: + (WebCore::StylePropertySet::create): + (StylePropertySet): + * css/WebKitCSSMatrix.cpp: + (WebCore::WebKitCSSMatrix::setMatrixValue): + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::ensureInlineStyleDecl): + * dom/StyledElement.cpp: + (WebCore): + (WebCore::StyledElement::parseAttribute): + (WebCore::StyledElement::setInlineStyleProperty): + (WebCore::StyledElement::addSubresourceAttributeURLs): + (WebCore::StyledElement::updateAttributeStyle): + * dom/StyledElement.h: + (StyledElement): + (WebCore::StyledElement::applyPresentationAttributeToStyle): + (WebCore): + * html/HTMLBRElement.cpp: + (WebCore::HTMLBRElement::collectStyleForAttribute): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::collectStyleForAttribute): + * html/HTMLDivElement.cpp: + (WebCore::HTMLDivElement::collectStyleForAttribute): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::applyBorderAttributeToStyle): + (WebCore::HTMLElement::mapLanguageAttributeToLocale): + (WebCore::HTMLElement::collectStyleForAttribute): + (WebCore::HTMLElement::applyAlignmentAttributeToStyle): + (WebCore::HTMLElement::addHTMLLengthToStyle): + (WebCore::HTMLElement::addHTMLColorToStyle): + * html/HTMLElement.h: + (HTMLElement): + * html/HTMLFontElement.cpp: + (WebCore::HTMLFontElement::collectStyleForAttribute): + * html/HTMLHRElement.cpp: + (WebCore::HTMLHRElement::collectStyleForAttribute): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::collectStyleForAttribute): + * html/HTMLLIElement.cpp: + (WebCore::HTMLLIElement::collectStyleForAttribute): + * html/HTMLMarqueeElement.cpp: + (WebCore::HTMLMarqueeElement::collectStyleForAttribute): + * html/HTMLOListElement.cpp: + (WebCore::HTMLOListElement::collectStyleForAttribute): + * html/HTMLParagraphElement.cpp: + (WebCore::HTMLParagraphElement::collectStyleForAttribute): + * html/HTMLTableCaptionElement.cpp: + (WebCore::HTMLTableCaptionElement::collectStyleForAttribute): + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::collectStyleForAttribute): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::collectStyleForAttribute): + * html/HTMLTablePartElement.cpp: + (WebCore::HTMLTablePartElement::collectStyleForAttribute): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::collectStyleForAttribute): + * html/HTMLUListElement.cpp: + (WebCore::HTMLUListElement::collectStyleForAttribute): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setFont): + * mathml/MathMLElement.cpp: + (WebCore::MathMLElement::collectStyleForAttribute): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::insertedIntoDocument): + (WebCore::SVGFontFaceElement::removedFromDocument): + (WebCore::SVGFontFaceElement::removeFromMappedElementSheet): + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::collectStyleForAttribute): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::collectStyleForAttribute): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::collectStyleForAttribute): + +2012-02-21 Yury Semikhatsky <yurys@chromium.org> + + [V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop + https://bugs.webkit.org/show_bug.cgi?id=79097 + + Worker script will be interrupted to dispatch all arriving inspector commands. + This way debugger will be operable even if worker is in a tight loop. + + Reviewed by Pavel Feldman. + + * bindings/js/ScriptDebugServer.h: + (Task): + (WebCore::ScriptDebugServer::Task::~Task): + (ScriptDebugServer): + * bindings/js/WorkerScriptDebugServer.cpp: + (WebCore::WorkerScriptDebugServer::interruptAndRunTask): + (WebCore): + * bindings/js/WorkerScriptDebugServer.h: + (WorkerScriptDebugServer): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::interruptAndRun): + * bindings/v8/ScriptDebugServer.h: + (ScriptDebugServer): + * bindings/v8/WorkerScriptDebugServer.cpp: + (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::interruptAndRunTask): + (WebCore): + * bindings/v8/WorkerScriptDebugServer.h: + (v8): + (WebCore): + (WorkerScriptDebugServer): + * inspector/WorkerDebuggerAgent.cpp: + (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): + (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent): + (WebCore): + (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands): + * inspector/WorkerDebuggerAgent.h: + (WebCore): + (WorkerDebuggerAgent): + * workers/WorkerMessagingProxy.cpp: + (WebCore): + (WebCore::WorkerMessagingProxy::sendMessageToInspector): + * workers/WorkerRunLoop.cpp: + (WebCore::WorkerRunLoop::run): + (WebCore::WorkerRunLoop::runInMode): + * workers/WorkerRunLoop.h: + (WorkerRunLoop): + +2012-02-21 'Pavel Feldman' <pfeldman@google.com> + + Not reviewed: fixing Mac build (take 2). + + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::setShowPaintRects): + +2012-02-21 'Pavel Feldman' <pfeldman@google.com> + + Not reviewed: fixing Mac build. + + * inspector/DOMNodeHighlighter.cpp: + (WebCore::DOMNodeHighlighter::drawOutline): + * inspector/DOMNodeHighlighter.h: + (DOMNodeHighlighter): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willPaintImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::willPaint): + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::InspectorPageAgent): + (WebCore::InspectorPageAgent::willPaint): + (WebCore::InspectorPageAgent::didPaint): + * inspector/InspectorPageAgent.h: + +2012-02-21 Peter Rybin <peter.rybin@gmail.com> + + Web Inspector: Switch Debugger agent to TypeBuilder + https://bugs.webkit.org/show_bug.cgi?id=78390 + + Reviewed by Vsevolod Vlasov. + + Client code is switched to TypeBuilder. + + * inspector/CodeGeneratorInspector.py: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getFunctionDetails): + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::wrapCallFrames): + * inspector/InjectedScript.h: + (InjectedScript): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::getFunctionDetails): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + (InspectorDebuggerAgent): + +2012-02-21 'Pavel Feldman' <pfeldman@google.com> + + Not reviewed: fixing poor merge in r108332. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection.prototype._handleSelectorClick): + * inspector/front-end/externs.js: + +2012-02-21 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: [Styles] Rule source URL tooltip should show line number + https://bugs.webkit.org/show_bug.cgi?id=79087 + + Reviewed by Pavel Feldman. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection): + (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): + +2012-02-21 Pavel Feldman <pfeldman@chomium.org> + + Web Inspector: clicking empty space should not re-enter edit mode + https://bugs.webkit.org/show_bug.cgi?id=79024 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection): + (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown): + (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick): + +2012-02-21 Pavel Feldman <pfeldman@chomium.org> + + Web Inspector: evaluate on hover does not work for large files. + https://bugs.webkit.org/show_bug.cgi?id=79015 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/JavaScriptSourceFrame.js: + (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor): + (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression): + * inspector/front-end/Popover.js: + (WebInspector.PopoverHelper.prototype._handleMouseAction): + * inspector/front-end/SourceJavaScriptTokenizer.js: + (WebInspector.SourceJavaScriptTokenizer): + (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken): + * inspector/front-end/SourceJavaScriptTokenizer.re2js: + +2012-02-21 Pavel Feldman <pfeldman@google.com> + + Web Inspector: add "show paint rectangles" setting. + https://bugs.webkit.org/show_bug.cgi?id=79030 + + Reviewed by Yury Semikhatsky. + + * English.lproj/localizedStrings.js: + * inspector/DOMNodeHighlighter.cpp: + (WebCore::DOMNodeHighlighter::drawOutline): + (DOMNodeHighlighter): + * inspector/DOMNodeHighlighter.h: + (WebCore): + (DOMNodeHighlighter): + * inspector/Inspector.json: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willPaintImpl): + (WebCore::InspectorInstrumentation::didPaintImpl): + * inspector/InspectorInstrumentation.h: + (WebCore): + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::willPaint): + * inspector/InspectorPageAgent.cpp: + (PageAgentState): + (WebCore::InspectorPageAgent::create): + (WebCore::InspectorPageAgent::InspectorPageAgent): + (WebCore::InspectorPageAgent::setShowPaintRects): + (WebCore): + (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): + (WebCore::InspectorPageAgent::willPaint): + (WebCore::InspectorPageAgent::didPaint): + (WebCore::InspectorPageAgent::buildObjectForFrame): + * inspector/InspectorPageAgent.h: + (WebCore): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/SettingsScreen.js: + (WebInspector.SettingsScreen): + (WebInspector.SettingsScreen.prototype._showPaintRectsChanged): + * inspector/front-end/inspector.js: + * page/FrameView.cpp: + (WebCore::FrameView::paintContents): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintContents): + +2012-02-21 Andras Becsi <andras.becsi@nokia.com> + + [Qt] Clean-up project file after r108310 + + Reviewed by Csaba Osztrogonác. + + No new tests needed. + + * Target.pri: Fix path for TextTrack headers. + +2012-02-17 Philippe Normand <pnormand@igalia.com> + + [GStreamer] media/W3C failures + https://bugs.webkit.org/show_bug.cgi?id=75078 + + Reviewed by Martin Robinson. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::load): Clean out everything + after file:// url path to cope with media/W3C tests loading + file:///path/to/media.ext?some parameters. + +2012-02-21 Matt Lilek <mrl@apple.com> + + Not reviewed, build fix for non-client-based Geolocation builds after r107982. + + * page/Geolocation.cpp: + +2012-02-21 Yury Semikhatsky <yurys@chromium.org> + + [V8] Web Inspector: simplify worker debugger implementation + https://bugs.webkit.org/show_bug.cgi?id=79085 + + There is one instance of WorkerScriptDebugServer per worker thread. We don't + need to resolve WorkerContext from V8::Context anymore. + + Reviewed by Pavel Feldman. + + * bindings/v8/WorkerScriptDebugServer.cpp: + (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::addListener): + (WebCore::WorkerScriptDebugServer::removeListener): + (WebCore::WorkerScriptDebugServer::getDebugListenerForContext): + (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): + * bindings/v8/WorkerScriptDebugServer.h: + (WorkerScriptDebugServer): + * inspector/WorkerDebuggerAgent.cpp: + (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): + (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): + (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): + +2012-02-21 Kentaro Hara <haraken@chromium.org> + + Enable the IDL attribute checker in Chromium + https://bugs.webkit.org/show_bug.cgi?id=79082 + + Reviewed by Adam Barth. + + We have fixed 10~ bugs caused by typos of IDL attributes. + This patch adds an IDL attribute checker, which checks if all IDL attributes + used in IDL files are implemented by code generators. + + - The IDL attribute checker uses IDLAttributes.txt, which lists all + IDL attributes implemented in code generators. If we want to add + a new IDL attribute, we need to add it to IDLAttributes.txt manually. + - The IDL attribute checker checks if all IDL attributes used in IDL files + are listed in IDLAttributes.txt. + - If the IDL attribute checker fails, the build fails with a verbose error message. + + No tests. I manually checked that [Custommm], [CallWith=], + [CallWith=ScriptExecutionContext|Foo] cause build failures. + + * WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker. + + * bindings/scripts/resolve-supplemental.pl: + (loadIDLAttributes): This method loads a list of IDL attributes from IDLAttributes.txt. + (checkIDLAttributes): This method implementes the IDL attribute checker as described above. + (checkIfIDLAttributesExists): + + * bindings/scripts/IDLParser.pm: "1" is not good to represent that + the IDL attribute does not have any value. This patch changed it to "VALUE_IS_MISSING". + (parseExtendedAttributes): + (ParseInterface): + * bindings/scripts/CodeGenerator.pm: Ditto. + (ContentAttributeName): + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + (GenerateNormalAttrGetter): + (GenerateNormalAttrSetter): + (GenerateSingleBatchedAttribute): + (GetRuntimeEnableFunctionName): + * bindings/scripts/IDLAttributes.txt: Added. This file lists all IDL attributes implemented + in code generators. + +2012-02-21 Patrick Gansterer <paroga@webkit.org> + + Use Win32 API to get file information + https://bugs.webkit.org/show_bug.cgi?id=55336 + + Reviewed by Adam Roben. + + Use FindFirstFile() in favour over _wstat64() to share the code with WinCE. + + * platform/win/FileSystemWin.cpp: + (WebCore): + (WebCore::getFindData): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::fileExists): + +2012-02-20 Adam Barth <abarth@webkit.org> + + Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element + https://bugs.webkit.org/show_bug.cgi?id=78975 + + Reviewed by Eric Seidel. + + We're supposed to set the action attribute on the form element we just + created. Previously, we assumed the newly created form element would + be on the top of the stack of open elements, but if we're in the table + body insertion mode, the form element gets treated as self closing and + is therefore popped off the stack of open elements. + + Fortunately, we already cache a pointer to the most recently inserted + form element on the HTMLConstructionSite, so we can just grab the + element from there. + + Test: html5lib/runner.html + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): + (WebCore): + +2012-02-20 Adam Barth <abarth@webkit.org> + + Unite TextTrack-related files with their friends in WebCore/html/track + https://bugs.webkit.org/show_bug.cgi?id=78941 + + Reviewed by Eric Seidel. + + The code that supports <track> seems to be split between the + WebCore/html directory and the WebCore/html/track directory. This + patch unites this code in the WebCore/html/track directory. + + * CMakeLists.txt: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * html/LoadableTextTrack.cpp: Removed. + * html/LoadableTextTrack.h: Removed. + * html/TextTrack.cpp: Removed. + * html/TextTrack.h: Removed. + * html/TextTrack.idl: Removed. + * html/TextTrackCue.cpp: Removed. + * html/TextTrackCue.h: Removed. + * html/TextTrackCue.idl: Removed. + * html/TextTrackCueList.cpp: Removed. + * html/TextTrackCueList.h: Removed. + * html/TextTrackCueList.idl: Removed. + * html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp. + * html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h. + * html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp. + * html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h. + * html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl. + * html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp. + * html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h. + * html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl. + * html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp. + * html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h. + * html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl. + +2012-02-20 Filip Pizlo <fpizlo@apple.com> + + JSC should be a triple-tier VM + https://bugs.webkit.org/show_bug.cgi?id=75812 + <rdar://problem/10079694> + + Reviewed by Gavin Barraclough. + + No new tests, because there is no change in behavior. + + * CMakeLists.txt: + +2012-02-20 Benjamin Poulain <benjamin@webkit.org> + + Get rid of the LocalizationStrategy + https://bugs.webkit.org/show_bug.cgi?id=78324 + + Reviewed by Sam Weinig. + + Remove LocalizationStrategy and unify the localization behind + LocalizedStrings.h and LocalizedStrings.cpp. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.order: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/DefaultLocalizationStrategy.cpp: Removed. + * platform/DefaultLocalizationStrategy.h: Removed. + * platform/LocalizationStrategy.h: Removed. + * platform/LocalizedStrings.cpp: + * platform/LocalizedStrings.h: + (WebCore): + * platform/PlatformStrategies.cpp: + * platform/PlatformStrategies.h: + (WebCore): + (WebCore::PlatformStrategies::PlatformStrategies): + (PlatformStrategies): + * platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp. + +2012-02-20 Kentaro Hara <haraken@chromium.org> + + Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup + https://bugs.webkit.org/show_bug.cgi?id=79064 + + Reviewed by Hajime Morita. + + [TreatReturnedNullStringAsNull] is a typo of [TreatReturnedNullStringAs=Null]. + But as far as I read the spec + (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-mediagroup), + there is no statement about what value should be returned when HTMLMediaElement.mediaGroup + is not yet initialized. In particular, there is no statement that says "null should + be returned when HTMLMediaElement.mediaGroup is not initialized". Thus, instead of + fixing the typo, just removing [TreatReturnedNullStringAsNull] would make sense. + Removing [TreatReturnedNullStringAsNull] does not change the current behavior. + + Test: media/media-controller.html (No change in the test results.) + + * html/HTMLMediaElement.idl: + +2012-02-20 Hayato Ito <hayato@chromium.org> + + Use InsertinonPoint instead of HTMLContentElement. + https://bugs.webkit.org/show_bug.cgi?id=78778 + + Reviewed by Hajime Morita. + + Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection. + This is one of followup patches for r108207. + + No new tests, no change in behavior. + + * dom/NodeRenderingContext.cpp: + (WebCore::nextRendererOf): + (WebCore::previousRendererOf): + (WebCore::firstRendererOf): + (WebCore::lastRendererOf): + * dom/NodeRenderingContext.h: + (WebCore): + (NodeRenderingContext): + (WebCore::NodeRenderingContext::insertionPoint): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::insertionPointFor): + * dom/ShadowRoot.h: + (WebCore): + * html/shadow/HTMLContentElement.cpp: + (WebCore::HTMLContentElement::HTMLContentElement): + (WebCore::HTMLContentElement::attach): + (WebCore::HTMLContentElement::detach): + * html/shadow/HTMLContentElement.h: + (HTMLContentElement): + * html/shadow/HTMLContentSelector.cpp: + (WebCore::HTMLContentSelector::select): + * html/shadow/HTMLContentSelector.h: + (WebCore): + (HTMLContentSelection): + (WebCore::HTMLContentSelection::insertionPoint): + (WebCore::HTMLContentSelection::HTMLContentSelection): + (WebCore::HTMLContentSelection::create): + * html/shadow/InsertionPoint.cpp: + (WebCore::InsertionPoint::InsertionPoint): + * html/shadow/InsertionPoint.h: + (WebCore::InsertionPoint::selections): + (WebCore::InsertionPoint::hasSelection): + (InsertionPoint): + +2012-02-20 David Barton <dbarton@mathscribe.com> + + MathML internals - code clean-up for RenderMathMLSubSup + https://bugs.webkit.org/show_bug.cgi?id=79063 + + Reviewed by Eric Seidel. + + In the next patch, I will shrink and revise the <msubsup> formatting code. To make this + easier to follow, I am first doing some simple code clean-up. + + No new tests. + + * rendering/mathml/RenderMathMLRow.cpp: + (WebCore::RenderMathMLRow::layout): + * rendering/mathml/RenderMathMLRow.h: + (WebCore::RenderMathMLRow::isRenderMathMLRow): + * rendering/mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::stretchToHeight): + (WebCore::RenderMathMLSubSup::layout): + - There is no need to iterate over baseWrapper's children since it should have only + one child, the base of the <msubsup>. + +2012-02-20 Kentaro Hara <haraken@chromium.org> + + Replace [V8Custom=DOMWindowNOP] with [V8Custom] + https://bugs.webkit.org/show_bug.cgi?id=79062 + + Reviewed by Adam Barth. + + [V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm. + This patch replaces it with [V8Custom]. + + No new tests. No change in behavior. + + * page/DOMWindow.idl: + +2012-02-20 Kentaro Hara <haraken@chromium.org> + + [JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable] + https://bugs.webkit.org/show_bug.cgi?id=79061 + + Reviewed by Adam Barth. + + CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot], + but "ImplRoot" is not implemented in CodeGeneratorJS.pm. + This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable]. + + No tests. No change in behavior. + + * css/CSSStyleDeclaration.idl: + +2012-02-20 Kentaro Hara <haraken@chromium.org> + + [EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime] + https://bugs.webkit.org/show_bug.cgi?id=79058 + + Reviewed by Adam Barth. + + [EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime]. + + No tests. + + * html/shadow/HTMLShadowElement.idl: + +2012-02-20 Kentaro Hara <haraken@chromium.org> + + Replace [Callback=FunctionOnly] with [Callback] + https://bugs.webkit.org/show_bug.cgi?id=79060 + + Reviewed by Adam Barth. + + [Callback=FunctionOnly] is not implemented by any code generator. + This patch replaces it with [Callback]. + + No tests. No change in behavior. + + * Modules/intents/IntentResultCallback.idl: + * Modules/intents/NavigatorIntents.idl: + * dom/RequestAnimationFrameCallback.idl: + * mediastream/NavigatorMediaStream.idl: + * mediastream/NavigatorUserMediaErrorCallback.idl: + * mediastream/NavigatorUserMediaSuccessCallback.idl: + * mediastream/PeerConnection.idl: + * mediastream/SignalingCallback.idl: + * page/PositionCallback.idl: + * page/PositionErrorCallback.idl: + +2012-02-20 Andy Chen <andchen@rim.com> + + 2012-02-17 Andy Chen <andchen@rim.com> + + [BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry + https://bugs.webkit.org/show_bug.cgi?id=78920 + + Override two functions for text search highlight colors so that we can + provide platform specified colors. + + Reviewed by Antonio Gomes. + + No function change so no new tests. + + * platform/blackberry/RenderThemeBlackBerry.cpp: + (WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor): + (WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor): + * platform/blackberry/RenderThemeBlackBerry.h: + +2012-02-20 John Knottenbelt <jknotten@chromium.org> + + Default canvas backing store to be 1:1 with specified dimensions. + https://bugs.webkit.org/show_bug.cgi?id=78971 + + Reviewed by Adam Barth. + + Although the canvas specification states that the backing image may + be larger than the user-specified dimensions, there are a number of + philip canvas tests that fail when the backing image data is not + 1:1 with the specified canvas dimensions. These failures are + tracked in https://bugs.webkit.org/show_bug.cgi?id=73645 + + This change defaults the canvas backing store to be 1:1 with the + user-specified dimensions, while also providing an + ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original + behaviour, so that the above bug may be more easily fixed. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): + +2012-02-20 Mary Wu <mary.wu@torchmobile.com.cn> + + Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry + https://bugs.webkit.org/show_bug.cgi?id=78785 + + Main Contributors: + Daniel Bates <dbates@rim.com> + Bryan Gislason <bgislason@rim.com> + Akash Vaswani <akvaswani@rim.com> + Dave Battista <dbattista@rim.com> + Robin Cao <robin.cao@torchmobile.com.cn> + Genevieve Mak <gmak@rim.com> + Mike Fenton <mifenton@rim.com> + + Reviewed by Antonio Gomes. + + Initial upstream, no new tests. + + * platform/blackberry/RenderThemeBlackBerry.cpp: Added. + * platform/blackberry/RenderThemeBlackBerry.h: Added. + +2012-02-20 Martin Robinson <mrobinson@igalia.com> + + [GTK] [EFL] Collapse duplicate WebGL support code + https://bugs.webkit.org/show_bug.cgi?id=78970 + + Reviewed by Gustavo Noronha Silva. + + No new tests. This just cleans up duplicated code. + + Centralize duplicated WebGL code for EFL and GTK+ in the Cairo + directory. This is in preparation for the changes necessary to + connect WebGL to the TextureMapper AC. + + * GNUmakefile.list.am: Update source list. + * PlatformEfl.cmake: Update source list. + * platform/graphics/cairo/DrawingBufferCairo.cpp: Renamed from Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp. + * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Integrated the code From GraphicsContext3DGtk.cpp. + * platform/graphics/efl/DrawingBufferEfl.cpp: Removed. + * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed. + * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Removed. + +2012-02-20 Martin Robinson <mrobinson@igalia.com> + + [UNIX] Plugin information fields are not interpreted as UTF-8 + https://bugs.webkit.org/show_bug.cgi?id=78635 + + Reviewed by Gustavo Noronha Silva. + + Interpret plugin metadata as UTF8 aways. This matches the behavior + of Chromium and the Totem plugin. + + This is tested by a change to TestNetscapePlugin and expectations updates. + + * plugins/efl/PluginPackageEfl.cpp: + (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8. + * plugins/gtk/PluginPackageGtk.cpp: + (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8. + * plugins/qt/PluginPackageQt.cpp: + (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8. + +2012-02-20 Martin Robinson <mrobinson@igalia.com> + + [GTK] Web content oftens steals focus from other widgets + https://bugs.webkit.org/show_bug.cgi?id=77791 + + Reviewed by Gustavo Noronha Silva. + + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::setFocus): No longer do anything special to try + to grab "real" widget focus. This matches the behavior on Qt. + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::setFocus): Moved the focus handling to here. + This ensures that behavior for plugins does not change. + +2012-02-20 Yael Aharon <yael.aharon@nokia.com> + + Regression (108135) isOpaque() returns uninitialized variable. + https://bugs.webkit.org/show_bug.cgi?id=79049 + + Reviewed by Noam Rosenthal. + + isOpaque() should use the new m_flags instead of the old m_isOpaque. + No new tests. No new functionality. + + * platform/graphics/texmap/TextureMapper.h: + (WebCore::BitmapTexture::reset): + (WebCore::BitmapTexture::isOpaque): + (BitmapTexture): + +2012-02-20 Kentaro Hara <haraken@chromium.org> + + Unreviewed. Rebaselined run-bindings-tests results. + + * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: + * bindings/scripts/test/CPP/WebDOMTestInterface.h: + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: + * bindings/scripts/test/CPP/WebDOMTestObj.h: + +2012-02-20 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Qt][WK2] Clipping is broken + https://bugs.webkit.org/show_bug.cgi?id=78677 + + It's not necessary to add a full-viewport rect to the scissor clip stack. + It creates a situation where if there's a clip in the page, we return to + the viewport clip instead of applying the WebView's clip we got from the + scenegraph. + + Also, it's unnecessary to clip before we paint the layer's content, we should + only clip afterwards, before painting the children. + + Reviewed by Kenneth Rohde Christiansen. + + No new functionality. + + * platform/graphics/opengl/TextureMapperGL.cpp: + (WebCore::BitmapTextureGL::size): + (WebCore::scissorClip): + (WebCore): + (WebCore::TextureMapperGL::beginScissorClip): + (WebCore::TextureMapperGL::endScissorClip): + * platform/graphics/texmap/TextureMapperLayer.cpp: + (WebCore::TextureMapperLayer::paintSelfAndChildren): + +2012-02-20 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Texmap] Layers and tiles appear to have missing pixels in their right/bottom borders + https://bugs.webkit.org/show_bug.cgi?id=78961 + + The relativeSize member should point to one pixel before the edge, since it's used + by glVertexAttribPointer, which takes edge points and not sizes. + + Reviewed by Kenneth Rohde Christiansen. + + No new funcionality. + + * platform/graphics/opengl/TextureMapperGL.cpp: + (WebCore::BitmapTextureGL::didReset): + +2012-02-20 Kihong Kwon <kihong.kwon@samsung.com> + + Add a new API for the Vibration API(W3C). + https://bugs.webkit.org/show_bug.cgi?id=72010 + + http://dev.w3.org/2009/dap/vibration/ + This patch implements navigator.webkitvibrate() API. + This API operates differently depending upon a given parameter: + 1. It cancels vibration when given 0 or []. + 2. It gives a vibration duration in milliseconds when given as a single integer value. + 3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms. + + Reviewed by Hajime Morita. + + Test: fast/dom/navigator-vibration.html + + * CMakeLists.txt: + * Modules/vibration/NavigatorVibration.cpp: Added. + (WebCore): + (WebCore::NavigatorVibration::NavigatorVibration): + (WebCore::NavigatorVibration::~NavigatorVibration): + (WebCore::NavigatorVibration::webkitVibrate): + Add webkitVibrate method to get an array or single integer parameter for vibrating. + They check vibration is activated in the platform, and then call vibrate() in the Vibration class. + * Modules/vibration/NavigatorVibration.h: Added. + (WebCore): + (NavigatorVibration): + * Modules/vibration/NavigatorVibration.idl: Added. + * Modules/vibration/Vibration.cpp: Added. + This class implements the entire vibration logic. + (WebCore): + (WebCore::Vibration::Vibration): + (WebCore::Vibration::~Vibration): + (WebCore::Vibration::create): + (WebCore::Vibration::vibrate): + (WebCore::Vibration::cancelVibration): + (WebCore::Vibration::suspendVibration): + (WebCore::Vibration::resumeVibration): + (WebCore::Vibration::timerStartFired): + (WebCore::Vibration::timerStopFired): + (WebCore::Vibration::supplementName): + (WebCore::Vibration::isActive): + (WebCore::provideVibrationTo): + * Modules/vibration/Vibration.h: Added. + (WebCore): + (Vibration): + (WebCore::Vibration::from): + * Modules/vibration/VibrationClient.h: Added. + vibrate() and cancelVibrate() need to be implemented in the VibrationClient. + (WebCore): + (VibrationClient): + (WebCore::VibrationClient::~VibrationClient): + +2012-02-20 Yuta Kitamura <yutak@chromium.org> + + Unreviewed, rolling out r108263. + http://trac.webkit.org/changeset/108263 + https://bugs.webkit.org/show_bug.cgi?id=77856 + + Broke Chromium Windows build. + + * platform/audio/DynamicsCompressor.cpp: + (WebCore::DynamicsCompressor::DynamicsCompressor): + (WebCore::DynamicsCompressor::setEmphasisStageParameters): + (WebCore::DynamicsCompressor::process): + (WebCore::DynamicsCompressor::reset): + * platform/audio/DynamicsCompressor.h: + (WebCore::DynamicsCompressor::isStereo): + (DynamicsCompressor): + * platform/audio/DynamicsCompressorKernel.cpp: + (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel): + (WebCore::DynamicsCompressorKernel::setPreDelayTime): + (WebCore::DynamicsCompressorKernel::process): + (WebCore::DynamicsCompressorKernel::reset): + * platform/audio/DynamicsCompressorKernel.h: + (DynamicsCompressorKernel): + * webaudio/DynamicsCompressorNode.cpp: + (WebCore::DynamicsCompressorNode::DynamicsCompressorNode): + (WebCore::DynamicsCompressorNode::initialize): + +2012-02-20 Raymond Liu <raymond.liu@intel.com> + + Have the DynamicsCompressorNode support multi-channel data + https://bugs.webkit.org/show_bug.cgi?id=77856 + + Reviewed by Chris Rogers. + + * platform/audio/DynamicsCompressor.cpp: + (WebCore::DynamicsCompressor::DynamicsCompressor): + (WebCore::DynamicsCompressor::setEmphasisStageParameters): + (WebCore::DynamicsCompressor::process): + (WebCore::DynamicsCompressor::reset): + (WebCore::DynamicsCompressor::setNumberOfChannels): + (WebCore): + * platform/audio/DynamicsCompressor.h: + (DynamicsCompressor): + * platform/audio/DynamicsCompressorKernel.cpp: + (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel): + (WebCore::DynamicsCompressorKernel::setNumberOfChannels): + (WebCore): + (WebCore::DynamicsCompressorKernel::setPreDelayTime): + (WebCore::DynamicsCompressorKernel::process): + (WebCore::DynamicsCompressorKernel::reset): + * platform/audio/DynamicsCompressorKernel.h: + (DynamicsCompressorKernel): + * webaudio/DynamicsCompressorNode.cpp: + (WebCore::DynamicsCompressorNode::DynamicsCompressorNode): + (WebCore::DynamicsCompressorNode::initialize): + +2012-02-20 David Barton <dbarton@mathscribe.com> + + RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine + https://bugs.webkit.org/show_bug.cgi?id=79039 + + Reviewed by Eric Seidel. + + RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two + steps. First we add a guard to restrict it to the intended PositionOnContainingLine + case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes + some randomness, and tightens up the results of four existing test files. + + Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html + + * rendering/mathml/RenderMathMLRow.cpp: + (WebCore::RenderMathMLRow::baselinePosition): + +2012-02-18 Jon Lee <jonlee@apple.com> + + HTML input file control "No File Selected" needs more room in some languages + https://bugs.webkit.org/show_bug.cgi?id=32366 + <rdar://problem/4481028> + + Reviewed by David Hyatt. + + The patch exposes a function to return the "no file(s) selected" label text. + + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in + file upload controls when nothing has been selected. + (WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel(). + * rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function. + + * rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for + platform implementations. + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel(). + + Update fileListNameForWidth() to be a const function for platform implementations. + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk.cpp: + * platform/qt/RenderThemeQt.h: + * platform/qt/RenderThemeQt.cpp: + + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation + of the max preferred logical width. Calculate the length of the "no file(s) selected" text, + and include the button and after-button margin. Take the max of that and the original + default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the + label text is too short. + +2012-02-20 Gavin Barraclough <barraclough@apple.com> + + Rubber stamped by Sam Weinig. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::allowsAccessFrom): + - Errk, remove dead code from end of function. + +2012-02-16 Gavin Barraclough <barraclough@apple.com> + + Move special __proto__ property to Object.prototype + https://bugs.webkit.org/show_bug.cgi?id=78409 + + Reviewed by Oliver Hunt. + + Re-implement this as a regular accessor property. This has three key benefits: + 1) It makes it possible for objects to be given properties named __proto__. + 2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed. + 3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::allowsAccessFrom): + (WebCore): + - expose allowsAccessFrom check to JSC. + * bindings/js/JSDOMWindowBase.h: + (JSDOMWindowBase): + - expose allowsAccessFrom check to JSC. + +2012-02-20 Benjamin Poulain <benjamin@webkit.org> + + Make JSCSSStyleDeclaration work directly with CSS Property ID + https://bugs.webkit.org/show_bug.cgi?id=79014 + + Reviewed by Geoffrey Garen. + + Previously, accessing the CSS property was done by converting from + the JavaScript name to the CSS name, then converting that name to a lowercase + character array, and finally getting the CSS property ID. + + This patch cut the indirection and make the code go directly from the + JavaScript name conversion to the CSS property ID. + + This improves the performance mainly due to the following: + -avoid dynamic memory allocation + -cut the conversion early when possible + -do not parse the string twice + The previous fast-path optimization was removed because it is no longer + necessary with this change. + + The improvement are the following: + -previous fast-path: no change + -previous slow-path: ~3 times faster + + Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html + This just test the edge case of CSSPropertyName. + + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::writeWebKitPrefix): + (WebCore::writeEpubPrefix): + (WebCore::cssPropertyIDForJSCSSPropertyName): + (WebCore::isCSSPropertyName): + (WebCore::JSCSSStyleDeclaration::nameGetter): + (WebCore::JSCSSStyleDeclaration::putDelegate): + * css/CSSParser.cpp: + (WebCore::cssPropertyID): + (WebCore): + (WebCore::cssPropertyNameIOSAliasing): + * css/CSSParser.h: + (WebCore): + +2012-02-20 Dan Bernstein <mitz@apple.com> + + Updated Localizable.strings after r107440. + + Rubber-stamped by Joseph Pecoraro. + + * English.lproj/Localizable.strings: + +2012-02-20 David Barton <dbarton@mathscribe.com> + + MathML internals - remove nonOperatorHeight(), hasBase() + https://bugs.webkit.org/show_bug.cgi?id=78977 + + Reviewed by Eric Seidel. + + Stretchy operators, including embellished ones, should stretch to the largest height of + the non-stretchy items in the same explicit or implicit <mrow>. + RenderMathMLRow::layout() used to use hasBase(), isRenderMathMLOperator(), and + nonOperatorHeight() to approximate this height. We now use unembellishedOperator() to + improve this approximation, while also simplifying the code. More plainly, the code used + to skip all operators when estimating this height, instead of just the stretchy ones. We + continue to do that for now, but we more accurately skip all embellished operators + (using our currently implemented approximate definition of this), and use the simple and + true height of the remaining items. In case all items in the row are stretchy, + style()->fontSize() is better than using whatever heights these items currently happen + to be stretched to. + + Test: mathml/presentation/mo-stretch.html, and many existing tests + + * rendering/mathml/RenderMathMLBlock.cpp: + (WebCore): + * rendering/mathml/RenderMathMLBlock.h: + (WebCore::RenderMathMLBlock::unembellishedOperator): + * rendering/mathml/RenderMathMLRow.cpp: + (WebCore): + (WebCore::RenderMathMLRow::layout): + * rendering/mathml/RenderMathMLRow.h: + (WebCore::RenderMathMLRow::isRenderMathMLRow): + * rendering/mathml/RenderMathMLSubSup.cpp: + (WebCore): + * rendering/mathml/RenderMathMLSubSup.h: + (RenderMathMLSubSup): + * rendering/mathml/RenderMathMLUnderOver.cpp: + (WebCore): + * rendering/mathml/RenderMathMLUnderOver.h: + (RenderMathMLUnderOver): + +2012-02-17 Anders Carlsson <andersca@apple.com> + + Stop the committer timer when the page is destroyed + https://bugs.webkit.org/show_bug.cgi?id=78907 + + Reviewed by Adam Roben. + + We don't want the committer timer to fire after the scrolling tree has been invalidated, + so stop the committer timer to prevent it from firing and trying to access the scrolling tree. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::pageDestroyed): + +2012-02-20 Patrick Gansterer <paroga@webkit.org> + + [WIN] Allow compiling FileSystem without CoreFoundation. + https://bugs.webkit.org/show_bug.cgi?id=79032 + + Reviewed by Adam Roben. + + Add #if USE(CF) around code using the CoreFoundation functions. + + * platform/FileSystem.h: + * platform/win/FileSystemWin.cpp: + +2012-02-20 Robin Cao <robin.cao@torchmobile.com.cn> + + [BlackBerry] Upstream the first few files in platform/graphics/blackberry + https://bugs.webkit.org/show_bug.cgi?id=79023 + + Reviewed by Antonio Gomes. + + Initial upstreaming, no new tests. + + * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added. + (WebCore): + (WebCore::FloatPoint::FloatPoint): + (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint): + * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added. + (WebCore): + (WebCore::FloatRect::FloatRect): + (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect): + * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added. + (WebCore): + (WebCore::FloatSize::FloatSize): + (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize): + * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added. + (WebCore): + (WebCore::IntPoint::IntPoint): + (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint): + * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added. + (WebCore): + (WebCore::IntRect::IntRect): + (WebCore::IntRect::operator BlackBerry::Platform::IntRect): + * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added. + (WebCore): + (WebCore::IntSize::IntSize): + (WebCore::IntSize::operator BlackBerry::Platform::IntSize): + +2012-02-20 Patrick Gansterer <paroga@webkit.org> + + [WIN] Share openTemporaryFile with WinCE + https://bugs.webkit.org/show_bug.cgi?id=58750 + + Reviewed by Adam Roben. + + Use pathByAppendingComponent instead of PathCombine to share the + code with WinCE. Also use the wide version of Windows functions. + + * platform/win/FileSystemWin.cpp: + (WebCore::openTemporaryFile): + +2012-02-20 Victor Carbune <victor@rosedu.org> + + Added code to support dispatching of missed cues in case of normal playback + and event sorting in case of simultaneous event triggering. + + <track>-related events cuechange, enter, and exit should be sorted and filtered before dispatching + https://bugs.webkit.org/show_bug.cgi?id=72171 + + Reviewed by Eric Carlson. + + Tests: media/track/track-cues-missed.html + media/track/track-cues-sorted-before-dispatch.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Added initialization code + for newly added state variables. + (WebCore::trackIndexCompare): Static boolean compare function between + the index of two tracks. + (WebCore): + (WebCore::eventTimeCueCompare): Static boolean compare function between + events associated with text track cues. + (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Added code to + sort the events associated with text track cues before dispatching. + Each step from the specification is commented within the code. + (WebCore::HTMLMediaElement::finishSeek): Added a boolean variable that + is needed within the text track update function, to know whether a seek + event has occured before or not. + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Moved the update + call for text tracks at the beginning of the function instead of the end. + 'ended' events for video should be dispatched after track specific events. + * html/HTMLMediaElement.h: Added variables to keep + state information required by the text track update algorithm (last time + the algorithm was run, and whether a seeking event has occured) + (HTMLMediaElement): + + * html/LoadableTextTrack.cpp: Refactored fireCueChangeEvent method + (WebCore::LoadableTextTrack::fireCueChangeEvent): The method dispatches a + synchronous cue change event for the track element. + * html/LoadableTextTrack.h: + (LoadableTextTrack): + * html/TextTrack.cpp: Modified the fireCueChange method, cached track index. + (WebCore::TextTrack::TextTrack): + (WebCore::TextTrack::trackIndex): Cached the track index. + (WebCore): + (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used + when a new track is added in a TextTrackList instance. + * html/TextTrack.h: + (TextTrack): + (WebCore::TextTrack::fireCueChangeEvent): The fireCueChangeEvent has been changed, + as events need to be fired asyncronously. + * html/TextTrackCue.cpp: Added internal variables to keep the current index + position in the track cue order. This is invalidated when an element is + inserted before. + (WebCore::TextTrackCue::TextTrackCue): + (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex. + (WebCore): + (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored + cue index. + (WebCore::TextTrackCue::dispatchEvent): Event dispatching is done asynchronously + now. This should be the only method used for event dispatching. + (WebCore::TextTrackCue::setIsActive): The setIsActive method no longer dispatches + events, but rather just changes the m_isActive variable. + * html/TextTrackCue.h: + (TextTrackCue): + + * html/TextTrackCueList.cpp: + (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue + order, of a given cue. + (WebCore): + (WebCore::TextTrackCueList::add): Modified the add method such that all the next cue + indexes are invalidated. + (WebCore::TextTrackCueList::invalidateCueIndexes): Invalidates all cue indexes starting + with a specific position. + * html/TextTrackCueList.h: + (TextTrackCueList): + * html/track/TextTrackList.cpp: + (TextTrackList::getTrackIndex): Retrieves the track index position. + (TextTrackList::append): Added method for invalidating the text track index in case of + changing the list contents. + * html/track/TextTrackList.h: + (TextTrackList): + +2012-02-20 Kenichi Ishibashi <bashi@chromium.org> + + [WebSocket] Move WebSocketChannel::FrameData into a separate header file + https://bugs.webkit.org/show_bug.cgi?id=78682 + + Extract WebSocketChannel::FrameData as WebSocketFrame. This brings + flexibility to add classes which want to do something for + incoming/outgoing frames (e.g. compression/decompression). + + Reviewed by Kent Tamura. + + No new tests. No behavior change. + + * GNUmakefile.list.am: AddedWebSocketFrame.h + * Target.pri: Ditto. + * WebCore.gypi: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * websockets/WebSocketChannel.cpp: Modified to use WebSocketFrame instead of FrameData + (WebCore): + (WebCore::WebSocketChannel::send): + (WebCore::WebSocketChannel::startClosingHandshake): + (WebCore::WebSocketChannel::parseFrame): + (WebCore::WebSocketChannel::processFrame): + (WebCore::WebSocketChannel::enqueueTextFrame): + (WebCore::WebSocketChannel::enqueueRawFrame): + (WebCore::WebSocketChannel::enqueueBlobFrame): + (WebCore::appendMaskedFramePayload): Added. + (WebCore::makeFrameData): Added. + (WebCore::WebSocketChannel::sendFrame): + * websockets/WebSocketChannel.h: Removed FrameData. + (WebSocketChannel): + (QueuedFrame): + * websockets/WebSocketFrame.h: Added. + (WebCore): + (WebSocketFrame): + (WebCore::WebSocketFrame::isNonControlOpCode): + (WebCore::WebSocketFrame::isControlOpCode): + (WebCore::WebSocketFrame::isReservedOpCode): + (WebCore::WebSocketFrame::WebSocketFrame): + +2012-02-20 Adam Roben <aroben@apple.com> + + 32-bit build fix + + * platform/FractionalLayoutUnit.h: + (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they + are different widths in 32-bit. + +2012-02-20 Adam Roben <aroben@apple.com> + + Clang build fix + + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter. + +2012-02-20 Vsevolod Vlasov <vsevik@chromium.org> + + Unreviewed manual rollout of r107970 which breaks table column widths + updates from javascript (e.g. inspector's network panel). + + * rendering/FixedTableLayout.cpp: + (WebCore::FixedTableLayout::calcWidthArray): + * rendering/RenderTableCol.h: + (RenderTableCol): + +2012-02-20 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark) + https://bugs.webkit.org/show_bug.cgi?id=79028 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/elementsPanel.css: + (.styles-section .properties li.not-parsed-ok img.exclamation-mark): + +2012-02-20 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: DOMAttrModified should not be fired if the attribute value remains the same + https://bugs.webkit.org/show_bug.cgi?id=79025 + + Reviewed by Pavel Feldman. + + * dom/Element.cpp: + (WebCore::Element::willModifyAttribute): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::willModifyDOMAttr): + (WebCore): + (WebCore::InspectorDOMAgent::didModifyDOMAttr): + * inspector/InspectorDOMAgent.h: + (InspectorDOMAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::willModifyDOMAttr): + +2012-02-20 Kwonjin Jeong <gram@company100.net> + + Correct a typo error in ScrollingCoordinator.h + https://bugs.webkit.org/show_bug.cgi?id=79012 + + Reviewed by Andreas Kling. + + * page/scrolling/ScrollingCoordinator.h: + (ScrollingCoordinator): + +2012-02-20 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware + https://bugs.webkit.org/show_bug.cgi?id=78988 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/CSSKeywordCompletions.js: + +2012-02-20 Yosifumi Inoue <yosin@chromium.org> + + [Forms] Spin buttons of number input type should fire both input and change event + https://bugs.webkit.org/show_bug.cgi?id=75067 + + Reviewed by Kent Tamura. + + This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification. + To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior. + + Test: fast/forms/number/spin-button-events.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber. + * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior. + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference. + +2012-02-20 Shinya Kawanaka <shinyak@chromium.org> + + Attached/Detached state must be testable + https://bugs.webkit.org/show_bug.cgi?id=79010 + + Reviewed by Hajime Morita. + + Added a method to check an element attached or not. + + Test: fast/dom/shadow/shadow-root-attached.html + + * testing/Internals.cpp: + (WebCore::Internals::attached): + (WebCore): + * testing/Internals.h: + (Internals): + * testing/Internals.idl: + +2012-02-20 Kenichi Ishibashi <bashi@chromium.org> + + [WebSocket] Add deflater/inflater classes + https://bugs.webkit.org/show_bug.cgi?id=78449 + + Add WebSocketDeflater/WebSocketInflater classes which wrap zlib + functions. These classes are not used yet, but will be used for + supporting WebSocket deflate-frame extension. + + This patch is second try. The previous patch broke Chromium Win + build. I added dependency of zlib to WebCore.gyp. I think it's + OK because Chromium already depends on zlib. + + Reviewed by Kent Tamura. + + No new tests except for chromium port. Behavior is unchanged. + + * GNUmakefile.list.am: Added WebSocketDeflater.(cpp|h). + * WebCore.gyp/WebCore.gyp: Added zlib dependency. + * WebCore.gypi: Added WebSocketDeflater.(cpp|h). + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * websockets/WebSocketDeflater.cpp: Added. + (WebCore): + (WebCore::WebSocketDeflater::create): + (WebCore::WebSocketDeflater::WebSocketDeflater): + (WebCore::WebSocketDeflater::initialize): + (WebCore::WebSocketDeflater::~WebSocketDeflater): + (WebCore::setStreamParameter): + (WebCore::WebSocketDeflater::addBytes): + (WebCore::WebSocketDeflater::finish): + (WebCore::WebSocketDeflater::reset): + (WebCore::WebSocketInflater::create): + (WebCore::WebSocketInflater::WebSocketInflater): + (WebCore::WebSocketInflater::initialize): + (WebCore::WebSocketInflater::~WebSocketInflater): + (WebCore::WebSocketInflater::addBytes): + (WebCore::WebSocketInflater::finish): + (WebCore::WebSocketInflater::reset): + * websockets/WebSocketDeflater.h: Added. + (WebCore): + (WebSocketDeflater): + (WebCore::WebSocketDeflater::data): + (WebCore::WebSocketDeflater::size): + (WebSocketInflater): + (WebCore::WebSocketInflater::data): + (WebCore::WebSocketInflater::size): + +2012-02-20 pfeldman@chomium.org <pavel.feldman@gmail.com> + + Web Inspector: consume undo/redo shortcuts. + https://bugs.webkit.org/show_bug.cgi?id=79016 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.handleShortcut): + +2012-02-20 Philippe Normand <pnormand@igalia.com> + + MediaPlayer: MediaPlayerPrivate registration cleanup + https://bugs.webkit.org/show_bug.cgi?id=78897 + + Reviewed by Martin Robinson. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::installedMediaEngines): Simplified GStreamer Private + player registration by using the PlatformMediaEngineClassName + macro like other players do. + +2012-02-17 Yury Semikhatsky <yurys@chromium.org> + + [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list + https://bugs.webkit.org/show_bug.cgi?id=78899 + + Notify inspector about starting context from WorkerContextProxy not from Worker. + + Reviewed by Pavel Feldman. + + * workers/Worker.cpp: + (WebCore::Worker::notifyFinished): + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerMessagingProxy::startWorkerContext): + +2012-02-19 Keishi Hattori <keishi@webkit.org> + + Use shadowRootList for ColorInputType + https://bugs.webkit.org/show_bug.cgi?id=79007 + + Reviewed by Kent Tamura. + + * html/ColorInputType.cpp: + (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList. + (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList. + +2012-02-19 Shinya Kawanaka <shinyak@chromium.org> + + Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement. + https://bugs.webkit.org/show_bug.cgi?id=78771 + + Reviewed by Hajime Morita. + + This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement. + + This is a step for rendering <shadow> correctly, because <shadow> has almost the same function of <content>. + After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of + HTMLContentElement only. + + No new tests, no change in behavior. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/shadow/HTMLContentElement.cpp: + (WebCore::HTMLContentElement::HTMLContentElement): + (WebCore::HTMLContentElement::attach): + (WebCore::HTMLContentElement::detach): + (WebCore::HTMLContentElement::parseAttribute): + * html/shadow/HTMLContentElement.h: + * html/shadow/InsertionPoint.cpp: Added. + (WebCore): + (WebCore::InsertionPoint::InsertionPoint): + (WebCore::InsertionPoint::~InsertionPoint): + * html/shadow/InsertionPoint.h: Added. + (WebCore): + (InsertionPoint): + +2012-02-19 Paweł Forysiuk <tuxator@o2.pl> + + [GTK] Can't find webinspector and error page redirection on Windows + https://bugs.webkit.org/show_bug.cgi?id=51616 + + Create and use an abstraction for finding shared resources on Windows. + + Reviewed by Martin Robinson. + + * platform/FileSystem.h: + (WebCore): + * platform/audio/gtk/AudioBusGtk.cpp: + (WebCore::AudioBus::loadPlatformResource): + * platform/graphics/gtk/ImageGtk.cpp: + (WebCore::getPathToImageResource): + * platform/gtk/FileSystemGtk.cpp: + (WebCore::sharedResourcesPath): + (WebCore): + +2012-02-19 James Robinson <jamesr@chromium.org> + + Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp + https://bugs.webkit.org/show_bug.cgi?id=78951 + + Reviewed by Adam Barth. + + This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside + ScrollingCoordinator.cpp. The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set + and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise. The chromium port + always uses implementations in ScrollingCoordinatorChromium.cpp. All other ports use + ScrollingCoordinatorNone.cpp. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbx: + * page/scrolling/ScrollingCoordinator.cpp: + * page/scrolling/ScrollingCoordinatorNone.cpp: + (WebCore): + (WebCore::ScrollingCoordinator::create): + (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::setScrollLayer): + (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): + (WebCore::ScrollingCoordinator::setScrollParameters): + (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): + * page/scrolling/mac/ScrollingCoordinatorMac.mm: + (WebCore::ScrollingCoordinator::create): + (WebCore): + +2012-02-19 Kentaro Hara <haraken@chromium.org> + + Rename [CheckDomainSecurity] to [CheckSecurity] + https://bugs.webkit.org/show_bug.cgi?id=78874 + + Reviewed by Adam Barth. + + "Domain security" isn't a term that's used elsewhere. + This patch renames IDL attributes as follows: + + - [CheckDomainSecurity] => [CheckSecurity] + - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity] + - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter] + - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter] + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateGetOwnPropertyDescriptorBody): + (GenerateImplementation): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + (IsVisibleAcrossOrigins): + (GenerateFunctionCallback): + (GenerateSingleBatchedAttribute): + (GenerateImplementation): + (GenerateToV8Converters): + * bindings/scripts/test/TestDomainSecurity.idl: + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::ConfigureV8TestActiveDOMObjectTemplate): + * page/DOMWindow.idl: + * page/History.idl: + * page/Location.idl: + +2012-02-19 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r108195. + http://trac.webkit.org/changeset/108195 + https://bugs.webkit.org/show_bug.cgi?id=77700 + + Lots of failing ASSERT()s on v8 bots, requested by kling on + #webkit + + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + +2012-02-19 Kentaro Hara <haraken@chromium.org> + + Rename [CheckAccessToNode] to [CheckSecurityForNode] + https://bugs.webkit.org/show_bug.cgi?id=78991 + + Reviewed by Adam Barth. + + For naming consistency with [CheckSecurity], this patch renames + [CheckAccessToNode] to [CheckSecurityForNode]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateImplementation): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateNormalAttrGetter): + (GenerateFunctionCallback): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore): + * html/HTMLEmbedElement.idl: + * html/HTMLFrameElement.idl: + * html/HTMLIFrameElement.idl: + * html/HTMLObjectElement.idl: + * page/DOMWindow.idl: + +2012-02-19 James Robinson <jamesr@chromium.org> + + Sort WebCore Xcode project files with sort-Xcode-project-files script. Unreviewed. + + * WebCore.xcodeproj/project.pbxproj: + +2012-02-19 Andreas Kling <awesomekling@apple.com> + + Make CSSValue wrapper getters return unique objects every time. + <http://webkit.org/b/77700> + + Reviewed by Antti Koivisto. + + Change the behavior of CSSValue getters to return unique JS wrappers every + time they are called. This means we no longer have to deal with the risk + of leaking custom properties between unrelated documents, and are free to + implement global value sharing across WebCore. + + This patch will be followed by one making CSSValuePool globally shared, + it's done in two steps to monitor the impact of this change. + + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + (IsCSSValueType): + +2012-02-19 Abhishek Arya <inferno@chromium.org> + + Crash in RenderBlock::splitAnonymousBlocksAroundChild. + https://bugs.webkit.org/show_bug.cgi?id=78994 + + Reviewed by Eric Seidel. + + Generalize splitTablePartsAroundChild to handle splitting + in nested tables. + Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row + + Test: fast/table/table-split-inside-table.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::splitTablePartsAroundChild): + +2012-02-19 Kalev Lember <kalevlember@gmail.com> + + [GTK] Fix build on platforms where UChar is wchar_t + https://bugs.webkit.org/show_bug.cgi?id=78996 + + Reviewed by Martin Robinson. + + The ICU backend defines UChar as wchar_t for platforms where wchar_t is + 16 bits wide, e.g. win32. + + * platform/graphics/pango/FontPango.cpp: + (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast. + * platform/gtk/GtkPopupMenu.cpp: + (WebCore::GtkPopupMenu::typeAheadFind): Ditto. + +2012-02-19 Carlos Garcia Campos <cgarcia@igalia.com> + + Unreviewed. Fix make distcheck issues. + + * GNUmakefile.list.am: Add missing header. + +2012-02-18 Robert Hogan <robert@webkit.org> + + CSS 2.1 failure: inline-box-002.htm fails + https://bugs.webkit.org/show_bug.cgi?id=69210 + + Reviewed by David Hyatt. + + Tests: css2.1/20110323/dynamic-top-change-005.htm + css2.1/20110323/dynamic-top-change-005a.htm + css2.1/20110323/dynamic-top-change-005b.htm + css2.1/20110323/inline-box-002.htm + fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html + fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html + fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html + fast/css/relative-positioned-block-nested-with-inline-parent.html + fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html + fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html + fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html + fast/css/relative-positioned-block-with-inline-ancestor.html + fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html + fast/css/relative-positioned-block-with-inline-parent-dynamic.html + fast/css/relative-positioned-block-with-inline-parent-keeps-style.html + fast/css/relative-positioned-block-with-inline-parent.html + + A block within an inline is affected by relative positioning on the inline box. Give + the anonymous block containing the block a layer and make it relative positioned. Then + calculate the offset of the anonymous block's layer by accumulating the offsets from its + inline continuation and the inline continuation's inline parents. + If the position of an inline changes from or to relative positioned then ensure that any + descendant blocks update their position and layer accordingly. + + * rendering/RenderBoxModelObject.cpp: + (): add an enum RelPosAxis + (WebCore::accumulateRelativePositionOffsets): + Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively + positioned anonymous block's child block. + + (WebCore): + (WebCore::RenderBoxModelObject::relativePositionOffsetX): + Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block. + + (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto + + * rendering/RenderInline.cpp: + (WebCore::hasRelPositionedInlineAncestor): + Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline. + + (WebCore::updateStyleOfAnonymousBlockContinuations): + Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed. + + (WebCore::RenderInline::styleDidChange): + If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning + as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning. + + (WebCore::RenderInline::addChildIgnoringContinuation): + If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively + positioned so the block will respect its inline ancestor's relative positioning. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::propagateStyleToAnonymousChildren): + Preserve style position in anonymous block continuations when the parent block propagates a style change. + +2012-02-18 raman Tenneti <rtenneti@chromium.org> + + Track the NPN protocol version negotiated with the server + https://bugs.webkit.org/show_bug.cgi?id=77349 + + Reviewed by Darin Fisher.. + + [chromium] Added ExtraData to WebURLResponse. + + No intended functionality change. + + * platform/network/chromium/ResourceResponse.h: + (ExtraData): + (WebCore::ResourceResponse::ExtraData::~ExtraData): + (ResourceResponse): + (WebCore::ResourceResponse::extraData): + (WebCore::ResourceResponse::setExtraData): + +2012-02-18 Abhishek Arya <inferno@chromium.org> + + Unreviewed, rolling out r107965. + http://trac.webkit.org/changeset/107965 + https://bugs.webkit.org/show_bug.cgi?id=78273 + + crashes + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clone): + +2012-02-18 Sam Weinig <sam@webkit.org> + + Make WebCore compile with libc++ (Part 2) + https://bugs.webkit.org/show_bug.cgi?id=78974 + + Reviewed by Anders Carlsson. + + * config.h: + Disable the DisallowCType check when using libc++. + +2012-02-18 Sam Weinig <sam@webkit.org> + + Fix the build. + + * page/DOMWindow.idl: + +2012-02-14 Sam Weinig <sam@webkit.org> + + Make WebCore compile with libc++ (Part 1) + https://bugs.webkit.org/show_bug.cgi?id=78974 + + Reviewed by Anders Carlsson. + + Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions + not to work when using an iterator with proxy objects for reference and pointer types. + + * WebCorePrefix.h: + (move): + Add an overload of std::move that the heap functions can call successfully. + +2012-02-18 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fixes for C++ bindings after recent changes. + + * bindings/scripts/CodeGeneratorCPP.pm: + (ShouldSkipType): + (GenerateHeader): + * page/DOMWindow.idl: + +2012-02-18 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix, add new platform method wx impl. + + * platform/wx/ContextMenuWx.cpp: + (ContextMenu::itemCount): + +2012-02-18 Sam Weinig <sam@webkit.org> + + Fix part of the windows build failure. + + * WebCore.vcproj/WebCore.vcproj: + Don't build JSWebKitCSSRegionRule.cpp, since it is already being built + as part of DerivedSources.cpp. + +2012-02-18 Sam Weinig <sam@webkit.org> + + Fix the ENABLE(THREADED_SCROLLING) build. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): + (WebCore::ScrollingCoordinator::setScrollParameters): + +2012-02-18 Andreas Kling <awesomekling@apple.com> + + HTML: Remove unnecessary attributeChange() overrides. + <http://webkit.org/b/78890> + + Reviewed by Anders Carlsson. + + Move logic from attributeChanged() overrides into parseAttribute(). + This is a step towards making attributeChanged() non-virtual. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::parseAttribute): + * html/HTMLMediaElement.h: + (HTMLMediaElement): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::parseAttribute): + * html/HTMLScriptElement.h: + (HTMLScriptElement): + * html/HTMLTrackElement.cpp: + (WebCore::HTMLTrackElement::parseAttribute): + * html/HTMLTrackElement.h: + (HTMLTrackElement): + +2012-02-18 Andreas Kling <awesomekling@apple.com> + + Remove Element::createAttribute(). + <http://webkit.org/b/78965> + + Reviewed by Anders Carlsson. + + Switch call sites to use Attribute::create() directly, as there is no magic + in calling Element::createAttribute() anymore (it used to be virtual and handled + differently by StyledElement.) + + * dom/Element.cpp: + (WebCore::Element::setAttributeInternal): + * dom/Element.h: + * svg/properties/SVGAnimatedPropertySynchronizer.h: + +2012-02-18 Andreas Kling <awesomekling@apple.com> + + HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink. + <http://webkit.org/b/78959> + + Reviewed by Anders Carlsson. + + Mark the body element for deferred style recalc instead of doing it synchronously + when the attributes change. + + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseAttribute): + +2012-02-18 Martin Robinson <mrobinson@igalia.com> + + Fix the TextureMapper build for non-Qt ports. Qt debug builds + must use RTTI, but GTK+, at least, does not. + + * platform/graphics/texmap/TextureMapperLayer.cpp: + (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check + Qt only. + +2012-02-16 Andreas Kling <awesomekling@apple.com> + + FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better. + <http://webkit.org/b/78806> + + Reviewed by Antti Koivisto. + + Now that FontFamilyValue's string doesn't change after creation, we can just + pass the massaged family name up to the CSSPrimitiveValue constructor and get + cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String) + though that's less of an issue now that we cache them in CSSValuePool. + + * css/FontFamilyValue.cpp: + (WebCore::stripFontFamilyJunk): + (WebCore::FontFamilyValue::FontFamilyValue): + * css/FontFamilyValue.h: + (WebCore::FontFamilyValue::familyName): + (FontFamilyValue): + +2012-02-17 Adam Klein <adamk@chromium.org> + + Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch + https://bugs.webkit.org/show_bug.cgi?id=76087 + + Reviewed by Ryosuke Niwa. + + Move post-removal notifications after call to Node::removeFromDocument + to avoid inconsistent state of Node::inDocument() and thus avoid + inconsistent state in DocumentOrderedMap. + + Tests: fast/dom/getElementById-consistency.html + fast/dom/getElementById-consistency2.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChild): + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch. + +2012-02-17 Joshua Bell <jsbell@chromium.org> + + IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange + https://bugs.webkit.org/show_bug.cgi?id=78399 + + Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality. + + Reviewed by Tony Chang. + + Test: storage/indexeddb/delete-range.html + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr. + * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations. + * storage/IDBLevelDBBackingStore.cpp: + (WebCore): + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::deleteFunction): + (WebCore): + * storage/IDBObjectStore.h: + (IDBObjectStore): + * storage/IDBObjectStore.idl: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::deleteFunction): + (WebCore): + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + * storage/IDBObjectStoreBackendImpl.h: + (IDBObjectStoreBackendImpl): + * storage/IDBObjectStoreBackendInterface.h: + +2012-02-17 Kentaro Hara <haraken@chromium.org> + + Replace [V8OnInstance] with [V8Unforgeable] + https://bugs.webkit.org/show_bug.cgi?id=78894 + + Reviewed by Adam Barth. + + [V8OnInstance] means that the method should be defined + (not on a prototype chain but) on a DOM object. It is the + same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance] + with [V8Unforgeable]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateImplementation): + * page/Location.idl: + +2012-02-17 James Robinson <jamesr@chromium.org> + + [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same + target from different paths. + + * WebCore.gypi: + * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp. + (WebCore): + (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::setScrollLayer): + (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): + (WebCore::ScrollingCoordinator::setScrollParameters): + (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): + +2012-02-17 James Robinson <jamesr@chromium.org> + + Unreviewed mac compile fix pt 2 + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::setScrollLayer): + (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): + (WebCore::ScrollingCoordinator::setScrollParameters): + (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): + +2012-02-17 James Robinson <jamesr@chromium.org> + + Unreviewed mac compile fix (unused parameter warning) + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): + +2012-02-14 James Robinson <jamesr@chromium.org> + + Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms + https://bugs.webkit.org/show_bug.cgi?id=78401 + + Reviewed by Adam Barth. + + Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on + chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source. + ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input + events and interact with composited layers. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * dom/Document.cpp: + (WebCore::wheelEventHandlerCountChanged): + * page/FrameView.cpp: + (WebCore::FrameView::addSlowRepaintObject): + (WebCore::FrameView::removeSlowRepaintObject): + (WebCore::FrameView::performPostLayoutTasks): + * page/Page.cpp: + (WebCore::Page::~Page): + (WebCore): + * page/Page.h: + (Page): + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (Settings): + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::ScrollingCoordinator): + (WebCore::ScrollingCoordinator::~ScrollingCoordinator): + (WebCore::ScrollingCoordinator::pageDestroyed): + (WebCore): + * page/scrolling/ScrollingCoordinator.h: + (WebCore): + (ScrollingCoordinator): + * page/scrolling/ScrollingThread.cpp: + (WebCore::ScrollingThread::createThreadIfNeeded): + * page/scrolling/ScrollingTreeState.cpp: + * page/scrolling/ScrollingTreeState.h: + * page/scrolling/chromium/ScrollingCoordinator.cpp: Added. + (WebCore): + (WebCore::ScrollingCoordinator::scheduleTreeStateCommit): + (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): + (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::RenderLayerBacking): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::frameViewDidScroll): + (WebCore::shouldCompositeOverflowControls): + (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer): + (WebCore::RenderLayerCompositor::requiresContentShadowLayer): + (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): + (WebCore::RenderLayerCompositor::ensureRootLayer): + (WebCore): + * rendering/RenderLayerCompositor.h: + (WebCore): + (RenderLayerCompositor): + +2012-02-17 Emil A Eklund <eae@chromium.org> + + Add FractionalLayoutPoint for sub-pixel layout + https://bugs.webkit.org/show_bug.cgi?id=78913 + + Reviewed by Eric Seidel. + + Add FractionalLayoutUnit version of Point class and a couple of + conversion methods to the Int and Float versions of same. + + No new tests. + + * GNUmakefile.list.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/FloatPoint.cpp: + (WebCore::FloatPoint::FloatPoint): + (WebCore): + (WebCore::FloatPoint::moveBy): + * platform/graphics/FloatPoint.h: + (WebCore): + (FloatPoint): + * platform/graphics/FractionalLayoutPoint.h: Added. + (WebCore): + (FractionalLayoutPoint): + (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): + (WebCore::FractionalLayoutPoint::zero): + (WebCore::FractionalLayoutPoint::x): + (WebCore::FractionalLayoutPoint::y): + (WebCore::FractionalLayoutPoint::setX): + (WebCore::FractionalLayoutPoint::setY): + (WebCore::FractionalLayoutPoint::move): + (WebCore::FractionalLayoutPoint::moveBy): + (WebCore::FractionalLayoutPoint::scale): + (WebCore::FractionalLayoutPoint::expandedTo): + (WebCore::FractionalLayoutPoint::shrunkTo): + (WebCore::FractionalLayoutPoint::clampNegativeToZero): + (WebCore::FractionalLayoutPoint::transposedPoint): + (WebCore::operator+=): + (WebCore::operator-=): + (WebCore::operator+): + (WebCore::operator-): + (WebCore::operator==): + (WebCore::operator!=): + (WebCore::toPoint): + (WebCore::toSize): + (WebCore::flooredIntPoint): + (WebCore::roundedIntPoint): + (WebCore::ceiledIntPoint): + * platform/graphics/FractionalLayoutSize.cpp: + (WebCore::pixelSnappedIntSize): + * platform/graphics/FractionalLayoutSize.h: + (WebCore): + +2012-02-17 Ryosuke Niwa <rniwa@webkit.org> + + Move textDirectionForSelection from Editor to EditingStyle + https://bugs.webkit.org/show_bug.cgi?id=78868 + + Reviewed by Enrica Casucci. + + Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's + dependency on CSSStyleDeclaration. + + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::textDirectionForSelection): + (WebCore): + * editing/EditingStyle.h: + (EditingStyle): + * editing/Editor.cpp: + (WebCore): + * editing/Editor.h: + (Editor): + * editing/EditorCommand.cpp: + (WebCore::stateTextWritingDirection): + * editing/ReplaceSelectionCommand.cpp: + * editing/markup.cpp: + +2012-02-17 David Barton <dbarton@mathscribe.com> + + MathML internals - embellished operators, getBase() accessor functions + https://bugs.webkit.org/show_bug.cgi?id=78617 + + Reviewed by Eric Seidel. + + Define functions that return an unembellished "base", by omitting + subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in + subsequent patches both for correct operator stretching and simple code factoring. + + No new tests. + + * rendering/mathml/RenderMathMLBlock.h: + (WebCore): + (RenderMathMLBlock): + (WebCore::RenderMathMLBlock::unembellishedOperator): + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::unembellishedOperator): + (WebCore): + * rendering/mathml/RenderMathMLFraction.h: + (RenderMathMLFraction): + * rendering/mathml/RenderMathMLOperator.h: + (WebCore::RenderMathMLOperator::unembellishedOperator): + * rendering/mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::base): + (WebCore): + (WebCore::RenderMathMLSubSup::unembellishedOperator): + (WebCore::RenderMathMLSubSup::stretchToHeight): + - renamed a variable for clarity, especially in later patches + (WebCore::RenderMathMLSubSup::layout): + - renamed a variable for clarity, especially in later patches + * rendering/mathml/RenderMathMLSubSup.h: + (RenderMathMLSubSup): + * rendering/mathml/RenderMathMLUnderOver.cpp: + (WebCore::RenderMathMLUnderOver::base): + (WebCore): + (WebCore::RenderMathMLUnderOver::unembellishedOperator): + (WebCore::RenderMathMLUnderOver::stretchToHeight): + * rendering/mathml/RenderMathMLUnderOver.h: + (RenderMathMLUnderOver): + +2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Qt][WK2] Allow opaque tiles + https://bugs.webkit.org/show_bug.cgi?id=78809 + + Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag. + Use reset/didReset instead of a virtual function that has to call the superclass. + + Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag, + based on the source image. + Since we now disable blending for opaque textures, we also have to make sure that we treat + the depth buffer correctly and bring it back to its previous state. + + Reviewed by Kenneth Rohde Christiansen. + + No behavior changes. + + * platform/graphics/opengl/TextureMapperGL.cpp: + (TextureMapperGLData): + (WebCore::TextureMapperGLData::initStencil): + (WebCore::TextureMapperGLData::TextureMapperGLData): + (BitmapTextureGL): + (WebCore::TextureMapperGL::beginPainting): + (WebCore::TextureMapperGL::endPainting): + (WebCore::TextureMapperGL::drawTexture): + (WebCore::BitmapTextureGL::didReset): + (WebCore::BitmapTextureGL::bind): + (WebCore::TextureMapperGL::beginClip): + * platform/graphics/texmap/TextureMapper.h: + (WebCore::BitmapTexture::BitmapTexture): + (WebCore::BitmapTexture::flags): + (WebCore::BitmapTexture::didReset): + (WebCore::BitmapTexture::reset): + (BitmapTexture): + * platform/graphics/texmap/TextureMapperBackingStore.cpp: + (WebCore::TextureMapperTile::updateContents): + (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded): + (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): + (WebCore::TextureMapperTiledBackingStore::updateContents): + * platform/graphics/texmap/TextureMapperBackingStore.h: + (TextureMapperTiledBackingStore): + * platform/graphics/texmap/TextureMapperImageBuffer.cpp: + (WebCore::BitmapTextureImageBuffer::didReset): + (WebCore): + * platform/graphics/texmap/TextureMapperImageBuffer.h: + (BitmapTextureImageBuffer): + +2012-02-17 Stephen Chenney <schenney@chromium.org> + + Crash in SVGAnimateElement due to changed target + https://bugs.webkit.org/show_bug.cgi?id=75096 + + Reviewed by Nikolas Zimmermann. + + The SVGAnimateElement object creates various internal objects + depending on the type of property being animated, which depends on the + target. These objects were not being recreated when the target + changed, and crashes ensued. Now the SVGSMILElement provides a virtual + method that is called when the target changes, and SVGAnimateElement + updates its objects as necessary. We also deactivate the animation + when the target changes, forcing recomputation of other derived + objects. + + This change also removes various unnecessary calls to semi-expensive + methods. + + Not only does this change fix the new test, it also fixes potential + crashes in other tests that apparently never manifested before (but + manifest when this new test is included in DRT). + + Test: svg/animations/svglength-animation-retarget-crash.html + + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::hasValidAttributeType): + (WebCore::SVGAnimateElement::calculateAnimatedValue): + (WebCore::SVGAnimateElement::calculateFromAndToValues): + (WebCore::SVGAnimateElement::calculateFromAndByValues): + (WebCore::SVGAnimateElement::resetToBaseValue): + (WebCore::SVGAnimateElement::calculateDistance): + (WebCore): + (WebCore::SVGAnimateElement::targetElementDidChange): + * svg/SVGAnimateElement.h: + (SVGAnimateElement): + * svg/SVGAnimatedTypeAnimator.h: + (SVGAnimatedTypeAnimator): + (WebCore::SVGAnimatedTypeAnimator::type): + * svg/animation/SVGSMILElement.cpp: + (WebCore::SVGSMILElement::targetElement): + (WebCore::SVGSMILElement::resetTargetElement): + (WebCore): + * svg/animation/SVGSMILElement.h: + (SVGSMILElement): + (WebCore::SVGSMILElement::targetElementDidChange): + +2012-02-17 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=78934 + + Add the -webkit-line-align property to support the alignment of lines in the inline direction + to the line grid. + + Reviewed by Dan Bernstein. + + Added fast/line-grid/line-align-parsing.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore): + (WebCore::CSSPrimitiveValue::operator LineAlign): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::isInheritedProperty): + * css/CSSPropertyNames.in: + * css/CSSStyleApplyProperty.cpp: + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::StyleRareInheritedData): + (WebCore::StyleRareInheritedData::operator==): + * rendering/style/StyleRareInheritedData.h: + (StyleRareInheritedData): + +2012-02-17 Emil A Eklund <eae@chromium.org> + + Add FractionalLayoutSize for sub-pixel layout + https://bugs.webkit.org/show_bug.cgi?id=78852 + + Reviewed by Eric Seidel. + + Add FractionalLayoutUnit version of Size class and a couple of + conversion methods to the Int and Float versions of same. + + No new tests. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/FloatPoint.cpp: + (WebCore::FloatPoint::move): + Add FractionalLayoutSize version of move. + + * platform/graphics/FloatPoint.h: + * platform/graphics/FloatSize.cpp: + (WebCore::FloatSize::FloatSize): + Add FloatSize(FractionalLayoutSize) constructor. + + * platform/graphics/FloatSize.h: + * platform/graphics/FractionalLayoutSize.cpp: Added. + * platform/graphics/FractionalLayoutSize.h: Added. + +2012-02-17 Enrica Casucci <enrica@apple.com> + + REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType + data to the pasteboard. + https://bugs.webkit.org/show_bug.cgi?id=78933 + <rdar://problem/10874553> + + For this format, the data needs to be placed in the pasteboard as array of arrays + of strings. Currently is it stored as array of strings, which causes the code + that uses this format to break. + + Reviewed by Ryosuke Niwa. + + * platform/mac/PlatformPasteboardMac.mm: + (WebCore::PlatformPasteboard::setPathnamesForType): + +2012-02-17 Abhishek Arya <inferno@chromium.org> + + Incorrect placement of a new child when beforeChild and its + previous sibling are in the same table. + https://bugs.webkit.org/show_bug.cgi?id=78269 + + Reviewed by Julien Chaffraix. + + Tests: fast/table/table-cell-split.html + fast/table/table-row-split.html + fast/table/table-section-split-with-after-content.html + fast/table/table-section-split.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add + call to splitTablePartsAroundChild to take care of splitting the + table first if the child is part of table. + (WebCore::markTableForSectionAndCellRecalculation): add helper to + mark table for complete relayout by invalidating sections and cells. + (WebCore): + (WebCore::moveAllTableChildrenTo): moves children to another table. + (WebCore::RenderBlock::splitTablePartsAroundChild): split table child + and its next siblings into a new table. This allows adding a new + non-table child between the tables. + (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls + splitTablePartsAroundChild to see if we need to split the table + for adding this new child. + * rendering/RenderBlock.h: + (RenderBlock): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createAnonymousTable): add helper for + creating anonymous table. + (WebCore): + (WebCore::RenderObject::addChild): use the new helper for creating + anonymous table. + * rendering/RenderObject.h: + (WebCore): + (RenderObject): + (WebCore::RenderObject::isTablePart): add helper to tell if the object + is a table part. + +2012-02-17 Andreas Kling <awesomekling@apple.com> + + Element: Inline style selector and AX invalidation in attributeChanged(). + <http://webkit.org/b/78888> + + Reviewed by Antti Koivisto. + + Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged() + methods into Element::attributeChanged(). They were separated when we needed them in + StyledElement::attributeChanged(), but that's no longer the case. + + * dom/Element.cpp: + (WebCore::Element::attributeChanged): + * dom/Element.h: + +2012-02-17 David Reveman <reveman@chromium.org> + + [Chromium] Texture eviction doesn't show up in traces. + https://bugs.webkit.org/show_bug.cgi?id=78851 + + Reviewed by James Robinson. + + Add TextureManager::evictTexture() function with TRACE statement so + that texture eviction shows up in traces. + + No new tests. + + * platform/graphics/chromium/TextureManager.cpp: + (WebCore::TextureManager::evictTexture): + (WebCore): + (WebCore::TextureManager::reduceMemoryToLimit): + * platform/graphics/chromium/TextureManager.h: + (TextureManager): + +2012-02-17 Kalev Lember <kalevlember@gmail.com> + + Remove unused parameters from WTF threading API + https://bugs.webkit.org/show_bug.cgi?id=78389 + + Reviewed by Adam Roben. + + waitForThreadCompletion() had an out param 'void **result' to get the + 'void *' returned by ThreadFunction. However, the implementation in + ThreadingWin.cpp ignored the out param, not filling it in. This had + led to a situation where none of the client code made use of the param + and just ignored it. + + To clean this up, the patch changes the signature of ThreadFunction to + return void instead of void* and drops the the unused 'void **result' + parameter from waitForThreadCompletion. Also, all client code is + updated for the API change. + + As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even + though the change only affects internal API, Safari is using it + directly and we'll need to keep the old versions around for ABI + compatibility. For this, the patch adds compatibility wrappers with + the old ABI. + + * bindings/js/GCController.cpp: + (WebCore::collect): + (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging): + * fileapi/FileThread.cpp: + (WebCore::FileThread::fileThreadStart): + (WebCore::FileThread::runLoop): + * fileapi/FileThread.h: + (FileThread): + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::close): + (WebCore::IconDatabase::iconDatabaseSyncThreadStart): + (WebCore::IconDatabase::iconDatabaseSyncThread): + (WebCore::IconDatabase::syncThreadMainLoop): + * loader/icon/IconDatabase.h: + (IconDatabase): + * page/scrolling/ScrollingThread.cpp: + (WebCore::ScrollingThread::threadCallback): + * page/scrolling/ScrollingThread.h: + (ScrollingThread): + * platform/audio/HRTFDatabaseLoader.cpp: + (WebCore::databaseLoaderEntry): + (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion): + * platform/audio/ReverbConvolver.cpp: + (WebCore::backgroundThreadEntry): + (WebCore::ReverbConvolver::~ReverbConvolver): + * platform/network/cf/LoaderRunLoopCF.cpp: + (WebCore::runLoaderThread): + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::databaseThreadStart): + (WebCore::DatabaseThread::databaseThread): + * storage/DatabaseThread.h: + (DatabaseThread): + * storage/LocalStorageThread.cpp: + (WebCore::LocalStorageThread::threadEntryPointCallback): + (WebCore::LocalStorageThread::threadEntryPoint): + (WebCore::LocalStorageThread::terminate): + * storage/LocalStorageThread.h: + (LocalStorageThread): + * webaudio/AsyncAudioDecoder.cpp: + (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder): + (WebCore::AsyncAudioDecoder::threadEntry): + * webaudio/AsyncAudioDecoder.h: + (AsyncAudioDecoder): + * webaudio/OfflineAudioDestinationNode.cpp: + (WebCore::OfflineAudioDestinationNode::uninitialize): + (WebCore::OfflineAudioDestinationNode::renderEntry): + * webaudio/OfflineAudioDestinationNode.h: + (OfflineAudioDestinationNode): + * workers/WorkerThread.cpp: + (WebCore::WorkerThread::workerThreadStart): + (WebCore::WorkerThread::workerThread): + * workers/WorkerThread.h: + (WorkerThread): + +2012-02-17 Robert Hogan <robert@webkit.org> + + AppleMac Build fix for r108111 + + Remove variable that is now unused. + + Unreviewed, build fix. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::alwaysRequiresLineBox): Remove lineInfo + (WebCore::requiresLineBox): + (WebCore::RenderBlock::LineBreaker::nextLineBreak): + +2012-02-17 Michal Mocny <mmocny@google.com> + + [chromium] GL_CHROMIUM_gpu_memory_manager extension + https://bugs.webkit.org/show_bug.cgi?id=77155 + + Reviewed by James Robinson. + + * platform/graphics/chromium/Extensions3DChromium.h: + (GpuMemoryAllocationChangedCallbackCHROMIUM): + (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM): + (Extensions3DChromium): + +2012-01-23 Robert Hogan <robert@webkit.org> + + REGRESSION: empty span creates renders with non-zero height + https://bugs.webkit.org/show_bug.cgi?id=76465 + + Reviewed by David Hyatt. + + Tests: fast/css/empty-span.html + fast/css/non-empty-span.html + + Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some + other content in the line. So only create line boxes for such elements on lines that are not empty. + + This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line. + It also fixes cases where lines with content that had a leading empty inline element weren't respecting the + vertical alignment or font-height of the empty inline. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty. + (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size + will need a linebox if the rest of the line is not empty. + (WebCore): + (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox. + (WebCore::requiresLineBox): + (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark + the line non-empty - otherwise hold off. + +2012-02-17 Raymond Toy <rtoy@google.com> + + RealtimeAnalyserNode does not consistently respect .minDecibels + https://bugs.webkit.org/show_bug.cgi?id=78729 + + Make use of m_minDecibel consistent. Clean up some style issues + with names of local variables and style issues with float + constants. + + Reviewed by Chris Rogers. + + No new tests because the changes are cosmetic for style issues. + + * webaudio/RealtimeAnalyser.cpp: + (WebCore): + (WebCore::RealtimeAnalyser::doFFTAnalysis): + (WebCore::RealtimeAnalyser::getFloatFrequencyData): + (WebCore::RealtimeAnalyser::getByteFrequencyData): + (WebCore::RealtimeAnalyser::getByteTimeDomainData): + +2012-02-17 Abhishek Arya <inferno@chromium.org> + + :before content incorrectly placed in continuation + when we don't have a first child. + https://bugs.webkit.org/show_bug.cgi?id=78380 + + Reviewed by David Hyatt. + + Test: fast/css-generated-content/before-content-continuation-chain.html + + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + +2012-02-17 Mihnea Ovidenie <mihnea@adobe.com> + + CSS regions enabled by default + https://bugs.webkit.org/show_bug.cgi?id=78525 + + Reviewed by David Hyatt. + + Test: fast/regions/css-regions-disabled.html + + Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled). + CSSRegions are still enabled by default. + In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality. + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::cssRegionsEnabled): + (WebCore): + (WebCore::CSSParser::parseFlowThread): + (WebCore::CSSParser::parseRegionThread): + (WebCore::CSSParser::createRegionRule): + * css/CSSParser.h: + * dom/Document.cpp: + (WebCore::Document::cssRegionsEnabled): + (WebCore): + (WebCore::Document::webkitGetFlowByName): + * dom/Document.h: + (Document): + * dom/Element.cpp: + (WebCore::Element::webkitRegionOverflow): + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded): + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setCSSRegionsEnabled): + (WebCore::Settings::cssRegionsEnabled): + (Settings): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::RenderFlowThread): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createObject): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::RenderRegion): + +2012-02-17 Mihnea Ovidenie <mihnea@adobe.com> + + [CSSRegions]Implement NamedFlow::overflow + https://bugs.webkit.org/show_bug.cgi?id=78880 + + Reviewed by David Hyatt. + + Test: fast/regions/webkit-named-flow-overflow.html + + * dom/WebKitNamedFlow.cpp: + (WebCore::WebKitNamedFlow::WebKitNamedFlow): + (WebCore::WebKitNamedFlow::overflow): + (WebCore): + * dom/WebKitNamedFlow.h: + (WebCore): + (WebCore::WebKitNamedFlow::create): + (WebKitNamedFlow): + * dom/WebKitNamedFlow.idl: + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::RenderFlowThread): + (WebCore::RenderFlowThread::ensureNamedFlow): + (WebCore::RenderFlowThread::computeOverflowStateForRegions): + * rendering/RenderFlowThread.h: + +2012-02-17 Joe Thomas <joethomas@motorola.com> + + flex-wrap:nowrap should be flex-wrap:none + https://bugs.webkit.org/show_bug.cgi?id=78772 + + As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none. + + Reviewed by Ojan Vafai. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EFlexWrap): + * css/CSSValueKeywords.in: + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + +2012-02-17 Enrica Casucci <enrica@apple.com> + + Refactor DragData class to use PlatformStrategies in the Mac implementation. + https://bugs.webkit.org/show_bug.cgi?id=78768 + + Reviewed by Darin Adler. + + No new tests. No behavior change. + + * WebCore.exp.in: Added new exported method of the PlatformPasteboard class. + * platform/DragData.h: + (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard. + * platform/PasteboardStrategy.h: Added color() method. + * platform/PlatformPasteboard.h: Ditto. + * platform/mac/ClipboardMac.mm: + (WebCore::Clipboard::create): Changed to use pasteboardName() method. + * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName + and the pasteboardStrategy() methods. + (WebCore::DragData::DragData): + (WebCore::DragData::canSmartReplace): + (WebCore::DragData::containsColor): + (WebCore::DragData::containsFiles): + (WebCore::DragData::numberOfFiles): + (WebCore::DragData::asFilenames): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::asPlainText): + (WebCore::DragData::asColor): + (WebCore::DragData::containsCompatibleContent): + (WebCore::DragData::asURL): + (WebCore::DragData::asFragment): + * platform/mac/PlatformPasteboardMac.mm: + (WebCore::PlatformPasteboard::color): Added implementation of the color() method. + +2012-02-17 Nate Chapin <japhet@chromium.org> + + [Chromium mac] Cursors and background images disappear. + https://bugs.webkit.org/show_bug.cgi?id=78834 + + The issue occurs because a CachedImage sees that it has no clients + and decide it is safe to purge its m_data buffer. However, + StyleCachedImage is holding a CachedResourceHandle to the + CachedImage, and it can still add a client later. If it does so, + the CachedImage says everything is loaded but has no data. + + Reviewed by Adam Barth. + + No new tests, since the known repros have resisted reduction. + Tested manually with chrome.angrybirds.com, redfin.com and a + couple of other sites. + + * rendering/style/StyleCachedImage.cpp: + * rendering/style/StyleCachedImage.h: Ensure the underlying + CachedImage has a client for the lifetime of the + StyleCachedImage and doesn't purge its buffer. Call + addClient(this) in the constructor and removeClient(this) in + the destructor, then ignore all cache callbacks. + +2012-02-17 Julien Chaffraix <jchaffraix@webkit.org> + + Table cell's anonymous wrappers are left in the tree, impacting our layout + https://bugs.webkit.org/show_bug.cgi?id=7180 + + Reviewed by David Hyatt. + + Tests: fast/table/table-switch-cell-position-bad-layout-expected.html + fast/table/table-switch-cell-position-bad-layout.html + + This patch implements cell's anonymous wrapper removal at detach time. + + Trimming the render tree when we remove objects from it would be more complex + to generalize as several objects override the behavior to do their own clean-ups. + This would also open more potential for programming errors. + + This change is limited to table cells' as a simple step towards fixing bug 52123 + and more generally eliminate some anonymous wrappers from the tree at detach time. + + * dom/Node.cpp: + (WebCore::Node::detach): + Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need + to clean up any anonymous wrappers on detach. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers): + Added this method to wrap destroy() call and trim the render tree. To avoid slowing down + detach in some cases, added a fast path. + + * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers. + +2012-02-17 Rob Buis <rbuis@rim.com> + + ASSERT (and crash) with dynamically moved <font-face> + https://bugs.webkit.org/show_bug.cgi?id=64839 + + Reviewed by Antti Koivisto. + + Reset the style declaration when rmeoving the font-face element from the document. + + Test: svg/custom/font-face-move.svg + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::removedFromDocument): + +2012-02-17 Martin Robinson <mrobinson@igalia.com> + + Fix some warnings encountered during the GTK+ build + https://bugs.webkit.org/show_bug.cgi?id=78911 + + Reviewed by Xan Lopez. + + No new tests. These are just fixes for warnings. + + * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on + a size_t type. Use size_t for iterating over members of a vector. + * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary. + (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto. + * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto. + (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto. + (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto. + (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto. + +2012-02-17 Tim Dresser <tdresser@chromium.org> + + [chromium] Refactor video drawing to be more data driven + https://bugs.webkit.org/show_bug.cgi?id=76720 + + Reviewed by James Robinson. + + CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads. + These quads are then drawn by LayerRendererChromium. + + CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads. + CCLayerImpl::didDraw() is called directly after all drawing has been completed. + CCLayerImpl::draw has been removed. + + willDraw and didDraw are used to handle interaction with the VideoFrameProvider + in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and + didDraw returns it. + + A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers. + This test ensures that CCLayerImpl::didDraw() is called on all layers, + including layers on different render surfaces. + + As this was a refactor, no other tests were added. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawYUV): + (WebCore): + (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad): + (WebCore::LayerRendererChromium::drawRGBA): + (WebCore::LayerRendererChromium::drawNativeTexture): + (WebCore::LayerRendererChromium::copyFrameToTextures): + (WebCore::LayerRendererChromium::copyPlaneToTexture): + (WebCore::LayerRendererChromium::drawVideoQuad): + * platform/graphics/chromium/LayerRendererChromium.h: + (LayerRendererChromium): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + * platform/graphics/chromium/cc/CCLayerImpl.h: + (WebCore::CCLayerImpl::didDraw): + (CCLayerImpl): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): + (WebCore::CCLayerTreeHostImpl::drawLayers): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (CCLayerTreeHostImpl): + * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: + (WebCore::CCVideoDrawQuad::create): + (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): + * platform/graphics/chromium/cc/CCVideoDrawQuad.h: + (CCVideoDrawQuad): + (WebCore::CCVideoDrawQuad::textures): + (WebCore::CCVideoDrawQuad::frame): + (WebCore::CCVideoDrawQuad::format): + * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: + (WebCore::CCVideoLayerImpl::willDraw): + (WebCore::CCVideoLayerImpl::appendQuads): + (WebCore::CCVideoLayerImpl::didDraw): + (WebCore::CCVideoLayerImpl::computeVisibleSize): + * platform/graphics/chromium/cc/CCVideoLayerImpl.h: + (CCVideoLayerImpl): + (WebCore::CCVideoLayerImpl::providerMutex): + (WebCore::CCVideoLayerImpl::provider): + (Texture): + +2012-02-17 Stephen Chenney <schenney@chromium.org> + + Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree + https://bugs.webkit.org/show_bug.cgi?id=77639 + + Reviewed by Nikolas Zimmermann. + + Fix a SVG crash in Release builds, although it still crashes in Debug builds. + The crash occurred when an SVG use element attempted to reference a style element while the file + contained an error causing the error banner to display. The fix is to prevent SVGUseElement + from recalculating style during tree building and return immediately when style is recalculated and + the tree is building. + + Test: svg/custom/use-referencing-style-crash.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built. + (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree + is being built and we are not yet ready for style update. + +2012-02-17 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed, rolling out r108077. + http://trac.webkit.org/changeset/108077 + https://bugs.webkit.org/show_bug.cgi?id=78390 + + it broke compilation. + + * inspector/CodeGeneratorInspector.py: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getFunctionDetails): + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::wrapCallFrames): + * inspector/InjectedScript.h: + (InjectedScript): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::getFunctionDetails): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + (InspectorDebuggerAgent): + +2012-02-17 Florin Malita <fmalita@google.com> + + chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc) + https://bugs.webkit.org/show_bug.cgi?id=74858 + + Reviewed by Nikolas Zimmermann. + + Tests: svg/custom/tref-remove-target-crash-expected.svg + svg/custom/tref-remove-target-crash.svg + + Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal, + cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added + at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to + the target element to simplify the implementation and reduce the scope. + + * svg/SVGTRefElement.cpp: + (WebCore::TargetListener::create): + (WebCore::TargetListener::cast): + (WebCore::TargetListener::clear): + (WebCore::TargetListener::TargetListener): + (WebCore::TargetListener::operator==): + (WebCore::TargetListener::handleEvent): + (WebCore::SVGTRefElement::detachTarget): + (WebCore::SVGTRefElement::buildPendingResource): + * svg/SVGTRefElement.h: + +2012-02-17 Simon Fraser <simon.fraser@apple.com> + + Fix the build after r108077. + + * inspector/CodeGeneratorInspector.py: + (RawTypes.Any.generate_validate_method): + +2012-02-17 Simon Fraser <simon.fraser@apple.com> + + Avoid using a transparency layer for rgba() border drawing when possible + https://bugs.webkit.org/show_bug.cgi?id=63176 + + Reviewed by Dan Bernstein. + + The non-radiused border drawing code would use a transparency layer + when drawing any one or more borders with alpha colors. However, + we only need to use a transparency layer when there is a corner + join between the borders being rendered with any one color, + so add a utility function includesAdjacentEdges() that can tell us + that, and use it to avoid making extraneous transparency layers. + + Optimization only, no new tests. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::includesAdjacentEdges): + (WebCore): + (WebCore::RenderBoxModelObject::paintTranslucentBorderSides): + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Not reviewed: Qt minimal build fix. + + * inspector/InjectedScript.h: + (WebCore): + +2012-02-17 Peter Rybin <peter.rybin@gmail.com> + + Web Inspector: Switch Debugger agent to TypeBuilder + https://bugs.webkit.org/show_bug.cgi?id=78390 + + Reviewed by Vsevolod Vlasov. + + Client code is switched to TypeBuilder. + + * inspector/CodeGeneratorInspector.py: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getFunctionDetails): + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::wrapCallFrames): + * inspector/InjectedScript.h: + (InjectedScript): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::getFunctionDetails): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + (InspectorDebuggerAgent): + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Web Inspector: hide color picker on selected node update. + https://bugs.webkit.org/show_bug.cgi?id=78896 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/Spectrum.js: + (WebInspector.Spectrum.prototype.get visible): + (WebInspector.Spectrum.prototype.toggle): + (WebInspector.Spectrum.prototype.show): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype.update): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Web Inspector: check undo-redo boundaries based on current action index, not history size. + https://bugs.webkit.org/show_bug.cgi?id=78895 + + Reviewed by Vsevolod Vlasov. + + Tests: inspector/elements/perform-undo-undo.html + inspector/styles/perform-undo-perform-of-mergable-action.html + + * inspector/InspectorHistory.cpp: + (WebCore::InspectorHistory::perform): + +2012-02-17 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed, rolling out r108071. + http://trac.webkit.org/changeset/108071 + https://bugs.webkit.org/show_bug.cgi?id=77155 + + chromium-mac compilation failed + + * platform/graphics/chromium/Extensions3DChromium.h: + +2012-02-17 Michal Mocny <mmocny@google.com> + + [chromium] GL_CHROMIUM_gpu_memory_manager extension + https://bugs.webkit.org/show_bug.cgi?id=77155 + + Reviewed by James Robinson. + + * platform/graphics/chromium/Extensions3DChromium.h: + (GpuMemoryAllocationChangedCallbackCHROMIUM): + (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM): + (Extensions3DChromium): + +2012-02-17 Raphael Kubo da Costa <kubo@profusion.mobi> + + [CMake, EFL] Unreviewed, fix the build when building with + SHARED_CORE=ON after r107820. + + RunLoopEfl.cpp has not been upstreamed yet, and building only + RunLoop.cpp created an .so with some missing, unimplemented + symbols. The BlackBerry port seems to be in the same situation. + + The best solution for now is to build RunLoop.cpp only on the + WinCE port. + + * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build. + * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build. + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Web Inspector: a bit of color picker polish + https://bugs.webkit.org/show_bug.cgi?id=78892 + + - Fixed computed style swatch + - Removed color: caption + - Rendered value as source code, user-selectable + - Removed scroller gap + + Reviewed by Yury Semikhatsky. + + * English.lproj/localizedStrings.js: + * inspector/front-end/Popover.js: + (WebInspector.Popover.prototype.setCanShrink): + (WebInspector.Popover.prototype._positionElement): + * inspector/front-end/Spectrum.js: + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): + * inspector/front-end/elementsPanel.css: + (.spectrum-container): + (.spectrum-display-value): + (.spectrum-range-container): + * inspector/front-end/popover.css: + (.popover .content.fixed-height): + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Web Inspector: color picker does not allow changing the color. + https://bugs.webkit.org/show_bug.cgi?id=78886 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype._showPopover.showPopover): + * inspector/front-end/Popover.js: + (WebInspector.Popover.prototype.setCanShrink): + (WebInspector.Popover.prototype._positionElement): + * inspector/front-end/Settings.js: + * inspector/front-end/Spectrum.js: + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Web Inspector: new image preview has poorly positioned popover arrow. + https://bugs.webkit.org/show_bug.cgi?id=78884 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/Popover.js: + (WebInspector.Popover.prototype._positionElement): + * inspector/front-end/utilities.js: + (Element.prototype.boxInWindow): + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Web Inspector: enable "Single click CSS editing" experiment by default. + https://bugs.webkit.org/show_bug.cgi?id=78881 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/elementsPanel.css: + (.styles-section .properties .enabled-button): + +2012-02-17 Pavel Feldman <pfeldman@google.com> + + Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily. + https://bugs.webkit.org/show_bug.cgi?id=78827 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype.update): + (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback): + (WebInspector.StylesSidebarPane.prototype._refreshUpdate): + (WebInspector.StylesSidebarPane.prototype._rebuildUpdate): + (WebInspector.StylesSidebarPane.prototype._validateNode): + (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged): + (WebInspector.StylesSidebarPane.prototype._attributesModified): + (WebInspector.StylesSidebarPane.prototype._attributesRemoved): + (WebInspector.StylesSidebarPane.prototype._styleInvalidated): + (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate): + (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate): + (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest): + (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane): + (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener): + (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged): + (WebInspector.ComputedStyleSidebarPane.prototype.expand): + (WebInspector.StylePropertyTreeElement.prototype): + +2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Qt][WK2] Allow partial updates + https://bugs.webkit.org/show_bug.cgi?id=78824 + + BitmapTextureGL should not zero-fill the textures when resetting. + This was needed in the previous buffer management system, where texture were not completely + filled by the backing store. + + Reviewed by Simon Hausmann. + + No new behavior. + + * platform/graphics/opengl/TextureMapperGL.cpp: + (BitmapTextureGL): + (WebCore::texSubImage2DResourceSafe): + (WebCore): + (WebCore::BitmapTextureGL::reset): + +2012-02-17 Yosifumi Inoue <yosin@chromium.org> + + [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue + https://bugs.webkit.org/show_bug.cgi?id=78873 + + Reviewed by Kent Tamura. + + This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement + and merge dispatchChangeEventInResponseToSetValue to setValue. + + No new tests. No change in behavior. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput. + * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation. + * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration. + (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. + * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation. + * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration. + (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue. + * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class. + +2012-02-17 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Mac build fix after r108047. + + * WebCore.xcodeproj/project.pbxproj: + +2012-02-16 Andreas Kling <awesomekling@apple.com> + + Removing the last presentation attribute should result in a null attributeStyle(). + <http://webkit.org/b/78812> + + Reviewed by Antti Koivisto. + + If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any + respected presentation attributes, set a null attributeStyle() instead of an empty one. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::collectMatchingRulesForList): + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateAttributeStyle): + +2012-02-16 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners + https://bugs.webkit.org/show_bug.cgi?id=78825 + + Introduced static counters of allocated Documents, Nodes and JS EventListeners. + Their values are displayed on the Timeline panel. + + Reviewed by Pavel Feldman. + + * CMakeLists.txt: + * English.lproj/localizedStrings.js: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::~JSEventListener): + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::V8AbstractEventListener): + (WebCore::V8AbstractEventListener::~V8AbstractEventListener): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + * dom/Document.h: + (WebCore::Node::Node): + * dom/Node.cpp: + (WebCore::Node::~Node): + * inspector/InspectorAllInOne.cpp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + * inspector/InspectorCounters.cpp: Added. + (WebCore): + (WebCore::InspectorCounters::counterValue): + * inspector/InspectorCounters.h: Added. + (WebCore): + (InspectorCounters): + (WebCore::InspectorCounters::incrementCounter): + (WebCore::InspectorCounters::decrementCounter): + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::didCallFunction): + (WebCore::InspectorTimelineAgent::didDispatchEvent): + (WebCore::InspectorTimelineAgent::didWriteHTML): + (WebCore::InspectorTimelineAgent::didFireTimer): + (WebCore::InspectorTimelineAgent::didEvaluateScript): + (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): + (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): + * inspector/InspectorTimelineAgent.h: + (WebCore): + (WebCore::InspectorTimelineAgent::create): + (InspectorTimelineAgent): + * inspector/front-end/MemoryStatistics.js: + (WebInspector.MemoryStatistics): + (WebInspector.MemoryStatistics.prototype.addTimlineEvent): + (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount): + (WebInspector.MemoryStatistics.prototype._refreshCurrentValues): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): + +2012-02-16 Cris Neckar <cdn@chromium.org> + + Correct a misleading comment regarding string delimiters in CSS parsing. + https://bugs.webkit.org/show_bug.cgi?id=78521 + + Reviewed by Zoltan Herczeg. + + * css/CSSParser.cpp: + (WebCore::CSSParser::lex): + +2012-02-16 Martin Robinson <mrobinson@igalia.com> + + Fix the TextureMapper build for GTK+. + + No new tests. This is just a build fix. + + * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs. + +2012-02-16 Daniel Bates <dbates@webkit.org> + + Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode + + The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only + referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this + guard around its declaration. + + * html/HTMLStyleElement.h: + (HTMLStyleElement): + +2012-02-16 Shinya Kawanaka <shinyak@chromium.org> + + [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)' + https://bugs.webkit.org/show_bug.cgi?id=78875 + + Reviewed by Kentaro Hara. + + Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host) + was saved in DOMObject storage instead of DOMNode storage. + + CodeGenerator should handle with DOMNode correctly to solve the problem. + + Test: fast/dom/shadow/shadow-root-new.html + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateConstructorCallback): + +2012-02-16 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac. + see http://webkit.org/b/78832 + + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * dom/DOMAllInOne.cpp: + * dom/EventDispatchMediator.cpp: + (WebCore::FocusEventDispatchMediator::create): + (WebCore): + (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator): + (WebCore::FocusEventDispatchMediator::dispatchEvent): + (WebCore::BlurEventDispatchMediator::create): + (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator): + (WebCore::BlurEventDispatchMediator::dispatchEvent): + * dom/EventDispatchMediator.h: + (FocusEventDispatchMediator): + (WebCore): + (BlurEventDispatchMediator): + * dom/EventFactory.in: + * dom/FocusEvent.cpp: Removed. + * dom/FocusEvent.h: Removed. + * dom/FocusEvent.idl: Removed. + * dom/Node.cpp: + (WebCore::Node::dispatchFocusInEvent): + (WebCore::Node::dispatchFocusOutEvent): + * dom/UIEvent.cpp: + (WebCore::FocusInEventDispatchMediator::create): + (WebCore): + (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator): + (WebCore::FocusInEventDispatchMediator::dispatchEvent): + (WebCore::FocusOutEventDispatchMediator::create): + (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator): + (WebCore::FocusOutEventDispatchMediator::dispatchEvent): + * dom/UIEvent.h: + (FocusInEventDispatchMediator): + (WebCore): + (FocusOutEventDispatchMediator): + * page/DOMWindow.idl: + +2012-02-16 Mark Hahnenberg <mhahnenberg@apple.com> + + Another fix for viewport tests + + No new tests. + + * dom/ViewportArguments.cpp: + (WebCore::numericPrefix): When we don't parse a number, we could either be + trying to parse junk, which returns NaN, or we could get an empty string, + which returns 0, so we need to account for that in the assert. + +2012-02-16 Mark Hahnenberg <mhahnenberg@apple.com> + + Another build fix for viewport tests + + No new tests. + + * dom/ViewportArguments.cpp: + (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to + parse a number using charactersToFloatIgnoringJunk, so we need to assert that + we have NaN rather than 0. + +2012-02-16 Alexandre Elias <aelias@google.com> + + [chromium] Bundle page scale factor and limits in CCLayerTreeHost + https://bugs.webkit.org/show_bug.cgi?id=78762 + + Setting page scale factor and its limits in separate methods + may cause clamping bugs if one of them makes it to the + impl thread before the other. Change the API to bundle them together, + which matches the existing impl-side interface. + + Reviewed by James Robinson. + + No new tests (API change will disallow this type of bug). + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::CCLayerTreeHost): + (WebCore::CCLayerTreeHost::finishCommitOnImplThread): + (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHost): + +2012-02-16 Kentaro Hara <haraken@chromium.org> + + Unreviewed. Rebaselined run-bindings-tests results. + + * bindings/scripts/test/JS/JSTestEventConstructor.cpp: + (WebCore::JSTestEventConstructorConstructor::finishCreation): + * bindings/scripts/test/JS/JSTestInterface.cpp: + (WebCore::JSTestInterfaceConstructor::finishCreation): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::JSTestObjConstructor::finishCreation): + * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: + (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation): + +2012-02-16 Sami Kyostila <skyostil@chromium.org> + + [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly + https://bugs.webkit.org/show_bug.cgi?id=77464 + + Use bounds() instead of contentBounds() to calculate the region to mark + as needing painting in LayerChromium::setNeedsDisplay(). contentBounds() + includes contents scale, while bounds() does not. + + Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is + given an unscaled rectangle, modify that function to scale the rectangle before + using it to invalidate the underlying tiles. + + Reviewed by James Robinson. + + Tests: New tests added to LayerChromium and TiledLayerChromium unit tests. + + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::setNeedsDisplay): + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::TiledLayerChromium::setNeedsDisplayRect): + +2012-02-16 Raymond Liu <raymond.liu@intel.com> + + Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode + https://bugs.webkit.org/show_bug.cgi?id=76509 + + Reviewed by Eric Seidel. + + No new tests required. + + * webaudio/AudioDestinationNode.h: + * webaudio/AudioNode.h: + (WebCore::AudioNode::sampleRate): + * webaudio/DefaultAudioDestinationNode.cpp: + (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode): + * webaudio/DefaultAudioDestinationNode.h: + * webaudio/OfflineAudioDestinationNode.cpp: + (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode): + * webaudio/OfflineAudioDestinationNode.h: + (WebCore::OfflineAudioDestinationNode::sampleRate): + +2012-02-16 Shinya Kawanaka <shinyak@chromium.org> + + [Refactoring] Remove location from NodeRenderingContext. + https://bugs.webkit.org/show_bug.cgi?id=78796 + + Reviewed by Hajime Morita. + + This is a simple refactoring to remove m_location from NodeRenderingContext. + TreeLocation is merged into AttachPhase like the following. + LocationUndertermined -> Calculating + LocationNotInTree -> AttachingNotInTree + LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed + LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback + + We have renamed the enum items of AttachPhase, because not only <content> but also + <shadow> will use the phases. Basically these words are taken from Shadow DOM spec. + 'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject. + + No new tests, no change in behavior. + + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::NodeRenderingContext): + (WebCore::NodeRenderingContext::nextRenderer): + (WebCore::NodeRenderingContext::previousRenderer): + (WebCore::NodeRenderingContext::parentRenderer): + (WebCore::NodeRenderingContext::shouldCreateRenderer): + * dom/NodeRenderingContext.h: + (NodeRenderingContext): + (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle): + +2012-02-16 Kent Tamura <tkent@chromium.org> + + Run sort-Xcode-project-file. + + * WebCore.xcodeproj/project.pbxproj: Sorted. + +2012-02-16 Mark Hahnenberg <mhahnenberg@apple.com> + + Another build fix for viewport tests + + No new tests. + + * dom/ViewportArguments.cpp: + (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to + parse a number using charactersToFloatIgnoringJunk, so we need to assert that + we have NaN rather than 0. + +2012-02-15 Michael Nordman <michaeln@google.com> + + [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately. + https://bugs.webkit.org/show_bug.cgi?id=78841 + + WebDatabase now delegates this function entirely to DatabaseTracker, + a new closeDatabasesImmediately() has been added for that purpose. That + method posts tasks to the appropiate context thread for each database + instance that should be closed immediately. + + The DatabaseTracker getAllOpenDatabases() method has been removed from + the chromium impl because it's unsafe, refs cannot be safely taken on + AbstractDatabase instances in the tracker's collection of open databases. + + Add a message to the console log when a database is forcibly closed. + + Transactions initiated on a database instance that has been forcibly + closed complete with a transaction error callback. + + This is part of resolving http://crbug.com/98939 + + Reviewed by David Levin. + + No new layout tests, there is no common code way to closeImmediately. + We have coverage for this in py automation tests. + + * platform/sql/SQLiteDatabase.cpp: + The closeImmediately code path can result in the underlying sqlite3 handle being + closed earlier than usual and trip some assertions. Updated the assertions to no + longer trigger in this early close case. + (WebCore::SQLiteDatabase::close): + (WebCore::SQLiteDatabase::setMaximumSize): + * platform/sql/SQLiteDatabase.h: + (WebCore::SQLiteDatabase::sqlite3Handle): + + * storage/Database.cpp: + (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message. + (WebCore::Database::changeVersion): Use the private runTransaction helper method. + (WebCore::Database::transaction): Pass a new param required by the runTransaction helper. + (WebCore::Database::readTransaction): Ditto. + (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback. + (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and + to invoke the error callback in that case. This also avoids creating a reference cycle between + a newly created transaction and the database that previously existed due to a transction being + added and never removed from the Q while in this state. + * storage/Database.h: + * storage/DatabaseSync.cpp: + (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message. + * storage/DatabaseTracker.h: + + * storage/chromium/DatabaseTrackerChromium.cpp: + Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts. + (DatabaseTracker::CloseOneDatabaseImmediatelyTask): + (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create): + (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask): + (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask): + (WebCore::DatabaseTracker::closeDatabasesImmediately): + (WebCore::DatabaseTracker::closeOneDatabaseImmediately): + +2012-02-16 Dana Jansens <danakj@chromium.org> + + [Chromium] Occlusion tracking with CSS filters + https://bugs.webkit.org/show_bug.cgi?id=77498 + + Reviewed by James Robinson. + + The new CSS filter support within the compositor changes how + occlusion tracking needs to function. A filter can change the + alpha value of pixels, making an otherwise opaque pixel no + longer so. Secondly, a filter may move color values around + on a surface, which can cause otherwise occluded areas to + become visible and require painting. + + New unit tests: CCLayerTreeHostTest.cpp + + Tests: compositing/culling/filter-occlusion-alpha-large.html + compositing/culling/filter-occlusion-alpha.html + compositing/culling/filter-occlusion-blur-large.html + compositing/culling/filter-occlusion-blur.html + + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): + * platform/graphics/chromium/RenderSurfaceChromium.h: + (WebCore::RenderSurfaceChromium::setFilters): + (WebCore::RenderSurfaceChromium::filters): + (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels): + (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels): + (RenderSurfaceChromium): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::enterTargetRenderSurface): + (WebCore::CCLayerTreeHost::paintLayerContents): + * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: + (WebCore::subtreeShouldRenderToSeparateSurface): + (WebCore::calculateDrawTransformsAndVisibilityInternal): + (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility): + * platform/graphics/chromium/cc/CCRenderSurface.cpp: + (WebCore::CCRenderSurface::CCRenderSurface): + * platform/graphics/chromium/cc/CCRenderSurface.h: + (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels): + (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels): + (CCRenderSurface): + * platform/graphics/filters/FilterOperation.h: + (FilterOperation): + (WebCore::FilterOperation::affectsOpacity): + (WebCore::FilterOperation::movesPixels): + (WebCore::ReferenceFilterOperation::affectsOpacity): + (WebCore::ReferenceFilterOperation::movesPixels): + (ReferenceFilterOperation): + (WebCore::BasicComponentTransferFilterOperation::affectsOpacity): + (BasicComponentTransferFilterOperation): + (WebCore::BlurFilterOperation::affectsOpacity): + (WebCore::BlurFilterOperation::movesPixels): + (BlurFilterOperation): + (WebCore::DropShadowFilterOperation::affectsOpacity): + (DropShadowFilterOperation): + * platform/graphics/filters/FilterOperations.cpp: + (WebCore::FilterOperations::hasFilterThatAffectsOpacity): + (WebCore): + (WebCore::FilterOperations::hasFilterThatMovesPixels): + * platform/graphics/filters/FilterOperations.h: + (WebCore::FilterOperations::isEmpty): + (FilterOperations): + +2012-02-16 Leo Yang <leo.yang@torchmobile.com.cn> + + [BlackBerry] Adapt to the removal of WebStringIml.h + https://bugs.webkit.org/show_bug.cgi?id=78784 + + Reviewed by Antonio Gomes. + + WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed + has been removed internally. We should adapt to this removal for the + upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary + because it just inherits from WTF::StringImpl but adding nothing. + + No functionalities changed, no new tests. + + * platform/text/blackberry/StringBlackBerry.cpp: + (WTF::String::operator WebString): + +2012-02-15 Geoffrey Garen <ggaren@apple.com> + + Made Weak<T> single-owner, adding PassWeak<T> + https://bugs.webkit.org/show_bug.cgi?id=78740 + + Reviewed by Sam Weinig. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new + hash map API. + + * bindings/js/JSDOMBinding.h: + (WebCore::getCachedWrapper): + (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by + our new hash map API. + + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::setWrapper): + * bindings/js/ScriptWrappable.h: + (WebCore::ScriptWrappable::setWrapper): + * bridge/jsc/BridgeJSC.cpp: + (JSC::Bindings::Instance::createRuntimeObject): + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as + required by our new hash map and Weak<T> APIs. + +2012-02-16 Ryosuke Niwa <rniwa@webkit.org> + + Crash in visiblePositionForIndex + https://bugs.webkit.org/show_bug.cgi?id=77683 + + Reviewed by Eric Seidel. + + Fixed the crash. + + Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html + + * editing/ApplyBlockElementCommand.cpp: + (WebCore::ApplyBlockElementCommand::doApply): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::doApply): + * editing/htmlediting.cpp: + (WebCore::indexForVisiblePosition): + * editing/htmlediting.h: + (WebCore): + +2012-02-16 Matthew Delaney <mdelaney@apple.com> + + ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes + https://bugs.webkit.org/show_bug.cgi?id=78765 + + Reviewed by Simon Fraser. + + No new tests due to the flaky nature of reproducing the issue. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer() + when we create a new ImageBuffer in order to invalidate cached values. + (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting + of cached values into one method to enforce them being the same. + (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto. + + Restructure to use new method described above. + (WebCore::ShadowBlur::drawRectShadowWithoutTiling): + (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): + (WebCore::ShadowBlur::drawInsetShadowWithTiling): + (WebCore::ShadowBlur::drawRectShadowWithTiling): + (WebCore::ShadowBlur::beginShadowLayer): + +2012-02-16 Dana Jansens <danakj@chromium.org> + + [chromium] Empty divs not transforming overflow correctly + https://bugs.webkit.org/show_bug.cgi?id=78850 + + Reviewed by James Robinson. + + Test: compositing/overflow/transform-in-empty-container.html + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setSize): + +2012-02-16 Emil A Eklund <eae@chromium.org> + + Fix use of long long in FractionalLayoutUnit::setRawValue + https://bugs.webkit.org/show_bug.cgi?id=78835 + + Reviewed by Eric Seidel. + + Change setRawValue(long long) to compare against int min and max instead + of using abs as not all platforms we support implement a long long + version of abs or llabs. + + No new tests. + + * platform/FractionalLayoutUnit.h: + (WebCore::FractionalLayoutUnit::setRawValue): + Compare against int min/max instead of just max with abs. + + (WebCore::FractionalLayoutUnit::isInBounds): + Fix type mismatch warning. + + (WebCore::operator==): + Fix typo. + + (WebCore::operator*): + Use long long version of setRawValue. + +2012-02-15 Shinya Kawanaka <shinyak@chromium.org> + + Add an internal flag to accept multiple shadow roots for the purpose of tests. + https://bugs.webkit.org/show_bug.cgi?id=78453 + + Reviewed by Hajime Morita. + + This patch introduces a flag to enable multiple shadow subtrees. + This flag is intended to be used for testing purpose for a while. + We will remove it later. + + No new tests, no change in behavior. + + * WebCore.exp.in: + * bindings/generic/RuntimeEnabledFeatures.cpp: + (WebCore): + * bindings/generic/RuntimeEnabledFeatures.h: + (RuntimeEnabledFeatures): + (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled): + (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::create): + * dom/ShadowRootList.cpp: + (WebCore::ShadowRootList::pushShadowRoot): + * testing/Internals.cpp: + (WebCore::Internals::setMultipleShadowSubtreesEnabled): + (WebCore): + * testing/Internals.h: + (Internals): + * testing/Internals.idl: + +2012-02-16 Mark Hahnenberg <mhahnenberg@apple.com> + + Fix the broken viewport tests + https://bugs.webkit.org/show_bug.cgi?id=78774 + + Reviewed by Kenneth Rohde Christiansen. + + No new tests. + + * dom/ViewportArguments.cpp: + (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s). + +2012-02-16 Cris Neckar <cdn@chromium.org> + + Very large strings could cause the new quoted string to wrap. + https://bugs.webkit.org/show_bug.cgi?id=78387 + + Reviewed by Eric Seidel. + + * css/CSSParser.cpp: + (WebCore::quoteCSSString): + +2012-02-16 Eric Seidel <eric@webkit.org> + + Add a themeChromiumAndroid.css file for android-specific default styles + https://bugs.webkit.org/show_bug.cgi?id=78547 + + Reviewed by Adam Barth. + + This includes the themeChromiumAndroid.css file from the Chromium-Android port + as well as some addidtional changes they had to html.css. I believe those + changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS. + + * WebCore.gyp/WebCore.gyp: + * css/themeChromiumAndroid.css: Added. + (select[size][multiple]): + (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]): + * rendering/RenderThemeChromiumAndroid.cpp: + (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet): + (WebCore): + * rendering/RenderThemeChromiumAndroid.h: + (RenderThemeChromiumAndroid): + (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering): + (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor): + +2012-02-16 Brady Eidson <beidson@apple.com> + + <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767 + REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages + + Reviewed by Sam Weinig. + + No new tests. (Subtle API change attached to a specific application) + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk + and there are outstanding subresource loads. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk): + (WebCore::Settings::needsIsLoadingInAPISenseQuirk): + (Settings): + +2012-02-16 Kentaro Hara <haraken@chromium.org> + + Remove [ConvertScriptString] from FileReaderSync.idl + https://bugs.webkit.org/show_bug.cgi?id=78335 + + Reviewed by Eric Seidel. + + The spec says that FileReadSync should throw NOT_FOUND_ERR + if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync + + By this fix, we can completely remove [ConvertScriptString] from WebKit. + + Tests: fast/files/workers/worker-read-blob-sync.html + fast/files/workers/worker-read-file-sync.html + + * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid. + (WebCore::FileReaderSync::readAsArrayBuffer): + (WebCore::FileReaderSync::readAsBinaryString): + (WebCore::FileReaderSync::readAsText): + (WebCore::FileReaderSync::readAsDataURL): + * fileapi/FileReaderSync.idl: + + * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString] + since no one is using it. + (NativeToJSValue): + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + (NativeToJSValue): + + * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString]. + + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results. + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore): + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore): + + +2012-02-16 Dana Jansens <danakj@chromium.org> + + [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking + https://bugs.webkit.org/show_bug.cgi?id=78775 + + Reviewed by Stephen White. + + The clip was being applied in device coordinates, before transforming the painted + rect into device coordinates. This made any translations get doubly represented, + and gave incorrect paint tracking results. + + Test: compositing/culling/unscrolled-within-boxshadow.html + + Unit test: PlatformContextSkiaTest.cpp + + * platform/graphics/skia/OpaqueRegionSkia.cpp: + (WebCore::OpaqueRegionSkia::didDraw): + +2012-02-16 Abhishek Arya <inferno@chromium.org> + + Crash with tables in multi-column layout. + https://bugs.webkit.org/show_bug.cgi?id=78415 + + Reviewed by Julien Chaffraix. + + Multi-column code creates anonymous column blocks directly + under RenderTable, thereby violating table layout assumption. + E.g. Captions in this testcase gets reparented to these anonymous + column blocks and when they go away, they are not able to clear + themselves from table's m_captions list (since RenderTable::removeChild + is not called). + + Test: fast/multicol/span/table-multi-column-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::containingColumnsBlock): + +2012-02-16 ChangSeok Oh <shivamidow@gmail.com> + + [GTK] File system api build is broken + https://bugs.webkit.org/show_bug.cgi?id=78479 + + Reviewed by Philippe Normand. + + This patch is a small step to support FileSystem API for GTK port. + As I know, bug58443 also dealt with it, but it looks like the submitted patch + needs to be updated. To do that, I think I need to discuss with the original author. + So, I hope to just fix build break issue in this bug. + + No new tests. Implementing the feature is not done yet. + + * GNUmakefile.list.am: Added some missing files. + * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API. + * platform/AsyncFileSystem.cpp: + (WebCore): + (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h. + * platform/gtk/AsyncFileSystemGtk.cpp: Added. + (WebCore): + (WebCore::AsyncFileSystem::isAvailable): + (WebCore::AsyncFileSystem::isValidType): + (WebCore::AsyncFileSystem::create): + (WebCore::AsyncFileSystem::openFileSystem): + (WebCore::AsyncFileSystem::crackFileSystemURL): + (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk): + (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk): + (WebCore::AsyncFileSystemGtk::toURL): + (WebCore::AsyncFileSystemGtk::move): + (WebCore::AsyncFileSystemGtk::copy): + (WebCore::AsyncFileSystemGtk::remove): + (WebCore::AsyncFileSystemGtk::removeRecursively): + (WebCore::AsyncFileSystemGtk::readMetadata): + (WebCore::AsyncFileSystemGtk::createFile): + (WebCore::AsyncFileSystemGtk::createDirectory): + (WebCore::AsyncFileSystemGtk::fileExists): + (WebCore::AsyncFileSystemGtk::directoryExists): + (WebCore::AsyncFileSystemGtk::readDirectory): + (WebCore::AsyncFileSystemGtk::createWriter): + * platform/gtk/AsyncFileSystemGtk.h: Added. + (WebCore): + (AsyncFileSystemGtk): + +2012-02-16 Adrienne Walker <enne@google.com> + + Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll + https://bugs.webkit.org/show_bug.cgi?id=78286 + + Reviewed by Julien Chaffraix. + + This is an unfortunate bandaid over a corner case where sometimes the + visible descendant status dirty flag is true when this function is + called from FrameView::repaintFixedElementsAfterScrolling. As it + should be cheap to refresh this flag when dirty in most cases (as it + early outs after finding any visible descendant), just lazily update + the dirty flag here to ensure correctness. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositionsAfterScroll): + +2012-02-16 Adam Barth <abarth@webkit.org> + + Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed + https://bugs.webkit.org/show_bug.cgi?id=78844 + + Reviewed by Eric Seidel. + + These function serve no useful purpose and should be removed. + + * page/Chrome.cpp: + (WebCore): + * page/Chrome.h: + (Chrome): + * page/Geolocation.cpp: + (WebCore::Geolocation::reset): + (WebCore::Geolocation::requestPermission): + +2012-02-16 Sergio Villar Senin <svillar@igalia.com> + + [soup] Move important SoupSession feature initialization to WebCore + https://bugs.webkit.org/show_bug.cgi?id=68602 + + Reviewed by Martin Robinson. + + Moved content sniffer and decoder initialization from WebKit to + WebCore because network stuff will not work as expected without + them. Added also out-of-the-box proxy support to WebCore. + + No new tests required as we're just moving stuff from WebKit to + WebCore. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::defaultSession): + +2012-02-16 Julien Chaffraix <jchaffraix@webkit.org> + + thead in table without tbody causes table height doubling + https://bugs.webkit.org/show_bug.cgi?id=37244 + + Reviewed by Ojan Vafai. + + Tests: fast/table/double-height-table-no-tbody-expected.html + fast/table/double-height-table-no-tbody.html + + The bug is caused by the layout code would wrongly assuming that a + table without a <tbody> is an empty table. We would set the logical + height to the style's logical height wrongly before inflating the + logical height to account for the section(s). This would cause us + to increase past our needed size thus the bug. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + A table is empty if it does not have any top section, not just a <tbody>. + The test uncovered an issue with height distribution in layoutRows where we + would distribute the extra height to the first <tbody> not section. + +2012-02-07 Robert Hogan <robert@webkit.org> + + CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail + https://bugs.webkit.org/show_bug.cgi?id=78027 + + Reviewed by Julien Chaffraix. + + Both of these test the (slightly implicit) rule that width set on column-groups cannot + affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout + FF, Opera and IE all pass these two tests. + + Tests: css2.1/20110323/fixed-table-layout-013.htm + css2.1/20110323/fixed-table-layout-015.htm + + * rendering/FixedTableLayout.cpp: + (WebCore::nextCol): A helper function for finding the next column along. + (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups. + * rendering/RenderTableCol.h: + (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups. + +2012-02-16 Philippe Normand <pnormand@igalia.com> + + Unreviewed, rolling out r107941. + http://trac.webkit.org/changeset/107941 + https://bugs.webkit.org/show_bug.cgi?id=68602 + + Broke 23 http tests on GTK + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::defaultSession): + +2012-02-16 Tom Sepez <tsepez@chromium.org> + + XSS Auditor bypass with U+2028/2029 + https://bugs.webkit.org/show_bug.cgi?id=78732 + + Reviewed by Adam Barth. + + Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html + + * html/parser/XSSAuditor.cpp: + (WebCore::isJSNewline): + (WebCore::XSSAuditor::snippetForJavaScript): + +2012-02-15 Mark Rowe <mrowe@apple.com> + + NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC + <http://webkit.org/b/78766> / <rdar://problem/10729283> + + Reviewed by Anders Carlsson. + + * platform/network/cf/ProxyServerCFNet.cpp: + (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process + the results that we received. + (WebCore::processProxyServers): Processing of array of proxy configuration information + moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled + by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result + callback. Doing this synchronously is not great, but it's the best we can do without a lot + of restructuring of the code that calls this. We arbitrarily time out the execution after five + seconds to avoid permanently hanging. + (WebCore::addProxyServersForURL): Call in to our helper function. + +2012-02-16 Abhishek Arya <inferno@chromium.org> + + Fix clone() function to handle descendant classes of RenderBlock. + https://bugs.webkit.org/show_bug.cgi?id=78273 + + Reviewed by Eric Seidel. + + Test: fast/multicol/span/clone-flexbox-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clone): + +2012-02-16 Raul Hudea <rhudea@adobe.com> + + [CSSRegions]overflowRegion tests are flaky + https://bugs.webkit.org/show_bug.cgi?id=78761 + + Reviewed by Tony Chang. + + The overflowRegion tests were updated. + + * dom/Element.cpp: + (WebCore::Element::webkitRegionOverflow): + +2012-02-16 Raul Hudea <rhudea@adobe.com> + + [CSS Regions] Repaint issues when changing innerHTML of content + https://bugs.webkit.org/show_bug.cgi?id=78787 + + Reviewed by David Hyatt. + + The calculation of the clipping rectangle is based on the repaint rectangle, + so it needs to be clipped to the current region, because it might spread over multiple ones. + + Test: fast/repaint/region-painting-invalidation.html + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::repaintRectangleInRegions): + +2012-02-16 Adam Roben <aroben@apple.com> + + Roll out r107887 + + It broke 32-bit builds due to truncation from "long long" to "int". + + Original bug is <http://webkit.org/b/76571> Add FractionalLayoutPoint/Size/Rect for + sub-pixel layout + + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/FractionalLayoutUnit.h: + (WebCore::FractionalLayoutUnit::isInBounds): + (WebCore::operator==): + (WebCore::operator*): + * platform/graphics/FloatPoint.cpp: + * platform/graphics/FloatPoint.h: + (WebCore): + (FloatPoint): + (WebCore::FloatPoint::move): + (WebCore::FloatPoint::moveBy): + * platform/graphics/FloatRect.cpp: + * platform/graphics/FloatRect.h: + (WebCore): + * platform/graphics/FloatSize.cpp: + * platform/graphics/FloatSize.h: + (WebCore): + * platform/graphics/FractionalLayoutPoint.h: Removed. + * platform/graphics/FractionalLayoutRect.cpp: Removed. + * platform/graphics/FractionalLayoutRect.h: Removed. + * platform/graphics/FractionalLayoutSize.cpp: Removed. + * platform/graphics/FractionalLayoutSize.h: Removed. + * platform/graphics/IntRect.cpp: + * platform/graphics/IntRect.h: + (WebCore): + (IntRect): + +2012-02-16 Pavel Feldman <pfeldman@google.com> + + Web Inspector: cache settings values + https://bugs.webkit.org/show_bug.cgi?id=78815 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/Settings.js: + (WebInspector.Setting.prototype.get if): + (WebInspector.Setting.prototype): + (WebInspector.Setting.prototype.): + (WebInspector.Setting.prototype.set this): + +2012-02-16 Terry Anderson <tdanderson@chromium.org> + + WebKit does not support DOM 3 Events FocusEvent + https://bugs.webkit.org/show_bug.cgi?id=76216 + + Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute. Moved + the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent. Now when + focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget + attribute set accordingly. No other logic changes have been made besides adding the + FocusEvent class. + + Reviewed by Eric Seidel. + + Test: fast/events/related-target-focusevent.html + + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * dom/DOMAllInOne.cpp: + - Included mention of FocusEvent / JSFocusEvent in the above files to + allow the patch to build on the different platforms + * dom/EventDispatchMediator.cpp: + * dom/EventDispatchMediator.h: + * dom/EventFactory.in: + * dom/FocusEvent.cpp: Added. + (WebCore): + (WebCore::FocusEvent::FocusEvent): + (WebCore::FocusEvent::~FocusEvent): + (WebCore::FocusEvent::initFocusEvent): + (WebCore::FocusEvent::interfaceName): + (WebCore::FocusInEventDispatchMediator::create): + (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator): + (WebCore::FocusInEventDispatchMediator::dispatchEvent): + (WebCore::FocusInEventDispatchMediator::event): + (WebCore::FocusOutEventDispatchMediator::create): + (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator): + (WebCore::FocusOutEventDispatchMediator::dispatchEvent): + (WebCore::FocusOutEventDispatchMediator::event): + (WebCore::FocusEventDispatchMediator::create): + (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator): + (WebCore::FocusEventDispatchMediator::dispatchEvent): + (WebCore::BlurEventDispatchMediator::create): + (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator): + (WebCore::BlurEventDispatchMediator::dispatchEvent): + * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h. + (WebCore): + (FocusEvent): + (WebCore::FocusEvent::create): + (WebCore::FocusEvent::relatedTarget): + (WebCore::FocusEvent::setRelatedTarget): + (FocusInEventDispatchMediator): + (FocusOutEventDispatchMediator): + (FocusEventDispatchMediator): + (BlurEventDispatchMediator): + * dom/FocusEvent.idl: Added. + * dom/Node.cpp: + (WebCore::Node::dispatchFocusInEvent): + (WebCore::Node::dispatchFocusOutEvent): + * dom/UIEvent.cpp: + * dom/UIEvent.h: + * page/DOMWindow.idl: + +2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Texmap] Improve the way we deal with BGRA extension + https://bugs.webkit.org/show_bug.cgi?id=78822 + + Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available. + Pass the pixel-format of the images when updating TextureMapperTiledBackingStore. + + Reviewed by Kenneth Rohde Christiansen. + + No new behavior. + + * platform/graphics/opengl/TextureMapperGL.cpp: + (WebCore): + (WebCore::hasExtension): + (WebCore::hasBgraExtension): + (WebCore::BitmapTextureGL::updateContents): + * platform/graphics/texmap/TextureMapperBackingStore.cpp: + (WebCore::TextureMapperTile::updateContents): + (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded): + (WebCore::TextureMapperTiledBackingStore::updateContents): + * platform/graphics/texmap/TextureMapperBackingStore.h: + (TextureMapperTile): + (TextureMapperTiledBackingStore): + (WebCore::TextureMapperTiledBackingStore::updateContents): + * platform/graphics/texmap/TextureMapperLayer.cpp: + (WebCore::TextureMapperLayer::updateBackingStore): + +2012-02-16 Simon Hausmann <simon.hausmann@nokia.com> + + [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory + https://bugs.webkit.org/show_bug.cgi?id=78800 + + Reviewed by Kenneth Rohde Christiansen. + + The file is not specific to Cairo and used in other ports. Move it into + common space. + + * GNUmakefile.list.am: + * PlatformEfl.cmake: + * Target.pri: + * platform/graphics/OpenGLShims.cpp: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.cpp. + (WebCore): + (WebCore::openGLFunctionTable): + (WebCore::getProcAddress): + (WebCore::lookupOpenGLFunctionAddress): + (WebCore::initializeOpenGLShims): + * platform/graphics/OpenGLShims.h: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.h. + (WebCore): + (_OpenGLFunctionTable): + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + * platform/graphics/opengl/TextureMapperGL.cpp: + * platform/graphics/qt/Extensions3DQt.cpp: + * platform/graphics/qt/GraphicsContext3DQt.cpp: + +2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Qt][WK2] Allow opaque tiles + https://bugs.webkit.org/show_bug.cgi?id=78809 + + Add a supportsAlpha property to TiledBackingStore. + We invalidate all the tiles if that property changes, because the buffers need to be + recreated in a different format. + + Reviewed by Kenneth Rohde Christiansen. + + No behavior changes. + + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::TiledBackingStore): + (WebCore::TiledBackingStore::setSupportsAlpha): + (WebCore): + * platform/graphics/TiledBackingStore.h: + (TiledBackingStore): + (WebCore::TiledBackingStore::supportsAlpha): + +2012-02-16 Sergio Villar Senin <svillar@igalia.com> + + [soup] Move important SoupSession feature initialization to WebCore + https://bugs.webkit.org/show_bug.cgi?id=68602 + + Reviewed by Martin Robinson. + + Moved content sniffer and decoder initialization from WebKit to + WebCore because network stuff will not work as expected without + them. Added also out-of-the-box proxy support to WebCore. + + No new tests required as we're just moving stuff from WebKit to + WebCore. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::defaultSession): + +2012-02-16 Pavel Feldman <pfeldman@google.com> + + Web Inspector: remove free flow DOM editing experiment. + https://bugs.webkit.org/show_bug.cgi?id=78813 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype._markRevision): + +2012-02-16 Patrick Gansterer <paroga@webkit.org> + + WinCE build fix after r107453. + + * platform/FractionalLayoutUnit.h: + (WebCore::FractionalLayoutUnit::isInBounds): Use fabs() instead of abs(). + +2012-02-15 Pavel Feldman <pfeldman@google.com> + + Web Inspector: explicitly mark undoable state from the front-end. + https://bugs.webkit.org/show_bug.cgi?id=78716 + + Reviewed by Vsevolod Vlasov. + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::toggleProperty): + (WebCore::InspectorCSSAgent::setRuleSelector): + (WebCore::InspectorCSSAgent::addRule): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::setAttributeValue): + (WebCore::InspectorDOMAgent::setAttributesAsText): + (WebCore::InspectorDOMAgent::removeAttribute): + (WebCore::InspectorDOMAgent::removeNode): + (WebCore::InspectorDOMAgent::setNodeName): + (WebCore::InspectorDOMAgent::setOuterHTML): + (WebCore::InspectorDOMAgent::setNodeValue): + (WebCore::InspectorDOMAgent::moveTo): + * inspector/InspectorHistory.cpp: + (WebCore::InspectorHistory::redo): + * inspector/InspectorHistory.h: + (InspectorHistory): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + (WebInspector.CSSStyleModel.prototype.addRule.callback): + (WebInspector.CSSStyleModel.prototype.addRule): + (WebInspector.CSSStyleModel.prototype.setStyleSheetText): + (WebInspector.CSSProperty.prototype.setText.callback): + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setDisabled.callback): + (WebInspector.CSSProperty.prototype.setDisabled): + (WebInspector.CSSStyleSheet.prototype.setText): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype._markRevision): + (WebInspector.DOMAgent.prototype.get markUndoableState): + +2012-02-15 Pavel Feldman <pfeldman@google.com> + + Web Inspector: revert 'modification of DOM upon single click for selected nodes'. + https://bugs.webkit.org/show_bug.cgi?id=78717 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype.onattach): + +2012-02-16 Pavel Feldman <pfeldman@google.com> + + Web Inspector: move style disable checkboxes to the left + https://bugs.webkit.org/show_bug.cgi?id=78780 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection): + (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick): + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/elementsPanel.css: + (.styles-section.matched-styles .properties): + (.styles-section.matched-styles .properties li): + (.styles-section .properties li.parent::before): + (.styles-section .properties li.parent.expanded::before): + (.styles-section.matched-styles .properties li.parent .expand-element): + (.styles-section.matched-styles .properties li.parent.expanded .expand-element): + (.styles-section.computed-style .properties li.parent::before): + (.styles-section.computed-style .properties li.parent.expanded::before): + (.styles-section.matched-styles:not(.read-only):hover .properties .enabled-button): + (.styles-section.matched-styles:not(.read-only) .properties li.disabled .enabled-button): + (.styles-section .properties .enabled-button): + (.styles-section.matched-styles .properties ol.expanded): + * inspector/front-end/treeoutline.js: + (TreeElement.treeElementDoubleClicked): + +2012-02-16 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: show memory counter graphics when switching to memory view + https://bugs.webkit.org/show_bug.cgi?id=78808 + + Switching to memory view in timeline will display memory counters. Counter + graphics know show fair data without approximations between sampling points. + + Reviewed by Pavel Feldman. + + * English.lproj/localizedStrings.js: + * inspector/front-end/MemoryStatistics.js: + (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes): + (WebInspector.MemoryStatistics.prototype._calculateXValues): + (WebInspector.MemoryStatistics.prototype._drawPolyline): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype.get statusBarItems): + (WebInspector.TimelinePanel.prototype._createStatusbarButtons): + (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected): + (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected): + +2012-02-16 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: [heap snapshot] It could be useful to have access to the selected heap object from the console. + https://bugs.webkit.org/show_bug.cgi?id=78496 + + Reviewed by Yury Semikhatsky. + + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::inspectedObject): + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::V8InjectedScriptHost::inspectedObjectCallback): + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::InjectedScriptHost): + (WebCore::InjectedScriptHost::InspectableObject::get): + (WebCore): + (WebCore::InjectedScriptHost::addInspectedObject): + (WebCore::InjectedScriptHost::clearInspectedObjects): + (WebCore::InjectedScriptHost::inspectedObject): + * inspector/InjectedScriptHost.h: + (InspectableObject): + (WebCore::InjectedScriptHost::InspectableObject::~InspectableObject): + (InjectedScriptHost): + * inspector/InjectedScriptHost.idl: + * inspector/InjectedScriptSource.js: + (.): + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::domContentLoadedEventFired): + * inspector/InspectorConsoleAgent.cpp: + (InspectableHeapObject): + (WebCore::InspectableHeapObject::InspectableHeapObject): + (WebCore::InspectableHeapObject::get): + (WebCore): + (WebCore::InspectorConsoleAgent::addInspectedHeapObject): + * inspector/InspectorConsoleAgent.h: + (InspectorConsoleAgent): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + * inspector/PageConsoleAgent.cpp: + (InspectableNode): + (WebCore::InspectableNode::InspectableNode): + (WebCore::InspectableNode::get): + (WebCore): + (WebCore::PageConsoleAgent::addInspectedNode): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.DetailedHeapshotView.prototype._selectionChanged): + (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged): + +2012-02-16 Kihong Kwon <kihong.kwon@samsung.com> + + Add support for unsigned long[] to idl bindings to JSC. + https://bugs.webkit.org/show_bug.cgi?id=78210 + + Reviewed by Kentaro Hara. + + Add support for unsigned long[] parameter type in idl. + This patch adds support just for unsigned long[] parameter type. + (support for other types of array should be done in another patch.) + + tests added to TestObj.idl. + + * bindings/js/JSDOMBinding.h: + (WebCore::jsUnsignedLongArrayToVector): + * bindings/scripts/CodeGeneratorJS.pm: + (AddIncludesForType): + (JSValueToNative): + (NativeToJSValue): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore): + * bindings/scripts/test/TestObj.idl: + +2012-02-16 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [InspectorIndexedDB] Add IndexedDB TreeElement to resources panel. + https://bugs.webkit.org/show_bug.cgi?id=78609 + + Reviewed by Yury Semikhatsky. + + Added IndexedDB tree element to resources panel (behind experimental setting). + Test is currently disabled, since we don't run tests with experiments enabled. + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * inspector/front-end/Images/indexedDB.png: Added. + * inspector/front-end/Images/indexedDBIndex.png: Added. + * inspector/front-end/Images/indexedDBObjectStore.png: Added. + * inspector/front-end/IndexedDBModel.js: + (WebInspector.IndexedDBModel): + (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames): + (WebInspector.IndexedDBModel.prototype.refreshDatabase): + (WebInspector.IndexedDBModel.prototype._reset): + (WebInspector.IndexedDBModel.prototype._originAddedToFrame): + (WebInspector.IndexedDBModel.prototype._originRemoved): + (WebInspector.IndexedDBModel.prototype._databaseAdded): + (WebInspector.IndexedDBModel.prototype._databaseRemoved): + (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame): + (WebInspector.IndexedDBModel.prototype._loadDatabase.callback): + (WebInspector.IndexedDBModel.prototype._loadDatabase): + (WebInspector.IndexedDBModel.Frame): + (WebInspector.IndexedDBModel.DatabaseId): + (WebInspector.IndexedDBModel.DatabaseId.prototype.equals): + (WebInspector.IndexedDBModel.Database): + (WebInspector.IndexedDBModel.Index): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.IndexedDBTreeElement): + (WebInspector.IndexedDBTreeElement.prototype.onexpand): + (WebInspector.IndexedDBTreeElement.prototype._createIndexedDBModel): + (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB): + (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded): + (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved): + (WebInspector.IndexedDBTreeElement.prototype._indexedDBLoaded): + (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement): + (WebInspector.IDBDatabaseTreeElement): + (WebInspector.IDBDatabaseTreeElement.prototype.update): + (WebInspector.IDBDatabaseTreeElement.prototype.onselect): + (WebInspector.IDBObjectStoreTreeElement): + (WebInspector.IDBObjectStoreTreeElement.prototype.update): + (WebInspector.IDBIndexTreeElement): + (WebInspector.IDBIndexTreeElement.prototype.update): + * inspector/front-end/Settings.js: + (WebInspector.ExperimentsSettings): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/resourcesPanel.css: + (.indexed-db-storage-tree-item .icon): + (.indexed-db-object-store-storage-tree-item .icon): + (.indexed-db-index-storage-tree-item .icon): + +2012-02-15 Nikolas Zimmermann <nzimmermann@rim.com> + + REGRESSION (Safari 5.0.5 - 5.1): No animation on svg-wow.org/text-effects/text-effects.xhtml + https://bugs.webkit.org/show_bug.cgi?id=65072 + + Reviewed by Zoltan Herczeg. + + Fix EMS/EXS length resolving, when the target context has no renderer, eg. + <text display="none" dy="1em">ABC</text>, myText.dy.baseVal.getItem(0).value() + currently throws, even if <text> has a parent, we could use to resolve the length. + + Always fall-back to parent context, to resolve EMS/EXS units, instead of ignoring it. + The current behaviour stays the same, if the target element is not in the document, + then we really can't resolve lengths like this. + + Tests: svg/text/ems-display-none.svg + svg/text/exs-display-none.svg + + * svg/SVGLengthContext.cpp: + (WebCore::renderStyleForLengthResolving): + (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS): + (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits): + (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS): + (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits): + +2012-02-16 Simon Hausmann <simon.hausmann@nokia.com> + + Build fix for Qt 5 without QtWidgets. + + Reviewed by Tor Arne Vestbø. + + The reason why QGLContext is included in Extensions3DQt.cpp is to + achieve an implicit gl.h inclusion (needed for GL_FALSE). This patch + replaces the inclusion with the OpenGLShims.h inclusions, which has + the necessary #ifdefs in place to pull in gl.h with Qt 5 without QtWidgets. + + * platform/graphics/qt/Extensions3DQt.cpp: + +2012-02-16 Shawn Singh <shawnsingh@chromium.org> + + [chromium] Refactor CCLayerTreeHostCommon: create helper function for complex boolean condition + https://bugs.webkit.org/show_bug.cgi?id=78539 + + Reviewed by James Robinson. + + This change should introduce no change in behavior, and its + expected behavior is already covered by existing tests. + + In calculateDrawTransformsAndVisibility, there is a complex + boolean condition that indicates whether we should create a + RenderSurface or not. This patch pulls out that boolean logic, + and wraps it in a helper function for much better readability. + + * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: + (WebCore::layerShouldBeSkipped): + (WebCore): + (WebCore::subtreeShouldRenderToSeparateSurface): + (WebCore::calculateDrawTransformsAndVisibilityInternal): + +2012-02-16 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: [refactoring] move timeline overview sidebar creation to TimelineOverviewPane + https://bugs.webkit.org/show_bug.cgi?id=78782 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewPane): + (WebInspector.TimelineOverviewPane.prototype.showTimelines): + (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph): + (WebInspector.TimelineOverviewPane.prototype.sidebarResized): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype.sidebarResized): + +2012-02-15 Andreas Kling <awesomekling@apple.com> + + Share font-family CSS values through CSSValuePool. + <http://webkit.org/b/78604> + + Reviewed by Darin Adler. + + Cache and share FontFamilyValue instances in the per-document CSSValuePool. + This reduces memory consumption by 248 kB on the Moz page cycler (64-bit) + and avoids a bunch of extra work. + + This is a regression from the recent attribute style refactoring; previously + the mapped attribute declaration table would ensure that multiple 'font' + elements with the same 'face' value would share the same FontFamilyValue. + + We're not yet sharing the entire CSSValueList returned by parseFontFamily() + but this is a step on the way there. + + * css/FontFamilyValue.cpp: + * css/FontFamilyValue.h: + + Removed appendSpaceSeparated(), making FontFamilyValue immutable. + + * css/CSSParser.cpp: + (FontFamilyValueBuilder): + (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder): + (WebCore::FontFamilyValueBuilder::add): + (WebCore::FontFamilyValueBuilder::commit): + (WebCore::CSSParser::parseFontFamily): + + Refactor parseFontFamily() to defer creation of FontFamilyValue until + the whole family name is known. Added a little helper class to avoid + code duplication. + + * css/CSSValuePool.h: + * css/CSSValuePool.cpp: + (WebCore::CSSValuePool::createFontFamilyValue): + + Added a FontFamilyValue cache to CSSValuePool. All values are tied to + the lifetime of the pool. + +2012-02-16 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Move event conversion functions from WebCore to WebKit + https://bugs.webkit.org/show_bug.cgi?id=78788 + + Reviewed by Kenneth Rohde Christiansen. + + Move QtWidgets dependent mouse event constructors out of WebCore + into WebKit, similar to the web event conversions of WebKit2. + + * Target.pri: + * platform/PlatformMouseEvent.h: + (PlatformMouseEvent): + * platform/PlatformWheelEvent.h: + (PlatformWheelEvent): + +2012-02-16 Simon Hausmann <simon.hausmann@nokia.com> + + Unreviewed prospective Qt 4.8/Mac build fix. + + Cast the PlatformWidget from QObject* to QWidget* to gain access + to QWidget methods. + + * plugins/mac/PluginViewMac.mm: + (WebCore::nativeWindowFor): + (WebCore::cgHandleFor): + (WebCore::topLevelOffsetFor): + (WebCore::PluginView::setFocus): + (WebCore::PluginView::invalidateRect): + +2012-02-16 Roland Steiner <rolandsteiner@chromium.org> + + <style scoped>: Implement scoped selector matching in the slow path + https://bugs.webkit.org/show_bug.cgi?id=77528 + + Added scope information to SelectorCheckingContext, SelectorChecker methods and CSSStyleSelector methods. + Added matchOptions struct to CSSStyleSelector similar to SelectorCheckingContext in SelectorChecker. + Adapted the calling sites. + + Reviewed by Antti Koivisto. + + No new tests. (extended existing tests) + + * css/CSSStyleSelector.cpp: + (RuleData): + (RuleSet): + (WebCore::CSSStyleSelector::determineScopingElement): + (WebCore::CSSStyleSelector::collectMatchingRules): + (WebCore::CSSStyleSelector::collectMatchingRulesForRegion): + (WebCore::CSSStyleSelector::matchScopedAuthorRules): + (WebCore::CSSStyleSelector::matchAuthorRules): + (WebCore::CSSStyleSelector::collectMatchingRulesForList): + * css/CSSStyleSelector.h: + (CSSStyleSelector): + (MatchOptions): + (WebCore::CSSStyleSelector::MatchOptions::MatchOptions): + * css/SelectorChecker.cpp: + (WebCore::SelectorChecker::checkSelector): + * css/SelectorChecker.h: + (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): + (SelectorCheckingContext): + (SelectorChecker): + +2012-02-15 Patrick Gansterer <paroga@webkit.org> + + Windows build fix for !ENABLE(CSS_FILTERS) after r106593. + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + +2012-02-15 Antti Koivisto <antti@apple.com> + + Move the context invalidation code out from StylePropertySet + https://bugs.webkit.org/show_bug.cgi?id=78589 + + Reviewed by Ryosuke Niwa. + + StylePropertySet should be independent of its context so that they can in the future + be shared between documents. The context invalidation code should move to the CSSOM wrapper. + + Parent rule and parent element pointers move to the CSSOM wrapper classes. + + The wrapper is responsible of invalidating the element or document style on mutation. + In case of internal mutation of style attribute, StyledElement takes care of the + invalidation. + + The StylePropertySet will still have a pointer to the context stylesheet so the patch + doesn't actually reduce memory usage. That pointer will be factored out later. + + * css/CSSFontFaceRule.cpp: + (WebCore::CSSFontFaceRule::~CSSFontFaceRule): + * css/CSSFontFaceRule.h: + (WebCore::CSSFontFaceRule::style): + * css/CSSPageRule.cpp: + (WebCore::CSSPageRule::~CSSPageRule): + * css/CSSPageRule.h: + (WebCore::CSSPageRule::style): + (WebCore::CSSPageRule::setDeclaration): + * css/CSSParser.cpp: + (WebCore::CSSParser::createStyleRule): + (WebCore::CSSParser::createFontFaceRule): + (WebCore::CSSParser::createPageRule): + (WebCore::CSSParser::createKeyframeRule): + * css/CSSStyleRule.cpp: + (WebCore::CSSStyleRule::~CSSStyleRule): + * css/CSSStyleRule.h: + (WebCore::CSSStyleRule::style): + (WebCore::CSSStyleRule::setDeclaration): + * css/StylePropertySet.cpp: + (PropertySetCSSStyleDeclaration): + (WebCore::PropertySetCSSStyleDeclaration::parentElement): + (WebCore::PropertySetCSSStyleDeclaration::clearParentRule): + (WebCore::PropertySetCSSStyleDeclaration::clearParentElement): + (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc): + (RuleCSSStyleDeclaration): + (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration): + (WebCore::RuleCSSStyleDeclaration::parentRule): + (WebCore::RuleCSSStyleDeclaration::clearParentRule): + (WebCore): + (InlineCSSStyleDeclaration): + (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration): + (WebCore::InlineCSSStyleDeclaration::parentElement): + (WebCore::InlineCSSStyleDeclaration::clearParentElement): + (WebCore::StylePropertySet::StylePropertySet): + (WebCore::StylePropertySet::removeShorthandProperty): + (WebCore::StylePropertySet::removeProperty): + (WebCore::StylePropertySet::setProperty): + (WebCore::StylePropertySet::parseDeclaration): + (WebCore::StylePropertySet::addParsedProperties): + (WebCore::StylePropertySet::addParsedProperty): + (WebCore::StylePropertySet::merge): + (WebCore::StylePropertySet::removePropertiesInSet): + (WebCore::StylePropertySet::copy): + (WebCore::StylePropertySet::ensureCSSStyleDeclaration): + (WebCore::StylePropertySet::ensureRuleCSSStyleDeclaration): + (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration): + (WebCore::StylePropertySet::clearParentRule): + (WebCore::StylePropertySet::clearParentElement): + (WebCore::PropertySetCSSStyleDeclaration::setCssText): + (WebCore::PropertySetCSSStyleDeclaration::setProperty): + (WebCore::PropertySetCSSStyleDeclaration::removeProperty): + (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal): + (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc): + (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc): + * css/StylePropertySet.h: + (WebCore::StylePropertySet::create): + (StylePropertySet): + (WebCore::StylePropertySet::useStrictParsing): + (WebCore::StylePropertySet::contextStyleSheet): + (WebCore::StylePropertySet::setContextStyleSheet): + * css/WebKitCSSKeyframeRule.cpp: + (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule): + (WebCore::WebKitCSSKeyframeRule::setDeclaration): + * css/WebKitCSSKeyframeRule.h: + (WebCore::WebKitCSSKeyframeRule::style): + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::ensureInlineStyleDecl): + (WebCore::ElementAttributeData::destroyInlineStyleDecl): + * dom/ElementAttributeData.h: + (ElementAttributeData): + * dom/StyledElement.cpp: + (WebCore::StyledElement::insertedIntoDocument): + (WebCore): + (WebCore::StyledElement::removedFromDocument): + (WebCore::StyledElement::parseAttribute): + (WebCore::StyledElement::inlineStyleChanged): + (WebCore::StyledElement::setInlineStyleProperty): + (WebCore::StyledElement::removeInlineStyleProperty): + (WebCore::StyledElement::updateAttributeStyle): + * dom/StyledElement.h: + (StyledElement): + (WebCore::StyledElement::destroyInlineStyleDecl): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + * editing/DeleteButtonController.cpp: + (WebCore::DeleteButtonController::createDeletionUI): + (WebCore::DeleteButtonController::show): + (WebCore::DeleteButtonController::hide): + * editing/Editor.cpp: + (WebCore::Editor::applyEditingStyleToElement): + * editing/RemoveCSSPropertyCommand.cpp: + (WebCore::RemoveCSSPropertyCommand::doApply): + (WebCore::RemoveCSSPropertyCommand::doUnapply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): + * html/ColorInputType.cpp: + (WebCore::ColorInputType::updateColorSwatch): + * html/HTMLTextFormControlElement.cpp: + (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility): + * html/ImageDocument.cpp: + (WebCore::ImageDocument::resizeImageToFit): + (WebCore::ImageDocument::restoreImageSize): + (WebCore::ImageDocument::windowSizeChanged): + * html/ValidationMessage.cpp: + (WebCore::adjustBubblePosition): + (WebCore::ValidationMessage::buildBubbleTree): + * html/shadow/MediaControlElements.cpp: + (WebCore::MediaControlElement::show): + (WebCore::MediaControlElement::hide): + (WebCore::MediaControlPanelElement::setPosition): + (WebCore::MediaControlPanelElement::resetPosition): + (WebCore::MediaControlPanelElement::makeOpaque): + (WebCore::MediaControlPanelElement::makeTransparent): + (WebCore::MediaControlInputElement::show): + (WebCore::MediaControlInputElement::hide): + (WebCore::MediaControlTextTrackContainerElement::updateSizes): + * html/shadow/MeterShadowElement.cpp: + (WebCore::MeterValueElement::setWidthPercentage): + * html/shadow/ProgressShadowElement.cpp: + (WebCore::ProgressValueElement::setWidthPercentage): + * html/shadow/SliderThumbElement.cpp: + (WebCore::TrackLimiterElement::create): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::resize): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::styleDidChange): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::SVGFontFaceElement): + (WebCore::SVGFontFaceElement::insertedIntoDocument): + (WebCore::SVGFontFaceElement::removeFromMappedElementSheet): + +2012-02-15 Daniel Cheng <dcheng@chromium.org> + + dataTransfer.types (HTML5 drag & drop) should return DOMStringList + https://bugs.webkit.org/show_bug.cgi?id=30416 + + Reviewed by Eric Seidel. + + This change breaks backwards compatibility; however, since Firefox only supported + event.dataTransfer.types.contains, sites already needed to check whether to use contains or + indexOf. Therefore, the net compatibility effect of this change should be minimal. + + Test: fast/events/drag-dataTransfer-live-attributes.html + + * bindings/js/JSClipboardCustom.cpp: + (WebCore): + * bindings/v8/custom/V8ClipboardCustom.cpp: + * dom/Clipboard.cpp: + (WebCore::Clipboard::hasStringOfType): + * dom/Clipboard.h: + (WebCore): + (Clipboard): + * dom/Clipboard.idl: + * platform/blackberry/ClipboardBlackBerry.cpp: + (WebCore::ClipboardBlackBerry::types): + * platform/blackberry/ClipboardBlackBerry.h: + (ClipboardBlackBerry): + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::types): + * platform/chromium/ChromiumDataObject.h: + (ChromiumDataObject): + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::types): + (WebCore::ClipboardChromium::mayUpdateItems): + * platform/chromium/ClipboardChromium.h: + (ClipboardChromium): + * platform/chromium/DragDataChromium.cpp: + (WebCore::containsHTML): + (WebCore::DragData::containsURL): + (WebCore::DragData::asURL): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::canSmartReplace): + (WebCore::DragData::asFragment): + * platform/efl/ClipboardEfl.cpp: + (WebCore::ClipboardEfl::types): + * platform/efl/ClipboardEfl.h: + (ClipboardEfl): + * platform/gtk/ClipboardGtk.cpp: + (WebCore::ClipboardGtk::types): + * platform/gtk/ClipboardGtk.h: + (ClipboardGtk): + * platform/mac/ClipboardMac.h: + (ClipboardMac): + * platform/mac/ClipboardMac.mm: + (WebCore::addHTMLClipboardTypesForCocoaType): + (WebCore::ClipboardMac::types): + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::types): + * platform/qt/ClipboardQt.h: + (ClipboardQt): + * platform/win/ClipboardWin.cpp: + (WebCore::addMimeTypesForFormat): + (WebCore::ClipboardWin::types): + * platform/win/ClipboardWin.h: + (ClipboardWin): + * platform/wx/ClipboardWx.cpp: + (WebCore::ClipboardWx::types): + * platform/wx/ClipboardWx.h: + (ClipboardWx): + +2012-02-15 Bear Travis <betravis@adobe.com> + + Repaint issues on changing 'viewBox' of inner SVG + https://bugs.webkit.org/show_bug.cgi?id=77903 + + Reviewed by Nikolas Zimmermann. + + Do not update the child viewbox/viewport transform to its parent + coordinate system until after layout has stored the old bounds for + repainting purposes. + + Test: svg/repaint/inner-svg-change-viewBox-contract.svg + + * rendering/svg/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): + (WebCore::RenderSVGViewportContainer::calcViewport): + (WebCore): + (WebCore::RenderSVGViewportContainer::calculateLocalTransform): + (WebCore::RenderSVGViewportContainer::localToParentTransform): + * rendering/svg/RenderSVGViewportContainer.h: + (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate): + (RenderSVGViewportContainer): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::svgAttributeChanged): + +2012-02-15 Bear Travis <betravis@adobe.com> + + Repaint issues on changing 'viewBox' of inner SVG + https://bugs.webkit.org/show_bug.cgi?id=77903 + + Reviewed by Nikolas Zimmermann. + + Do not update the child viewbox/viewport transform to its parent + coordinate system until after layout has stored the old bounds for + repainting purposes. + + Test: svg/repaint/inner-svg-change-viewBox-contract.svg + + * rendering/svg/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): + (WebCore::RenderSVGViewportContainer::calcViewport): + (WebCore): + (WebCore::RenderSVGViewportContainer::calculateLocalTransform): + (WebCore::RenderSVGViewportContainer::localToParentTransform): + * rendering/svg/RenderSVGViewportContainer.h: + (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate): + (RenderSVGViewportContainer): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::svgAttributeChanged): + +2012-02-15 Daniel Cheng <dcheng@chromium.org> + + dataTransfer.types (HTML5 drag & drop) should return DOMStringList + https://bugs.webkit.org/show_bug.cgi?id=30416 + + Reviewed by Eric Seidel. + + This change breaks backwards compatibility; however, since Firefox only supported + event.dataTransfer.types.contains, sites already needed to check whether to use contains or + indexOf. Therefore, the net compatibility effect of this change should be minimal. + + Test: fast/events/drag-dataTransfer-live-attributes.html + + * bindings/js/JSClipboardCustom.cpp: + (WebCore): + * bindings/v8/custom/V8ClipboardCustom.cpp: + * dom/Clipboard.cpp: + (WebCore::Clipboard::hasStringOfType): + * dom/Clipboard.h: + (WebCore): + (Clipboard): + * dom/Clipboard.idl: + * platform/blackberry/ClipboardBlackBerry.cpp: + (WebCore::ClipboardBlackBerry::types): + * platform/blackberry/ClipboardBlackBerry.h: + (ClipboardBlackBerry): + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::types): + * platform/chromium/ChromiumDataObject.h: + (ChromiumDataObject): + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::types): + (WebCore::ClipboardChromium::mayUpdateItems): + * platform/chromium/ClipboardChromium.h: + (ClipboardChromium): + * platform/chromium/DragDataChromium.cpp: + (WebCore::containsHTML): + (WebCore::DragData::containsURL): + (WebCore::DragData::asURL): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::canSmartReplace): + (WebCore::DragData::asFragment): + * platform/efl/ClipboardEfl.cpp: + (WebCore::ClipboardEfl::types): + * platform/efl/ClipboardEfl.h: + (ClipboardEfl): + * platform/gtk/ClipboardGtk.cpp: + (WebCore::ClipboardGtk::types): + * platform/gtk/ClipboardGtk.h: + (ClipboardGtk): + * platform/mac/ClipboardMac.h: + (ClipboardMac): + * platform/mac/ClipboardMac.mm: + (WebCore::addHTMLClipboardTypesForCocoaType): + (WebCore::ClipboardMac::types): + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::types): + * platform/qt/ClipboardQt.h: + (ClipboardQt): + * platform/win/ClipboardWin.cpp: + (WebCore::addMimeTypesForFormat): + (WebCore::ClipboardWin::types): + * platform/win/ClipboardWin.h: + (ClipboardWin): + * platform/wx/ClipboardWx.cpp: + (WebCore::ClipboardWx::types): + * platform/wx/ClipboardWx.h: + (ClipboardWx): + +2012-02-15 Bear Travis <betravis@adobe.com> + + Repaint issues on changing 'viewBox' of inner SVG + https://bugs.webkit.org/show_bug.cgi?id=77903 + + Reviewed by Nikolas Zimmermann. + + Do not update the child viewbox/viewport transform to its parent + coordinate system until after layout has stored the old bounds for + repainting purposes. + + Test: svg/repaint/inner-svg-change-viewBox-contract.svg + + * rendering/svg/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): + (WebCore::RenderSVGViewportContainer::calcViewport): + (WebCore): + (WebCore::RenderSVGViewportContainer::calculateLocalTransform): + (WebCore::RenderSVGViewportContainer::localToParentTransform): + * rendering/svg/RenderSVGViewportContainer.h: + (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate): + (RenderSVGViewportContainer): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::svgAttributeChanged): + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Fix unused parameter warnings. + + * platform/graphics/ca/mac/WebTileCacheLayer.mm: + (-[WebTileCacheLayer setContentsScale:]): + +2012-02-15 Emil A Eklund <eae@chromium.org> + + Convert RenderFrameSet to LayoutUnits in preparation for turning on subpixel layout + https://bugs.webkit.org/show_bug.cgi?id=78526 + + Reviewed by Eric Seidel. + + Revert paintColumnBorder and paintRowBorder to IntRect and pixel snap in + paint before calling them. This way the rounding logic is contained in a + single place (in paint). + + No new tests, no new functionality. + + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::paintColumnBorder): + (WebCore::RenderFrameSet::paintRowBorder): + (WebCore::RenderFrameSet::paint): + (WebCore::RenderFrameSet::getCursor): + * rendering/RenderFrameSet.h: + (RenderFrameSet): + +2012-02-15 Emil A Eklund <eae@chromium.org> and Levi Weintraub <leviw@chromium.org> + + Add FractionalLayoutPoint/Size/Rect for sub-pixel layout + https://bugs.webkit.org/show_bug.cgi?id=76571 + + Reviewed by Eric Seidel. + + Add fixed point versions of the Point, Size and Rect classes using + the new FractionalLayoutPoint type and. + + FractionalLayoutPoint, FractionalLayoutSize and FractionalLayoutRect are + Point, Size and Rect implementations respectively using this new type. + + No new tests. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/FractionalLayoutUnit.h: + Fixed a couple of typos and signed/unsigned bugs. + + * platform/graphics/FloatPoint.cpp: + (WebCore::FloatPoint::FloatPoint): + Add explicit FloatPoint(FractionalLayoutPoint) constructor. + + (WebCore::FloatPoint::move): + Add move(FractionalLayoutSize) implementation. + + (WebCore::FloatPoint::moveBy): + Add moveBy(FractionalLayoutPoint) implementation. + + * platform/graphics/FloatPoint.h: + * platform/graphics/FloatRect.cpp: + (WebCore::FloatRect::FloatRect): + Add explicit FloatRectFractionalLayoutRect) constructor. + + * platform/graphics/FloatRect.h: + (WebCore): + (FloatRect): + * platform/graphics/FloatSize.cpp: + (WebCore::FloatSize::FloatSize): + Add explicit FloatSize(FractionalLayoutSize) constructor. + + * platform/graphics/FloatSize.h: + * platform/graphics/FractionalLayoutPoint.h: Added. + * platform/graphics/FractionalLayoutRect.cpp: Added. + * platform/graphics/FractionalLayoutRect.h: Added. + * platform/graphics/FractionalLayoutSize.cpp: Added. + * platform/graphics/FractionalLayoutSize.h: Added. + * platform/graphics/IntRect.cpp: + (WebCore::IntRect::IntRect): + Add explicit IntRect(FractionalLayoutRect) constructor. + + * platform/graphics/IntRect.h: + +2012-02-15 Kentaro Hara <haraken@chromium.org> + + [Mac] PasteboardMac.mm build fails + https://bugs.webkit.org/show_bug.cgi?id=78655 + + Reviewed by Enrica Casucci. + + This patch fixes the code to make a plain text for pasted file names. + The code should return a string of concatenated file names. + + Test: editing/pasteboard/drag-files-to-editable-element.html + + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::plainText): + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Another attempt at fixing the Snow Leopard build. + + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::setContentsScale): + +2012-02-15 Pablo Flouret <pablof@motorola.com> + + Add support for the translate attribute in html elements. + https://bugs.webkit.org/show_bug.cgi?id=78751 + + Reviewed by Adam Barth. + + The translate attribute is used to specify whether an element's + attribute values and the values of its Text node children are to be + translated when the page is localized, or whether to leave them + unchanged. + + Details at http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#attr-translate + + Test: fast/dom/HTMLElement/translate.html + + * html/HTMLAttributeNames.in: + * html/HTMLElement.cpp: + (WebCore::HTMLElement::translateAttributeMode): + (WebCore): + (WebCore::HTMLElement::translate): + (WebCore::HTMLElement::setTranslate): + * html/HTMLElement.h: + (HTMLElement): + * html/HTMLElement.idl: + +2012-02-15 Sami Kyostila <skyostil@google.com> + + Add -webkit-overflow-scrolling CSS property + https://bugs.webkit.org/show_bug.cgi?id=78664 + + Reviewed by Eric Seidel. + + Add a CSS property indicating that an element with overflow scrolling + should follow the platform's behavior for touch scrollable user + interface objects. For instance, this property could enable momentum + scrolling for the element if that is the platform convention. + + The property has two possible values: auto (default) and touch. The + former does not alter overflow scrolling behavior, while the latter + activates touch scrolling. + + As a side effect, enabling touch scrolling also causes an element to + gain a stacking context. This is to allow the implementation to promote + the scrolling contents into a render layer, which can be translated more + efficiently. + + This property was introduced with iOS 5 WebKit. Another implementation + is in Chrome for Android. + + Test: platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::isInheritedProperty): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + * rendering/style/RenderStyle.h: + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::StyleRareInheritedData): + (WebCore::StyleRareInheritedData::operator==): + * rendering/style/StyleRareInheritedData.h: + (StyleRareInheritedData): + +2012-02-15 Levi Weintraub <leviw@chromium.org> + + Add zeroLayoutUnit constant. + https://bugs.webkit.org/show_bug.cgi?id=78747 + + Reviewed by Eric Seidel. + + Converting call sites where LayoutUnits and raw zeros are in ternary operations + and templatized function calls (like std::max and min) to use a new zeroLayoutUnit + constant instead of the raw zero. + + No new tests. No change in behavior. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): + (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow): + (WebCore::InlineFlowBox::paintFillLayer): + (WebCore::InlineFlowBox::paintBoxDecorations): + (WebCore::InlineFlowBox::paintMask): + (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): + * rendering/LayoutTypes.h: + (WebCore): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::MarginInfo::MarginInfo): + (WebCore::RenderBlock::adjustFloatingBlock): + (WebCore::RenderBlock::paintColumnRules): + (WebCore::RenderBlock::nextFloatLogicalBottomBelow): + (WebCore::RenderBlock::getClearDelta): + (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): + (WebCore::getHeightForLineCount): + (WebCore::RenderBlock::adjustForUnsplittableChild): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::paginationStrut): + (WebCore::RenderBlock::pageLogicalOffset): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::LineLayoutState::updateRepaintRangeFromBox): + (WebCore::RenderBlock::addOverflowFromInlineChildren): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionForPoint): + * rendering/RenderBox.h: + (WebCore::RenderBox::minYVisualOverflow): + (WebCore::RenderBox::minXVisualOverflow): + (RenderBox): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::offsetLeft): + (WebCore::RenderBoxModelObject::offsetTop): + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::paintBoxDecorations): + * rendering/RenderFileUploadControl.cpp: + (WebCore::nodeWidth): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::layout): + (WebCore::RenderFlowThread::computeLogicalWidth): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::paintOutlineForLine): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::resize): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::listIndexAtOffset): + (WebCore::RenderListBox::verticalScrollbarWidth): + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::computePosition): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::computePreferredLogicalWidths): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth): + (WebCore::RenderTable::layout): + * rendering/RenderTable.h: + (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): + * rendering/mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::layout): + +2012-02-15 Alexey Proskuryakov <ap@apple.com> + + Crash after trying to use FileReader in a document with null origin string + https://bugs.webkit.org/show_bug.cgi?id=78649 + + Reviewed by Enrica Casucci. + + Test: fast/files/null-origin-string.html + + * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::~FileReaderLoader): + HashMaps don't like empty keys, and they don't like removing keys that have never been added. + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Attempt to fix the Snow Leopard build. + + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::createTileLayer): + * platform/graphics/ca/mac/WebTileCacheLayer.mm: + (-[WebTileCacheLayer setContentsScale:]): + +2012-02-15 Dan Bernstein <mitz@apple.com> + + REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing + https://bugs.webkit.org/show_bug.cgi?id=78759 + + Reviewed by Simon Fraser. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::boxShadowCanBeAppliedToBackground): Added. Returns false if + paintFillLayer() would push a clip before painting the layer, thus preventing it from casting + its own shadow. + (WebCore::InlineFlowBox::paintBoxDecorations): Pass this as an additional parameter to + boxShadowShouldBeAppliedToBackground(). + * rendering/InlineFlowBox.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass the InlineFlowBox along to + boxShadowShouldBeAppliedToBackground(). + (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added an InlineFlowBox + parameter. If non-0, check boxShadowCanBeAppliedToBackground(). Also check for shadow spread, + and for the case of border radius with a background image, in which paintFillLayerExtended uses + clipping. Finally, fixed a bug in the for() loop for finding the last background layer which + was noticed by Tony Chang. + * rendering/RenderBoxModelObject.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground): + * rendering/RenderTableCell.h: + +2012-02-15 Erik Arvidsson <arv@chromium.org> + + Expose Window constructor + https://bugs.webkit.org/show_bug.cgi?id=78722 + + Reviewed by Adam Barth. + + Test: fast/dom/Window/window-constructor-presence.html + + * page/DOMWindow.idl: + +2012-02-15 Kelly Norton <knorton@google.com> + + fill-opacity does not render properly only on Chromium Mac. + https://bugs.webkit.org/show_bug.cgi?id=78624 + + Reviewed by Stephen White. + + Test: svg/text/text-fill-opacity.svg + + * platform/graphics/skia/FontSkia.cpp: + (WebCore::Font::drawGlyphs): + +2012-02-15 Leo Yang <leo.yang@torchmobile.com.cn> + + [BlackBerry] Upstream WebPageClient.h + https://bugs.webkit.org/show_bug.cgi?id=78660 + + Reviewed by Antonio Gomes. + + Header inclusion fix, no new test. + + * plugins/blackberry/PluginViewPrivateBlackBerry.h: + Add #include <BlackBerryPlatformIntRectRegion.h> + and #include <BlackBerryPlatformGraphics.h> because they + are being removed from WebKit/blackberry/Api/WebPageClient.h. + +2012-02-15 Tim Horton <timothy_horton@apple.com> + + REGRESSION(r105057): Dynamically changing <tspan> offsets is broken + https://bugs.webkit.org/show_bug.cgi?id=78385 + <rdar://problem/10832932> + + Reviewed by Simon Fraser. + + Don't short-circuit buildLayoutAttributesIfNeeded if m_textPositions is already full; + we can't skip rebuilding the layout attributes, just walking the tree to acquire the + positioning lists (invalidation of positioning lists is already covered by textDOMChanged). + + Test: svg/text/tspan-dynamic-positioning.svg + + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: + (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded): + +2012-02-15 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Removing SecurityContext from the embedder API + https://bugs.webkit.org/show_bug.cgi?id=73816 + + Reviewed by Darin Fisher. + + Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code. + + * mediastream/PeerConnection.cpp: + (WebCore::PeerConnection::PeerConnection): + * platform/mediastream/PeerConnectionHandler.h: + (WebCore): + (PeerConnectionHandler): + * platform/mediastream/gstreamer/PeerConnectionHandler.cpp: + (WebCore::PeerConnectionHandler::create): + (WebCore::PeerConnectionHandler::PeerConnectionHandler): + +2012-02-15 Nate Chapin <japhet@chromium.org> + + Fix test regressons from r107672. + https://bugs.webkit.org/show_bug.cgi?id=76564 + + Move setting CachedRawResource::m_identifer from + data() to setResponse(). WorkerScriptLoader depends + on the identifier being set correctly during setResponse() + in order to correctly mark itself as a ScriptResource in + the inspector. + + Reviewed by Adam Barth. + + Fixes several worker script loading tests. + + * loader/cache/CachedRawResource.cpp: + (WebCore::CachedRawResource::data): + (WebCore::CachedRawResource::setResponse): + +2012-02-15 Enrica Casucci <enrica@apple.com> + + REGRESSION: "Copy image" fails...copies image URL instead. + https://bugs.webkit.org/show_bug.cgi?id=78723 + <rdar://problem/10869104> + + During the refactoring of the Pasteboard class some code was lost. + When placing an NSImage in the NSPasteboard as NSTIFFPboardType, we need + to use the its TIFF representation. + + Reviewed by Andy Estes. + + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeImage): + +2012-01-31 Raphael Kubo da Costa <kubo@profusion.mobi> + + [soup] Add support for multiple SoupSessions. + https://bugs.webkit.org/show_bug.cgi?id=77341 + + Reviewed by Gustavo Noronha Silva. + + Make the libsoup network backend support multiple SoupSessions. This is + accomplished by using the NetworkingContext classes, which now have a + `soupSession()' method when the libsoup backend is being used. + + libsoup's ResourceHandle implementation now retrieves the SoupSession + via the NetworkingContext it receives instead of relying on + defaultSession(). defaultSession() is still used when a null + NetworkingContext is passed to ResourceHandle::start (for example, via + webkit_download_start). + + The CookieJar implementation retrieves the SoupSession from the + NetworkingContext as much as possible as well -- the functions used by + WebKit2 could not be converted, though, as they seem to assume there is + only one shared cookie jar. + + No new tests, covered by the existing ones. + + * platform/network/NetworkingContext.h: + (NetworkingContext): Add soupSession() method if USE(SOUP) is set. + * platform/network/ResourceHandleInternal.h: + (ResourceHandleInternal): + * platform/network/soup/CookieJarSoup.cpp: + (WebCore::cookieJarForDocument): + (WebCore): + (WebCore::defaultCookieJar): + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandleInternal::soupSession): Add method to retrieve + a SoupSession from a NetworkingContext and fallback to defaultSession() + if there's no valid NetworkingContext. + (WebCore): + (WebCore::ensureSessionIsInitialized): Only change or use the default + cookie jar if the SoupSession being changed is the default one. + (WebCore::sendRequestCallback): + (WebCore::startHTTPRequest): + (WebCore::ResourceHandle::cancel): + (WebCore::startNonHTTPRequest): + +2012-02-15 Anders Carlsson <andersca@apple.com> + + The TileCache object should be deallocated on the main thread + https://bugs.webkit.org/show_bug.cgi?id=78757 + <rdar://problem/10866161> + + Reviewed by Sam Weinig. + + Since the WebTileCacheLayer can be deleted on the scrolling thread, we need to make sure that the underlying + TileCache object is actually destroyed on the main thread. + + * platform/graphics/ca/mac/TileCache.h: + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::~TileCache): + Assert that this object is being destroyed on the main thread. + + * platform/graphics/ca/mac/WebTileCacheLayer.mm: + (-[WebTileCacheLayer dealloc]): + If dealloc is being called from a non-main thread, make sure to delete the tile cache object on the main thread. + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Scrolling Coordinator must be deleted on the main thread + https://bugs.webkit.org/show_bug.cgi?id=78756 + <rdar://problem/10866167> + + Reviewed by Sam Weinig. + + ScrollingTree::invalidate will finish breaking the cycle between the scrolling coordinator and the + scrolling tree by dereffing the scrolling coordinator. We need to make sure that this happens on the main + thread because the scrolling coordinator expects to be destroyed from there. + + * page/scrolling/ScrollingTree.cpp: + (WebCore::derefScrollingCoordinator): + (WebCore): + (WebCore::ScrollingTree::invalidate): + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Scrolling coordinator should handle pages being restored from the page cache + https://bugs.webkit.org/show_bug.cgi?id=78753 + <rdar://problem/10866171> + + Reviewed by Sam Weinig. + + Replace ScrollingCoordinator::frameViewScrollLayerDidChange with a new member function, + ScrollingCoordinator::frameViewRootLayerDidChange which is called whenever the root layer + of the frame view changes (which happens on back/forward navigation as well). + + In this function, reset the scrolling tree state from the frame view. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::scrollLayerForFrameView): + Add a helper function. + + (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange): + Reset the entire scrolling tree state. + + (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition): + Call the newly added helper function. + + * page/scrolling/ScrollingCoordinator.h: + (ScrollingCoordinator): + * page/scrolling/mac/ScrollingCoordinatorMac.mm: + Remove frameViewScrollLayerDidChange. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootLayer): + Remove call to ScrollingCoordinator::frameViewScrollLayerDidChange. + + (WebCore::RenderLayerCompositor::attachRootLayer): + Call ScrollingCoordinator::frameViewRootLayerDidChange. + +2012-02-15 Enrica Casucci <enrica@apple.com> + + Refactor ClipboardMac class to use PlatformStrategies. + https://bugs.webkit.org/show_bug.cgi?id=78554 + + Reviewed by Anders Carlsson. + + No new tests. No change in behavior. + + * WebCore.exp.in: Added new exported methods of the PlatformPasteboard class + * editing/mac/EditorMac.mm: + (WebCore::Editor::newGeneralClipboard): Use name based pasteboard references. + * page/DragClient.h: + (WebCore::DragClient::declareAndWriteDragImage): Ditto. + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::createDraggingClipboard): Ditto. + * platform/PasteboardStrategy.h: Added new methods to get a unique pasteboard name + and the pasteboard change count. + * platform/PlatformPasteboard.h: Ditto. + * platform/mac/ClipboardMac.h: + (WebCore::ClipboardMac::create): Using name based pasteboard. + (WebCore::ClipboardMac::pasteboardName): Replacing the old pasteboard() method. + * platform/mac/ClipboardMac.mm: All the methods below have been modified to avoid + using Objective-C types and direct access to NSPasteboard object. + (WebCore::Clipboard::create): + (WebCore::ClipboardMac::ClipboardMac): + (WebCore::ClipboardMac::hasData): + (WebCore::cocoaTypeFromHTMLClipboardType): + (WebCore::utiTypeFromCocoaType): + (WebCore::addHTMLClipboardTypesForCocoaType): + (WebCore::ClipboardMac::clearData): + (WebCore::ClipboardMac::clearAllData): + (WebCore::absoluteURLsFromPasteboardFilenames): + (WebCore::absoluteURLsFromPasteboard): + (WebCore::ClipboardMac::getData): + (WebCore::ClipboardMac::setData): + (WebCore::ClipboardMac::types): + (WebCore::ClipboardMac::files): + (WebCore::ClipboardMac::setDragImage): + (WebCore::ClipboardMac::writeRange): + (WebCore::ClipboardMac::writePlainText): + (WebCore::ClipboardMac::writeURL): + (WebCore::ClipboardMac::declareAndWriteDragImage): + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeClipboard): Using name based pasteboard reference. + * platform/mac/PlatformPasteboardMac.mm: + (WebCore::PlatformPasteboard::getPathnamesForType): Fixed to support NSArray and NString content. + (WebCore::PlatformPasteboard::changeCount): Added. + (WebCore::PlatformPasteboard::uniqueName): Added. + +2012-02-15 Anders Carlsson <andersca@apple.com> + + TileCache needs to support setting the contents scale + https://bugs.webkit.org/show_bug.cgi?id=78741 + <rdar://problem/10710773> + + Reviewed by Sam Weinig. + + * platform/graphics/ca/mac/TileCache.h: + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::setContentsScale): + Update the contents scale of all the tiles and then revalidate the tile cache since tiles + might have come and gone as a result of setting the contents scale. + + (WebCore::TileCache::createTileLayer): + Set the contents scale of the tile layer. + + * platform/graphics/ca/mac/WebTileCacheLayer.mm: + (-[WebTileCacheLayer setContentsScale:]): + Call TileCache::setContentsScale. + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Try to fix the Chromium build and remove a snarky comment in the process. + + * platform/chromium/PopupListBox.cpp: + (WebCore::PopupListBox::handleWheelEvent): + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Wheel events should be re-dispatched to the scrolling thread + https://bugs.webkit.org/show_bug.cgi?id=78731 + <rdar://problem/10866144> + + Reviewed by Sam Weinig. + + When threaded scrolling is enabled, all the state is assumed to be kept in the scrolling tree, + on the scrolling thread. This means that even if we do end up processing an event on the main thread + (because of wheel event handlers for example), we still have to dispatch the wheel event back to the + scrolling thread. + + * page/FrameView.cpp: + (WebCore::FrameView::wheelEvent): + Move wheelEvent from ScrollView and ask the scrolling coordinator to handle the wheel event. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::handleWheelEvent): + Dispatch the event to the scrolling thread, unless it will start a gesture. In that case we'll return false + so that information will be passed back to the UI process. + + (ScrollingCoordinator): + * platform/ScrollView.cpp: + * platform/ScrollView.h: + Move wheelEvent to FrameView. + +2012-02-15 Mark Hahnenberg <mhahnenberg@apple.com> + + RootObject::finalize can cause a crash in object->invalidate() + https://bugs.webkit.org/show_bug.cgi?id=78645 + + Reviewed by Geoffrey Garen. + + No new tests. + + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::finalize): Added a stack-allocated RefPtr to protect the RootObject + during the call to invalidate(). + +2012-02-15 Dan Bernstein <mitz@apple.com> + + <rdar://problem/10870238> Box shadow drawing takes an unnecessarily slow code path in some single-shadow, opaque-background cases + https://bugs.webkit.org/show_bug.cgi?id=78728 + + In some cases, when there is only one normal box shadow, and the box has an opaque background, + it is possible to draw the box shadow by having the background cast it directly. This appears + to be faster than the generic code path that uses a separate drawing pass to cast the shadow, + clipping out the border box and the shadow-casting box. + + Reviewed by Dave Hyatt. + + No new tests, because behavior is unchanged. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paintBoxDecorations): Changed to not paint normal box shadows if + they are going to be cast by the background. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBoxDecorations): Ditto. + * rendering/RenderBox.h: Made determineBackgroundBleedAvoidance() protected. + * rendering/RenderBoxModelObject.cpp: + (WebCore::applyBoxShadowForBackground): Added this helper function, which applies the first + normal shadow from the given RenderStyle to the given GraphicsContext. + (WebCore::RenderBoxModelObject::paintFillLayerExtended): Added calls to + applyBoxShadowForBackground() before drawing the background color when needed. + (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added. Returns true + in some of the cases where the box shadow can be cast by the background directly. + * rendering/RenderBoxModelObject.h: + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::paintBoxDecorations): Changed to not paint normal box shadows if + they are going to be cast by the background. + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paintBoxDecorations): Ditto. + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground): Added this override that + always returns false, because table cells sometimes apply a clip before drawing the background. + * rendering/RenderTableCell.h: + +2012-02-15 Ojan Vafai <ojan@chromium.org> + + getComputedStyle of flex-item-align:auto should resolve to it's parent's flex-align value + https://bugs.webkit.org/show_bug.cgi?id=76326 + + Reviewed by Tony Chang. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org> + + Notify ChromeClient when touch-event handlers are installed/removed. + https://bugs.webkit.org/show_bug.cgi?id=77440 + + Reviewed by Darin Fisher and Ryosuke Niwa. + + Keep a count of the number of touch-event handlers and notify the + embedder when the count changes. Depending on the count, the embedder + can decide whether or not to dispatch touch events to webkit. + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::didAddTouchEventHandler): + (WebCore): + (WebCore::Document::didRemoveTouchEventHandler): + * dom/Document.h: + (WebCore::Document::touchEventHandlerCount): + (Document): + * dom/Node.cpp: + (WebCore::isTouchEventType): + (WebCore::tryAddEventListener): + (WebCore::tryRemoveEventListener): + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::numTouchEventHandlersChanged): + * page/ChromeClient.h: + (ChromeClient): + * page/Frame.cpp: + (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged): + (WebCore::Frame::notifyChromeClientTouchEventHandlerCountChanged): + (WebCore): + * page/Frame.h: + (Frame): + +2012-02-15 Eric Carlson <eric.carlson@apple.com> + + Unset the active flag when TextTrackCues go away + https://bugs.webkit.org/show_bug.cgi?id=72552 + + Reviewed by Maciej Stachowiak. + + Test: media/track/track-active-cues.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::loadTimerFired): Configure new text tracks before preparing to load + so we know about all tracks when resource selection begins. + (WebCore::HTMLMediaElement::prepareForLoad): Call updateActiveTextTrackCues after setting + to m_readyState is HAVE_NOTHING so all cues get deactivated. Don't build list of + available text tracks because resource selection won't actually start until after the load timer fires. + (WebCore::HTMLMediaElement::loadInternal): Build list of non-disabled tracks. + (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Clear the active flag on all cues + when m_readyState is HAVE_NOTHING or m_player is 0. + (WebCore::HTMLMediaElement::setReadyState): Don't update m_readyState when tracks which haven't + loaded yet will prevent events from firing. Call updateActiveTextTrackCues to ensure that the + first cue(s) are shown as soon as possible. + (WebCore::HTMLMediaElement::userCancelledLoad): Call updateActiveTextTrackCues when when m_readyState + is HAVE_NOTHING so all cues get deactivated. + +2012-02-15 Jessie Berlin <jberlin@apple.com> + + WebCore build exceeds address space on 32-bit Windows builders (again). + https://bugs.webkit.org/show_bug.cgi?id=78724 + + Reviewed by Jon Honeycutt. + + Add the rest of the inspector .cpp files to the InspectorAllInOne.cpp file in Production and + Release builds. + + * WebCore.vcproj/WebCore.vcproj: + In the process, let VS have its way with this file. + + * inspector/InspectorAllInOne.cpp: + +2012-02-15 Anders Carlsson <andersca@apple.com> + + Remove ScrollableArea::handleGestureEvent + https://bugs.webkit.org/show_bug.cgi?id=78661 + + Reviewed by Adam Roben. + + ScrollableArea::handleGestureEvent ends up being a no-op so remove it and the related code. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleGestureEvent): + * platform/ScrollAnimator.cpp: + * platform/ScrollAnimator.h: + (ScrollAnimator): + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + (ScrollView): + * platform/ScrollableArea.cpp: + * platform/ScrollableArea.h: + (ScrollableArea): + +2012-02-14 Stephen White <senorblanco@chromium.org> + + Fix for incorrect/offset image in CSS filters (non-composited path) + https://bugs.webkit.org/show_bug.cgi?id=78626 + + Reviewed by Darin Adler. + + Test: css3/filters/multiple-filters-invalidation.html + + * rendering/FilterEffectRenderer.cpp: + (WebCore::FilterEffectRenderer::prepare): + When invalidating results, invalidate all intermediate filter + results, not just the last effect's result. + +2012-02-15 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: "Minus" (Delete) button disappears for hovered watch expression in Watches pane + https://bugs.webkit.org/show_bug.cgi?id=78714 + + Reviewed by Pavel Feldman. + + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSection.prototype._mouseOut): + +2012-02-15 Patrick Gansterer <paroga@webkit.org> + + [CMake] Move RunLoop to WebCore/platform + https://bugs.webkit.org/show_bug.cgi?id=78504 + + Reviewed by Adam Roben. + + r105475 moved RunLoop.cpp from WebKit2 to WebCore, but missed the CMake based ports. + + * CMakeLists.txt: + * PlatformWinCE.cmake: + +2012-02-15 Zoltan Herczeg <zherczeg@webkit.org> + + Remove clipToImageBuffer from SourceAlpha and feComposite + https://bugs.webkit.org/show_bug.cgi?id=78355 + + Reviewed by Nikolas Zimmermann. + + The implementation of clipToImageBuffer is inefficient on + non-mac platforms, so we would benefit if remove it. + + Existing tests cover this feature. + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::FEComposite::platformApplySoftware): + * platform/graphics/filters/SourceAlpha.cpp: + (WebCore::SourceAlpha::platformApplySoftware): + +2012-02-15 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Replace use of QGLWidget/QGLContext with QOpenGLContext and QSurface for Qt 5 + https://bugs.webkit.org/show_bug.cgi?id=78694 + + Reviewed by Noam Rosenthal. + + Typedef PlatformGraphicsContext3D and PlatformGraphicsSurface3D to QOpenGLContext + and QSurface for Qt 5. Use these APIs to change the current context and get the + procedure addresses. Removed QGraphicsObject inheritance remainder while we're at it, + because that code path is obsolete. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/cairo/OpenGLShims.cpp: + (WebCore::getProcAddress): + * platform/graphics/cairo/OpenGLShims.h: + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): + (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext): + (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded): + (WebCore::GraphicsContext3D::~GraphicsContext3D): + +2012-02-15 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Move Qt platform specific GL Context/Surface creation out of WebCore into WebKit + https://bugs.webkit.org/show_bug.cgi?id=78692 + + Reviewed by Noam Rosenthal. + + Replace the "glWidget" term in the GraphicsContext with "surface" and delegate + the context and surface creation to the page client. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (GraphicsContext3DPrivate): + (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): + (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): + (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext): + (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded): + (WebCore::GraphicsContext3D::GraphicsContext3D): + (WebCore::GraphicsContext3D::~GraphicsContext3D): + (WebCore::GraphicsContext3D::platformGraphicsContext3D): + * platform/qt/QWebPageClient.h: + (QWebPageClient): + +2012-02-15 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Texmap] Support filters in TextureMapperImageBuffer + https://bugs.webkit.org/show_bug.cgi?id=76026 + + Implement GraphicsLayer::setFilters for TextureMapper, and pass the filters all the way + to BitmapTextureImageBuffer. This does not introduce a new filters implementation, but + rather uses the non-AC implementation. A complete implementation will be needed in + TextureMapperGL, which can use some of the glue in this code. + + Reviewed by Kenneth Rohde Christiansen. + + Unskipped 10 tests in css3/filters. + + * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: + (WebCore): + (WebCore::GraphicsLayerTextureMapper::setFilters): + * platform/graphics/texmap/GraphicsLayerTextureMapper.h: + (GraphicsLayerTextureMapper): + * platform/graphics/texmap/TextureMapper.h: + (BitmapTexture): + (WebCore::BitmapTexture::applyFilters): + * platform/graphics/texmap/TextureMapperImageBuffer.cpp: + (WebCore): + (WebCore::BitmapTextureImageBuffer::applyFilters): + * platform/graphics/texmap/TextureMapperImageBuffer.h: + (BitmapTextureImageBuffer): + * platform/graphics/texmap/TextureMapperLayer.cpp: + (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface): + (WebCore): + (WebCore::applyFilters): + (WebCore::TextureMapperLayer::paintRecursive): + (WebCore::TextureMapperLayer::syncCompositingStateSelf): + * platform/graphics/texmap/TextureMapperLayer.h: + (State): + +2012-02-15 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Clean up fallback rendering of GraphicsContext3D to Canvas + https://bugs.webkit.org/show_bug.cgi?id=78690 + + Reviewed by Noam Rosenthal. + + Use the common paintRenderingResultsToCanvas code to retrieve the + pixels from the FBO and use a Qt port specific paintToCanvas + implementation to wrap the pixels into a QImage and render it + into the graphics context, just like it's done for the other ports. + + This removes the QGraphicsObject based paint, which is an now + obsolete method of rendering. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (GraphicsContext3DPrivate): + (WebCore::GraphicsContext3D::paintToCanvas): + +2012-02-14 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Eliminate first set of QtWidgets dependencies from WebCore + https://bugs.webkit.org/show_bug.cgi?id=78611 + + Reviewed by Kenneth Rohde Christiansen. + + * bindings/js/ScriptControllerQt.cpp: Remove unused include. + * page/qt/EventHandlerQt.cpp: + (WebCore::EventHandler::tabsToAllFormControls): Replace import + of private Qt(Widgets) variable with the default of Qt 5, where + it is also not configurable. + * platform/ContextMenu.h: Remove unused include. + * platform/ContextMenuItem.h: Ditto. + * platform/Widget.h: Use QObject as type for PlatformWidget + instead of QWidget. + * platform/graphics/Icon.h: + (Icon): Prefer QImage over QIcon for storage. + * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: + (WebCore): Make it compile with QWindow for Qt 5 and QWidget for Qt 4. + * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: + (FullScreenVideoWindow::FullScreenVideoWindow): + (FullScreenVideoWindow::keyPressEvent): + (FullScreenVideoWindow::event): + (FullScreenVideoWindow::showFullScreen): + (PlatformVideoWindow::PlatformVideoWindow): + * platform/graphics/qt/IconQt.cpp: Revert the implementation of this class + back to notImplemented(). It was trying to load the actual file as QIcon + instead of trying to find a symbolic icon for the given file. We should + probably use the QMimeType API in Qt 5 once it becomes available. + (WebCore::Icon::createIconForFiles): + (WebCore::Icon::paint): + * platform/graphics/qt/ImageQt.cpp: + (graphics): Remove use of QStyle for retrieving icons. Code moved to + WebCoreSupport instead. + * platform/qt/ContextMenuQt.cpp: Removed unused include. + * platform/qt/PlatformScreenQt.cpp: Add #ifdefs to use QScreen API + with Qt 5. + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/qt/QWebPageClient.h: Add hook for showing/hiding widget. + (WebCore): + (QWebPageClient): + * platform/qt/SoundQt.cpp: + (WebCore::systemBeep): Beep is not implemented in Qt 5 and its use is + questionable. Move back to notImplemented() until proper QPA API becomes + available in Qt 5 (if ever...). + * platform/qt/WidgetQt.cpp: Delegate QWidget specific show/hide calls + to the PageClient, out of WebCore. + (WebCore::Widget::Widget): + (WebCore::Widget::show): + (WebCore::Widget::hide): + * plugins/PluginView.h: Remove unused include. + * rendering/RenderTreeAsText.cpp: + (WebCore::RenderTreeAsText::writeRenderObject): When dumping properties of + QWidget, use the QObject property API to retrieve the values instead of + QWidget specific API. Removed the mask from the dump as it's not available + as property and our layout tests don't seem to use it. + +2012-02-15 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: Fix minor design issues in the Spectrum color picker + https://bugs.webkit.org/show_bug.cgi?id=78693 + + Drive-by: frontend compilability fixes. + + Reviewed by Pavel Feldman. + + * English.lproj/localizedStrings.js: + * inspector/compile-front-end.sh: + * inspector/front-end/ElementsPanel.js: + * inspector/front-end/Popover.js: + * inspector/front-end/Spectrum.js: + (WebInspector.Spectrum.rgbaToHSVA): + (WebInspector.Spectrum.prototype.set color): + (WebInspector.Spectrum.prototype.get isVisible): + (WebInspector.Spectrum.prototype.toggle): + (WebInspector.Spectrum.prototype.show): + (WebInspector.Spectrum.prototype.hide): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): + * inspector/front-end/elementsPanel.css: + (.spectrum-container): + (.spectrum-top): + (.spectrum-color): + (.spectrum-hue): + (.spectrum-fill): + (.spectrum-range-container): + (.spectrum-range-container *): + (.spectrum-range-container label): + (.spectrum-range-container input): + (.swatch, .spectrum-dragger, .spectrum-slider): + (.spectrum-sat): + (.spectrum-val): + (.spectrum-dragger): + (.spectrum-slider): + * inspector/front-end/inspector.css: + (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment): + +2012-02-15 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Build fix after r107806 + + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::callFunctionWithEvalEnabled): + * inspector/InjectedScript.h: + (InjectedScript): + +2012-02-15 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: crash when inspecting an element on a page with eval disabled by CSP + https://bugs.webkit.org/show_bug.cgi?id=78705 + + Inspector functions in injected script may use eval so we need to make sure + it is allowed for inspector code on pages where it is prohibited by CSP. + + Reviewed by Pavel Feldman. + + Test: inspector/elements/resolve-node-blocked.html + + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::nodeForObjectId): + (WebCore::InjectedScript::wrapCallFrames): + (WebCore::InjectedScript::wrapObject): + (WebCore::InjectedScript::releaseObjectGroup): + (WebCore::InjectedScript::callFunctionWithEvalEnabled): + (WebCore): + (WebCore::InjectedScript::makeCall): + * inspector/InjectedScript.h: + (InjectedScript): + +2012-02-13 Brian Grinstead <briangrinstead@gmail.com> + + Web Inspector: Add colorpicker functionality to color swatches in Styles Sidebar + https://bugs.webkit.org/show_bug.cgi?id=71262 + + Reviewed by Pavel Feldman. + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/Settings.js: + * inspector/front-end/Spectrum.js: Added. + (WebInspector.Spectrum.hueDrag): + (WebInspector.Spectrum.colorDrag): + (WebInspector.Spectrum.alphaDrag): + (WebInspector.Spectrum): + (WebInspector.Spectrum.hsvaToRGBA): + (WebInspector.Spectrum.rgbaToHSVA): + (WebInspector.Spectrum.draggable.prevent): + (WebInspector.Spectrum.draggable.move): + (WebInspector.Spectrum.draggable.start): + (WebInspector.Spectrum.draggable.stop): + (WebInspector.Spectrum.draggable): + (WebInspector.Spectrum.prototype.set color): + (WebInspector.Spectrum.prototype.get color): + (WebInspector.Spectrum.prototype.get outputColorFormat): + (WebInspector.Spectrum.prototype.get colorHueOnly): + (WebInspector.Spectrum.prototype.set displayText): + (WebInspector.Spectrum.prototype._onchange): + (WebInspector.Spectrum.prototype._updateHelperLocations): + (WebInspector.Spectrum.prototype._updateUI): + (WebInspector.Spectrum.prototype.toggle): + (WebInspector.Spectrum.prototype.show): + (WebInspector.Spectrum.prototype.reposition): + (WebInspector.Spectrum.prototype.hide): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + (.swatch): + (.swatch-inner): + (.spectrum-container): + (.spectrum-top): + (.spectrum-color): + (.spectrum-hue): + (.spectrum-fill): + (.spectrum-range-container): + (.spectrum-range-container *): + (.spectrum-range-container label): + (.spectrum-range-container input): + (.swatch, .spectrum-dragger, .spectrum-slider): + (.spectrum-sat): + (.spectrum-val): + (.spectrum-dragger): + (.spectrum-slider): + * inspector/front-end/inspector.html: + +2012-02-15 Kenneth Rohde Christiansen <kenneth@webkit.org> + + [Qt] Be smarter with tile usages during tiling + https://bugs.webkit.org/show_bug.cgi?id=78243 + + Reviewed by Simon Hausmann. + + The keep rect used to know what existing tiles to keep around, is now a + padding (in tile dimensions) around the usual cover rect. With usual, + I mean to point out that we take our panning optimization into account. + + We also do a good effort at keeping the amount of tiles steady, by not + simply intersecting our areas with the contentRect, but moving it + first into legal bounds and then expanding in opposite direction to + cover a similar amount of pixels. + + In the future the cover area should be calculated given available + system memory. + + * platform/graphics/TiledBackingStore.cpp: + (WebCore): + (WebCore::TiledBackingStore::TiledBackingStore): + (WebCore::TiledBackingStore::createTiles): + (WebCore::TiledBackingStore::adjustForContentsRect): + (WebCore::TiledBackingStore::computeCoverAndKeepRect): + (WebCore::TiledBackingStore::tileRectForCoordinate): + * platform/graphics/TiledBackingStore.h: + (TiledBackingStore): + +2012-02-13 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [InspectorIndexedDB] Pass data entries from object stores and indexes to front-end. + https://bugs.webkit.org/show_bug.cgi?id=78503 + + Reviewed by Yury Semikhatsky. + + Test: http/tests/inspector/indexeddb/database-data.html + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValue::deserializeForInspector): + (WebCore): + * bindings/js/SerializedScriptValue.h: + (SerializedScriptValue): + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValue::deserializeForInspector): + (WebCore): + * bindings/v8/SerializedScriptValue.h: + (SerializedScriptValue): + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::wrapObject): + (WebCore::InjectedScript::wrapSerializedObject): + (WebCore): + (WebCore::InjectedScript::canAccessInspectedWindow): + * inspector/InjectedScript.h: + (InjectedScript): + * inspector/Inspector.json: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent): + (WebCore::assertFrame): + (WebCore::assertDocument): + (WebCore::InspectorIndexedDBAgent::requestData): + * inspector/InspectorIndexedDBAgent.h: + (WebCore): + (WebCore::InspectorIndexedDBAgent::create): + (InspectorIndexedDBAgent): + * inspector/front-end/IndexedDBModel.js: + (WebInspector.IndexedDBModel.idbKeyFromKey): + (WebInspector.IndexedDBModel.keyFromIDBKey): + (WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange): + (WebInspector.IndexedDBModel.prototype._loadDatabase): + (WebInspector.IndexedDBModel.prototype.loadObjectStoreData): + (WebInspector.IndexedDBModel.prototype.loadIndexData): + (WebInspector.IndexedDBModel.Entry): + (WebInspector.IndexedDBRequestManager): + (WebInspector.IndexedDBRequestManager.prototype._requestData.innerCallback): + (WebInspector.IndexedDBRequestManager.prototype._requestData): + (WebInspector.IndexedDBRequestManager.prototype.requestObjectStoreData): + (WebInspector.IndexedDBRequestManager.prototype._objectStoreDataLoaded): + (WebInspector.IndexedDBRequestManager.prototype.requestIndexData): + (WebInspector.IndexedDBRequestManager.prototype._indexDataLoaded): + (WebInspector.IndexedDBRequestManager.prototype._frameDetached): + (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved): + (WebInspector.IndexedDBRequestManager.prototype._reset): + (WebInspector.IndexedDBRequestManager.DataRequest): + (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded): + (WebInspector.IndexedDBDispatcher.prototype.objectStoreDataLoaded): + (WebInspector.IndexedDBDispatcher.prototype.indexDataLoaded): + +2012-02-15 Hajime Morrita <morrita@chromium.org> + + REGRESSION(r107518): DeviceOrientationController doesn't remove registered DOMWindows + https://bugs.webkit.org/show_bug.cgi?id=78683 + + Reviewed by Kentaro Hara. + + A copy-n-paste disaster. This change fixed it by calling correct methods. + + No new tests. Needs browser side mocking for testing this. + A Chromium automated test covers this. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::removeAllEventListeners): + * page/Page.cpp: + (WebCore::Page::provideSupplement): + (WebCore::Page::requireSupplement): + * page/Page.h: Fix typo. + (Page): + +2012-02-15 Roland Steiner <rolandsteiner@chromium.org> + + Unreviewed, quick build fix for 107792 + + * inspector/DOMEditor.cpp: + (WebCore::DOMEditor::RemoveAttributeAction::redo): + +2012-02-15 Tony Gentilcore <tonyg@chromium.org> + + [chromium] Don't use increased FontCache size on Android + https://bugs.webkit.org/show_bug.cgi?id=78656 + + Reviewed by Adam Barth. + + The chromium port uses a larger font cache size because it increases + performance on the intl1 and intl2 page cyclers. However, on Android + devices where resources are more constrained, it isn't desireable to + allow the FontCache to grow so big. + + No new tests because no testable difference in functionality. + + * platform/graphics/FontCache.cpp: + (WebCore): + +2012-02-15 Roland Steiner <rolandsteiner@chromium.org> + + <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot + https://bugs.webkit.org/show_bug.cgi?id=77853 + + Moved registration code from Element to Node. updated Internals and build files accordingly. + Moved registration data members from ElementRareData to NodeRareData. + Forward willRemove() from host element into shadow DOM tree. + + Reviewed by Dimitri Glazkov. + + Test: fast/css/style-scoped/registering-shadowroot.html + + * WebCore.exp.in: + * dom/Element.cpp: + (WebCore::Element::willRemove): + * dom/Element.h: + (Element): + * dom/ElementRareData.h: + (ElementRareData): + (WebCore::ElementRareData::ElementRareData): + * dom/Node.cpp: + (WebCore): + (WebCore::Node::hasScopedHTMLStyleChild): + (WebCore::Node::numberOfScopedHTMLStyleChildren): + (WebCore::Node::registerScopedHTMLStyleChild): + (WebCore::Node::unregisterScopedHTMLStyleChild): + * dom/Node.h: + (Node): + * dom/NodeRareData.h: + (WebCore::NodeRareData::NodeRareData): + (NodeRareData): + (WebCore::NodeRareData::registerScopedHTMLStyleChild): + (WebCore::NodeRareData::unregisterScopedHTMLStyleChild): + (WebCore::NodeRareData::hasScopedHTMLStyleChild): + (WebCore::NodeRareData::numberOfScopedHTMLStyleChildren): + * dom/ShadowRootList.cpp: + (WebCore::ShadowRootList::willRemove): + (WebCore): + * dom/ShadowRootList.h: + (ShadowRootList): + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::registerWithScopingNode): + (WebCore::HTMLStyleElement::unregisterWithScopingNode): + * testing/Internals.cpp: + (WebCore::Internals::numberOfScopedHTMLStyleChildren): + * testing/Internals.h: + (Internals): + * testing/Internals.idl: + +2012-02-14 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: implement redo for DOM actions. + https://bugs.webkit.org/show_bug.cgi?id=78601 + + Reviewed by Yury Semikhatsky. + + * inspector/DOMEditor.cpp: + (WebCore::DOMEditor::RemoveChildAction::perform): + (WebCore::DOMEditor::RemoveChildAction::redo): + (DOMEditor::RemoveChildAction): + (WebCore::DOMEditor::InsertBeforeAction::redo): + (DOMEditor::InsertBeforeAction): + (WebCore::DOMEditor::RemoveAttributeAction::perform): + (WebCore::DOMEditor::RemoveAttributeAction::redo): + (DOMEditor::RemoveAttributeAction): + (WebCore::DOMEditor::SetAttributeAction::perform): + (WebCore::DOMEditor::SetAttributeAction::redo): + (DOMEditor::SetAttributeAction): + (WebCore::DOMEditor::SetOuterHTMLAction::redo): + (DOMEditor::SetOuterHTMLAction): + (WebCore::DOMEditor::ReplaceWholeTextAction::perform): + (WebCore::DOMEditor::ReplaceWholeTextAction::redo): + (DOMEditor::ReplaceWholeTextAction): + (WebCore::DOMEditor::ReplaceChildNodeAction::perform): + (WebCore::DOMEditor::ReplaceChildNodeAction::redo): + (DOMEditor::ReplaceChildNodeAction): + (WebCore::DOMEditor::SetNodeValueAction::perform): + (WebCore::DOMEditor::SetNodeValueAction::redo): + (DOMEditor::SetNodeValueAction): + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::redo): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform): + (InspectorCSSAgent::SetPropertyTextAction): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo): + (WebCore::InspectorCSSAgent::TogglePropertyAction::perform): + (WebCore::InspectorCSSAgent::TogglePropertyAction::redo): + (InspectorCSSAgent::TogglePropertyAction): + (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform): + (WebCore::InspectorCSSAgent::SetRuleSelectorAction::redo): + (InspectorCSSAgent::SetRuleSelectorAction): + (WebCore::InspectorCSSAgent::AddRuleAction::perform): + (WebCore::InspectorCSSAgent::AddRuleAction::redo): + (InspectorCSSAgent::AddRuleAction): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::setNodeValue): + (WebCore::InspectorDOMAgent::redo): + (WebCore): + * inspector/InspectorDOMAgent.h: + (InspectorDOMAgent): + * inspector/InspectorHistory.cpp: + (WebCore::InspectorHistory::InspectorHistory): + (WebCore::InspectorHistory::perform): + (WebCore::InspectorHistory::markUndoableState): + (WebCore::InspectorHistory::undo): + (WebCore::InspectorHistory::redo): + (WebCore): + * inspector/InspectorHistory.h: + (Action): + (InspectorHistory): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype._undoRedoRequested): + (WebInspector.CSSStyleModel.prototype._undoRedoCompleted): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.get undo): + (WebInspector.DOMAgent.prototype.redo): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.handleShortcut): + +2012-02-15 Yuta Kitamura <yutak@chromium.org> + + WebSocket: MessageEvent fired during send() on workers + https://bugs.webkit.org/show_bug.cgi?id=76521 + + Reviewed by David Levin. + + WebSocket's message event should not be invoked while a synchronous operation + (send() and bufferedAmount) is in progress. + + Test: http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html + + * websockets/ThreadableWebSocketChannelClientWrapper.cpp: + Added #if ENABLE(WORKERS) because ThreadableWebSocketChannelClientWrapper is not used + if Web Workers is not available. + Changed access label because private members were declared as protected with no good reason. + (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper): + Receive ScriptExecutionContext so we can post a task that should be executed later. + (WebCore::ThreadableWebSocketChannelClientWrapper::create): + (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback): + (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks): + * websockets/ThreadableWebSocketChannelClientWrapper.h: + * websockets/WorkerThreadableWebSocketChannel.cpp: + (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel): + +2012-02-15 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Texmap] Divide TextureMapperNode.cpp to 3 files. + https://bugs.webkit.org/show_bug.cgi?id=76660 + + Rename TextureMapperNode to TextureMapperLayer. + + Reviewed by Kenneth Rohde Christiansen. + + No new tests. + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: + (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): + (WebCore::GraphicsLayerTextureMapper::notifyChange): + (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay): + (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay): + (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect): + (WebCore::GraphicsLayerTextureMapper::setParent): + (WebCore::GraphicsLayerTextureMapper::setChildren): + (WebCore::GraphicsLayerTextureMapper::addChild): + (WebCore::GraphicsLayerTextureMapper::addChildAtIndex): + (WebCore::GraphicsLayerTextureMapper::addChildAbove): + (WebCore::GraphicsLayerTextureMapper::addChildBelow): + (WebCore::GraphicsLayerTextureMapper::replaceChild): + (WebCore::GraphicsLayerTextureMapper::removeFromParent): + (WebCore::GraphicsLayerTextureMapper::setMaskLayer): + (WebCore::GraphicsLayerTextureMapper::setReplicatedByLayer): + (WebCore::GraphicsLayerTextureMapper::setPosition): + (WebCore::GraphicsLayerTextureMapper::setAnchorPoint): + (WebCore::GraphicsLayerTextureMapper::setSize): + (WebCore::GraphicsLayerTextureMapper::setTransform): + (WebCore::GraphicsLayerTextureMapper::setChildrenTransform): + (WebCore::GraphicsLayerTextureMapper::setPreserves3D): + (WebCore::GraphicsLayerTextureMapper::setMasksToBounds): + (WebCore::GraphicsLayerTextureMapper::setDrawsContent): + (WebCore::GraphicsLayerTextureMapper::setContentsOpaque): + (WebCore::GraphicsLayerTextureMapper::setBackfaceVisibility): + (WebCore::GraphicsLayerTextureMapper::setOpacity): + (WebCore::GraphicsLayerTextureMapper::setContentsRect): + (WebCore::GraphicsLayerTextureMapper::setContentsToImage): + (WebCore::GraphicsLayerTextureMapper::setContentsToMedia): + (WebCore::GraphicsLayerTextureMapper::syncCompositingStateForThisLayerOnly): + (WebCore::GraphicsLayerTextureMapper::syncCompositingState): + (WebCore::GraphicsLayerTextureMapper::addAnimation): + * platform/graphics/texmap/GraphicsLayerTextureMapper.h: + (WebCore): + (GraphicsLayerTextureMapper): + (WebCore::GraphicsLayerTextureMapper::layer): + * platform/graphics/texmap/TextureMapperLayer.cpp: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp. + (WebCore): + (WebCore::toTextureMapperLayer): + (WebCore::TextureMapperLayer::rootLayer): + (WebCore::TextureMapperLayer::setTransform): + (WebCore::TextureMapperLayer::clearBackingStoresRecursive): + (WebCore::TextureMapperLayer::computeTransformsRecursive): + (WebCore::TextureMapperLayer::updateBackingStore): + (WebCore::TextureMapperLayer::paint): + (WebCore::TextureMapperLayer::paintSelf): + (WebCore::TextureMapperLayer::compareGraphicsLayersZValue): + (WebCore::TextureMapperLayer::sortByZOrder): + (WebCore::TextureMapperLayer::paintSelfAndChildren): + (WebCore::TextureMapperLayer::intermediateSurfaceRect): + (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface): + (WebCore::TextureMapperLayer::isVisible): + (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica): + (WebCore::TextureMapperLayer::paintRecursive): + (WebCore::TextureMapperLayer::~TextureMapperLayer): + (WebCore::TextureMapperLayer::syncCompositingState): + (WebCore::TextureMapperLayer::syncCompositingStateSelf): + (WebCore::TextureMapperLayer::descendantsOrSelfHaveRunningAnimations): + (WebCore::TextureMapperLayer::syncAnimations): + (WebCore::TextureMapperLayer::syncAnimationsRecursively): + * platform/graphics/texmap/TextureMapperLayer.h: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperNode.h. + (WebCore): + (TextureMapperPaintOptions): + (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions): + (TextureMapperLayer): + (WebCore::TextureMapperLayer::TextureMapperLayer): + (WebCore::TextureMapperLayer::size): + (WebCore::TextureMapperLayer::setOpacity): + (WebCore::TextureMapperLayer::setTextureMapper): + (WebCore::TextureMapperLayer::setShouldUpdateBackingStoreFromLayer): + (WebCore::TextureMapperLayer::setBackingStore): + (WebCore::TextureMapperLayer::backingStore): + (WebCore::TextureMapperLayer::texture): + (WebCore::TextureMapperLayer::layerRect): + (State): + (WebCore::TextureMapperLayer::State::State): + +2012-02-15 Hayato Ito <hayato@chromium.org> + + ShadowRoot: Remove a public static factory function which doesn't have any callers. + https://bugs.webkit.org/show_bug.cgi?id=78668 + + Reviewed by Kent Tamura. + + No tests. No change in behavior. + + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::create): + * dom/ShadowRoot.h: + (ShadowRoot): + +2012-02-14 Hao Zheng <zhenghao@chromium.org> + + Cleanup pending transaction queue in Database. + https://bugs.webkit.org/show_bug.cgi?id=75048 + + Reviewed by David Levin. + + Each SQLTransaction has 3 SQLCallbackWrappers, and each of them + holds a ref to WorkerContext. As a result, if the worker thread is + stopped before all SQLTransactions are finished, the ASSERT of + m_workerContext->hasOneRef() in WorkerThread::workerThread() would fail. + + No new tests. + REGRESSION(r103429) fast/workers/storage/use-same-database-in-page-and-workers.html asserts + + * storage/Database.cpp: + (WebCore::Database::close): Cleanup pending transaction queue in close(). + * storage/SQLCallbackWrapper.h: + (WebCore::SQLCallbackWrapper::clear): + (SafeReleaseTask): Make SafeReleaseTask a cleanup task, which is + necessary because at the time of SafeReleaseTask is performed, + WorkerRunLoop has been terminated and only runs cleanup tasks. + (WebCore::SQLCallbackWrapper::SafeReleaseTask::create): + (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): + (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): + (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): + +2012-02-14 Antti Koivisto <antti@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=78662 + CSSStyleSelector should not rely on parent rule pointer in StylePropertySet + + Reviewed by Andreas Kling. + + Pass the rule pointer down to the style applying so we don't need to rely on + StylePropertySet having one. + + To make this easier the patch also refactors the matched properties vector to + be part of MatchResult object instead of a member of CSSStyleSelector. + + Rename Declaration -> Properties. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::sweepMatchedPropertiesCache): + (WebCore::CSSStyleSelector::addMatchedProperties): + (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): + (WebCore::CSSStyleSelector::matchScopedAuthorRules): + (WebCore::CSSStyleSelector::matchAuthorRules): + (WebCore::CSSStyleSelector::matchUserRules): + (WebCore::CSSStyleSelector::matchUARules): + (WebCore::CSSStyleSelector::collectMatchingRulesForList): + (WebCore::CSSStyleSelector::matchAllRules): + (WebCore): + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::matchesRuleSet): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::styleForKeyframe): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + (WebCore::CSSStyleSelector::styleForPage): + (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): + (WebCore::isInsideRegionRule): + (WebCore::CSSStyleSelector::applyProperties): + (WebCore::CSSStyleSelector::applyMatchedProperties): + (WebCore::CSSStyleSelector::computeMatchedPropertiesHash): + (WebCore::operator==): + (WebCore::operator!=): + (WebCore::CSSStyleSelector::findFromMatchedPropertiesCache): + (WebCore::CSSStyleSelector::addToMatchedPropertiesCache): + (WebCore::CSSStyleSelector::invalidateMatchedPropertiesCache): + (WebCore::isCacheableInMatchedPropertiesCache): + (WebCore::CSSStyleSelector::matchPageRules): + * css/CSSStyleSelector.h: + (CSSStyleSelector): + (WebCore::CSSStyleSelector::addMatchedRule): + (WebCore::CSSStyleSelector::MatchedProperties::MatchedProperties): + (MatchedProperties): + (MatchResult): + (MatchedPropertiesCacheItem): + +2012-02-14 Takashi Toyoshima <toyoshim@chromium.org> + + WebSocketChannel minor refactoring for code manageability + https://bugs.webkit.org/show_bug.cgi?id=78576 + + Reviewed by Kent Tamura. + + Change the first argument type of WebSocketChannel + from ScriptExecutionContext to Document. + WebSocketChannel always assume this ScriptExecutionContext must + inherit Document. Then, it results in many static cast. + It isn't readable and dangerous against future code changes. + + * websockets/ThreadableWebSocketChannel.cpp: Pass the first argument for WebSocketChannel as Document. + (WebCore::ThreadableWebSocketChannel::create): + * websockets/WebSocketChannel.cpp: Replace all ScriptExecutionContext* m_context descriptions to Document* m_document. + (WebCore::WebSocketChannel::WebSocketChannel): + (WebCore::WebSocketChannel::connect): + (WebCore::WebSocketChannel::fail): + (WebCore::WebSocketChannel::disconnect): + (WebCore::WebSocketChannel::didOpenSocketStream): + (WebCore::WebSocketChannel::didCloseSocketStream): + (WebCore::WebSocketChannel::didReceiveSocketStreamData): + (WebCore::WebSocketChannel::didFailSocketStream): + (WebCore::WebSocketChannel::processBuffer): + (WebCore::WebSocketChannel::processOutgoingFrameQueue): + * websockets/WebSocketChannel.h: Change the first argument for construction to Document and hold it as Document m_document. + (WebCore): + (WebCore::WebSocketChannel::create): + (WebSocketChannel): + * websockets/WorkerThreadableWebSocketChannel.cpp: Pass the first argument for WebSocketChannel as Document. + (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer): + +2012-02-14 Noel Gordon <noel.gordon@gmail.com> + + Unreviewed, rolling out r107774. + http://trac.webkit.org/changeset/107774 + https://bugs.webkit.org/show_bug.cgi?id=78661 + + Broke Chromium build + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleGestureEvent): + * platform/ScrollAnimator.cpp: + (WebCore): + (WebCore::ScrollAnimator::handleGestureEvent): + * platform/ScrollAnimator.h: + (ScrollAnimator): + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + (ScrollView): + * platform/ScrollableArea.cpp: + (WebCore): + (WebCore::ScrollableArea::handleGestureEvent): + * platform/ScrollableArea.h: + (ScrollableArea): + +2012-02-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r107766. + http://trac.webkit.org/changeset/107766 + https://bugs.webkit.org/show_bug.cgi?id=78665 + + Breaks Chromium Win build (Requested by bashi1 on #webkit). + + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * websockets/WebSocketDeflater.cpp: Removed. + * websockets/WebSocketDeflater.h: Removed. + +2012-02-14 Anders Carlsson <andersca@apple.com> + + Remove ScrollableArea::handleGestureEvent + https://bugs.webkit.org/show_bug.cgi?id=78661 + + Reviewed by Sam Weinig. + + ScrollableArea::handleGestureEvent ends up being a no-op so remove it and the related code. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleGestureEvent): + * platform/ScrollAnimator.cpp: + * platform/ScrollAnimator.h: + (ScrollAnimator): + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + (ScrollView): + * platform/ScrollableArea.cpp: + * platform/ScrollableArea.h: + (ScrollableArea): + +2012-02-14 Kentaro Hara <haraken@chromium.org> + + [JSC] Cache the number of non-custom constructor arguments + https://bugs.webkit.org/show_bug.cgi?id=78195 + + Reviewed by Darin Adler. + + If [ConstructorParameters=] is specified, JSC caches the number of constructor + arguments for performance. However, at present, [ConstructorParameters=] is specified + on a small part of constructors (It appears that people have forgotten to + add [ConstructorParameters=]). Thus, for non-custom constructors, this patch modifies + CodeGeneratorJS.pm so that it caches the number of constructor arguments automatically + without [ConstructorParameters=] (CodeGeneratorJS.pm can know the number of arguments + by the [Constructor=...] signature). + + Test: fast/js/constructor-length.html + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateConstructorDefinition): + +2012-02-14 Mark Rowe <mrowe@apple.com> + + <http://webkit.org/b/78658> platformUserPreferredLanguages is leaking all of the language codes + + Reviewed by Darin Adler. + + * platform/mac/Language.mm: + (WebCore::httpStyleLanguageCode): Switch to using RetainPtr's for temporaries to make the ownership + more explicit. Switch to returning a WTF::String so that the caller doesn't have to worry about + ownership at all. Change the name to reflect the lack of transfer of ownership. + (WebCore::platformUserPreferredLanguages): + +2012-02-14 Kentaro Hara <haraken@chromium.org> + + [Mac] PasteboardMac.mm build fails + https://bugs.webkit.org/show_bug.cgi?id=78655 + + Reviewed by Hajime Morita. + + Although the bots have been working fine, PasteboardMac.mm build fails + in our local Mac environments due to an uninitialized variable: + + /Users/haraken/WebKit/Source/WebCore/platform/mac/PasteboardMac.mm:322: warning: 'string' may be used uninitialized in this function + + This patch initializes the 'string' to nil to fix the build failure. + + No tests. No change in behavior. + + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::plainText): + +2012-02-14 Kenichi Ishibashi <bashi@chromium.org> + + [WebSocket] Add extension attribute support + https://bugs.webkit.org/show_bug.cgi?id=78557 + + Implement WebSocket "extensions" attribute that holds a list of + extension the server accepted. No change in behavior at this time + because we don't send any extension on handshake. + + Reviewed by Kent Tamura. + + No new tests. http/tests/websocket/tests/hybi/extensions.html checks the value of this attribute. + + * websockets/ThreadableWebSocketChannel.h: Add extensions(). + (ThreadableWebSocketChannel): + * websockets/ThreadableWebSocketChannelClientWrapper.cpp: + (WebCore::ThreadableWebSocketChannelClientWrapper::extensions): Added. + (WebCore): + (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions): Added. + * websockets/ThreadableWebSocketChannelClientWrapper.h: + (ThreadableWebSocketChannelClientWrapper): + * websockets/WebSocket.cpp: Added m_extensions member variable. + (WebCore::WebSocket::WebSocket): + (WebCore::WebSocket::extensions): Returns m_extensions. + * websockets/WebSocket.h: + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::extensions): Added. + (WebCore): + * websockets/WebSocketChannel.h: + (WebSocketChannel): + * websockets/WebSocketExtensionDispatcher.cpp: + (WebCore::WebSocketExtensionDispatcher::fail): Added. + (WebCore::WebSocketExtensionDispatcher::processHeaderValue): Stores accepted extensions. + (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added. + (WebCore): + (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added. + * websockets/WebSocketExtensionDispatcher.h: + (WebSocketExtensionDispatcher): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::acceptedExtensions): Added. + (WebCore): + * websockets/WebSocketHandshake.h: + * websockets/WorkerThreadableWebSocketChannel.cpp: + (WebCore::WorkerThreadableWebSocketChannel::extensions): Added. + (WebCore): + (WebCore::workerContextDidConnect): Calls ThreadableWebSocketChannelClientWrapper::setExtensions(). + (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect): Passes extensions as an argument. + * websockets/WorkerThreadableWebSocketChannel.h: + (WorkerThreadableWebSocketChannel): + +2012-02-14 Kentaro Hara <haraken@chromium.org> + + Rename [JSGenerateToJS] to [JSGenerateToJSObject] + https://bugs.webkit.org/show_bug.cgi?id=78490 + + Reviewed by Adam Barth. + + This patch renames [JSGenerateToJS] to [JSGenerateToJSObject], + for naming consistency with [CustomToJSObject], [JSCustomToJSObject] and [V8CustomToJSObject]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateHeader): + (GenerateImplementation): + * dom/WebKitNamedFlow.idl: + * fileapi/DirectoryEntry.idl: + * fileapi/DirectoryEntrySync.idl: + * fileapi/File.idl: + * fileapi/FileEntry.idl: + * fileapi/FileEntrySync.idl: + * html/DOMFormData.idl: + * html/DOMSettableTokenList.idl: + * html/DOMURL.idl: + * html/MediaController.idl: + * mediastream/LocalMediaStream.idl: + * webaudio/AudioBufferCallback.idl: + * webaudio/AudioBufferSourceNode.idl: + * webaudio/AudioDestinationNode.idl: + * webaudio/AudioGain.idl: + * webaudio/AudioGainNode.idl: + * webaudio/AudioPannerNode.idl: + * webaudio/AudioProcessingEvent.idl: + * webaudio/BiquadFilterNode.idl: + * webaudio/ConvolverNode.idl: + * webaudio/DelayNode.idl: + * webaudio/DynamicsCompressorNode.idl: + * webaudio/HighPass2FilterNode.idl: + * webaudio/JavaScriptAudioNode.idl: + * webaudio/LowPass2FilterNode.idl: + * webaudio/MediaElementAudioSourceNode.idl: + * webaudio/OfflineAudioCompletionEvent.idl: + * webaudio/RealtimeAnalyserNode.idl: + * webaudio/WaveShaperNode.idl: + * workers/SharedWorker.idl: + * workers/Worker.idl: + +2012-02-14 Kenichi Ishibashi <bashi@chromium.org> + + [WebSocket] Add deflater/inflater classes + https://bugs.webkit.org/show_bug.cgi?id=78449 + + Add WebSocketDeflater/WebSocketInflater classes which wrap zlib + functions. These classes are not used yet, but will be used for + supporting WebSocket deflate-frame extension. + + Reviewed by Kent Tamura. + + No new tests except for chromium port. Behavior is unchanged. + + * GNUmakefile.list.am: Added.WebSocketDeflater.(cpp|h). + * WebCore.gypi: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * websockets/WebSocketDeflater.cpp: Added. + (WebCore): + (WebCore::WebSocketDeflater::create): + (WebCore::WebSocketDeflater::WebSocketDeflater): + (WebCore::WebSocketDeflater::initialize): + (WebCore::WebSocketDeflater::~WebSocketDeflater): + (WebCore::WebSocketDeflater::addBytes): + (WebCore::WebSocketDeflater::finish): + (WebCore::WebSocketDeflater::reset): + (WebCore::WebSocketInflater::create): + (WebCore::WebSocketInflater::WebSocketInflater): + (WebCore::WebSocketInflater::initialize): + (WebCore::WebSocketInflater::~WebSocketInflater): + (WebCore::WebSocketInflater::addBytes): + (WebCore::WebSocketInflater::finish): + (WebCore::WebSocketInflater::reset): + * websockets/WebSocketDeflater.h: Added. + (WebCore): + (WebSocketDeflater): + (WebCore::WebSocketDeflater::data): + (WebCore::WebSocketDeflater::size): + (WebSocketInflater): + (WebCore::WebSocketInflater::data): + (WebCore::WebSocketInflater::size): + +2012-02-14 Dana Jansens <danakj@chromium.org> + + [chromium] Compare filters on impl thread when setting them, and test setting in unit tests + https://bugs.webkit.org/show_bug.cgi?id=78643 + + Reviewed by James Robinson. + + Add setFilters() coverage to CCLayerImplTest.cpp + + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::setFilters): + +2012-02-14 Ryosuke Niwa <rniwa@webkit.org> + + Crash in deleteInsignificantText + https://bugs.webkit.org/show_bug.cgi?id=78567 + + Reviewed by Eric Seidel. + + Fix the crash. Also update layout at the beginning of each call to deleteInsignificantText + since the previous call may have mutated the DOM. + + Test: editing/inserting/delete-insignificant-text-crash.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::deleteInsignificantText): + +2012-02-14 Levi Weintraub <leviw@chromium.org> + + Prepare RenderLayerBacking and RenderLayerCompositor for subpixel layout + https://bugs.webkit.org/show_bug.cgi?id=78630 + + Reviewed by Simon Fraser. + + In our transition to subpixel layout in the render tree, we continue to pass RenderLayerBacking + and RenderLayerCompositor integer (pixel) sizes and positions. This patch moves nearly all + methods and members on these two classes back to integers, and applies pixel snapping logic to + LayoutUnits pulled in. + + No new tests. No change in behavior. + + * rendering/RenderBox.h: + (WebCore::RenderBox::pixelSnappedLayoutOverflowRect): Convenience function for getting pixel + snapped overflow bounds. + * rendering/RenderLayerBacking.cpp: + (WebCore): + (WebCore::RenderLayerBacking::updateCompositedBounds): Switch to integers and pixel snapping the + clipping bounds. + (WebCore::clipBox): Returns a pixel snapped rect. + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Using pixelSnappedLayerCoords. Removing + pixelSnappedIntRect calls to clipBox since this is now an IntRect. + (WebCore::RenderLayerBacking::computeTransformOrigin): Switching to operate on a pixel snapped rect. + (WebCore::RenderLayerBacking::computePerspectiveOrigin): Ditto. + (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): Returns a size based on m_compositingBounds, + which is now an IntSize. + (WebCore::RenderLayerBacking::contentsBox): Switching to use pixel snapped values from the render tree. + (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): This now takes in and outputs integers. + (WebCore::RenderLayerBacking::paintIntoLayer): Uses a pixel snapped rect for the dirty rect. + (WebCore::paintScrollbar): Scrollbars are Widgets & painted natively, so they should use integers. + (WebCore::RenderLayerBacking::paintContents): We now properly take in an integer clip rect, as it's + used for the scrollbars. + (WebCore::RenderLayerBacking::startAnimation): Using pixel snapped values for animations and transitions. + (WebCore::RenderLayerBacking::startTransition): Ditto. + (WebCore::RenderLayerBacking::compositedBounds): Composited bounds are now properly stored as integers. + (WebCore::RenderLayerBacking::setCompositedBounds): Ditto. + * rendering/RenderLayerBacking.h: + (RenderLayerBacking): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::calculateCompositedBounds): Composited bounds are pixel snapped, but + we use LayoutUnits up until we snap and return. + (WebCore::RenderLayerCompositor::addToOverlapMap): Overlap mapping uses our integer positions. Switching + it back to operating on them. + (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): Ditto. + (WebCore::RenderLayerCompositor::overlapsCompositedLayers): Ditto. + (WebCore::RenderLayerCompositor::computeCompositingRequirements): Using integers. + (WebCore::RenderLayerCompositor::frameViewDidChangeLocation): FrameViews are on integer bounds. We now + properly use these as integers. + (WebCore::RenderLayerCompositor::frameViewDidScroll): Ditto. + (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Switching to use integers and + pixelSnappedLayerCoords. + (WebCore::RenderLayerCompositor::repaintCompositedLayersAbsoluteRect): Ditto. + (WebCore::RenderLayerCompositor::updateRootLayerPosition): Using integer positions, which are what + the apis used already returned. + (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Using pixel snapped values. + (WebCore::RenderLayerCompositor::requiresCompositingForFrame): Ditto. + (WebCore::paintScrollbar): Scrollbars should always use integers. + (WebCore::RenderLayerCompositor::paintContents): Switching to use an integer clip rect. + (WebCore::RenderLayerCompositor::ensureRootLayer): Using values from new pixelSnappedLayoutOverflowRect + method on RenderBox to ensure we're using values that are pixel snapped to the proper location. + (WebCore::RenderLayerCompositor::destroyRootLayer): Properly calling scrollbar invalidation methods + with integers. + * rendering/RenderLayerCompositor.h: + (RenderLayerCompositor): + +2012-02-14 Anders Carlsson <andersca@apple.com> + + Swipe gestures don't work if main frame has a horizontal scrollbar + https://bugs.webkit.org/show_bug.cgi?id=78650 + <rdar://problem/10864993> + + Reviewed by Sam Weinig. + + Change ScrollingTree::tryToHandleWheelEvent so we can indicate that an event was + processed by the scrolling tree but that we should indicate back to WebKit that it wasn't handled. + + * page/scrolling/ScrollingTree.cpp: + (WebCore::ScrollingTree::ScrollingTree): + Initialize new member variables. + + (WebCore::ScrollingTree::tryToHandleWheelEvent): + If the wheel event will start a swipe gesture, return DidNotHandleEvent. + + (WebCore::ScrollingTree::updateBackForwardState): + This can now be called from any thread, so use a mutex. + + (WebCore::ScrollingTree::setMainFramePinState): + New function that will set the current main frame pin state. + + (WebCore::ScrollingTree::canGoBack): + (WebCore::ScrollingTree::canGoForward): + Put locks around these. + + (WebCore::ScrollingTree::willWheelEventStartSwipeGesture): + Helper function that returns whether the given wheel event will start a swipe gesture + because the main frame is pinned to the left/right and we can go back/forward. + + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::update): + Call updateMainFramePinState if the frame geometry changes. + + (WebCore::ScrollingTreeNodeMac::setScrollPosition): + Call updateMainFramePinState. + + (WebCore::ScrollingTreeNodeMac::updateMainFramePinState): + Compute the main frame pin state and set it on the scrolling tree. + +2012-02-14 Brian Weinstein <bweinstein@apple.com> + + Web Inspector: Add the ability to show the resources panel on launch + https://bugs.webkit.org/show_bug.cgi?id=78641 + + Reviewed by Timothy Hatcher. + + * WebCore.exp.in: Add a new function to be exported. + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::showResources): Call showResources on load. + * inspector/InspectorFrontendClientLocal.h: + (InspectorFrontendClientLocal): + * inspector/front-end/InspectorFrontendAPI.js: + (InspectorFrontendAPI.showResources): Show the resources panel. + +2012-02-14 Enrica Casucci <enrica@apple.com> + + REGRESSION (r107568-r107627): Crash when copying in WebCore::SharedBuffer::hasPlatformData(). + https://bugs.webkit.org/show_bug.cgi?id=78577 + + Reviewed by Dan Bernstein. + + * platform/mac/PlatformPasteboardMac.mm: + (WebCore::PlatformPasteboard::setBufferForType): Missing null check when + setting data to the NSPasteboard. + +2012-02-14 Ryosuke Niwa <rniwa@webkit.org> + + Crash in WebCore::SVGElement::removedFromDocument + https://bugs.webkit.org/show_bug.cgi?id=77270 + + Reviewed by Adam Barth. + + Add a protector before calling NodeRemovalDispatcher::dispatch since + NodeRemovalDispatcher::dispatch may remove the last RefPtr to this node. + + Test: fast/dom/Range/surround-contents-font-face-crash.svg + + * dom/ContainerNodeAlgorithms.h: + (WebCore::Private::addChildNodesToDeletionQueue): + +2012-02-14 Matt Lilek <mrl@apple.com> + + Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms + https://bugs.webkit.org/show_bug.cgi?id=78629 + + Reviewed by David Kilzer. + + * Configurations/FeatureDefines.xcconfig: + +2012-02-14 Andreas Kling <awesomekling@apple.com> + + Avoid full style recalc when presentation attributes change. + <http://webkit.org/b/78636> + + Reviewed by Antti Koivisto. + + Use setNeedsStyleRecalc(InlineStyleChange) when a presentation attribute changes + to reduce the amount of work done in recalcStyle(). + + * dom/StyledElement.cpp: + (WebCore::StyledElement::attributeChanged): + +2012-02-14 Ramya Chandrasekaran <cramya@google.com> + + Last character display for passwords in Android. + https://bugs.webkit.org/show_bug.cgi?id=78532 + + Reviewed by Adam Barth. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + +2012-02-14 Joshua Bell <jsbell@chromium.org> + + IndexedDB: Invalid dates should not be valid keys + https://bugs.webkit.org/show_bug.cgi?id=78622 + + Reviewed by Tony Chang. + + Tests: storage/indexeddb/invalid-keys.html + storage/indexeddb/factory-cmp.html + + * bindings/v8/IDBBindingUtilities.cpp: Special case for NaN Dates. + (WebCore::createIDBKeyFromValue): + +2012-02-14 Ken Buchanan <kenrb@chromium.org> + + Crash from line break iterators in counter content + https://bugs.webkit.org/show_bug.cgi?id=72977 + + Reviewed by David Hyatt. + + Calculating the width of counter text can sometimes cause the + underlying text buffer to change. This patch causes the iterator + to reset appropriately when this happens. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::LineBreaker::nextLineBreak): + +2012-02-14 Levi Weintraub <leviw@chromium.org> + + Update usage of LayoutUnits in RenderLayer + https://bugs.webkit.org/show_bug.cgi?id=78511 + + Reviewed by Simon Fraser. + + Updating RenderLayer to properly use LayoutUnits. See descriptions below for the rationale behind all + the changes. Also adding a roundedIntSize method that takes a LayoutSize. + + No new tests. No change in behavior. + + * rendering/LayoutTypes.h: + (WebCore::roundedIntSize): Inline method that currently does nothing, but will round a LayoutSize + to an IntSize. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositions): Switching repaint and outline boxes to LayoutRects, as + it's important to keep the precision of these rects until handing off to the embedder (in FrameView). + (WebCore::RenderLayer::computeRepaintRects): Repaint rects should be preserved in subpixel units until + being passed to the embedding layer. This prevents needless repaints. + (WebCore::RenderLayer::convertToPixelSnappedLayerCoords): Convenience function to return pixel snapped rects + (WebCore): + (WebCore::RenderLayer::convertToLayerCoords): Fixing a style flaw. + (WebCore::RenderLayer::scrollRectToVisible): Pixel snapping the rect when handing off to the embedder. + (WebCore::RenderLayer::maximumScrollPosition): Scroll offsets are rounded. + (WebCore::RenderLayer::scrollCornerRect): Scrollbars are drawn natively and should be positioned on pixel + boundaries. + (WebCore::RenderLayer::scrollCornerAndResizerRect): Resize corner doesn't influence the size/position of + render objects. It is only painted and hit tested. Therefor it should use integers. + (WebCore::RenderLayer::offsetFromResizeCorner): Ditto. + (WebCore::RenderLayer::positionOverflowControls): Overflow controls are drawn natively and should be + positioned on integer boundaries. + (WebCore::RenderLayer::paintOverflowControls): Ditto. + (WebCore::RenderLayer::paintScrollCorner): Ditto. + (WebCore::RenderLayer::drawPlatformResizerImage): Ditto. + (WebCore::RenderLayer::paintResizer): Ditto. + (WebCore::RenderLayer::hitTestOverflowControls): Hit testing & overflow controls both use integers. + (WebCore::RenderLayer::clipToRect): Clipping to actual painted (pixel snapped) layer bounds in the + graphics context. + (WebCore::RenderLayer::paintLayerContents): Calling paintOverflowControls at pixel bounds. + (WebCore::RenderLayer::hitTest): Intersecting the hit test area with pixel snapped boundaries. + (WebCore::RenderLayer::setBackingNeedsRepaintInRect): Sending pixelSnapped rects to the backing + store, which only cares about pixels, and hence integers. + * rendering/RenderLayer.h: + (WebCore::RenderLayer::scrolledContentOffset): RenderLayer's scroll offsets are used in platform + code, so we need to return them as integers. Rounding the scroll overflow before adding it to the + scroll offset, which was already stored in integers. + (RenderLayer): + +2012-02-14 Abhishek Arya <inferno@chromium.org> + + Crash in NavigationScheduler::schedule. + https://bugs.webkit.org/show_bug.cgi?id=78297 + + Reviewed by Adam Barth. + + Protect frame pointer and navigation scheduler when we stop the + load (when redirect is scheduled during a load). Also, dont fire + the navigation scheduler timer when we know that frameloader is + going away. + + Test: http/tests/navigation/navigation-redirect-schedule-crash.html + + * loader/NavigationScheduler.cpp: + (WebCore::NavigationScheduler::schedule): + +2012-02-14 Alexis Menard <alexis.menard@openbossa.org> + + font shorthand with inherit keyword incorrectly parsed and rendered + https://bugs.webkit.org/show_bug.cgi?id=20181 + + Reviewed by Tony Chang. + + As stated in http://www.w3.org/TR/CSS21/changes.html#q142 + if the inherit (and also by extension initial) is encountered in the + middle of the shorthand then the property becomes invalid. + + Test: fast/css/font-shorthand-mix-inherit.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFont): + (WebCore::CSSParser::parseFontFamily): + +2012-02-14 Abhishek Arya <inferno@chromium.org> + + Crash due to incorrect firing of mutation event during class attribute parsing. + https://bugs.webkit.org/show_bug.cgi?id=78537 + + Reviewed by Ryosuke Niwa. + + Test: fast/dom/class-attr-change-double-mutation-fire.html + + * dom/StyledElement.cpp: + (WebCore::StyledElement::classAttributeChanged): + +2012-02-14 Mike Lawther <mikelawther@chromium.org> + + CSS3 calc: add isZero implementations to catch divide by zero + https://bugs.webkit.org/show_bug.cgi?id=78603 + + Reviewed by Ojan Vafai. + + * css/CSSCalculationValue.cpp: + (WebCore::CSSCalcPrimitiveValue::isZero): + (CSSCalcPrimitiveValue): + (WebCore::CSSCalcBinaryOperation::isZero): + (CSSCalcBinaryOperation): + * css/CSSCalculationValue.h: + (CSSCalcExpressionNode): + +2012-02-12 Timothy Hatcher <timothy@apple.com> + + Don't include CachedResources that haven't downloaded when populating the Web Inspector on load. + + https://webkit.org/b/78447 + rdar://problem/10843542 + + Reviewed by Brian Weinstein. + + Test: inspector/protocol/page-agent.html + + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::cachedResourcesForFrame): Skip CachedFonts and CachedImages that + return true for stillNeedsLoad. + * loader/cache/CachedFont.h: + (WebCore::CachedFont::stillNeedsLoad): Added. + +2012-02-12 Timothy Hatcher <timothy@apple.com> + + Web Inspector: include failed and canceled in FrameResourceTree. + + https://webkit.org/b/78445 + + Reviewed by Pavel Feldman. + + Test: inspector/protocol/page-agent.html + + * WebCore.xcodeproj/project.pbxproj: Added Inspector.json, Inspector-0.1.json and Inspector-1.0.json + for quick access and easy editing. + * inspector/Inspector.json: Added failed and canceled as optional properties to the object for resources in FrameResourceTree. + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::buildObjectForFrameTree): Set those properties. + +2012-02-14 Csaba Osztrogonác <ossy@webkit.org> + + Typo fix after r107707. + + * platform/graphics/texmap/TextureMapperNode.cpp: + (WebCore::TextureMapperNode::updateBackingStore): + +2012-02-14 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: [refactoring] extract TimelineOverviewWindow from TimelineOverviewPanel + https://bugs.webkit.org/show_bug.cgi?id=78599 + + Reviewed by Pavel Feldman. + + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewPane): + (WebInspector.TimelineOverviewPane.prototype.reset): + (WebInspector.TimelineOverviewPane.prototype.scrollWindow): + (WebInspector.TimelineOverviewWindow): + (WebInspector.TimelineOverviewWindow.prototype.reset): + (WebInspector.TimelineOverviewWindow.prototype.scrollWindow): + (WebInspector.TimelineOverviewWindow.prototype._windowResizeDragging): + (WebInspector.TimelineOverviewWindow.prototype._dragWindow): + (WebInspector.TimelineOverviewWindow.prototype._windowSelectorDragging): + (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging): + (WebInspector.TimelineOverviewWindow.prototype._windowDragging): + (WebInspector.TimelineOverviewWindow.prototype._resizeWindowRight): + (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMaximum): + (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition): + (WebInspector.TimelineOverviewWindow.prototype._endWindowDragging): + (WebInspector.TimelinePanel.WindowSelector): + +2012-02-14 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Make ScriptsNavigator default file selector. + https://bugs.webkit.org/show_bug.cgi?id=78349 + + Reviewed by Pavel Feldman. + + Moved ScriptsNavigator out of experiments. + Introduced new setting "useScriptsNavigator" with true as default value. + Updated scripts panel tests related to file selector. + + Tests: inspector/debugger/scripts-combobox-file-selector-history.html + inspector/debugger/scripts-file-selector.html + + * English.lproj/localizedStrings.js: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes): + * inspector/front-end/ScriptsNavigator.js: + (WebInspector.ScriptsNavigator.prototype._removeUISourceCode): + (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded): + (WebInspector.ScriptsPanel.prototype._addUISourceCode): + (WebInspector.ScriptsPanel.prototype._updateExecutionLine): + * inspector/front-end/Settings.js: + (WebInspector.ExperimentsSettings): + * inspector/front-end/SettingsScreen.js: + (WebInspector.SettingsScreen): + +2012-02-14 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Qt][Texmap] Refactor backing-store code in TextureMapper + https://bugs.webkit.org/show_bug.cgi?id=78305 + + Instead of dealing with tiling inside of TextureMapperNode, we now deal with that in a new + TextureMapperBackingStore class. Since the class is abstract, WebKit2 can overload it to + support remotely-managed tiles. + The backing-store for directly composited images is handled separately, in a new class + TextureMapperCompositedImage. The TextureMapper implementation decides the dimension of + the tiles, for example 2000 in the case of OpenGL. + Also, directly composited content is now handled correctly, by painting it after the regular + content and not as part of the same texture. + + To make this work, the functions in TextureMapperPlatformLayers had to become non-const, + thus the changes to that file and GraphicsContext3DQt. + + Reviewed by Kenneth Rohde Christiansen. + + No new functionality, no new tests. + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * platform/graphics/opengl/TextureMapperGL.h: + (WebCore::TextureMapperGL::maxTextureDimension): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (GraphicsContext3DPrivate): + (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): + * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: + (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): + (WebCore::GraphicsLayerTextureMapper::didSynchronize): + (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay): + (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay): + (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect): + (WebCore::GraphicsLayerTextureMapper::addChildBelow): + (WebCore): + (WebCore::GraphicsLayerTextureMapper::getContentsLayer): + (WebCore::GraphicsLayerTextureMapper::setContentsToImage): + (WebCore::GraphicsLayerTextureMapper::setContentsToMedia): + * platform/graphics/texmap/GraphicsLayerTextureMapper.h: + (GraphicsLayerTextureMapper): + (WebCore::GraphicsLayerTextureMapper::platformLayer): + (WebCore::GraphicsLayerTextureMapper::needsDisplay): + (WebCore::GraphicsLayerTextureMapper::needsDisplayRect): + * platform/graphics/texmap/TextureMapper.cpp: + * platform/graphics/texmap/TextureMapper.h: + (WebCore::TextureMapper::maxTextureDimension): + (TextureMapper): + * platform/graphics/texmap/TextureMapperBackingStore.cpp: Added. + * platform/graphics/texmap/TextureMapperBackingStore.h: Added. + * platform/graphics/texmap/TextureMapperNode.cpp: + (WebCore::TextureMapperNode::backingStore): + (WebCore::TextureMapperNode::updateBackingStore): + (WebCore::TextureMapperNode::paint): + (WebCore::TextureMapperNode::paintSelf): + (WebCore::TextureMapperNode::intermediateSurfaceRect): + (WebCore::TextureMapperNode::paintRecursive): + (WebCore::TextureMapperNode::syncCompositingStateSelf): + (WebCore::TextureMapperNode::syncCompositingState): + * platform/graphics/texmap/TextureMapperNode.h: + (TextureMapperPaintOptions): + (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions): + (WebCore::TextureMapperNode::TextureMapperNode): + (TextureMapperNode): + (WebCore::TextureMapperNode::setBackingStore): + (WebCore::TextureMapperNode::texture): + (WebCore::TextureMapperNode::layerRect): + (WebCore::TextureMapperNode::createBackingStore): + (State): + (WebCore::TextureMapperNode::State::State): + * platform/graphics/texmap/TextureMapperPlatformLayer.h: + (TextureMapperPlatformLayer): + (WebCore::TextureMapperPlatformLayer::swapBuffers): + +2012-02-14 Shinya Kawanaka <shinyak@google.com> + + Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot(). + https://bugs.webkit.org/show_bug.cgi?id=78455 + + Reviewed by Hajime Morita. + + Element::shadowRoot() was used for these 3 purposes. + 1. checks a shadow root exists. + 2. gets author shadow root. + 3. gets user agent shadow root. + + We have to distinguish them when implementing multiple shadow subtrees. + + Calling for (1), (2), and (3) are convered to hasShadowRoot(), + ShadowRootList()->youngestShadowRoot(), and ShadowRootList()->oldestShadowRoot() respectively. + + No new tests, no change in behavior. + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::buildAccessKeyMap): + * dom/Element.cpp: + (WebCore::Element::insertedIntoDocument): + (WebCore::Element::removedFromDocument): + (WebCore::Element::insertedIntoTree): + (WebCore::Element::removedFromTree): + (WebCore::Element::attach): + (WebCore::Element::detach): + (WebCore::Element::recalcStyle): + (WebCore::Element::ensureShadowRoot): + (WebCore::Element::childrenChanged): + (WebCore::Element::focus): + * dom/Element.h: + (Element): + * dom/EventDispatcher.cpp: + (WebCore::isShadowHost): + * dom/Node.cpp: + (WebCore::shadowRoot): + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::NodeRenderingContext): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::create): + * dom/ShadowRootList.cpp: + (WebCore::ShadowRootList::insertedIntoDocument): + (WebCore): + (WebCore::ShadowRootList::removedFromDocument): + (WebCore::ShadowRootList::insertedIntoTree): + (WebCore::ShadowRootList::removedFromTree): + (WebCore::ShadowRootList::hostChildrenChanged): + (WebCore::ShadowRootList::attach): + (WebCore::ShadowRootList::detach): + * dom/ShadowRootList.h: + (ShadowRootList): + * dom/TreeScopeAdopter.cpp: + (WebCore::shadowRootFor): + * html/FileInputType.cpp: + (WebCore::FileInputType::createShadowSubtree): + (WebCore::FileInputType::multipleAttributeChanged): + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::createShadowSubtree): + (WebCore::HTMLDetailsElement::findMainSummary): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::createShadowSubtree): + * html/HTMLKeygenElement.cpp: + (WebCore::HTMLKeygenElement::HTMLKeygenElement): + (WebCore::HTMLKeygenElement::shadowSelect): + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaControls): + (WebCore::HTMLMediaElement::hasMediaControls): + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::createShadowSubtree): + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::createShadowSubtree): + * html/HTMLSummaryElement.cpp: + (WebCore::HTMLSummaryElement::createShadowSubtree): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::createShadowSubtree): + (WebCore::HTMLTextAreaElement::innerTextElement): + (WebCore::HTMLTextAreaElement::updatePlaceholderText): + * html/InputType.cpp: + (WebCore::InputType::destroyShadowSubtree): + * html/RangeInputType.cpp: + (WebCore::RangeInputType::handleMouseDownEvent): + (WebCore::RangeInputType::createShadowSubtree): + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::createShadowSubtree): + (WebCore::TextFieldInputType::updatePlaceholderText): + * html/ValidationMessage.cpp: + (WebCore::ValidationMessage::deleteBubbleTree): + * html/shadow/SliderThumbElement.cpp: + (WebCore::sliderThumbElementOf): + (WebCore::RenderSliderContainer::layout): + (WebCore::trackLimiterElementOf): + * page/FocusController.cpp: + (WebCore::shadowRoot): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::uploadButton): + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::updateReferencedText): + * testing/Internals.cpp: + (WebCore::Internals::ensureShadowRoot): + (WebCore::Internals::shadowRoot): + (WebCore): + (WebCore::Internals::youngestShadowRoot): + (WebCore::Internals::oldestShadowRoot): + * testing/Internals.h: + (Internals): + * testing/Internals.idl: + +2012-02-14 Alexander Pavlov <apavlov@chromium.org> + + Elements panel needs to be able to preview images + https://bugs.webkit.org/show_bug.cgi?id=21570 + + Reviewed by Pavel Feldman. + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype.willHide): + (WebInspector.ElementsPanel.prototype._getPopoverAnchor): + (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode.dimensions): + (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode): + (WebInspector.ElementsPanel.prototype._loadDimensionsForNode): + (WebInspector.ElementsPanel.prototype._showPopover.dimensionsCallback): + (WebInspector.ElementsPanel.prototype._showPopover.showPopover): + (WebInspector.ElementsPanel.prototype._showPopover.buildPopoverContents): + (WebInspector.ElementsPanel.prototype._showPopover): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype._onmousemove): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.get g): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle): + * inspector/front-end/elementsPanel.css: + (.image-preview-container): + (.image-preview-container img): + +2012-02-14 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: List expansion arrows is pointing down even + when the list of eventListeners are hidden in the Elements tab + https://bugs.webkit.org/show_bug.cgi?id=78360 + + Reviewed by Timothy Hatcher. + + * inspector/front-end/elementsPanel.css: + (.section .event-bar .header): + (.section .event-bars .event-bar .header .title): + (.section .event-bar .header .subtitle): + (.section .event-bar .header::before): + (.section .event-bar.expanded .header::before): + +2012-02-14 Hayato Ito <hayato@chromium.org> + + Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE. + https://bugs.webkit.org/show_bug.cgi?id=77514 + + Reviewed by Dimitri Glazkov. + + NodeType.SHADOW_ROOT_NODE type is finally gone. + + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapperInline): + * bindings/objc/DOM.mm: + (kitClass): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + * dom/ContainerNode.cpp: + (WebCore::collectTargetNodes): + (WebCore::ContainerNode::replaceChild): + * dom/Document.cpp: + (WebCore::Document::importNode): + (WebCore::Document::childTypeAllowed): + (WebCore::Document::canReplaceChild): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + (WebCore::Node::isDefaultNamespace): + (WebCore::Node::lookupPrefix): + (WebCore::Node::lookupNamespaceURI): + (WebCore::appendTextContent): + (WebCore::Node::setTextContent): + * dom/Node.h: + * dom/Range.cpp: + (WebCore::lengthOfContentsInNode): + (WebCore::Range::processContentsBetweenOffsets): + (WebCore::Range::insertNode): + (WebCore::Range::checkNodeWOffset): + (WebCore::Range::checkNodeBA): + (WebCore::Range::selectNode): + (WebCore::Range::selectNodeContents): + (WebCore::Range::surroundContents): + * dom/ShadowRoot.cpp: + * dom/ShadowRoot.h: + (ShadowRoot): + (WebCore::toShadowRoot): + * editing/FrameSelection.cpp: + (WebCore::nodeIsDetachedFromDocument): + (WebCore): + (WebCore::FrameSelection::textWillBeReplaced): + * editing/MarkupAccumulator.cpp: + (WebCore::MarkupAccumulator::appendStartMarkup): + * html/parser/HTMLElementStack.cpp: + (WebCore::HTMLNames::isRootNode): + (WebCore::HTMLElementStack::pushRootNode): + * html/parser/HTMLElementStack.h: + (WebCore::isInHTMLNamespace): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::buildObjectForNode): + * xml/XPathUtil.cpp: + (WebCore::XPath::isValidContextNode): + +2012-02-14 Andreas Kling <awesomekling@apple.com> + + StylePropertySet: Try to find a CSSValuePool for identifier values. + <http://webkit.org/b/78590> + + Reviewed by Antti Koivisto. + + For StylePropertySets with a parent element (inline and attribute style), + grab at the parentElement()->document() to locate a CSSValuePool. + This code will change soon in the CSSOM refactoring and moreso once we + figure out how to have a global CSSValuePool, but I'm hoping it will buy + us some perf back in the meantime. + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::setProperty): + +2012-02-14 Nikolas Zimmermann <nzimmermann@rim.com> + + Convert svg/animations to use SMIL methods for driving the timeline + https://bugs.webkit.org/show_bug.cgi?id=78422 + + Reviewed by Hajime Morita. + + Fix last-minute typo in clearTimesWithDynamicOrigins, leading to assertions browsing the W3C SVG animation tests. + Covered by existing tests in svg/animations. + + * svg/SVGAnimationElement.cpp: Remove unused endedActiveInterval. + * svg/SVGAnimationElement.h: Ditto. + * svg/animation/SVGSMILElement.cpp: + (WebCore::clearTimesWithDynamicOrigins): Fix order of walking the times list. + (WebCore::SVGSMILElement::reset): Move calls to clearTimesWithDynamicOrigins into endedActiveInterval. + (WebCore::SVGSMILElement::endedActiveInterval): + * svg/animation/SVGSMILElement.h: + (SVGSMILElement): Devirtualize endedActiveInterval. + +2012-02-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r107661. + http://trac.webkit.org/changeset/107661 + https://bugs.webkit.org/show_bug.cgi?id=78591 + + crash on lion/qt bots (Requested by hayato on #webkit). + + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapperInline): + * bindings/objc/DOM.mm: + (kitClass): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + * dom/ContainerNode.cpp: + (WebCore::collectTargetNodes): + (WebCore::ContainerNode::replaceChild): + * dom/Document.cpp: + (WebCore::Document::importNode): + (WebCore::Document::childTypeAllowed): + (WebCore::Document::canReplaceChild): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + (WebCore::Node::isDefaultNamespace): + (WebCore::Node::lookupPrefix): + (WebCore::Node::lookupNamespaceURI): + (WebCore::appendTextContent): + (WebCore::Node::setTextContent): + * dom/Node.h: + * dom/Range.cpp: + (WebCore::lengthOfContentsInNode): + (WebCore::Range::processContentsBetweenOffsets): + (WebCore::Range::insertNode): + (WebCore::Range::checkNodeWOffset): + (WebCore::Range::checkNodeBA): + (WebCore::Range::selectNode): + (WebCore::Range::selectNodeContents): + (WebCore::Range::surroundContents): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::nodeType): + (WebCore): + * dom/ShadowRoot.h: + (ShadowRoot): + (WebCore::toShadowRoot): + * editing/FrameSelection.cpp: + (WebCore::FrameSelection::textWillBeReplaced): + * editing/MarkupAccumulator.cpp: + (WebCore::MarkupAccumulator::appendStartMarkup): + * html/parser/HTMLElementStack.cpp: + (WebCore::HTMLNames::isRootNode): + (WebCore::HTMLElementStack::pushRootNode): + * html/parser/HTMLElementStack.h: + (WebCore::isInHTMLNamespace): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::buildObjectForNode): + * xml/XPathUtil.cpp: + (WebCore::XPath::isValidContextNode): + +2012-02-14 Hayato Ito <hayato@chromium.org> + + Fix typo. HTMLContentSeleciton -> HTMLContentSelection. + https://bugs.webkit.org/show_bug.cgi?id=78571 + + Reviewed by Hajime Morita. + + No tests. No change in behavior. + + * dom/NodeRenderingContext.cpp: + (WebCore::nextRendererOf): + (WebCore::previousRendererOf): + (WebCore::firstRendererOf): + (WebCore::lastRendererOf): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::insertionPointFor): + * html/shadow/HTMLContentElement.cpp: + (WebCore::HTMLContentElement::attach): + * html/shadow/HTMLContentSelector.cpp: + (WebCore::HTMLContentSelection::append): + (WebCore::HTMLContentSelection::unlink): + (WebCore::HTMLContentSelectionList::find): + (WebCore::HTMLContentSelectionList::append): + (WebCore::HTMLContentSelector::select): + (WebCore::HTMLContentSelector::unselect): + (WebCore::HTMLContentSelector::findFor): + * html/shadow/HTMLContentSelector.h: + (HTMLContentSelection): + (WebCore::HTMLContentSelection::next): + (WebCore::HTMLContentSelection::previous): + (WebCore::HTMLContentSelection::HTMLContentSelection): + (WebCore::HTMLContentSelection::create): + (WebCore::HTMLContentSelectionList::first): + (WebCore::HTMLContentSelectionList::last): + (HTMLContentSelectionList): + (WebCore::HTMLContentSelectionSet::add): + (WebCore::HTMLContentSelectionSet::remove): + (HTMLContentSelectionSet): + (WebCore::HTMLContentSelectionSet::Translator::equal): + (WebCore::HTMLContentSelectionSet::Hash::hash): + (WebCore::HTMLContentSelectionSet::Hash::equal): + (WebCore::HTMLContentSelectionSet::find): + (HTMLContentSelector): + +2012-02-14 Mike Lawther <mikelawther@chromium.org> + + CSS3 calc: embed calc expressions in CSSPrimitiveValue + https://bugs.webkit.org/show_bug.cgi?id=78446 + + Reviewed by Ojan Vafai. + + Adds calc expressions to CSSPrimitiveValue. This enables simple (ie no mixing of + percents with numbers/lengths) expressions to be evaluated on most properties. + + Tests: css3/calc/block-mask-overlay-image-outset-expected.html + css3/calc/css3-radial-gradients-expected.html + css3/calc/gradient-color-stops-expected.html + + * css/CSSCalculationValue.cpp: + (WebCore::CSSCalcValue::computeLengthPx): + (WebCore): + (WebCore::CSSCalcPrimitiveValue::doubleValue): + (CSSCalcPrimitiveValue): + (WebCore::CSSCalcPrimitiveValue::computeLengthPx): + (CSSCalcBinaryOperation): + (WebCore::CSSCalcBinaryOperation::computeLengthPx): + * css/CSSCalculationValue.h: + (CSSCalcExpressionNode): + (CSSCalcValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::createPrimitiveNumericValue): + (WebCore::CSSParser::parseValidPrimitive): + * css/CSSPrimitiveValue.cpp: + (WebCore::isValidCSSUnitTypeForDoubleConversion): + (WebCore::CSSPrimitiveValue::primitiveType): + (WebCore::CSSPrimitiveValue::init): + (WebCore): + (WebCore::CSSPrimitiveValue::cleanup): + (WebCore::CSSPrimitiveValue::computeLengthDouble): + (WebCore::CSSPrimitiveValue::getDoubleValue): + (WebCore::CSSPrimitiveValue::getDoubleValueInternal): + (WebCore::CSSPrimitiveValue::customCssText): + * css/CSSPrimitiveValue.h: + (WebCore): + (WebCore::CSSPrimitiveValue::isLength): + (WebCore::CSSPrimitiveValue::isNumber): + (WebCore::CSSPrimitiveValue::isPercentage): + (WebCore::CSSPrimitiveValue::isPx): + (WebCore::CSSPrimitiveValue::isCalculated): + (WebCore::CSSPrimitiveValue::isCalculatedPercentageNumber): + (WebCore::CSSPrimitiveValue::isCalculatedPercentageLength): + (CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::getValue): + (WebCore::CSSPrimitiveValue::cssCalcValue): + * css/CSSStyleApplyProperty.cpp: + (WebCore::ApplyPropertyBorderRadius::applyValue): + +2012-02-14 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: follow up to r107683: protect inspector sidebar from updating + while inserting new rule. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback): + (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): + +2012-02-14 Rick Byers <rbyers@.com> + + Extend Chromium V8 tracing to cover more cases + https://bugs.webkit.org/show_bug.cgi?id=78507 + + Reviewed by Eric Seidel. + + No tests modified because this affects only chrome tracing which we + currently don't try to validate with automated tests. + + * bindings/v8/V8EventListener.cpp: + (WebCore::V8EventListener::callListenerFunction): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::instrumentedCallFunction): + (WebCore::V8Proxy::newInstance): + +2012-02-14 Pavel Feldman <pfeldman@google.com> + + Web Inspector: fire stylesheet changed event upon CSS modifications. + https://bugs.webkit.org/show_bug.cgi?id=78500 + + Reviewed by Yury Semikhatsky. + + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::mergeId): + (InspectorCSSAgent::SetStyleSheetTextAction): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::merge): + (WebCore::InspectorCSSAgent::setStyleSheetText): + (WebCore::InspectorCSSAgent::asInspectorStyleSheet): + (WebCore::InspectorCSSAgent::bindStyleSheet): + (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): + (WebCore::InspectorCSSAgent::styleSheetChanged): + (WebCore): + * inspector/InspectorCSSAgent.h: + (InspectorCSSAgent): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::create): + (WebCore::InspectorStyleSheet::InspectorStyleSheet): + (WebCore::InspectorStyleSheet::reparseStyleSheet): + (WebCore::InspectorStyleSheet::setRuleSelector): + (WebCore::InspectorStyleSheet::addRule): + (WebCore::InspectorStyleSheet::deleteRule): + (WebCore::InspectorStyleSheet::setPropertyText): + (WebCore::InspectorStyleSheet::toggleProperty): + (WebCore::InspectorStyleSheet::fireStyleSheetChanged): + (WebCore): + (WebCore::InspectorStyleSheetForInlineStyle::create): + (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): + * inspector/InspectorStyleSheet.h: + (WebCore::InspectorStyleSheet::Listener::~Listener): + (Listener): + (InspectorStyleSheet): + (InspectorStyleSheetForInlineStyle): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): + (WebInspector.CSSStyleModel.prototype.addRule): + (WebInspector.CSSStyleModel.prototype.addRule.callback): + (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged): + (WebInspector.CSSStyleModel.prototype.setStyleSheetText): + (WebInspector.CSSStyleModel.prototype._undoRequested): + (WebInspector.CSSStyleModel.prototype._undoCompleted): + (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setText.callback): + (WebInspector.CSSProperty.prototype.setDisabled.callback): + (WebInspector.CSSProperty.prototype.setDisabled): + (WebInspector.CSSStyleSheet.prototype.setText): + (WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged): + (WebInspector.CSSDispatcher.prototype.styleSheetChanged): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged): + (WebInspector.DOMAgent.prototype.get undo): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.handleShortcut): + +2012-02-11 Nikolas Zimmermann <nzimmermann@rim.com> + + Convert svg/animations to use SMIL methods for driving the timeline + https://bugs.webkit.org/show_bug.cgi?id=78422 + + Reviewed by Dirk Schulze. + + Switch the svg/animations tests to use SVGSVGElement.setCurrentTime to drive the animation timeline. + This should fix all flakiness we previously had with these tests - and as nice side-effect we're now + using the standard SVG methods to drive the timeline, and thus have more coverage for these methods. + It already exposed several SMIL bugs, that had to be fixed, before this worked: + + - beginElement()/endElement() modify the begin/end times of a SVGSMILElement. When beginElement() is + called a new begin time is added to the list - and the same happens for endElement() with the end list. + Unfortunately the begin/end times never get removed again, leading to incorrect instance time resolving + when begin/endElement is called repeatedly, combined with moving the timeline through setCurrentTime. + + SMIL3 specifically demands that all 'dynamic' times in the begin/endTimes list, such that got inserted + via beginElement/endElement - get removed if the begin/endTimes list is updated. Why? + When calling beginElement, then endElement, then beginElement again, the begin/endTimes lists should be + identical, w/o leftovers from any previous begin/endElement call. + + To keep track of that introduce SMILTimeWithOrigin, which holds a SMILTime and an Origin enum, + which determines whether this SMILTime was created by the parser or dynamically created via + beginElement/endElement. + + - SMILTimeContainer::setElapsed() (called by SVGSVGElement::setCurrentTime) forgot to update the + animation state, when it was not paused. + + - document.getElementsByTagName('animateMotion')[0], always returned 'object SVGElement', instead of + SVGAnimateMotion element making it impossible to query the animation start time, as the interfaces + from SVGAnimationElement were not available. Fix that by removing the last hacks from svgtags.in, + now that all IDLs are available. + + Now that we use SVGSVGElement::setCurrentTime to drive the animation testing, we can remove + the DRT specific sampleSVGAnimationAtTime functionality, and its code springled all over WebCore. + + Covered by all existing tests in svg/animations. + + * WebCore.exp.in: Remove sampleAnimationAtTime() symbols. + * WebCore.order: Ditto. + * svg/SVGAnimationElement.cpp: Add a flag to begin/endElement, SMILTimeWithOrigin::ScriptOrigin, to indicate that these are dynamic SMILTimes, added by a script. + (WebCore::SVGAnimationElement::beginElementAt): + (WebCore::SVGAnimationElement::endElementAt): + * svg/SVGDocumentExtensions.cpp: Remove sampleAnimationAtTime. + * svg/SVGDocumentExtensions.h: Ditto. + * svg/animation/SMILTime.h: Add SMILTimeWithOrigin helper. + (SMILTimeWithOrigin): Needs a SMILTime and an Origin enum entry. + (WebCore::SMILTimeWithOrigin::SMILTimeWithOrigin): + (WebCore::SMILTimeWithOrigin::time): Returns the SMILTime. + (WebCore::SMILTimeWithOrigin::originIsScript): Determines if this SMILTime got added by a script. + (WebCore::operator<): Used by std::sort. + * svg/animation/SMILTimeContainer.cpp: + (WebCore::SMILTimeContainer::setElapsed): Always call updateAnimations, even if the animation is not paused. Use the right elpased time value, to seek precisely to the desired position. + (WebCore::SMILTimeContainer::timerFired): Cleanup code, no need for a local variable 'elapsed'. + (WebCore::SMILTimeContainer::updateAnimations): Remove DRT specific sampling code, which is no longer needed. + * svg/animation/SMILTimeContainer.h: Remove sampleAnimationAtTime. + * svg/animation/SVGSMILElement.cpp: + (WebCore::SVGSMILElement::SVGSMILElement): Only call resolveFirstInterval, not reset, from the constructor - it wastes unnecessary time, as everything is already initialized. + (WebCore::clearTimesWithDynamicOrigins): Helper function to clear all SMILTimes from the begin/endTimes list, that are dynamic. + (WebCore::SVGSMILElement::reset): Clear begin/endTimes lists, on any reset() call (when driving the animation timeline through setElapsed). + (WebCore::SVGSMILElement::insertedIntoDocument): m_beginTimes now stores SMILTimeWithOrigins, adapt the code. + (WebCore::sortTimeList): Ditto. + (WebCore::SVGSMILElement::parseBeginOrEnd): Ditto. + (WebCore::SVGSMILElement::addBeginTime): Ditto. + (WebCore::SVGSMILElement::addEndTime): Ditto. + (WebCore::extractTimeFromVector): Ditto. + (WebCore::SVGSMILElement::findInstanceTime): Ditto. + * svg/animation/SVGSMILElement.h: + * svg/svgtags.in: Enable animateMotion/hkern/mpath JS interfaces, which were not enabled, despite their IDLs existed. + +2012-02-14 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: [REGRESSION] Copy Stack Trace is broken + https://bugs.webkit.org/show_bug.cgi?id=78583 + + Reviewed by Yury Semikhatsky. + + Test: inspector/debugger/copy-stack-trace.html + + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype._copyStackTrace): + +2012-02-14 Eric Seidel <eric@webkit.org> + + Upstream Android's support for SK_B32_SHIFT to JPEGImageEncoder + https://bugs.webkit.org/show_bug.cgi?id=78540 + + Reviewed by Adam Barth. + + * platform/image-encoders/skia/JPEGImageEncoder.cpp: + (WebCore::encodePixels): + +2012-02-13 Pavel Feldman <pfeldman@chromium.org> + + [Qt] inspector/styles/undo-add-new-rule.html crashes + https://bugs.webkit.org/show_bug.cgi?id=78502 + + Reviewed by Yury Semikhatsky. + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::deleteRule): + +2012-02-13 Nate Chapin <japhet@chromium.org> + + Reuse CachedRawResources (e.g., XHRs) that are stored + in the MemoryCache when appropriate. + https://bugs.webkit.org/show_bug.cgi?id=76564 + + Reviewed by Antti Koivisto. + + No new tests, expected behavior covered by existing tests. + + * html/DOMURL.cpp: + (WebCore::DOMURL::revokeObjectURL): Objects shouldn't remain in the + MemoryCache if revokeObjectURL is called on them. + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::cachedResourceContent): Add CachedRawResource support. + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::setCacheDisabled): Immediately + evict resources, rather than waiting for navigation, since XHRs + should hit the cache if it has been disabled. + * loader/cache/CachedRawResource.cpp: + (CachedRawResourceCallback): Encapsulates the async callback for + a cache hit for CachedRawResources. + (WebCore::CachedRawResource::sendCallbacks): Do the work defered in didAddClient. + (WebCore::CachedRawResource::didAddClient): Scheduled a CachedRawResourceCallback if + we already have a response, since async XHRs may not play nicely with receiving + their data synchronously. + (WebCore::CachedRawResource::removeClient): Ensure we cancel a callback to a client if + it removes itself. + (WebCore::CachedRawResource::canReuse): Provide some basic rules for when a + CachedRawResource can be reused. + * loader/cache/CachedRawResource.h: + * loader/cache/CachedResource.h: + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::determineRevalidationPolicy): Don't automatically reload + CachedRawResources, and add a check for whether this request has already been + made conditional. + * xml/XMLHttpRequest.cpp: + +2012-02-13 Dana Jansens <danakj@chromium.org> + + [chromium] Set opaque flag on SkBitmap in per-tile layer updater + https://bugs.webkit.org/show_bug.cgi?id=78498 + + Reviewed by Stephen White. + + No new tests. + + * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: + (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect): + * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: + (SkPictureCanvasLayerTextureUpdater): + (WebCore::SkPictureCanvasLayerTextureUpdater::layerIsOpaque): + +2012-02-13 W. James MacLean <wjmaclean@chromium.org> + + [chromium] Remove obsolete zoom animation pathway. + https://bugs.webkit.org/show_bug.cgi?id=78359 + + Reviewed by James Robinson. + + Tests for existing pathways should not be broken. Tests for removed pathway removed previously. + + This patch removes dead code from the previous incarnation of zoom animation for chromium. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleGestureEvent): + * page/FrameView.cpp: + * page/FrameView.h: + (FrameView): + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::ScrollAnimator): + * platform/ScrollAnimator.h: + (ScrollAnimator): + * platform/ScrollAnimatorNone.cpp: + (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): + (WebCore::ScrollAnimatorNone::animationTimerFired): + * platform/ScrollAnimatorNone.h: + (ScrollAnimatorNone): + * platform/ScrollableArea.cpp: + * platform/ScrollableArea.h: + * testing/InternalSettings.cpp: + * testing/InternalSettings.h: + (InternalSettings): + * testing/InternalSettings.idl: + * testing/Internals.cpp: + +2012-02-13 Shinya Kawanaka <shinyak@chromium.org> + + [Regression] r107650 broke the windows build. + https://bugs.webkit.org/show_bug.cgi?id=78569 + + Build fix, Unreviewed. + + The variable defined in switch statement should not escape from the switch statement. + + * dom/Element.cpp: + (WebCore::Element::webkitRegionOverflow): + +2012-02-13 ChangSeok Oh <shivamidow@gmail.com> + + [GTK] Mutation Observers build is broken + https://bugs.webkit.org/show_bug.cgi?id=78433 + + Reviewed by Martin Robinson. + + Added some files missed. + + No new tests since no new feature. + + * GNUmakefile.list.am: + +2012-02-13 Hayato Ito <hayato@chromium.org> + + Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE. + https://bugs.webkit.org/show_bug.cgi?id=77514 + + Reviewed by Dimitri Glazkov. + + NodeType.SHADOW_ROOT_NODE type is finally gone. + + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapperInline): + * bindings/objc/DOM.mm: + (kitClass): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + * dom/ContainerNode.cpp: + (WebCore::collectTargetNodes): + (WebCore::ContainerNode::replaceChild): + * dom/Document.cpp: + (WebCore::Document::importNode): + (WebCore::Document::childTypeAllowed): + (WebCore::Document::canReplaceChild): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + (WebCore::Node::isDefaultNamespace): + (WebCore::Node::lookupPrefix): + (WebCore::Node::lookupNamespaceURI): + (WebCore::appendTextContent): + (WebCore::Node::setTextContent): + * dom/Node.h: + * dom/Range.cpp: + (WebCore::lengthOfContentsInNode): + (WebCore::Range::processContentsBetweenOffsets): + (WebCore::Range::insertNode): + (WebCore::Range::checkNodeWOffset): + (WebCore::Range::checkNodeBA): + (WebCore::Range::selectNode): + (WebCore::Range::selectNodeContents): + (WebCore::Range::surroundContents): + * dom/ShadowRoot.cpp: + * dom/ShadowRoot.h: + (ShadowRoot): + (WebCore::toShadowRoot): + * editing/FrameSelection.cpp: + (WebCore::nodeIsDetachedFromDocument): + (WebCore): + (WebCore::FrameSelection::textWillBeReplaced): + * editing/MarkupAccumulator.cpp: + (WebCore::MarkupAccumulator::appendStartMarkup): + * html/parser/HTMLElementStack.cpp: + (WebCore::HTMLNames::isRootNode): + (WebCore::HTMLElementStack::pushRootNode): + * html/parser/HTMLElementStack.h: + (WebCore::isInHTMLNamespace): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::buildObjectForNode): + * xml/XPathUtil.cpp: + (WebCore::XPath::isValidContextNode): + +2012-02-13 Ojan Vafai <ojan@chromium.org> + + rtl + flex-direction:column is positioning elements incorrectly + https://bugs.webkit.org/show_bug.cgi?id=78555 + + Reviewed by Tony Chang. + + Do the y-axis flipping after we have adjusted the y-position for + flex-align instead of before. + + Tests: css3/flexbox/flex-align-baseline.html + css3/flexbox/flex-align-end.html + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::alignChildren): + The amount we adjust by also needs to be flipped for rtl+column, + so the flipping needs to be done after we align the flex items. + +2012-02-09 Ojan Vafai <ojan@chromium.org> + + nesting horizontal flexboxes is broken + https://bugs.webkit.org/show_bug.cgi?id=76867 + + Reviewed by David Hyatt. + + This is copied from RenderDeprecatedFlexibleBox and updated + for RenderFlexibleBox and to handle vertical writing mode. + + Tests: css3/flexbox/preferred-widths-orthogonal.html + css3/flexbox/preferred-widths.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::computePreferredLogicalWidths): + * rendering/RenderFlexibleBox.cpp: + (WebCore::marginWidthForChild): + (WebCore): + (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): + * rendering/RenderFlexibleBox.h: + (RenderFlexibleBox): + +2012-02-13 Anders Carlsson <andersca@apple.com> + + The tile cache layer should have its background set to the page background + https://bugs.webkit.org/show_bug.cgi?id=78560 + <rdar://problem/10857472> + + Reviewed by Sam Weinig. + + * page/FrameView.cpp: + (WebCore::FrameView::recalculateScrollbarOverlayStyle): + Inform the RenderLayerCompositor that the background color has changed. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): + For tile cache layers we don't need a separate contents layer for the background color so + just set the background color on the layer directly. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange): + If the root render layer is using a tile cache layer, update its background color. + +2012-02-13 Raul Hudea <rhudea@adobe.com> + + Implement Element.webkitRegionOverflow + + [CSSRegions][CSSOM] Implement Element.regionOverflow + https://bugs.webkit.org/show_bug.cgi?id=77863 + + Reviewed by David Hyatt. + + On each layout, compute the overflowState for each region belonging to the flow thread + + Tests: fast/regions/element-region-overflow-state-vertical-rl.html + fast/regions/element-region-overflow-state.html + + * dom/Element.cpp: + (WebCore::Element::webkitRegionOverflow): + (WebCore): + * dom/Element.h: + * dom/Element.idl: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::computeOverflow): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::computeOverflowStateForRegions): + (WebCore): + * rendering/RenderFlowThread.h: + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::RenderRegion): + * rendering/RenderRegion.h: + (RenderRegion): + (WebCore::RenderRegion::regionState): + (WebCore::RenderRegion::setRegionState): + +2012-02-13 Alexey Proskuryakov <ap@apple.com> + + File API IDLs are incorrect in Xcode project + https://bugs.webkit.org/show_bug.cgi?id=78551 + + Rubber-stamped by Dan Bernstein. + + * WebCore.xcodeproj/project.pbxproj: Corrected paths, and added missing files. + +2012-02-13 Benjamin Poulain <bpoulain@apple.com> + + SharedBuffer::getSomeData() can potentially return a pointer past the data + https://bugs.webkit.org/show_bug.cgi?id=77799 + + Reviewed by David Kilzer. + + The expected behavior from SharedBuffer::getSomeData() is to return a size and pointer of value 0 + if position is past the data. + + However, the code handling the memory mapped data is before the code ensuring the aforementioned + condition. It is possible to return a pointer past the data, and a non-null size. + + This patch aims at preventing such invalid memory access by checking position is in the boundaries + before any attempt is made to return the data. + + * platform/SharedBuffer.cpp: + (WebCore::SharedBuffer::getSomeData): + +2012-02-13 Benjamin Poulain <bpoulain@apple.com> + + SharedBuffer::getSomeData() must support m_dataArray if NETWORK_CFDATA_ARRAY_CALLBACK is defined + https://bugs.webkit.org/show_bug.cgi?id=77718 + + Reviewed by David Kilzer. + + Previously, the last part of SharedBuffer::getSomeData() was systematically accessing + the data from the segments. When NETWORK_CFDATA_ARRAY_CALLBACK is defined, there can + be data in m_dataArray past the segment. + + The previous code was making invalid memory access pass the segment vector. This patch + adds support for getting the data out of m_dataArray to make SharedBuffer::getSomeData() + works with NETWORK_CFDATA_ARRAY_CALLBACK. + + This is covered by existing tests when NETWORK_CFDATA_ARRAY_CALLBACK is defined. + The test 'fast/events/constructors/track-event-constructor.html' is a reliable test + for this. + + * platform/SharedBuffer.cpp: + (WebCore::SharedBuffer::getSomeData): + * platform/SharedBuffer.h: + (SharedBuffer): + * platform/cf/SharedBufferCF.cpp: + (WebCore): + (WebCore::SharedBuffer::copySomeDataFromDataArray): + +2012-02-13 Anders Carlsson <andersca@apple.com> + + Force slow-scrolling mode when there are position:fixed elements on a page + https://bugs.webkit.org/show_bug.cgi?id=78553 + <rdar://problem/10247934> + + Reviewed by Dan Bernstein. + + Eventually, the scrolling tree will know about fixed positioning layers so their position can be updated + when the scroll layer position is updated. For now we'll take the simple route however. + + * page/FrameView.cpp: + (WebCore::FrameView::addFixedObject): + (WebCore::FrameView::removeFixedObject): + Inform the scrolling coordinator when the number of fixed objects changes between 0 and 1. + + * page/FrameView.h: + (WebCore::FrameView::hasFixedObjects): + Make this public. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange): + Call updateShouldUpdateScrollLayerPositionOnMainThread. + + (WebCore::ScrollingCoordinator::frameViewHasFixedObjectsDidChange): + Call updateShouldUpdateScrollLayerPositionOnMainThread. + + (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition): + Make sure to update compositing layers here. Normally, they will be updated by layout but doing a layout + here is too intrusive since it could potentially change the size of the page. + + (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread): + If we have fixed objects or slow repaint objects we need to update the scroll layer position on the main thread. + +2012-02-13 Adrienne Walker <enne@google.com> + + [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap + https://bugs.webkit.org/show_bug.cgi?id=74154 + + Reviewed by James Robinson. + + Covered by the compositing/ layout tests. + + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::UpdatableTile::create): + (WebCore::UpdatableTile::UpdatableTile): + (WebCore::TiledLayerChromium::createTile): + * platform/graphics/chromium/cc/CCLayerTilingData.cpp: + (WebCore::CCLayerTilingData::addTile): + (WebCore::CCLayerTilingData::takeTile): + (WebCore::CCLayerTilingData::tileAt): + * platform/graphics/chromium/cc/CCLayerTilingData.h: + * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: + (WebCore::DrawableTile::create): + (WebCore::DrawableTile::DrawableTile): + (WebCore::CCTiledLayerImpl::createTile): + +2012-02-13 Kentaro Hara <haraken@chromium.org> + + Add [CustomToJSObject] to interfaces which have custom toJS() and toV8() + https://bugs.webkit.org/show_bug.cgi?id=78489 + + Reviewed by Adam Barth. + + This is the final step to remove hard-coding from HasCustomToV8Implementation() + in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [CustomToJSObject] + for interfaces which have custom toJS() and custom toV8(). + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateHeader): + (GenerateImplementation): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + + * bindings/scripts/test/TestTypedArray.idl: + * css/CSSRule.idl: + * css/CSSValue.idl: + * css/StyleSheet.idl: + * dom/Document.idl: + * dom/Event.idl: + * dom/Node.idl: + * fileapi/Blob.idl: + * fileapi/Entry.idl: + * fileapi/EntrySync.idl: + * html/HTMLCollection.idl: + * html/ImageData.idl: + * html/canvas/ArrayBufferView.idl: + * html/canvas/DataView.idl: + * html/canvas/Float32Array.idl: + * html/canvas/Float64Array.idl: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.idl: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.idl: + * html/canvas/Uint8ClampedArray.idl: + * storage/IDBAny.idl: + * storage/IDBKey.idl: + * svg/SVGPathSeg.idl: + +2012-02-13 Arun Patole <bmf834@motorola.com> + + Chrome crashes when attempting to add cue to track element + https://bugs.webkit.org/show_bug.cgi?id=77951 + + Reviewed by Eric Carlson. + + Allocate text track's text track list of cues before using it. + + * html/TextTrack.cpp: + (WebCore::TextTrack::cues): + (WebCore::TextTrack::addCue): + (WebCore::TextTrack::removeCue): return if text track list of cues is not allocated. + (WebCore::TextTrack::ensureTextTrackCueList):Added. + * html/TextTrack.h: + (TextTrack): + +2012-02-13 Andy Estes <aestes@apple.com> + + Fix the Windows build. + + * platform/PlatformPasteboard.h: + (PlatformPasteboard): + +2012-02-13 Abhishek Arya <inferno@chromium.org> + + Crash with button in multi-column layout. + https://bugs.webkit.org/show_bug.cgi?id=78378 + + Reviewed by David Hyatt. + + Button creates an anonymous wrapper and expects that new children + be added to its m_inner anonymous block. However, splitBlock code + incorrectly creates column blocks directly under the button. + + Test: fast/multicol/span/split-flow-anonymous-wrapper-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::containingColumnsBlock): + (WebCore::RenderBlock::columnsBlockForSpanningElement): + +2012-02-09 Ojan Vafai <ojan@chromium.org> + + nesting horizontal flexboxes is broken + https://bugs.webkit.org/show_bug.cgi?id=76867 + + Reviewed by David Hyatt. + + This is copied from RenderDeprecatedFlexibleBox and updated + for RenderFlexibleBox and to handle vertical writing mode. + + Tests: css3/flexbox/preferred-widths-orthogonal.html + css3/flexbox/preferred-widths.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::computePreferredLogicalWidths): + * rendering/RenderFlexibleBox.cpp: + (WebCore::marginWidthForChild): + (WebCore): + (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): + * rendering/RenderFlexibleBox.h: + (RenderFlexibleBox): + +2012-02-13 Mihnea Ovidenie <mihnea@adobe.com> + + Crash in RenderFlowThread::setRegionBoxesRegionStyle + https://bugs.webkit.org/show_bug.cgi?id=78298 + + Reviewed by David Hyatt. + + Test: fast/regions/set-box-style-in-region-crash.html + + We have to make sure that anonymous block objects get their information in RenderFlowThread + removed properly. + + * dom/Node.cpp: + (WebCore::Node::diff): + Correct a comment. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::collapseAnonymousBoxChild): + Remove the information for anonymous block from render flow thread. + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::removeFlowChildInfo): + (WebCore): + (WebCore::RenderFlowThread::setRegionRangeForBox): + Do not set region range if the flow thread does not have regions. + * rendering/RenderFlowThread.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::willBeDestroyed): + Add an assert to make sure that after we remove an object, there is no remaining info + in any render flow thread. + +2012-02-13 Tony Chang <tony@chromium.org> + + Unreviewed, rolling out r107582. + http://trac.webkit.org/changeset/107582 + https://bugs.webkit.org/show_bug.cgi?id=78349 + + Broke three inspector interactive_ui_tests + + * English.lproj/localizedStrings.js: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes): + * inspector/front-end/ScriptsNavigator.js: + (WebInspector.ScriptsNavigator.prototype._removeUISourceCode.get while): + (WebInspector.ScriptsNavigator.prototype._removeUISourceCode): + (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded): + (WebInspector.ScriptsPanel.prototype._updateExecutionLine): + * inspector/front-end/Settings.js: + (WebInspector.ExperimentsSettings): + * inspector/front-end/SettingsScreen.js: + (WebInspector.SettingsScreen): + +2012-02-13 Abhishek Arya <inferno@chromium.org> + + Incorrect children placement in multi-column layout. + https://bugs.webkit.org/show_bug.cgi?id=78160 + + Reviewed by David Hyatt. + + Test: fast/multicol/span/clone-before-after-content-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clone): no longer need to take care of making + children noninline (remove fix r105769) since moveChild functions take + care of adding the child properly if type of children differ. this + function just makes sure to set the right value of childrenInline property. + (WebCore::RenderBlock::splitBlocks): similar to moveChild functions below. + (WebCore::RenderBlock::moveChildTo): when child is fullRemoveInsert (across + different parents, e.g clones), we should use addChild function to make sure + it handles the case of different type of children between fromBlock and + toBlock correctly (specifically making children non-inline/wrapping inline + children under anonymous blocks.). + (WebCore::RenderBlock::moveChildrenTo): + * rendering/RenderBlock.h: + (RenderBlock): + (WebCore::RenderBlock::moveAllChildrenTo): Rename to->toBlock. + (WebCore::RenderBlock::moveChildrenTo): Rename to->toBlock. + +2012-02-13 Stephen White <senorblanco@chromium.org> + + [chromium] Implement Brightness and Contrast filters on composited + layers. Fix Saturation filter. + https://bugs.webkit.org/show_bug.cgi?id=78527 + + Reviewed by Kenneth Russell. + + Will be covered by existing tests in css3/filters, when enabled. + + * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: + (WebCore::CCRenderSurfaceFilters::apply): + +2012-02-13 Anders Carlsson <andersca@apple.com> + + Turn off edge antialiasing for tile cache tile layers + https://bugs.webkit.org/show_bug.cgi?id=78533 + <rdar://problem/10710798> + + Reviewed by Sam Weinig. + + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::createTileLayer): + +2012-02-13 Enrica Casucci <enrica@apple.com> + + Build fix. Unreviewed. + + * WebCore.xcodeproj/project.pbxproj: + +2012-02-13 Brady Eidson <beidson@apple.com> + + <rdar://problem/7196487> and https://bugs.webkit.org/show_bug.cgi?id=26777 + Add https pages to the page cache in some cases + + Reviewed by Anders Carlsson. + + Test: http/tests/navigation/https-in-page-cache.html + + * history/PageCache.cpp: + (WebCore::PageCache::canCachePageContainingThisFrame): Allow HTTPS pages that do not specify cache-control: no-cache + or cache-control: no-store into the page cache. This will match Firefox's behavior for HTTPS in their bfcache. + +2012-02-10 Enrica Casucci <enrica@apple.com> + + Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies. + https://bugs.webkit.org/show_bug.cgi?id=78282 + + This patch removes any accesss to the NSPasteboard object from the Pasteboard class which + now makes use of a new pasteboardStrategy object that is implemented both in WebKit and + WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard + class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy + interface but this one more step in the direction of removing access to NSPasteboard from + the WebProcess. + As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes. + + Reviewed by Anders Carlsson. + + No new tests. No change in behavior, just code refactoring. + + * WebCore.exp.in: Added exported class PlatformPasteboard. + * WebCore.xcodeproj/project.pbxproj: Added new files to the build. + * editing/mac/EditorMac.mm: + (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types. + * platform/Pasteboard.h: + + * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class. + * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard. + * platform/PlatformStrategies.h: + (WebCore::PlatformStrategies::pasteboardStrategy): Added. + * platform/mac/DragDataMac.mm: + (WebCore::DragData::canSmartReplace): + (WebCore::insertablePasteboardTypes): + (WebCore::DragData::asURL): + * platform/mac/PasteboardMac.mm: + (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray. + (WebCore::writableTypesForURL): Ditto. + (WebCore::createWritableTypesForImage): Ditto. + (WebCore::writableTypesForImage): Ditto. + (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard. + (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy(). + (WebCore::Pasteboard::writeSelectionForTypes): Ditto. + (WebCore::Pasteboard::writePlainText): Ditto. + (WebCore::Pasteboard::writeSelection): Ditto. + (WebCore::writeURLForTypes): Ditto. + (WebCore::Pasteboard::writeURL): Ditto. + (WebCore::writeFileWrapperAsRTFDAttachment): Ditto. + (WebCore::Pasteboard::writeImage): Ditto. + (WebCore::Pasteboard::writeClipboard): Ditto. + (WebCore::Pasteboard::canSmartReplace): Ditto. + (WebCore::Pasteboard::plainText): Ditto. + (WebCore::documentFragmentWithRTF): Ditto. + (WebCore::Pasteboard::documentFragment): Ditto. + * platform/mac/PlatformPasteboardMac.mm: Added. + (WebCore::PlatformPasteboard::PlatformPasteboard): + (WebCore::PlatformPasteboard::getTypes): + (WebCore::PlatformPasteboard::bufferForType): + (WebCore::PlatformPasteboard::getPathnamesForType): + (WebCore::PlatformPasteboard::stringForType): + (WebCore::PlatformPasteboard::copy): + (WebCore::PlatformPasteboard::setTypes): + (WebCore::PlatformPasteboard::setBufferForType): + (WebCore::PlatformPasteboard::setPathnamesForType): + (WebCore::PlatformPasteboard::setStringForType): + +2012-02-13 Raul Hudea <rhudea@adobe.com> + + [CSS Regions] Inconsistent text selection behavior in regions + https://bugs.webkit.org/show_bug.cgi?id=76456 + + Reviewed by David Hyatt. + + Use the proper bounding rect when doing hit testing on flow threads. + Based on initial patch by Alexandru Chiculita. + + Test: fast/regions/hit-test-region.html + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::hitTestRegion): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTest): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::nodeAtPoint): + +2012-02-12 Andy Estes <aestes@apple.com> + + [Windows] Add API to enable inverted color drawing on a WebView + https://bugs.webkit.org/show_bug.cgi?id=77382 + + Reviewed by Adam Roben. + + Implement CACFLayerTreeHost::setShouldInvertColors(), which instructs + the layer tree host to render composited content with inverted colors. + + Test: platform/win/inverted-colors/non-composited.html + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::setShouldInvertColors): + (WebCore): + * platform/graphics/ca/win/CACFLayerTreeHost.h: + (CACFLayerTreeHost): + * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Use + SOFT_LINK_OPTIONAL since WKCACFViewSetShouldInvertColors might not + exist in older versions of WebKitQuartzCoreAdditions. + (WebCore::WKCACFViewLayerTreeHost::setShouldInvertColors): + (WebCore): + * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: + (WKCACFViewLayerTreeHost): + +2012-02-13 Anders Carlsson <andersca@apple.com> + + The scrolling tree needs to know about the back forward state of the page + https://bugs.webkit.org/show_bug.cgi?id=78523 + <rdar://problem/10756548> + + Reviewed by Sam Weinig. + + In order to know if a page should rubber-band in the horizontal direction, the scrolling tree + needs to know about the back/forward state of the page. + + * WebCore.exp.in: + Export new symbols. + + * WebCore.xcodeproj/project.pbxproj: + * page/scrolling/ScrollingTree.cpp: + (WebCore::ScrollingTree::ScrollingTree): + Initialize m_canGoBack and m_canGoForward. + + (WebCore::ScrollingTree::updateBackForwardState): + Update m_canGoBack and m_canGoForward. + + * page/scrolling/ScrollingTree.h: + (WebCore::ScrollingTree::canGoBack): + (WebCore::ScrollingTree::canGoForward): + Add getters. + + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection): + Implement this, using canGoBack and canGoForward. + +2012-02-13 Brady Eidson <beidson@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=78520 + Cleanup PageCache::canCachePageContainingThisFrame readability + + Reviewed by Anders Carlsson. + + No new tests. (Code cleanup, no change in behavior) + + * history/PageCache.cpp: + (WebCore::PageCache::canCachePageContainingThisFrame): Store three commonly + getter-accessed variables in local variables for readability. + +2012-02-13 Timothy Hatcher <timothy@apple.com> + + Don't include a separator before the "Inspect Element" context menu item when the context menu is empty. + + https://webkit.org/b/78312 + + Reviewed by Brian Weinstein. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::addInspectElementItem): Check itemCount before appending the separator. + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::itemCount): Added. Implement so this builds on GTK. + +2012-02-13 Patrick Gansterer <paroga@webkit.org> + + [WIN] Define HWND_MESSAGE if not done already + https://bugs.webkit.org/show_bug.cgi?id=78341 + + Reviewed by Adam Roben. + + HWND_MESSAGE is not defined on WinCE. + Set it to 0 when not defined to avoid #ifdefs. + + * platform/win/PasteboardWin.cpp: + (WebCore::Pasteboard::Pasteboard): + * platform/win/WindowsExtras.h: + (WebCore): + +2012-02-13 Chris Fleizach <cfleizach@apple.com> + + AX: <mark> element should be exposed through attributes + https://bugs.webkit.org/show_bug.cgi?id=75727 + + Reviewed by Beth Dakin. + + Exposes an attribute indicating that an element has highlighting through attributedStringForRange. + Also allows the search mechanism to find elements with this style. + + Test: platform/mac/accessibility/attributed-string-includes-highlighting.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch): + (WebCore::AccessibilityObject::hasHighlighting): + * accessibility/AccessibilityObject.h: + * accessibility/mac/WebAccessibilityObjectWrapper.mm: + (createAccessibilitySearchKeyMap): + (AXAttributeStringSetStyle): + +2012-02-13 Chris Fleizach <cfleizach@apple.com> + + AX: the web area should report that focus can be set to itself + https://bugs.webkit.org/show_bug.cgi?id=78272 + + Reviewed by Beth Dakin. + + Test: platform/mac/accessibility/webarea-can-set-focus.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::canSetFocusAttribute): + * accessibility/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isDataTable): + Fixed erroneous comment. + +2012-02-13 Patrick Gansterer <paroga@webkit.org> + + Port RunLoop to WinCE + https://bugs.webkit.org/show_bug.cgi?id=76781 + + Reviewed by Adam Roben. + + * platform/win/RunLoopWin.cpp: + (WebCore::RunLoop::registerRunLoopMessageWindowClass): + +2012-02-10 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Make ScriptsNavigator default file selector. + https://bugs.webkit.org/show_bug.cgi?id=78349 + + Reviewed by Pavel Feldman. + + Moved ScriptsNavigator out of experiments. + Introduced new setting "useScriptsNavigator" with true as default value. + Updated scripts panel tests related to file selector. + + Tests: inspector/debugger/scripts-combobox-file-selector-history.html + inspector/debugger/scripts-file-selector.html + + * English.lproj/localizedStrings.js: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes): + * inspector/front-end/ScriptsNavigator.js: + (WebInspector.ScriptsNavigator.prototype._removeUISourceCode): + (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded): + (WebInspector.ScriptsPanel.prototype._addUISourceCode): + (WebInspector.ScriptsPanel.prototype._updateExecutionLine): + * inspector/front-end/Settings.js: + (WebInspector.ExperimentsSettings): + * inspector/front-end/SettingsScreen.js: + (WebInspector.SettingsScreen): + +2012-02-13 Andreas Kling <awesomekling@apple.com> + + Make HTMLTableCaptionElement inherit from HTMLElement. + <http://webkit.org/b/78505> + + Reviewed by Antti Koivisto. + + HTMLTableCaptionElement was already bypassing its base class (HTMLTablePartElement) + and calling up to HTMLElement in all its overrides. Just make it an HTMLElement + instead since it doesn't use anything from HTMLTablePartElement. + Remove parseAttribute() overload since it's no longer needed. + + * html/HTMLTableCaptionElement.cpp: + (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement): + (WebCore::HTMLTableCaptionElement::isPresentationAttribute): + (WebCore::HTMLTableCaptionElement::collectStyleForAttribute): + * html/HTMLTableCaptionElement.h: + +2012-02-13 Andreas Kling <awesomekling@apple.com> + + HTMLMarqueeElement: Don't cache presence of truespeed attribute. + <http://webkit.org/b/78483> + + Reviewed by Antti Koivisto. + + Out-of-line minimumDelay() and look up the "truespeed" attribute there instead + of caching the minimum delay in parseAttribute(). + Remove HTMLMarqueeElement::parseAttribute() as it's no longer needed. + + * html/HTMLMarqueeElement.cpp: + (WebCore::HTMLMarqueeElement::HTMLMarqueeElement): + (WebCore::HTMLMarqueeElement::minimumDelay): + * html/HTMLMarqueeElement.h: + (HTMLMarqueeElement): + +2012-02-13 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: [refactoring] factor common timeline UI state into TimelinePresentationModel + https://bugs.webkit.org/show_bug.cgi?id=78501 + + Reviewed by Pavel Feldman. + + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewPane): + (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): + (WebInspector.TimelineOverviewPane.prototype.update): + (WebInspector.TimelineOverviewPane.prototype.sidebarResized): + (WebInspector.TimelineOverviewPane.prototype._setWindowPosition): + (WebInspector.TimelineOverviewPane.prototype.scrollWindow): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype._createTopPane): + (WebInspector.TimelinePanel.prototype.get statusBarItems): + (WebInspector.TimelinePanel.prototype.get _recordStyles): + (WebInspector.TimelinePanel.prototype._createStatusbarButtons): + (WebInspector.TimelinePanel.prototype._createTimelineCategoryStatusBarCheckbox): + (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked): + (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): + (WebInspector.TimelinePanel.prototype.sidebarResized): + (WebInspector.TimelinePanel.prototype._updateBoundaries): + (WebInspector.TimelinePanel.prototype._showPopover): + (WebInspector.TimelinePresentationModel): + (WebInspector.TimelinePresentationModel.prototype.get categories): + (WebInspector.TimelinePresentationModel.prototype.addCategory): + (WebInspector.TimelinePresentationModel.prototype.setWindowPosition): + (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility): + +2012-02-13 Joel Webber <jgw@google.com> + + Use requestAnimationFrame callbacks to pump CSS animations + https://bugs.webkit.org/show_bug.cgi?id=64591 + + Reviewed by James Robinson. + + No new tests needed (covered by tests in animations/*). + + * page/FrameView.cpp: + (WebCore::FrameView::serviceScriptedAnimations): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateAnimations): + (WebCore::AnimationControllerPrivate::updateAnimationTimer): + (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): + (WebCore::AnimationControllerPrivate::animationFrameCallbackFired): + (WebCore::AnimationController::updateAnimations): + (WebCore::AnimationController::serviceAnimations): + * page/animation/AnimationController.h: + * page/animation/AnimationControllerPrivate.h: + +2012-02-13 Patrick Gansterer <paroga@webkit.org> + + Add WindowsExtras.h + https://bugs.webkit.org/show_bug.cgi?id=78340 + + Reviewed by Adam Roben. + + Add a new file to share common code for Win32/WinCE differences. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::PopupMenuWndProc): + * platform/win/RunLoopWin.cpp: + (WebCore::RunLoop::RunLoopWndProc): + * platform/win/WindowsExtras.h: Added. + (WebCore): + (WebCore::getWindowPointer): + (WebCore::setWindowPointer): + +2012-02-13 Andreas Kling <awesomekling@apple.com> + + Don't mark element for style recalc when modifying its attribute style. + <http://webkit.org/b/78497> + + Reviewed by Antti Koivisto. + + StylePropertySet::setNeedsStyleRecalc() shouldn't do anything for attribute styles. + Their invalidation is handled exclusively by StyledElement::attributeChanged(). + Elements with presentation attributes were being marked for style recalc twice, + once when the attribute changed, and again during attribute style update, below the + call to collectStyleForAttribute(). + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::setNeedsStyleRecalc): + +2012-02-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> + + Move attribute storage from NamedNodeMap to ElementAttributeData + https://bugs.webkit.org/show_bug.cgi?id=77674 + + Reviewed by Andreas Kling. + + Move m_attributes vector from NamedNodeMap to ElementAttributeData. Make the + remaining callsites interact with ElementAttributeData if possible. The parsing + code is still interacting with NamedNodeMap, so some functions remained as + wrappers there. A next change will it use ElementAttributeData instead. + + The code for DOM exported functions remained in NamedNodeMap. This implementation + should move to Element in a next change, too. + + * dom/Attr.h: + (Attr): + * dom/Element.cpp: + (WebCore::Element::setAttribute): + (WebCore::Element::setAttributeInternal): + (WebCore::Element::parserSetAttributeMap): + (WebCore::Element::removeAttribute): + (WebCore::Element::hasAttribute): + (WebCore::Element::hasAttributeNS): + (WebCore::Element::normalizeAttributes): + * dom/Element.h: + (Element): + (WebCore::Element::ensureUpdatedAttributes): + (WebCore::Element::ensureAttributeData): + (WebCore): + (WebCore::Element::updatedAttributeData): + (WebCore::Element::ensureUpdatedAttributeData): + These *AttributeData functions are the correct correct way for callers to touch + the details of attribute storage. The "updated" variants will update invalid + attributes before return. + + (WebCore::Element::setAttributesFromElement): + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::~ElementAttributeData): + (WebCore): + (WebCore::ElementAttributeData::ensureInlineStyleDecl): + (WebCore::ElementAttributeData::addAttribute): + (WebCore::ElementAttributeData::removeAttribute): + (WebCore::ElementAttributeData::detachAttributesFromElement): + (WebCore::ElementAttributeData::copyAttributesToVector): + (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase): + (WebCore::ElementAttributeData::setAttributes): Make use of the assumption that + this will only be called with a valid Element, since the only call site is an + Element method. + (WebCore::ElementAttributeData::clearAttributes): + (WebCore::ElementAttributeData::replaceAttribute): Make use of the assumption + this will only be called with a valid Element, since the only call site return + early if there's no Element. + * dom/ElementAttributeData.h: + (ElementAttributeData): + (WebCore::ElementAttributeData::length): + (WebCore::ElementAttributeData::isEmpty): + (WebCore::ElementAttributeData::attributeItem): + (WebCore::ElementAttributeData::removeAttribute): + (WebCore): + (WebCore::ElementAttributeData::getAttributeItem): + (WebCore::ElementAttributeData::getAttributeItemIndex): + * dom/NamedNodeMap.cpp: + (WebCore::NamedNodeMap::getNamedItem): + (WebCore::NamedNodeMap::removeNamedItem): + (WebCore::NamedNodeMap::setNamedItem): + (WebCore::NamedNodeMap::item): + (WebCore::NamedNodeMap::detachFromElement): + * dom/NamedNodeMap.h: + (WebCore::NamedNodeMap::length): + (WebCore::NamedNodeMap::isEmpty): + (WebCore::NamedNodeMap::attributeItem): + (WebCore::NamedNodeMap::getAttributeItem): + (WebCore::NamedNodeMap::getAttributeItemIndex): + (WebCore::NamedNodeMap::shrinkToLength): + (WebCore::NamedNodeMap::reserveInitialCapacity): + (WebCore::NamedNodeMap::addAttribute): + (WebCore::NamedNodeMap::removeAttribute): + (NamedNodeMap): + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateAttributeStyle): + * dom/StyledElement.h: + (WebCore::StyledElement::ensureInlineStyleDecl): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::updateType): + * svg/properties/SVGAnimatedPropertySynchronizer.h: + * xml/parser/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): + +2012-02-13 Alexei Filippov <alexeif@chromium.org> + + Web Inspector: wrong percent calculations for empty snapshot. + https://bugs.webkit.org/show_bug.cgi?id=78329 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGridNode.prototype._createValueCell): + +2012-02-13 Alexei Filippov <alexeif@chromium.org> + + Web Inspector: add class filter to heap profiler. + https://bugs.webkit.org/show_bug.cgi?id=78362 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid.prototype.insertChild): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting): + (WebInspector.HeapSnapshotConstructorsDataGrid): + (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._nameFilterChanged): + (WebInspector.DetailedHeapshotView.prototype._changeNameFilter): + * inspector/front-end/heapProfiler.css: + (.detailed-heapshot-view .constructors-view-grid): + (.detailed-heapshot-view .constructors-view-toolbar): + (.detailed-heapshot-view .constructors-view-toolbar input.constructors-view-filter): + +2012-02-13 Peter Rybin <peter.rybin@gmail.com> + + Web Inspector: In Inspector.json PropertyDescriptor.writable should be declared optional + https://bugs.webkit.org/show_bug.cgi?id=77917 + + Reviewed by Pavel Feldman. + + Property descriptor is fixed in Inspector.json. Also retroactively in + 0.1 and 1.0. + Injected script in instructed to never return null property values. + + * inspector/InjectedScriptSource.js: + (.): + * inspector/Inspector-0.1.json: + * inspector/Inspector-1.0.json: + * inspector/Inspector.json: + +2012-02-13 ChangSeok Oh <shivamidow@gmail.com> + + [GTK] Revise configuration for MHTML + https://bugs.webkit.org/show_bug.cgi?id=78364 + + Reviewed by Gustavo Noronha Silva. + + Added mhtml directory and removed target files duplicated to build when enabling mhtml. + Archive.cpp, ArchiveFactory.cpp & their headers are included at the above line. + This duplication has caused build-break if mhtml is enabled. + + No new tests, since no new features. + + * GNUmakefile.am: + * GNUmakefile.list.am: + +2012-02-06 Raphael Kubo da Costa <kubo@profusion.mobi> + + [EFL] Drop support for the Curl network backend. + https://bugs.webkit.org/show_bug.cgi?id=77874 + + Reviewed by Eric Seidel. + + Nobody seems to be maintaining the Curl backend in WebCore, the + EFL port developers all seem to be using the Soup backend and the + port itself has many features which are only implemented for the + latter. + + No new tests, just some dependency plumbing. + + * PlatformEfl.cmake: Build the glib/soup source files + unconditionally. + * platform/efl/FileSystemEfl.cpp: Remove ENABLE(GLIB_SUPPORT) check. + +2012-02-13 Pavel Feldman <pfeldman@google.com> + + Web Inspector: wrap settings selector text and adding a rule with undoable actions. + https://bugs.webkit.org/show_bug.cgi?id=78482 + + Reviewed by Yury Semikhatsky. + + Tests: inspector/styles/undo-add-new-rule.html + inspector/styles/undo-set-selector-text.html + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction): + (InspectorCSSAgent::StyleSheetAction): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId): + (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction): + (WebCore::InspectorCSSAgent::TogglePropertyAction::perform): + (WebCore::InspectorCSSAgent::TogglePropertyAction::undo): + (InspectorCSSAgent::SetRuleSelectorAction): + (WebCore::InspectorCSSAgent::SetRuleSelectorAction::SetRuleSelectorAction): + (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform): + (WebCore::InspectorCSSAgent::SetRuleSelectorAction::undo): + (WebCore): + (InspectorCSSAgent::AddRuleAction): + (WebCore::InspectorCSSAgent::AddRuleAction::AddRuleAction): + (WebCore::InspectorCSSAgent::AddRuleAction::perform): + (WebCore::InspectorCSSAgent::AddRuleAction::undo): + (WebCore::InspectorCSSAgent::AddRuleAction::newRuleId): + (WebCore::InspectorCSSAgent::setStyleSheetText): + (WebCore::InspectorCSSAgent::setPropertyText): + (WebCore::InspectorCSSAgent::toggleProperty): + (WebCore::InspectorCSSAgent::setRuleSelector): + (WebCore::InspectorCSSAgent::addRule): + (WebCore::InspectorCSSAgent::asInspectorStyleSheet): + (WebCore::InspectorCSSAgent::bindStyleSheet): + (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): + (WebCore::InspectorCSSAgent::styleSheetChanged): + * inspector/InspectorCSSAgent.h: + (InspectorCSSAgent): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::create): + (WebCore::InspectorStyleSheet::InspectorStyleSheet): + (WebCore::InspectorStyleSheet::reparseStyleSheet): + (WebCore::InspectorStyleSheet::ruleSelector): + (WebCore): + (WebCore::InspectorStyleSheet::setRuleSelector): + (WebCore::InspectorStyleSheet::addRule): + (WebCore::InspectorStyleSheet::deleteRule): + (WebCore::InspectorStyleSheet::setPropertyText): + (WebCore::InspectorStyleSheet::toggleProperty): + (WebCore::InspectorStyleSheet::fireStyleSheetChanged): + (WebCore::InspectorStyleSheetForInlineStyle::create): + (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): + * inspector/InspectorStyleSheet.h: + (InspectorStyleSheet): + (WebCore::InspectorStyleSheet::styleId): + (InspectorStyleSheetForInlineStyle): + +2012-02-13 Hayato Ito <hayato@chromium.org> + + Rename names defined in ContentInclutionSelector to more intuitive names. + https://bugs.webkit.org/show_bug.cgi?id=78333 + + Reviewed by Hajime Morita. + + This is just refactoring, renaming non-intuitive names to more intuitive names + so that they match the terms in the spec. + + No tests. No change in behavior. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/NodeRenderingContext.cpp: + (WebCore::NodeRenderingContext::NodeRenderingContext): + (WebCore::nextRendererOf): + (WebCore::previousRendererOf): + (WebCore::firstRendererOf): + (WebCore::lastRendererOf): + (WebCore::NodeRenderingContext::nextRenderer): + (WebCore::NodeRenderingContext::previousRenderer): + * dom/NodeRenderingContext.h: + (NodeRenderingContext): + (WebCore::NodeRenderingContext::insertionPoint): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::insertionPointFor): + (WebCore::ShadowRoot::isSelectorActive): + (WebCore::ShadowRoot::attach): + (WebCore::ShadowRoot::selector): + (WebCore::ShadowRoot::ensureSelector): + * dom/ShadowRoot.h: + (WebCore): + (ShadowRoot): + * html/shadow/ContentInclusionSelector.h: Removed. + * html/shadow/HTMLContentElement.cpp: + (WebCore::HTMLContentElement::HTMLContentElement): + (WebCore::HTMLContentElement::attach): + (WebCore::HTMLContentElement::detach): + * html/shadow/HTMLContentElement.h: + (WebCore): + (WebCore::HTMLContentElement::selections): + (WebCore::HTMLContentElement::hasSelection): + (HTMLContentElement): + * html/shadow/HTMLContentSelector.cpp: Renamed from Source/WebCore/html/shadow/ContentInclusionSelector.cpp. + (WebCore): + (WebCore::HTMLContentSeleciton::append): + (WebCore::HTMLContentSeleciton::unlink): + (WebCore::HTMLContentSelectionList::HTMLContentSelectionList): + (WebCore::HTMLContentSelectionList::~HTMLContentSelectionList): + (WebCore::HTMLContentSelectionList::find): + (WebCore::HTMLContentSelectionList::clear): + (WebCore::HTMLContentSelectionList::append): + (WebCore::HTMLContentSelector::HTMLContentSelector): + (WebCore::HTMLContentSelector::~HTMLContentSelector): + (WebCore::HTMLContentSelector::select): + (WebCore::HTMLContentSelector::unselect): + (WebCore::HTMLContentSelector::findFor): + (WebCore::HTMLContentSelector::didSelect): + (WebCore::HTMLContentSelector::willSelectOver): + * html/shadow/HTMLContentSelector.h: Added. + (WebCore): + (HTMLContentSeleciton): + (WebCore::HTMLContentSeleciton::insertionPoint): + (WebCore::HTMLContentSeleciton::node): + (WebCore::HTMLContentSeleciton::next): + (WebCore::HTMLContentSeleciton::previous): + (WebCore::HTMLContentSeleciton::HTMLContentSeleciton): + (WebCore::HTMLContentSeleciton::create): + (HTMLContentSelectionList): + (WebCore::HTMLContentSelectionList::first): + (WebCore::HTMLContentSelectionList::last): + (WebCore::HTMLContentSelectionList::isEmpty): + (HTMLContentSelectionSet): + (WebCore::HTMLContentSelectionSet::add): + (WebCore::HTMLContentSelectionSet::remove): + (WebCore::HTMLContentSelectionSet::isEmpty): + (Translator): + (WebCore::HTMLContentSelectionSet::Translator::hash): + (WebCore::HTMLContentSelectionSet::Translator::equal): + (WebCore::HTMLContentSelectionSet::Hash::hash): + (WebCore::HTMLContentSelectionSet::Hash::equal): + (Hash): + (WebCore::HTMLContentSelectionSet::find): + (HTMLContentSelector): + (WebCore::HTMLContentSelector::hasCandidates): + * testing/Internals.cpp: + (WebCore::Internals::includerFor): + +2012-02-13 No'am Rosenthal <noam.rosenthal@nokia.com> + + [Texmap] morphing-cubes animation appears too close when clicking the button + https://bugs.webkit.org/show_bug.cgi?id=78476 + + Fixed bug in TextureMapperAnimation that made transform animations that go to/from identity + to not work. + + Reviewed by Simon Hausmann. + + No behavior changes. + + * platform/graphics/texmap/TextureMapperAnimation.cpp: + (WebCore::applyTransformAnimation): + +2012-02-13 Yosifumi Inoue <yosin@chromium.org> + + [Forms] Use enum instead of bool for HTMLInputElement::setValue + https://bugs.webkit.org/show_bug.cgi?id=75217 + + Reviewed by Kent Tamura. + + Use TextFieldEventBehavior enum instead of sendChangeEvent bool + parameter for HTMLInputElement::setValue method. This new enum + parameter will be extended to dispatch input and change events + when user agent populates input field as specified in + "Common events behavior" of HTML5 standard. + + This patch is required for fixing bug 75067 "[Forms] Spin buttons + of number input type should fire both input and change event." + + No new tests. Existing tests cover this patch. + + * html/BaseButtonInputType.cpp: + (WebCore::BaseButtonInputType::setValue): + * html/BaseButtonInputType.h: + * html/BaseCheckableInputType.cpp: + (WebCore::BaseCheckableInputType::setValue): + * html/BaseCheckableInputType.h: + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::setValueAsNumber): + * html/BaseDateAndTimeInputType.h: + * html/CheckboxInputType.cpp: + (WebCore::CheckboxInputType::willDispatchClick): + * html/ColorInputType.cpp: + (WebCore::ColorInputType::setValue): + * html/ColorInputType.h: + * html/FileInputType.cpp: + (WebCore::FileInputType::setValue): + * html/FileInputType.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::applyStep): + (WebCore::HTMLInputElement::stepUp): + (WebCore::HTMLInputElement::stepDown): + (WebCore::HTMLInputElement::setChecked): + (WebCore::HTMLInputElement::setValueForUser): + (WebCore::HTMLInputElement::setValue): + (WebCore::HTMLInputElement::setValueInternal): + (WebCore::HTMLInputElement::setValueAsNumber): + (WebCore::HTMLInputElement::stepUpFromRenderer): + * html/HTMLInputElement.h: + * html/HTMLTextFormControlElement.h: + * html/HiddenInputType.cpp: + (WebCore::HiddenInputType::setValue): + * html/HiddenInputType.h: + * html/InputType.cpp: + (WebCore::InputType::setValueAsNumber): + (WebCore::InputType::setValue): + * html/InputType.h: + * html/NumberInputType.cpp: + (WebCore::NumberInputType::setValueAsNumber): + * html/NumberInputType.h: + * html/RadioInputType.cpp: + (WebCore::RadioInputType::willDispatchClick): + * html/RangeInputType.cpp: + (WebCore::RangeInputType::setValueAsNumber): + (WebCore::RangeInputType::handleKeydownEvent): + (WebCore::RangeInputType::setValue): + * html/RangeInputType.h: + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::setValue): + * html/TextFieldInputType.h: + +2012-02-13 Andreas Kling <awesomekling@apple.com> + + Move attribute style invalidation to attributeChanged(). + <http://webkit.org/b/78461> + + Reviewed by Antti Koivisto. + + Moved attribute style invalidation out of the parseAttribute() overloads + and added an "isPresentationAttribute(Attribute*) virtual to StyledElement. + Returning true for a given Attribute will cause attribute style invalidation + when that attribute passes through attributeChanged(). + + Removed a couple of parseAttribute() overloads whose only remaining purpose + was invalidating attribute style. + + For form elements that deliberately don't map the "align" attribute, added + short-circuits in isPresentationAttribute instead of falling back to the + respective base class (which may othweise then map "align") + + * dom/StyledElement.cpp: + (WebCore::StyledElement::attributeChanged): + * dom/StyledElement.h: + (WebCore::StyledElement::isPresentationAttribute): + * html/HTMLBRElement.cpp: + (WebCore::HTMLBRElement::isPresentationAttribute): + * html/HTMLBRElement.h: + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::isPresentationAttribute): + (WebCore::HTMLBodyElement::collectStyleForAttribute): + (WebCore::HTMLBodyElement::parseAttribute): + * html/HTMLBodyElement.h: + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::isPresentationAttribute): + (WebCore::HTMLButtonElement::parseAttribute): + * html/HTMLButtonElement.h: + * html/HTMLDivElement.cpp: + (WebCore::HTMLDivElement::isPresentationAttribute): + * html/HTMLDivElement.h: + * html/HTMLElement.cpp: + (WebCore::HTMLElement::isPresentationAttribute): + (WebCore::HTMLElement::parseAttribute): + * html/HTMLElement.h: + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::isPresentationAttribute): + (WebCore::HTMLEmbedElement::parseAttribute): + * html/HTMLEmbedElement.h: + * html/HTMLFontElement.cpp: + (WebCore::HTMLFontElement::isPresentationAttribute): + * html/HTMLFontElement.h: + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::isPresentationAttribute): + (WebCore::HTMLFrameSetElement::parseAttribute): + * html/HTMLFrameSetElement.h: + * html/HTMLHRElement.cpp: + (WebCore::HTMLHRElement::isPresentationAttribute): + (WebCore::HTMLHRElement::collectStyleForAttribute): + * html/HTMLHRElement.h: + * html/HTMLIFrameElement.cpp: + (WebCore::HTMLIFrameElement::isPresentationAttribute): + (WebCore::HTMLIFrameElement::collectStyleForAttribute): + (WebCore::HTMLIFrameElement::parseAttribute): + * html/HTMLIFrameElement.h: + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::isPresentationAttribute): + (WebCore::HTMLImageElement::collectStyleForAttribute): + (WebCore::HTMLImageElement::parseAttribute): + * html/HTMLImageElement.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isPresentationAttribute): + (WebCore::HTMLInputElement::collectStyleForAttribute): + (WebCore::HTMLInputElement::parseAttribute): + * html/HTMLInputElement.h: + * html/HTMLLIElement.cpp: + (WebCore::HTMLLIElement::isPresentationAttribute): + (WebCore::HTMLLIElement::parseAttribute): + * html/HTMLLIElement.h: + * html/HTMLMarqueeElement.cpp: + (WebCore::HTMLMarqueeElement::isPresentationAttribute): + (WebCore::HTMLMarqueeElement::collectStyleForAttribute): + (WebCore::HTMLMarqueeElement::parseAttribute): + * html/HTMLMarqueeElement.h: + * html/HTMLOListElement.cpp: + (WebCore::HTMLOListElement::isPresentationAttribute): + (WebCore::HTMLOListElement::parseAttribute): + * html/HTMLOListElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::isPresentationAttribute): + (WebCore::HTMLObjectElement::parseAttribute): + * html/HTMLObjectElement.h: + * html/HTMLParagraphElement.cpp: + (WebCore::HTMLParagraphElement::isPresentationAttribute): + * html/HTMLParagraphElement.h: + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::isPresentationAttribute): + (WebCore::HTMLPlugInElement::collectStyleForAttribute): + * html/HTMLPlugInElement.h: + * html/HTMLPreElement.cpp: + (WebCore::HTMLPreElement::isPresentationAttribute): + (WebCore::HTMLPreElement::collectStyleForAttribute): + * html/HTMLPreElement.h: + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::isPresentationAttribute): + (WebCore::HTMLSelectElement::parseAttribute): + * html/HTMLSelectElement.h: + * html/HTMLTableCaptionElement.cpp: + (WebCore::HTMLTableCaptionElement::isPresentationAttribute): + (WebCore::HTMLTableCaptionElement::parseAttribute): + * html/HTMLTableCaptionElement.h: + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::isPresentationAttribute): + (WebCore::HTMLTableCellElement::collectStyleForAttribute): + (WebCore::HTMLTableCellElement::parseAttribute): + * html/HTMLTableCellElement.h: + * html/HTMLTableColElement.cpp: + (WebCore::HTMLTableColElement::isPresentationAttribute): + (WebCore::HTMLTableColElement::parseAttribute): + * html/HTMLTableColElement.h: + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::isPresentationAttribute): + (WebCore::HTMLTableElement::parseAttribute): + * html/HTMLTableElement.h: + * html/HTMLTablePartElement.cpp: + (WebCore::HTMLTablePartElement::isPresentationAttribute): + (WebCore::HTMLTablePartElement::collectStyleForAttribute): + * html/HTMLTablePartElement.h: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::isPresentationAttribute): + (WebCore::HTMLTextAreaElement::parseAttribute): + * html/HTMLTextAreaElement.h: + * html/HTMLUListElement.cpp: + (WebCore::HTMLUListElement::isPresentationAttribute): + (WebCore::HTMLUListElement::collectStyleForAttribute): + * html/HTMLUListElement.h: + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::isPresentationAttribute): + (WebCore::HTMLVideoElement::parseAttribute): + * html/HTMLVideoElement.h: + * mathml/MathMLElement.cpp: + (WebCore::MathMLElement::isPresentationAttribute): + (WebCore::MathMLElement::collectStyleForAttribute): + * mathml/MathMLElement.h: + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::isPresentationAttribute): + (WebCore::SVGImageElement::parseAttribute): + * svg/SVGImageElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::isPresentationAttribute): + (WebCore::SVGStyledElement::parseAttribute): + * svg/SVGStyledElement.h: + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::isPresentationAttribute): + (WebCore::SVGTextContentElement::parseAttribute): + * svg/SVGTextContentElement.h: + +2012-02-13 Kentaro Hara <haraken@chromium.org> + + Add [JSCustomToJSObject] IDL attribute to interfaces that have + custom toJS() but do not have custom toV8() + https://bugs.webkit.org/show_bug.cgi?id=78466 + + Reviewed by Adam Barth. + + This is the second step to remove hard-coding in HasCustomToV8Implementation() + in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [JSCustomToJSObject] + for interfaces which have custom toJS() but do not have custom toV8(). + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateHeader): + (GenerateImplementation): + * bindings/scripts/CodeGeneratorV8.pm: + (HasCustomToV8Implementation): I found that AbstractWorker and CanvasRenderingContext + are the only IDL files to which I need to add [JSCustomToJSObject]. + Other IDL files which had been listed here do not have [JSCustomToJS]. + * html/canvas/CanvasRenderingContext.idl: + * workers/AbstractWorker.idl: + +2012-02-13 Andreas Kling <awesomekling@apple.com> + + Avoid unnecessary work when evaluating style sharing candidates. + <http://webkit.org/b/78220> + + Reviewed by Antti Koivisto. + + Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups. + Remove comparison of attributes that are reflected in the attribute styles (cellpadding.) + Moved comparison of "type" and "readonly" attributes into the more specific + canShareStyleWithControl() since they are only relevant for input elements. Don't bother + calling isFormControlElement() on both elements as they already have the same tagQName(). + + Altogether this knocks off ~8ms worth of samples per cycle of the "Moz" page cycler test. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithControl): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::isCommonAttributeSelectorAttribute): + +2012-02-13 Arko Saha <arko@motorola.com> + + <summary> is not keyboard accessible. + https://bugs.webkit.org/show_bug.cgi?id=75478 + + Reviewed by Hajime Morita. + + Toggle the content of <details> element on pressing Enter or Spacebar + key on a focused <summary> element. + + Test: fast/html/details-keyboard-show-hide.html + + * html/HTMLSummaryElement.cpp: + (WebCore::HTMLSummaryElement::supportsFocus): + (WebCore): + (WebCore::HTMLSummaryElement::defaultEventHandler): + * html/HTMLSummaryElement.h: + (HTMLSummaryElement): + +2012-02-13 Gavin Barraclough <barraclough@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=78434 + Unreviewed - temporarily reverting r107498 will I fix a couple of testcases. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore): + * bindings/js/JSDOMWindowBase.h: + (JSDOMWindowBase): + +2012-02-13 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: get rid of cycles in containment view of an object. + https://bugs.webkit.org/show_bug.cgi?id=78462 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren): + (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell): + +2012-02-12 Adam Barth <abarth@webkit.org> + + Remove ENABLE(MEDIA_STREAM) from Navigator.h + https://bugs.webkit.org/show_bug.cgi?id=78467 + + Reviewed by Kentaro Hara. + + Navigator.webkitGetUser media doesn't really have anything to do with + Navigator.cpp. This patch moves it into the mediastream directory and + removes the ENABLE(MEDIA_STREAM) ifdefs in Navigator.h and + Navigator.cpp. + + * GNUmakefile.list.am: + * WebCore.gypi: + * mediastream/NavigatorMediaStream.cpp: Added. + (WebCore): + (WebCore::NavigatorMediaStream::NavigatorMediaStream): + (WebCore::NavigatorMediaStream::~NavigatorMediaStream): + (WebCore::NavigatorMediaStream::webkitGetUserMedia): + * mediastream/NavigatorMediaStream.h: Added. + (WebCore): + (NavigatorMediaStream): + * mediastream/NavigatorMediaStream.idl: Added. + * page/Navigator.cpp: + (WebCore): + * page/Navigator.h: + (WebCore): + (Navigator): + * page/Navigator.idl: + +2012-02-12 Adam Barth <abarth@webkit.org> + + Navigator.webkitGetUserMedia doesn't need to be custom + https://bugs.webkit.org/show_bug.cgi?id=78464 + + Reviewed by Eric Seidel. + + The code generator has gotten smarter since this function was added. + + * GNUmakefile.list.am: + * UseV8.cmake: + * WebCore.gypi: + * bindings/js/JSNavigatorCustom.cpp: Removed. + * bindings/v8/custom/V8NavigatorCustom.cpp: Removed. + * page/Navigator.idl: + +2012-02-12 Adam Barth <abarth@webkit.org> + + Move ENABLE(GAMEPAD) logic out of Navigator.h/cpp + https://bugs.webkit.org/show_bug.cgi?id=78457 + + Reviewed by Hajime Morita. + + This patch moves GAMEPAD-specific logic out of Navigator by introducing + the concept of a NavigatorSupplement, analogous to the recently + introduced PageSupplement. + + * Modules/gamepad/NavigatorGamepad.cpp: + (WebCore::NavigatorGamepad::from): + (WebCore): + (WebCore::NavigatorGamepad::webkitGamepads): + (WebCore::NavigatorGamepad::gamepads): + * Modules/gamepad/NavigatorGamepad.h: + (NavigatorGamepad): + * WebCore.gypi: + * dom/DeviceMotionController.cpp: + (WebCore::DeviceMotionController::supplementName): + * page/Navigator.cpp: + (WebCore::Navigator::provideSupplement): + (WebCore): + (WebCore::Navigator::requireSupplement): + * page/Navigator.h: + (Navigator): + * page/Page.h: + (Page): + * page/PageSupplement.h: + - This patch cleans up some nits in PageSupplement. + (WebCore): + (PageSupplement): + +2012-02-12 Kentaro Hara <haraken@chromium.org> + + Add a [V8CustomToJSObject] IDL attribute + https://bugs.webkit.org/show_bug.cgi?id=78450 + + Reviewed by Adam Barth. + + This is the first step to remove hard-coding in HasCustomToV8Implementation() + in CodeGeneratorV8.pm. This patch adds [V8CustomToJSObject] + to interfaces which have custom toV8() but do not have custom toJS(). + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorV8.pm: Replaced hard-coding with [V8CustomToJSObject]. + (HasCustomToV8Implementation): + + * css/CSSStyleSheet.idl: Added [V8CustomToJSObject]. + * dom/DOMStringMap.idl: + * dom/Element.idl: + * dom/NamedNodeMap.idl: + * html/DOMTokenList.idl: + * html/HTMLDocument.idl: + * html/HTMLElement.idl: + * html/canvas/CanvasPixelArray.idl: + * inspector/ScriptProfile.idl: + * inspector/ScriptProfileNode.idl: + * page/DOMWindow.idl: + * page/Location.idl: + * svg/SVGDocument.idl: + * svg/SVGElement.idl: + * workers/WorkerContext.idl: + +2012-02-12 David Barr <davidbarr@chromium.org> + + CSS3 currentColor on outline-color gets treated as inherit + https://bugs.webkit.org/show_bug.cgi?id=73180 + + Reviewed by Antti Koivisto. + + The CSS2 and CSS3 UI modules state that outline-color + is not inherited. Make it so. + http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color + http://www.w3.org/TR/css3-ui/#outline-color + + Test: fast/css/outline-currentcolor.html + + * css/CSSStyleApplyProperty.cpp: + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + +2012-02-12 Antti Koivisto <antti@apple.com> + + CSSPageRule should inherit from CSSRule instead of CSSStyleRule + https://bugs.webkit.org/show_bug.cgi?id=78452 + + Reviewed by Anders Carlsson. + + This matches CSSOM and eliminates the only subclass of CSSStyleRule, enabling further refactoring. + + * css/CSSPageRule.cpp: + (WebCore::CSSPageRule::CSSPageRule): + (WebCore::CSSPageRule::~CSSPageRule): + (WebCore): + (WebCore::CSSPageRule::selectorText): + (WebCore::CSSPageRule::setSelectorText): + (WebCore::CSSPageRule::cssText): + * css/CSSPageRule.h: + (CSSPageRule): + (WebCore::CSSPageRule::style): + (WebCore::CSSPageRule::selector): + (WebCore::CSSPageRule::properties): + (WebCore::CSSPageRule::adoptSelectorVector): + (WebCore::CSSPageRule::setDeclaration): + * css/CSSRule.cpp: + (WebCore::CSSRule::cssText): + * css/CSSStyleRule.cpp: + (WebCore::CSSStyleRule::generateSelectorText): + * css/CSSStyleSelector.cpp: + (WebCore::RuleSet::pageRules): + (RuleSet): + (WebCore::RuleSet::addPageRule): + (WebCore::comparePageRules): + (WebCore::CSSStyleSelector::matchPageRules): + (WebCore::CSSStyleSelector::matchPageRulesForList): + * css/CSSStyleSelector.h: + (CSSStyleSelector): + +2012-02-12 Shinya Kawanaka <shinyak@google.com> + + Introduce ShadowRootList. + https://bugs.webkit.org/show_bug.cgi?id=78069 + + Reviewed by Hajime Morita. + + This is a step to implement multiple shadow subtrees. + + This patch introduces a shadow root list. ShadowRootList is a doubly linked list, + and each shadow root now has a younger shadow root and older shadow root, + which are a previous element and a next element respectively. + Since a visual tree traversal, which will be introduced in coming patches, will need a older shadow root, + we make a shadow root list a doubly linked list. + + However, ShadowRootList does not have more than one shadow root now. + This will be changed in a series of coming patches. + + Element::shadowRoot(), setShadowRoot(), ensureShadowRoot(), and removeShadowRoot() are + emulated using ShadowRootList for a while. These API will be replaced to ShadowRootList API later. + + No new tests, no change in behavior. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * dom/DOMAllInOne.cpp: + * dom/Element.cpp: + (WebCore::Element::hasShadowRoot): + Retruns true if an element has a shadowRoot. + (WebCore::Element::shadowRootList): + Gets shadow root list if any. + (WebCore::Element::shadowRoot): + Gets the first shadow root from the shadow root list. + (WebCore::Element::setShadowRoot): + Sets the first shadow root to the shadow root list. + (WebCore::Element::removeShadowRoot): + Removes all the shadow roots in the shadow root list. + * dom/Element.h: + (WebCore): + (Element): + * dom/ElementRareData.h: + (ElementRareData): + (WebCore::ElementRareData::ElementRareData): + Has shadow root lists instead of shadow root. + (WebCore::ElementRareData::~ElementRareData): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::ShadowRoot): + (WebCore::ShadowRoot::~ShadowRoot): + * dom/ShadowRoot.h: + (ShadowRoot): + (WebCore::ShadowRoot::youngerShadowRoot): + (WebCore::ShadowRoot::olderShadowRoot): + * dom/ShadowRootList.cpp: Added. + (WebCore): + (WebCore::ShadowRootList::ShadowRootList): + (WebCore::ShadowRootList::~ShadowRootList): + (WebCore::ShadowRootList::pushShadowRoot): + Adds a shadow root into the list. Currently we limit the list can have only one shadow root. + (WebCore::ShadowRootList::popShadowRoot): + Removes and returns the youngest shadow root if any. + * dom/ShadowRootList.h: Added. + (WebCore): + (ShadowRootList): + (WebCore::ShadowRootList::hasShadowRoot): + (WebCore::ShadowRootList::youngestShadowRoot): + (WebCore::ShadowRootList::oldestShadowRoot): + +2012-02-12 Shinya Kawanaka <shinyak@google.com> + + INPUT shouldn't create ShadowRoot dynamically. + https://bugs.webkit.org/show_bug.cgi?id=77930 + + Reviewed by Dimitri Glazkov. + + When input type is changed, ShadowRoot was being re-created. This makes it difficult to + support multiple shadow subtrees. This patch makes input re-use the existing shadow root + instead of re-creating a shaow root. A shadow root should be created when an element is created. + + Since media control elements are implemented using input elements, these elements should also + create a shadow root in their construction phase. + + Test: fast/dom/shadow/input-shadow-nochange.html + Tests related to media controls should be covered by existing tests. + + * html/ColorInputType.cpp: + (WebCore::ColorInputType::createShadowSubtree): + * html/FileInputType.cpp: + (WebCore::FileInputType::createShadowSubtree): + (WebCore::FileInputType::multipleAttributeChanged): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::createShadowSubtree): + * html/InputType.cpp: + (WebCore::InputType::destroyShadowSubtree): + * html/RangeInputType.cpp: + (WebCore::RangeInputType::createShadowSubtree): + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::createShadowSubtree): + * html/shadow/MediaControlElements.cpp: + Creates a shadow tree in the construction phase. + (WebCore::MediaControlPanelMuteButtonElement::create): + (WebCore::MediaControlVolumeSliderMuteButtonElement::create): + (WebCore::MediaControlPlayButtonElement::create): + (WebCore::MediaControlSeekForwardButtonElement::create): + (WebCore::MediaControlSeekBackButtonElement::create): + (WebCore::MediaControlRewindButtonElement::create): + (WebCore::MediaControlReturnToRealtimeButtonElement::create): + (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): + (WebCore::MediaControlTimelineElement::create): + (WebCore::MediaControlVolumeSliderElement::create): + (WebCore::MediaControlFullscreenVolumeSliderElement::create): + (WebCore::MediaControlFullscreenButtonElement::create): + (WebCore::MediaControlFullscreenVolumeMinButtonElement::create): + (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create): + +2012-02-12 Shinya Kawanaka <shinyak@google.com> + + SVGTRefElement shouldn't create a shadow root dynamically. + https://bugs.webkit.org/show_bug.cgi?id=77938 + + Reviewed by Hajime Morita. + + SVGTRefElement creates a shadow root dynamically. This will cause a problem to support + multiple shadow subtrees. So it should be created in a constructor phase. + + Test: svg/custom/tref-shadowdom.html + + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::create): + (WebCore::SVGTRefElement::createShadowSubtree): + (WebCore): + (WebCore::SVGTRefElement::updateReferencedText): + * svg/SVGTRefElement.h: + (SVGTRefElement): + +2012-02-12 Kentaro Hara <haraken@chromium.org> + + Unreviewed. Rebaselined run-bindings-tests results. + + * bindings/scripts/test/JS/JSFloat64Array.cpp: + (WebCore): + * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: + (WebCore): + (WebCore::JSTestActiveDOMObject::destroy): + (WebCore::JSTestActiveDOMObject::~JSTestActiveDOMObject): + * bindings/scripts/test/JS/JSTestActiveDOMObject.h: + (JSTestActiveDOMObject): + * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: + (WebCore): + (WebCore::JSTestCustomNamedGetter::destroy): + (WebCore::JSTestCustomNamedGetter::~JSTestCustomNamedGetter): + * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: + (JSTestCustomNamedGetter): + * bindings/scripts/test/JS/JSTestEventConstructor.cpp: + (WebCore): + (WebCore::JSTestEventConstructor::destroy): + (WebCore::JSTestEventConstructor::~JSTestEventConstructor): + * bindings/scripts/test/JS/JSTestEventConstructor.h: + (JSTestEventConstructor): + * bindings/scripts/test/JS/JSTestEventTarget.cpp: + (WebCore): + (WebCore::JSTestEventTarget::destroy): + (WebCore::JSTestEventTarget::~JSTestEventTarget): + * bindings/scripts/test/JS/JSTestEventTarget.h: + (JSTestEventTarget): + * bindings/scripts/test/JS/JSTestInterface.cpp: + (WebCore): + (WebCore::JSTestInterface::destroy): + (WebCore::JSTestInterface::~JSTestInterface): + * bindings/scripts/test/JS/JSTestInterface.h: + (JSTestInterface): + * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: + (WebCore): + (WebCore::JSTestMediaQueryListListener::destroy): + (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener): + * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: + (JSTestMediaQueryListListener): + * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: + (WebCore): + (WebCore::JSTestNamedConstructor::destroy): + (WebCore::JSTestNamedConstructor::~JSTestNamedConstructor): + * bindings/scripts/test/JS/JSTestNamedConstructor.h: + (JSTestNamedConstructor): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + (WebCore::JSTestObj::destroy): + (WebCore::JSTestObj::~JSTestObj): + * bindings/scripts/test/JS/JSTestObj.h: + (JSTestObj): + * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: + (WebCore): + (WebCore::JSTestSerializedScriptValueInterface::destroy): + (WebCore::JSTestSerializedScriptValueInterface::~JSTestSerializedScriptValueInterface): + * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: + (JSTestSerializedScriptValueInterface): + +2012-02-12 Abhishek Arya <inferno@chromium.org> + + Regression (r104528): Crash when moving nodes across documents. + https://bugs.webkit.org/show_bug.cgi?id=78432 + + Reviewed by Hajime Morita. + + Test: fast/dom/node-move-to-new-document-crash-main.html + + * dom/TreeScopeAdopter.cpp: + (WebCore::TreeScopeAdopter::moveTreeToNewScope): + (WebCore::TreeScopeAdopter::moveTreeToNewDocument): + (WebCore::TreeScopeAdopter::moveNodeToNewDocument): + +2012-02-12 Hajime Morrita <morrita@chromium.org> + + Page should have less intrusive way to associate API implementation objects. + https://bugs.webkit.org/show_bug.cgi?id=78085 + + Reviewed by Adam Barth. + + Introducing PageSupplement interface to attach behind-the-flag-ish + objects to Page instances. + + This change aims to improve modularity of Modules/ entries. With + PageSupplement mechinary, we can eliminate ifdef conditionals from + Page.h/Page.cpp and are able to add Modules/ entries without + touching non-Module WebCore files. WebKit API classes like WebPage + can "provide" these objects dynamically during the Page setup phase. + + In this change, DeviceMotionController and + DeviceOrientationController is updated to adopt PageSupplement + inteface for an illustrative purpose because they are going to + move into Modules/ shortly. Other Page associated API backing + objects also should be transformed to PageSupplement family. + + Reviewed by Adam Barth. + + No new tests. No behavior change. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DeviceMotionClient.h: + (WebCore): + * dom/DeviceMotionController.cpp: + (WebCore::DeviceMotionController::supplementName): + (WebCore): + (WebCore::DeviceMotionController::isActiveAt): + (WebCore::provideDeviceMotionTo): + * dom/DeviceMotionController.h: + (DeviceMotionController): + (WebCore::DeviceMotionController::from): + * dom/DeviceOrientationClient.h: + (WebCore): + * dom/DeviceOrientationController.cpp: + (WebCore::DeviceOrientationController::supplementName): + (WebCore): + (WebCore::DeviceOrientationController::isActiveAt): + (WebCore::provideDeviceOrientationTo): + * dom/DeviceOrientationController.h: + (DeviceOrientationController): + (WebCore::DeviceOrientationController::from): + * dom/Document.cpp: + (WebCore::Document::suspendActiveDOMObjects): + (WebCore::Document::resumeActiveDOMObjects): + * history/PageCache.cpp: + (WebCore::logCanCachePageDecision): + (WebCore::PageCache::canCache): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::addEventListener): + (WebCore::DOMWindow::removeEventListener): + (WebCore::DOMWindow::removeAllEventListeners): + * page/PageSupplement.cpp: + (WebCore::PageSupplement::~PageSupplement): + (WebCore::PageSupplement::provideTo): + (WebCore::PageSupplement::from): + * page/PageSupplement.h: + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::~Page): + (WebCore::Page::provideSupplement): + (WebCore): + (WebCore::Page::requireSupplement): + (WebCore::Page::notifyDestroyedToSupplements): + (WebCore::Page::PageClients::PageClients): + * page/Page.h: + (WebCore): + (PageClients): + (Page): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2012-02-12 Nico Weber <nicolasweber@gmx.de> + + [chromium/mac] Change the type of webkit_system_interface from static_library to none + https://bugs.webkit.org/show_bug.cgi?id=78441 + + This target exists only run an action and to add a dependency to the + action's output to targets depending on webkit_system_interface. + This is what target type 'none' is for. With this, no dummy source + file is needed, and no empty libwebkit_system_interface.a is created. + This also fixes this (harmless) libtool warning: + + libtool: warning for library: libwebkit_system_interface.a the table + of contents is empty (no object file members in the library define + global symbols) + + Reviewed by Adam Barth. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gyp/mac/Empty.cpp: Removed. + +2012-02-12 Kenichi Ishibashi <bashi@chromium.org> + + If @font-face does not provide an explicit italic/bold variant, regular is used. + https://bugs.webkit.org/show_bug.cgi?id=34147 + + Reviewed by Dan Bernstein. + + Update @font-face handling code so that it matches @font-face behavior to the current draft of CSS3 Font spec. The original patch was written by yusukes@chromium.org. + - Drops support for "bolder", "lighter", and "all" value. These are no longer allowed. + - Only allows one value for font-style and font-weight. + + Tests: fast/css/font-face-synthetic-bold-italic.html + fast/css/font-face-weight-matching.html + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): Removed "all", "lighter", "bolder" handling code. + (WebCore::compareFontFaces):Updated the weight matching algortihm. + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Replaced parseFontStyle() call with checking primitive values. + (WebCore::CSSParser::parseFontWeight): Changed to allow only primitive values. + (WebCore::CSSParser::createFontFaceRule): Removed checks for font-weight and font-style. + (WebCore::CSSParser::deleteFontFaceOnlyValues): Ditto. + * css/CSSParser.h: Removed parseFontStyle(). + +2012-02-12 David Reveman <reveman@chromium.org> + + [Chromium] Avoid unnecessary memset in per-tile layer updater. + https://bugs.webkit.org/show_bug.cgi?id=78426 + + Reviewed by Stephen White. + + Use our own SkBitmap and call SkBitmap::allocPixels() instead of + letting SkDevice construct a SkBitmap. This avoids an unnecessary + memset otherwise done by SkDevice. + + No new tests. + + * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: + (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect): + (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect): + * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: + (Texture): + +2012-02-12 Joe Thomas <joethomas@motorola.com> + + Add toText and isTextNode helpers in Text class. + https://bugs.webkit.org/show_bug.cgi?id=78140 + + Added a new helper function toText() in dom/Text.h which does the type casting operation to Text object. + Modified the code to make use of this helper function. + + Reviewed by Adam Barth. + + No new tests. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::accessibleNameForNode): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + * css/SelectorChecker.cpp: + (WebCore::SelectorChecker::checkOneSelector): + * dom/Attr.cpp: + (WebCore::Attr::childrenChanged): + * dom/Element.cpp: + (WebCore::Element::recalcStyle): + * dom/Node.cpp: + (WebCore::Node::normalize): + * dom/Position.cpp: + (WebCore::Position::containerText): + (WebCore::Position::leadingWhitespacePosition): + * dom/Range.cpp: + (WebCore::Range::insertNode): + (WebCore::Range::getBorderAndTextQuads): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::scriptContent): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::recalcShadowTreeStyle): + * dom/Text.h: Added new helper function toText. + (WebCore::toText): new helper function which does the type casting operation to Text object. + (WebCore): + * editing/ApplyBlockElementCommand.cpp: + (WebCore::isNewLineAtPosition): + (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::splitTextAtEnd): + (WebCore::ApplyStyleCommand::splitTextElementAtEnd): + (WebCore::ApplyStyleCommand::joinChildTextNodes): + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::insertNodeAt): + (WebCore::CompositeEditCommand::positionOutsideTabSpan): + (WebCore::CompositeEditCommand::canRebalance): + (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): + (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): + (WebCore::CompositeEditCommand::deleteInsignificantText): + (WebCore::CompositeEditCommand::removePlaceholderAt): + (WebCore::CompositeEditCommand::cleanupAfterDeletion): + (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + (WebCore::DeleteSelectionCommand::fixupWhitespace): + * editing/Editor.cpp: + (WebCore::Editor::setComposition): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::insertTab): + * editing/MarkupAccumulator.cpp: + (WebCore::MarkupAccumulator::appendStartMarkup): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): + (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): + (WebCore::ReplaceSelectionCommand::insertAsListItems): + (WebCore::ReplaceSelectionCommand::performTrivialReplace): + * editing/htmlediting.cpp: + (WebCore::lineBreakExistsAtPosition): + * editing/visible_units.cpp: + (WebCore::startPositionForLine): + (WebCore::endPositionForLine): + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + * html/HTMLElement.cpp: + (WebCore::replaceChildrenWithFragment): + (WebCore::replaceChildrenWithText): + (WebCore::mergeWithNextTextNode): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::hasFallbackContent): + (WebCore::HTMLObjectElement::updateDocNamedItem): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::setText): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::setText): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::defaultValue): + * html/HTMLTextFormControlElement.cpp: + (WebCore::HTMLTextFormControlElement::innerTextValue): + (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks): + * html/HTMLTitleElement.cpp: + (WebCore::HTMLTitleElement::text): + (WebCore::HTMLTitleElement::setText): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::setNodeValue): + * rendering/RenderText.cpp: + (WebCore::RenderText::originalText): + * rendering/RenderTextFragment.cpp: + (WebCore::RenderTextFragment::originalText): + (WebCore::RenderTextFragment::previousCharacter): + +2012-02-12 Kentaro Hara <haraken@chromium.org> + + Remove [CPPCustom] from CodeGeneratorCPP.pm + https://bugs.webkit.org/show_bug.cgi?id=78342 + + Reviewed by Adam Barth. + + This patch removes [CPPCustom]. + + [CPPCustom] has been used in DOMWindow.location only to indicate that + DOMWindow.location should be ignored in CPP. However, there are many + other attributes and methods that CPP does not support (e.g. [CallWith=...], + [CustomSetter], etc), and they are not yet marked with [CPPCustom]. + CPP just generates "meaningless" code for those unsupported attributes + and methods. Ideally we can mark all unsupported attributes and methods + with [CPPCustom], but it would not be so practical. Otherwise, removing + [CPPCustom] would make sense. The side effect of removing [CPPCustom] + is just that CPP will generate "meaningless" code for DOMWindow.location. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorCPP.pm: + (ShouldSkipType): + * page/DOMWindow.idl: + +2012-02-12 Kentaro Hara <haraken@chromium.org> + + Rename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype] + https://bugs.webkit.org/show_bug.cgi?id=78354 + + Reviewed by Adam Barth. + + This patch renames [JSCustomPrototypeDefineOwnProperty] to + [JSCustomDefineOwnPropertyOnPrototype], for naming consistency with + [JSCustomDefineOwnProperty] and [JSCustomNamedGetterOnPrototype]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateHeader): + * page/Location.idl: + +2012-02-11 Filip Pizlo <fpizlo@apple.com> + + It should be possible to send all JSC debug logging to a file + https://bugs.webkit.org/show_bug.cgi?id=78418 + + Reviewed by Sam Weinig. + + Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog, + and WTF::dataLogV. Changed all debugging- and profiling-related printfs + to use WTF::dataLog() or one of its friends. By default, debug logging + goes to stderr, unless you change the setting in wtf/DataLog.cpp. + + No new tests because behavior is unchanged. + + * ForwardingHeaders/wtf/DataLog.h: Added. + +2012-02-11 Gavin Barraclough <barraclough@apple.com> + + Move special __proto__ property to Object.prototype + https://bugs.webkit.org/show_bug.cgi?id=78409 + + Reviewed by Oliver Hunt. + + Re-implement this as a regular accessor property. This has three key benefits: + 1) It makes it possible for objects to be given properties named __proto__. + 2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed. + 3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::allowsAccessFrom): + (WebCore): + - expose allowsAccessFrom check to JSC. + * bindings/js/JSDOMWindowBase.h: + (JSDOMWindowBase): + - expose allowsAccessFrom check to JSC. + +2012-02-11 Benjamin Poulain <benjamin@webkit.org> + + Get rid of WebCore::URLString + https://bugs.webkit.org/show_bug.cgi?id=78429 + + Reviewed by Adam Barth. + + URLString is unused, remove the class. + + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * platform/KURL.cpp: + * platform/KURL.h: + (KURL): + * platform/URLString.h: Removed. + +2012-02-11 Sam Weinig <sam@webkit.org> + + Fix the windows build. + + Since Windows uses an all-in-one file to compile, the isRespectedPresentationAttribute() + functions all need unique names. + + * html/HTMLBodyElement.cpp: + * html/HTMLHRElement.cpp: + * html/HTMLIFrameElement.cpp: + * html/HTMLImageElement.cpp: + * html/HTMLInputElement.cpp: + * html/HTMLMarqueeElement.cpp: + * html/HTMLPlugInElement.cpp: + * html/HTMLTableCellElement.cpp: + * html/HTMLTablePartElement.cpp: + * mathml/MathMLElement.cpp: + +2012-02-11 Anders Carlsson <andersca@apple.com> + + Overlay scrollbars don't appear when scrolling on the scrolling thread + https://bugs.webkit.org/show_bug.cgi?id=78427 + + Reviewed by Sam Weinig. + + Add a ScrollAnimator::notifyContentAreaScrolled and call it from ScrollAnimator::notifyContentAreaScrolled. + It is then overridden in ScrollAnimatorMac to tickle AppKit so that overlay scrollbars will be shown. + + * platform/ScrollAnimator.h: + (WebCore::ScrollAnimator::notifyContentAreaScrolled): + (ScrollAnimator): + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::notifyScrollPositionChanged): + * platform/mac/ScrollAnimatorMac.h: + (ScrollAnimatorMac): + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::notifyPositionChanged): + (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled): + (WebCore): + +2012-02-11 Anders Carlsson <andersca@apple.com> + + Implement more ScrollElasticityControllerClient member functions + https://bugs.webkit.org/show_bug.cgi?id=78425 + <rdar://problem/10710727> + + Reviewed by Sam Weinig. + + * page/scrolling/ScrollingTreeNode.h: + (ScrollingTreeNode): + (WebCore::ScrollingTreeNode::horizontalScrollElasticity): + (WebCore::ScrollingTreeNode::verticalScrollElasticity): + (WebCore::ScrollingTreeNode::hasEnabledHorizontalScrollbar): + (WebCore::ScrollingTreeNode::hasEnabledVerticalScrollbar): + Add new getters. + + * page/scrolling/mac/ScrollingTreeNodeMac.h: + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching): + (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching): + (WebCore::ScrollingTreeNodeMac::stretchAmount): + (WebCore::ScrollingTreeNodeMac::pinnedInDirection): + (WebCore::ScrollingTreeNodeMac::canScrollHorizontally): + (WebCore::ScrollingTreeNodeMac::canScrollVertically): + (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition): + (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints): + (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer): + (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer): + (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints): + Implement ScrollElasticityControllerClient member functions. + +2012-02-11 Antti Koivisto <antti@apple.com> + + Add size assert for Length + https://bugs.webkit.org/show_bug.cgi?id=78420 + + Rubber-stamped by Andreas Kling. + + Length type is memory critical and must not grow. + + * platform/Length.cpp: + (SameSizeAsLength): + (WebCore): + +2012-02-11 Anders Carlsson <andersca@apple.com> + + Pass wheel events to a scroll elasticity controller on the scrolling thread + https://bugs.webkit.org/show_bug.cgi?id=78421 + + Reviewed by Sam Weinig. + + Add a ScrollElasticityController to ScrollingTreeNodeMac and pass wheel events to it. + Fix ScrollingTreeNodeMac::scrollBy to clamp by the minimum and maximum scroll positions. + + * page/scrolling/mac/ScrollingTreeNodeMac.h: + (ScrollingTreeNodeMac): + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::ScrollingTreeNodeMac): + (WebCore::ScrollingTreeNodeMac::handleWheelEvent): + (WebCore::ScrollingTreeNodeMac::immediateScrollBy): + (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition): + (WebCore::ScrollingTreeNodeMac::minimumScrollPosition): + (WebCore): + (WebCore::ScrollingTreeNodeMac::maximumScrollPosition): + (WebCore::ScrollingTreeNodeMac::scrollBy): + +2012-02-11 Andreas Kling <awesomekling@apple.com> + + Attribute styles should be created lazily. + <http://webkit.org/b/78381> + + Reviewed by Antti Koivisto. + + TL;DR summary: Lazily construct the StyledElement::attributeStyle() instead of + moving properties in/out of it in parseAttribute(). This allows us to enable + the matched declaration cache for elements with presentation attributes. + + The matched declaration cache has been disabled for elements with presentation + attributes because attributeStyle() was mutable, and (simply put) the cache maps + a set of StylePropertySet pointers to a resulting RenderStyle. This requires + that the StylePropertySets are immutable. + + To make them immutable, we now construct the attribute style lazily by adding + a flag (to Node) that gets set in parseAttribute() when a presentation attribute + respected by the element changes. A subsequent call to attributeStyle() checks + the flag and rebuilds the style by looping over the attributes and calling the + new virtual StyledElement::collectStyleForAttribute() on each one. Any dangling + references to the previous attribute style will be garbage collected by the + cache in CSSStyleSelector::sweepMatchedDeclarationCache(). + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::matchAllRules): + + Enable matched declaration cache for elements with attribute style. + + * dom/Node.h: + (WebCore::Node::attributeStyleDirty): + (WebCore::Node::setAttributeStyleDirty): + (WebCore::Node::clearAttributeStyleDirty): + + Add a Node flag to signify that a presentation attribute has changed and + the attribute style needs to be rebuilt. + + * dom/ElementAttributeData.h: + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::setAttributeStyle): + + Added a setter for the attribute style, called by updateAttributeStyle(). + + * dom/StyledElement.cpp: + (WebCore::StyledElement::addHTMLLengthToStyle): + (WebCore::StyledElement::addHTMLColorToStyle): + + Moved and renamed two of the old addCSS* helpers from StyledElement. + + (WebCore::StyledElement::updateAttributeStyle): + + Called by attributeStyle() in case the "attribute style dirty" flag is + set. Rebuilds the attribute style from scratch by looping over the + attribute map and calling collectStyleForAttribute() on each attribute. + + * dom/StyledElement.h: + (WebCore::StyledElement::collectStyleForAttribute): + (WebCore::StyledElement::attributeStyle): + (WebCore::StyledElement::setNeedsAttributeStyleUpdate): + + Helper, sets the attribute style dirty flag and marks the element for + full style recalc. This is what parseAttribute() calls in subclasses + when they encounter a presentation attribute. + + * html/HTMLBRElement.cpp: + (WebCore::HTMLBRElement::collectStyleForAttribute): + (WebCore::HTMLBRElement::parseAttribute): + * html/HTMLBRElement.h: + * html/HTMLBodyElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLBodyElement::collectStyleForAttribute): + (WebCore::HTMLBodyElement::parseAttribute): + * html/HTMLBodyElement.h: + * html/HTMLDivElement.cpp: + (WebCore::HTMLDivElement::collectStyleForAttribute): + (WebCore::HTMLDivElement::parseAttribute): + * html/HTMLDivElement.h: + * html/HTMLElement.cpp: + (WebCore::HTMLElement::applyBorderAttributeToStyle): + (WebCore::HTMLElement::mapLanguageAttributeToLocale): + (WebCore::HTMLElement::collectStyleForAttribute): + (WebCore::HTMLElement::parseAttribute): + (WebCore::HTMLElement::applyAlignmentAttributeToStyle): + * html/HTMLElement.h: + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::collectStyleForAttribute): + (WebCore::HTMLEmbedElement::parseAttribute): + * html/HTMLEmbedElement.h: + * html/HTMLFontElement.cpp: + (WebCore::HTMLFontElement::collectStyleForAttribute): + (WebCore::HTMLFontElement::parseAttribute): + * html/HTMLFontElement.h: + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::collectStyleForAttribute): + (WebCore::HTMLFrameSetElement::parseAttribute): + * html/HTMLFrameSetElement.h: + * html/HTMLHRElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLHRElement::collectStyleForAttribute): + (WebCore::HTMLHRElement::parseAttribute): + * html/HTMLHRElement.h: + * html/HTMLIFrameElement.cpp: + (WebCore::HTMLIFrameElement::collectStyleForAttribute): + (WebCore::HTMLIFrameElement::parseAttribute): + * html/HTMLIFrameElement.h: + * html/HTMLImageElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLImageElement::collectStyleForAttribute): + (WebCore::HTMLImageElement::parseAttribute): + * html/HTMLImageElement.h: + * html/HTMLInputElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLInputElement::collectStyleForAttribute): + (WebCore::HTMLInputElement::parseAttribute): + * html/HTMLInputElement.h: + * html/HTMLLIElement.cpp: + (WebCore::HTMLLIElement::collectStyleForAttribute): + (WebCore::HTMLLIElement::parseAttribute): + * html/HTMLLIElement.h: + * html/HTMLMarqueeElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLMarqueeElement::collectStyleForAttribute): + (WebCore::HTMLMarqueeElement::parseAttribute): + * html/HTMLMarqueeElement.h: + * html/HTMLOListElement.cpp: + (WebCore::HTMLOListElement::collectStyleForAttribute): + (WebCore::HTMLOListElement::parseAttribute): + * html/HTMLOListElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::collectStyleForAttribute): + (WebCore::HTMLObjectElement::parseAttribute): + * html/HTMLObjectElement.h: + * html/HTMLParagraphElement.cpp: + (WebCore::HTMLParagraphElement::collectStyleForAttribute): + (WebCore::HTMLParagraphElement::parseAttribute): + * html/HTMLParagraphElement.h: + * html/HTMLPlugInElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLPlugInElement::collectStyleForAttribute): + (WebCore::HTMLPlugInElement::parseAttribute): + * html/HTMLPlugInElement.h: + * html/HTMLPreElement.cpp: + (WebCore::HTMLPreElement::collectStyleForAttribute): + (WebCore::HTMLPreElement::parseAttribute): + * html/HTMLPreElement.h: + * html/HTMLTableCaptionElement.cpp: + (WebCore::HTMLTableCaptionElement::collectStyleForAttribute): + (WebCore::HTMLTableCaptionElement::parseAttribute): + * html/HTMLTableCaptionElement.h: + * html/HTMLTableCellElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLTableCellElement::collectStyleForAttribute): + (WebCore::HTMLTableCellElement::parseAttribute): + * html/HTMLTableCellElement.h: + * html/HTMLTableColElement.cpp: + (WebCore::HTMLTableColElement::collectStyleForAttribute): + (WebCore::HTMLTableColElement::parseAttribute): + * html/HTMLTableColElement.h: + * html/HTMLTableElement.cpp: + (WebCore::getBordersFromFrameAttributeValue): + (WebCore::HTMLTableElement::collectStyleForAttribute): + (WebCore::HTMLTableElement::parseAttribute): + * html/HTMLTableElement.h: + * html/HTMLTablePartElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::HTMLTablePartElement::collectStyleForAttribute): + (WebCore::HTMLTablePartElement::parseAttribute): + * html/HTMLTablePartElement.h: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::collectStyleForAttribute): + (WebCore::HTMLTextAreaElement::parseAttribute): + * html/HTMLTextAreaElement.h: + * html/HTMLUListElement.cpp: + (WebCore::HTMLUListElement::collectStyleForAttribute): + (WebCore::HTMLUListElement::parseAttribute): + * html/HTMLUListElement.h: + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::collectStyleForAttribute): + (WebCore::HTMLVideoElement::parseAttribute): + * html/HTMLVideoElement.h: + * mathml/MathMLElement.cpp: + (WebCore::isRespectedPresentationAttribute): + (WebCore::MathMLElement::collectStyleForAttribute): + (WebCore::MathMLElement::parseAttribute): + * mathml/MathMLElement.h: + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::collectStyleForAttribute): + (WebCore::SVGImageElement::parseAttribute): + * svg/SVGImageElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::collectStyleForAttribute): + (WebCore::SVGStyledElement::parseAttribute): + * svg/SVGStyledElement.h: + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::collectStyleForAttribute): + (WebCore::SVGTextContentElement::parseAttribute): + * svg/SVGTextContentElement.h: + + Split handling of presentation attributes between parseAttribute() and + collectStyleForAttribute() as appropriate. Some minor refactorings here and + there (mostly in HTMLTableElement) to avoid excessive code duplication. + Also sprinkled FIXMEs about inefficiencies we should clean up. + +2012-02-11 Arko Saha <arko@motorola.com> + + HTML 5: Support click() method on HTMLElement. + https://bugs.webkit.org/show_bug.cgi?id=27880 + + Reviewed by Timothy Hatcher. + + Test: fast/dom/click-method-on-html-element.html + + * bindings/objc/PublicDOMInterfaces.h: Added click() method in DOMHTMLElement + with availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1. + * html/HTMLButtonElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C. + * html/HTMLElement.idl: Added click() IDL method. + * html/HTMLInputElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C. + +2012-02-11 Martin Robinson <mrobinson@igalia.com> + + [GStreamer] html5test.com says that gstreamer ports do not support WebM for audio + https://bugs.webkit.org/show_bug.cgi?id=78244 + + Reviewed by Eric Seidel. + + Specifically advertise support for audio/webm when we support the vorbis + audio codec. This is necessary because gstreamer doesn't advertise it. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): Add an override for audio/webm. + +2012-02-11 Anders Carlsson <andersca@apple.com> + + Try to fix the Windows build. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::scrollToRevealSelection): + +2012-02-08 Stephen White <senorblanco@chromium.org> + + [chromium] Enable CSS filters on composited layers. + https://bugs.webkit.org/show_bug.cgi?id=77266 + + Reviewed by James Robinson. + + Will be covered by existing tests in css3/filters (when enabled). + + * WebCore.gypi: + Add CCRenderSurfaceFilters.* to the Chromium build. + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setFilters): + * platform/graphics/chromium/GraphicsLayerChromium.h: + Override setFilters() virtual from GraphicsLayer. + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::setFilters): + Implement setFilters() to cache the filters here... + (WebCore::LayerChromium::pushPropertiesTo): + ... and push them to the CCLayerImpl at commit time. + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::filters): + Implement accessor. + * platform/graphics/chromium/RenderSurfaceChromium.h: + (WebCore::RenderSurfaceChromium::setFilters): + Implement stub version of setFilters(), to satisfy the templates. + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::setFilters): + Implement setter to receive filters at commit time. + * platform/graphics/chromium/cc/CCLayerImpl.h: + (WebCore::CCLayerImpl::filters): + Implement member var and accessor for filters. + * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: + (WebCore::calculateDrawTransformsAndVisibilityInternal): + Add another clause here to force creation of a RenderSurface when + filters are present, and to forward them from the layer to the + RenderSurface. + * platform/graphics/chromium/cc/CCRenderSurface.cpp: + (WebCore::CCRenderSurface::draw): + (WebCore::CCRenderSurface::drawLayer): + Check for filters at draw time, apply them, and forward the result + through the drawing traversal. + (WebCore::CCRenderSurface::drawSurface): + If filter bitmap is present, bind it instead of the normal + RenderSurface texture. + (WebCore::CCRenderSurface::applyFilters): + Apply filters to the render surface texture, and return the result. + This function is a no-op for the threaded compositor, due to use + of the SharedGraphicsContext3D. + * platform/graphics/chromium/cc/CCRenderSurface.h: + (WebCore::CCRenderSurface::setFilters): + (WebCore::CCRenderSurface::filters): + (CCRenderSurface): + Filters getters and setters. + * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Added. + (WebCore::CCRenderSurfaceFilters::apply): + External interface for this (static) class. All internal + implementation and helper functions are in the unnamed namespace. + * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Added. + +2012-02-11 Andreas Kling <awesomekling@apple.com> + + Node.isEqualNode() compares attributes twice. + <http://webkit.org/b/78414> + + Reviewed by Anders Carlsson. + + A single pass across the attribute maps should be enough for anyone. + + Added a test verifying correct behavior of Node.isEqualNode() when comparing + two elements, one of which has had attributes that were all removed, + resulting in an empty but non-null NamedNodeMap hanging off of the element. + Note that this change is not fixing a regression, I'm just adding the test + since I came close to introducing a bug here. + + Test: fast/dom/isEqualNode-after-removeAttribute.html + + * dom/Node.cpp: + (WebCore::Node::isEqualNode): + +2012-02-11 Andreas Kling <awesomekling@apple.com> + + HTMLTablePartElement: Add helper method to find parent table. + <http://webkit.org/b/78413> + + Reviewed by Anders Carlsson. + + Add HTMLTablePartElement::findParentTable() and use that in subclasses instead + of duplicating the code. + + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::additionalAttributeStyle): + * html/HTMLTableColElement.cpp: + (WebCore::HTMLTableColElement::additionalAttributeStyle): + * html/HTMLTablePartElement.cpp: + (WebCore::HTMLTablePartElement::findParentTable): + (WebCore): + * html/HTMLTablePartElement.h: + (WebCore): + (HTMLTablePartElement): + * html/HTMLTableSectionElement.cpp: + (WebCore::HTMLTableSectionElement::additionalAttributeStyle): + +2012-02-11 Andreas Kling <awesomekling@apple.com> + + Use Element's hasName/hasID flags to avoid unnecessary work when looking up name/id attributes. + <http://webkit.org/b/77845> + + Reviewed by Anders Carlsson. + + Have Element::getIdAttribute() check the hasID() flag before looking up the attribute. + Add an Element::getNameAttribute() to do the same thing with hasName(). + Update call sites to make use of these helpers whenever possible. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityDescription): + * dom/DocumentOrderedMap.cpp: + (WebCore::keyMatchesId): + * dom/Element.h: + (Element): + (WebCore::Element::getIdAttribute): + (WebCore): + (WebCore::Element::getNameAttribute): + * dom/NameNodeList.cpp: + (WebCore::NameNodeList::nodeMatches): + * dom/StaticHashSetNodeList.cpp: + (WebCore::StaticHashSetNodeList::itemWithName): + * dom/StaticNodeList.cpp: + (WebCore::StaticNodeList::itemWithName): + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::name): + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::createRenderer): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::checkForNameMatch): + (WebCore::HTMLCollection::updateNameCache): + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::updateWidget): + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::updateNameCache): + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::formControlName): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::name): + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::setNameAndOpenURL): + * html/HTMLMetaElement.cpp: + (WebCore::HTMLMetaElement::name): + * html/HTMLNameCollection.cpp: + (WebCore::HTMLNameCollection::itemAfter): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::updateWidget): + (WebCore::HTMLObjectElement::updateDocNamedItem): + (WebCore::HTMLObjectElement::containsJavaApplet): + (WebCore::HTMLObjectElement::formControlName): + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::buildObjectForFrame): + * page/Frame.cpp: + (WebCore::Frame::matchLabelsAgainstElement): + * rendering/svg/RenderSVGResourceContainer.cpp: + (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::getElementById): + +2012-02-11 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r107435. + http://trac.webkit.org/changeset/107435 + https://bugs.webkit.org/show_bug.cgi?id=78410 + + It broke the Qt build (Requested by Ossy on #webkit). + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * editing/mac/EditorMac.mm: + (WebCore::Editor::writeSelectionToPasteboard): + * platform/Pasteboard.h: + (WebCore): + (Pasteboard): + * platform/PasteboardStrategy.h: Removed. + * platform/PlatformPasteboard.h: Removed. + * platform/PlatformStrategies.h: + (WebCore): + (WebCore::PlatformStrategies::PlatformStrategies): + (PlatformStrategies): + * platform/mac/DragDataMac.mm: + (WebCore::DragData::canSmartReplace): + (WebCore::insertablePasteboardTypes): + (WebCore::DragData::asURL): + * platform/mac/PasteboardMac.mm: + (WebCore): + (WebCore::selectionPasteboardTypes): + (WebCore::writableTypesForURL): + (WebCore::createWritableTypesForImage): + (WebCore::writableTypesForImage): + (WebCore::Pasteboard::Pasteboard): + (WebCore::Pasteboard::clear): + (WebCore::Pasteboard::writeSelectionForTypes): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeSelection): + (WebCore::writeURLForTypes): + (WebCore::Pasteboard::writeURL): + (WebCore::writeFileWrapperAsRTFDAttachment): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::writeClipboard): + (WebCore::Pasteboard::canSmartReplace): + (WebCore::Pasteboard::plainText): + (WebCore::documentFragmentWithRTF): + (WebCore::Pasteboard::documentFragment): + * platform/mac/PlatformPasteboardMac.mm: Removed. + +2012-02-10 Antti Koivisto <antti@apple.com> + + Move CSSOM wrapper pointer out of StylePropertySet + https://bugs.webkit.org/show_bug.cgi?id=78406 + + Reviewed by Andreas Kling. + + Most StylePropertySet instances never have CSSOM wrappers so having a pointer to one in + each and and every object makes no sense. + + Move the PropertySetCSSStyleDeclaration instances to a global HashMap. This shrinks + StylePropertySet by a pointer. + + Added COMPILE_ASSERT for StylePropertySet size. + + * css/StylePropertySet.cpp: + (WebCore): + (WebCore::StylePropertySet::StylePropertySet): + (WebCore::StylePropertySet::~StylePropertySet): + (WebCore::StylePropertySet::ensureCSSStyleDeclaration): + * css/StylePropertySet.h: + (StylePropertySet): + +2012-02-10 David Barton <dbarton@mathscribe.com> + + MathML internals - use createXXX() function naming, ASSERT()s + https://bugs.webkit.org/show_bug.cgi?id=78384 + + Reviewed by Eric Seidel. + + Standard RefPtr function naming uses "createXXX" instead of "makeXXX". + I also added a couple of ASSERT()s. + + No new tests. + + * rendering/mathml/RenderMathMLBlock.cpp: + (WebCore::RenderMathMLBlock::createBlockStyle): + * rendering/mathml/RenderMathMLBlock.h: + (RenderMathMLBlock): + * rendering/mathml/RenderMathMLFenced.cpp: + (WebCore::RenderMathMLFenced::createOperatorStyle): + (WebCore::RenderMathMLFenced::makeFences): + (WebCore::RenderMathMLFenced::addChild): + * rendering/mathml/RenderMathMLFenced.h: + (RenderMathMLFenced): + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::addChild): + * rendering/mathml/RenderMathMLRoot.cpp: + (WebCore::RenderMathMLRoot::addChild): + * rendering/mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::RenderMathMLSubSup): + * rendering/mathml/RenderMathMLUnderOver.cpp: + (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): + (WebCore::RenderMathMLUnderOver::addChild): + +2012-02-10 Dan Bernstein <mitz@apple.com> + + Non-threaded scrolling build fix. + + * page/FrameView.cpp: + (WebCore::FrameView::requestScrollPositionUpdate): + +2012-02-10 Edward O'Connor <eoconnor@apple.com> + + Change values for WEBKIT_KEYFRAMES_RULE, WEBKIT_KEYFRAME_RULE + https://bugs.webkit.org/show_bug.cgi?id=71293 + + Reviewed by Chris Marrin. + + Tests: animations/animation-css-rule-types.html + + * css/CSSRule.h: Change WEBKIT_KEYFRAMES_RULE to 7 and + WEBKIT_KEYFRAME_RULE to 8. + * css/CSSRule.idl: Ditto. + +2012-02-10 Eric Seidel <eric@webkit.org> + + AtomicMarkupTokenBase::initializeAttributes should not create a StringImpl if it doesn't need to + https://bugs.webkit.org/show_bug.cgi?id=78394 + + Reviewed by Adam Barth. + + On the very next line is passes value to Attribute::create which takes + an AtomicString, so this code was just allocating a StringImpl (every time) + only to (much of the time) just release that StringImpl on the next line + when it got the AtomicString instead. + + I discovered this while looking at DOM/Events.html, but it's unclear + if this fix actually makes that benchmark faster. + + * xml/parser/MarkupTokenBase.h: + (WebCore::::initializeAttributes): + +2012-02-10 Anders Carlsson <andersca@apple.com> + + Always update the scroll position through the scrolling coordinator + https://bugs.webkit.org/show_bug.cgi?id=78403 + + Reviewed by Sam Weinig. + + To get correct behavior, we always want to update the scrolling layer position + on the scrolling thread. Do this by allowing the scrolling coordinator to intercept + scroll position update requests and send them to the scrolling tree. + + * page/FrameView.cpp: + (WebCore::FrameView::requestScrollPositionUpdate): + Let the scrolling coordinator have a go at updating the scroll position for this frame view. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::requestScrollPositionUpdate): + If it's a frame view we're coordinating scrolling for, tell the scrolling tree to update + the scroll position. + + * page/scrolling/ScrollingTree.cpp: + (WebCore::ScrollingTree::setMainFrameScrollPosition): + Call through to the scrolling tree node. + + * page/scrolling/ScrollingTreeNode.h: + Add a new pure virtual setScrollPosition member function. + + (WebCore::ScrollingTreeNodeMac::setScrollPosition): + Move most of the code from scrollBy here. + + (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition): + Rename this member function from setScrollPosition to avoid conflicts. + + (WebCore::ScrollingTreeNodeMac::scrollBy): + Just call setScsrollPosition. + + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::setScrollOffsetFromAnimation): + Call requestScrollPositionUpdate, which allows subclasses of scrollable area to intercept + the scroll operation and call it asynchronously. + +2012-02-10 Anders Carlsson <andersca@apple.com> + + ScrollableArea should have a function for noting that the scroll position changed + https://bugs.webkit.org/show_bug.cgi?id=78402 + + Reviewed by Sam Weinig. + + The scrolling coordinator needs a specialized function to call whenever the main frame + scrolling position has changed, so add ScrollableArea::notifyScrollPositionChanged and + call it from the scrolling coordinator. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition): + (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition): + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::notifyScrollPositionChanged): + New function. + + (WebCore::ScrollableArea::setScrollOffsetFromAnimation): + Call ScrollableArea::notifyScrollPositionChanged. + +2012-02-09 Levi Weintraub <leviw@chromium.org> + + Unreviewed build fix. + + Fixing the build by removing a duplicate definition of pixelSnappedIntRect in LayoutTypes.h and + removing conflict markers from the changelog. + + * rendering/LayoutTypes.h: + (pixelSnappedIntRect): + * ChangeLog: + +2012-02-09 Levi Weintraub <leviw@chromium.org> + + Add pixelSnappedIntRect method + https://bugs.webkit.org/show_bug.cgi?id=78054 + + Reviewed by Eric Seidel. + + This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to + pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics + engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to + understand we're using sub-pixel units). + + No new tests. No change in behavior. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isOffScreen): + (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): + * dom/Range.cpp: + (WebCore::Range::boundingBox): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::paint): + * html/shadow/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::startSpeechInput): + * page/Frame.cpp: + (WebCore::Frame::nodeImage): + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + (WebCore::FrameView::doDeferredRepaints): + (WebCore::FrameView::windowClipRectForLayer): + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::paintGraphicsLayerContents): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paint): + * rendering/LayoutTypes.h: + (WebCore::pixelSnappedIntRect): + (WebCore): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::selectionGaps): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBoxDecorations): + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): + (WebCore::RenderBoxModelObject::drawBoxSideFromPath): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderDetailsMarker.cpp: + (WebCore::RenderDetailsMarker::paint): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::paintIntoRegion): + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::paintColumnBorder): + (WebCore::RenderFrameSet::paintRowBorder): + (WebCore::RenderFrameSet::positionFramesWithFlattening): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::calculateRects): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::paintScrollbar): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::calculateCompositedBounds): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawLineForBoxSide): + (WebCore::RenderObject::addPDFURLRect): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::showPopup): + (WebCore::RenderTextControlSingleLine::paint): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderFor): + +2012-02-09 Levi Weintraub <leviw@chromium.org> + + Add pixelSnappedIntRect method + https://bugs.webkit.org/show_bug.cgi?id=78054 + + Reviewed by Eric Seidel. + + This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to + pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics + engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to + understand we're using sub-pixel units). + + No new tests. No change in behavior. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isOffScreen): + (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): + * dom/Range.cpp: + (WebCore::Range::boundingBox): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::paint): + * html/shadow/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::startSpeechInput): + * page/Frame.cpp: + (WebCore::Frame::nodeImage): + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + (WebCore::FrameView::doDeferredRepaints): + (WebCore::FrameView::windowClipRectForLayer): + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::paintGraphicsLayerContents): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paint): + * rendering/LayoutTypes.h: + (WebCore::pixelSnappedIntRect): + (WebCore): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::selectionGaps): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBoxDecorations): + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): + (WebCore::RenderBoxModelObject::drawBoxSideFromPath): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderDetailsMarker.cpp: + (WebCore::RenderDetailsMarker::paint): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::paintIntoRegion): + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::paintColumnBorder): + (WebCore::RenderFrameSet::paintRowBorder): + (WebCore::RenderFrameSet::positionFramesWithFlattening): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::calculateRects): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::paintScrollbar): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::calculateCompositedBounds): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawLineForBoxSide): + (WebCore::RenderObject::addPDFURLRect): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::showPopup): + (WebCore::RenderTextControlSingleLine::paint): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderFor): + +2012-02-10 Brian Weinstein <bweinstein@apple.com> + + Web Inspector: Add the ability to jump to the source for a given frame + https://bugs.webkit.org/show_bug.cgi?id=78396 + + Reviewed by Tim Hatcher. + + * WebCore.exp.in: Add a new exported function. + * inspector/InspectorController.cpp: Add and expose the InspectorPageAgent. + (WebCore::InspectorController::InspectorController): Set m_pageAgent. + * inspector/InspectorController.h: Add m_pageAgent. + (WebCore::InspectorController::pageAgent): Return m_pageAgent. + + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::showMainResourceForFrame): Get the inspector's frame ID + of the frame that was passed in, and add a call to evaluate on load. + * inspector/InspectorFrontendClientLocal.h: + + * inspector/front-end/InspectorFrontendAPI.js: + (InspectorFrontendAPI.showMainResourceForFrame): Add a FIXME to show the source code for the main + resource of the given frame. + +2012-02-10 Vineet Chaudhary <rgf748@motorola.com> + + https://bugs.webkit.org/show_bug.cgi?id=72756 + DOMHTMLElement’s accessKey property is declared as available in WebKit version that didn’t have it. + + Reviewed by Timothy Hatcher. + + No new tests. + + * bindings/objc/PublicDOMInterfaces.h: Moving accessKey property to DOMHTMLElement + with an appropriate availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1. + Also Moving accessKey property to HTMLAnchorElement, HTMLAreaElement, HTMLButtonElement, + HTMLInputElement, HTMLLabelElement, HTMLLegendElement and HTMLTextAreaElement idls + with an availability macro AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_5_1. + * html/HTMLAnchorElement.idl: Adding accessKey entries back to idls under LANGUAGE_OBJECTIVE_C. + * html/HTMLAreaElement.idl: Ditto. + * html/HTMLButtonElement.idl: Ditto. + * html/HTMLInputElement.idl: Ditto. + * html/HTMLLabelElement.idl: Ditto. + * html/HTMLLegendElement.idl: Ditto. + * html/HTMLTextAreaElement.idl: Ditto. + +2012-02-10 Beth Dakin <bdakin@apple.com> + + Speculative build fix. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::scrollToRevealSelection): + +2012-02-10 Adam Klein <adamk@chromium.org> + + Enable MUTATION_OBSERVERS by default on all platforms + https://bugs.webkit.org/show_bug.cgi?id=78196 + + Reviewed by Ojan Vafai. + + * Configurations/FeatureDefines.xcconfig: + * UseV8.cmake: Add some previously-missing files. + * WebCore.vcproj/WebCore.vcproj: ditto. + * bindings/js/JSBindingsAllInOne.cpp: ditto. + * dom/DOMAllInOne.cpp: ditto. + +2012-02-10 Emil A Eklund <eae@chromium.org> and Levi Weintraub <leviw@chromium.org> + + Add FractionalLayoutUnit type for sub-pixel layout + https://bugs.webkit.org/show_bug.cgi?id=77485 + + Reviewed by Eric Seidel. + + Add fixed point implementation (FractionalLayoutUnit). + + FractionalLayoutUnit represents values as multiples of 1/60th pixel. This allows us + to represent sub-pixel values using integer math and avoids floating point precision + problems. + + No new tests. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/FractionalLayoutUnit.h: Added. + +2012-02-10 Adam Langley <agl@chromium.org> + + Don't lowercase ping URLs. + + Previously, ping URLs would be lowercased when splitting them apart. + URLs are not, however, case-insensitive. + + https://bugs.webkit.org/show_bug.cgi?id=78371 + + Reviewed by Tony Chang. + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::sendPings): Don't lowercase URL. + +2012-02-10 Ojan Vafai <ojan@chromium.org> + + flex-pack:center and flex-item-align:center should do true centering + https://bugs.webkit.org/show_bug.cgi?id=77385 + + Reviewed by Tony Chang. + + Also, removed passing totalPositiveFlexibility around. We don't + need to know about positive/negative flex once we run the flexing algorithm. + We used to need to know this in order to flex margins, but margins can + no longer be flexed. + + Test: css3/flexbox/true-centering.html + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutFlexItems): + (WebCore::initialPackingOffset): + (WebCore::packingSpaceBetweenChildren): + (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): + (WebCore::RenderFlexibleBox::layoutColumnReverse): + * rendering/RenderFlexibleBox.h: + (RenderFlexibleBox): + +2012-02-10 Mark Hahnenberg <mhahnenberg@apple.com> + + Split MarkedSpace into destructor and destructor-free subspaces + https://bugs.webkit.org/show_bug.cgi?id=77761 + + Reviewed by Geoffrey Garen. + + No new tests. + + * bindings/js/JSDOMWindowShell.cpp: Removed old operator new, which was just used in the create + function so that we can use allocateCell instead. + (WebCore): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::create): + (JSDOMWindowShell): + * bindings/scripts/CodeGeneratorJS.pm: Added destructor back to root JS DOM nodes (e.g. JSNode, etc) + because their destroy functions need to be called, so we don't want the NeedsDestructor struct to + think they don't need destruction due to having empty/trivial destructors. + Removed ASSERT_HAS_TRIVIAL_DESTRUCTOR from all JS DOM wrapper auto-generated objects because their + ancestors now have non-trivial destructors. + (GenerateHeader): + (GenerateImplementation): + (GenerateConstructorDefinition): + +2012-02-10 Anders Carlsson <andersca@apple.com> + + Remove a bunch of unused ScrollableArea member functions + https://bugs.webkit.org/show_bug.cgi?id=78388 + + Reviewed by Beth Dakin. + + * platform/ScrollableArea.cpp: + * platform/ScrollableArea.h: + +2012-02-10 Pavel Podivilov <podivilov@chromium.org> + + Fix a few typos in IDL exception names. + https://bugs.webkit.org/show_bug.cgi?id=78356 + + Reviewed by Adam Barth. + + * dom/Node.idl: + * notifications/NotificationCenter.idl: + * page/Navigator.idl: + +2012-02-10 Benjamin Poulain <bpoulain@apple.com> + + DefaultLocalizationStrategy::htmlSelectMultipleItems() should use size_t instead of int + https://bugs.webkit.org/show_bug.cgi?id=78374 + + Reviewed by Joseph Pecoraro. + + The value comes from size_t and is converted to int for no good reason. We should use + size_t. + + * platform/DefaultLocalizationStrategy.cpp: + (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems): + * platform/DefaultLocalizationStrategy.h: + (DefaultLocalizationStrategy): + +2012-02-10 Anders Carlsson <andersca@apple.com> + + More ScrollableArea cleanup + https://bugs.webkit.org/show_bug.cgi?id=78383 + + Reviewed by Beth Dakin. + + Get rid of setScrollOriginX and setScrollOriginY. Make ScrollableArea::setScrollOrigin private. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::setScrollOrigin): + * platform/ScrollableArea.h: + (ScrollableArea): + +2012-02-10 Kentaro Hara <haraken@chromium.org> + + Rename [JSCustomPrototypePutDelegate] to [JSCustomNamedGetterOnPrototype] + https://bugs.webkit.org/show_bug.cgi?id=78353 + + Reviewed by Adam Barth. + + [JSCustomPrototypePutDelegate] is used to write custom code for named + getters on a prototype interface. "PutDelegate" is just a method name + in implementation and not so descriptive. This patch renames it to + [JSCustomNamedGetterOnPrototype]. This is also for naming consistency + with [CustomNamedGetter]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateHeader): + (GenerateImplementation): + * page/Location.idl: + +2012-02-10 Enrica Casucci <enrica@apple.com> + + Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies. + https://bugs.webkit.org/show_bug.cgi?id=78282 + + This patch removes any accesss to the NSPasteboard object from the Pasteboard class which + now makes use of a new pasteboardStrategy object that is implemented both in WebKit and + WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard + class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy + interface but this one more step in the direction of removing access to NSPasteboard from + the WebProcess. + As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes. + + Reviewed by Anders Carlsson. + + No new tests. No change in behavior, just code refactoring. + + * WebCore.exp.in: Added exported class PlatformPasteboard. + * WebCore.xcodeproj/project.pbxproj: Added new files to the build. + * editing/mac/EditorMac.mm: + (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types. + * platform/Pasteboard.h: + + * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class. + * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard. + * platform/PlatformStrategies.h: + (WebCore::PlatformStrategies::pasteboardStrategy): Added. + * platform/mac/DragDataMac.mm: + (WebCore::DragData::canSmartReplace): + (WebCore::insertablePasteboardTypes): + (WebCore::DragData::asURL): + * platform/mac/PasteboardMac.mm: + (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray. + (WebCore::writableTypesForURL): Ditto. + (WebCore::createWritableTypesForImage): Ditto. + (WebCore::writableTypesForImage): Ditto. + (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard. + (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy(). + (WebCore::Pasteboard::writeSelectionForTypes): Ditto. + (WebCore::Pasteboard::writePlainText): Ditto. + (WebCore::Pasteboard::writeSelection): Ditto. + (WebCore::writeURLForTypes): Ditto. + (WebCore::Pasteboard::writeURL): Ditto. + (WebCore::writeFileWrapperAsRTFDAttachment): Ditto. + (WebCore::Pasteboard::writeImage): Ditto. + (WebCore::Pasteboard::writeClipboard): Ditto. + (WebCore::Pasteboard::canSmartReplace): Ditto. + (WebCore::Pasteboard::plainText): Ditto. + (WebCore::documentFragmentWithRTF): Ditto. + (WebCore::Pasteboard::documentFragment): Ditto. + * platform/mac/PlatformPasteboardMac.mm: Added. + (WebCore::PlatformPasteboard::PlatformPasteboard): + (WebCore::PlatformPasteboard::getTypes): + (WebCore::PlatformPasteboard::bufferForType): + (WebCore::PlatformPasteboard::getPathnamesForType): + (WebCore::PlatformPasteboard::stringForType): + (WebCore::PlatformPasteboard::copy): + (WebCore::PlatformPasteboard::setTypes): + (WebCore::PlatformPasteboard::setBufferForType): + (WebCore::PlatformPasteboard::setPathnamesForType): + (WebCore::PlatformPasteboard::setStringForType): + +2012-02-10 Kentaro Hara <haraken@chromium.org> + + Rename [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor] + https://bugs.webkit.org/show_bug.cgi?id=78352 + + Reviewed by Adam Barth. + + [JSCustomGetOwnPropertySlotDelegate] is used for "flexibly customizable" + named getter. It allows us to write custom code for getOwnPropertySlotDelegate() + and getOwnPropertyDescriptorDelegate(). To clarify that, we can rename + [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateGetOwnPropertySlotBody): + (GenerateGetOwnPropertyDescriptorBody): + (GenerateHeader): + (GenerateImplementation): + + * html/HTMLAppletElement.idl: + * html/HTMLEmbedElement.idl: + * html/HTMLObjectElement.idl: + * page/History.idl: + * page/Location.idl: + * workers/WorkerContext.idl: + +2012-02-10 Anders Carlsson <andersca@apple.com> + + Minor ScrollAnimatorMac cleanup + https://bugs.webkit.org/show_bug.cgi?id=78375 + + Reviewed by Beth Dakin. + + Get rid of adjustScrollXPositionIfNecessary and adjustScrollYPositionIfNecessary. + Also, reduce nesting in willAdd/didAdd functions by using early returns. + + * platform/mac/ScrollAnimatorMac.h: + (ScrollAnimatorMac): + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): + (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): + (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): + (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): + (WebCore::ScrollAnimatorMac::immediateScrollBy): + +2012-02-10 Anders Carlsson <andersca@apple.com> + + Minor ScrollableArea cleanup + https://bugs.webkit.org/show_bug.cgi?id=78372 + + Reviewed by Beth Dakin. + + Get rid of scrollToXOffsetWithoutAnimation and scrollToYOffsetWithoutAnimation. + + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation): + * platform/ScrollableArea.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::computeLogicalHeight): + (WebCore::RenderListBox::scrollToRevealElementAtListIndex): + (WebCore::RenderListBox::setScrollTop): + +2012-02-10 Benjamin Poulain <bpoulain@apple.com> + + [Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT + https://bugs.webkit.org/show_bug.cgi?id=78320 + + Reviewed by Joseph Pecoraro. + + <rdar://problem/10839750> + + * Configurations/WebCore.xcconfig: + +2012-02-10 Anders Carlsson <andersca@apple.com> + + Update the non-fast-scrollable region for subframe layout as well + https://bugs.webkit.org/show_bug.cgi?id=78366 + <rdar://problem/10844064> + + Reviewed by Beth Dakin. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::computeNonFastScrollableRegion): + Move the non-fast-scrollable region computation out into a new function. + + (WebCore::ScrollingCoordinator::frameViewLayoutUpdated): + Always recompute the non-fast-scrollable region whenever a frame view's layout is updated, + not just the main frame. + +2012-02-09 Chris Marrin <cmarrin@apple.com> + + Implement hardware animation of CSS filters + https://bugs.webkit.org/show_bug.cgi?id=78155 + + Added logic to PlatformCAAnimation to return enough information + to GraphicsLayerCA to be able to construct a keyPath animation + for each filter property. Some filters need to animate multiple + properties per filter, so PlatformCAAnimation also returns the number + of properties per filter and then an animation is constructed for + each one. Also added all the support logic to handle hardware filter + animation in the higher level logic, just like we do for transforms and + opacity. + + Also stubbed out new PlatformCAAnimation functions for Windows. We don't yet + support hardware filters on Windows. + + Reviewed by Dean Jackson. + + Tests: css3/filters/filter-animation-from-none-hw.html + css3/filters/filter-animation-from-none-multi-hw.html + css3/filters/filter-animation-from-none-multi.html + css3/filters/filter-animation-hw.html + css3/filters/filter-animation-multi-hw.html + css3/filters/filter-animation-multi.html + + * page/animation/AnimationBase.cpp: + (WebCore): + (PropertyWrapperAcceleratedFilter): + (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter): + (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated): + (WebCore::PropertyWrapperAcceleratedFilter::blend): + (WebCore::AnimationBase::ensurePropertyMap): + * platform/graphics/GraphicsLayer.cpp: + (WebCore): + (WebCore::filterOperationsAt): + (WebCore::GraphicsLayer::validateFilterOperations): + * platform/graphics/GraphicsLayer.h: + (WebCore): + (FilterAnimationValue): + (WebCore::FilterAnimationValue::FilterAnimationValue): + (WebCore::FilterAnimationValue::clone): + (WebCore::FilterAnimationValue::value): + (GraphicsLayer): + * platform/graphics/GraphicsLayerClient.h: + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::propertyIdToString): + (WebCore::GraphicsLayerCA::moveOrCopyAnimations): + (WebCore::GraphicsLayerCA::addAnimation): + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): + (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): + (WebCore): + (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes): + (WebCore::GraphicsLayerCA::createBasicAnimation): + (WebCore::GraphicsLayerCA::createKeyframeAnimation): + (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints): + (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes): + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + (WebCore::GraphicsLayerCA::cloneLayer): + * platform/graphics/ca/GraphicsLayerCA.h: + (GraphicsLayerCA): + * platform/graphics/ca/PlatformCAAnimation.h: + (PlatformCAAnimation): + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (PlatformCAAnimation::setFromValue): + (PlatformCAAnimation::setToValue): + (PlatformCAAnimation::setValues): + (PlatformCAAnimation::numAnimatedFilterProperties): + (PlatformCAAnimation::animatedFilterPropertyName): + * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: + (PlatformCAAnimation::setFromValue): + (PlatformCAAnimation::setToValue): + (PlatformCAAnimation::setValues): + (PlatformCAAnimation::numAnimatedFilterProperties): + (PlatformCAAnimation::animatedFilterPropertyName): + * platform/graphics/filters/FilterOperation.h: + (FilterOperation): + (WebCore::FilterOperation::isDefault): + (DefaultFilterOperation): + (WebCore::DefaultFilterOperation::create): + (WebCore::DefaultFilterOperation::operator==): + (WebCore::DefaultFilterOperation::isDefault): + (WebCore::DefaultFilterOperation::DefaultFilterOperation): + (WebCore): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::hasFilter): + (RenderLayer): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::startAnimation): + (WebCore::RenderLayerBacking::startTransition): + (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty): + (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty): + +2012-02-10 Peter Rybin <peter.rybin@gmail.com> + + Web Inspector: CodeGeneratorInspector.py: properly resolve output types of commands + https://bugs.webkit.org/show_bug.cgi?id=78025 + + Reviewed by Vsevolod Vlasov. + + Code for generating ad-hoc types is added. It was reused from event + generator part. + + * inspector/CodeGeneratorInspector.py: + (Generator.process_event): + (Generator.process_command): + (Generator.resolve_type_and_generate_ad_hoc): + (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext): + (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix): + (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix): + (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix.output_comment): + (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.add_type): + (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener): + (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener.add_type_data): + (Generator.resolve_type_and_generate_ad_hoc.InterfaceResolveContext): + (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext): + (Generator): + +2012-02-10 Kentaro Hara <haraken@chromium.org> + + Rename [CustomPropertyNames] to [CustomEnumerateProperty] + https://bugs.webkit.org/show_bug.cgi?id=78351 + + Reviewed by Adam Barth. + + This patch renames [CustomPropertyNames] to [CustomEnumerateProperty], + for clarification and for naming consistency with [CustomDeleteProperty]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateHeader): + (GenerateImplementation): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeaderNamedAndIndexedPropertyAccessors): + (GenerateImplementationNamedPropertyGetter): + + * css/CSSStyleDeclaration.idl: + * dom/DOMStringMap.idl: + * page/DOMWindow.idl: + * page/History.idl: + * page/Location.idl: + * storage/Storage.idl: + +2012-02-09 Antti Koivisto <antti@apple.com> + + Use underlying property set to refcount PropertySetCSSStyleDeclaration + https://bugs.webkit.org/show_bug.cgi?id=78257 + + Reviewed by Andreas Kling. + + Clean up the PropertySetCSSStyleDeclaration refcounting. PropertySetCSSStyleDeclaration now + forwards the ref/deref to the underlying StylePropertySet. + + Also made CSSComputedStyleDeclaration construction use the standard create() pattern. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::ref): + (WebCore): + (WebCore::CSSComputedStyleDeclaration::deref): + * css/CSSComputedStyleDeclaration.h: + (WebCore::CSSComputedStyleDeclaration::create): + (CSSComputedStyleDeclaration): + (WebCore): + * css/CSSStyleDeclaration.h: + (CSSStyleDeclaration): + * css/StylePropertySet.cpp: + (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration): + (WebCore): + (WebCore::StylePropertySet::~StylePropertySet): + (WebCore::StylePropertySet::ensureCSSStyleDeclaration): + (WebCore::PropertySetCSSStyleDeclaration::makeMutable): + * css/StylePropertySet.h: + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): + (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): + (WebCore::highestEmbeddingAncestor): + (WebCore::ApplyStyleCommand::computedFontSize): + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::init): + (WebCore::EditingStyle::removeStyleAddedByNode): + (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): + (WebCore::EditingStyle::triStateOfStyle): + (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): + (WebCore::EditingStyle::mergeStyleFromRulesForSerialization): + (WebCore::backgroundColorInEffect): + * editing/Editor.cpp: + (WebCore::Editor::textDirectionForSelection): + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getComputedStyleForNode): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::getComputedStyle): + * svg/SVGAnimateElement.cpp: + (WebCore::getPropertyValue): + * svg/animation/SMILTimeContainer.cpp: + (WebCore::SMILTimeContainer::baseValueFor): + +2012-02-10 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: [TextPrompt] TAB should complete suggestions up to their common prefix in Console + https://bugs.webkit.org/show_bug.cgi?id=78236 + + Reviewed by Vsevolod Vlasov. + + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt.prototype._completionsReady): + (WebInspector.TextPrompt.prototype._completeCommonPrefix): + (WebInspector.TextPrompt.prototype.acceptSuggestion): + (WebInspector.TextPrompt.prototype.tabKeyPressed): + +2012-02-10 Pavel Feldman <pfeldman@google.com> + + Web Inspector: implement undo for setOuterHTML via undo-ing nested primitive commands. + https://bugs.webkit.org/show_bug.cgi?id=78346 + + Reviewed by Yury Semikhatsky. + + Tests: inspector/elements/undo-set-outer-html-2.html + inspector/elements/undo-set-outer-html.html + + * inspector/DOMEditor.cpp: + (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction): + (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction): + (WebCore::DOMEditor::InsertBeforeAction::undo): + (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction): + (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction): + (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction): + (WebCore::DOMEditor::SetOuterHTMLAction::perform): + (WebCore::DOMEditor::SetOuterHTMLAction::undo): + (DOMEditor::SetOuterHTMLAction): + (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction): + (DOMEditor::ReplaceChildNodeAction): + (WebCore::DOMEditor::ReplaceChildNodeAction::ReplaceChildNodeAction): + (WebCore::DOMEditor::ReplaceChildNodeAction::perform): + (WebCore::DOMEditor::ReplaceChildNodeAction::undo): + (WebCore): + (DOMEditor::SetNodeValueAction): + (WebCore::DOMEditor::SetNodeValueAction::SetNodeValueAction): + (WebCore::DOMEditor::SetNodeValueAction::perform): + (WebCore::DOMEditor::SetNodeValueAction::undo): + (WebCore::DOMEditor::insertBefore): + (WebCore::DOMEditor::removeChild): + (WebCore::DOMEditor::setAttribute): + (WebCore::DOMEditor::removeAttribute): + (WebCore::DOMEditor::setOuterHTML): + (WebCore::DOMEditor::replaceWholeText): + (WebCore::DOMEditor::replaceChild): + (WebCore::DOMEditor::setNodeValue): + (WebCore::populateErrorString): + * inspector/DOMEditor.h: + (DOMEditor): + * inspector/DOMPatchSupport.cpp: + (WebCore::DOMPatchSupport::patchDocument): + (WebCore): + (WebCore::DOMPatchSupport::DOMPatchSupport): + (WebCore::DOMPatchSupport::patchNode): + (WebCore::DOMPatchSupport::innerPatchNode): + (WebCore::DOMPatchSupport::innerPatchChildren): + (WebCore::DOMPatchSupport::insertBeforeAndMarkAsUsed): + (WebCore::DOMPatchSupport::removeChildAndMoveToNew): + * inspector/DOMPatchSupport.h: + (WebCore): + (DOMPatchSupport): + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::StyleSheetAction::perform): + (WebCore::InspectorCSSAgent::StyleSheetAction::undo): + (InspectorCSSAgent::StyleSheetAction): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform): + (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform): + (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo): + (WebCore::InspectorCSSAgent::TogglePropertyAction::perform): + (WebCore::InspectorCSSAgent::TogglePropertyAction::undo): + (WebCore::InspectorCSSAgent::setStyleSheetText): + (WebCore::InspectorCSSAgent::setPropertyText): + (WebCore::InspectorCSSAgent::toggleProperty): + (WebCore::InspectorCSSAgent::assertStyleSheetForId): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::toErrorString): + (WebCore): + (WebCore::InspectorDOMAgent::setAttributesAsText): + (WebCore::InspectorDOMAgent::setOuterHTML): + (WebCore::InspectorDOMAgent::undo): + * inspector/InspectorDOMAgent.h: + (InspectorDOMAgent): + * inspector/InspectorHistory.cpp: + (WebCore::InspectorHistory::perform): + (WebCore::InspectorHistory::undo): + * inspector/InspectorHistory.h: + (WebCore): + (Action): + (InspectorHistory): + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::setDocumentContent): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::setPropertyText): + (WebCore::InspectorStyle::toggleProperty): + (WebCore::InspectorStyleSheet::setPropertyText): + (WebCore::InspectorStyleSheet::toggleProperty): + * inspector/InspectorStyleSheet.h: + (InspectorStyle): + (InspectorStyleSheet): + +2012-02-10 Kentaro Hara <haraken@chromium.org> + + Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack] + https://bugs.webkit.org/show_bug.cgi?id=78327 + + Reviewed by Adam Barth. + + This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack], + and removes [CustomArgumentHandling]. + + Test: bindings/scripts/test/TestObj.idl + + * bindings/scripts/CodeGeneratorJS.pm: Modified to replace + [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]. + (GenerateCallWith): + (GenerateParametersCheck): + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + (GenerateCallWith): + * bindings/scripts/CodeGeneratorGObject.pm: Ditto. + (SkipFunction): + (GenerateFunction): + * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling] + from the skipped list. By this fix, CodeGeneratorCPP.pm will generate + meaningless code for attributes or methods which was previously marked as + [CustomArgumentHandling], but this change will be harmless. + (ShouldSkipType): + + * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order. + (WebCore::V8Console::assertCallback): + * page/Console.cpp: Ditto. + (WebCore::Console::assertCondition): + (WebCore::Console::timeEnd): + * page/Console.h: Ditto. + (Console): + + * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack]. + + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results. + (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute): + (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute): + (WebDOMTestObj::withScriptArgumentsAndCallStack): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_with_script_arguments_and_call_stack): + (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute): + (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute): + (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute): + (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore): + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]): + (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]): + (-[DOMTestObj withScriptArgumentsAndCallStack]): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter): + (TestObjInternal): + (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter): + (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback): + (WebCore): + (WebCore::ConfigureV8TestObjTemplate): + +2012-02-10 Carlos Garcia Campos <cgarcia@igalia.com> + + [GTK] KURL::fileSystemPath() doesn't work if uri contains # + https://bugs.webkit.org/show_bug.cgi?id=78339 + + Reviewed by Philippe Normand. + + * platform/gtk/KURLGtk.cpp: + (WebCore::KURL::fileSystemPath): Use GFile API instead of + g_filename_from_uri() to convert the uri to a local + path. g_file_get_path() removes the anchor from the uri and + returns a valid path instead of NULL. + +2012-02-10 Pablo Flouret <pablof@motorola.com> + + CodeGeneratorJS doesn't always generate visitChildren() implementation when required + https://bugs.webkit.org/show_bug.cgi?id=78336 + + Reviewed by Kentaro Hara. + + In an IDL for an interface that declares no functions, but has + attributes with [CachedAttribute], the implementation of visitChildren() + is not generated by the JSC code generator. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateImplementation): + * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: + (WebCore::JSTestSerializedScriptValueInterface::visitChildren): + (WebCore): + +2012-02-10 Noel Gordon <noel.gordon@gmail.com> + + [chromium] Increase JPEG decoding performance some more + https://bugs.webkit.org/show_bug.cgi?id=78323 + + Reviewed by Adam Barth. + + Increase JPEG image decoding speed by another 9% (avg) according to libjpeg-turbo tjbench. + + No new tests. Covered by many existing tests, all requiring subsequent rebaselines. + + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (dctMethod): Fast decode on the jpeg-turbo using ports (Chrome Android, Chrome, Chromium). + (WebCore::JPEGImageReader::decode): Select DCT method via a helper routine. + +2012-02-10 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: FileSelector should not depend on DebuggerPresentationModel. + https://bugs.webkit.org/show_bug.cgi?id=78337 + + Reviewed by Pavel Feldman. + + * inspector/front-end/ScriptsNavigator.js: + (WebInspector.ScriptsNavigator): + (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged): + (WebInspector.ScriptsNavigator.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._reset): + (WebInspector.ScriptsPanel.FileSelector.prototype.replaceUISourceCodes): + (WebInspector.ScriptsPanel.FileSelector.prototype.reset): + (WebInspector.ScriptsPanel.ComboBoxFileSelector): + (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.reset): + +2012-02-10 Kentaro Hara <haraken@chromium.org> + + Remove [ConvertingNullStringTo] from CloseEvent.idl + https://bugs.webkit.org/show_bug.cgi?id=78328 + + Reviewed by Adam Barth. + + In CloseEvent.idl, [ConvertingNullStringTo] is a typo of [ConvertNullStringTo], + (although in bug 78108, [ConvertNullStringTo] was renamed to [TreatReturnedNullStringAs]). + + Anyway, the spec says that "The reason attribute must return the value it was + initialized to. When the object is created, this attribute must be initialized to empty string." + http://dev.w3.org/html5/websockets/#event-definitions + Thus, this patch removes [ConvertingNullStringTo] from CloseEvent.idl. + + Test: fast/events/constructors/close-event-constructor.html + + * websockets/CloseEvent.idl: + +2012-02-10 Pavel Feldman <pfeldman@google.com> + + [Qt] REGRESSION(r107242): It made 5 inspector tests crash in debug mode + https://bugs.webkit.org/show_bug.cgi?id=78330 + + Reviewed by Yury Semikhatsky. + + * inspector/DOMPatchSupport.cpp: + (WebCore::DOMPatchSupport::innerPatchChildren): + +2012-02-09 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: [refactoring] TimelineModel should not depend on TimelinePanel + https://bugs.webkit.org/show_bug.cgi?id=78254 + + Reviewed by Yury Semikhatsky. + + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype._loadFromFile): + (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): + (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): + (WebInspector.TimelinePanel.prototype._clearPanel): + (WebInspector.TimelinePanel.prototype._onRecordsCleared): + (WebInspector.TimelineModel): + (WebInspector.TimelineModel.prototype.startRecord): + (WebInspector.TimelineModel.prototype.stopRecord): + (WebInspector.TimelineModel.prototype._onRecordAdded): + (WebInspector.TimelineModel.prototype._addRecord): + (WebInspector.TimelineModel.prototype._loadNextChunk): + (WebInspector.TimelineModel.prototype._loadFromFile): + (WebInspector.TimelineModel.prototype._reset): + +2012-02-09 Kentaro Hara <haraken@chromium.org> + + Unreviewed, rolling out r107368. + http://trac.webkit.org/changeset/107368 + https://bugs.webkit.org/show_bug.cgi?id=78327 + + break GTK build + + * bindings/scripts/CodeGeneratorCPP.pm: + (ShouldSkipType): + * bindings/scripts/CodeGeneratorGObject.pm: + (SkipFunction): + (GenerateFunction): + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateCallWith): + (GenerateParametersCheck): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateFunctionCallback): + (GenerateCallWith): + (GenerateFunctionCallString): + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore): + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj customArgsAndException:]): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::customArgsAndExceptionCallback): + (TestObjInternal): + (WebCore): + (WebCore::ConfigureV8TestObjTemplate): + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::assertCallback): + * page/Console.cpp: + (WebCore::Console::assertCondition): + (WebCore::Console::timeEnd): + * page/Console.h: + (Console): + * page/Console.idl: + +2012-02-09 Zoltan Herczeg <zherczeg@webkit.org> + + Heap-buffer-overflow in WebCore::CSSParser::lex + https://bugs.webkit.org/show_bug.cgi?id=77402 + + Reviewed by Antti Koivisto. + + Comments should check only a single \0 terminator. + + Test: fast/css/parsing-css-comment.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::lex): + +2012-02-09 Kentaro Hara <haraken@chromium.org> + + Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack] + https://bugs.webkit.org/show_bug.cgi?id=78327 + + Reviewed by Adam Barth. + + This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack], + and removes [CustomArgumentHandling]. + + Test: bindings/scripts/test/TestObj.idl + + * bindings/scripts/CodeGeneratorJS.pm: Modified to replace + [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]. + (GenerateCallWith): + (GenerateParametersCheck): + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + (GenerateCallWith): + * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling] + from the skipped list. By this fix, CodeGeneratorCPP.pm will generate + meaningless code for attributes or methods which was previously marked as + [CustomArgumentHandling], but this change will be harmless. + (ShouldSkipType): + * bindings/scripts/CodeGeneratorGObject.pm: Ditto. + (SkipFunction): + (GenerateFunction): + + * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order. + (WebCore::V8Console::assertCallback): + * page/Console.cpp: Ditto. + (WebCore::Console::assertCondition): + (WebCore::Console::timeEnd): + * page/Console.h: Ditto. + (Console): + + * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack]. + + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results. + (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute): + (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute): + (WebDOMTestObj::withScriptArgumentsAndCallStack): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_with_script_arguments_and_call_stack): + (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute): + (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute): + (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute): + (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore): + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]): + (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]): + (-[DOMTestObj withScriptArgumentsAndCallStack]): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter): + (TestObjInternal): + (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter): + (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback): + (WebCore): + (WebCore::ConfigureV8TestObjTemplate): + +2012-02-09 Adam Barth <abarth@webkit.org> + + Dromaeo/dom-traverse.html should go fast + https://bugs.webkit.org/show_bug.cgi?id=78307 + + Reviewed by Eric Seidel. + + This patch improves Dromaeo/dom-traverse.html by roughly 2.5% by + removing a branch. Previously, we null-checked the result of + V8DOMWrapper::getWrapper in a hot code path, but the only case where we + return a non-empty wrapper comes from a cold code path. By pushing the + null check into the cold codepath, we eliminate the branch from the + hot code path. + + This patch also annotates the branches in the hot code path with their + likely outcome. I didn't measure a statistically significant + improvement with that aspect of the change, but it seems worthwhile. + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::getExistingWrapperInline): + (WebCore): + (WebCore::V8DOMWrapper::getExistingWrapperSlow): + (WebCore::V8DOMWrapper::getWrapperSlow): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::getExistingWrapper): + (V8DOMWrapper): + (WebCore::V8DOMWrapper::getWrapper): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + +2012-02-09 Emil A Eklund <eae@chromium.org> + + Convert Frame/FrameView to LayoutUnits in preparation for turning on subpixel layout + https://bugs.webkit.org/show_bug.cgi?id=78311 + + Reviewed by Eric Seidel. + + No new tests, no new functionality. + + * page/Frame.cpp: + (WebCore::Frame::nodeImage): + Pixel snap painting rect for image to ensure that it is painted aligned + to device pixels. This avoids avoid unwanted anti-aliasing. + + * page/FrameView.cpp: + (WebCore::FrameView::windowClipRectForLayer): + Pixel snap clip rects as all window coordinates and sizes are exposed as + integers. + + * page/GestureTapHighlighter.cpp: + * page/Page.cpp: + (WebCore::Page::addRelevantRepaintedObject): + As the painting is done aligned on pixel boundaries we need to pixel snap + the view rect when checking if it intersects the objects paint rect. + + * page/mac/FrameMac.mm: + (WebCore::Frame::snapshotDragImage): + (WebCore::Frame::nodeImage): + Pixel snap painting rect for image to ensure that it is painted aligned + to device pixels. This avoids avoid unwanted anti-aliasing. + + * page/win/FrameCGWin.cpp: + (WebCore::Frame::nodeImage): + Pixel snap painting rect for image to ensure that it is painted aligned + to device pixels. This avoids avoid unwanted anti-aliasing. + + * rendering/LayoutTypes.h: + (WebCore::pixelSnappedIntRect): + (WebCore): + No-op implementation of pixelSnappedIntRect for now. + +2012-02-09 Kenichi Ishibashi <bashi@chromium.org> + + Add WebSocket extension support + https://bugs.webkit.org/show_bug.cgi?id=78079 + + This patch introduces WebSocketExtensionDispatcher class, which creates client's + Sec-WebSocket-Extensions header field and parses the server response. + This patch doesn't add any actual extension, so no changes in behavior. + + Reviewed by Kent Tamura. + + No new tests except for chromium port. + + * CMakeLists.txt: Added WebSocketExtensionDispatcher.(cpp|h) and WebSocketExtensionProcessor.h. + * GNUmakefile.list.am: Ditto. + * Target.pri: Ditto. + * WebCore.gypi: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * websockets/WebSocketExtensionDispatcher.cpp: Added. + (WebCore): + (ExtensionParser): + (WebCore::ExtensionParser::ExtensionParser): + (WebCore::ExtensionParser::currentToken): + (WebCore::ExtensionParser::finished): + (WebCore::ExtensionParser::parsedSuccessfully): + (WebCore::isTokenCharacter): + (WebCore::isSeparator): + (WebCore::ExtensionParser::skipSpaces): + (WebCore::ExtensionParser::consumeToken): + (WebCore::ExtensionParser::consumeQuotedString): + (WebCore::ExtensionParser::consumeQuotedStringOrToken): + (WebCore::ExtensionParser::consumeCharacter): + (WebCore::WebSocketExtensionDispatcher::reset): + (WebCore::WebSocketExtensionDispatcher::addProcessor): + (WebCore::WebSocketExtensionDispatcher::createHeaderValue): + (WebCore::WebSocketExtensionDispatcher::processHeaderValue): + (WebCore::WebSocketExtensionDispatcher::failureReason): + * websockets/WebSocketExtensionDispatcher.h: Added. + (WebCore): + (WebSocketExtensionDispatcher): + (WebCore::WebSocketExtensionDispatcher::WebSocketExtensionDispatcher): + * websockets/WebSocketExtensionProcessor.h: Added. + (WebCore): + (WebSocketExtensionProcessor): + (WebCore::WebSocketExtensionProcessor::~WebSocketExtensionProcessor): + (WebCore::WebSocketExtensionProcessor::extensionToken): + (WebCore::WebSocketExtensionProcessor::failureReason): + (WebCore::WebSocketExtensionProcessor::WebSocketExtensionProcessor): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::clientHandshakeMessage): Adds extension header value if exists. + (WebCore::WebSocketHandshake::clientHandshakeRequest): Ditto. + (WebCore::WebSocketHandshake::reset): Resets WebSocketExtensionDispatcher object. + (WebCore::WebSocketHandshake::serverHandshakeResponse): Removed. + (WebCore::WebSocketHandshake::addExtensionProcessor): Added. + (WebCore::WebSocketHandshake::readHTTPHeaders): Parses and checks every time Sec-WebSocket-Extensions header appears. + (WebCore::WebSocketHandshake::checkResponseHeaders): Removed the check of Sec-WebSocket-Extensions. + * websockets/WebSocketHandshake.h: Removed serverHandshakeResponse(). + +2012-02-09 Xianzhu Wang <wangxianzhu@chromium.org> + + Avoid compositing invisible fixed positioned elements + https://bugs.webkit.org/show_bug.cgi?id=78186 + + Reviewed by James Robinson. + + Test: compositing/layer-creation/fixed-position-out-of-view.html + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::requiresCompositingForPosition): + +2012-02-09 Timothy Hatcher <timothy@apple.com> + + Prevent attaching when inspecting the Web Inspector. + + https://webkit.org/b/78304 + + Reviewed by Brian Weinstein. + + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::canAttachWindow): Prevent attaching when the page is an inspector page. + +2012-02-09 Dana Jansens <danakj@chromium.org> + + [Chromium] Assertion failure minX <= maxX in Region.cpp + https://bugs.webkit.org/show_bug.cgi?id=78038 + + Reviewed by James Robinson. + + Covered by existing tests (should make them stop asserting). + + Clamp sizes for composited layers coming out of WebCore to make sure they are valid non-negative values. + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setSize): + +2012-02-09 Gregg Tavares <gman@google.com> + + Make WebGLRenderingContext::printWarningToConsole safer + https://bugs.webkit.org/show_bug.cgi?id=78284 + + Reviewed by Kenneth Russell. + + No new tests because no change in functionality. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore): + (WebCore::WebGLRenderingContext::printWarningToConsole): + +2012-02-09 W. James MacLean <wjmaclean@chromium.org> + + [chromium] Add support for starting page/scale animations on CC impl thread from WebViewImpl + https://bugs.webkit.org/show_bug.cgi?id=77872 + + Reviewed by James Robinson. + + Added unit test. + + Provides a pathway to invoke CCLayerTreeHostImpl::startPageScaleAnimation() from + WebViewImpl. This is intended to support scale and scroll animations, such as WebInputEvent::GestureDoubleTap. + + * platform/CrossThreadCopier.h: + (WebCore): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::startPageScaleAnimation): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHost): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (CCLayerTreeHostImpl): + * platform/graphics/chromium/cc/CCProxy.h: + (CCProxy): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::startPageScaleAnimation): + (WebCore): + * platform/graphics/chromium/cc/CCSingleThreadProxy.h: + (CCSingleThreadProxy): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::startPageScaleAnimation): + (WebCore): + (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (CCThreadProxy): + +2012-02-09 Xianzhu Wang <wangxianzhu@chromium.org> + + [Chromium] TiledLayerChromium::protectVisibleTileTextures() should only protect the visible textures + https://bugs.webkit.org/show_bug.cgi?id=78249 + + Reviewed by James Robinson. + + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::TiledLayerChromium::protectVisibleTileTextures): + +2012-02-09 Hayato Ito <hayato@chromium.org> + + Add Node::isShadowElement() member function. + https://bugs.webkit.org/show_bug.cgi?id=78201 + + Reviewed by Dimitri Glazkov. + + No tests. No change in behavior. An upcoming change requires this to detect HTMLShadowElement. + + * dom/Node.h: + (Node): + (WebCore::Node::isShadowElement): + * html/shadow/HTMLShadowElement.h: + (WebCore::HTMLShadowElement::isShadowElement): + +2012-02-09 Ryosuke Niwa <rniwa@webkit.org> + + CachedResourceLoader is destroyed before CSSFontSelector is destroyed + https://bugs.webkit.org/show_bug.cgi?id=77817 + + Reviewed by Adam Barth. + + Explicitly clear style selector before destorying the cached resource loader. + + No new tests but PerformanceTests/Parser/html5-full-render.html was crashing + on performance bots due to this bug. + + * dom/Document.cpp: + (WebCore::Document::~Document): + +2012-02-09 Anders Carlsson <andersca@apple.com> + + Update the scroll layer position on the main thread when we have slow repaint objects + https://bugs.webkit.org/show_bug.cgi?id=78300 + <rdar://problem/10710754> + + Reviewed by Dan Bernstein. + + When we have slow repaint objects (background-attachment: fixed), we need to update the + scroll layer position on the main thread, otherwise the web page will appear to jiggle. + + * page/FrameView.cpp: + (WebCore::FrameView::addSlowRepaintObject): + (WebCore::FrameView::removeSlowRepaintObject): + Call ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange if needed. + + * page/FrameView.h: + (WebCore::FrameView::hasSlowRepaintObjects): + Add new getter. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange): + Call ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread. + + (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition): + New function that will update both the main frame scroll position and the scroll layer position. + + * page/scrolling/ScrollingTree.cpp: + (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition): + Dispatch a call to ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition on the main thread. + + * page/scrolling/ScrollingTreeNode.cpp: + (WebCore::ScrollingTreeNode::ScrollingTreeNode): + Initialize m_shouldUpdateScrollLayerPositionOnMainThread. + + (WebCore::ScrollingTreeNode::update): + Set m_shouldUpdateScrollLayerPositionOnMainThread. + + * page/scrolling/ScrollingTreeState.cpp: + (WebCore::ScrollingTreeState::ScrollingTreeState): + Initialize m_shouldUpdateScrollLayerPositionOnMainThread. + + (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread): + Update m_shouldUpdateScrollLayerPositionOnMainThread if needed. + + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::setScrollPosition): + Assert that we're not supposed to update the scroll layer position on the main thread. + + (WebCore::ScrollingTreeNodeMac::scrollBy): + If we're supposed to update the scroll layer position on the main thread, + call ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::frameViewDidScroll): + If the frame view has its scrolling coordinated by a scrolling coordinator, don't update the scroll layer position. + +2012-02-09 Anders Carlsson <andersca@apple.com> + + FrameView::addSlowRepaintObject() doesn't update m_canBlitOnScroll correctly + https://bugs.webkit.org/show_bug.cgi?id=78291 + + Reviewed by Dan Bernstein. + + m_slowRepaintObjectCount needs to be incremented before calling updateCanBlitOnScrollRecursively(), + because otherwise useSlowRepaints() will return false even though we have to use slow repaints. + + I was unable to make a layout test for this because it requires that updateCanBlitOnScrollRecursively() isn't + called again after m_slowRepaintObjectCount has been incremented. + + * page/FrameView.cpp: + (WebCore::FrameView::addSlowRepaintObject): + +2012-02-09 Ojan Vafai <ojan@chromium.org> + + Remove TreeOrderIterator and iterate over the child boxes directly. + https://bugs.webkit.org/show_bug.cgi?id=78294 + + Reviewed by Tony Chang. + + No new tests. This is purely a refactor. No change in behavior. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutFlexItems): + (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): + * rendering/RenderFlexibleBox.h: + (RenderFlexibleBox): + (FlexOrderHashTraits): + (WebCore::RenderFlexibleBox::FlexOrderHashTraits::emptyValue): + (WebCore::RenderFlexibleBox::FlexOrderHashTraits::constructDeletedValue): + (WebCore::RenderFlexibleBox::FlexOrderHashTraits::isDeletedValue): + +2012-02-09 Kentaro Hara <haraken@chromium.org> + + Code generators should support multiple values for the [CallWith=] attribute + https://bugs.webkit.org/show_bug.cgi?id=78224 + + Reviewed by Adam Barth. + + Currently we can specify only one value for one [CallWith=], + like [CallWith=ScriptExecutionContext] or [CallWith=ScriptState]. + To reduce redundant IDL attributes, we are planning to support multiple + values for [CallWith=], like [CallWith=ScriptExecutionContext|ScriptArguments|CallStack]. + This patch makes a change on code generators to support it. + + Test: bindings/scripts/test/TestObj.idl + No change in WebKit behavior since IDL files have not yet used [CallWith=X|Y|Z]. + + * bindings/scripts/CodeGenerator.pm: Modified to support [CallWith=X|Y|Z]. + (ExtendedAttributeContains): + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateImplementation): + (GenerateCallWith): + (GenerateParametersCheck): + (GenerateImplementationFunctionCall): + (GenerateConstructorDeclaration): + (GenerateConstructorDefinition): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateNormalAttrGetter): + (GenerateNormalAttrSetter): + (GenerateCallWith): + (GenerateFunctionCallString): + + * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=X|Y|Z]. + + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results. + (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttribute): + (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttribute): + (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttributeRaises): + (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttributeRaises): + (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpacesAttribute): + (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateWithSpacesAttribute): + (WebDOMTestObj::withScriptExecutionContextAndScriptState): + (WebDOMTestObj::withScriptExecutionContextAndScriptStateObjException): + (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpaces): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_with_script_execution_context_and_script_state): + (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception): + (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces): + (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute): + (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute): + (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises): + (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises): + (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute): + (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute): + (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises): + (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute): + (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute): + (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises): + (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute): + (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState): + (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException): + (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore): + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj withScriptExecutionContextAndScriptStateAttribute]): + (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttribute:]): + (-[DOMTestObj withScriptExecutionContextAndScriptStateAttributeRaises]): + (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttributeRaises:]): + (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpacesAttribute]): + (-[DOMTestObj setWithScriptExecutionContextAndScriptStateWithSpacesAttribute:]): + (-[DOMTestObj withScriptExecutionContextAndScriptState]): + (-[DOMTestObj withScriptExecutionContextAndScriptStateObjException]): + (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpaces]): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrGetter): + (TestObjInternal): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrSetter): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateCallback): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateObjExceptionCallback): + (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesCallback): + (WebCore): + +2012-02-09 Kentaro Hara <haraken@chromium.org> + + Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=] + https://bugs.webkit.org/show_bug.cgi?id=78108 + + Reviewed by Adam Barth. + + [ConvertNullStringTo=] is not descriptive. To clarify that it specifies + the behavior when the null string is returned by WebCore, this patch renames + [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also + for naming consistency with [TreatNullAs] and [TreatUndefinedAs]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateGetOwnPropertySlotBody): + (NativeToJSValue): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateImplementationIndexer): + (NativeToJSValue): + * bindings/scripts/test/TestObj.idl: + * css/CSSCharsetRule.idl: + * css/CSSImportRule.idl: + * css/CSSPageRule.idl: + * css/CSSRule.idl: + * css/CSSStyleDeclaration.idl: + * css/CSSStyleRule.idl: + * css/CSSValue.idl: + * css/MediaList.idl: + * css/StyleSheet.idl: + * css/WebKitCSSKeyframesRule.idl: + * dom/Attr.idl: + * dom/CharacterData.idl: + * dom/Clipboard.idl: + * dom/DOMStringList.idl: + * dom/Document.idl: + * dom/DocumentType.idl: + * dom/Element.idl: + * dom/Entity.idl: + * dom/MutationRecord.idl: + * dom/Node.idl: + * dom/Notation.idl: + * dom/ProcessingInstruction.idl: + * html/DOMTokenList.idl: + * html/DOMURL.idl: + * html/HTMLMediaElement.idl: + * html/canvas/WebGLDebugShaders.idl: + * html/canvas/WebGLRenderingContext.idl: + * page/DOMWindow.idl: + * storage/IDBObjectStore.idl: + * storage/IDBRequest.idl: + * storage/Storage.idl: + * storage/StorageEvent.idl: + * websockets/WebSocket.idl: + * xml/XMLHttpRequest.idl: + * xml/XPathNSResolver.idl: + * xml/XSLTProcessor.idl: + +2012-02-09 Tony Chang <tony@chromium.org> + + more refactoring of RenderFlexibleBox in preparation for multiline + https://bugs.webkit.org/show_bug.cgi?id=78281 + + Reviewed by Ojan Vafai. + + Previously, we were creating Vector of each flex item's preferred size in document order, + but for multiline, we need to break the lines in the flex order. I just removed this code + since it was the wrong order. + + Instead, have 2 funtions, computeMainAxisPreferredSizes which only does the necessary + layouts and margin computations to compute preferred sizes and computeFlexOrder which + does the work of computing the flex order, preferred sizes, positive/negative flex. + + For multiline, we will have computeFlexOrder drive a while loop and it will return the + flex items, preferred size, and positive/negative flex values for each line. + + No new tests, just refactoring. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutFlexItems): + (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Only layout auto sized children and set margins. + (WebCore::RenderFlexibleBox::computeFlexOrder): Compute flex order, preferred size, positive/negative flex. + (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Use the precomputed flex order. + (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the precomputed flex order. + (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the precomputed flex order. + (WebCore::RenderFlexibleBox::alignChildren): Use the precomputed flex order. + * rendering/RenderFlexibleBox.h: + (RenderFlexibleBox): + +2012-02-09 Kentaro Hara <haraken@chromium.org> + + Rename [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue] + https://bugs.webkit.org/show_bug.cgi?id=78200 + + Reviewed by Adam Barth. + + [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue] are confusing. + + - [Optional=CallWithDefaultValue] indicates that a missing value should be treated + as if the JavaScript undefined is passed. + - [Optional=CallWithNullValue] indicates that a missing value should be treated as + the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()). + - Actually, the difference between [Optional=CallWithDefaultValue] and + [Optional=CallWithNullValue] will appear only when the type of the missing value + is DOMString. In case of [Optional=CallWithDefaultValue], the missing value is + converted to the string "undefined". On the other hand, in case of + [Optional=CallWithNullValue], the missing value is converted to the WebKit null string. + + With these observations, this patch renames as follows: + + - Rename [Optional=CallWithDefaultValue] to [Optional=DefaultIsUndefined]. + - Rename [Optional=CallWithNullValue] to [Optional=DefaultIsNullString]. + + Test: bindings/scripts/test/TestObj.idl + + * bindings/js/JSDOMBinding.h: Renamed MissingIsEmpty to DefaultIsNullString, + renamed MissingIsUndefined to DefaultIsUndefined. + * bindings/v8/V8Binding.h: Ditto. + * bindings/v8/custom/V8BindingMacros.h: Ditto. + + * bindings/scripts/CodeGeneratorJS.pm: Modified to support the renaming. + (GenerateParametersCheck): + * bindings/scripts/CodeGeneratorV8.pm: Ditto. + (GenerateParametersCheck): + (RequiresCustomSignature): + + * bindings/scripts/test/TestObj.idl: Renamed [Optional=...] as described above. + * bindings/scripts/test/TestInterface.idl: Ditto. + * bindings/scripts/test/TestNamedConstructor.idl: Ditto. + + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results. + (WebDOMTestObj::methodWithOptionalString): + (WebDOMTestObj::methodWithOptionalStringIsUndefinedString): + (WebDOMTestObj::methodWithOptionalStringIsNullString): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_method_with_optional_string): + (webkit_dom_test_obj_method_with_optional_string_is_undefined_string): + (webkit_dom_test_obj_method_with_optional_string_is_null_string): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: + (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore): + (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): + (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedString): + (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore): + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj methodWithOptionalString:]): + (-[DOMTestObj methodWithOptionalStringIsUndefinedString:]): + (-[DOMTestObj methodWithOptionalStringIsNullString:]): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructorConstructorCallback): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::methodWithOptionalStringCallback): + (TestObjInternal): + (WebCore::TestObjInternal::methodWithOptionalStringIsUndefinedStringCallback): + (WebCore::TestObjInternal::methodWithOptionalStringIsNullStringCallback): + (WebCore): + + * Modules/gamepad/GamepadList.idl: Renamed [Optional=...] as described above. + * Modules/intents/Intent.idl: + * css/CSSMediaRule.idl: + * css/CSSPrimitiveValue.idl: + * css/CSSRuleList.idl: + * css/CSSStyleDeclaration.idl: + * css/CSSStyleSheet.idl: + * css/CSSValueList.idl: + * css/MediaList.idl: + * css/MediaQueryList.idl: + * css/MediaQueryListListener.idl: + * css/StyleMedia.idl: + * css/StyleSheetList.idl: + * css/WebKitCSSKeyframesRule.idl: + * css/WebKitCSSMatrix.idl: + * dom/CharacterData.idl: + * dom/ClientRectList.idl: + * dom/CompositionEvent.idl: + * dom/CustomEvent.idl: + * dom/DOMImplementation.idl: + * dom/DOMStringList.idl: + * dom/DataTransferItem.idl: + * dom/DataTransferItemList.idl: + * dom/DeviceMotionEvent.idl: + * dom/DeviceOrientationEvent.idl: + * dom/Document.idl: + * dom/Element.idl: + * dom/Event.idl: + * dom/HashChangeEvent.idl: + * dom/KeyboardEvent.idl: + * dom/MessageEvent.idl: + * dom/MouseEvent.idl: + * dom/MutationEvent.idl: + * dom/NamedNodeMap.idl: + * dom/Node.idl: + * dom/NodeFilter.idl: + * dom/NodeList.idl: + * dom/OverflowEvent.idl: + * dom/Range.idl: + * dom/ShadowRoot.idl: + * dom/Text.idl: + * dom/TextEvent.idl: + * dom/TouchEvent.idl: + * dom/UIEvent.idl: + * dom/WheelEvent.idl: + * html/DOMFormData.idl: + * html/HTMLAllCollection.idl: + * html/HTMLAudioElement.idl: + * html/HTMLCanvasElement.idl: + * html/HTMLCollection.idl: + * html/HTMLDocument.idl: + * html/HTMLElement.idl: + * html/HTMLInputElement.idl: + * html/HTMLMediaElement.idl: + * html/HTMLOptionElement.idl: + * html/HTMLOptionsCollection.idl: + * html/HTMLSelectElement.idl: + * html/HTMLTableElement.idl: + * html/HTMLTableRowElement.idl: + * html/HTMLTableSectionElement.idl: + * html/HTMLTextAreaElement.idl: + * html/TextTrackCue.idl: + * html/canvas/CanvasGradient.idl: + * html/canvas/CanvasRenderingContext2D.idl: + * html/canvas/Float32Array.idl: + * html/canvas/Float64Array.idl: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.idl: + * html/canvas/OESVertexArrayObject.idl: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.idl: + * html/canvas/Uint8ClampedArray.idl: + * page/Console.idl: + * page/DOMSelection.idl: + * page/DOMWindow.idl: + * page/History.idl: + * page/Location.idl: + * plugins/DOMMimeTypeArray.idl: + * plugins/DOMPlugin.idl: + * plugins/DOMPluginArray.idl: + * storage/IDBDatabase.idl: + * storage/StorageEvent.idl: + * svg/ElementTimeControl.idl: + * svg/SVGDocument.idl: + * svg/SVGElementInstanceList.idl: + * svg/SVGFEDropShadowElement.idl: + * svg/SVGFEGaussianBlurElement.idl: + * svg/SVGFEMorphologyElement.idl: + * svg/SVGFilterElement.idl: + * svg/SVGLocatable.idl: + * svg/SVGMarkerElement.idl: + * svg/SVGPathElement.idl: + * svg/SVGSVGElement.idl: + * svg/SVGStylable.idl: + * svg/SVGTests.idl: + * svg/SVGTextContentElement.idl: + * webaudio/AudioNode.idl: + * workers/SharedWorker.idl: + * workers/WorkerContext.idl: + * xml/DOMParser.idl: + * xml/XMLSerializer.idl: + * xml/XPathEvaluator.idl: + * xml/XPathExpression.idl: + * xml/XPathNSResolver.idl: + * xml/XPathResult.idl: + +2012-02-09 Matthew Delaney <mdelaney@apple.com> + + getComputedStyle() returns different values for different zoom levels + https://bugs.webkit.org/show_bug.cgi?id=32230 + + Reviewed by Beth Dakin. + + Test: fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::fillSizeToCSSValue): Pass down the RenderStyle for use in adjusting + values to account for zoom. + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Adjust additional + properties that are affected by zoom. + +2012-02-09 Kentaro Hara <haraken@chromium.org> + + Rename [Return] to [CustomReturn] + https://bugs.webkit.org/show_bug.cgi?id=78225 + + Reviewed by Adam Barth. + + [Return] is used to handle custom code for a returned value. + To clarify it, this patch renames [Return] to [CustomReturn]. + + No tests. No change in behavior. + + * bindings/scripts/CodeGeneratorCPP.pm: + (GenerateImplementation): + * bindings/scripts/CodeGeneratorGObject.pm: + (GenerateFunction): + * bindings/scripts/CodeGeneratorObjC.pm: + (GenerateImplementation): + * dom/Node.idl: + +2012-02-09 Levi Weintraub <leviw@chromium.org> + + Add roundedIntPoint method for LayoutPoints + https://bugs.webkit.org/show_bug.cgi?id=78262 + + Reviewed by Eric Seidel. + + Adding a roundedIntPoint method that operates on a LayoutPoint. Currently, this does + nothing as LayoutPoint is a typedef to IntPoint. When we enable sub-pixel LayoutUnits, + this is a critical part in our pixel snapping strategy, where we round the logical top- + left point, then snap the right and bottom edges. + + Also using this new method where we wish to convert LayoutPoints to IntPoints, which + we're currently doing implicitly (since they're the same thing). + + No new tests. No change in functionality. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionForPoint): + (WebCore::AccessibilityRenderObject::accessibilityHitTest): + * page/EventHandler.cpp: + (WebCore::EventHandler::eventMayStartDrag): + (WebCore::EventHandler::hitTestResultAtPoint): + (WebCore::EventHandler::selectCursor): + * rendering/LayoutTypes.h: + (WebCore::roundedIntPoint): + (WebCore): + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::paintIntoRegion): + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::getCursor): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): + (WebCore::RenderLayer::offsetFromResizeCorner): + (WebCore::RenderLayer::isPointInResizeControl): + (WebCore::RenderLayer::paintLayerContents): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintContents): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::paintContents): + * rendering/mathml/RenderMathMLBlock.cpp: + (WebCore::RenderMathMLBlock::paint): + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::paint): + * rendering/mathml/RenderMathMLRoot.cpp: + (WebCore::RenderMathMLRoot::paint): + * rendering/mathml/RenderMathMLSquareRoot.cpp: + (WebCore::RenderMathMLSquareRoot::paint): + +2012-02-09 John Bates <jbates@google.com> + + [Chromium] Add chromium-style tracing support + https://bugs.webkit.org/show_bug.cgi?id=76885 + + Reviewed by Darin Fisher. + + This code enables WebKit trace events to pass through more data to the + chromium platform tracing API and generally to use the full tracing + API provided by chromium. + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::evaluate): Replace old tracing API. + * page/Console.cpp: + (WebCore::Console::time): Replace old tracing API. + (WebCore::Console::timeEnd): Replace old tracing API. + * platform/chromium/PlatformSupport.h: + * platform/chromium/TraceEvent.h: + (WebCore::TraceEvent::TraceID::TraceID): + (WebCore::TraceEvent::TraceID::data): + (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy): + (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ): + (WebCore::TraceEvent::setTraceValue): + (WebCore::TraceEvent::addTraceEvent): + (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose): + (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose): + (WebCore::TraceEvent::TraceEndOnScopeClose::initialize): + (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled): + (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold): + (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold): + (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize): + (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled): + +2012-02-09 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=78256 + + Rename line-grid-snap to line-snap so that it matches the draft proposal for the + property. + + Reviewed by Dan Bernstein. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator LineSnap): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::isInheritedProperty): + * css/CSSPropertyNames.in: + * css/CSSStyleApplyProperty.cpp: + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): + (WebCore::RootInlineBox::lineSnapAdjustment): + * rendering/RootInlineBox.h: + (RootInlineBox): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::StyleRareInheritedData): + (WebCore::StyleRareInheritedData::operator==): + * rendering/style/StyleRareInheritedData.h: + (StyleRareInheritedData): + +2012-02-09 Benjamin Poulain <bpoulain@apple.com> + + The localization of htmlSelectMultipleItems() needs better support of pluralization + https://bugs.webkit.org/show_bug.cgi?id=78197 + + Reviewed by Joseph Pecoraro. + + For translation, the localization of 0 and 1 depends on the language. + + * English.lproj/Localizable.strings: + * platform/DefaultLocalizationStrategy.cpp: + (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems): + +2012-02-09 Anders Carlsson <andersca@apple.com> + + ScrollingTreeNodeMac should implement ScrollElasticityController + https://bugs.webkit.org/show_bug.cgi?id=78277 + + Reviewed by Andreas Kling. + + Add stubbed out implementations of the ScrollElasticityController member functions. + + * page/scrolling/mac/ScrollingTreeNodeMac.h: + (ScrollingTreeNodeMac): + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching): + (WebCore): + (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching): + (WebCore::ScrollingTreeNodeMac::stretchAmount): + (WebCore::ScrollingTreeNodeMac::pinnedInDirection): + (WebCore::ScrollingTreeNodeMac::canScrollHorizontally): + (WebCore::ScrollingTreeNodeMac::canScrollVertically): + (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection): + (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition): + (WebCore::ScrollingTreeNodeMac::immediateScrollBy): + (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints): + (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer): + (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer): + +2012-02-09 Adrienne Walker <enne@google.com> + + [chromium] Correct potential double reserveTextures() in CCLayerTreeHost + https://bugs.webkit.org/show_bug.cgi?id=78258 + + Reviewed by James Robinson. + + This isn't a problem currently, because scrollbar layers don't create + render surfaces. However, if this ever got used for other layers, we + could call reserve on them twice needlessly. It's also just bad form + to have an iterator doing the wrong thing. + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::reserveTextures): + +2012-02-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r107261. + http://trac.webkit.org/changeset/107261 + https://bugs.webkit.org/show_bug.cgi?id=78274 + + It has regressed svg/W3C-SVG-1.1/styling-css-05-b.svg (using + lang() selectors) (Requested by jchaffraix on #webkit). + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithControl): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::isCommonAttributeSelectorAttribute): + +2012-02-09 Joshua Bell <jsbell@chromium.org> + + [Chromium] IndexedDB: IDBVersionChangeRequest V8 wrapper not generated as ActiveDOMObject + https://bugs.webkit.org/show_bug.cgi?id=78167 + + Add ActiveDOMObject annotation to IDBVersionChangeRequest.idl; it is not + automagically inherited from IDBRequest.idl. + + Reviewed by Adam Barth. + + Test: storage/indexeddb/versionchangerequest-activedomobject.html + + * storage/IDBVersionChangeRequest.idl: + +2012-02-09 Anders Carlsson <andersca@apple.com> + + The scrolling tree should know more about the scrollbar state + https://bugs.webkit.org/show_bug.cgi?id=78268 + + Reviewed by Andreas Kling. + + With this change, the scroll tree now keeps track of the horizontal scroll elasticity, + the vertical scroll elasticity and whether the page has enabled scrollbars. + + This is needed in order to make rubber-banding work correctly when doing fast scrolling. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::frameViewLayoutUpdated): + * page/scrolling/ScrollingTreeNode.cpp: + (WebCore::ScrollingTreeNode::ScrollingTreeNode): + (WebCore::ScrollingTreeNode::update): + * page/scrolling/ScrollingTreeNode.h: + (ScrollingTreeNode): + * page/scrolling/ScrollingTreeState.cpp: + (WebCore::ScrollingTreeState::ScrollingTreeState): + (WebCore::ScrollingTreeState::setHorizontalScrollElasticity): + (WebCore): + (WebCore::ScrollingTreeState::setVerticalScrollElasticity): + (WebCore::ScrollingTreeState::setHasEnabledHorizontalScrollbar): + (WebCore::ScrollingTreeState::setHasEnabledVerticalScrollbar): + * page/scrolling/ScrollingTreeState.h: + (WebCore::ScrollingTreeState::horizontalScrollElasticity): + (ScrollingTreeState): + (WebCore::ScrollingTreeState::verticalScrollElasticity): + (WebCore::ScrollingTreeState::hasEnabledHorizontalScrollbar): + (WebCore::ScrollingTreeState::hasEnabledVerticalScrollbar): + +2012-02-09 Xianzhu Wang <wangxianzhu@chromium.org> + + Unnecessary and incorrect invalidation about composited fixed-position layers + https://bugs.webkit.org/show_bug.cgi?id=75638 + + When a FrameView scrolls, composited fixed-position layers should + not contribute to the invalidation rect of the root layer. + + Reviewed by Simon Fraser. + + No new tests. Haven't found a good way to test this programatically. + + * page/FrameView.cpp: + (WebCore::FrameView::scrollContentsFastPath): + +2012-02-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r107035. + http://trac.webkit.org/changeset/107035 + https://bugs.webkit.org/show_bug.cgi?id=78253 + + Regressed DOMDivWalk (Requested by arv on #webkit). + + * Target.pri: + * UseV8.cmake: + * WebCore.gypi: + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateNormalAttrGetter): + (HasCustomToV8Implementation): + * bindings/v8/custom/V8DOMStringMapCustom.cpp: + (WebCore::toV8): + (WebCore): + * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp. + (WebCore): + (WebCore::toV8): + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: + (WebCore::toV8): + (WebCore): + +2012-02-09 David Barton <dbarton@mathscribe.com> + + MathML internals for bug 52444 fix - type checking, PassRefPtr + https://bugs.webkit.org/show_bug.cgi?id=78180 + + Reviewed by Eric Seidel. + + static_cast<Element*>(node()) is done in methods in RenderMathMLFenced.cpp and a few + other files. It is more type-safe if the RenderMathMLFenced() or other constructor only + accepts an Element*, not a Node*. Also a couple functions were changed to return a + PassRefPtr instead of a RefPtr. + + No new tests. + + * rendering/mathml/RenderMathMLFenced.cpp: + (WebCore::RenderMathMLFenced::RenderMathMLFenced): + (WebCore::RenderMathMLFenced::updateFromElement): + (WebCore::RenderMathMLFenced::makeOperatorStyle): + (WebCore::RenderMathMLFenced::makeFences): + (WebCore::RenderMathMLFenced::addChild): + * rendering/mathml/RenderMathMLFenced.h: + (RenderMathMLFenced): + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::RenderMathMLFraction): + * rendering/mathml/RenderMathMLFraction.h: + (RenderMathMLFraction): + * rendering/mathml/RenderMathMLMath.cpp: + (WebCore::RenderMathMLMath::RenderMathMLMath): + * rendering/mathml/RenderMathMLMath.h: + (RenderMathMLMath): + * rendering/mathml/RenderMathMLOperator.cpp: + (WebCore::RenderMathMLOperator::RenderMathMLOperator): + (WebCore::RenderMathMLOperator::updateFromElement): + (WebCore::RenderMathMLOperator::createStackableStyle): + (WebCore::RenderMathMLOperator::createGlyph): + * rendering/mathml/RenderMathMLOperator.h: + (RenderMathMLOperator): + * rendering/mathml/RenderMathMLRoot.cpp: + (WebCore::RenderMathMLRoot::RenderMathMLRoot): + (WebCore::RenderMathMLRoot::layout): + * rendering/mathml/RenderMathMLRoot.h: + (RenderMathMLRoot): + * rendering/mathml/RenderMathMLRow.cpp: + (WebCore::RenderMathMLRow::RenderMathMLRow): + * rendering/mathml/RenderMathMLRow.h: + (RenderMathMLRow): + * rendering/mathml/RenderMathMLSquareRoot.cpp: + (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): + * rendering/mathml/RenderMathMLSquareRoot.h: + (RenderMathMLSquareRoot): + * rendering/mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::addChild): + * rendering/mathml/RenderMathMLSubSup.h: + (RenderMathMLSubSup): + * rendering/mathml/RenderMathMLUnderOver.cpp: + (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): + * rendering/mathml/RenderMathMLUnderOver.h: + (RenderMathMLUnderOver): + +2012-02-09 Andreas Kling <awesomekling@apple.com> + + Avoid unnecessary work when evaluating style sharing candidates. + <http://webkit.org/b/78220> + + Reviewed by Antti Koivisto. + + Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups. + Remove comparison of attributes that are reflected in the attribute styles (cellpadding, + lang and xml:lang.) Moved comparison of "type" and "readonly" attributes into the more + specific canShareStyleWithControl() since they are only relevant for input elements. + Don't bother calling isFormControlElement() on both elements since we already know they + have the same tagQName(). + + Altogether this knocks off 8-9ms worth of samples per cycle of the "Moz" page cycler test. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithControl): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::isCommonAttributeSelectorAttribute): + +2012-02-09 Mike Lawther <mikelawther@chromium.org> + + CSS3 calc() - remove mod + https://bugs.webkit.org/show_bug.cgi?id=78226 + + mod has been removed from the spec for calc(). + + Reviewed by Ojan Vafai. + + * css/CSSCalculationValue.cpp: + (WebCore::CSSCalcBinaryOperation::create): + (WebCore::CSSCalcBinaryOperation::evaluate): + (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression): + * css/CSSGrammar.y: + * platform/CalculationValue.h: + +2012-02-09 Pavel Feldman <pfeldman@google.com> + + Web Inspector: rename DOMEditor to DOMPatchSupport, move undoable actions from + InspectorDOMAgent to the new DOMEditor. + https://bugs.webkit.org/show_bug.cgi?id=78245 + + Reviewed by Yury Semikhatsky. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/DOMEditor.cpp: + (DOMEditor::DOMAction): + (WebCore::DOMEditor::DOMAction::DOMAction): + (WebCore::DOMEditor::DOMAction::perform): + (WebCore::DOMEditor::DOMAction::undo): + (DOMEditor::RemoveChildAction): + (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction): + (WebCore::DOMEditor::RemoveChildAction::perform): + (WebCore::DOMEditor::RemoveChildAction::undo): + (DOMEditor::InsertBeforeAction): + (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction): + (WebCore::DOMEditor::InsertBeforeAction::perform): + (WebCore::DOMEditor::InsertBeforeAction::undo): + (DOMEditor::RemoveAttributeAction): + (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction): + (WebCore::DOMEditor::RemoveAttributeAction::perform): + (WebCore::DOMEditor::RemoveAttributeAction::undo): + (DOMEditor::SetAttributeAction): + (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction): + (WebCore::DOMEditor::SetAttributeAction::perform): + (WebCore::DOMEditor::SetAttributeAction::undo): + (DOMEditor::SetOuterHTMLAction): + (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction): + (WebCore::DOMEditor::SetOuterHTMLAction::perform): + (WebCore::DOMEditor::SetOuterHTMLAction::undo): + (WebCore::DOMEditor::SetOuterHTMLAction::newNode): + (DOMEditor::ReplaceWholeTextAction): + (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction): + (WebCore::DOMEditor::ReplaceWholeTextAction::perform): + (WebCore::DOMEditor::ReplaceWholeTextAction::undo): + (WebCore::DOMEditor::DOMEditor): + (WebCore): + (WebCore::DOMEditor::~DOMEditor): + (WebCore::DOMEditor::insertBefore): + (WebCore::DOMEditor::removeChild): + (WebCore::DOMEditor::setAttribute): + (WebCore::DOMEditor::removeAttribute): + (WebCore::DOMEditor::setOuterHTML): + (WebCore::DOMEditor::replaceWholeText): + * inspector/DOMEditor.h: + (WebCore): + (DOMEditor): + * inspector/DOMPatchSupport.cpp: Copied from Source/WebCore/inspector/DOMEditor.cpp. + (WebCore::DOMPatchSupport::DOMPatchSupport): + (WebCore::DOMPatchSupport::~DOMPatchSupport): + (WebCore::DOMPatchSupport::patchDocument): + (WebCore::DOMPatchSupport::patchNode): + (WebCore::DOMPatchSupport::innerPatchNode): + (WebCore): + (WebCore::DOMPatchSupport::diff): + (WebCore::DOMPatchSupport::innerPatchChildren): + (WebCore::DOMPatchSupport::createDigest): + (WebCore::DOMPatchSupport::insertBefore): + (WebCore::DOMPatchSupport::removeChild): + (WebCore::DOMPatchSupport::markNodeAsUsed): + (WebCore::DOMPatchSupport::dumpMap): + * inspector/DOMPatchSupport.h: Copied from Source/WebCore/inspector/DOMEditor.h. + (DOMPatchSupport): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::setFrontend): + (WebCore::InspectorDOMAgent::clearFrontend): + (WebCore::InspectorDOMAgent::reset): + (WebCore::InspectorDOMAgent::setAttributeValue): + (WebCore::InspectorDOMAgent::setAttributesAsText): + (WebCore::InspectorDOMAgent::removeAttribute): + (WebCore::InspectorDOMAgent::removeNode): + (WebCore::InspectorDOMAgent::setNodeName): + (WebCore::InspectorDOMAgent::setOuterHTML): + (WebCore::InspectorDOMAgent::setNodeValue): + (WebCore::InspectorDOMAgent::moveTo): + * inspector/InspectorDOMAgent.h: + (WebCore): + (InspectorDOMAgent): + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::setDocumentContent): + +2012-02-09 Mark Rowe <mrowe@apple.com> + + REGRESSION (r104746): iframes load PDFs as media documents + <http://webkit.org/b/77079> / <rdar://problem/10757933> + + Roll out r104746 since it completely broke support for loading PDF documents in subframes. + + Reviewed by Adam Treat. + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): + +2012-02-09 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: [refactoring] take _showShortEvents out of timeline calculator + https://bugs.webkit.org/show_bug.cgi?id=78230 + + Reviewed by Pavel Feldman. + + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked): + (WebInspector.TimelinePanel.prototype._refresh): + (WebInspector.TimelinePanel.prototype._addToRecordsWindow): + +2012-02-08 Dan Vrátil <dvratil@redhat.com>, Milan Crha <mcrha@redhat.com> + + [GTK] Embedded GtkWidgets are not drawn + https://bugs.webkit.org/show_bug.cgi?id=63451 + + Remove widget from it's parent container when GtkPluginWidget is destroyed. + Remove paint() method because real expose even is used for drawing child widgets now. + + Reviewed by Martin Robinson. + + * platform/gtk/GtkPluginWidget.cpp: + (WebCore::GtkPluginWidget::~GtkPluginWidget): + (WebCore): + * platform/gtk/GtkPluginWidget.h: + (GtkPluginWidget): + +2012-02-09 Arun Patole <arun.patole@motorola.com> + + Setting media element 'src' attribute to "" should trigger load + https://bugs.webkit.org/show_bug.cgi?id=47907 + + Reviewed by Eric Carlson. + + Test: media/video-src-empty.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::attributeChanged):Trigger a load, as long as the 'src' attribute is present. + +2012-02-09 Jonathan Backer <backer@chromium.org> + + [chromium] Add setNeedsRedraw to WebWidget + https://bugs.webkit.org/show_bug.cgi?id=77555 + + Reviewed by James Robinson. + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::setNeedsRedraw): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage): + (WebCore): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (CCLayerTreeHostImpl): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::setNeedsRedraw): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::setNeedsRedraw): + (WebCore::CCThreadProxy::setFullRootLayerDamageOnImplThread): + (WebCore): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (CCThreadProxy): + +2012-02-09 Pavel Feldman <pfeldman@google.com> + + Web Inspector: fix setOuterHTML for the case that adds / removes duplicate. + https://bugs.webkit.org/show_bug.cgi?id=78235 + + Reviewed by Yury Semikhatsky. + + * inspector/DOMEditor.cpp: + (WebCore::DOMEditor::diff): + (WebCore::DOMEditor::innerPatchChildren): + (WebCore): + (WebCore::nodeName): + (WebCore::DOMEditor::dumpMap): + * inspector/DOMEditor.h: + (DOMEditor): + +2012-02-09 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + Ensure timers and other active DOM objects do not fire in suspended documents. + https://bugs.webkit.org/show_bug.cgi?id=53733 + + ScriptExecutionContext now remembers it has suspended active DOM objects + and suspends all newly installed active DOM objects as well. + + All create-calls active DOM objects now calls the post constructor method + suspendIfNeeded that updates the suspend state. It is post constructor + because the suspend/resume functions are virtual and thus can not be called + from constructors. + + Reviewed by Mihai Parparita. + + Test: fast/events/suspend-timers.html + + * Modules/intents/IntentRequest.cpp: + (WebCore::IntentRequest::create): + * bindings/generic/ActiveDOMCallback.cpp: + (WebCore::ActiveDOMCallback::ActiveDOMCallback): + * dom/ActiveDOMObject.cpp: + (WebCore::ActiveDOMObject::ActiveDOMObject): + (WebCore::ActiveDOMObject::~ActiveDOMObject): + (WebCore::ActiveDOMObject::suspendIfNeeded): + * dom/ActiveDOMObject.h: + (WebCore::ActiveDOMObject::suspendIfNeededCalled): + * dom/DocumentEventQueue.cpp: + (WebCore::DocumentEventQueue::DocumentEventQueue): + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + (WebCore::ScriptExecutionContext::~ScriptExecutionContext): + (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): + (WebCore::ScriptExecutionContext::stopActiveDOMObjects): + (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded): + * dom/ScriptExecutionContext.h: + (ScriptExecutionContext): + (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended): + * fileapi/DOMFileSystem.cpp: + (WebCore::DOMFileSystem::create): + * fileapi/FileReader.cpp: + (WebCore::FileReader::create): + * fileapi/FileReader.h: + * fileapi/FileWriter.cpp: + (WebCore::FileWriter::create): + * fileapi/FileWriter.h: + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): + * html/HTMLAudioElement.cpp: + (WebCore::HTMLAudioElement::create): + (WebCore::HTMLAudioElement::createForJSConstructor): + * html/HTMLMarqueeElement.cpp: + (WebCore::HTMLMarqueeElement::create): + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::create): + * mediastream/PeerConnection.cpp: + (WebCore::PeerConnection::create): + * notifications/Notification.cpp: + (WebCore::Notification::create): + * notifications/NotificationCenter.cpp: + (WebCore::NotificationCenter::create): + * notifications/NotificationCenter.h: + * page/DOMTimer.cpp: + (WebCore::DOMTimer::install): + (WebCore::DOMTimer::fired): + * page/EventSource.cpp: + (WebCore::EventSource::create): + * page/SuspendableTimer.cpp: + (WebCore::SuspendableTimer::SuspendableTimer): + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::create): + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::create): + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::create): + * storage/IDBVersionChangeRequest.cpp: + (WebCore::IDBVersionChangeRequest::create): + * webaudio/AudioContext.cpp: + (WebCore::AudioContext::create): + (WebCore::AudioContext::createOfflineContext): + * websockets/WebSocket.cpp: + (WebCore::WebSocket::create): + * websockets/WebSocket.h: + * workers/SharedWorker.cpp: + (WebCore::SharedWorker::create): + * workers/Worker.cpp: + (WebCore::Worker::create): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::create): + +2012-02-09 Vsevolod Vlasov <vsevik@chromium.org> + + Unreviewed followup for r107235. + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay): + (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide): + +2012-02-09 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Support hiding scripts panel debug sidebar. + https://bugs.webkit.org/show_bug.cgi?id=77543 + + Reviewed by Pavel Feldman. + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/compile-front-end.sh: + * inspector/front-end/Dialog.js: + (WebInspector.Dialog): + (WebInspector.DialogDelegate.prototype.show): + * inspector/front-end/Images/navigatorPinButton.png: Added. + * inspector/front-end/Images/navigatorShowHideButton.png: Added. + * inspector/front-end/ScriptsNavigator.js: + (WebInspector.ScriptsNavigator): + (WebInspector.ScriptsNavigator.prototype.get view): + (WebInspector.ScriptsNavigator.prototype.get element): + (WebInspector.ScriptsNavigator.prototype.show): + (WebInspector.ScriptsNavigator.prototype.focus): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._fileSelected): + (WebInspector.ScriptsPanel.prototype._createDebugToolbar): + (WebInspector.ScriptsPanel.prototype._createNavigatorControls): + (WebInspector.ScriptsPanel.prototype._createNavigatorControlButton): + (WebInspector.ScriptsPanel.prototype._toggleNavigator): + (WebInspector.ScriptsPanel.prototype._hidePinnedNavigator): + (WebInspector.ScriptsPanel.prototype.set _pinNavigator): + (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay): + (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay): + (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown): + (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide): + * inspector/front-end/SidebarOverlay.js: Added. + * inspector/front-end/SplitView.js: + (WebInspector.SplitView.prototype.get resizable): + (WebInspector.SplitView.prototype.hideMainElement): + (WebInspector.SplitView.prototype.showMainElement): + (WebInspector.SplitView.prototype.hideSidebarElement): + (WebInspector.SplitView.prototype.showSidebarElement): + (WebInspector.SplitView.prototype._resizerDragging): + * inspector/front-end/TabbedEditorContainer.js: + (WebInspector.TabbedEditorContainer.prototype.get element): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/dialog.css: + * inspector/front-end/inspector.html: + * inspector/front-end/scriptsPanel.css: + +2012-02-09 Alexei Filippov <alexeif@chromium.org> + + Web Inspector: Show percentage by default in heap profiler. + https://bugs.webkit.org/show_bug.cgi?id=78103 + + Reviewed by Pavel Feldman. + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGridNode.prototype._toPercentString): + (WebInspector.HeapSnapshotGridNode.prototype._createValueCell): + (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data): + (WebInspector.HeapSnapshotConstructorNode.prototype.get data): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.DetailedHeapshotView.profileCallback): + (WebInspector.DetailedHeapshotView): + (WebInspector.DetailedHeapshotView.prototype.get statusBarItems): + (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid): + (WebInspector.DetailedHeapshotView.prototype._updateFilterOptions): + * inspector/front-end/UIUtils.js: + (Number.withThousandsSeparator): + * inspector/front-end/heapProfiler.css: + (.detailed-heapshot-view .data-grid span.percent-column): + 2012-02-09 Ilya Tikhonovsky <loislo@chromium.org> Web Inspector: Timeline memory graph would have been more useful if it had used minUsedHeapSize as the lower bound. Currently it uses zero as the lower bound. |