morrita@google.com [Fri, 24 Feb 2012 09:59:07 +0000 (09:59 +0000)]
Adding a ShadowRoot to image-backed element causes a crash
https://bugs.webkit.org/show_bug.cgi?id=78878
Reviewed by Dimitri Glazkov.
Source/WebCore:
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:
LayoutTests:
* fast/dom/shadow/shadow-on-image-expected.html: Added.
* fast/dom/shadow/shadow-on-image.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108758
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Fri, 24 Feb 2012 09:56:02 +0000 (09:56 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108757
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Fri, 24 Feb 2012 09:53:43 +0000 (09:53 +0000)]
[Qt] Unreviewed gardening.
Remove tests introduced in r108731 but rolled out.
* platform/qt/Skipped: Removed rolled out tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108756
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Fri, 24 Feb 2012 09:53:12 +0000 (09:53 +0000)]
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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108755
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Fri, 24 Feb 2012 09:50:06 +0000 (09:50 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108754
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 09:49:38 +0000 (09:49 +0000)]
Remove useless jump instructions for short circuit
https://bugs.webkit.org/show_bug.cgi?id=75602
Patch by Han Hojong <hojong.han@samsung.com> on 2012-02-24
Reviewed by Michael Saboff.
Jump instruction is inserted to make short circuit,
however it does nothing but moving to the next instruction.
Therefore useless jump instructions are removed,
and jump list is moved into the case not for a short circuit,
so that only necessary instructions are added to JIT code
unless it has a 16 bit pattern character and an 8 bit string.
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterNonGreedy):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108753
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Fri, 24 Feb 2012 09:47:47 +0000 (09:47 +0000)]
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).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-24
Source/JavaScriptCore:
* wtf/Platform.h:
Source/WebCore:
* 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.
LayoutTests:
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(web_socket_transfer_data):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108752
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 24 Feb 2012 09:41:04 +0000 (09:41 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108751
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mikelawther@chromium.org [Fri, 24 Feb 2012 09:33:28 +0000 (09:33 +0000)]
CSS3 calc(): handle non-negative values
https://bugs.webkit.org/show_bug.cgi?id=79188
Reviewed by Daniel Bates.
Source/WebCore:
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:
LayoutTests:
* css3/calc/negative-padding-expected.html: Added.
* css3/calc/negative-padding.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108750
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 24 Feb 2012 09:31:07 +0000 (09:31 +0000)]
Web Inspector: [Regression] xhr tests are crashing after r108506.
https://bugs.webkit.org/show_bug.cgi?id=79265
Reviewed by Pavel Feldman.
Source/WebCore:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setInitialScriptContent):
(WebCore::InspectorResourceAgent::setInitialXHRContent):
LayoutTests:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108749
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Fri, 24 Feb 2012 08:55:59 +0000 (08:55 +0000)]
Add performance tests for DOM attribute getters and setters
https://bugs.webkit.org/show_bug.cgi?id=79208
Reviewed by Ryosuke Niwa.
PerformanceTests:
This patch adds performance micro-benchmarks for DOM attribute
getters and setters. We selected DOM attributes from HTMLElement,
Element and Node which will most impact on the DOM performance
in the real Web and which have different call-paths from another
DOM attribute.
The perf test result in my local Chromium/Linux environment is as follows:
median= 14967.0 ms, stdev= 85.
2385476178 ms, min= 14861.0 ms, max= 15155.0 ms
If we run the test with DumpRenderTree, we can get the following test results:
Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70
Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67
Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67
Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68
Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67
Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110
Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94
Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82
Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68
Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71
Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68
Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143
Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77
Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82
Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283
Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210
Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568
Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247
Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446
Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58
Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64
Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62
Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55
Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66
Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380
Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81
Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63
Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64
Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63
Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80
Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246
Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53
Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81
Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161
Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99
Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99
Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97
Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503
Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65
Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59
Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57
Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63
Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71
Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99
Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98
Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68
Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77
Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61
Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56
Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129
Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55
Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55
Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54
Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55
Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051
Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155
Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66
Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66
Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706
Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58
Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68
Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68
Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152
Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25
Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51
Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199
* Bindings/dom_attributes.html: Added.
* resources/runner.js:
(PerfTestRunner.info):
Tools:
We want to allow perf tests to output info messages
that do not affect the test results. To accomplish this,
this patch modifies perftestsrunner.py so that it ignores
a line that starts from "Info:".
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108748
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 08:42:47 +0000 (08:42 +0000)]
[BlackBerry] Enable requestAnimationFrame
https://bugs.webkit.org/show_bug.cgi?id=79408
Source/JavaScriptCore:
Use timer implementation of requestAnimationFrame on BlackBerry.
Patch by Andrew Lo <anlo@rim.com> on 2012-02-24
Reviewed by Rob Buis.
* wtf/Platform.h:
Tools:
Enable requestAnimationFrame for BlackBerry.
Patch by Andrew Lo <anlo@rim.com> on 2012-02-24
Reviewed by Rob Buis.
* Scripts/build-webkit:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108747
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 08:38:46 +0000 (08:38 +0000)]
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.
Patch by Huang Dongsung <luxtella@company100.net> on 2012-02-24
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108746
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Fri, 24 Feb 2012 08:34:12 +0000 (08:34 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108745
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 24 Feb 2012 08:33:50 +0000 (08:33 +0000)]
style-queue tries to apply the patch twice
https://bugs.webkit.org/show_bug.cgi?id=79459
Reviewed by Eric Seidel.
Previously, we applied the patch using both apply-patch and
check-style. This patch introduces a check-style-local to mirror the
apply-watchlist-local, which operates on the current working diff.
This patch also cleans up some other bugs I found by running the queue
locally for a while. The queue still prints out a slightly
less-than-ideal message on the bugs when it find an error, but it's ok
for now. We'll need to iterate a bit.
* Scripts/webkitpy/tool/bot/stylequeuetask.py:
(StyleQueueTask.validate):
(StyleQueueTask._check_style):
* Scripts/webkitpy/tool/commands/download.py:
(CheckStyleLocal):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSytemTest._default_expected_stderr):
(EarlyWarningSytemTest._test_testing_ews):
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractReviewQueue.handle_script_error):
(StyleQueue.review_patch):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest.assert_queue_outputs):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108744
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Fri, 24 Feb 2012 08:28:43 +0000 (08:28 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108743
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 08:20:51 +0000 (08:20 +0000)]
`\u200c` and `\u200d` should be allowed in IdentifierPart, as per ES5
https://bugs.webkit.org/show_bug.cgi?id=78908
Source/JavaScriptCore:
Add additional checks for zero-width non-joiner (0x200C) and
zero-width joiner (0x200D) characters.
Patch by Mathias Bynens <mathias@qiwi.be> on 2012-02-24
Reviewed by Michael Saboff.
* parser/Lexer.cpp:
(JSC::isNonASCIIIdentPart)
* runtime/LiteralParser.cpp:
(JSC::::Lexer::lexIdentifier)
LayoutTests:
Patch by Mathias Bynens <mathias@qiwi.be> on 2012-02-24
Reviewed by Michael Saboff.
* fast/js/var-declarations-zero-width-expected.txt: Added.
* fast/js/var-declarations-zero-width.html: Added.
* fast/js/removing-Cf-characters-expected.txt: Removed the ZWJ test.
* fast/js/script-tests/removing-Cf-characters.js: Removed the ZWJ test.
* fast/js/script-tests/var-declarations-zero-width.js: Added.
* platform/chromium/test_expectations.txt: Disable the new test in Chromium, for now.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108742
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Fri, 24 Feb 2012 08:17:11 +0000 (08:17 +0000)]
[chromium] Unreviewed test expectation change.
svg/repaint/image-with-clip-path.svg is flaky for DEBUG builds.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108741
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Fri, 24 Feb 2012 08:11:31 +0000 (08:11 +0000)]
[chromium] Unreviewed test expectation change.
svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm is flaky for DEBUG builds.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108740
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 24 Feb 2012 08:00:13 +0000 (08:00 +0000)]
[Qt] Unreviewed gardening.
* platform/qt/Skipped: Skip failing tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108739
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Fri, 24 Feb 2012 07:58:50 +0000 (07:58 +0000)]
[chromium] Unreviewed test expectation change.
svg/text/text-rescale.html and svg/text/text-viewbox-rescale.html
are failing on Win, Linux, and Mac since added by wk r108699.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108738
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 24 Feb 2012 07:52:51 +0000 (07:52 +0000)]
should_proceed_with_work_item is unused and can be removed
https://bugs.webkit.org/show_bug.cgi?id=79416
Reviewed by Eric Seidel.
We used to use this function to check whether the tree is red. Now, we
don't use external measures of whether to proceed with work items.
Instead, we analyze them with the idea in mind that the tree might be
red.
* Scripts/webkitpy/tool/bot/queueengine.py:
(QueueEngineDelegate.next_work_item):
(QueueEngine.run):
* Scripts/webkitpy/tool/bot/queueengine_unittest.py:
(LoggingDelegate):
(LoggingDelegate.next_work_item):
(RaisingDelegate.process_work_item):
(QueueEngineTest.test_terminating_error):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.__init__):
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue.next_work_item):
(FeederQueue.next_work_item):
(CommitQueue.next_work_item):
(AbstractReviewQueue.next_work_item):
(StyleQueue.__init__):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(FeederQueueTest.test_feeder_queue):
(CommitQueueTest.test_commit_queue):
(test_commit_queue_failure):
(test_commit_queue_failure_with_failing_tests):
(test_rollout):
(test_rollout_lands):
(StyleQueueTest.test_style_queue_with_style_exception):
(test_style_queue_with_watch_list_exception):
* Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest.assert_queue_outputs):
* Scripts/webkitpy/tool/commands/sheriffbot.py:
(SheriffBot.next_work_item):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108737
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 24 Feb 2012 07:49:53 +0000 (07:49 +0000)]
[Qt] Unreviewed morning gardening.
* platform/qt/Skipped:
* platform/qt/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/qt/fast/block/float/centered-float-avoidance-complexity-expected.txt: Added.
* platform/qt/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/qt/fast/block/float/shrink-to-avoid-float-complexity-expected.txt: Added.
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.png:
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/qt/fast/repaint/region-painting-invalidation-expected.png: Added.
* platform/qt/fast/repaint/region-painting-invalidation-expected.txt: Added.
* platform/qt/svg/carto.net/window-expected.png:
* platform/qt/svg/carto.net/window-expected.txt:
* platform/qt/svg/custom/js-late-clipPath-and-object-creation-expected.png:
* platform/qt/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
* platform/qt/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/qt/svg/custom/js-late-gradient-and-object-creation-expected.txt:
* platform/qt/svg/custom/pointer-events-text-css-transform-expected.png:
* platform/qt/svg/custom/pointer-events-text-css-transform-expected.txt:
* platform/qt/svg/custom/text-ctm-expected.png:
* platform/qt/svg/custom/text-ctm-expected.txt:
* platform/qt/svg/hixie/perf/003-expected.png:
* platform/qt/svg/hixie/perf/003-expected.txt:
* platform/qt/svg/text/ems-display-none-expected.png: Added.
* platform/qt/svg/text/ems-display-none-expected.txt: Added.
* platform/qt/svg/text/exs-display-none-expected.png: Added.
* platform/qt/svg/text/exs-display-none-expected.txt: Added.
* platform/qt/svg/text/text-fill-opacity-expected.png: Added.
* platform/qt/svg/text/text-fill-opacity-expected.txt: Added.
* platform/qt/svg/text/text-viewbox-rescale-expected.png: Added.
* platform/qt/svg/text/text-viewbox-rescale-expected.txt: Added.
* platform/qt/svg/text/tspan-dynamic-positioning-expected.png: Added.
* platform/qt/svg/text/tspan-dynamic-positioning-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108736
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Fri, 24 Feb 2012 07:37:34 +0000 (07:37 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108735
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Fri, 24 Feb 2012 07:28:39 +0000 (07:28 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108734
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Fri, 24 Feb 2012 07:00:03 +0000 (07:00 +0000)]
[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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108733
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 06:34:37 +0000 (06:34 +0000)]
Unreviewed. Rolled DEPS.
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-23
* DEPS:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108732
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Fri, 24 Feb 2012 06:29:33 +0000 (06:29 +0000)]
Adding WebSocket per-frame DEFLATE extension
https://bugs.webkit.org/show_bug.cgi?id=77522
Source/JavaScriptCore:
Added USE(ZLIB) flag.
Reviewed by Kent Tamura.
* wtf/Platform.h:
Source/WebCore:
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):
LayoutTests:
Added tests for WebSocket deflate-frame extension. Also updated some
tests to follow the change.
Reviewed by Kent Tamura.
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Added.
(_get_deflate_frame_extension_processor):
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(_retrieve_frame):
(web_socket_transfer_data):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108731
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Fri, 24 Feb 2012 06:24:47 +0000 (06:24 +0000)]
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.
Source/WebCore:
* 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):
Source/WebKit/mac:
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setSuppressesIncrementalRendering:]):
(-[WebPreferences suppressesIncrementalRendering]):
(-[WebPreferences setSuppressIncrementalRendering:]):
(-[WebPreferences suppressIncrementalRendering]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetSuppressesIncrementalRendering):
(WKPreferencesGetSuppressesIncrementalRendering):
* UIProcess/API/C/WKPreferences.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::createInspectorPageGroup):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108730
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
arv@chromium.org [Fri, 24 Feb 2012 06:21:32 +0000 (06:21 +0000)]
Rename DOMWindow to Window in the bindings
https://bugs.webkit.org/show_bug.cgi?id=78721
Reviewed by Adam Barth.
Source/WebCore:
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:
LayoutTests:
* fast/dom/Window/atob-btoa-expected.txt:
* fast/dom/Window/atob-btoa.html:
* fast/dom/Window/window-lookup-precedence-expected.txt:
* fast/dom/Window/window-lookup-precedence.html:
* fast/dom/Window/window-postmessage-args-expected.txt:
* fast/dom/Window/window-properties-expected.txt:
* fast/dom/Window/window-property-descriptors-expected.txt:
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* fast/dom/prototype-inheritance-2-expected.txt:
* fast/dom/script-tests/prototype-inheritance-2.js:
(pushPropertyValuesWithUnseenTypes):
* fast/dom/wrapper-classes-expected.txt:
* fast/dom/wrapper-classes.html:
* fast/events/device-orientation-crash-expected.txt:
* fast/events/device-orientation-crash.html:
* fast/events/event-trace-expected.txt:
* fast/events/event-view-toString-expected.txt:
* fast/events/popup-blocked-to-post-blank-expected.txt:
* fast/events/popup-blocked-to-post-blank.html:
* fast/js/eval-cross-window-expected.txt:
* fast/js/eval-keyword-vs-function-expected.txt:
* fast/js/function-bind-expected.txt:
* fast/js/mozilla/strict/10.4.3-expected.txt:
* fast/js/mozilla/strict/15.3.4.5-expected.txt:
* fast/js/mozilla/strict/this-for-function-expression-recursion-expected.txt:
* fast/js/script-tests/function-bind.js:
* fast/js/toString-and-valueOf-override-expected.txt:
* http/tests/inspector-enabled/console-clear-arguments-on-frame-remove-expected.txt:
* http/tests/security/cross-frame-access-custom-expected.txt:
* http/tests/security/cross-frame-access-custom.html:
* http/tests/security/cross-frame-access-put-expected.txt:
* http/tests/security/document-all-expected.txt:
* inspector/console/console-dir-global-expected.txt:
* inspector/debugger/debugger-expand-scope-expected.txt:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockWithDOM):
(initialize_HeapSnapshotTest):
* inspector/profiler/heap-snapshot.html:
* java/lc3/JSObject/ToJSObject-001-expected.txt:
* java/lc3/JSObject/ToObject-001-expected.txt:
* java/lc3/JSObject/ToString-001-expected.txt:
* platform/chromium-mac/fast/events/event-view-toString-expected.txt:
* platform/chromium-win/fast/events/event-view-toString-expected.txt:
* platform/chromium-win/fast/js/README:
* platform/chromium/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/chromium/fast/dom/Window/window-postmessage-args-expected.txt:
* platform/chromium/fast/dom/wrapper-classes-expected.txt:
* platform/chromium/fast/js/mozilla/strict/15.3.4.5-expected.txt:
* platform/chromium/fast/js/toString-and-valueOf-override-expected.txt:
* platform/chromium/http/tests/security/cross-frame-access-call-expected.txt:
* platform/chromium/http/tests/security/cross-frame-access-put-expected.txt:
* platform/chromium/inspector/console/console-dir-global-expected.txt:
* platform/chromium/inspector/debugger/debugger-expand-scope-expected.txt:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/gtk/http/tests/security/cross-frame-access-put-expected.txt:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/mac/fast/dom/prototype-inheritance-2-expected.txt:
* platform/mac/fast/dom/wrapper-classes-objc.html:
* platform/mac/fast/js/global-constructors-expected.txt:
* platform/qt-5.0-wk2/fast/dom/Window/window-properties-expected.txt:
* platform/qt-5.0-wk2/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt-5.0-wk2/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt-arm/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/qt/http/tests/security/cross-frame-access-put-expected.txt:
* platform/win/fast/dom/Window/window-properties-expected.txt:
* platform/win/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/win/fast/dom/prototype-inheritance-2-expected.txt:
* sputnik/Conformance/11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A1_T1-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A1_T2-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A2_T1-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108729
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Fri, 24 Feb 2012 05:43:13 +0000 (05:43 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108728
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 05:31:12 +0000 (05:31 +0000)]
[chromium] Implement keyframed animations for the cc thread.
https://bugs.webkit.org/show_bug.cgi?id=77229
Patch by Ian Vollick <vollick@chromium.org> on 2012-02-23
Reviewed by James Robinson.
Source/WebCore:
* 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):
Source/WebKit/chromium:
* WebKit.gypi:
* tests/CCAnimationTestCommon.cpp:
(WebCore):
(WebCore::addOpacityTransition):
(WebKitTests::addOpacityTransitionToController):
(WebKitTests::addOpacityTransitionToLayer):
* tests/CCAnimationTestCommon.h:
(WebCore):
(WebKitTests):
* tests/CCKeyframedAnimationCurveTest.cpp: Added.
(WebCore):
(WebCore::expectTranslateX):
(WebCore::TEST):
* tests/CCLayerAnimationControllerTest.cpp:
(WebKitTests::expectTranslateX):
(WebKitTests):
(WebKitTests::TEST):
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::dispatchAddAnimation):
(WTF::CCLayerTreeHostTest::doBeginTest):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108727
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 05:25:31 +0000 (05:25 +0000)]
Use MathExtras round() in timeToSampleFrame
https://bugs.webkit.org/show_bug.cgi?id=79281
Patch by Raymond Toy <rtoy@google.com> on 2012-02-23
Reviewed by Chris Rogers.
No new tests. Existing tests cover this change.
* platform/audio/AudioUtilities.cpp:
(WebCore::AudioUtilities::timeToSampleFrame): Use round().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108726
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 24 Feb 2012 05:24:55 +0000 (05:24 +0000)]
REGRESSION: Assertion failure in Document::setCompatibilityMode() (!m_styleSheets->length()) in fast/dynamic/crash-paint-no-documentElement-renderer.html
https://bugs.webkit.org/show_bug.cgi?id=79333
Reviewed by Sam Weinig.
Disabled the test. The assertion failure is tracked by <http://webkit.org/b/68859>.
* fast/dynamic/crash-paint-no-documentElement-renderer.html: Removed.
* fast/dynamic/crash-paint-no-documentElement-renderer.html-disabled: Copied from LayoutTests/fast/dynamic/crash-paint-no-documentElement-renderer.html.
* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:
* platform/gtk/test_expectations.txt:
* platform/mac/test_expectations.txt:
* platform/qt/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108725
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 04:58:34 +0000 (04:58 +0000)]
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
Patch by Greg Billock <gbillock@google.com> on 2012-02-23
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108724
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 04:40:48 +0000 (04:40 +0000)]
[BlackBerry] Selection handler has compile failure with logs enabled.
https://bugs.webkit.org/show_bug.cgi?id=79392
Patch by Mike Fenton <mifenton@rim.com> on 2012-02-23
Reviewed by Antonio Gomes.
Build Fix. Update log to avoid usage of toString which was removed.
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108723
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 04:34:56 +0000 (04:34 +0000)]
Upstream BlackBerry Cookie Management Classes
https://bugs.webkit.org/show_bug.cgi?id=73654
Patch by Konrad Piascik <kpiascik@rim.com> on 2012-02-23
Reviewed by Rob Buis.
.:
Manual test to see in milliseconds how quickly 100 writes followed by 100 reads take.
This test is ran twice and the average read and write for each of the 2 runs is shown.
* ManualTests/cookieSpeedTest.html: Added.
Source/WebCore:
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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108722
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonikitoo@webkit.org [Fri, 24 Feb 2012 04:28:34 +0000 (04:28 +0000)]
2012-02-19 Antonio Gomes <agomes@rim.com>
Fat fingers - Add a clearer way to distinguish the node we want (shadow or non-shadow)
https://bugs.webkit.org/show_bug.cgi?id=79256
PR #127814 / MKS_2587410
Reviewed by Rob Buis.
Patch adds a cleaner way for call sites of FatFingersResult to
query for the appropriated target node: shadow or non-shadow DOM nodes.
It also renames FatFingersResults::validNode to ::node, assuming
that "invalid" nodes are not applicable in any context.
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
(BlackBerry::WebKit::WebPagePrivate::contextNode):
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
* WebKitSupport/FatFingers.h:
(FatFingersResult):
(BlackBerry::WebKit::FatFingersResult::node):
(BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::touchHoldEvent):
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108721
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Fri, 24 Feb 2012 04:04:33 +0000 (04:04 +0000)]
Unreviewed test fix after r108699.
Fix wrong path of repaint.js in platform/mac/svg/text/text-rescale.html
and platform/mac/svg/text/text-viewbox-rescale.html
* platform/mac/svg/text/text-rescale.html:
* platform/mac/svg/text/text-viewbox-rescale.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108720
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Fri, 24 Feb 2012 03:55:53 +0000 (03:55 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108719
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 03:41:01 +0000 (03:41 +0000)]
[BlackBerry] Upstream BlackBerry API web page related files
https://bugs.webkit.org/show_bug.cgi?id=74380
Patch by Jacky Jiang <zhajiang@rim.com> on 2012-02-23
Reviewed by Antonio Gomes.
Initial upstream, no new tests.
* Api/WebPage.cpp: Added.
* Api/WebPage.h: Added.
* Api/WebPage_p.h: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108718
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leo.yang@torchmobile.com.cn [Fri, 24 Feb 2012 03:11:20 +0000 (03:11 +0000)]
[BlackBerry] Remove unused ChromeClientBlackBerry::platformCompositingWindow(), platformWindow() and WebPageClient::compositingWindow()
https://bugs.webkit.org/show_bug.cgi?id=78681
Reviewed by Antonio Gomes.
* Api/WebPageClient.h:
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108717
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Fri, 24 Feb 2012 03:10:03 +0000 (03:10 +0000)]
Zero out CopiedBlocks on initialization
https://bugs.webkit.org/show_bug.cgi?id=79199
Reviewed by Filip Pizlo.
Made CopyBlocks zero their payloads during construction. This allows
JSArray to avoid having to manually clear its backing store upon allocation
and also alleviates any future pain with regard to the garbage collector trying
to mark what it thinks are values in what is actually uninitialized memory.
* heap/CopiedBlock.h:
(JSC::CopiedBlock::CopiedBlock):
* runtime/JSArray.cpp:
(JSC::JSArray::finishCreation):
(JSC::JSArray::tryFinishCreationUninitialized):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::unshiftCountSlowCase):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108716
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leo.yang@torchmobile.com.cn [Fri, 24 Feb 2012 03:05:58 +0000 (03:05 +0000)]
[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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108715
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 03:03:52 +0000 (03:03 +0000)]
[Chromium] Add profiling trace for deferred canvas rendering
https://bugs.webkit.org/show_bug.cgi?id=79376
Patch by Justin Novosad <junov@chromium.org> on 2012-02-23
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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108714
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Fri, 24 Feb 2012 02:37:02 +0000 (02:37 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108713
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Fri, 24 Feb 2012 02:20:19 +0000 (02:20 +0000)]
Unreviewed: add clause in ASSERT missing from r108474.
No new tests. (fix)
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::willRemove):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108712
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leo.yang@torchmobile.com.cn [Fri, 24 Feb 2012 02:16:01 +0000 (02:16 +0000)]
[BlackBerry] Upstream GLES2Context.{h, cpp}
https://bugs.webkit.org/show_bug.cgi?id=79196
Reviewed by Rob Buis.
Initial upstream, no new tests.
* WebKitSupport/GLES2Context.cpp: Added.
* WebKitSupport/GLES2Context.h: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108711
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 24 Feb 2012 02:11:04 +0000 (02:11 +0000)]
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:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 24 Feb 2012 02:04:40 +0000 (02:04 +0000)]
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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108709
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 24 Feb 2012 01:48:00 +0000 (01:48 +0000)]
Unreviewed, add Stephen Chenney to committers.py as a contributor.
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108707
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Fri, 24 Feb 2012 01:38:43 +0000 (01:38 +0000)]
[chromium] Clean up GraphicsContext3D initialization paths
https://bugs.webkit.org/show_bug.cgi?id=79321
Reviewed by Kenneth Russell.
This simplifies the GraphicsContext3D initialization paths down to two simple codepaths, one for offscreen
contexts initialized from WebCore and one for onscreen (compositor) contexts initialized by WebViewImpl or
WebLayerTreeViewImpl.
Offscreen initialization path:
1) WebCore code calls WebCore::GraphicsContext3D::create(), implemented in GraphicsContext3DChromium.cpp
2) GraphicsContext3D::create() instantiates a WebGraphicsContext3D via the static WebKitPlatformSupport interface
3) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
GraphicsContext3D's m_private pointer.
Onscreen initialization path:
1) WebViewImpl or WebLayerTreeViewImpl request an onscreen WebGraphicsContext3D from either their WebViewClient
or WebLayerTreeViewClient, respectively
2) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
GraphicsContext3D's m_private pointer.
There are no other initialization paths. Specifically, we do not support instantiating onscreen contexts from
within WebCore.
* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore):
(WebCore::GraphicsContext3DPrivate::platformTexture):
(WebCore::GraphicsContext3D::create):
* src/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::createLayerTreeHostContext3D):
* src/WebViewImpl.cpp:
(std::getCompositorContextAttributes):
(WebKit::WebViewImpl::createCompositorGraphicsContext3D):
(WebKit):
(WebKit::WebViewImpl::createLayerTreeHostContext3D):
(WebKit::WebViewImpl::graphicsContext3D):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::CCLayerTreeHostImplTest::createContext):
(CCLayerTreeHostImplTest):
(WebKit::TEST_F):
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
* tests/CompositorFakeGraphicsContext3D.h:
(WebCore::createCompositorMockGraphicsContext3D):
* tests/FakeGraphicsContext3DTest.cpp:
(TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108706
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 24 Feb 2012 01:33:26 +0000 (01:33 +0000)]
[chromium] Unreviewed gardening. Apply bug number to svg/carto.net failures.
https://bugs.webkit.org/show_bug.cgi?id=79423
These two tests were in a set of tests that needed to be rebaselined
after a jpeg decoder change. However, there was also a text change
during this period that caused debug vs. release differences for text
spans in the SVG output. Filing a real bug so this can get looked at.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108704
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 01:32:35 +0000 (01:32 +0000)]
[chromium] Plumb video damage to the damage tracker.
https://bugs.webkit.org/show_bug.cgi?id=79373
Patch by Jonathan Backer <backer@chromium.org> on 2012-02-23
Reviewed by James Robinson.
Source/WebCore:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::contentChanged):
(WebCore):
* platform/graphics/chromium/VideoLayerChromium.h:
(VideoLayerChromium):
Source/WebKit/chromium:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::repaint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108703
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 01:27:16 +0000 (01:27 +0000)]
[BlackBerry] InputHandler requires cleanup of Navigation Mode handling.
https://bugs.webkit.org/show_bug.cgi?id=79366
Patch by Mike Fenton <mifenton@rim.com> on 2012-02-23
Reviewed by Rob Buis.
Cleanup InputHandler navigation based code.
1) Remove the concept of NavigationMode and replace it
with simple showKeyboard calls.
2) Remove navigation move events and replace with standard
key events.
3) Standardize function/variable names and remove obsolete
functions.
* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::nodeFocused):
(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::setElementFocused):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
(BlackBerry::WebKit::InputHandler::setDelayKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::processPendingKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
* WebKitSupport/InputHandler.h:
(InputHandler):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::setCaretPosition):
(BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108702
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 24 Feb 2012 01:25:05 +0000 (01:25 +0000)]
style-queue logs bogus messages to the QueueStatusServer
https://bugs.webkit.org/show_bug.cgi?id=79424
Reviewed by Eric Seidel.
Copy/paste error.
* Scripts/webkitpy/tool/bot/stylequeuetask.py:
(StyleQueueTask._check_style):
(StyleQueueTask._apply_watch_list):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108701
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 24 Feb 2012 00:54:45 +0000 (00:54 +0000)]
This test checks select attribute of content element is valid.
https://bugs.webkit.org/show_bug.cgi?id=65595
Reviewed by Dimitri Glazkov.
Source/WebCore:
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):
LayoutTests:
* fast/dom/shadow/iframe-shadow-expected.txt: Added.
* fast/dom/shadow/iframe-shadow.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108700
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 00:52:35 +0000 (00:52 +0000)]
Recompute font metrics on scale changes
https://bugs.webkit.org/show_bug.cgi?id=75091
Patch by Philip Rogers <pdr@google.com> on 2012-02-23
Reviewed by Nikolas Zimmermann.
Source/WebCore:
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):
LayoutTests:
* platform/chromium-linux/svg/text/text-rescale-expected.png: Added.
* platform/chromium-linux/svg/text/text-rescale-expected.txt: Added.
* platform/chromium-linux/svg/text/text-viewbox-rescale-expected.png: Added.
* platform/chromium-linux/svg/text/text-viewbox-rescale-expected.txt: Added.
* platform/chromium/test_expectations.txt:
* platform/mac/svg/text/text-rescale-expected.png: Added.
* platform/mac/svg/text/text-rescale-expected.txt: Added.
* platform/mac/svg/text/text-rescale.html: Added.
* platform/mac/svg/text/text-viewbox-rescale-expected.png: Added.
* platform/mac/svg/text/text-viewbox-rescale-expected.txt: Added.
* platform/mac/svg/text/text-viewbox-rescale.html: Added.
* svg/text/text-rescale-expected.png: Added.
* svg/text/text-rescale-expected.txt: Added.
* svg/text/text-rescale.html: Added.
* svg/text/text-viewbox-rescale-expected.png: Added.
* svg/text/text-viewbox-rescale-expected.txt: Added.
* svg/text/text-viewbox-rescale.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108699
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Fri, 24 Feb 2012 00:29:53 +0000 (00:29 +0000)]
[chromium] Notify compositor of wheel event registration via ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=79133
Reviewed by Dimitri Glazkov.
Source/WebCore:
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):
Source/WebKit/chromium:
Rips out old wheel event notification and adds unit tests for new LayerChromium property.
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleInputEvent):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::numberOfWheelEventHandlersChanged):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* src/WebViewImpl.h:
* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::TEST_F):
(WebKit):
* tests/LayerChromiumTest.cpp:
* tests/WebCompositorInputHandlerImplTest.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108698
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 24 Feb 2012 00:26:10 +0000 (00:26 +0000)]
[chromium] Unreviewed gardening. Re-enable a handful of tests.
These have no relation to each other, but all don't appear to be
failing anymore, so removing expectations for them.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108697
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Fri, 24 Feb 2012 00:24:40 +0000 (00:24 +0000)]
[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:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108696
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 00:18:28 +0000 (00:18 +0000)]
Add Chromium gpu_tests to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=79300
Patch by Dave Tu <dtu@chromium.org> on 2012-02-23
Reviewed by Ojan Vafai.
* Tools/TestResultServer/static-dashboards/builders.js:
* Tools/TestResultServer/static-dashboards/dashboard_base.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108695
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Feb 2012 00:08:27 +0000 (00:08 +0000)]
[GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
https://bugs.webkit.org/show_bug.cgi?id=79352
Patch by Mario Sanchez Prada <msanchez@igalia.com> on 2012-02-23
Reviewed by Philippe Normand.
Emit the signal 'resizable' instead of 'resizable-visible'.
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
(webkitWindowPropertiesSetResizable): Use right signal name.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108694
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 24 Feb 2012 00:05:33 +0000 (00:05 +0000)]
Use self._filesystem in more places in the SCM classes
https://bugs.webkit.org/show_bug.cgi?id=79415
Reviewed by Adam Barth.
* Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
(SCMDetectorTest.test_detect_scm_system):
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.find_checkout_root):
(Git.to_object_name):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.__init__):
(SCM.in_working_directory):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.find_uuid):
(SVN.find_checkout_root):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108693
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 24 Feb 2012 00:03:29 +0000 (00:03 +0000)]
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).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-23
Source/WebCore:
* 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:
Tools:
* qmake/mkspecs/features/features.prf:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108692
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 23 Feb 2012 23:59:44 +0000 (23:59 +0000)]
style-queue shouldn't spam bugs if it fails to update its working copy
https://bugs.webkit.org/show_bug.cgi?id=79412
Reviewed by Eric Seidel.
This patch moves style-queue over to the new PatchAnalysisTask
infrastructure, which is smarter about retrying patches when update
fails.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.run_and_throw_if_fail):
* Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(UnableToApplyPatch):
(UnableToApplyPatch.__init__):
(PatchAnalysisTask.__init__):
* Scripts/webkitpy/tool/bot/stylequeuetask.py: Added.
(StyleQueueTaskDelegate):
(StyleQueueTaskDelegate.parent_command):
(StyleQueueTask):
(StyleQueueTask.validate):
(StyleQueueTask._check_style):
(StyleQueueTask._apply_watch_list):
(StyleQueueTask.run):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/queues.py:
(StyleQueue):
(StyleQueue.should_proceed_with_work_item):
(StyleQueue.review_patch):
(StyleQueue.run_command):
(StyleQueue.command_passed):
(StyleQueue.command_failed):
(StyleQueue.expected_failures):
(StyleQueue.refetch_patch):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(StyleQueueTest.test_style_queue_with_style_exception):
(test_style_queue_with_watch_list_exception):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108691
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 23 Feb 2012 23:55:51 +0000 (23:55 +0000)]
CSS2:text-decoration: <rt> element should not inherit text-decoration property
https://bugs.webkit.org/show_bug.cgi?id=71266
Patch by Koji Ishii <kojiishi@gmail.com> on 2012-02-23
Reviewed by Kentaro Hara.
Source/WebCore:
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):
LayoutTests:
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
* fast/ruby/text-decoration-in-descendants-ruby-expected.html: Added.
* fast/ruby/text-decoration-in-descendants-ruby.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108690
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 23 Feb 2012 23:50:39 +0000 (23:50 +0000)]
Make fast/js/script-tests/dfg-inline-function-dot-caller not timeout.
Rubber stamped by Oliver Hunt.
Verified that the test still causes inlining to happen and still passes but
otherwise reduced the loops to take an order of magnitude fewer iterations.
* fast/js/script-tests/dfg-inline-function-dot-caller.js:
(object.nonInlineable.nonInlineable.if):
(object.nonInlineable):
(makeInlinableCall):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108687
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Thu, 23 Feb 2012 23:44:22 +0000 (23:44 +0000)]
[chromium] Unreviewed gardening. Mark two fast/files/ tests as non-flaky.
https://bugs.webkit.org/show_bug.cgi?id=45667
These two look like they're passing consistently, so remove
expectations.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108686
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zoltan@webkit.org [Thu, 23 Feb 2012 23:37:48 +0000 (23:37 +0000)]
[Qt] Allow to use WebCore imagedecoders
https://bugs.webkit.org/show_bug.cgi?id=32410
Source/WebCore:
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):
Tools:
Add ENABLE_QT_IMAGE_DECODER macro, it's enabled by default.
Reviewed by Simon Hausmann.
* qmake/mkspecs/features/features.prf:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108685
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 23 Feb 2012 23:26:27 +0000 (23:26 +0000)]
Remove old broken find_checkout_root tests now that find_checkout_root is gone
https://bugs.webkit.org/show_bug.cgi?id=79405
Reviewed by Adam Barth.
* Scripts/webkitpy/common/checkout/scm/detection_unittest.py: Added.
(SCMDetectorTest):
(SCMDetectorTest.test_find_checkout_root):
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(SVNTestRepository.tear_down):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108684
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Thu, 23 Feb 2012 23:20:27 +0000 (23:20 +0000)]
[chromium] Unreviewed gardening. Mark a media-fragments test as slow.
https://bugs.webkit.org/show_bug.cgi?id=77523
This has been periodically timing out on Win, so give it more time.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108683
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 23 Feb 2012 23:20:11 +0000 (23:20 +0000)]
[Qt][WK2] Implement proxy authentication dialog.
https://bugs.webkit.org/show_bug.cgi?id=79350
Patch by Michael Brüning <michael.bruning@nokia.com> on 2012-02-23
Reviewed by Simon Hausmann.
* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/qml/BrowserWindow.qml:
* MiniBrowser/qt/qml/ProxyAuthenticationDialog.qml: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108682
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 23 Feb 2012 23:18:05 +0000 (23:18 +0000)]
Make Interpreter::getStackTrace be able to generate the line number for the top callframe if none is provided
https://bugs.webkit.org/show_bug.cgi?id=79407
Reviewed by Gavin Barraclough.
Outside of exception handling, we don't know what our source line number is. This
change allows us to pass -1 is as the initial line number, and get the correct line
number in the resultant stack trace. We can't completely elide the initial line
number (yet) due to some idiosyncrasies of the exception handling machinery.
* interpreter/Interpreter.cpp:
(JSC::getLineNumberForCallFrame):
(JSC):
(JSC::Interpreter::getStackTrace):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108681
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Thu, 23 Feb 2012 23:13:44 +0000 (23:13 +0000)]
[chromium] New baselines for CSS3 filters drop-shadow() tests.
Unreviewed gardening.
* platform/chromium-linux/css3/filters/effect-drop-shadow-hw-expected.png: Added.
* platform/chromium-mac-snowleopard/css3/filters/effect-drop-shadow-hw-expected.png:
* platform/chromium-win/css3/filters/effect-drop-shadow-hw-expected.png:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108680
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Thu, 23 Feb 2012 23:12:15 +0000 (23:12 +0000)]
Unreviewed, rolling out r108666.
http://trac.webkit.org/changeset/108666
https://bugs.webkit.org/show_bug.cgi?id=79321
Breaks webplugin tests: http://goo.gl/CoHIi
* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore):
(WebCore::GraphicsContext3DPrivate::create):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextForAnotherThread):
(WebCore::GraphicsContext3DPrivate::platformTexture):
(WebCore::GraphicsContext3D::create):
* src/GraphicsContext3DPrivate.h:
(WebKit):
(GraphicsContext3DPrivate):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::createLayerTreeHostContext3D):
* src/WebViewImpl.cpp:
(std::getCompositorContextAttributes):
(WebKit::WebViewImpl::createLayerTreeHostContext3D):
(WebKit::WebViewImpl::graphicsContext3D):
* tests/CCLayerTreeHostImplTest.cpp:
(CCLayerTreeHostImplTest):
(WebKit::TEST_F):
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
* tests/CompositorFakeGraphicsContext3D.h:
(WebCore::createCompositorMockGraphicsContext3D):
* tests/FakeGraphicsContext3DTest.cpp:
(TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108679
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 23 Feb 2012 23:03:32 +0000 (23:03 +0000)]
[chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
https://bugs.webkit.org/show_bug.cgi?id=75864
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-23
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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 23 Feb 2012 22:51:09 +0000 (22:51 +0000)]
DFG OSR exit value profiling should have graceful handling of local variables and arguments
https://bugs.webkit.org/show_bug.cgi?id=79310
Reviewed by Gavin Barraclough.
Previously, if we OSR exited because a prediction in a local was wrong, we'd
only realize what the true type of the local was if the regular value profiling
kicked in and told us. Unless the local was block-locally copy propagated, in
which case we'd know from an OSR exit profile.
This patch adds OSR exit profiling to all locals and arguments. Now, if we OSR
exit because of a mispredicted local or argument type, we'll know what the type of
the local or argument should be immediately upon exiting.
The way that local variable OSR exit profiling works is that we now have a lazily
added set of OSR-exit-only value profiles for exit sites that are BadType and that
cited a GetLocal as their value source. The value profiles are only added if the
OSR exit is taken, and are keyed by CodeBlock, bytecode index of the GetLocal, and
operand. The look-up is performed by querying the
CompressedLazyOperandValueProfileHolder in the CodeBlock, using a key that contains
the bytecode index and the operand. Because the value profiles are added at random
times, they are not sorted; instead they are just stored in an arbitrarily-ordered
SegmentedVector. Look-ups are made fast by "decompressing": the DFG::ByteCodeParser
creates a LazyOperandValueProfileParser, which turns the
CompressedLazyOperandValueProfileHolder's contents into a HashMap for the duration
of DFG parsing.
Previously, OSR exits had a pointer to the ValueProfile that had the specFailBucket
into which values observed during OSR exit would be placed. Now it uses a lazy
thunk for a ValueProfile. I call this the MethodOfGettingAValueProfile. It may
either contain a ValueProfile inside it (which works for previous uses of OSR exit
profiling) or it may just have knowledge of how to go about creating the
LazyOperandValueProfile in the case that the OSR exit is actually taken. This
ensures that we never have to create NumOperands*NumBytecodeIndices*NumCodeBlocks
value profiling buckets unless we actually did OSR exit on every single operand,
in every single instruction, in each code block (that's probably unlikely).
This appears to be neutral on the major benchmarks, but is a double-digit speed-up
on code deliberately written to have data flow that spans basic blocks and where
the code exhibits post-optimization polymorphism in a local variable.
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::stronglyVisitStrongReferences):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::lazyOperandValueProfiles):
* bytecode/LazyOperandValueProfile.cpp: Added.
(JSC):
(JSC::CompressedLazyOperandValueProfileHolder::CompressedLazyOperandValueProfileHolder):
(JSC::CompressedLazyOperandValueProfileHolder::~CompressedLazyOperandValueProfileHolder):
(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
(JSC::CompressedLazyOperandValueProfileHolder::add):
(JSC::LazyOperandValueProfileParser::LazyOperandValueProfileParser):
(JSC::LazyOperandValueProfileParser::~LazyOperandValueProfileParser):
(JSC::LazyOperandValueProfileParser::getIfPresent):
(JSC::LazyOperandValueProfileParser::prediction):
* bytecode/LazyOperandValueProfile.h: Added.
(JSC):
(LazyOperandValueProfileKey):
(JSC::LazyOperandValueProfileKey::LazyOperandValueProfileKey):
(JSC::LazyOperandValueProfileKey::operator!):
(JSC::LazyOperandValueProfileKey::operator==):
(JSC::LazyOperandValueProfileKey::hash):
(JSC::LazyOperandValueProfileKey::bytecodeOffset):
(JSC::LazyOperandValueProfileKey::operand):
(JSC::LazyOperandValueProfileKey::isHashTableDeletedValue):
(JSC::LazyOperandValueProfileKeyHash::hash):
(JSC::LazyOperandValueProfileKeyHash::equal):
(LazyOperandValueProfileKeyHash):
(WTF):
(JSC::LazyOperandValueProfile::LazyOperandValueProfile):
(LazyOperandValueProfile):
(JSC::LazyOperandValueProfile::key):
(CompressedLazyOperandValueProfileHolder):
(LazyOperandValueProfileParser):
* bytecode/MethodOfGettingAValueProfile.cpp: Added.
(JSC):
(JSC::MethodOfGettingAValueProfile::fromLazyOperand):
(JSC::MethodOfGettingAValueProfile::getSpecFailBucket):
* bytecode/MethodOfGettingAValueProfile.h: Added.
(JSC):
(MethodOfGettingAValueProfile):
(JSC::MethodOfGettingAValueProfile::MethodOfGettingAValueProfile):
(JSC::MethodOfGettingAValueProfile::operator!):
* bytecode/ValueProfile.cpp: Removed.
* bytecode/ValueProfile.h:
(JSC):
(ValueProfileBase):
(JSC::ValueProfileBase::ValueProfileBase):
(JSC::ValueProfileBase::dump):
(JSC::ValueProfileBase::computeUpdatedPrediction):
(JSC::MinimalValueProfile::MinimalValueProfile):
(ValueProfileWithLogNumberOfBuckets):
(JSC::ValueProfileWithLogNumberOfBuckets::ValueProfileWithLogNumberOfBuckets):
(JSC::ValueProfile::ValueProfile):
(JSC::getValueProfileBytecodeOffset):
(JSC::getRareCaseProfileBytecodeOffset):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::injectLazyOperandPrediction):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::fixVariableAccessPredictions):
(DFG):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
(Graph):
* dfg/DFGNode.h:
(Node):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGPhase.cpp:
(JSC::DFG::Phase::beginPhase):
(JSC::DFG::Phase::endPhase):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculationCheck):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::nonUnifiedPrediction):
(VariableAccessData):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108677
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 23 Feb 2012 22:41:05 +0000 (22:41 +0000)]
Flush layer changes after layout when resizing web page
https://bugs.webkit.org/show_bug.cgi?id=79399
<rdar://problem/
10920157>
Reviewed by Andreas Kling.
Flush layer changes after layout, otherwise the scrollbars won't be updated
until sometime later which looks bad.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 23 Feb 2012 22:10:02 +0000 (22:10 +0000)]
[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.
Patch by Daniel Sievers <sievers@chromium.org> on 2012-02-23
Reviewed by James Robinson.
Source/WebCore:
* 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):
Source/WebKit/chromium:
* WebKit.gyp:
* public/WebMediaPlayer.h:
(WebKit):
(WebKit::WebMediaPlayer::setStreamTextureClient):
(WebMediaPlayer):
* public/WebStreamTextureClient.h: Copied from Source/WebKit/chromium/public/WebVideoFrame.h.
(WebKit):
(WebStreamTextureClient):
(WebKit::WebStreamTextureClient::~WebStreamTextureClient):
* public/WebVideoFrame.h:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl):
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
(WebKit::WebMediaPlayerClientImpl::didReceiveFrame):
(WebKit):
(WebKit::WebMediaPlayerClientImpl::didUpdateMatrix):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Thu, 23 Feb 2012 22:05:15 +0000 (22:05 +0000)]
Source/WebCore: [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):
LayoutTests: [chromium] Mark drop-shadow() tests as failing, pending a rebaseline.
https://bugs.webkit.org/show_bug.cgi?id=79386
Reviewed by James Robinson.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 23 Feb 2012 21:42:02 +0000 (21:42 +0000)]
Build fix.
* llint/LLIntOffsetsExtractor.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108672
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Thu, 23 Feb 2012 21:41:17 +0000 (21:41 +0000)]
Versioning.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108671
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
arv@chromium.org [Thu, 23 Feb 2012 21:23:11 +0000 (21:23 +0000)]
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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108669
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 23 Feb 2012 21:17:27 +0000 (21:17 +0000)]
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.
Source/WebCore:
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):
LayoutTests:
Add a regression test. Also make Markup.dump() dump the shadow DOM of the specififed node.
* editing/input/paste-text-ending-with-interchange-newline-expected.txt: Added.
* editing/input/paste-text-ending-with-interchange-newline.html: Added.
* resources/dump-as-markup.js:
(Markup._get):
(Markup._getShadowHostIfPossible):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108668
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Thu, 23 Feb 2012 21:15:16 +0000 (21:15 +0000)]
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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108667
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Thu, 23 Feb 2012 21:09:18 +0000 (21:09 +0000)]
[chromium] Clean up GraphicsContext3D initialization paths
https://bugs.webkit.org/show_bug.cgi?id=79321
Reviewed by Kenneth Russell.
This simplifies the GraphicsContext3D initialization paths down to two simple codepaths, one for offscreen
contexts initialized from WebCore and one for onscreen (compositor) contexts initialized by WebViewImpl or
WebLayerTreeViewImpl.
Offscreen initialization path:
1) WebCore code calls WebCore::GraphicsContext3D::create(), implemented in GraphicsContext3DChromium.cpp
2) GraphicsContext3D::create() instantiates a WebGraphicsContext3D via the static WebKitPlatformSupport interface
3) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
GraphicsContext3D's m_private pointer.
Onscreen initialization path:
1) WebViewImpl or WebLayerTreeViewImpl request an onscreen WebGraphicsContext3D from either their WebViewClient
or WebLayerTreeViewClient, respectively
2) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
GraphicsContext3D's m_private pointer.
There are no other initialization paths. Specifically, we do not support instantiating onscreen contexts from
within WebCore.
* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore):
(WebCore::GraphicsContext3DPrivate::platformTexture):
(WebCore::GraphicsContext3D::create):
* src/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::createLayerTreeHostContext3D):
* src/WebViewImpl.cpp:
(std::getCompositorContextAttributes):
(WebKit::WebViewImpl::createLayerTreeHostContext3D):
(WebKit::WebViewImpl::graphicsContext3D):
* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::CCLayerTreeHostImplTest::createContext):
(CCLayerTreeHostImplTest):
(WebKit::TEST_F):
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
* tests/CompositorFakeGraphicsContext3D.h:
(WebCore::createCompositorMockGraphicsContext3D):
* tests/FakeGraphicsContext3DTest.cpp:
(TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108666
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 23 Feb 2012 21:06:18 +0000 (21:06 +0000)]
Add UserGestureIndicator capability to Chromium API.
https://bugs.webkit.org/show_bug.cgi?id=77690
Patch by Greg Billock <gbillock@google.com> on 2012-02-23
Reviewed by Darin Fisher.
* WebKit.gyp:
* public/WebScopedUserGesture.h: Added.
* src/WebScopedUserGesture.cpp: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108665
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Thu, 23 Feb 2012 20:54:16 +0000 (20:54 +0000)]
[wx] Build fixes, update the build system after recent changes.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Thu, 23 Feb 2012 20:52:19 +0000 (20:52 +0000)]
[wx] Build fix, use the strings in LocalizedStrings.cpp.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108663
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 23 Feb 2012 20:51:33 +0000 (20:51 +0000)]
Add missing "Reviewed by" line to change log entry for changeset r108631
(https://bugs.webkit.org/show_bug.cgi?id=79252)
The patch landed in changeset r108631 was reviewed by Martin Robinson.
* ChangeLog:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108662
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Thu, 23 Feb 2012 20:48:35 +0000 (20:48 +0000)]
[wx] Build fix, disable LLINT for now and fix ENABLE defines for it.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108661
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Thu, 23 Feb 2012 20:47:24 +0000 (20:47 +0000)]
[wx] Build fix for non-Mac wx builds.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108660
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alokp@chromium.org [Thu, 23 Feb 2012 20:46:31 +0000 (20:46 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108659
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mdelaney@apple.com [Thu, 23 Feb 2012 20:27:31 +0000 (20:27 +0000)]
Missed an if from r108657.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108658
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mdelaney@apple.com [Thu, 23 Feb 2012 20:17:21 +0000 (20:17 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108657
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Thu, 23 Feb 2012 20:06:01 +0000 (20:06 +0000)]
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):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108656
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 23 Feb 2012 20:02:28 +0000 (20:02 +0000)]
[Qt] Unreviewed gardening.
* platform/qt/Skipped: Skip a failing test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108655
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 23 Feb 2012 19:58:49 +0000 (19:58 +0000)]
Mac build fix after 108629.
* WebCore.exp.in:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108654
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsepez@chromium.org [Thu, 23 Feb 2012 19:46:48 +0000 (19:46 +0000)]
[chromium] XSS Auditor bypass via javascript url and control characters
https://bugs.webkit.org/show_bug.cgi?id=79154
Reviewed by Adam Barth.
Source/WebCore:
Test: http/tests/security/xssAuditor/javascript-link-control-char2.html
* html/parser/XSSAuditor.cpp:
(WebCore):
(WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
LayoutTests:
* http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt: Added.
* http/tests/security/xssAuditor/javascript-link-control-char2.html: Added.
* platform/chromium/http/tests/security/xssAuditor: Added.
* platform/chromium/http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108653
268f45cc-cd09-0410-ab3c-
d52691b4dbfc