summaryrefslogtreecommitdiff
path: root/Source/WebCore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r--Source/WebCore/ChangeLog19846
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.