Timeline


and

09/14/11:

23:55 Changeset [95174] by mdelaney@apple.com
  • 5 edits in trunk/Source/WebCore

Use isAcceleratedContext() on the GraphicsContext instead of flags in ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=68137

Reviewed by Simon Fraser.

No new tests. No change in behavior.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::isAccelerated): Have all just query the context directly.
(WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere): just use isAccelerated directly

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer): Set isAcceleratedContext on the GraphicsContext instead of carrying the

bit around on the ImageBuffer itself.

(WebCore::ImageBuffer::copyNativeImage): Update the check. Same for all below...
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
(WebCore::ImageBuffer::putUnmultipliedImageData):
(WebCore::ImageBuffer::putPremultipliedImageData):

  • platform/graphics/skia/ImageBufferSkia.cpp: Set isAcceleratedContext on the GraphicsContext instead of carrying the

bit around on the ImageBuffer itself.

(WebCore::ImageBuffer::ImageBuffer): Remove m_acceleratesRendering flag and getter.

23:09 Changeset [95173] by keishi@webkit.org
  • 1 edit
    7 adds
    3 deletes in trunk/LayoutTests

[chromium] rebaseline expectations due to r95096, r95121, and r95129

  • platform/chromium-cg-mac-leopard/fast/borders/block-mask-overlay-image-expected.png: Added.
  • platform/chromium-cg-mac-leopard/fast/borders/border-color-inherit-expected.png: Added.
  • platform/chromium-cg-mac-leopard/fast/borders/inline-mask-overlay-image-expected.png: Added.
  • platform/chromium-cg-mac-leopard/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/chromium-cg-mac-leopard/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • platform/chromium-cg-mac-leopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-cg-mac-leopard/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.png: Added.
  • platform/chromium-cg-mac-leopard/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt: Added.
  • platform/chromium-cg-mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.png: Added.
  • platform/chromium-cg-mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt: Added.
22:49 Changeset [95172] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG does not speculate aggressively enough on comparisons
https://bugs.webkit.org/show_bug.cgi?id=68138

Reviewed by Oliver Hunt.

This is a 75% speed-up on Kraken/ai-astar. It's a 1% win on
V8 and an 8.5% win on Kraken. Neutral on SunSpider.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compare):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::shouldSpeculateFinalObject):
(JSC::DFG::SpeculativeJIT::shouldSpeculateArray):
(JSC::DFG::SpeculativeJIT::shouldSpeculateObject):
(JSC::DFG::SpeculativeJIT::shouldSpeculateCell):

22:48 Changeset [95171] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Remove some dependencies of DRT for Android.
https://bugs.webkit.org/show_bug.cgi?id=68126

Patch by Hao Zheng <zhenghao@chromium.org> on 2011-09-14
Reviewed by Tony Chang.

We don't need mesa and TestNetscapePlugIn on Android, so remove them.
As copy_TNPI depends on TNPI, adding copy_TNPI is enough.

  • WebKit.gyp:
22:44 Changeset [95170] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DFG JIT does not leverage integer speculations on branches
https://bugs.webkit.org/show_bug.cgi?id=68140

Reviewed by Oliver Hunt.

  • dfg/DFGJITCodeGenerator.cpp:

(JSC::DFG::JITCodeGenerator::isStrictInt32):

  • dfg/DFGJITCodeGenerator.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

22:26 Changeset [95169] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

libxml2 fragment parser loses prefix namespaces
https://bugs.webkit.org/show_bug.cgi?id=66423

Source/WebCore:

This makes the loop over the elements outside of the context actually update the element it's processing.

Patch by Jeffrey Pfau <jeffrey@endrift.com> on 2011-09-14
Reviewed by Eric Seidel.

Test: fast/parser/innerhtml-with-prefixed-elements.xhtml

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser):

LayoutTests:

Added a test to ensure that elements inserted when the prefix is already declared are inserted properly.

Patch by Jeffrey Pfau <jeffrey@endrift.com> on 2011-09-14
Reviewed by Eric Seidel.

  • fast/parser/innerhtml-with-prefixed-elements.xhtml: Added.
  • platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png: Added.
  • platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt: Added.
22:17 Changeset [95168] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[n]stricteq code is bogus in JSValue32_64 JIT
https://bugs.webkit.org/show_bug.cgi?id=68141

Reviewed by Sam Weinig.

The code tries to check for both ints or cells, but this check also
catches cases where values that are undefined, null, etc (probably
was incorrectly assuming cell was the 2nd highest tag?).

Also, there is no need not to handle int on the fast path.
stricteq is just a case of comparing the payloads, if we:

  • handle cases of differing tags on a slow path
  • handle doubles a slow path
  • handle both-are-string on a slow path
  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emitSlow_op_stricteq):
(JSC::JIT::emitSlow_op_nstricteq):

22:15 Changeset [95167] by mhahnenberg@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Make JSCell::toBoolean non-virtual
https://bugs.webkit.org/show_bug.cgi?id=67727

Reviewed by Sam Weinig.

JSCell::toBoolean now manually performs the toBoolean check for objects and strings (where
before it was simply virtual and would crash if its implementation was called).
Its descendants in JSObject and JSString have also been made non-virtual. JSCell now
explicitly covers all cases of toBoolean, so having a virtual implementation of
JSCell::toBoolean is no longer necessary. This is part of a larger process of un-virtualizing JSCell.

  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • runtime/JSCell.cpp:
  • runtime/JSCell.h:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSNotAnObject.h:
  • runtime/JSObject.h:
  • runtime/JSString.h:

(JSC::JSCell::toBoolean):
(JSC::JSValue::toBoolean):

  • runtime/StringObjectThatMasqueradesAsUndefined.h:
22:12 Changeset [95166] by japhet@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Null-check the v8::Context in
V8DOMWindowShell:namedItemAdded() before using it.
Also, add some logging to figure out how we're getting
into this bad state.
https://bugs.webkit.org/show_bug.cgi?id=68099

Reviewed by Adam Barth.

No new tests, no known repro.

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::namedItemAdded):

21:46 Changeset [95165] by paroga@webkit.org
  • 2 edits in trunk/Source/WebCore

Replace ENABLE_XHR_RESPONSE_BLOB preprocessor statements in IDL files with Conditional attribute
https://bugs.webkit.org/show_bug.cgi?id=64960

Reviewed by Ryosuke Niwa.

  • xml/XMLHttpRequest.idl:
21:43 Changeset [95164] by keishi@webkit.org
  • 2 edits in trunk/LayoutTests

[chromium] Add slow to debug version of styles-source-lines.html.

  • platform/chromium/test_expectations.txt:
21:33 Changeset [95163] by alexis.menard@openbossa.org
  • 4 edits in trunk

[Qt] Replace QT_GCC_X as they don't exist in Qt5 anymore.
https://bugs.webkit.org/show_bug.cgi?id=68114

Reviewed by Kenneth Rohde Christiansen.

.:

Replace QT_GCC_X variables, they have been removed in Qt5. It was
actually wrong to use them because they tell about which GCC version
Qt has been compiled, not the current version of GCC use to build webkit.
I use gcc -dumpversion to get it.

  • Source/WebKit.pri:

Source/JavaScriptCore:

Use the new GCC_X variables defined in WebKit.pri to replace
the usage of QT_GCC_X.

21:27 Changeset [95162] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r95145.
http://trac.webkit.org/changeset/95145
https://bugs.webkit.org/show_bug.cgi?id=68139

The GTK+ build is working now, so revert this trial build fix.
(Requested by mrobinson on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-14

  • GNUmakefile.list.am:
21:24 Changeset [95161] by commit-queue@webkit.org
  • 61 edits in trunk/LayoutTests

Fix tests made trivial by the bugfix to 27895, by removing leading punctuation
which would cause early truncation of the page snippet.

https://bugs.webkit.org/show_bug.cgi?id=27895

Patch by Tom Sepez <tsepez@chromium.org> on 2011-09-14
Reviewed by Adam Barth.

  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location.html:
  • http/tests/security/xssAuditor/dom-write-URL.html:
  • http/tests/security/xssAuditor/dom-write-innerHTML-expected.txt:
  • http/tests/security/xssAuditor/dom-write-innerHTML.html:
  • http/tests/security/xssAuditor/dom-write-location-inline-event.html:
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL.html:
  • http/tests/security/xssAuditor/dom-write-location.html:
  • http/tests/security/xssAuditor/full-block-get-from-iframe.html:
  • http/tests/security/xssAuditor/full-block-javascript-link.html:
  • http/tests/security/xssAuditor/full-block-link-onclick.html:
  • http/tests/security/xssAuditor/full-block-post-from-iframe.html:
  • http/tests/security/xssAuditor/full-block-script-tag.html:
  • http/tests/security/xssAuditor/get-from-iframe.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html:
  • http/tests/security/xssAuditor/img-onerror-tricky.html:
  • http/tests/security/xssAuditor/javascript-link-null-char.html:
  • http/tests/security/xssAuditor/javascript-link-one-plus-one.html:
  • http/tests/security/xssAuditor/javascript-link.html:
  • http/tests/security/xssAuditor/link-onclick-ampersand.html:
  • http/tests/security/xssAuditor/link-onclick-control-char.html:
  • http/tests/security/xssAuditor/link-onclick-entities.html:
  • http/tests/security/xssAuditor/link-onclick-null-char.html:
  • http/tests/security/xssAuditor/link-onclick.html:
  • http/tests/security/xssAuditor/link-opens-new-window.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header.html:
  • http/tests/security/xssAuditor/open-attribute-body.html:
  • http/tests/security/xssAuditor/open-event-handler-iframe.html:
  • http/tests/security/xssAuditor/post-from-iframe.html:
  • http/tests/security/xssAuditor/property-escape-comment.html:
  • http/tests/security/xssAuditor/property-escape-entity.html:
  • http/tests/security/xssAuditor/property-escape-noquotes-expected.txt:
  • http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars-expected.txt:
  • http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html:
  • http/tests/security/xssAuditor/property-escape-noquotes.html:
  • http/tests/security/xssAuditor/property-escape-quote.html:
  • http/tests/security/xssAuditor/property-escape.html:
  • http/tests/security/xssAuditor/property-inject-expected.txt:
  • http/tests/security/xssAuditor/property-inject.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-backslash.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-null-char.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html:
  • http/tests/security/xssAuditor/script-tag-control-char.html:
  • http/tests/security/xssAuditor/script-tag-entities.html:
  • http/tests/security/xssAuditor/script-tag-null-char.html:
  • http/tests/security/xssAuditor/script-tag-open-redirect.html:
  • http/tests/security/xssAuditor/script-tag-post-control-char.html:
  • http/tests/security/xssAuditor/script-tag-post-null-char.html:
  • http/tests/security/xssAuditor/script-tag-post.html:
  • http/tests/security/xssAuditor/script-tag-redirect.html:
  • http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html:
  • http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html:
  • http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html:
  • http/tests/security/xssAuditor/script-tag.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-01.html:
21:15 Changeset [95160] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Make WEB_AUDIO conditional and fix the build when disabled
https://bugs.webkit.org/show_bug.cgi?id=68107

Patch by Peter Beverloo <peter@chromium.org> on 2011-09-14
Reviewed by Kenneth Russell.

  • features.gypi:
  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::audioSourceProvider):

  • src/WebMediaPlayerClientImpl.h:
21:08 Changeset [95159] by commit-queue@webkit.org
  • 3 edits in trunk/Websites/bugs.webkit.org

PrettyPatch should handle "delta" patch mechanism in git binary patches
https://bugs.webkit.org/show_bug.cgi?id=67628

Git patches are encoded using two mechanisms - "literal" and "delta".
For details of these mechanisms, see the function emit_binary_diff_body
in the git source file diff.c (https://github.com/git/git/blob/master/diff.c).

When determining if a binary file patch is an image or not we should accept
both literal and delta patch encodings.

When reconstructing the images from the patches, if we have a delta patch
we may download the previous revision from svn.webkit.org to get the image data.

Patch by Ben Wells <benwells@chromium.org> on 2011-09-14
Reviewed by Adam Roben.

  • PrettyPatch/PrettyPatch.rb:
  • PrettyPatch/PrettyPatch_test.rb:
21:06 Changeset [95158] by commit-queue@webkit.org
  • 9 edits
    25 adds in trunk

Chromium: Add a layer for rubber-band overhang painting to the hardware path.
https://bugs.webkit.org/show_bug.cgi?id=66969

Also, add layout tests for rubber-band overhang drawing for compositing path.

Patch by Alexei Svitkine <asvitkine@chromium.org> on 2011-09-14
Reviewed by James Robinson.

  • page/FrameView.cpp:

(WebCore::FrameView::layerForOverhangAreas):

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::wheelEvent):

  • platform/ScrollView.h:
  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::layerForOverhangAreas):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::paintContents):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::destroyRootLayer):

  • rendering/RenderLayerCompositor.h:

(WebCore::RenderLayerCompositor::layerForOverhangAreas):

20:28 Changeset [95157] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

[v8] Improve performance of typed array copy constructor taking Array
https://bugs.webkit.org/show_bug.cgi?id=68015

Patch by Ulan Degenbaev <ulan@chromium.org> on 2011-09-14
Reviewed by Kenneth Russell.

Invoke the 'set' method of the constructed array instead of
copying the elements of the source array one by one.

Copy constructor tests already exist.

  • ../../Source/WebCore/WebCore.gypi:
  • ../../Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Added.
  • ../../Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.h:
20:04 Changeset [95156] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Return correct value for getContextAttributes().preserveDrawingBuffer
https://bugs.webkit.org/show_bug.cgi?id=68082

Patch by John Bauman <jbauman@chromium.org> on 2011-09-14
Reviewed by Kenneth Russell.

WebKit::WebGraphicsContext3D::Attributes doesn't save
preserveDrawingBuffer, so that has to be saving in
GraphicsContext3DPrivate.

  • src/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::create):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore::GraphicsContext3DPrivate::getContextAttributes):

  • src/GraphicsContext3DPrivate.h:
20:01 Changeset [95155] by levin@chromium.org
  • 2 edits
    1 copy
    3 moves
    2 adds
    1 delete in trunk/LayoutTests

[chromium] rebaselines due to r95096, and r95121.

  • platform/chromium-cg-mac-leopard/fast/css/getComputedStyle/computed-style-expected.txt: Renamed from LayoutTests/platform/chromium-cg-mac/fast/css/getComputedStyle/computed-style-expected.txt.
  • platform/chromium-cg-mac-leopard/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Renamed from LayoutTests/platform/chromium-cg-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt.
  • platform/chromium-cg-mac-leopard/svg/css/getComputedStyle-basic-expected.txt: Renamed from LayoutTests/platform/chromium-cg-mac/svg/css/getComputedStyle-basic-expected.txt.
  • platform/chromium-cg-mac/svg/as-border-image/svg-as-border-image-expected.txt: Removed.
  • platform/chromium-win-xp/svg/as-border-image/svg-as-border-image-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.txt.
  • platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.txt:
19:53 Changeset [95154] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Eliminate WebKit2 compilation warnings.
https://bugs.webkit.org/show_bug.cgi?id=65025

Warnings found with gcc on linux.

Patch by Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com> on 2011-09-14
Reviewed by Sam Weinig.

  • Platform/CoreIPC/ArgumentEncoder.cpp:

(CoreIPC::ArgumentEncoder::~ArgumentEncoder):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createPlugin):

19:40 Changeset [95153] by paroga@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Port MachineStackMarker to Windows ARM and MIPS
https://bugs.webkit.org/show_bug.cgi?id=68068

Reviewed by Geoffrey Garen.

Use the correct memeber of the CONTEXT struct for the stackpointer for CPU(ARM) and CPU(MIPS).
Only query CONTEXT_INTEGER and CONTEXT_CONTROL, since CONTEXT_SEGMENTS isn't defined for
CPU(ARM) and CPU(MIPS) and the stackpointer is defined in the CONTEXT_CONTROL section for
CPU(ARM), CPU(X86) and CPU(X86_64) and in the CONTEXT_INTEGER section for CPU(MIPS).

  • heap/MachineStackMarker.cpp:

(JSC::getPlatformThreadRegisters):
(JSC::otherThreadStackPointer):

19:34 Changeset [95152] by jamesr@google.com
  • 8 edits in trunk/Source

Remove the dependency on GraphicsLayer from CCLayerTreeHost.
Move root layer management into the NonCompositedContentHost.
Have WebViewImpl create a NonCompositedContentHost explicitly.
https://bugs.webkit.org/show_bug.cgi?id=67883

Patch by Antoine Labour <piman@chromium.org> on 2011-09-14
Reviewed by James Robinson.

Source/WebCore:

Covered by compositing/ layout tests.

  • platform/graphics/chromium/NonCompositedContentHost.cpp:

(WebCore::NonCompositedContentHost::setRootLayer):
(WebCore::NonCompositedContentHost::setViewport):
(WebCore::NonCompositedContentHost::setVisible):
(WebCore::NonCompositedContentHost::clearRenderSurfacesRecursive):
(WebCore::NonCompositedContentHost::invalidateRect):

  • platform/graphics/chromium/NonCompositedContentHost.h:

(WebCore::NonCompositedContentHost::topLevelRootLayer):

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::commitTo):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::setViewport):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::paintLayerContents):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore::CCLayerTreeHost::rootLayer):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::invalidateRootLayerRect):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::updateLayerTreeViewport):
(WebKit::WebViewImpl::setVisibilityState):

  • src/WebViewImpl.h:
19:26 Changeset [95151] by commit-queue@webkit.org
  • 6 edits in trunk

MediaStream API: Change PeerConnection constructor name to webkitPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=67843

Patch by Henrik Grunell <grunell@google.com> on 2011-09-14
Reviewed by Tony Gentilcore.

Tests for the MediaStream API will be provided by the bug 56587, pending enough landed code.

Source/WebCore:

  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webkitPeerConnectionEnabled):

  • page/DOMWindow.idl:

LayoutTests:

  • fast/dom/call-a-constructor-as-a-function.html:
  • platform/chromium/fast/dom/call-a-constructor-as-a-function-expected.txt:
19:12 Changeset [95150] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Make sure to GC decoded images that are only used with WebGL
https://bugs.webkit.org/show_bug.cgi?id=67899

Patch by John Bauman <jbauman@chromium.org> on 2011-09-14
Reviewed by James Robinson.

Tell CachedImage that the WebGL image was drawn so WebGL-only
content will have decoded images collected.

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::GraphicsContext3D::extractImageData):

18:46 Changeset [95149] by levin@chromium.org
  • 19 edits
    3 copies
    9 adds in trunk/LayoutTests

[chromium] rebaselines due to r95096, r95121, and r95129.

  • platform/chromium-cg-mac-leopard/fast/borders/border-image-scaled-gradient-expected.png: Added.
  • platform/chromium-cg-mac-leopard/svg/as-border-image/svg-as-border-image-expected.png: Added.
  • platform/chromium-cg-mac/fast/css/getComputedStyle/computed-style-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt.
  • platform/chromium-cg-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt.
  • platform/chromium-cg-mac/svg/as-border-image/svg-as-border-image-expected.png: Added.
  • platform/chromium-cg-mac/svg/as-border-image/svg-as-border-image-expected.txt: Added.
  • platform/chromium-cg-mac/svg/css/getComputedStyle-basic-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt.
  • platform/chromium-linux/fast/borders/border-image-border-radius-expected.png:
  • platform/chromium-linux/fast/borders/border-image-massive-scale-expected.png: Added.
  • platform/chromium-linux/fast/borders/border-image-scale-transform-expected.png:
  • platform/chromium-linux/fast/borders/border-image-scaled-expected.png:
  • platform/chromium-linux/svg/as-border-image/svg-as-border-image-expected.png:
  • platform/chromium-win/fast/borders/border-image-01-expected.png:
  • platform/chromium-win/fast/borders/border-image-border-radius-expected.png:
  • platform/chromium-win/fast/borders/border-image-longhand-expected.png:
  • platform/chromium-win/fast/borders/border-image-massive-scale-expected.png: Added.
  • platform/chromium-win/fast/borders/border-image-massive-scale-expected.txt: Added.
  • platform/chromium-win/fast/borders/border-image-repeat-expected.png:
  • platform/chromium-win/fast/borders/border-image-scale-transform-expected.png:
  • platform/chromium-win/fast/borders/border-image-scaled-expected.png:
  • platform/chromium-win/fast/borders/border-image-scaled-gradient-expected.png: Added.
  • platform/chromium-win/fast/borders/border-image-side-reduction-expected.png:
  • platform/chromium-win/fast/borders/border-image-slices-expected.png:
  • platform/chromium-win/fast/borders/border-image-source-expected.png:
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.png:
  • platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.txt:
  • platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
18:32 Changeset [95148] by jamesr@google.com
  • 19 edits in trunk/Source/WebCore

Added a pure virtual class CCLayerDelegate which helps to isolate
the chromium compositor from the rest of WebCore, and aids unit
testing by being easily mockable. The compositor layers no longer
directly see instances of GraphicsLayerChromium, instead they use
this interface.
https://bugs.webkit.org/show_bug.cgi?id=67750

Patch by Antoine Labour <piman@chromium.org> on 2011-09-14
Reviewed by James Robinson.

No new tests: changes already covered by existing compositing layout
tests.

  • platform/graphics/chromium/CanvasLayerChromium.cpp:

(WebCore::CanvasLayerChromium::CanvasLayerChromium):

  • platform/graphics/chromium/CanvasLayerChromium.h:
  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerPainter::create):
(WebCore::ContentLayerPainter::paint):
(WebCore::ContentLayerPainter::ContentLayerPainter):
(WebCore::ContentLayerChromium::create):
(WebCore::ContentLayerChromium::ContentLayerChromium):
(WebCore::ContentLayerChromium::drawsContent):

  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::getDrawsContent):
(WebCore::GraphicsLayerChromium::getPreserves3D):
(WebCore::GraphicsLayerChromium::paintingGoesToWindow):
(WebCore::GraphicsLayerChromium::doPaintGraphicsLayerContents):
(WebCore::GraphicsLayerChromium::notifySyncRequired):

  • platform/graphics/chromium/GraphicsLayerChromium.h:
  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::create):
(WebCore::ImageLayerChromium::ImageLayerChromium):

  • platform/graphics/chromium/ImageLayerChromium.h:
  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::create):
(WebCore::LayerChromium::LayerChromium):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::CCLayerDelegate::~CCLayerDelegate):
(WebCore::LayerChromium::preserves3D):
(WebCore::LayerChromium::setOwner):

  • platform/graphics/chromium/PluginLayerChromium.cpp:

(WebCore::PluginLayerChromium::create):
(WebCore::PluginLayerChromium::PluginLayerChromium):

  • platform/graphics/chromium/PluginLayerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::TiledLayerChromium):

  • platform/graphics/chromium/TiledLayerChromium.h:
  • platform/graphics/chromium/VideoLayerChromium.cpp:

(WebCore::VideoLayerChromium::create):
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::updateCompositorResources):

  • platform/graphics/chromium/VideoLayerChromium.h:
  • platform/graphics/chromium/WebGLLayerChromium.cpp:

(WebCore::WebGLLayerChromium::create):
(WebCore::WebGLLayerChromium::WebGLLayerChromium):

  • platform/graphics/chromium/WebGLLayerChromium.h:
18:24 Changeset [95147] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFG JIT always speculates that ValueAdd is a numeric addition
https://bugs.webkit.org/show_bug.cgi?id=67956

Reviewed by Geoffrey Garen.

  • dfg/DFGJITCodeGenerator.cpp:

(JSC::DFG::JITCodeGenerator::isKnownNotNumber):

  • dfg/DFGJITCodeGenerator.h:
  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::knownConstantArithOp):
(JSC::DFG::NonSpeculativeJIT::basicArithOp):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::shouldSpeculateNumber):

18:22 Changeset [95146] by levin@chromium.org
  • 7 edits
    1 move
    21 adds
    8 deletes in trunk/LayoutTests

[chromium] rebaselines due to r95121, r95070, and r95099.

  • platform/chromium-cg-mac-leopard/fast/borders/border-image-border-radius-expected.png: Added.
  • platform/chromium-cg-mac-leopard/fast/borders/border-image-rotate-transform-expected.png:
  • platform/chromium-cg-mac-leopard/fast/borders/border-image-scaled-expected.png:
  • platform/chromium-cg-mac-leopard/fast/borders/border-image-side-reduction-expected.png:
  • platform/chromium-cg-mac/fast/borders/bidi-002-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/bidi-009a-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/bidi-012-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/block-mask-overlay-image-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/border-color-inherit-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/border-image-border-radius-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/border-image-massive-scale-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/border-image-rotate-transform-expected.png:
  • platform/chromium-cg-mac/fast/borders/border-image-scale-transform-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/border-image-scaled-expected.png:
  • platform/chromium-cg-mac/fast/borders/border-image-side-reduction-expected.png:
  • platform/chromium-cg-mac/fast/borders/inline-mask-overlay-image-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/outline-alpha-block-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/outline-alpha-inline-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/rtl-border-01-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/rtl-border-02-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/rtl-border-03-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/rtl-border-04-expected.png: Added.
  • platform/chromium-cg-mac/fast/borders/rtl-border-05-expected.png: Added.
  • platform/chromium-cg-mac/fast/writing-mode/border-image-horizontal-bt-expected.png: Added.
  • platform/chromium-cg-mac/fast/writing-mode/border-image-vertical-lr-expected.png: Added.
  • platform/chromium-cg-mac/fast/writing-mode/border-image-vertical-rl-expected.png: Added.
  • platform/chromium-cg-mac/fast/writing-mode/japanese-rl-text-with-broken-font-expected.txt: Removed.
  • platform/chromium-linux-x86/fast/borders/border-image-scrambled-expected.png: Removed.
  • platform/chromium-linux/fast/borders/border-image-scrambled-expected.png: Removed.
  • platform/chromium-linux/fast/borders/border-image-scrambled-expected.txt: Removed.
  • platform/chromium-win-vista/fast/borders/border-image-scrambled-expected.png: Removed.
  • platform/chromium-win-vista/fast/borders/border-image-scrambled-expected.txt: Removed.
  • platform/chromium-win-xp/fast/borders/border-image-scrambled-expected.png: Removed.
  • platform/chromium-win-xp/fast/borders/border-image-scrambled-expected.txt: Removed.
  • platform/chromium-win/fast/borders/border-image-scrambled-expected.png: Added.
  • platform/chromium-win/fast/borders/border-image-scrambled-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/borders/border-image-scrambled-expected.txt.
17:50 Changeset [95145] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Stop building BinarySemaphore to see if that's what's breaking the GTK+ build.

  • GNUmakefile.list.am:
17:48 Changeset [95144] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

This is getting old. Yet another build fix attempt.

17:39 Changeset [95143] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Yet another build fix attempt.

17:31 Changeset [95142] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

How I &quot;love&quot; Visual Studio...

Try to fix build again.

17:26 Changeset [95141] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Try to fix Windows build.

17:15 Changeset [95140] by andersca@apple.com
  • 6 edits
    3 copies in trunk/Source/JavaScriptCore

Add BinarySemaphore class from WebKit2 to WTF
https://bugs.webkit.org/show_bug.cgi?id=68132

Reviewed by Sam Weinig.

Update build systems.

  • wtf/threads: Added.
  • wtf/threads/BinarySemaphore.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp.
  • wtf/threads/BinarySemaphore.h: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.h.
  • wtf/threads/win: Added.
  • wtf/threads/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/win/BinarySemaphoreWin.cpp.
16:55 Changeset [95139] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix for Interpreter.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

16:44 Changeset [95138] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix GTK+ build.

  • GNUmakefile.list.am:
16:27 Changeset [95137] by andersca@apple.com
  • 1 edit
    2 adds in trunk/Source/JavaScriptCore

Add wtf/threads and wtf/threads/win, so we can be sure that the EWS
bots can correctly build the patch in https://bugs.webkit.org/show_bug.cgi?id=68132

Rubber-stamped by Sam Weinig.

  • wtf/threads: Added.
  • wtf/threads/win: Added.
16:06 Changeset [95136] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

DFG JIT should not speculate integer if the value is always going to be
used as a double anyway
https://bugs.webkit.org/show_bug.cgi?id=68127

Reviewed by Oliver Hunt.

Added a ValueToDouble node, which is a variant of ValueToNumber that
hints that it will only be used as a double and never as an integer.
Thus, it turns off integer speculation even if the value profiler
told us that the value source is an int. The logic for converting a
ValueToNumber into a ValueToDouble is found in Propagator.

This appears to be a 22% speed-up in imaging-darkroom.

  • dfg/DFGNode.h:
  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::fixpoint):
(JSC::DFG::Propagator::toDouble):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::fixup):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

16:01 Changeset [95135] by jamesr@google.com
  • 18 edits in trunk/Source/WebCore

[chromium] LayerRendererChromium shouldn't be RefCounted
https://bugs.webkit.org/show_bug.cgi?id=68121

Reviewed by Kenneth Russell.

LayerRendererChromium is owned exclusively by CCLayerTreeHostImpl, so there's no reason to have it be
refcounted. Making it an OwnPtr<> makes the lifecycle for these objects much cleaner and reduces the chance of
introducing accidental reference cycles. This also removes the LayerRendererChromium pointers from CCLayerImpls
since it only needed at draw time.

Covered by compositing/ tests.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::drawLayer):

  • platform/graphics/chromium/LayerRendererChromium.h:
  • platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:

(WebCore::CCCanvasLayerImpl::draw):

  • platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::draw):
(WebCore::CCLayerImpl::bindContentsTexture):
(WebCore::CCLayerImpl::drawDebugBorder):

  • platform/graphics/chromium/cc/CCLayerImpl.h:
  • platform/graphics/chromium/cc/CCLayerTreeHost.h:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  • platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:

(WebCore::CCPluginLayerImpl::draw):

  • platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  • platform/graphics/chromium/cc/CCRenderSurface.cpp:

(WebCore::CCRenderSurface::cleanupResources):
(WebCore::CCRenderSurface::prepareContentsTexture):
(WebCore::CCRenderSurface::draw):
(WebCore::CCRenderSurface::drawLayer):
(WebCore::CCRenderSurface::drawSurface):

  • platform/graphics/chromium/cc/CCRenderSurface.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::draw):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:

(WebCore::CCVideoLayerImpl::draw):
(WebCore::CCVideoLayerImpl::drawYUV):
(WebCore::CCVideoLayerImpl::drawRGBA):

  • platform/graphics/chromium/cc/CCVideoLayerImpl.h:
16:00 Changeset [95134] by fpizlo@apple.com
  • 17 edits
    1 add in trunk/Source/JavaScriptCore

Tiered compilation heuristics do not account for value profile fullness
https://bugs.webkit.org/show_bug.cgi?id=68116

Reviewed by Oliver Hunt.

Tiered compilation avoids invoking the DFG JIT if it finds that value
profiles contain insufficient information. Instead, it produces a
prediction from the current value profile, and then clears the value
profile. This allows the value profile to heat up from scratch for
some number of additional executions. The new profiles will then be
merged with the previous prediction. Once the amount of information
in predictions is enough according to heuristics in CodeBlock.cpp,
DFG optimization is allowed to proceed.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::visitAggregate):
(JSC::CodeBlock::visitWeakReferences):
(JSC::CodeBlock::shouldOptimizeNow):
(JSC::CodeBlock::dumpValueProfiles):

  • bytecode/CodeBlock.h:
  • bytecode/PredictedType.cpp:

(JSC::predictionToString):

  • bytecode/PredictedType.h:
  • bytecode/ValueProfile.cpp: Added.

(JSC::ValueProfile::computeStatistics):
(JSC::ValueProfile::computeUpdatedPrediction):

  • bytecode/ValueProfile.h:

(JSC::ValueProfile::ValueProfile):
(JSC::ValueProfile::classInfo):
(JSC::ValueProfile::numberOfSamples):
(JSC::ValueProfile::totalNumberOfSamples):
(JSC::ValueProfile::isLive):
(JSC::ValueProfile::numberOfInt32s):
(JSC::ValueProfile::numberOfDoubles):
(JSC::ValueProfile::numberOfBooleans):
(JSC::ValueProfile::dump):
(JSC::getValueProfileBytecodeOffset):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::stronglyPredict):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::predictArgumentTypes):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
(JSC::DFG::JITCompiler::jumpFromSpeculativeToNonSpeculative):

  • jit/JIT.cpp:

(JSC::JIT::emitOptimizationCheck):

  • jit/JITInlineMethods.h:

(JSC::JIT::emitValueProfilingSite):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

15:44 Changeset [95133] by eric.carlson@apple.com
  • 9 edits in trunk/LayoutTests

Media element tests should look up controller element locations
https://bugs.webkit.org/show_bug.cgi?id=68038

Get the position of controller elements from the shadow DOM.

Reviewed by Darin Adler.

  • media/audio-delete-while-slider-thumb-clicked.html:
  • media/audio-delete-while-step-button-clicked.html:
  • media/controls-drag-timebar.html:
  • media/controls-right-click-on-timebar.html:
  • media/video-controls-transformed.html:
  • media/video-controls-visible-audio-only.html:
  • media/video-controls-zoomed.html:
  • media/video-volume-slider.html:
15:42 Changeset [95132] by tony@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

Changed WebKit.gyp to use the new grit version of the scripts that handle
.pak files.
https://bugs.webkit.org/show_bug.cgi?id=68013

Patch by Nebojsa Ciric <cira@chromium.org> on 2011-09-14
Reviewed by Tony Chang.

  • DEPS:
  • WebKit.gyp:
15:37 Changeset [95131] by levin@chromium.org
  • 2 edits
    13 adds in trunk/LayoutTests

[chromium] Update baselines due to r95070 and r95099.

  • platform/chromium-cg-mac-leopard/fast/writing-mode/broken-ideographic-font-expected.png: Added.
  • platform/chromium-cg-mac/fast/writing-mode/broken-ideographic-font-expected.png: Added.
  • platform/chromium-cg-mac/fast/writing-mode/japanese-rl-text-with-broken-font-expected.png: Added.
  • platform/chromium-cg-mac/fast/writing-mode/japanese-rl-text-with-broken-font-expected.txt: Added.
  • platform/chromium-linux-x86/fast/borders/border-image-scrambled-expected.png: Added.
  • platform/chromium-linux-x86/fast/borders/border-image-scrambled-expected.txt: Added.
  • platform/chromium-linux/fast/borders/border-image-scrambled-expected.png: Added.
  • platform/chromium-linux/fast/borders/border-image-scrambled-expected.txt: Added.
  • platform/chromium-win-vista/fast/borders/border-image-scrambled-expected.png: Added.
  • platform/chromium-win-vista/fast/borders/border-image-scrambled-expected.txt: Added.
  • platform/chromium-win-xp/fast/borders/border-image-scrambled-expected.png: Added.
  • platform/chromium-win-xp/fast/borders/border-image-scrambled-expected.txt: Added.
  • platform/chromium/test_expectations.txt:
15:31 Changeset [95130] by andersca@apple.com
  • 10 edits
    4 deletes in trunk/Source

Get rid of WebCoreViewFactory and its WebViewFactory subclass
https://bugs.webkit.org/show_bug.cgi?id=68124

Reviewed by Sam Weinig.

../WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/mac/FrameSelectionMac.mm:
  • page/mac/FrameMac.mm:
  • page/mac/WebCoreViewFactory.h: Removed.
  • page/mac/WebCoreViewFactory.m: Removed.

../WebKit:

  • WebKit.xcodeproj/project.pbxproj:

../WebKit/mac:

  • WebCoreSupport/WebContextMenuClient.mm:
  • WebCoreSupport/WebViewFactory.h: Removed.
  • WebCoreSupport/WebViewFactory.mm: Removed.
  • WebView/WebFrameView.mm:

(-[WebFrameView initWithFrame:]):

15:24 Changeset [95129] by hyatt@apple.com
  • 8 edits
    6 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=52736

Tiles were not being properly centered within border image sides for the "repeat"
keyword. This patch fixes the buggy math behind the pattern tiling to actually get
the initial phases correct.

Source/WebCore:

Reviewed by Sam Weinig.

Added new tests in fast/borders and updated broken existing tests.

  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):

LayoutTests:

Reviewed by Sam Weinig.

  • fast/borders/border-image-massive-scale.html: Added.
  • fast/borders/border-image-scaled-gradient.html: Added.
  • platform/mac/fast/borders/border-image-massive-scale-expected.png: Added.
  • platform/mac/fast/borders/border-image-massive-scale-expected.txt: Added.
  • platform/mac/fast/borders/border-image-outset-expected.png:
  • platform/mac/fast/borders/border-image-outset-in-shorthand-expected.png:
  • platform/mac/fast/borders/border-image-outset-split-inline-expected.png:
  • platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.png:
  • platform/mac/fast/borders/border-image-scaled-gradient-expected.png: Added.
  • platform/mac/fast/borders/border-image-scaled-gradient-expected.txt: Added.
  • platform/mac/fast/borders/border-image-side-reduction-expected.png:
15:14 Changeset [95128] by andersca@apple.com
  • 10 edits
    1 delete in trunk/Source/WebCore

Remove DocTypeStrings.gperf
https://bugs.webkit.org/show_bug.cgi?id=68119

Reviewed by Sam Weinig.

  • CMakeLists.txt:
  • CodeGenerators.pri:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • html/DocTypeStrings.gperf: Removed.
  • make-hash-tools.pl:
  • platform/HashTools.h:
15:04 Changeset [95127] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

DFG should not speculate that the child of LogicalNot is a boolean if
predictions tell us otherwise
https://bugs.webkit.org/show_bug.cgi?id=68118

Reviewed by Geoffrey Garen.

  • dfg/DFGJITCodeGenerator.cpp:

(JSC::DFG::JITCodeGenerator::nonSpeculativeLogicalNot):

  • dfg/DFGJITCodeGenerator.h:
  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

14:58 Changeset [95126] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Change mousedown events to keydown events, since eventSender.mouseDown
wasn't firing onmousedown events on Mac.
https://bugs.webkit.org/show_bug.cgi?id=67960

Patch by Jeremy Apthorp <jeremya@chromium.org> on 2011-09-14
Reviewed by Adam Barth.

  • fullscreen/full-screen-remove-ancestor-during-transition.html:
14:39 Changeset [95125] by senorblanco@chromium.org
  • 1 edit in branches/chromium/874/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp

Merge 94982 - [chromium] Prevent a crash when tearing down an ImageBuffer that was not successfully initialized.
https://bugs.webkit.org/show_bug.cgi?id=67944

Patch by Jeff Timanus <twiz@chromium.org> on 2011-09-12
Reviewed by Stephen White.

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::~ImageBuffer):

TBR=twiz@chromium.org
Review URL: http://codereview.chromium.org/7888057

14:39 Changeset [95124] by crogers@google.com
  • 2 edits in trunk/Source/WebCore

Address lifetime issues in OfflineAudioDestinationNode (take 2)
https://bugs.webkit.org/show_bug.cgi?id=68111

Reviewed by Kenneth Russell.

No new tests. This fixes existing layout tests.

  • webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::startRendering):
(WebCore::OfflineAudioDestinationNode::render):

14:33 Changeset [95123] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/chromium

Fix Chromium build.

  • src/ResourceHandle.cpp:
14:29 Changeset [95122] by adachan@apple.com
  • 10 edits
    2 adds in trunk

Source/WebKit2: Implement WKBundleFrameCopyWebArchive().
http://bugs.webkit.org/show_bug.cgi?id=67857

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData().

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here.

Tools: Add test for WKBundleFrameCopyWebArchive().
https://bugs.webkit.org/show_bug.cgi?id=67857

Reviewed by Anders Carlsson.

  • TestWebKitAPI/Tests/WebKit2/WebArchive.cpp: Added.

(TestWebKitAPI::didReceiveMessageFromInjectedBundle): Do some basic sanity checks to make sure
the returned data is a valid webarchive.
(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST): Load simple.html in a WebView. Wait for it to finish loading, and then ask the
injected bundle for the webarchive and check the returned webarchive.

  • TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp: Added.

(TestWebKitAPI::WebArchiveTest::WebArchiveTest):
(TestWebKitAPI::WebArchiveTest::didReceiveMessage): Handle the "GetWebArchive" message and return
the web archive.

Add files to project.

  • TestWebKitAPI/win/TestWebKitAPI.vcproj: Also let Visual Studio reorder a file.
  • TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
14:15 Changeset [95121] by hyatt@apple.com
  • 91 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=68103

Centered portions of border images don't render correctly. Make the tile scale factor have to be
explicitly passed in and modify paintNinePieceImage to compute it for all sides. The attempts to
implicitly compute the scale for the pattern based off the source and destination rects just don't
work, since the center image rects don't provide the right information to be able to infer the
scale factor.

Reviewed by Sam Weinig.

Reset all the existing fast/borders pixel results to Lion for these changes.

Source/WebCore:

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawTiledImage):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):

  • platform/graphics/Image.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

  • platform/mac/fast/borders/bidi-002-expected.png:
  • platform/mac/fast/borders/bidi-009a-expected.png:
  • platform/mac/fast/borders/bidi-012-expected.png:
  • platform/mac/fast/borders/block-mask-overlay-image-expected.png:
  • platform/mac/fast/borders/border-antialiasing-expected.png:
  • platform/mac/fast/borders/border-color-inherit-expected.png:
  • platform/mac/fast/borders/border-fit-expected.png:
  • platform/mac/fast/borders/border-image-01-expected.png:
  • platform/mac/fast/borders/border-image-border-radius-expected.png:
  • platform/mac/fast/borders/border-image-longhand-expected.png:
  • platform/mac/fast/borders/border-image-omit-right-slice-expected.png:
  • platform/mac/fast/borders/border-image-outset-expected.png:
  • platform/mac/fast/borders/border-image-outset-in-shorthand-expected.png:
  • platform/mac/fast/borders/border-image-repeat-expected.png:
  • platform/mac/fast/borders/border-image-rotate-transform-expected.png:
  • platform/mac/fast/borders/border-image-scale-transform-expected.png:
  • platform/mac/fast/borders/border-image-scaled-expected.png:
  • platform/mac/fast/borders/border-image-scrambled-expected.png:
  • platform/mac/fast/borders/border-image-slices-expected.png:
  • platform/mac/fast/borders/border-image-source-expected.png:
  • platform/mac/fast/borders/border-radius-circle-expected.png:
  • platform/mac/fast/borders/border-radius-constraints-expected.png:
  • platform/mac/fast/borders/border-radius-different-width-001-expected.png:
  • platform/mac/fast/borders/border-radius-groove-01-expected.png:
  • platform/mac/fast/borders/border-radius-groove-02-expected.png:
  • platform/mac/fast/borders/border-radius-groove-03-expected.png:
  • platform/mac/fast/borders/border-radius-huge-assert-expected.png:
  • platform/mac/fast/borders/border-radius-inline-flow-expected.png:
  • platform/mac/fast/borders/border-radius-inset-outset-expected.png:
  • platform/mac/fast/borders/border-radius-split-inline-expected.png:
  • platform/mac/fast/borders/border-radius-wide-border-01-expected.png:
  • platform/mac/fast/borders/border-radius-wide-border-02-expected.png:
  • platform/mac/fast/borders/border-radius-wide-border-03-expected.png:
  • platform/mac/fast/borders/border-radius-wide-border-04-expected.png:
  • platform/mac/fast/borders/border-styles-split-expected.png:
  • platform/mac/fast/borders/borderRadiusAllStylesAllCorners-expected.png:
  • platform/mac/fast/borders/borderRadiusArcs01-expected.png:
  • platform/mac/fast/borders/borderRadiusDashed01-expected.png:
  • platform/mac/fast/borders/borderRadiusDashed02-expected.png:
  • platform/mac/fast/borders/borderRadiusDashed03-expected.png:
  • platform/mac/fast/borders/borderRadiusDashed04-expected.png:
  • platform/mac/fast/borders/borderRadiusDashed05-expected.png:
  • platform/mac/fast/borders/borderRadiusDashed06-expected.png:
  • platform/mac/fast/borders/borderRadiusDotted01-expected.png:
  • platform/mac/fast/borders/borderRadiusDotted02-expected.png:
  • platform/mac/fast/borders/borderRadiusDotted03-expected.png:
  • platform/mac/fast/borders/borderRadiusDotted04-expected.png:
  • platform/mac/fast/borders/borderRadiusDotted05-expected.png:
  • platform/mac/fast/borders/borderRadiusDotted06-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble01-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble02-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble03-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble04-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble05-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble06-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble07-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble08-expected.png:
  • platform/mac/fast/borders/borderRadiusDouble09-expected.png:
  • platform/mac/fast/borders/borderRadiusGroove01-expected.png:
  • platform/mac/fast/borders/borderRadiusGroove02-expected.png:
  • platform/mac/fast/borders/borderRadiusInset01-expected.png:
  • platform/mac/fast/borders/borderRadiusInvalidColor-expected.png:
  • platform/mac/fast/borders/borderRadiusOutset01-expected.png:
  • platform/mac/fast/borders/borderRadiusRidge01-expected.png:
  • platform/mac/fast/borders/borderRadiusSolid01-expected.png:
  • platform/mac/fast/borders/borderRadiusSolid02-expected.png:
  • platform/mac/fast/borders/borderRadiusSolid03-expected.png:
  • platform/mac/fast/borders/borderRadiusSolid04-expected.png:
  • platform/mac/fast/borders/different-color-borders-expected.png:
  • platform/mac/fast/borders/fieldsetBorderRadius-expected.png:
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.png:
  • platform/mac/fast/borders/mixed-border-styles-expected.png:
  • platform/mac/fast/borders/mixed-border-styles-radius-expected.png:
  • platform/mac/fast/borders/mixed-border-styles-radius2-expected.png:
  • platform/mac/fast/borders/outline-alpha-block-expected.png:
  • platform/mac/fast/borders/outline-alpha-inline-expected.png:
  • platform/mac/fast/borders/outline-offset-min-assert-expected.png:
  • platform/mac/fast/borders/rtl-border-01-expected.png:
  • platform/mac/fast/borders/rtl-border-02-expected.png:
  • platform/mac/fast/borders/rtl-border-03-expected.png:
  • platform/mac/fast/borders/rtl-border-04-expected.png:
  • platform/mac/fast/borders/rtl-border-05-expected.png:
  • platform/mac/fast/borders/table-borders-expected.png:
  • platform/mac/fast/borders/webkit-border-radius-expected.png:
14:03 Changeset [95120] by andersca@apple.com
  • 9 edits in trunk/Source/WebCore

Get rid of ResourceHandle::bufferedData()
https://bugs.webkit.org/show_bug.cgi?id=68112

Reviewed by David Hyatt.

ResourceHandle::bufferedData() was only implemented on Mac, and the support in the underlying
NSURLConnection class hasn't been there for several OS releases.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::resourceData):
(WebCore::ResourceLoader::addData):

  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:
  • platform/network/curl/ResourceHandleCurl.cpp:
  • platform/network/mac/ResourceHandleMac.mm:
  • platform/network/qt/ResourceHandleQt.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:
  • platform/network/win/ResourceHandleWin.cpp:
13:59 Changeset [95119] by ossy@webkit.org
  • 2 edits in trunk

[GTK] Unreviewed buildfix after r95107.

  • configure.ac:
13:58 Changeset [95118] by rniwa@webkit.org
  • 5 edits in trunk/Tools

committers.py should support multiple IRC nicknames
https://bugs.webkit.org/show_bug.cgi?id=68110

Reviewed by Eric Seidel.

Add multiple IRC nickname support to committers.py

  • Scripts/webkitpy/common/config/committers.py:
  • Scripts/webkitpy/common/config/committers_unittest.py:
  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/sheriff.py:
13:51 Changeset [95117] by ossy@webkit.org
  • 3 edits in trunk/Source/WebCore

REGRESSION: r95108 broke Qt Linux tests
https://bugs.webkit.org/show_bug.cgi?id=68104

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-09-14
Reviewed by Csaba Osztrogonác.

No new tests.

Build fix for Qt tests broken in r95108.

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
(JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
(JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):

  • bridge/qt/qt_runtime.h:
13:48 Changeset [95116] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix. Turn off tiered compilation.

  • wtf/Platform.h:
13:35 Changeset [95115] by fpizlo@apple.com
  • 14 edits
    2 adds in trunk/Source/JavaScriptCore

Prediction tracking is not precise enough
https://bugs.webkit.org/show_bug.cgi?id=67993

Reviewed by Oliver Hunt.

Added a richer set of type predictions, including JSFinalObject, JSString,
object that is not a JSFinalObject or JSArray (ObjectOther), some object
but we don't or care know what kind (SomeObject), definitely an object,
cell that is not an object or JSString, an value that is none of the above
(so either Undefined or Null). Made the propagator and value profiler work
with the new types.

Performance is neutral, because the DFG JIT does not take advantage of this
new knowledge yet.

In the process of writing predictionToString() (which is now considerably
more complex) I decided to finally add a BoundsCheckedPointer, which
should come in handy in other places, like at least the OSR scratch buffer
and the CompactJITCodeMap. It's great for cases where you want to
do pointer arithmetic, you want to have assertions about the
pointer not going out of bounds, but you don't want to write those
assertions yourself.

This also required refactoring inherits(), since the ValueProfiler may
want to do the equivalent of inherits() but given two ClassInfo's.

(JSC::predictionToString):
(JSC::makePrediction):
(JSC::predictionFromValue):

  • bytecode/PredictedType.h:

(JSC::isCellPrediction):
(JSC::isObjectPrediction):
(JSC::isFinalObjectPrediction):
(JSC::isStringPrediction):
(JSC::mergePredictions):

  • bytecode/ValueProfile.h:

(JSC::ValueProfile::numberOfObjects):
(JSC::ValueProfile::numberOfFinalObjects):
(JSC::ValueProfile::numberOfStrings):
(JSC::ValueProfile::probabilityOfObject):
(JSC::ValueProfile::probabilityOfFinalObject):
(JSC::ValueProfile::probabilityOfString):
(JSC::ValueProfile::dump):
(JSC::ValueProfile::Statistics::Statistics):
(JSC::ValueProfile::computeStatistics):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::stronglyPredict):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::predictArgumentTypes):

  • dfg/DFGNode.h:

(JSC::DFG::Node::predict):

  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::propagateNode):

  • runtime/ClassInfo.h:

(JSC::ClassInfo::isSubClassOf):

  • runtime/JSObject.h:

(JSC::JSCell::inherits):

  • wtf/BoundsCheckedPointer.h: Added.

(WTF::BoundsCheckedPointer::BoundsCheckedPointer):
(WTF::BoundsCheckedPointer::operator=):
(WTF::BoundsCheckedPointer::operator+=):
(WTF::BoundsCheckedPointer::operator-=):
(WTF::BoundsCheckedPointer::operator+):
(WTF::BoundsCheckedPointer::operator-):
(WTF::BoundsCheckedPointer::operator++):
(WTF::BoundsCheckedPointer::operator--):
(WTF::BoundsCheckedPointer::operator<):
(WTF::BoundsCheckedPointer::operator<=):
(WTF::BoundsCheckedPointer::operator>):
(WTF::BoundsCheckedPointer::operator>=):
(WTF::BoundsCheckedPointer::operator==):
(WTF::BoundsCheckedPointer::operator!=):
(WTF::BoundsCheckedPointer::operator!):
(WTF::BoundsCheckedPointer::get):
(WTF::BoundsCheckedPointer::operator*):
(WTF::BoundsCheckedPointer::operator[]):
(WTF::BoundsCheckedPointer::strcat):
(WTF::BoundsCheckedPointer::validate):

  • wtf/CMakeLists.txt:
13:12 Changeset [95114] by jamesr@google.com
  • 3 edits in trunk/Source/WebCore

[skia] fast/canvas/setWidthResetAfterForcedRender is flaky
https://bugs.webkit.org/show_bug.cgi?id=67955

Reviewed by Stephen White.

When destroying an ImageBuffer due to a canvas resize, we weren't clearing the texture ID on the layer,
resulting in future compositor draw calls binding an invalid texture. This results in the test failing and
possibly drawing from a bad texture.

Covered by fast/canvas/setWidthResetAfterForcedRender.html in the GPU configuration.

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::drawsContent)

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::~ImageBuffer):

13:05 Changeset [95113] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Web Process doesn't need a permission to look up WebProcess service any more
https://bugs.webkit.org/show_bug.cgi?id=68101

Reviewed by Anders Carlsson.

  • WebProcess/com.apple.WebProcess.sb:
13:02 Changeset [95112] by eric@webkit.org
  • 7 edits in trunk

Remove ENABLE_SVG_USE as <use> is required by HTML5
https://bugs.webkit.org/show_bug.cgi?id=68019

Reviewed by Ryosuke Niwa.

I missed a couple uses of SVG_USE in my previous patch.

Source/WebCore:

  • dom/DOMImplementation.cpp:

(WebCore::isSVG10Feature):
(WebCore::isSVG11Feature):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):

  • svg/SVGUseElement.h:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
12:25 Changeset [95111] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

Update media-controls.js so it can find the timeline slider
https://bugs.webkit.org/show_bug.cgi?id=68034

Don't assume that all elements in the media controller shadow DOM pseudo
elements are siblings.

Reviewed by Darin Adler.

  • media/media-controls.js:

(mediaConrolsElement):
(mediaControlsButtonCoordinates):

12:10 Changeset [95110] by ossy@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Qt] Win32 builds with threads turned off
https://bugs.webkit.org/show_bug.cgi?id=67864

Reviewed by Geoffrey Garen.

  • JavaScriptCore.pri: Link pthread library on Windows platform.
  • wtf/Platform.h: Enable multiple threads.
12:00 Changeset [95109] by jonlee@apple.com
  • 4 edits in trunk/Tools

Implement globalFlag for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=68033
<rdar://problem/10119204>

Reviewed by Sam Weinig.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Porting globalFlag from DRT
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::LayoutTestController): initialize m_globalFlag to false

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h: add m_globalFlag

(WTR::LayoutTestController::globalFlag): simple getter
(WTR::LayoutTestController::setGlobalFlag): simple setter

11:55 Changeset [95108] by mhahnenberg@apple.com
  • 81 edits in trunk/Source

Unzip initialization lists and constructors in JSCell hierarchy (6/7)
https://bugs.webkit.org/show_bug.cgi?id=67692

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Completed the sixth level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the fifth level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one. Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::JSCallbackFunction):

  • API/JSCallbackFunction.h:

(JSC::JSCallbackFunction::create):

  • jsc.cpp:

(GlobalObject::create):
(GlobalObject::GlobalObject):

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::ArrayConstructor):

  • runtime/ArrayConstructor.h:

(JSC::ArrayConstructor::create):

  • runtime/BooleanConstructor.cpp:

(JSC::BooleanConstructor::BooleanConstructor):

  • runtime/BooleanConstructor.h:

(JSC::BooleanConstructor::create):

  • runtime/BooleanPrototype.cpp:

(JSC::BooleanPrototype::BooleanPrototype):

  • runtime/BooleanPrototype.h:

(JSC::BooleanPrototype::create):

  • runtime/DateConstructor.cpp:

(JSC::DateConstructor::DateConstructor):

  • runtime/DateConstructor.h:

(JSC::DateConstructor::create):

  • runtime/DatePrototype.cpp:

(JSC::DatePrototype::DatePrototype):

  • runtime/DatePrototype.h:

(JSC::DatePrototype::create):

  • runtime/Error.cpp:

(JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
(JSC::StrictModeTypeErrorFunction::create):

  • runtime/ErrorConstructor.cpp:

(JSC::ErrorConstructor::ErrorConstructor):

  • runtime/ErrorConstructor.h:

(JSC::ErrorConstructor::create):

  • runtime/FunctionConstructor.cpp:

(JSC::FunctionConstructor::FunctionConstructor):

  • runtime/FunctionConstructor.h:

(JSC::FunctionConstructor::create):

  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::FunctionPrototype):

  • runtime/FunctionPrototype.h:

(JSC::FunctionPrototype::create):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::NativeErrorConstructor):

  • runtime/NativeErrorConstructor.h:

(JSC::NativeErrorConstructor::create):

  • runtime/NativeErrorPrototype.cpp:

(JSC::NativeErrorPrototype::NativeErrorPrototype):
(JSC::NativeErrorPrototype::finishCreation):

  • runtime/NativeErrorPrototype.h:

(JSC::NativeErrorPrototype::create):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::NumberConstructor):

  • runtime/NumberConstructor.h:

(JSC::NumberConstructor::create):

  • runtime/NumberPrototype.cpp:

(JSC::NumberPrototype::NumberPrototype):

  • runtime/NumberPrototype.h:

(JSC::NumberPrototype::create):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::ObjectConstructor):

  • runtime/ObjectConstructor.h:

(JSC::ObjectConstructor::create):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::RegExpConstructor):

  • runtime/RegExpConstructor.h:

(JSC::RegExpConstructor::create):

  • runtime/RegExpPrototype.cpp:

(JSC::RegExpPrototype::RegExpPrototype):

  • runtime/RegExpPrototype.h:

(JSC::RegExpPrototype::create):

  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::StringConstructor):

  • runtime/StringConstructor.h:

(JSC::StringConstructor::create):

  • runtime/StringObjectThatMasqueradesAsUndefined.h:

(JSC::StringObjectThatMasqueradesAsUndefined::create):
(JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::StringPrototype):

  • runtime/StringPrototype.h:

(JSC::StringPrototype::create):

Source/JavaScriptGlue:

Completed the sixth level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the fifth level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one. Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

  • JSRun.cpp:

(JSGlueGlobalObject::JSGlueGlobalObject):

  • JSRun.h:

(JSGlueGlobalObject::create):

Source/WebCore:

No new tests.

Completed the sixth level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the fifth level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one. Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.h:

(WebCore::DOMConstructorObject::DOMConstructorObject):
(WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
(WebCore::DOMConstructorWithDocument::finishCreation):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::finishCreation):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSWorkerContextBase.cpp:

(WebCore::JSWorkerContextBase::JSWorkerContextBase):
(WebCore::JSWorkerContextBase::finishCreation):

  • bindings/js/JSWorkerContextBase.h:
  • bindings/scripts/CodeGeneratorJS.pm:

Added a finishCreation declaration and Moved the finishCreation call into the
create method for all classes except for subclasses of JSWorkerContextBase and
JSDOMWindowBase because those classes are on the next level, and it's easier
to do all of these classes in one fell swoop rather than level by level.
(GenerateHeader):
Added the implementation of the finishCreation method for the classes described above.
(GenerateImplementation):
Also added the finishCreation calls to the autogenerated DOM constructor classes.
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::create):
(WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
(WebCore::JSTestInterfaceConstructor::finishCreation):
(WebCore::JSTestInterface::JSTestInterface):
(WebCore::JSTestInterface::finishCreation):

  • bindings/scripts/test/JS/JSTestInterface.h:

(WebCore::JSTestInterface::create):
(WebCore::JSTestInterfacePrototype::create):
(WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::create):
(WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
(WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
(WebCore::JSTestMediaQueryListListener::finishCreation):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(WebCore::JSTestMediaQueryListListener::create):
(WebCore::JSTestMediaQueryListListenerPrototype::create):
(WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::create):
(WebCore::JSTestObjConstructor::JSTestObjConstructor):
(WebCore::JSTestObjConstructor::finishCreation):
(WebCore::JSTestObj::JSTestObj):
(WebCore::JSTestObj::finishCreation):

  • bindings/scripts/test/JS/JSTestObj.h:

(WebCore::JSTestObj::create):
(WebCore::JSTestObjPrototype::create):
(WebCore::JSTestObjPrototype::JSTestObjPrototype):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
(WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
(WebCore::JSTestSerializedScriptValueInterface::finishCreation):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(WebCore::JSTestSerializedScriptValueInterface::create):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):

  • bridge/c/CRuntimeObject.cpp:

(JSC::Bindings::CRuntimeObject::CRuntimeObject):

  • bridge/c/CRuntimeObject.h:

(JSC::Bindings::CRuntimeObject::create):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
(JSC::Bindings::CRuntimeMethod::finishCreation):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaRuntimeMethod::JavaRuntimeMethod):
(JavaRuntimeMethod::finishCreation):

  • bridge/jni/jsc/JavaRuntimeObject.cpp:

(JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):

  • bridge/jni/jsc/JavaRuntimeObject.h:

(JSC::Bindings::JavaRuntimeObject::create):

  • bridge/objc/ObjCRuntimeObject.h:

(JSC::Bindings::ObjCRuntimeObject::create):

  • bridge/objc/ObjCRuntimeObject.mm:

(JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::ObjCRuntimeMethod):
(ObjCRuntimeMethod::finishCreation):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtRuntimeObject::create):
(JSC::Bindings::QtRuntimeObject::QtRuntimeObject):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::QtPixmapRuntimeObject::create):
(JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
(JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
(JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
(JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
(JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):

  • bridge/qt/qt_runtime.h:

(JSC::Bindings::QtRuntimeMetaMethod::create):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::RuntimeMethod):

  • bridge/runtime_method.h:

(JSC::RuntimeMethod::create):

Source/WebKit/mac:

Completed the sixth level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the fifth level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one. Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
(WebKit::ProxyRuntimeMethod::finishCreation):

Source/WebKit2:

Completed the sixth level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the fifth level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one. Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::JSNPMethod::JSNPMethod):

  • WebProcess/Plugins/Netscape/JSNPMethod.h:

(WebKit::JSNPMethod::create):

11:49 Changeset [95107] by eric@webkit.org
  • 24 edits in trunk

Remove ENABLE_SVG_USE as <use> is required by HTML5
https://bugs.webkit.org/show_bug.cgi?id=68019

Reviewed by Ryosuke Niwa.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsWinCE.cmake:
  • Source/cmakeconfig.h.cmake:
  • configure.ac:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • GNUmakefile.am:
  • features.pri:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/build-webkit:
  • waf/build/settings.py:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
11:47 Changeset [95106] by caryclark@google.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed; new baselines (Skia on Mac)
Updated reference images (missed this one on the prior land)

  • platform/chromium-mac/svg/custom/simple-text-double-shadow-expected.png: Added.
11:46 Changeset [95105] by caryclark@google.com
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed; new baselines (Skia on Mac)
Updated reference images.

  • platform/chromium-mac/fast/writing-mode/broken-ideographic-font-expected.png: Removed.
  • platform/chromium-mac/svg/custom/simple-text-double-shadow-expected.png: Added.
11:41 Changeset [95104] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

MediaPlayerPrivateAVFoundationObjC's "periodic time observer" is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=68056

MediaPlayerPrivateAVFoundationObjC creates a "periodic time observer" not because it wants
periodic callbacks, but because a time observer also fires whenever a seek completes. This is
no longer necessary because it now uses but AVPlayerItem's
-seekToTime:toleranceBefore:toleranceAfter:completionHandler to seek, so seek completions are
always notified.

Reviewed by Darin Adler.

No new tests, code removed is tested by existing tests.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):

11:35 Changeset [95103] by bdakin@apple.com
  • 4 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=68054
Return an image scale factor as well as an Image* from CachedImage::brokenImage()

Reviewed by Darin Adler.

CachedImage::brokenImage() now returns a pair<Image*, float> where the float
represents the image's scale factor. This is important because currently, the
broken image will either be only 1x or 2x, but a deviceScaleFactor could
theoretically be something different (1.5, 3, etc). So it is not safe to assume
that the image's scale factor is equivalent to the deviceScaleFactor, and
hardcoding 2 for now is lame.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::brokenImage):
(WebCore::CachedImage::image):

  • loader/cache/CachedImage.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):
(WebCore::RenderImage::paintReplaced):

11:27 Changeset [95102] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

video-error-abort.html shouldn't be in Mac skipped list
https://bugs.webkit.org/show_bug.cgi?id=68053
<rdar://problem/6710625> Test media/video-error-abort.html doesn't work

Reviewed by Darin Adler.

  • platform/mac/Skipped: Remove http/tests/media/video-error-abort.html from the mac

skipped list.

11:05 Changeset [95101] by senorblanco@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening.

Removing fast/canvas/setWidthResetAfterForcedRender.html from
test_expectations, since it has been passing on the Mesa bots
(last failure was at r94962).

11:02 Changeset [95100] by jamesr@google.com
  • 34 edits
    3 adds in trunk

[chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=67440

Reviewed by Kenneth Russell.

This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
to make sure that textures are deleted even if the page is not visible. This move also removed the need for
LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well. That meant moving the
layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.

Covered by existing compositing/ tests and
platform/chromium/compositor/lost-compositor-context-with-rendersurface.html

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):

  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::highLimitBytes):
(WebCore::TextureManager::reclaimLimitBytes):
(WebCore::TextureManager::lowLimitBytes):

  • platform/graphics/chromium/TextureManager.h:
  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::deleteContentsTextures):
(WebCore::CCLayerTreeHost::commitTo):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::contentsTextureManager):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::setVisible):

  • platform/graphics/chromium/cc/CCProxy.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::stop):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):

  • platform/graphics/chromium/cc/CCThreadProxy.h:
10:58 Changeset [95099] by hyatt@apple.com
  • 4 edits
    3 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=68040

Make sure border image sub-properties can be specified in any order.

Reviewed by Beth Dakin.

Source/WebCore:

New tests in fast/borders.

  • css/CSSParser.cpp:

(WebCore::BorderImageParseContext::BorderImageParseContext):
(WebCore::BorderImageParseContext::canAdvance):
(WebCore::BorderImageParseContext::setCanAdvance):
(WebCore::BorderImageParseContext::allowCommit):
(WebCore::BorderImageParseContext::allowImage):
(WebCore::BorderImageParseContext::allowImageSlice):
(WebCore::BorderImageParseContext::allowSlash):
(WebCore::BorderImageParseContext::requireWidth):
(WebCore::BorderImageParseContext::requireOutset):
(WebCore::BorderImageParseContext::commitImage):
(WebCore::BorderImageParseContext::commitImageSlice):
(WebCore::BorderImageParseContext::commitSlash):
(WebCore::BorderImageParseContext::commitBorderWidth):
(WebCore::BorderImageParseContext::commitBorderOutset):
(WebCore::BorderImageParseContext::commitRepeat):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::CSSParser::parseBorderImageSlice):
(WebCore::CSSParser::parseBorderImageQuad):

  • css/CSSParserValues.h:

(WebCore::CSSParserValueList::previous):

LayoutTests:

  • fast/borders/border-image-scrambled.html: Added.
  • platform/mac/fast/borders/border-image-scrambled-expected.png: Added.
  • platform/mac/fast/borders/border-image-scrambled-expected.txt: Added.
10:16 Changeset [95098] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Remove Jan Erik Hanssen (added in my r95078) from the list for now
since I can't confirm acceptable his committership.

  • Scripts/webkitpy/common/config/committers.py:
10:04 Changeset [95097] by reed@google.com
  • 2 edits in trunk/Source/WebCore

query SystemParametersInfo for GDI font smoothing settings
https://bugs.webkit.org/show_bug.cgi?id=68080

Reviewed by Stephen White.

No new tests. fixes antialiasing issues based on User settings

  • platform/graphics/skia/SkiaFontWin.cpp:

(WebCore::getDefaultGDITextFlags):
(WebCore::setupPaintForFont):

09:45 Changeset [95096] by hyatt@apple.com
  • 10 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=68050

Regressions in some layout tests from making border/mask/reflection nine-piece-image
parsing match the spec, which allows any of the pieces to be omitted and to also be
specifiable in any order.

When the higher level code suddenly allowed the image slices to be omitted, the fixup
for legacy compatibility for reflections and masks in the parseBorderImageSlice function
no longer happened because that function no longer got called.

The fix is to properly set the defaults to include the "fill" keyword, so the fixup is
applied to the NinePieceImages you create before you ever map anything in from the rules.

This also has the side effect of fixing -webkit-max-box-image-slice to actually dump as
"0 fill" instead of just "0", which is the correct initial value for this property.

Reviewed by Adam Roben.

Source/WebCore:

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBorderImageSlice):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

  • rendering/style/StyleReflection.h:

(WebCore::StyleReflection::StyleReflection):

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
09:27 Changeset [95095] by loislo@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. timeline-animation-frame.html was marked as TEXT.

  • platform/qt/test_expectations.txt:
08:54 Changeset [95094] by loislo@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. timeline-animation-frame.html was marked as TIMEOUT.

  • platform/qt/test_expectations.txt:
08:09 Changeset [95093] by pfeldman@chromium.org
  • 6 edits in trunk/Source/WebCore

2011-09-13 Pavel Feldman <pfeldman@google.com>

Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
https://bugs.webkit.org/show_bug.cgi?id=67997

We should not instrument frameDestroyed event from within Frame's destructor
since frame's m_page pointer is likely to be 0 by that time and appropriate
instrumenting agent won't be found. As a result, stale frame with its id
end up in the inspector.

This change wipes out frame binding from the inspector upon detach rather
than destroy.

Reviewed by Tony Gentilcore.

  • inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::frameDetachedImpl):
  • inspector/InspectorInstrumentation.h:
  • inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::frameDetached):
  • inspector/InspectorPageAgent.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::detachFromParent):
  • page/Frame.cpp: (WebCore::Frame::~Frame): (WebCore::Frame::detachFromPage):
  • page/Frame.h:
07:59 Changeset [95092] by pfeldman@chromium.org
  • 6 edits in trunk/Source/WebCore

2011-09-14 Pavel Feldman <pfeldman@google.com>

Not reviewed: rolling out r95089.

  • inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::frameDestroyedImpl): (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
  • inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::frameWindowDiscarded): (WebCore::InspectorInstrumentation::domContentLoadedEventFired): (WebCore::InspectorInstrumentation::loadEventFired): (WebCore::InspectorInstrumentation::didCommitLoad): (WebCore::InspectorInstrumentation::frameDestroyed):
  • inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::frameDetached): (WebCore::InspectorPageAgent::frameDestroyed):
  • inspector/InspectorPageAgent.h:
  • page/Frame.cpp: (WebCore::Frame::~Frame):
07:56 WebKit Team edited by yoli@rim.com
Remove "WINCE port" from my name (diff)
07:34 Changeset [95091] by loislo@chromium.org
  • 17 edits
    3 adds in trunk

Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
https://bugs.webkit.org/show_bug.cgi?id=67986

Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/timeline/timeline-animation-frame.html

  • English.lproj/localizedStrings.js:
  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::callFunction):
(WebCore::V8Proxy::callFunctionWithoutFrame):
(WebCore::V8Proxy::instrumentedCallFunction):

  • bindings/v8/V8Proxy.h:
  • bindings/v8/custom/V8CustomVoidCallback.cpp:

(WebCore::invokeCallback):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::cancelCallback):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
(WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willCallFunction):
(WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
(WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
(WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
(WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):

  • inspector/TimelineRecordFactory.h:
  • inspector/front-end/TimelineAgent.js:
  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.get _recordStyles):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype._clearPanel):
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):

LayoutTests:

  • inspector/timeline/timeline-animation-frame-expected.txt: Added.
  • inspector/timeline/timeline-animation-frame.html: Added.
  • inspector/timeline/timeline-enum-stability-expected.txt:
  • platform/chromium/inspector/timeline/timeline-enum-stability-expected.txt:
  • inspector/timeline/timeline-test.js:

(initialize_Timeline.InspectorTest.performActions.step2):
(initialize_Timeline.InspectorTest.performActions):
(initialize_Timeline.InspectorTest.performActionsAndPrint):

07:20 Changeset [95090] by steveblock@google.com
  • 3 edits in trunk/Source/JavaScriptCore

HashTraits.h should include template specialization for WTF::String
https://bugs.webkit.org/show_bug.cgi?id=67851

Ensure that the template specialization for HashTraits<String> is always
picked up. (Previously it was possible to include HashSet and String but
not the correct HashTraits, so you would get an inefficient template
instantiation.)

Patch by Iain Merrick <husky@google.com> on 2011-09-14
Reviewed by Darin Adler.

  • wtf/HashTraits.h:
  • wtf/text/StringHash.h:
07:14 Changeset [95089] by pfeldman@chromium.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
https://bugs.webkit.org/show_bug.cgi?id=67997

We should not instrument frameDestroyed event from within Frame's destructor
since frame's m_page pointer is likely to be 0 by that time and appropriate
instrumenting agent won't be found. As a result, stale frame with its id
end up in the inspector.

This change wipes out frame binding from the inspector upon detach rather
than destroy + adds an assertion into the inspector agents lookup with 0 page.

Reviewed by Tony Gentilcore.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::frameDetachedImpl):
(WebCore::InspectorInstrumentation::instrumentingAgentsForPage):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::frameWindowDiscarded):
(WebCore::InspectorInstrumentation::domContentLoadedEventFired):
(WebCore::InspectorInstrumentation::loadEventFired):
(WebCore::InspectorInstrumentation::frameDetached):
(WebCore::InspectorInstrumentation::didCommitLoad):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::frameDetached):

  • inspector/InspectorPageAgent.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::detachFromParent):

  • page/Frame.cpp:

(WebCore::Frame::~Frame):
(WebCore::Frame::detachFromPage):
(WebCore::Frame::transferChildFrameToNewDocument):

  • page/Frame.h:
06:52 Changeset [95088] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/efl

[EFL] Add NULL checks to ewk_window_features_new_from_core and ewk_view_window_create.
https://bugs.webkit.org/show_bug.cgi?id=64932

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2011-09-14
Reviewed by Eric Seidel.

It prevents the crash while allocating memory for the new window.

  • ewk/ewk_view.cpp:

(ewk_view_window_create):

  • ewk/ewk_window_features.cpp:

(ewk_window_features_new_from_core):

06:41 Changeset [95087] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: fix lint-test-files error
03:06 Changeset [95086] by haraken@google.com
  • 1 edit
    1 add in trunk/LayoutTests

page-transition-event-constructor-expected.txt is missing
https://bugs.webkit.org/show_bug.cgi?id=68069

Reviewed by Hajime Morita.

  • fast/events/constructors/page-transition-event-constructor-expected.txt: Added.
02:48 Changeset [95085] by jochen@chromium.org
  • 3 edits in trunk/Tools

[chromium] Remove obsolete WebViewClient methods from DumpRenderTree.
https://bugs.webkit.org/show_bug.cgi?id=68066

Reviewed by Adam Barth.

  • DumpRenderTree/chromium/WebViewHost.cpp:
  • DumpRenderTree/chromium/WebViewHost.h:
02:41 Changeset [95084] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r95080.
http://trac.webkit.org/changeset/95080
https://bugs.webkit.org/show_bug.cgi?id=68070

It caused some 2d.composite.uncovered tests fail (Requested by
rgabor on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-14

Source/WebCore:

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::clearCanvas):
(WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):

LayoutTests:

  • fast/canvas/canvas-large-fills-expected.txt: Removed.
  • fast/canvas/canvas-large-fills.html: Removed.
02:29 Changeset [95083] by pfeldman@chromium.org
  • 4 edits
    3 adds in trunk

Web Inspector: [v8] building call frame info for location-less internal script function crashes.
https://bugs.webkit.org/show_bug.cgi?id=67991

Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/debugger/debugger-pause-in-internal.html

  • bindings/v8/DebuggerScript.js:

():

  • bindings/v8/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::currentCallFrame):

LayoutTests:

  • inspector/debugger/debugger-pause-in-internal-expected.txt: Added.
  • inspector/debugger/debugger-pause-in-internal.html: Added.
  • inspector/debugger/debugger-pause-on-exception-crash-expected.txt: Added.
  • platform/chromium/inspector/debugger/debugger-pause-in-internal-expected.txt: Added.
01:31 Changeset [95082] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expecations.

  • platform/chromium/test_expectations.txt:
01:25 Changeset [95081] by rgabor@webkit.org
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed, update test expectations for
svg/custom/dynamic-svg-document-creation.svg after r95030

  • platform/qt/svg/custom/dynamic-svg-document-creation-expected.png:
  • platform/qt/svg/custom/dynamic-svg-document-creation-expected.txt:
01:10 Changeset [95080] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Large canvas fills should not crash or create unnecessarily large image buffers
https://bugs.webkit.org/show_bug.cgi?id=67988

Source/WebCore:

When using source-in, destination-in, source-out, or destination-atop a temporary
buffer is created. This buffer only needs to be big enough to cover the intersection
of the path and the canvas.

This change also adds some null checks for failures to create contexts or buffers.

Patch by Ben Wells <benwells@chromium.org> on 2011-09-14
Reviewed by Stephen White.

Test: fast/canvas/canvas-large-fills.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::clearCanvas):
(WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):

LayoutTests:

Patch by Ben Wells <benwells@chromium.org> on 2011-09-14
Reviewed by Stephen White.

  • fast/canvas/canvas-large-fills-expected.txt: Added.
  • fast/canvas/canvas-large-fills.html: Added.
00:40 Changeset [95079] by haraken@google.com
  • 9 edits
    1 add in trunk

Implement a PageTransitionEvent constructor for JSC
https://bugs.webkit.org/show_bug.cgi?id=68048

Reviewed by Sam Weinig.

Source/WebCore:

The spec for the PageTransitionEvent constructor is here:
http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent

Test: fast/events/constructors/page-transition-event-constructor.html

  • bindings/generic/EventConstructors.h: Added a definition for the PageTransitionEvent constructor.
  • bindings/js/JSEventConstructors.cpp: Added #includes for PageTransitionEvent.
  • dom/PageTransitionEvent.cpp:

(WebCore::PageTransitionEventInit::PageTransitionEventInit):
(WebCore::PageTransitionEvent::PageTransitionEvent):
(WebCore::PageTransitionEvent::initPageTransitionEvent):

  • dom/PageTransitionEvent.h: Added a definition for PageTransitionEventInit.

(WebCore::PageTransitionEvent::create):
(WebCore::PageTransitionEvent::isPageTransitionEvent):
(WebCore::PageTransitionEvent::persisted):

  • dom/PageTransitionEvent.idl: Makes PageTransitionEvent constructible.

LayoutTests:

page-transition-event-constructor.html checks the behavior of the PageTransitionEvent constructor.

  • fast/dom/constructed-objects-prototypes-expected.txt: Added PageTransitionEvent.
  • fast/events/constructors/page-transition-event-constructor-expected.txt: Added.
  • fast/events/constructors/page-transition-event-constructor.html: Added.
  • platform/chromium/test_expectations.txt: Skipped page-transition-event-constructor.html, since V8 does not yet have the PageTransitionEvent constructor.

09/13/11:

23:58 Changeset [95078] by rniwa@webkit.org
  • 2 edits in trunk/Tools

committers.py is missing some contributors
https://bugs.webkit.org/show_bug.cgi?id=68059

Reviewed by Adam Barth.

Add David Barr, Jan Erik Hanssen, and Kim Grönholm.

Also add nicks of Alejandro G. Castro, Collin Jackson, and Matt Lilek.

  • Scripts/webkitpy/common/config/committers.py:
23:46 Changeset [95077] by ossy@webkit.org
  • 4 edits
    3 deletes in trunk

Unreviewed, rolling out r95058.
http://trac.webkit.org/changeset/95058
https://bugs.webkit.org/show_bug.cgi?id=68058

It made css3/calc/regression-62276.html crash (Requested by
Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-13

Source/WebCore:

  • css/CSSParser.cpp:

(WebCore::BorderImageParseContext::BorderImageParseContext):
(WebCore::BorderImageParseContext::allowBreak):
(WebCore::BorderImageParseContext::allowWidth):
(WebCore::BorderImageParseContext::allowOutset):
(WebCore::BorderImageParseContext::allowRepeat):
(WebCore::BorderImageParseContext::commitImage):
(WebCore::BorderImageParseContext::commitImageSlice):
(WebCore::BorderImageParseContext::commitSlash):
(WebCore::BorderImageParseContext::commitBorderWidth):
(WebCore::BorderImageParseContext::commitBorderOutset):
(WebCore::BorderImageParseContext::commitRepeat):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::CSSParser::parseBorderImageSlice):
(WebCore::CSSParser::parseBorderImageQuad):

  • css/CSSParserValues.h:

LayoutTests:

  • fast/borders/border-image-scrambled.html: Removed.
  • platform/mac/fast/borders/border-image-scrambled-expected.png: Removed.
  • platform/mac/fast/borders/border-image-scrambled-expected.txt: Removed.
23:32 Changeset [95076] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Fix webkit python test after r95061.

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
21:37 Changeset [95075] by jnd@chromium.org
  • 2 edits in trunk/Tools

Add wangxianzhu@chromium.org as a contributor.

21:19 Changeset [95074] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in RenderScrollbarPart::imageChanged.
https://bugs.webkit.org/show_bug.cgi?id=68009

Reviewed by Simon Fraser.

Source/WebCore:

When a custom scrollbar is removed from its FrameView, its destruction
can be delayed because of RefPtr maintained in EventHandler class
(m_lastScrollbarUnderMouse). Upon removal, we delete all the scrollbar
parts so that they don't link back to scrollbar. However, because of the
delay, we can have a call to updateScrollbarPart which recreates it.
When scrollbar is getting destroyed, we just check to see if there are
remaining scrollbar parts and if yes, we destroy them.

Test: scrollbars/scrollbar-part-created-with-no-parent-crash.html

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::~RenderScrollbar):

LayoutTests:

  • scrollbars/scrollbar-part-created-with-no-parent-crash-expected.txt: Added.
  • scrollbars/scrollbar-part-created-with-no-parent-crash.html: Added.
20:36 Changeset [95073] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: failures on GPU starting from r95058
19:45 Changeset [95072] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: failures starting from r95058
19:09 Changeset [95071] by adamk@chromium.org
  • 3 edits
    2 adds in trunk

Fix cssText property of counter-valued CSSPrimitiveValue and avoid uninitialized read
https://bugs.webkit.org/show_bug.cgi?id=68021

Reviewed by Tony Chang.

Source/WebCore:

Reported by valgrind in http://crbug.com/60653.

Besides fixing the uninitialized read, add support for outputting the
list separator for counters() calls and the list-style name.

Test: fast/css/counters/counter-cssText.html

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::cssText):

LayoutTests:

  • fast/css/counters/counter-cssText-expected.txt: Added.
  • fast/css/counters/counter-cssText.html: Added.
18:58 Changeset [95070] by bashi@chromium.org
  • 3 edits
    3 adds in trunk

WebFont followed tiny monospace text displays weird
https://bugs.webkit.org/show_bug.cgi?id=67996

Reviewed by Darin Adler.

Source/WebCore:

Always call wkSetCGFontRenderingMode() in Font::drawGlyphs() so that the rendering mode is set correctly.

Test: platform/mac/fast/text/webfont-after-tiny-monospace-text.html

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::drawGlyphs):

LayoutTests:

This test ensures that webfont followed tiny monospace text is displayed correctly.

  • platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.png: Added.
  • platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt: Added.
  • platform/mac/fast/text/webfont-after-tiny-monospace-text.html: Added.
18:24 Changeset [95069] by abarth@webkit.org
  • 6 edits in trunk/Tools

garden-o-matic has unfriendly error messages when the local server is not available
https://bugs.webkit.org/show_bug.cgi?id=68042

Reviewed by Dimitri Glazkov.

This patch moves us from using alert to showing the error inline in the
progress dialog.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
18:23 Changeset [95068] by abarth@webkit.org
  • 5 edits in trunk/Tools

FailureGrid in garden-o-matic should link to the builder's waterfall page
https://bugs.webkit.org/show_bug.cgi?id=68036

Reviewed by Dimitri Glazkov.

One of the users in the user study thought the configurations names in
the failure grid would link to the underlying bots. That makes sense,
so this patch adds the behavior.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/notifications.css:
18:21 Changeset [95067] by abarth@webkit.org
  • 6 edits in trunk/Tools

garden-o-matic should be able to mark failures as expected
https://bugs.webkit.org/show_bug.cgi?id=68027

Reviewed by Dimitri Glazkov.

All the back-end infrastructure exists for this operation. This patch
just adds some UI to the front-end and wires that UI up to the back
end. This exact UI will likely need some more polish, but this should
be a reasonable first cut.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
18:20 Changeset [95066] by abarth@webkit.org
  • 7 edits in trunk/Tools

garden-o-matic should tell you about the progress of your rebaseline
https://bugs.webkit.org/show_bug.cgi?id=67967

Reviewed by Dimitri Glazkov.

This patch adds ui.MessageBox, which is a light wrapper around jQuery
UI's dialog widget. We then use ui.MessageBox to show status messages
about in-progress rebaselines. As each baseline is downloaded, the
MessageBox updates. This UI replaces our temporary "alert"-based UI.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:
18:19 Changeset [95065] by commit-queue@webkit.org
  • 7 edits
    6 adds in trunk

Fix XSS auditor bypass when inline handlers contain comments.
https://bugs.webkit.org/show_bug.cgi?id=27895

Patch by Tom Sepez <tsepez@chromium.org> on 2011-09-13
Reviewed by Adam Barth.

Source/WebCore:

Tests: http/tests/security/xssAuditor/property-escape-comment.html

http/tests/security/xssAuditor/property-escape-entity.html
http/tests/security/xssAuditor/property-escape-quote.html

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::snippetForAttribute):

LayoutTests:

  • http/tests/security/xssAuditor/malformed-HTML-expected.txt:
  • http/tests/security/xssAuditor/open-attribute-body-expected.txt:
  • http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-expected.txt: Added.
  • http/tests/security/xssAuditor/property-escape-comment.html: Added.
  • http/tests/security/xssAuditor/property-escape-entity-expected.txt: Added.
  • http/tests/security/xssAuditor/property-escape-entity.html: Added.
  • http/tests/security/xssAuditor/property-escape-quote-expected.txt: Added.
  • http/tests/security/xssAuditor/property-escape-quote.html: Added.
  • http/tests/security/xssAuditor/resources/echo-property.pl:
18:13 Changeset [95064] by ukai@chromium.org
  • 2 edits
    1 add in trunk/LayoutTests

Update chromium-mac test expectations
https://bugs.webkit.org/show_bug.cgi?id=67917

Reviewed by Darin Adler.

  • platform/chromium-cg-mac-leopard/svg/custom/simple-text-double-shadow-expected.png: Added.
  • platform/chromium/test_expectations.txt:
18:05 Changeset [95063] by haraken@google.com
  • 5 edits in trunk

Implement a HashChangeEvent constructor for V8
https://bugs.webkit.org/show_bug.cgi?id=67969

Reviewed by Nate Chapin.

Source/WebCore:

Test: fast/events/constructors/hash-change-event-constructor.html

  • bindings/v8/custom/V8EventConstructors.cpp: Added the HashChangeEvent constructor.
  • dom/HashChangeEvent.idl: Added a 'V8CustomConstructor' attribute.

LayoutTests:

Enabled hash-change-event-constructor.html, since now V8 has a HashChangeEvent constructor.

  • platform/chromium/test_expectations.txt:
18:03 Changeset [95062] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

GTK DumpRenderTree uses inefficient idioms to iterate over G[S]Lists
https://bugs.webkit.org/show_bug.cgi?id=68024

Patch by Leandro Pereira <leandro@profusion.mobi> on 2011-09-13
Reviewed by Gustavo Noronha Silva.

Using g_list_count() and g_list_nth_data() together on a loop is
inneficient since they're both O(n). Iterate over lists in a saner
way.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(dumpHistoryItem): Reduce the scope for the 'kids' variable, and
iterate on it using g_list_next(). Free the list after done with it.
(dumpBackForwardListForWebView): Instead of appending (which is
expensive in GLists) history items and then iterating from the tail
of the itemsToPrint list, prepend items and walk forwards as usual.
(dumpBackForwardListForAllWebViews): Walk the list in a saner way,
remove the (unneeded) viewList variable.

18:00 Changeset [95061] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Add Eric's IRC nick.

  • Scripts/webkitpy/common/config/committers.py:
17:37 Changeset [95060] by fpizlo@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

SpeculativeJIT::shouldSpeculateInteger(NodeIndex, NodeIndex) should
return false if either node can be double
https://bugs.webkit.org/show_bug.cgi?id=67985

Reviewed by Geoffrey Garen.

This is a 17% speed-up on 3d-cube.

This required allowing us to check if a constant is double but not
integer, and making the shouldSpeculateInteger() check test for
any hints of doubly-ness in its operands. This also required
changing some terminology: previously "isDouble" often meant
"isDouble or isInt32". Now "isDouble" means exactly what the name
suggests, and "isNumber" means "isDouble or isInt32".

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::toNumber):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGGenerationInfo.h:

(JSC::DFG::isJSFormat):
(JSC::DFG::isJSInteger):
(JSC::DFG::isJSDouble):
(JSC::DFG::isJSCell):
(JSC::DFG::isJSBoolean):
(JSC::DFG::GenerationInfo::isJSFormat):
(JSC::DFG::GenerationInfo::isJSInteger):
(JSC::DFG::GenerationInfo::isJSDouble):
(JSC::DFG::GenerationInfo::isJSCell):
(JSC::DFG::GenerationInfo::isJSBoolean):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::isNumberConstant):
(JSC::DFG::Graph::valueOfNumberConstant):

  • dfg/DFGJITCodeGenerator.cpp:

(JSC::DFG::JITCodeGenerator::fillInteger):
(JSC::DFG::JITCodeGenerator::fillDouble):
(JSC::DFG::JITCodeGenerator::fillJSValue):
(JSC::DFG::JITCodeGenerator::isKnownInteger):
(JSC::DFG::JITCodeGenerator::isKnownNumeric):
(JSC::DFG::JITCodeGenerator::isKnownCell):
(JSC::DFG::JITCodeGenerator::isKnownNotInteger):
(JSC::DFG::JITCodeGenerator::isKnownBoolean):

  • dfg/DFGJITCodeGenerator.h:

(JSC::DFG::JITCodeGenerator::silentFillFPR):
(JSC::DFG::JITCodeGenerator::isNumberConstant):
(JSC::DFG::JITCodeGenerator::valueOfNumberConstant):
(JSC::DFG::JITCodeGenerator::initConstantInfo):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::fillNumericToDouble):
(JSC::DFG::JITCompiler::fillToJS):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::isNumberConstant):
(JSC::DFG::JITCompiler::valueOfNumberConstant):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isDoubleConstant):
(JSC::DFG::Node::isNumberConstant):
(JSC::DFG::Node::valueOfNumberConstant):
(JSC::DFG::Node::hasNumberResult):

  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::knownConstantArithOp):
(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::isInteger):
(JSC::DFG::SpeculativeJIT::shouldSpeculateDouble):
(JSC::DFG::SpeculativeJIT::shouldNotSpeculateInteger):
(JSC::DFG::SpeculativeJIT::shouldSpeculateInteger):

17:29 Changeset [95059] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebCore: Fix crash when an iframe element is removed during a transition to
fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=67960

Patch by Jeremy Apthorp <jeremya@google.com> on 2011-09-13
Reviewed by Adam Barth.

Test: fullscreen/full-screen-remove-ancestor-during-transition.html

  • dom/Document.cpp:

(WebCore::Document::~Document):
Clear the list of elements to which we need to send a fullscreenchange
event.

LayoutTests: Removing an iframe from the document during a transition to fullscreen
should not crash.
https://bugs.webkit.org/show_bug.cgi?id=67960

Patch by Jeremy Apthorp <jeremya@google.com> on 2011-09-13
Reviewed by Adam Barth.

  • fullscreen/full-screen-remove-ancestor-during-transition-expected.txt: Added.
  • fullscreen/full-screen-remove-ancestor-during-transition.html: Added.
17:17 Changeset [95058] by hyatt@apple.com
  • 4 edits
    3 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=68040

Make sure border image sub-properties can be specified in any order.

Reviewed by Beth Dakin.

Source/WebCore:

New tests in fast/borders.

  • css/CSSParser.cpp:

(WebCore::BorderImageParseContext::BorderImageParseContext):
(WebCore::BorderImageParseContext::canAdvance):
(WebCore::BorderImageParseContext::setCanAdvance):
(WebCore::BorderImageParseContext::allowCommit):
(WebCore::BorderImageParseContext::allowImage):
(WebCore::BorderImageParseContext::allowImageSlice):
(WebCore::BorderImageParseContext::allowSlash):
(WebCore::BorderImageParseContext::requireWidth):
(WebCore::BorderImageParseContext::requireOutset):
(WebCore::BorderImageParseContext::commitImage):
(WebCore::BorderImageParseContext::commitImageSlice):
(WebCore::BorderImageParseContext::commitSlash):
(WebCore::BorderImageParseContext::commitBorderWidth):
(WebCore::BorderImageParseContext::commitBorderOutset):
(WebCore::BorderImageParseContext::commitRepeat):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::CSSParser::parseBorderImageSlice):
(WebCore::CSSParser::parseBorderImageQuad):

  • css/CSSParserValues.h:

(WebCore::CSSParserValueList::previous):

LayoutTests:

  • fast/borders/border-image-scrambled.html: Added.
  • platform/mac/fast/borders/border-image-scrambled-expected.png: Added.
  • platform/mac/fast/borders/border-image-scrambled-expected.txt: Added.
17:05 Changeset [95057] by jeffm@apple.com
  • 2 edits in trunk/Source/WebCore

WebCore::Cursor::ensurePlatformCursor() should always set a valid platform cursor on Windows
https://bugs.webkit.org/show_bug.cgi?id=68043

Make sure we set a valid platform cursor in the Cursor::NoDrop case, and add a default
clause that uses the arrow cursor in case another cursor type is added in the future
and we forget to update ensurePlatformCursor().

Reviewed by Anders Carlsson.

  • platform/win/CursorWin.cpp:

(WebCore::Cursor::ensurePlatformCursor): Always set a valid platform cursor.

16:32 Changeset [95056] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

MSAA: WebKit reports the document state as disabled
https://bugs.webkit.org/show_bug.cgi?id=67974
<rdar://problem/10095898>

Reviewed by Brian Weinstein.

Source/WebCore:

Test: platform/win/accessibility/document-enabled-state.html

  • accessibility/AccessibilityScrollView.h:

(WebCore::AccessibilityScrollView::isEnabled):
This object backs the AccessibleDocument on Windows - always return
true for its enabled state.

LayoutTests:

  • platform/win/accessibility/document-enabled-state-expected.txt: Added.
  • platform/win/accessibility/document-enabled-state.html: Added.
16:10 Changeset [95055] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebKit/qt

[Qt] Fix state of stop/reload actions in QWebPage
https://bugs.webkit.org/show_bug.cgi?id=65977

FrameLoader does ask its DocumentLoader to stop loading subresources before
setting the state to FrameStateCommittedPage. But it does
not check if the the DocumentLoader actually stopped loading before
it changes the state.
Therefore a subresourceLoader can still be active, when we receive the
call to dispatchDidFinishLoad(). This leads to an inconsistent behavior
of the stop/reload actions in QWebPage.
This changeset fixes the inconsistent state by updating the action states
also when frameLoadCompleted() is called.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-09-13
Reviewed by Chang Shu.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::frameLoadCompleted):

15:49 Changeset [95054] by cdn@chromium.org
  • 4 edits
    2 adds in trunk

Source/WebCore: Fixes several bugs when adding CounterNodes to a tree which can cause asymetrical relationships.
https://bugs.webkit.org/show_bug.cgi?id=65996

Reviewed by Eric Seidel.

Test: fast/css/counters/counter-reparent-table-children-crash.html

  • rendering/CounterNode.cpp:

(WebCore::CounterNode::insertAfter):

  • rendering/RenderCounter.cpp:

(WebCore::findPlaceForCounter):
(WebCore::makeCounterNode):

LayoutTests: Test for crash when reparenting table elements with associated counters outside the table.
https://bugs.webkit.org/show_bug.cgi?id=65996

Reviewed by Eric Seidel.

  • fast/css/counters/counter-reparent-table-children-crash-expected.txt: Added.
  • fast/css/counters/counter-reparent-table-children-crash.html: Added.
15:41 Changeset [95053] by bdakin@apple.com
  • 2 edits in trunk/Source/WebCore

Adding a comment I forgot to add before.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):

15:38 Changeset [95052] by antti@apple.com
  • 5 edits in trunk/Source/WebCore

Move identifier filter from CSSStyleSelector to SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=68025

Reviewed by Sam Weinig.

This is a more logical place for this code. It also makes CSSStyleSelector slightly less bloated.
It will make it possible to use fastRejectSelector for querySelectorAll in the future.

  • css/CSSStyleSelector.cpp:

(WebCore::loadViewSourceStyle):
(WebCore::CSSStyleSelector::matchRulesForList):
(WebCore::RuleData::RuleData):

  • css/CSSStyleSelector.h:

(WebCore::CSSStyleSelector::pushParent):
(WebCore::CSSStyleSelector::popParent):

  • css/SelectorChecker.cpp:

(WebCore::collectElementIdentifierHashes):
(WebCore::SelectorChecker::pushParentStackFrame):
(WebCore::SelectorChecker::popParentStackFrame):
(WebCore::SelectorChecker::pushParent):
(WebCore::SelectorChecker::popParent):
(WebCore::collectDescendantSelectorIdentifierHashes):
(WebCore::SelectorChecker::collectIdentifierHashes):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::parentStackIsConsistent):
(WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
(WebCore::SelectorChecker::fastRejectSelector):

15:33 Changeset [95051] by bdakin@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Restoring a ChangeLog entry that I accidentally trampled.

15:31 Changeset [95050] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

For compatibility, execCommand should support deprecated 'useCSS' alias for 'styleWithCSS'
https://bugs.webkit.org/show_bug.cgi?id=36683

Patch by Kiyoto Tamura <owenestea@gmail.com> on 2011-09-13
Reviewed by Ryosuke Niwa.

Source/WebCore:

In addition to supporting the deprecated 'useCSS', 'styleWithCSS' now accepts any argument other than
the boolean false or the case-insensitive string "false". This is per
http://aryeh.name/spec/editing/editing.html#the-stylewithcss-command

Tests: editing/execCommand/style-with-css.html

editing/execCommand/use-css.html

  • editing/EditorCommand.cpp:

(WebCore::executeStyleWithCSS):
(WebCore::executeUseCSS):
(WebCore::createCommandMap):

LayoutTests:

Testing useCSS, the command previously unsupported by WebKit. Also, we are testing
styleWithCSS accepts anything that is not the boolean false or the string "false" as true.
Furthermore, we test that queryCommandValue/State('useCSS') return boolean false and
queryCommandValue/State('useStyleWithCSS') returns booleans (as opposed to 'true'/'false'
strings)

  • editing/execCommand/style-with-css-expected.txt: Added.
  • editing/execCommand/style-with-css.html: Added.
  • editing/execCommand/use-css-expected.txt: Added.
  • editing/execCommand/use-css.html: Added.
15:28 Changeset [95049] by andersca@apple.com
  • 16 edits in trunk

Disable C++ exceptions when building with clang
https://bugs.webkit.org/show_bug.cgi?id=68031
<rdar://problem/9556880>

Reviewed by Mark Rowe.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/JavaScriptGlue:

  • Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/WebCore:

  • Configurations/Base.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:

Tools:

  • MiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
15:17 Changeset [95048] by bdakin@apple.com
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=67885
Outline for the high-resolution broken image icon draws at 2x
-and corresponding-
<rdar://problem/10104637>

Reviewed by Dan Bernstein.

Scaled the image size to account for the deviceScaleFactor.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):

14:54 Changeset [95047] by timothy_horton@apple.com
  • 4 edits
    3 adds in trunk

REGRESSION (64275): Shape pattern-image fill turns black
https://bugs.webkit.org/show_bug.cgi?id=51061
<rdar://problem/8504705>

Reviewed by Simon Fraser.

Source/WebCore:

When destroying a resource, register clients who are losing their
resource as having pending resources, so they can be resolved in the case a
resource with that id is re-registered.

Test: svg/custom/pending-resource-after-removal.xhtml

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::resourceDestroyed):

  • svg/SVGStyledElement.h:

(WebCore::toSVGStyledElement): Added.

LayoutTests:

Add a test ensuring that replacing a SVG pattern without changing
the id causes the clients to be updated properly.

  • svg/custom/pending-resource-after-removal-expected.png: Added.
  • svg/custom/pending-resource-after-removal-expected.txt: Added.
  • svg/custom/pending-resource-after-removal.xhtml: Added.
14:50 Changeset [95046] by ojan@chromium.org
  • 3 edits in trunk/Tools

[chromium] fix flakiness dashboard for chromium interactive tests
https://bugs.webkit.org/show_bug.cgi?id=68029

Reviewed by Tony Chang.

  • TestResultServer/static-dashboards/flakiness_dashboard.html:
  • TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
14:43 Changeset [95045] by abarth@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] The checked state of WebPopupMenuItem isn't initialized
https://bugs.webkit.org/show_bug.cgi?id=67889

Reviewed by Darin Fisher.

It seems we're failing to initialize the checked state of
WebPopupMenuItems, potentially because Android is the first platform to
use popup menus for <select> elements.

  • src/ExternalPopupMenu.cpp:

(WebKit::ExternalPopupMenu::getPopupMenuInfo):

14:29 QtWebKitRelease22 edited by ademar.reis@openbossa.org
(diff)
14:08 Changeset [95044] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Add Alice and Aryeh to the list of contributors.

  • Scripts/webkitpy/common/config/committers.py:
13:59 Changeset [95043] by caryclark@google.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed; new baselines (Skia on Mac)
Updated reference images.

  • platform/chromium-gpu-mac/platform/chromium/compositing/zoom-animator-scale-test-expected.png: Added.
  • platform/chromium-gpu-mac/compositing/overflow/overflow-positioning-expected.png: Added.
13:51 Changeset [95042] by rniwa@webkit.org
  • 3 edits in trunk/Tools

sheriffbot whois should also tell us email addresses
https://bugs.webkit.org/show_bug.cgi?id=67975

Reviewed by Eric Seidel and David Levin.

Taught sheriffbot how to tell us contributor's email addresses.

  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
13:35 Changeset [95041] by caryclark@google.com
  • 1 edit
    7 adds
    1 delete in trunk/LayoutTests

Unreviewed; new baselines (Skia on Mac)
Updated reference images, text.

  • platform/chromium-mac/http/tests/eventsource/existent-eventsource-status-error-iframe-crash-expected.txt: Removed.
  • platform/chromium-mac/platform/chromium/fast/repaint: Added.
  • platform/chromium-mac/platform/chromium/fast/repaint/fixed-layout-360x240-expected.png: Added.
  • platform/chromium-mac/fast/lists/list-marker-before-content-table-expected.png: Added.
  • platform/chromium-mac/fast/runin/runin-generated-before-content-expected.png: Added.
  • platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug85016-expected.png: Added.
  • platform/chromium-mac/css3/unicode-bidi-isolate-aharon-expected.png: Added.
  • platform/chromium-mac/css3/unicode-bidi-isolate-basic-expected.png: Added.
13:19 Changeset [95040] by eric@webkit.org
  • 38 edits in trunk

Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
https://bugs.webkit.org/show_bug.cgi?id=68018

Reviewed by Ryosuke Niwa.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsWinCE.cmake:
  • Source/cmakeconfig.h.cmake:
  • configure.ac:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.exp.in:
  • dom/DOMImplementation.cpp:

(WebCore::isSVG10Feature):
(WebCore::isSVG11Feature):

  • dom/Text.cpp:

(WebCore::Text::createRenderer):

  • features.pri:
  • page/DOMWindow.idl:
  • rendering/svg/RenderSVGForeignObject.cpp:
  • rendering/svg/RenderSVGForeignObject.h:
  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::hasValidAttributeType):

  • svg/SVGForeignObjectElement.cpp:
  • svg/SVGForeignObjectElement.h:
  • svg/SVGForeignObjectElement.idl:
  • svg/SVGLocatable.cpp:

(WebCore::isViewportElement):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::isOutermostSVG):

  • svg/SVGUseElement.cpp:

(WebCore::isDisallowedElement):
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):

  • svg/svgtags.in:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/build-webkit:
  • waf/build/settings.py:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
12:26 Changeset [95039] by commit-queue@webkit.org
  • 21 edits
    1 copy
    1 add in trunk

[WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
https://bugs.webkit.org/show_bug.cgi?id=57515

Source/WebKit2:

The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.

Patch by Chang Shu <cshu@webkit.org> on 2011-09-13
Reviewed by Darin Adler.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetShouldSendKeyboardEventSynchronously):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::handleKeyboardEvent):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::keyEventSyncForTesting):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

The code change in WebKitTestRunner first sends keydown event from InjectedBundle to
TestController synchronously. The latter then sends simulated event to WebKit2 module,
which is synchronous, too.

Patch by Chang Shu <cshu@webkit.org> on 2011-09-13
Reviewed by Darin Adler.

  • WebKitTestRunner/EventSenderProxy.h: Added.

(WTR::EventSenderProxy::EventSenderProxy):

  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::keyDown):

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/PlatformWebView.h:

(WTR::PlatformWebView::platformWindow):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::TestController):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/mac/EventSenderProxy.mm: Added.

(WTR::buildModifierFlags):
(WTR::EventSenderProxy::keyDown):

LayoutTests:

Unskip passed tests for Mac.

Patch by Chang Shu <cshu@webkit.org> on 2011-09-13
Reviewed by Darin Adler.

  • platform/mac-wk2/Skipped:
  • platform/qt-wk2/Skipped:
  • platform/win-wk2/Skipped:
  • platform/wk2/Skipped:
12:24 Changeset [95038] by joepeck@webkit.org
  • 3 edits
    3 adds in trunk

<http://webkit.org/b/67983> CRASH under WebCore::ArchiveResourceCollection::addAllResources loading WebArchive

Reviewed by Darin Adler.

Source/WebCore:

Null mimetypes are okay for subresources, but as previously discovered
in bug 41082 they were required for main resources. Here we ensure
that they are required for main resources, but we allow null mimetypes
for subresources.

To fix a crash for bad input we never add a null ArchiveResource to the
Archive's subresource collection. It is useless and causes crashes whenever
someone iterates the Archive's subresource collection.

Test: webarchive/loading/test-loading-archive-subresource-null-mimetype.html

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::createResource):
Allow a null mimetype, just type check from the dictionary.

(WebCore::LegacyWebArchive::extract):
Require a mimetype for the main resource. Do not add null
subresources to the subresource list.

LayoutTests:

Test a WebArchive that has been constructed to have a null
mimetype for a subresource.

  • webarchive/loading/test-loading-archive-subresource-null-mimetype-expected.txt: Added.
  • webarchive/loading/test-loading-archive-subresource-null-mimetype.html: Added.
  • webarchive/loading/resources/subresource-null-mimetype.webarchive: Added.
12:18 Changeset [95037] by simonjam@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

2011-09-13 James Simonsen <simonjam@chromium.org>

[Chromium] Ref protect element in FrameLoaderClientImpl::createPlugin
https://bugs.webkit.org/show_bug.cgi?id=68014

Reviewed by Nate Chapin.

Test: plugins/destroy-during-npp-new.htm under valgrind

  • src/FrameLoaderClientImpl.cpp: (WebKit::FrameLoaderClientImpl::createPlugin):
11:33 Changeset [95036] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-13

  • DEPS:
11:25 Changeset [95035] by mihaip@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Remove javascript_engine from WebCore.gyp
https://bugs.webkit.org/show_bug.cgi?id=68001

Reviewed by Tony Chang.

Remove javascript_engine GYP variable (similar to the removal done on
the Chromium side with http://crrev.com/100692)

  • WebCore.gyp/WebCore.gyp:
10:58 Changeset [95034] by adamk@chromium.org
  • 1 edit in branches/chromium/874/Source/WebCore/platform/graphics/Gradient.cpp

Merge 95010 - Fix out-of-bounds access in Gradient::sortStopsIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=67958

Reviewed by Darin Adler.

Reported by Valgrind in http://crbug.com/77049.

The errant code was added as an optimization in r67804.
This patch reverts that one, as all parties agree that the optimization
doesn't seem worthwhile, and there clearly aren't any tests covering
the special case.

No new tests, as existing tests should cover the remaining call to
|std::stable_sort|.

  • platform/graphics/Gradient.cpp:

(WebCore::Gradient::sortStopsIfNecessary):

TBR=adamk@chromium.org
Review URL: http://codereview.chromium.org/7891013

10:54 Changeset [95033] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Do not always return the cached frame name.
https://bugs.webkit.org/show_bug.cgi?id=66856

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-13
Reviewed by Antonio Gomes.

When a frame has its parent changed (via adoptNode and appendChild,
for example), the frame name will change, so we need to account for
that case and change the cached name when needed.

This should make fast/frames/iframe-reparenting-unique-name.html pass.

  • ewk/ewk_frame.cpp:

(ewk_frame_name_get):

10:46 Changeset [95032] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update chromium test expectation since fast/borders/border-image-omit-right-slice.html no longer hits an assertion.

  • platform/chromium/test_expectations.txt:
10:31 Changeset [95031] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

[CSS3 Backgrounds and Borders] Add unprefixed border-image shorthand.
https://bugs.webkit.org/show_bug.cgi?id=67970

Reviewed by David Hyatt.

Also update CSSStyleSelector.cpp to support border-image to suppress assertion in
fast/borders/border-image-omit-right-slice.html

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapNinePieceImage):

09:44 Changeset [95030] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Patch by Xianzhu Wang <wangxianzhu@chromium.org> on 2011-09-13
Reviewed by Darin Adler.

Source/WebCore:

Webkit wraps between hyphen-minus and numeric characters
https://bugs.webkit.org/show_bug.cgi?id=20677

Disallow wrapping between a hyphen-minus and a digit if the hyphen-minus
is not directly after a digit or a letter.

Test: fast/text/line-breaks-after-hyphen-before-number.html

  • rendering/break_lines.cpp:

(WebCore::asciiLineBreakTable): Disabled line-breaking after '-' and before '.', '0'-'9'. Note: the change for '0'-'9' doesn't really matter because the case is handled hard-coded in shouldBreakAfter().
(WebCore::shouldBreakAfter): Changed line-breaking behavior after '-'.
(WebCore::nextBreakablePosition): Passes lastLastCh to shouldBreakAfter.

LayoutTests:

Webkit wraps between hyphen-minus and numeric characters
https://bugs.webkit.org/show_bug.cgi?id=20677

Disallow wrapping between a hyphen-minus and a digit if the hyphen-minus
is not directly after a digit or a letter.

  • fast/text/line-breaks-after-hyphen-before-number-expected.txt: Added.
  • fast/text/line-breaks-after-hyphen-before-number.html: Added.
09:23 Changeset [95029] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

platform/graphics/gtk/FontGtk.cpp was renamed to platform/graphics/pango/FontPango.cpp . Reflect this change in WebCore.gypi to fix a Chromium build breakage.
https://bugs.webkit.org/show_bug.cgi?id=68000

Patch by Erik Wright <erikwright@chromium.org> on 2011-09-13
Reviewed by Tony Gentilcore.

No change in functionality, thus no new tests.

  • WebCore.gypi:
09:01 Changeset [95028] by weinig@apple.com
  • 3 edits
    3 adds in trunk

Object.getPrototypeOf should use JSValue::get()
https://bugs.webkit.org/show_bug.cgi?id=67973

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetPrototypeOf):
Pipe through JSValue::get() to allow overrides.

LayoutTests:

  • http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt: Added.
  • http/tests/security/cross-frame-access-object-getPrototypeOf.html: Added.
  • http/tests/security/resources/cross-frame-iframe-for-object-getPrototypeOf-test.html: Added.
08:32 Changeset [95027] by mnaganov@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Profiler: Fix overlapping data in function names column.
https://bugs.webkit.org/show_bug.cgi?id=67896

Reviewed by Pavel Feldman.

  • inspector/front-end/ProfileDataGridTree.js:

(WebInspector.ProfileDataGridNode.prototype.createCell):

  • inspector/front-end/dataGrid.css:

(.data-grid table.data):
(.data-grid td):

08:20 Changeset [95026] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r95025.
http://trac.webkit.org/changeset/95025
https://bugs.webkit.org/show_bug.cgi?id=68005

Test failed on Snow Leopard bots. (Requested by yutak_home on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-13

  • websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
(WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):

  • websockets/ThreadableWebSocketChannelClientWrapper.h:
06:53 QtWebKitSupportedStandards edited by ademar.reis@openbossa.org
(diff)
06:53 QtWebKitFeatures22 edited by ademar.reis@openbossa.org
(diff)
06:52 QtWebKitFeatures22 edited by ademar.reis@openbossa.org
(diff)
06:52 QtWebKitFeatures22 edited by ademar.reis@openbossa.org
(diff)
06:25 Changeset [95025] by yutak@chromium.org
  • 3 edits in trunk/Source/WebCore

ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
https://bugs.webkit.org/show_bug.cgi?id=67908

Reviewed by David Levin.

Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.

No change in functionality, thus no new tests. WebSocket worker tests
(tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.

  • websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
Create a String from Vector<UChar>.
(WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
Copy the content of the given String into Vector.

  • websockets/ThreadableWebSocketChannelClientWrapper.h:
06:00 Changeset [95024] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations

  • platform/chromium/test_expectations.txt: fast/borders/border-image-omit-right-slice.html fails on release
03:39 Changeset [95023] by ukai@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, build fix.

CSSPropertyBorderImage was added in r94989, but not yet added in
WebCore::CSSStyleSelector::applyProperty

CSSStyleSelector.cpp:2481: warning: enumeration value 'CSSPropertyBorderImage' not handled in switch

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

02:33 QtWebKitRelease22 edited by ossy@webkit.org
Add link to the waterfall of QtWebKit 2.2 buildbots (diff)
01:26 Changeset [95022] by reni@webkit.org
  • 2 edits in trunk/LayoutTests

eventSender.keyDown is unimplemented (WKTR)
https://bugs.webkit.org/show_bug.cgi?id=57515

Unreviewed gardening.

  • platform/qt-wk2/Skipped:

09/12/11:

23:57 Changeset [95021] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[chromium] fast/js/parseInt.html does not fail any more.
https://bugs.webkit.org/show_bug.cgi?id=65366

parseInt bug was fixed in v8 version 3.6.0.

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-09-12
Reviewed by Eric Seidel.

  • platform/chromium/test_expectations.txt:
23:18 Changeset [95020] by ukai@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Roll DEPS again.

  • DEPS:
23:14 Changeset [95019] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r95015.
http://trac.webkit.org/changeset/95015
https://bugs.webkit.org/show_bug.cgi?id=67987

compiled failed on Chromium Win bot (Requested by ukai on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-12

  • DEPS:
23:10 Changeset [95018] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add a test that ensures that the accessibility tree
does not contain duplicate child nodes.
https://bugs.webkit.org/show_bug.cgi?id=58930

This test failed when the bug was originally filed, but was
fixed in: https://bugs.webkit.org/show_bug.cgi?id=61805
so no code changes are accompanying this new layout test.

Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-09-12
Reviewed by Chris Fleizach.

  • accessibility/duplicate-child-nodes-expected.txt: Added.
  • accessibility/duplicate-child-nodes.html: Added.
22:57 Changeset [95017] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crashes in WebCore::InsertListCommand::unlistifyParagraph.
https://bugs.webkit.org/show_bug.cgi?id=67918

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-09-12
Reviewed by Ryosuke Niwa.

Source/WebCore:

execCommand("InsertUnorderedList") was crashing if the parent node of the target is
a kind of list element and it is not contenteditable.
This patch checks the parent node is contenteditable.

Test: editing/execCommand/insert-list-in-noneditable-list-parent.html

  • editing/htmlediting.cpp:

(WebCore::enclosingListChild): Checks the parent node is contenteditable.

LayoutTests:

Added tests.

  • editing/execCommand/insert-list-in-noneditable-list-parent-expected.txt: Added.
  • editing/execCommand/insert-list-in-noneditable-list-parent.html: Added.
22:35 Changeset [95016] by fpizlo@apple.com
  • 23 edits
    4 adds
    1 delete in trunk/Source/JavaScriptCore

JavaScriptCore does not have baseline->speculative OSR
https://bugs.webkit.org/show_bug.cgi?id=67920

Reviewed by Oliver Hunt.

This adds the ability to on-stack-replace (OSR) from code that is
running hot in the old JIT to code compiled by the new JIT. This
ensures that long-running loops benefit from DFG optimization.
It also ensures that if code experiences a speculation failure
in DFG code, it has an opportunity to reenter the DFG once every
1,000 loop iterations or so.

This results in a 2.88x speed-up on Kraken/imaging-desaturate,
and is a pure win on the main three benchmark suites (SunSpider,
V8, Kraken), when tiered compilation is enabled.

(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::ProgramCodeBlock::compileOptimized):
(JSC::EvalCodeBlock::compileOptimized):
(JSC::FunctionCodeBlock::compileOptimized):

  • bytecode/CodeBlock.h:
  • bytecode/Opcode.h:
  • bytecode/PredictedType.h: Added.

(JSC::isCellPrediction):
(JSC::isArrayPrediction):
(JSC::isInt32Prediction):
(JSC::isDoublePrediction):
(JSC::isNumberPrediction):
(JSC::isBooleanPrediction):
(JSC::isStrongPrediction):
(JSC::predictionToString):
(JSC::mergePredictions):
(JSC::mergePrediction):
(JSC::makePrediction):

  • bytecode/PredictionTracker.h: Added.

(JSC::operandIsArgument):
(JSC::PredictionSlot::PredictionSlot):
(JSC::PredictionTracker::PredictionTracker):
(JSC::PredictionTracker::initializeSimilarTo):
(JSC::PredictionTracker::copyLocalsFrom):
(JSC::PredictionTracker::numberOfArguments):
(JSC::PredictionTracker::numberOfVariables):
(JSC::PredictionTracker::argumentIndexForOperand):
(JSC::PredictionTracker::predictArgument):
(JSC::PredictionTracker::predict):
(JSC::PredictionTracker::predictGlobalVar):
(JSC::PredictionTracker::getArgumentPrediction):
(JSC::PredictionTracker::getPrediction):
(JSC::PredictionTracker::getGlobalVarPrediction):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitLoopHint):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::DoWhileNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitBytecode):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(JSC::DFG::BasicBlock::BasicBlock):
(JSC::DFG::Graph::predict):
(JSC::DFG::Graph::getPrediction):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::noticeOSREntry):

  • dfg/DFGNode.h:
  • dfg/DFGOSREntry.cpp: Added.

(JSC::DFG::predictionIsValid):
(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSREntry.h: Added.

(JSC::DFG::prepareOSREntry):

  • dfg/DFGPredictionTracker.h: Removed.
  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::mergeUse):
(JSC::DFG::Propagator::mergePrediction):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • jit/CompactJITCodeMap.h:

(JSC::CompactJITCodeMap::numberOfEntries):
(JSC::CompactJITCodeMap::decode):
(JSC::CompactJITCodeMap::Decoder::Decoder):
(JSC::CompactJITCodeMap::Decoder::numberOfEntriesRemaining):
(JSC::CompactJITCodeMap::Decoder::read):

  • jit/JIT.cpp:

(JSC::JIT::emitOptimizationCheck):
(JSC::JIT::emitTimeoutCheck):
(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:

(JSC::JIT::emit_op_loop_hint):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/Executable.cpp:

(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

21:50 Changeset [95015] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-12

  • DEPS:
21:44 Changeset [95014] by commit-queue@webkit.org
  • 38 edits
    3 deletes in trunk

Unreviewed, rolling out r94975.
http://trac.webkit.org/changeset/94975
https://bugs.webkit.org/show_bug.cgi?id=67984

crash in PrerenderBrowserTest.PrerenderHTML5VideoJs (Requested
by ukai on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-12

Source/WebCore:

  • platform/graphics/chromium/CanvasLayerChromium.h:

(WebCore::CanvasLayerChromium::layerTypeAsString):

  • platform/graphics/chromium/ContentLayerChromium.h:

(WebCore::ContentLayerChromium::layerTypeAsString):

  • platform/graphics/chromium/ImageLayerChromium.h:

(WebCore::ImageLayerChromium::layerTypeAsString):

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::layerTreeAsText):
(WebCore::writeIndent):
(WebCore::LayerChromium::dumpLayer):
(WebCore::LayerChromium::dumpLayerProperties):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::layerTypeAsString):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::close):
(WebCore::LayerRendererChromium::releaseTextures):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::getOffscreenLayerTexture):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
(WebCore::LayerRendererChromium::layerTreeAsText):
(WebCore::LayerRendererChromium::dumpRenderSurfaces):

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore::LayerRendererChromium::owner):
(WebCore::LayerRendererChromium::rootLayer):
(WebCore::LayerRendererChromium::rootLayerImpl):
(WebCore::LayerRendererChromium::viewportSize):
(WebCore::LayerRendererChromium::contentsTextureManager):

  • platform/graphics/chromium/ManagedTexture.cpp:

(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):

  • platform/graphics/chromium/PluginLayerChromium.h:

(WebCore::PluginLayerChromium::layerTypeAsString):

  • platform/graphics/chromium/RenderSurfaceChromium.cpp:

(WebCore::RenderSurfaceChromium::name):
(WebCore::writeIndent):
(WebCore::RenderSurfaceChromium::dumpSurface):

  • platform/graphics/chromium/RenderSurfaceChromium.h:
  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::deleteEvictedTextures):
(WebCore::TextureManager::removeTexture):
(WebCore::TextureManager::allocateTexture):
(WebCore::TextureManager::requestTexture):

  • platform/graphics/chromium/TextureManager.h:

(WebCore::TextureManager::setAssociatedContextDebugOnly):
(WebCore::TextureManager::associatedContextDebugOnly):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::writeIndent):
(WebCore::TiledLayerChromium::dumpLayerProperties):

  • platform/graphics/chromium/TiledLayerChromium.h:
  • platform/graphics/chromium/VideoLayerChromium.h:

(WebCore::VideoLayerChromium::layerTypeAsString):

  • platform/graphics/chromium/WebGLLayerChromium.h:

(WebCore::WebGLLayerChromium::layerTypeAsString):

  • platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCLayerImpl.h:
  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::commitTo):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::contentsTextureManager):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::drawLayers):
(WebCore::CCLayerTreeHostImpl::setVisible):
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  • platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  • platform/graphics/chromium/cc/CCProxy.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::contentsTextureManager):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::contentsTextureManager):
(WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):

  • platform/graphics/chromium/cc/CCThreadProxy.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::CCTiledLayerImpl::dumpLayerProperties):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  • platform/graphics/chromium/cc/CCVideoLayerImpl.h:

LayoutTests:

  • platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface.html: Removed.
21:41 Changeset [95013] by joepeck@webkit.org
  • 2 edits in trunk/Source/WebCore

Possible ASSERT(!storageTracker) in Lazily Initialized StorageTracker
https://bugs.webkit.org/show_bug.cgi?id=67957

Reviewed by Darin Adler.

The storageTracker singleton may already have been created
through StorageTracker::tracker before initializeTracker
gets called. Update the ASSERT in this case to check that
there is no client for the tracker.

No test, this depends on how the port initializes the tracker.

  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::initializeTracker):

21:15 Changeset [95012] by levin@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Remove AllowCrossThreadAccess for WorkerFileWriterCallbacksBridge.
https://bugs.webkit.org/show_bug.cgi?id=67943

Reviewed by Adam Barth.

  • src/WorkerFileWriterCallbacksBridge.cpp: Removed AllowCrossThreadAccess

allowing the automatic ref counting to work. This was previous needed when
the ref counting wasn't working but that was fixed in r94986. Note that the
design was to have ref counting since the methods take PassRefPtr and the
class is ThreadSafeRefCounted. (Ideally we have noticed this flaw when
adding in AllowCrossThreadAccess.)
(WebKit::WorkerFileWriterCallbacksBridge::postWriteToMainThread):
(WebKit::WorkerFileWriterCallbacksBridge::postTruncateToMainThread):
(WebKit::WorkerFileWriterCallbacksBridge::postAbortToMainThread):
(WebKit::WorkerFileWriterCallbacksBridge::didWrite):
(WebKit::WorkerFileWriterCallbacksBridge::didFail):
(WebKit::WorkerFileWriterCallbacksBridge::didTruncate):
(WebKit::WorkerFileWriterCallbacksBridge::postInitToMainThread):
(WebKit::WorkerFileWriterCallbacksBridge::dispatchTaskToMainThread):
(WebKit::WorkerFileWriterCallbacksBridge::dispatchTaskToWorkerThread):

21:01 Changeset [95011] by weinig@apple.com
  • 5 edits in trunk

Don't allow setting proto to be a getter or setter
https://bugs.webkit.org/show_bug.cgi?id=67982

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

  • runtime/JSObject.cpp:

(JSC::JSObject::defineGetter):
(JSC::JSObject::defineSetter):
Disallow setting a getter or setter on proto.

LayoutTests:

  • fast/js/prototypes-expected.txt:
  • fast/js/script-tests/prototypes.js:

Add test that we disallow setting a getter or setter on proto.

20:55 Changeset [95010] by adamk@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix out-of-bounds access in Gradient::sortStopsIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=67958

Reviewed by Darin Adler.

Reported by Valgrind in http://crbug.com/77049.

The errant code was added as an optimization in r67804.
This patch reverts that one, as all parties agree that the optimization
doesn't seem worthwhile, and there clearly aren't any tests covering
the special case.

No new tests, as existing tests should cover the remaining call to
|std::stable_sort|.

  • platform/graphics/Gradient.cpp:

(WebCore::Gradient::sortStopsIfNecessary):

20:50 Changeset [95009] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Setting document.title doesn't affect contents of title tag of XHTML documents
https://bugs.webkit.org/show_bug.cgi?id=57537

Patch by Jacky Jiang <zhajiang@rim.com> on 2011-09-12
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Update the contents of the <title> tag of XHTML documents when setting
document.title.

Test: fast/dom/title-content-set-innerText-get.xhtml

  • dom/Document.cpp:

(WebCore::Document::setTitle):

LayoutTests:

  • fast/dom/title-content-set-innerText-get-expected.txt: Added.
  • fast/dom/title-content-set-innerText-get.xhtml: Added.
20:44 Changeset [95008] by commit-queue@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add GTK & Win expectations for two recently added
accessibility layout tests.
https://bugs.webkit.org/show_bug.cgi?id=67948

Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-09-12
Reviewed by Chris Fleizach.

  • platform/gtk/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Added.
  • platform/gtk/accessibility/div-within-anchors-causes-crash-expected.txt: Added.
  • platform/win/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Added.
  • platform/win/accessibility/div-within-anchors-causes-crash-expected.txt: Added.
20:38 Changeset [95007] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

[EFL] DRT: Add DumpRenderTreeEfl.h
https://bugs.webkit.org/show_bug.cgi?id=63993

Patch by Leandro Pereira <leandro@profusion.mobi> on 2011-09-12
Reviewed by Eric Seidel.

This header contains some global variables used by EFL's
DumpRenderTree implementation.

  • DumpRenderTree/DumpRenderTree.h: Include DumpRenderTreeEfl.h when

appropriate.

  • DumpRenderTree/efl/DumpRenderTreeEfl.h: Added.
20:34 Changeset [95006] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Send the right key names for PageUp and PageDown.
https://bugs.webkit.org/show_bug.cgi?id=67044

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-12
Reviewed by Kenneth Rohde Christiansen.

PlatformKeyboardEventEfl uses "Prior" and "Next" to refer to PageUp and
PageDown (which is close to the defines in WindowsKeyboardCodes.h).
However, EventSender was sending "Page_Up" and "Page_Down", so tests
such as editing/input/page-up-down-scrolls.html were timing out due to
the right key down events not being sent.

  • DumpRenderTree/efl/EventSender.cpp:

(keyPadNameFromJSValue):
(keyNameFromJSValue):

20:30 Changeset [95005] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

Reviewed by Eric Seidel.

[CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
https://bugs.webkit.org/show_bug.cgi?id=62692

  • CMakeLists.txt: define WTF_USE_JSC=1.
  • config.h: add cmakeconfig.h and define necessary macros for CMake build.
20:24 Changeset [95004] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Initialize m_unmodifiedText in PlatformKeyboardEventEfl.
https://bugs.webkit.org/show_bug.cgi?id=67038

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-12
Reviewed by Kenneth Rohde Christiansen.

Since most of the time it will return the same thing as text(), we
initialize it the same way we initialize m_text. The other case (what
would have been generated if no modifiers were pressed) should be
covered by this as well.

As this method is used when handling access keys, tests such as
fast/events/access-key-self-destruct.html should now pass.

No new tests, as this fixes a problem uncovered by the existing ones.

  • platform/efl/PlatformKeyboardEventEfl.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

20:13 Changeset [95003] by commit-queue@webkit.org
  • 1 edit
    1 copy
    2 moves
    1 add
    11 deletes in trunk/LayoutTests

Patch by Wyatt Carss <wcarss@chromium.org> on 2011-09-12
Reviewed by Eric Seidel.

convert editing/deleting/5390681-2.html to dump-as-markup
https://bugs.webkit.org/show_bug.cgi?id=63293

Renamed editing/deleting/5390681* to editing/deleting/smart-delete-across-editable-boundaries,
Added doctype/html/body to both tests, and converted smart-delete-across-editable-boundaries-2
to dump-as-markup test in the same style as the first. Also updated results.

  • editing/deleting/5390681.html: Removed.
  • editing/deleting/5390681-expected.txt: Removed.
  • editing/deleting/5390681-2.html: Removed.
  • editing/deleting/smart-delete-across-editable-boundaries.html: Added.
  • editing/deleting/smart-delete-across-editable-boundaries-expected.txt: Added.
  • editing/deleting/smart-delete-across-editable-boundaries-2.html: Added.
  • editing/deleting/smart-delete-across-editable-boundaries-2-expected.txt: Added.
  • platform/chromium-linux/editing/deleting/5390681-2-expected.png: Removed.
  • platform/chromium-win/editing/deleting/5390681-2-expected.png: Removed.
  • platform/chromium-win/editing/deleting/5390681-2-expected.txt: Removed.
  • platform/gtk/editing/deleting/5390681-2-expected.txt: Removed.
  • platform/mac-leopard/editing/deleting/5390681-2-expected.png: Removed.
  • platform/mac/editing/deleting/5390681-2-expected.png: Removed.
  • platform/mac/editing/deleting/5390681-2-expected.txt: Removed.
  • platform/qt/editing/deleting/5390681-2-expected.png: Removed.
  • platform/qt/editing/deleting/5390681-2-expected.txt: Removed.
  • platform/qt/editing/deleting/5390681-expected.png: Removed.
20:12 Changeset [95002] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/Source/WebCore

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2011-09-12
Reviewed by Eric Seidel.

[EFL] Add GraphicsContext3DEfl for WebGL and accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=62709

Add GraphicsContext3D implementation for EFL port.
GraphicsContext3D delegates to GraphicsContext3DInternal.

  • platform/graphics/efl/GraphicsContext3DEfl.cpp: Added.

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::platformLayer):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::isGLES2Compliant):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::blendColor):
(WebCore::GraphicsContext3D::blendEquation):
(WebCore::GraphicsContext3D::blendEquationSeparate):
(WebCore::GraphicsContext3D::blendFunc):
(WebCore::GraphicsContext3D::blendFuncSeparate):
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
(WebCore::GraphicsContext3D::checkFramebufferStatus):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::clearColor):
(WebCore::GraphicsContext3D::clearDepth):
(WebCore::GraphicsContext3D::clearStencil):
(WebCore::GraphicsContext3D::colorMask):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::cullFace):
(WebCore::GraphicsContext3D::depthFunc):
(WebCore::GraphicsContext3D::depthMask):
(WebCore::GraphicsContext3D::depthRange):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::disable):
(WebCore::GraphicsContext3D::disableVertexAttribArray):
(WebCore::GraphicsContext3D::drawArrays):
(WebCore::GraphicsContext3D::drawElements):
(WebCore::GraphicsContext3D::enable):
(WebCore::GraphicsContext3D::enableVertexAttribArray):
(WebCore::GraphicsContext3D::finish):
(WebCore::GraphicsContext3D::flush):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::frontFace):
(WebCore::GraphicsContext3D::generateMipmap):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::getBooleanv):
(WebCore::GraphicsContext3D::getBufferParameteriv):
(WebCore::GraphicsContext3D::getContextAttributes):
(WebCore::GraphicsContext3D::getError):
(WebCore::GraphicsContext3D::getFloatv):
(WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContext3D::getIntegerv):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getRenderbufferParameteriv):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getString):
(WebCore::GraphicsContext3D::getTexParameterfv):
(WebCore::GraphicsContext3D::getTexParameteriv):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
(WebCore::GraphicsContext3D::getVertexAttribfv):
(WebCore::GraphicsContext3D::getVertexAttribiv):
(WebCore::GraphicsContext3D::getVertexAttribOffset):
(WebCore::GraphicsContext3D::hint):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isEnabled):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::sampleCoverage):
(WebCore::GraphicsContext3D::scissor):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::stencilFunc):
(WebCore::GraphicsContext3D::stencilFuncSeparate):
(WebCore::GraphicsContext3D::stencilMask):
(WebCore::GraphicsContext3D::stencilMaskSeparate):
(WebCore::GraphicsContext3D::stencilOp):
(WebCore::GraphicsContext3D::stencilOpSeparate):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::texParameterf):
(WebCore::GraphicsContext3D::texParameteri):
(WebCore::GraphicsContext3D::texSubImage2D):
(WebCore::GraphicsContext3D::uniform1f):
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform1i):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2f):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform2i):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3f):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform3i):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4f):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform4i):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::vertexAttrib1f):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2f):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3f):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4f):
(WebCore::GraphicsContext3D::vertexAttrib4fv):
(WebCore::GraphicsContext3D::vertexAttribPointer):
(WebCore::GraphicsContext3D::viewport):
(WebCore::GraphicsContext3D::reshape):
(WebCore::GraphicsContext3D::markContextChanged):
(WebCore::GraphicsContext3D::markLayerComposited):
(WebCore::GraphicsContext3D::layerComposited):
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
(WebCore::GraphicsContext3D::createBuffer):
(WebCore::GraphicsContext3D::createFramebuffer):
(WebCore::GraphicsContext3D::createProgram):
(WebCore::GraphicsContext3D::createRenderbuffer):
(WebCore::GraphicsContext3D::createShader):
(WebCore::GraphicsContext3D::createTexture):
(WebCore::GraphicsContext3D::deleteBuffer):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteProgram):
(WebCore::GraphicsContext3D::deleteRenderbuffer):
(WebCore::GraphicsContext3D::deleteShader):
(WebCore::GraphicsContext3D::deleteTexture):
(WebCore::GraphicsContext3D::synthesizeGLError):
(WebCore::GraphicsContext3D::getExtensions):
(WebCore::GraphicsContext3D::getInternalFramebufferSize):
(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::getImageData):

20:02 Changeset [95001] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2011-09-12
Reviewed by Eric Seidel.

[CMAKE] Remove platform/graphics/opengl/*OpenGL.cpp files in CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=62707

No change in fuctionality so no new tests.

Bug 62376 makes all ports use GraphicsContext3DOpenGL and
Extensions3DOpenGL when enabling WebGL.
However, some ports already have their own GC3D implementation.
In QT and chromium, for example, GC3D delegates to GC3DInternal.
So, it would be better to allow each port to decide whether or not
to include files in platform/graphics/opengl.

  • CMakeLists.txt:
19:59 Changeset [95000] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: fast/borders/border-image-omit-right-slice.html crash on debug
19:43 Changeset [94999] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewred, update chromium test expectations.

  • platform/chromium/test_expectations.txt: fast/events/constructors/progress-event-constructor.html on mac
19:25 Changeset [94998] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Remove bad expectation that was causing us to run a compositing/ test on Leopard. Tsk tsk, Mike
Reed!

  • platform/chromium/test_expectations.txt:
18:57 Changeset [94997] by jamesr@google.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix for chromium.

Guard access to UString::latin1() with USE(JSC) since it is defined in JavaScriptCore/runtime/UString.cpp, which
is currently only compiled in by ports that use JavaScriptCore. This code is currently unreachable in builds so
no change in functionality.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::CharAccess::CharAccess):

18:33 Changeset [94996] by fpizlo@apple.com
  • 20 edits
    1 add in trunk/Source/JavaScriptCore

JavaScriptCore does not have speculative->baseline OSR
https://bugs.webkit.org/show_bug.cgi?id=67826

Reviewed by Oliver Hunt.

This adds the ability to bail out of DFG speculative JIT execution by
performing an on-stack replacement (OSR) that results in the control
flow going to the equivalent code generated by the old JIT.

This required a number of new features, as well as taking advantage of
some features that happened to already be present:

We already had a policy of storing the bytecode index for which a DFG
node was generated inside the DFG::Node class. This was previously
called exceptionInfo. It's now renamed to codeOrigin to reflect that
it's used for more than just excpetions. OSR uses this to figure out
which bytecode index to use to look up the machine code location in
the code generated by the old JIT that we should be jumping to.

CodeBlock now stores a mapping between bytecode indices and machine
code offsets for code generated by the old JIT. This is implemented
by CompactJITCodeMap, which tries to compress this data a bit. The
OSR compiler decodes this and uses it to find the machine code
locations it should be jumping to.

We already had a mechanism that emitted SetLocal nodes in the DFG graph
that told us the time at which the old JIT would have stored something
into its register file, and the DFG::Node that corresponds to the value
that it would have stored. These SetLocal's were mostly dead-code-
eliminated, but our DCE leaves the nodes intact except for making them
have 0 as the ref count. This allows the OSR compiler to construct a
mapping between the state as it would have been seen by the old JIT
and the state as the DFG JIT sees it. The OSR compiler uses this to
generate code that reshapes the call frame so that it is like what the
old JIT would expect.

Finally, when DFG_OSR is enabled (the default for TIERED_COMPILATION)
we no longer emit the non-speculative path.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::currentCodeOrigin):
(JSC::DFG::ByteCodeParser::addToGraph):

  • dfg/DFGGPRInfo.h:
  • dfg/DFGGenerationInfo.h:

(JSC::DFG::GenerationInfo::alive):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGJITCodeGenerator.cpp:

(JSC::DFG::JITCodeGenerator::emitCall):

  • dfg/DFGJITCodeGenerator.h:

(JSC::DFG::JITCodeGenerator::appendCallWithExceptionCheck):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::CallRecord::CallRecord):
(JSC::DFG::JITCompiler::notifyCall):
(JSC::DFG::JITCompiler::appendCallWithExceptionCheck):
(JSC::DFG::JITCompiler::appendCallWithFastExceptionCheck):
(JSC::DFG::JITCompiler::addJSCall):
(JSC::DFG::JITCompiler::JSCallRecord::JSCallRecord):

  • dfg/DFGNode.h:

(JSC::DFG::CodeOrigin::CodeOrigin):
(JSC::DFG::CodeOrigin::isSet):
(JSC::DFG::CodeOrigin::bytecodeIndex):
(JSC::DFG::Node::Node):
(JSC::DFG::Node::child1Unchecked):

  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::ValueSource::dump):
(JSC::DFG::ValueRecovery::dump):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::ValueSource::ValueSource):
(JSC::DFG::ValueSource::isSet):
(JSC::DFG::ValueSource::nodeIndex):
(JSC::DFG::ValueRecovery::ValueRecovery):
(JSC::DFG::ValueRecovery::alreadyInRegisterFile):
(JSC::DFG::ValueRecovery::inGPR):
(JSC::DFG::ValueRecovery::inFPR):
(JSC::DFG::ValueRecovery::displacedInRegisterFile):
(JSC::DFG::ValueRecovery::constant):
(JSC::DFG::ValueRecovery::technique):
(JSC::DFG::ValueRecovery::gpr):
(JSC::DFG::ValueRecovery::fpr):
(JSC::DFG::ValueRecovery::virtualRegister):
(JSC::DFG::OSRExit::numberOfRecoveries):
(JSC::DFG::OSRExit::valueRecovery):
(JSC::DFG::OSRExit::isArgument):
(JSC::DFG::OSRExit::argumentForIndex):
(JSC::DFG::OSRExit::variableForIndex):
(JSC::DFG::OSRExit::operandForIndex):
(JSC::DFG::SpeculativeJIT::osrExits):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::valueSourceForOperand):
(JSC::DFG::SpeculativeJIT::setNodeIndexForOperand):
(JSC::DFG::SpeculativeJIT::valueSourceReferenceForOperand):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
(JSC::DFG::SpeculationCheckIndexIterator::SpeculationCheckIndexIterator):
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):

  • jit/CompactJITCodeMap.h: Added.

(JSC::BytecodeAndMachineOffset::BytecodeAndMachineOffset):
(JSC::BytecodeAndMachineOffset::getBytecodeIndex):
(JSC::BytecodeAndMachineOffset::getMachineCodeOffset):
(JSC::CompactJITCodeMap::~CompactJITCodeMap):
(JSC::CompactJITCodeMap::decode):
(JSC::CompactJITCodeMap::CompactJITCodeMap):
(JSC::CompactJITCodeMap::at):
(JSC::CompactJITCodeMap::decodeNumber):
(JSC::CompactJITCodeMap::Encoder::Encoder):
(JSC::CompactJITCodeMap::Encoder::~Encoder):
(JSC::CompactJITCodeMap::Encoder::append):
(JSC::CompactJITCodeMap::Encoder::finish):
(JSC::CompactJITCodeMap::Encoder::appendByte):
(JSC::CompactJITCodeMap::Encoder::encodeNumber):
(JSC::CompactJITCodeMap::Encoder::ensureCapacityFor):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData):

  • runtime/JSGlobalData.h:

(JSC::JSGlobalData::osrScratchBufferForSize):

  • runtime/JSValue.cpp:

(JSC::JSValue::description):

18:26 Changeset [94995] by kov@webkit.org
  • 1 edit
    1 move in trunk/Source/WebKit/gtk/po

Unreviewed. Rename Greek translation file, the correct code is el
(http://www.science.co.il/language/Locale-Codes.asp?s=decimal).

Patch by Gustavo Noronha Silva <gns@gnome.org> on 2011-09-12

  • el.po: Renamed from Source/WebKit/gtk/po/gr.po.
17:26 Changeset [94994] by rniwa@webkit.org
  • 1 edit
    2 copies in branches/chromium/874

Merge 94988 - REGRESSION: Moving up doesn't work in some cases
https://bugs.webkit.org/show_bug.cgi?id=67522

Reviewed by Eric Seidel.

Source/WebCore:

The bug was caused by previousLinePosition's attempting to obtain the last root line box using
a position at minCaretOffset (which is, in practice, located at the beginning of wrapped lines).

Fix the bug by calling maxCaretOffset instead. Because isCandidate returns false at (br, 1),
use the positionBeforeNode for br elements.

Test: editing/selection/move-up-into-wrapped-line.html

  • editing/visible_units.cpp:

(WebCore::previousLinePosition):

LayoutTests:

Add a test to move caret upwards from an empty line below wrapped lines.

WebKit used to skip wrapped lines and placed caret at the beginning of the first of those wrapped lines
instead of before the last.

  • editing/selection/move-up-into-wrapped-line-expected.txt: Added.
  • editing/selection/move-up-into-wrapped-line.html: Added.

Review URL: http://codereview.chromium.org/7878009

17:07 Changeset [94993] by eric@webkit.org
  • 5 edits in trunk/Tools

sheriffbot whois is case sensitive
https://bugs.webkit.org/show_bug.cgi?id=67972

Reviewed by Adam Barth.

I also fixed a typo in the "More than 5 contributors" message
from my previous commit.

  • Scripts/webkitpy/common/config/committers.py:
  • Scripts/webkitpy/common/config/committers_unittest.py:
  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
17:06 Changeset [94992] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Re-enabled ENABLE(LAZY_BLOCK_FREEING).

Reviewed by Stephanie Lewis.

I accidentally disabled this in r94890, causing a big performance regression.

  • wtf/Platform.h:
17:02 Changeset [94991] by mitz@apple.com
  • 4 edits
    3 adds in trunk

<rdar://problem/10054615> Floats in ruby text intrude into the base

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/ruby/float-overhang-from-ruby-text.html

  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::avoidsFloats): Added. Returns true. This ensures that
RenderBlock::clearFloats() will not consider ruby text as having intruding floats.

  • rendering/RenderRubyText.h:

LayoutTests:

  • fast/ruby/float-overhang-from-ruby-text-expected.png: Added.
  • fast/ruby/float-overhang-from-ruby-text-expected.txt: Added.
  • fast/ruby/float-overhang-from-ruby-text.html: Added.
16:43 Changeset [94990] by eric@webkit.org
  • 4 edits in trunk/Tools

sheriffbot whois should be smarter
https://bugs.webkit.org/show_bug.cgi?id=67971

Reviewed by Adam Barth.

This makes sheriffbot whois basically grep the committers list
making it much easier to find a contributor by name.

Unfortunately the current unittests depend on the real committers.py
file, so as we add more eric's to the project, this unittest result will
change. I think that's OK for now. We'll fix it when it breaks.

  • Scripts/webkitpy/common/config/committers.py:
  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
16:38 Changeset [94989] by hyatt@apple.com
  • 4 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=67970

Add unprefixed border-image property.

Reviewed by Beth Dakin.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPropertyNames.in:
16:32 Changeset [94988] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION: Moving up doesn't work in some cases
https://bugs.webkit.org/show_bug.cgi?id=67522

Reviewed by Eric Seidel.

Source/WebCore:

The bug was caused by previousLinePosition's attempting to obtain the last root line box using
a position at minCaretOffset (which is, in practice, located at the beginning of wrapped lines).

Fix the bug by calling maxCaretOffset instead. Because isCandidate returns false at (br, 1),
use the positionBeforeNode for br elements.

Test: editing/selection/move-up-into-wrapped-line.html

  • editing/visible_units.cpp:

(WebCore::previousLinePosition):

LayoutTests:

Add a test to move caret upwards from an empty line below wrapped lines.

WebKit used to skip wrapped lines and placed caret at the beginning of the first of those wrapped lines
instead of before the last.

  • editing/selection/move-up-into-wrapped-line-expected.txt: Added.
  • editing/selection/move-up-into-wrapped-line.html: Added.
16:14 Changeset [94987] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Broken Build for ARM - lshift32() needs TrustedImm32 arg
https://bugs.webkit.org/show_bug.cgi?id=67965

Change lshift32(16, ARMRegisters::S1); to lshift32(TrustedImm32(16), ARMRegisters::S1);

Reviewed by Anders Carlsson.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branch16):

15:48 Changeset [94986] by levin@chromium.org
  • 3 edits in trunk/Source/WebCore

Make the ThreadSafeRefCounted support in CrossThreadCopier work for T*.
https://bugs.webkit.org/show_bug.cgi?id=67947

Reviewed by Adam Barth.

The changes are tested by compiling and added compile asserts to do some verification as well.

  • platform/CrossThreadCopier.cpp:

Added some compile asserts to verify various match and non-matches for CrossThreadCopier.

  • platform/CrossThreadCopier.h:

Added a typedef to convert T* to T, just like the typedef's to remove RefPtr and PassRefPtr.
Added a compile assert to verify that only one of the typedefs did anything.
(CrossThreadCopierBase<false, true, T>::copy): Remove "get" as it is unnecessary.
It shouldn't have been here (PassRefPtr and RefPtr easily and sometimes more efficiently
convert to PassRefPtr without get). Also, a raw pointer doesn't have a get() method.

15:43 Changeset [94985] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Broken ARM build - missing semicolon in JavaScriptCore/assembler/MacroAssemblerARM.h
https://bugs.webkit.org/show_bug.cgi?id=67961

Added missing semicolon.

Reviewed by Ryosuke Niwa.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branch16):

15:43 Changeset [94984] by crogers@google.com
  • 2 edits in trunk/Source/WebCore

Address lifetime issues in OfflineAudioDestinationNode
https://bugs.webkit.org/show_bug.cgi?id=67949

Reviewed by Kenneth Russell.

No new tests. This does not change JavaScript API.

  • webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::render):
(WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):

15:21 Changeset [94983] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r94976.
http://trac.webkit.org/changeset/94976
https://bugs.webkit.org/show_bug.cgi?id=67953

Broke a bunch of security/load& tests (Requested by rniwa on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-12

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::pathToLocalResource):

15:19 Changeset [94982] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] Prevent a crash when tearing down an ImageBuffer that was not successfully initialized.
https://bugs.webkit.org/show_bug.cgi?id=67944

Patch by Jeff Timanus <twiz@chromium.org> on 2011-09-12
Reviewed by Stephen White.

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::~ImageBuffer):

15:17 Changeset [94981] by msaboff@apple.com
  • 24 edits in trunk/Source

Update RegExp and related classes to use 8 bit strings when available
https://bugs.webkit.org/show_bug.cgi?id=67337

Source/JavaScriptCore:

Modified both the Yarr interpreter and JIT to handle 8 bit subject strings.
The code paths are triggered by the UString::is8bit() method which currently
returns false. Implemented JIT changes for all current architectures.
Tested X86_64 and ARM v7.

This includes some code that will likely change as we complete the
8 bit string changes. This includes the way the raw buffer pointers
are accessed as well as replacing the CharAccess class with a
string interator returned from UString.

Fixed build breakage in testRegExp.cpp due to globalObject construction
changes.

Reviewed by Gavin Barraclough.

(GlobalObject::finishCreation):
(GlobalObject::GlobalObject):

  • assembler/ARMAssembler.cpp:

(JSC::ARMAssembler::baseIndexTransfer32):

  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::ubfx):
(JSC::ARMv7Assembler::ARMInstructionFormatter::twoWordOp12Reg40Imm3Reg4Imm20Imm5):

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::load8):
(JSC::MacroAssemblerARM::branch8):
(JSC::MacroAssemblerARM::branch16):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::load8):
(JSC::MacroAssemblerARMv7::branch16):
(JSC::MacroAssemblerARMv7::branch8):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::load8):
(JSC::MacroAssemblerMIPS::branch8):
(JSC::MacroAssemblerMIPS::branch16):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::load8):
(JSC::MacroAssemblerSH4::branch8):
(JSC::MacroAssemblerSH4::branch16):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::load8):
(JSC::MacroAssemblerX86Common::branch16):
(JSC::MacroAssemblerX86Common::branch8):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::extub):
(JSC::SH4Assembler::printInstr):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::cmpw_ir):
(JSC::X86Assembler::movzbl_mr):

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileIfNecessary):
(JSC::RegExp::match):
(JSC::RegExp::matchCompareWithInterpreter):

  • runtime/RegExp.h:
  • runtime/UString.h:

(JSC::UString::is8Bit):

  • yarr/Yarr.h:
  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::CharAccess::CharAccess):
(JSC::Yarr::Interpreter::CharAccess::~CharAccess):
(JSC::Yarr::Interpreter::CharAccess::operator[]):
(JSC::Yarr::Interpreter::InputStream::InputStream):
(JSC::Yarr::Interpreter::Interpreter):
(JSC::Yarr::interpret):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::jumpIfCharNotEquals):
(JSC::Yarr::YarrGenerator::readCharacter):
(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):
(JSC::Yarr::YarrGenerator::generatePatternCharacterFixed):
(JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterNonGreedy):
(JSC::Yarr::YarrGenerator::generateCharacterClassFixed):
(JSC::Yarr::YarrGenerator::generateDotStarEnclosure):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::jitCompile):
(JSC::Yarr::execute):

  • yarr/YarrJIT.h:

(JSC::Yarr::YarrCodeBlock::has8BitCode):
(JSC::Yarr::YarrCodeBlock::has16BitCode):
(JSC::Yarr::YarrCodeBlock::set8BitCode):
(JSC::Yarr::YarrCodeBlock::set16BitCode):
(JSC::Yarr::YarrCodeBlock::execute):

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::Parser):

Source/WebCore:

Updated call to match to use UString& instead of UChar*.

Reviewed by Gavin Barraclough.

No new tests, Covered by existing tests.

  • platform/text/RegularExpression.cpp:

(WebCore::RegularExpression::match):

14:52 Changeset [94980] by bdakin@apple.com
  • 6 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=67898
REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac

Reviewed by Simon Fraser.

Source/WebCore:

New function willPaintBrokenImage() returns true when there has been an error
loading the image and the broken image icon will be used in its place. This is
necessary since it is possible to have an error loading an image and to NOT use
the broken image icon.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::willPaintBrokenImage):

  • loader/cache/CachedImage.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):

LayoutTests:

  • platform/mac/Skipped:
14:41 Changeset [94979] by igor.oliveira@openbossa.org
  • 9 edits in trunk/Source/WebKit2

2011-09-12 Igor Oliveira <igor.oliveira@openbossa.org>

[Qt] [WK2] implement support to upload files in Qt WebKit2
https://bugs.webkit.org/show_bug.cgi?id=67228

This patch implements support to upload files in the Desktop Qt WebKit2 implementation.

Reviewed by Andreas Kling.

  • Shared/WebOpenPanelParameters.h: (WebKit::WebOpenPanelParameters::selectedFileNames):
  • UIProcess/API/qt/qdesktopwebview.cpp: (QDesktopWebViewPrivate::chooseFiles): (QDesktopWebViewPrivate::onOpenPanelFilesSelected): (QDesktopWebViewPrivate::onOpenPanelFinished):
  • UIProcess/API/qt/qdesktopwebview_p.h:
  • UIProcess/qt/ClientImpl.cpp:

qt_wk_runOpenPanel supports single and multiple files selection.

(qt_wk_runOpenPanel):

  • UIProcess/qt/ClientImpl.h:
  • UIProcess/qt/QtWebPageProxy.cpp: (QtWebPageProxy::init):
  • UIProcess/qt/TouchViewInterface.h: (WebKit::TouchViewInterface::chooseFiles):
  • UIProcess/qt/ViewInterface.h:
14:11 Changeset [94978] by eric@webkit.org
  • 10 edits
    1 delete in trunk/Tools

Rubber-stamped by Adam Barth.

Remove the "the tree is burning!" warning previously shown
when landing patches. It was a dream. But it's just noise now.

Some bots will require a restart to notice the removal of the option
so I've left the --ignore-builders option in for now.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
  • Scripts/webkitpy/tool/bot/patchanalysistask.py:
  • Scripts/webkitpy/tool/commands/download.py:
  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/commands/queues_unittest.py:
  • Scripts/webkitpy/tool/steps/init.py:
  • Scripts/webkitpy/tool/steps/commit.py:
  • Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py: Removed.
  • Scripts/webkitpy/tool/steps/postdiffforrevert.py:
14:05 Changeset [94977] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Fix a test added by r94966 to work on Mac.

  • fast/events/selectstart-by-arrow-keys.html:
  • platform/chromium/test_expectations.txt:
13:54 Changeset [94976] by eric@webkit.org
  • 2 edits in trunk/Tools

[NRWT] REGRESSION: Local loader tests are failing on machines that lost /tmp/LayoutTests symlink
https://bugs.webkit.org/show_bug.cgi?id=65781

Reviewed by Ryosuke Niwa.

Instead of making NRWT create the symlink, I just made DumpRenderTree smart enough
to resolve the passed in url relative to the absolute url for the test.

I believe this is a better approach than the on used in the Qt and Chromium DRT's
(which resolves the path relative to the built location of the DRT executable)
and we should move this new code into a shared location in a follow-up patch.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::pathToLocalResource):

13:30 Changeset [94975] by jamesr@google.com
  • 37 edits
    3 adds in trunk

[chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=67440

Reviewed by Kenneth Russell.

This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
to make sure that textures are deleted even if the page is not visible. This move also removed the need for
LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well. That meant moving the
layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.

Covered by existing compositing/ tests and
platform/chromium/compositor/lost-compositor-context-with-rendersurface.html

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):

  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::highLimitBytes):
(WebCore::TextureManager::reclaimLimitBytes):
(WebCore::TextureManager::lowLimitBytes):

  • platform/graphics/chromium/TextureManager.h:
  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::deleteContentsTextures):
(WebCore::CCLayerTreeHost::commitTo):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::contentsTextureManager):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::setVisible):

  • platform/graphics/chromium/cc/CCProxy.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::stop):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):

  • platform/graphics/chromium/cc/CCThreadProxy.h:
13:15 Changeset [94974] by japhet@chromium.org
  • 2 edits in trunk/LayoutTests

2011-09-12 Nate Chapin <japhet@chromium.org>

Fix up duplicate expectations and add expected failure
for selectstart-by-arrow-keys.html for chromium mac.

  • platform/chromium/test_expectations.txt:
13:06 Changeset [94973] by eric@webkit.org
  • 3 edits in trunk/Tools

Reshuffle some code in WebKitDriver._read_block in preparation for reading stderr/stdout separately
https://bugs.webkit.org/show_bug.cgi?id=67530

Reviewed by Adam Barth.

I believe I've fixed the bug in the original patch which prompted the rollout.
The previous patch was using the wrong deadline for the initial read,
subtracting time.time() twice from the deadline value.

  • Scripts/webkitpy/layout_tests/port/webkit.py:
  • Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
13:05 Changeset [94972] by commit-queue@webkit.org
  • 20 edits
    1 delete in trunk/LayoutTests

Rebaseline for r94703.
https://bugs.webkit.org/show_bug.cgi?id=67945

Patch by David Reveman <reveman@chromium.org> on 2011-09-12
Reviewed by James Robinson.

  • platform/chromium-gpu-cg-mac/compositing/color-matching/image-color-matching-expected.png:
  • platform/chromium-gpu-cg-mac/compositing/flat-with-transformed-child-expected.png:
  • platform/chromium-gpu-cg-mac/compositing/masks/masked-ancestor-expected.png:
  • platform/chromium-gpu-cg-mac/compositing/reflections/nested-reflection-transformed-expected.png:
  • platform/chromium-gpu-cg-mac/compositing/reflections/nested-reflection-transformed2-expected.png:
  • platform/chromium-gpu-cg-mac/compositing/reflections/reflection-in-composited-expected.png:
  • platform/chromium-gpu-cg-mac/compositing/scaling/tiled-layer-recursion-expected.png:
  • platform/chromium-gpu-cg-mac/media/video-layer-crash-expected.png:
  • platform/chromium-gpu-cg-mac/media/video-transformed-expected.png:
  • platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.png:
  • platform/chromium-gpu-win/compositing/flat-with-transformed-child-expected.png:
  • platform/chromium-gpu-win/compositing/masks/masked-ancestor-expected.png:
  • platform/chromium-gpu-win/compositing/reflections/nested-reflection-transformed-expected.png:
  • platform/chromium-gpu-win/compositing/reflections/nested-reflection-transformed2-expected.png:
  • platform/chromium-gpu-win/compositing/reflections/reflection-in-composited-expected.png:
  • platform/chromium-gpu-win/compositing/scaling/tiled-layer-recursion-expected.png:
  • platform/chromium-gpu-win/media/video-layer-crash-expected.png:
  • platform/chromium-gpu-win/media/video-transformed-expected.png:
  • platform/chromium/test_expectations.txt:
  • platform/mac-snowleopard/media/video-layer-crash-expected.txt: Removed.
13:05 Porting Macros plan edited by abarth@webkit.org
(diff)
12:53 Changeset [94971] by nduca@chromium.org
  • 7 edits in trunk/Source/WebKit/chromium

[chromium] Add GraphicsContext3DPrivate:createGraphicsContextForAnotherThread
https://bugs.webkit.org/show_bug.cgi?id=67832

The compositor thread needs to create a GraphicsContext3D without
actually making it current. In previous attempts at doing this, we
modified all graphics3D creation to not make the contexts current, but
this prove to be shockingly fragile. Since this is a very
Chromium-specific behavior, this patch makes creationForAnotherThread a
method on the private GraphicsContext3D interface.
GraphicsContext3D::create behaves as usual.

Reviewed by Kenneth Russell.

  • src/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextForAnotherThread):
(WebCore::GraphicsContext3D::create):

  • src/GraphicsContext3DPrivate.h:
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::createLayerTreeHostContext3D):
(WebKit::WebViewImpl::graphicsContext3D):

  • tests/MockGraphicsContext3DTest.cpp:

(TEST):

12:50 Changeset [94970] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

Implement a HashChangeEvent constructor for JSC
https://bugs.webkit.org/show_bug.cgi?id=67924

Unreviewed. Updating results which were forgotten.

  • fast/dom/constructed-objects-prototypes-expected.txt:
12:35 WebKit Team edited by adauria@apple.com
Adding myself to list of committers. (diff)
11:55 Changeset [94969] by crogers@google.com
  • 3 edits
    2 adds in trunk

DelayNode delay buffer is not correctly wrapping around
https://bugs.webkit.org/show_bug.cgi?id=67872

Reviewed by Kenneth Russell.

Source/WebCore:

Test: webaudio/delaynode.html

  • webaudio/DelayDSPKernel.cpp:

(WebCore::DelayDSPKernel::process):

LayoutTests:

  • webaudio/delaynode-expected.txt: Added.
  • webaudio/delaynode.html: Added.
11:12 Changeset [94968] by ossy@webkit.org
  • 4 edits in trunk/Source/WebKit/qt

[Qt] Fix "Unmatched parentheses are deprecated." warnings
https://bugs.webkit.org/show_bug.cgi?id=67775

Reviewed by Zoltan Herczeg.

Modify function declarations to single line to make qmake happier.

  • Api/qwebframe.h:
  • Api/qwebpluginfactory.h:
  • Api/qwebview.h:
11:00 Changeset [94967] by jamesr@google.com
  • 6 edits in branches/chromium/874/Source/WebCore

Merge 94964 - [chromium] REGRESSION(94353): Compositor textures and resources leaked when tab closed that is not last tab in the process
https://bugs.webkit.org/show_bug.cgi?id=67816

Reviewed by Kenneth Russell.

We lack infrastructure to construct an automated test for this today. To test manually, open up a composited
page (like the poster circle), duplicate the tab many times, close all the duplicates, and verify that the
memory use returns to the single tab level.

  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::setLayerTreeHost):

  • platform/graphics/chromium/VideoLayerChromium.cpp:

(WebCore::VideoLayerChromium::setLayerTreeHost):

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::clearRenderSurfacesRecursive):
(WebCore::CCLayerTreeHost::setRootLayer):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

TBR=jamesr@google.com
BUG=96288
Review URL: http://codereview.chromium.org/7873004

10:55 Changeset [94966] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

Selectstart is not fired when selection was created by arrow keys.
https://bugs.webkit.org/show_bug.cgi?id=60430

Patch by Arko Saha <arko@motorola.com> on 2011-09-12
Reviewed by Ryosuke Niwa.

Source/WebCore:

Fire selectstart when a user starts extending the selection using arrow key.
Fixed by Arko Saha <arko@motorola.com> and Kaustubh Atrawalkar <kaustubh@motorola.com>

Tests: fast/events/selectstart-by-arrow-keys-prevent-default.html

fast/events/selectstart-by-arrow-keys.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::shouldChangeSelection):
(WebCore::FrameSelection::dispatchSelectStart):

  • editing/FrameSelection.h:

LayoutTests:

  • fast/events/selectstart-by-arrow-keys-expected.txt: Added.
  • fast/events/selectstart-by-arrow-keys-prevent-default-expected.txt: Added.
  • fast/events/selectstart-by-arrow-keys-prevent-default.html: Added.
  • fast/events/selectstart-by-arrow-keys.html: Added.
10:54 Changeset [94965] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk/Source/WebKit/efl

Patch by Flavio Ceolin <flavio.ceolin@profusion.mobi> on 2011-09-12
Reviewed by Martin Robinson.

[EFL] Add custom network resource handler
https://bugs.webkit.org/show_bug.cgi?id=44759

This patch adds support for handling user-specific protocols.
It allows browsers to intercept and handle non-standard url schemes (such as preferences://)
allowing to load some resource from non-http/file storage, like a tar/zip/eet.

  • CMakeListsEfl.txt:
  • ewk/ewk_protocol_handler.cpp: Added.
  • ewk/ewk_protocol_handler.h: Added.
  • ewk/ewk_protocol_handler_soup.cpp: Added.
  • ewk/ewk_protocol_handler_soup.h: Added.
  • ewk/ewk_private.h:
  • ewk/ewk_view.cpp:

(ewk_view_protocol_handler_set):
(ewk_view_protocol_handler_unset):
(ewk_view_protocol_handler_resource_get):

  • ewk/ewk_view.h:
10:52 Changeset [94964] by jamesr@google.com
  • 6 edits in trunk/Source/WebCore

[chromium] REGRESSION(94353): Compositor textures and resources leaked when tab closed that is not last tab in the process
https://bugs.webkit.org/show_bug.cgi?id=67816

Reviewed by Kenneth Russell.

We lack infrastructure to construct an automated test for this today. To test manually, open up a composited
page (like the poster circle), duplicate the tab many times, close all the duplicates, and verify that the
memory use returns to the single tab level.

  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::setLayerTreeHost):

  • platform/graphics/chromium/VideoLayerChromium.cpp:

(WebCore::VideoLayerChromium::setLayerTreeHost):

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::clearRenderSurfacesRecursive):
(WebCore::CCLayerTreeHost::setRootLayer):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:
10:45 Changeset [94963] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Chromium shadow-buffer-partial test change.
https://bugs.webkit.org/show_bug.cgi?id=67849

Patch by Ben Wagner <bungeman@chromium.org> on 2011-09-12
Reviewed by Kenneth Russell.

  • platform/chromium/test_expectations.txt:
10:44 Rebaseline edited by jamesr@google.com
(diff)
10:40 Changeset [94962] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Implement a HashChangeEvent constructor for JSC
https://bugs.webkit.org/show_bug.cgi?id=67924

Patch by Kentaro Hara <haraken@google.com> on 2011-09-12
Reviewed by Sam Weinig.

Source/WebCore:

The spec for the HashChangeEvent constructor is here:
http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent

Test: fast/events/constructors/hash-change-event-constructor.html

  • bindings/generic/EventConstructors.h: Added a definition for the HashChangeEvent constructor.
  • bindings/js/JSEventConstructors.cpp: Added #includes for HashChangeEvent.
  • dom/HashChangeEvent.h: Added a definition for HashChangeEventInit.

(WebCore::HashChangeEventInit::HashChangeEventInit):
(WebCore::HashChangeEvent::create):
(WebCore::HashChangeEvent::HashChangeEvent):

  • dom/HashChangeEvent.idl: Makes HashChangeEvent constructible.

LayoutTests:

hash-change-event-constructor.html checks the behavior of the HashChangeEvent constructor.

  • fast/events/constructors/hash-change-event-constructor-expected.txt: Added.
  • fast/events/constructors/hash-change-event-constructor.html: Added.
  • platform/chromium/test_expectations.txt: Skipped hash-change-event-constructor.html, since V8 does not yet have the HashChangeEvent constructor.
10:31 Changeset [94961] by reed@google.com
  • 2 edits in trunk/Source/WebCore

[skia] remove dead code, no functionality change
https://bugs.webkit.org/show_bug.cgi?id=67844

Reviewed by Kenneth Russell.

No new tests. just removing dead-code, existing tests apply

  • platform/graphics/chromium/FontChromiumWin.cpp:

(WebCore::Font::drawGlyphs):

10:02 Changeset [94960] by alexis.menard@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[Qt]Style error fix.

Reviewed by Andreas Kling.

  • UIProcess/qt/QtWebPageProxy.cpp:
09:46 Changeset [94959] by japhet@chromium.org
  • 2 edits in trunk/LayoutTests

2011-09-12 Nate Chapin <japhet@chromium.org>

Add video-zoom-controls.html to chromium expectations
for leopard gpu.

  • platform/chromium/test_expectations.txt:
08:24 Changeset [94958] by pfeldman@chromium.org
  • 5 edits in trunk

Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
https://bugs.webkit.org/show_bug.cgi?id=67934

Reviewed by Tony Gentilcore.

Source/WebCore:

  • inspector/InjectedScriptSource.js:

LayoutTests:

  • inspector/runtime/runtime-setPropertyValue.html:
08:22 Changeset [94957] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: event dividers do not update timeline boundaries.
https://bugs.webkit.org/show_bug.cgi?id=67932

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._onLoadEventFired):
(WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
(WebInspector.NetworkLogView.prototype.refresh):
(WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventTime):

07:54 Changeset [94956] by kbalazs@webkit.org
  • 1 edit in trunk/Tools/ChangeLog

Oops. Missed the reviewer in my the previous commit.

07:20 Changeset [94955] by kbalazs@webkit.org
  • 2 edits in trunk/Tools

[Qt][WK2] WebKitTestRunner does not produce crash logs
https://bugs.webkit.org/show_bug.cgi?id=67714

Added a simple way of generating backtrace on crash
to the web process. The implementation is similar what
we have in DRT. It depends on GNU libc functionality
so it is only enabled where we are running in such an environment.

  • WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:

(WTR::printBacktrace):
(WTR::crashHandler):
(WTR::InjectedBundle::platformInitialize):

06:33 Changeset [94954] by abecsi@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Qt] Build fails after r94920 with strict compiler
https://bugs.webkit.org/show_bug.cgi?id=67928

Reviewed by Csaba Osztrogonác.

  • wtf/RedBlackTree.h:

(WTF::RedBlackTree::insert): Remove dead variables updateStart and newSubTreeRoot.

04:09 Changeset [94953] by commit-queue@webkit.org
  • 5 edits in trunk

Implement a WebKitAnimationEvent constructor for V8
https://bugs.webkit.org/show_bug.cgi?id=67922

Patch by Kentaro Hara <haraken@google.com> on 2011-09-12
Reviewed by Adam Barth.

Source/WebCore:

Test: fast/events/constructors/webkit-animation-event-constructor.html

  • bindings/v8/custom/V8EventConstructors.cpp: Added the WebKitAnimationEvent constructor.
  • dom/WebKitAnimationEvent.idl: Added a 'V8CustomConstructor' attribute.

LayoutTests:

Enabled webkit-animation-event-constructor.html, since now V8 has a WebKitAnimationEvent constructor.

  • platform/chromium/test_expectations.txt:
04:03 Changeset [94952] by paroga@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed build fix after r94871.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreadingOnce):

  • wtf/FastMalloc.cpp:
  • wtf/RefCountedLeakCounter.h:
02:48 Changeset [94951] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Shrink CanvasGradient for builds without ENABLE(DASHBOARD_SUPPORT).
https://bugs.webkit.org/show_bug.cgi?id=67916

Patch by Andreas Kling <kling@webkit.org> on 2011-09-12
Reviewed by Kenneth Rohde Christiansen.

  • html/canvas/CanvasGradient.cpp:

(WebCore::CanvasGradient::CanvasGradient):
(WebCore::CanvasGradient::addColorStop):

  • html/canvas/CanvasGradient.h:
01:45 Changeset [94950] by zoltan@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt][ARMv5] fast/events/constructors/progress-event-constructor.html is failing
https://bugs.webkit.org/show_bug.cgi?id=67927

Skip it.

  • platform/qt-arm/Skipped:
01:09 Changeset [94949] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: add fast/events/constructors/progress-event-constructor.html
00:21 Changeset [94948] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: perf/show-hide-table-rows.html slow to timeout
00:14 Changeset [94947] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Characters beyond U+10000 should be deleted by one pressing delete key.
https://bugs.webkit.org/show_bug.cgi?id=40351

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-09-12
Reviewed by Kent Tamura.

Source/WebCore:

If a character is the trail part of unicode surrogate pair, the lead part of it
should also be deleted. Also, If in MacOSX, the deletion should honor Mac's behavior.

Test: editing/deleting/delete-surrogatepair.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::previousOffsetForBackwardDeletion):

Added if-macro to support chromium on mac, and added trail part check for unicode character.

LayoutTests:

Added deletion tests.

  • editing/deleting/delete-surrogatepair-expected.txt: Added.
  • editing/deleting/delete-surrogatepair.html: Added.

09/11/11:

22:46 Changeset [94946] by hayato@chromium.org
  • 8 edits in trunk

Implement a ProgressEvent constructor for V8
https://bugs.webkit.org/show_bug.cgi?id=67800

Patch by Kentaro Hara <haraken@google.com> on 2011-09-11
Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/events/constructors/progress-event-constructor.html

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue): Replaced UnsignedLongLongMax with std::numeric_limits<unsigned long long>::max().

  • bindings/v8/OptionsObject.cpp:

(WebCore::OptionsObject::getKeyValue): Returns an unsigned long long value corresponding to a given key. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long

  • bindings/v8/OptionsObject.h:
  • bindings/v8/custom/V8EventConstructors.cpp: Added the ProgressEvent constructor.
  • dom/ProgressEvent.idl: Added a 'V8CustomConstructor' attribute.

LayoutTests:

Enabled fast/events/constructors/progress-event-constructor.html

  • platform/chromium/test_expectations.txt:
22:26 Changeset [94945] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: slow perf/show-hide-table-rows.html
21:20 Changeset [94944] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: slow perf/document-contains.html
21:00 Changeset [94943] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/test_expectations.txt: add svg/custom/simple-text-double-shadow.svg
20:42 Changeset [94942] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

DFGNode.h has macros that indicate the enabling of a feature, but
they do not use the ENABLE() idiom.
https://bugs.webkit.org/show_bug.cgi?id=67907

Reviewed by Oliver Hunt.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::stronglyPredict):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::predictArgumentTypes):

  • dfg/DFGJITCodeGenerator.cpp:
  • dfg/DFGJITCodeGenerator.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::fillInt32ToInteger):
(JSC::DFG::JITCompiler::jumpFromSpeculativeToNonSpeculative):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:
  • dfg/DFGNode.h:
  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::fixpoint):
(JSC::DFG::Propagator::propagateNode):
(JSC::DFG::Propagator::propagateForward):
(JSC::DFG::Propagator::propagateBackward):
(JSC::DFG::propagate):

  • dfg/DFGScoreBoard.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

20:34 Changeset [94941] by koz@chromium.org
  • 6 edits
    14 moves
    34 adds
    28 deletes in trunk/LayoutTests

Rebaseline for bug 65583 (path based border radius drawing on skia) part 3
https://bugs.webkit.org/show_bug.cgi?id=67830

Patch by Ben Wells <benwells@chromium.org> on 2011-09-11
Reviewed by Kenneth Russell.

  • fast/borders/: 13 changes
  • fast/frames/iframe-scaling-with-scroll-expected.txt: Renamed from LayoutTests/platform/gtk/fast/frames/iframe-scaling-with-scroll-expected.txt.
  • platform/chromium-linux/fast/: 18 changes
  • platform/chromium-win/fast/: 21 changes
  • platform/chromium/test_expectations.txt:
  • platform/mac/fast/: 13 removals
  • platform/qt/fast/: 14 removals
20:34 Changeset [94940] by mrowe@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting

It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to
interrupt a nested invocation of -run without also causing outer invocations to exit after processing
their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation
of the main runloop, while using CFRunLoopRun for any nested invocations.

Reviewed by Anders Carlsson.

  • Platform/RunLoop.h:
  • Platform/mac/RunLoopMac.mm:

(RunLoop::RunLoop): Initialize the nesting level to 0.
(RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the
runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources
left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it.
(RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop.

20:31 Changeset [94939] by ukai@chromium.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix for chromium/mac & clang.

Fix the macro redefinition error by r94927, because chromium set
ENABLE_JSC_MULTIPLE_THREADS=0 in WebKit/chromium/features.gypi and
it is not PLATFORM(QT).

../../JavaScriptCore/wtf/Platform.h:512:9: error: 'ENABLE_JSC_MULTIPLE_THREADS' macro redefined [-Werror]
#define ENABLE_JSC_MULTIPLE_THREADS 1
<command line>:43:9: note: previous definition is here
#define ENABLE_JSC_MULTIPLE_THREADS 0
1 error generated.

  • wtf/Platform.h:
20:25 Changeset [94938] by dglazkov@chromium.org
  • 4 edits
    2 adds in trunk

REGRESSION (r87351): toggling display of lots (thousands) of elements with display:none is very slow
https://bugs.webkit.org/show_bug.cgi?id=67581

Reviewed by Darin Adler.

Source/WebCore:

Test: perf/show-hide-table-rows.html

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRendererFactory::createRendererAndStyle): Moved style-creating code into createRendererIfNeeded, renamed

to createRenderer.

(WebCore::NodeRendererFactory::createRendererIfNeeded): Re-arrange code to avoid unnecessary creation of renderers.

LayoutTests:

  • perf/show-hide-table-rows-expected.txt: Added.
  • perf/show-hide-table-rows.html: Added.
20:21 Changeset [94937] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures
https://bugs.webkit.org/show_bug.cgi?id=67094

Reviewed by Andreas Kling.

  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::init):

20:14 Changeset [94936] by jeremy@chromium.org
  • 7 edits in trunk/Source

[Chromium] Change OOP Font loading code to use CGFont*() APIs.
https://bugs.webkit.org/show_bug.cgi?id=66935

This change is necessary due a bug in ATSFontDeactivate() on 10.7.
See crbug.com/93191 for details.

Reviewed by Eric Seidel.

Source/WebCore:

No new tests - covered by existing tests.

  • platform/chromium/PlatformBridge.h:
  • platform/graphics/chromium/CrossProcessFontLoading.h:
  • platform/graphics/chromium/CrossProcessFontLoading.mm:

(WebCore::MemoryActivatedFont::create):
(WebCore::MemoryActivatedFont::MemoryActivatedFont):
(WebCore::MemoryActivatedFont::~MemoryActivatedFont):

Source/WebKit/chromium:

  • public/mac/WebSandboxSupport.h:
  • src/PlatformBridge.cpp:

(WebCore::PlatformBridge::loadFont):

19:22 Changeset [94935] by abarth@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Add more key codes to WebInputEvent for Android
https://bugs.webkit.org/show_bug.cgi?id=67887

Reviewed by Darin Fisher.

  • src/WebInputEvent.cpp:

(WebKit::staticKeyIdentifiers):

19:19 Changeset [94934] by ukai@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed, one more rebaseline for r94912

  • platform/chromium-cg-mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
18:52 Changeset [94933] by ukai@chromium.org
  • 4 edits
    2 deletes in trunk/LayoutTests

Unreviewed, update chromium test expectations and rebaselines for r94912

  • platform/chromium-cg-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • platform/chromium-cg-mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
  • platform/chromium/test_expectations.txt:
15:41 Changeset [94932] by weinig@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove JSCell::isPropertyNameIterator(), it is unused
https://bugs.webkit.org/show_bug.cgi?id=67911

Reviewed by Oliver Hunt.

  • runtime/JSCell.h:
  • runtime/JSPropertyNameIterator.h:
15:29 Changeset [94931] by weinig@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

De-virtualize JSCell::isAPIValueWrapper
https://bugs.webkit.org/show_bug.cgi?id=67909

Reviewed by Oliver Hunt.

  • runtime/JSAPIValueWrapper.h:

(JSC::JSAPIValueWrapper::createStructure):
Set the correct type on structure creation.

  • runtime/JSCell.h:

Remove virtual keyword and default implementation.

  • runtime/JSType.h:

Add type for APIValueWrapper. It must come after CompoundType since
the APIValueWrapper has children in need of marking.

  • runtime/Structure.h:

(JSC::JSCell::isAPIValueWrapper):
Implement predicate using type info.

14:45 Changeset [94930] by weinig@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

De-virtualize JSCell::isGetterSetter, type information is available for it
https://bugs.webkit.org/show_bug.cgi?id=67902

Reviewed by Dan Bernstein.

  • runtime/GetterSetter.cpp:
  • runtime/GetterSetter.h:

Remove override of isGetterSetter.

  • runtime/JSCell.cpp:
  • runtime/JSCell.h:

De-virtualize and remove silly base implementation.

  • runtime/Structure.h:

(JSC::JSCell::isGetterSetter):
Use type info to determine getter-setter-hood.

14:11 Changeset [94929] by oliver@apple.com
  • 110 edits in trunk/Source

Remove support for anonymous storage from jsobjects
https://bugs.webkit.org/show_bug.cgi?id=67881

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Remove all use of anonymous slots, essentially a mechanical change
in JavaScriptCore

  • API/JSCallbackConstructor.h:

(JSC::JSCallbackConstructor::createStructure):

  • API/JSCallbackFunction.h:

(JSC::JSCallbackFunction::createStructure):

  • API/JSCallbackObject.h:

(JSC::JSCallbackObject::createStructure):

(JSC::DebuggerActivation::createStructure):

  • heap/MarkStack.cpp:

(JSC::MarkStack::validateValue):

  • heap/MarkStack.h:
  • runtime/Arguments.h:

(JSC::Arguments::createStructure):

  • runtime/ArrayConstructor.h:

(JSC::ArrayConstructor::createStructure):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):

  • runtime/ArrayPrototype.h:

(JSC::ArrayPrototype::createStructure):

  • runtime/BooleanObject.h:

(JSC::BooleanObject::createStructure):

  • runtime/BooleanPrototype.cpp:

(JSC::BooleanPrototype::BooleanPrototype):

  • runtime/BooleanPrototype.h:

(JSC::BooleanPrototype::createStructure):

  • runtime/DateConstructor.h:

(JSC::DateConstructor::createStructure):

  • runtime/DateInstance.h:

(JSC::DateInstance::createStructure):

  • runtime/DatePrototype.cpp:

(JSC::DatePrototype::DatePrototype):

  • runtime/DatePrototype.h:

(JSC::DatePrototype::createStructure):

  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::createStructure):

  • runtime/ErrorPrototype.cpp:

(JSC::ErrorPrototype::finishCreation):

  • runtime/ErrorPrototype.h:

(JSC::ErrorPrototype::createStructure):

  • runtime/ExceptionHelpers.h:

(JSC::InterruptedExecutionError::createStructure):
(JSC::TerminatedExecutionError::createStructure):

  • runtime/Executable.h:

(JSC::ExecutableBase::createStructure):
(JSC::NativeExecutable::createStructure):
(JSC::EvalExecutable::createStructure):
(JSC::ProgramExecutable::createStructure):
(JSC::FunctionExecutable::createStructure):

  • runtime/FunctionPrototype.h:

(JSC::FunctionPrototype::createStructure):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::createStructure):

  • runtime/InternalFunction.h:

(JSC::InternalFunction::createStructure):

  • runtime/JSAPIValueWrapper.h:

(JSC::JSAPIValueWrapper::createStructure):

  • runtime/JSActivation.h:

(JSC::JSActivation::createStructure):

  • runtime/JSArray.h:

(JSC::JSArray::createStructure):

  • runtime/JSByteArray.cpp:

(JSC::JSByteArray::createStructure):

  • runtime/JSCell.h:
  • runtime/JSFunction.h:

(JSC::JSFunction::createStructure):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::createStructure):

  • runtime/JSNotAnObject.h:

(JSC::JSNotAnObject::createStructure):

  • runtime/JSONObject.h:

(JSC::JSONObject::createStructure):

  • runtime/JSObject.h:

(JSC::JSObject::createStructure):
(JSC::JSNonFinalObject::createStructure):
(JSC::JSFinalObject::createStructure):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::create):

  • runtime/JSPropertyNameIterator.h:

(JSC::JSPropertyNameIterator::createStructure):

  • runtime/JSStaticScopeObject.h:

(JSC::JSStaticScopeObject::createStructure):

  • runtime/JSString.h:

(JSC::RopeBuilder::createStructure):

  • runtime/JSVariableObject.h:

(JSC::JSVariableObject::createStructure):

  • runtime/JSWrapperObject.h:

(JSC::JSWrapperObject::createStructure):

  • runtime/MathObject.h:

(JSC::MathObject::createStructure):

  • runtime/NativeErrorConstructor.h:

(JSC::NativeErrorConstructor::createStructure):

  • runtime/NumberConstructor.h:

(JSC::NumberConstructor::createStructure):

  • runtime/NumberObject.h:

(JSC::NumberObject::createStructure):

  • runtime/NumberPrototype.cpp:

(JSC::NumberPrototype::NumberPrototype):

  • runtime/NumberPrototype.h:

(JSC::NumberPrototype::createStructure):

  • runtime/ObjectConstructor.h:

(JSC::ObjectConstructor::createStructure):

  • runtime/ObjectPrototype.cpp:

(JSC::ObjectPrototype::finishCreation):

  • runtime/ObjectPrototype.h:

(JSC::ObjectPrototype::createStructure):

  • runtime/RegExp.h:

(JSC::RegExp::createStructure):

  • runtime/RegExpConstructor.h:

(JSC::RegExpConstructor::createStructure):

  • runtime/RegExpObject.h:

(JSC::RegExpObject::createStructure):

  • runtime/RegExpPrototype.h:

(JSC::RegExpPrototype::createStructure):

  • runtime/ScopeChain.h:

(JSC::ScopeChainNode::createStructure):

  • runtime/StrictEvalActivation.h:

(JSC::StrictEvalActivation::createStructure):

  • runtime/StringConstructor.h:

(JSC::StringConstructor::createStructure):

  • runtime/StringObject.h:

(JSC::StringObject::createStructure):

  • runtime/StringObjectThatMasqueradesAsUndefined.h:

(JSC::StringObjectThatMasqueradesAsUndefined::createStructure):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::StringPrototype):

  • runtime/StringPrototype.h:

(JSC::StringPrototype::createStructure):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::addPropertyTransitionToExistingStructure):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::removePropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::getterSetterTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::removePropertyWithoutTransition):
(JSC::Structure::get):
(JSC::Structure::putSpecificValue):
(JSC::Structure::remove):
(JSC::Structure::checkConsistency):

  • runtime/Structure.h:

(JSC::Structure::create):
(JSC::Structure::propertyStorageSize):
(JSC::Structure::get):

  • runtime/StructureChain.h:

(JSC::StructureChain::createStructure):

Source/JavaScriptGlue:

Don't need an anonymous slot count anymore

  • UserObjectImp.h:

(UserObjectImp::createStructure):

Source/WebCore:

Remove all use of anonymous slots, this required modifying
bindings generation to add member variables for cached attributes,
and override visitChildren with the necessary logic to mark those
new members.

I added bindings generation tests for these values.

  • bindings/js/JSAudioConstructor.h:

(WebCore::JSAudioConstructor::createStructure):

  • bindings/js/JSDOMBinding.h:

(WebCore::DOMConstructorObject::createStructure):

  • bindings/js/JSDOMGlobalObject.h:

(WebCore::JSDOMGlobalObject::createStructure):

  • bindings/js/JSDOMWindowBase.h:

(WebCore::JSDOMWindowBase::createStructure):

  • bindings/js/JSDOMWindowShell.h:

(WebCore::JSDOMWindowShell::createStructure):

  • bindings/js/JSDOMWrapper.h:

(WebCore::JSDOMWrapper::createStructure):

  • bindings/js/JSImageConstructor.h:

(WebCore::JSImageConstructor::createStructure):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::data):
(WebCore::JSMessageEvent::initMessageEvent):

  • bindings/js/JSOptionConstructor.h:

(WebCore::JSOptionConstructor::createStructure):

  • bindings/js/JSWorkerContextBase.h:

(WebCore::JSWorkerContextBase::createStructure):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDeclaration):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestInterface.h:

(WebCore::JSTestInterface::createStructure):
(WebCore::JSTestInterfacePrototype::createStructure):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(WebCore::JSTestMediaQueryListListener::createStructure):
(WebCore::JSTestMediaQueryListListenerPrototype::createStructure):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::createStructure):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::JSTestObj::visitChildren):

  • bindings/scripts/test/JS/JSTestObj.h:

(WebCore::JSTestObj::createStructure):
(WebCore::JSTestObjPrototype::createStructure):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(WebCore::JSTestSerializedScriptValueInterface::createStructure):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):

  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjInternal::cachedAttribute1AttrGetter):
(WebCore::TestObjInternal::cachedAttribute2AttrGetter):

  • bridge/c/CRuntimeObject.h:

(JSC::Bindings::CRuntimeObject::createStructure):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CRuntimeMethod::createStructure):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaRuntimeMethod::createStructure):

  • bridge/jni/jsc/JavaRuntimeObject.h:

(JSC::Bindings::JavaRuntimeObject::createStructure):

  • bridge/objc/ObjCRuntimeObject.h:

(JSC::Bindings::ObjCRuntimeObject::createStructure):

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::createStructure):

  • bridge/objc/objc_runtime.h:

(JSC::Bindings::ObjcFallbackObjectImp::createStructure):

  • bridge/runtime_array.h:

(JSC::RuntimeArray::createStructure):

  • bridge/runtime_method.h:

(JSC::RuntimeMethod::createStructure):

  • bridge/runtime_object.h:

(JSC::Bindings::RuntimeObject::createStructure):

Source/WebKit/mac:

Remove the use of AnonymousSlotCount

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyRuntimeMethod::createStructure):

  • Plugins/Hosted/ProxyRuntimeObject.h:

(WebKit::ProxyRuntimeObject::createStructure):

Source/WebKit2:

Remove the use of AnonymousSlotCount.

  • WebProcess/Plugins/Netscape/JSNPMethod.h:

(WebKit::JSNPMethod::createStructure):

  • WebProcess/Plugins/Netscape/JSNPObject.h:

(WebKit::JSNPObject::createStructure):

13:49 Changeset [94928] by mitz@apple.com
  • 4 edits in trunk/Source/WebCore/svg

Removed the svn:executable property from some source files

11:34 Changeset [94927] by ossy@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Qt] Win32 build broken due to MachineStackMarker.cpp/.o failing to link against pthreads library
https://bugs.webkit.org/show_bug.cgi?id=67864

Qt Win32 is not pthread compatible and cannot participate in multithreaded JSC or it fails to build.

Patch by Jarred Nicholls <jarred@sencha.com> on 2011-09-11
Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
10:21 Changeset [94926] by mrobinson@webkit.org
  • 3 edits
    2 deletes in trunk/LayoutTests

Remove two platform-specific results for GTK+ that no longer apply and
rebaseline one more test.

  • platform/gtk/fast/multicol/inherit-column-values-expected.txt: Removed.
  • platform/gtk/fast/multicol/initial-column-values-expected.txt: Removed.
  • svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png: Rebaselined.
  • svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Ditto.
09:56 Changeset [94925] by mrobinson@webkit.org
  • 2 edits in trunk/LayoutTests

Unskip two tests that should be passing now that 67383 is resolved.

  • platform/gtk/Skipped: Unskip passing tests.
00:27 Changeset [94924] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt][Mac] Unreviewed gardening. Paint the Qt-Mac bot green.

  • platform/qt-mac/Skipped: Skip new failing tests.
00:13 Changeset [94923] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Added my IRC nick to the committers file.

  • Scripts/webkitpy/common/config/committers.py:
00:08 Changeset [94922] by ossy@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

ARM and MIPS assemblers still refer to executable pools.
https://bugs.webkit.org/show_bug.cgi?id=67903

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-09-11
Reviewed by Csaba Osztrogonác.

  • assembler/ARMAssembler.cpp:

(JSC::ARMAssembler::executableCopy):

  • assembler/ARMAssembler.h:
  • assembler/AssemblerBufferWithConstantPool.h:
  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::executableCopy):

00:06 Changeset [94921] by ossy@webkit.org
  • 1 edit
    16 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Add Qt specific expected results for new passing tests.

  • platform/qt/fast/borders/block-mask-overlay-image-outset-expected.png: Added.
  • platform/qt/fast/borders/block-mask-overlay-image-outset-expected.txt: Added.
  • platform/qt/fast/borders/border-image-outset-expected.png: Added.
  • platform/qt/fast/borders/border-image-outset-expected.txt: Added.
  • platform/qt/fast/borders/border-image-outset-in-shorthand-expected.png: Added.
  • platform/qt/fast/borders/border-image-outset-in-shorthand-expected.txt: Added.
  • platform/qt/fast/borders/border-image-outset-split-inline-expected.png: Added.
  • platform/qt/fast/borders/border-image-outset-split-inline-expected.txt: Added.
  • platform/qt/fast/borders/border-image-outset-split-inline-vertical-lr-expected.png: Added.
  • platform/qt/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt: Added.
  • platform/qt/fast/borders/inline-mask-overlay-image-outset-expected.png: Added.
  • platform/qt/fast/borders/inline-mask-overlay-image-outset-expected.txt: Added.
  • platform/qt/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.png: Added.
  • platform/qt/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.txt: Added.
  • platform/qt/fast/reflections/reflection-masks-outset-expected.png: Added.
  • platform/qt/fast/reflections/reflection-masks-outset-expected.txt: Added.

09/10/11:

22:49 Changeset [94920] by fpizlo@apple.com
  • 41 edits
    8 adds in trunk

The executable allocator makes it difficult to free individual
chunks of executable memory
https://bugs.webkit.org/show_bug.cgi?id=66363

Reviewed by Oliver Hunt.

Introduced a best-fit, balanced-tree based allocator. The allocator
required a balanced tree that does not allocate memory and that
permits the removal of individual nodes directly (as opposed to by
key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
Changed all references to executable code to use a reference counted
handle.

Source/JavaScriptCore:

(JSC::AssemblerBuffer::executableCopy):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::finalizeCode):
(JSC::LinkBuffer::linkCode):

  • assembler/MacroAssemblerCodeRef.h:

(JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
(JSC::MacroAssemblerCodeRef::createSelfManagedCodeRef):
(JSC::MacroAssemblerCodeRef::executableMemory):
(JSC::MacroAssemblerCodeRef::code):
(JSC::MacroAssemblerCodeRef::size):
(JSC::MacroAssemblerCodeRef::operator!):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::executableCopy):
(JSC::X86Assembler::X86InstructionFormatter::executableCopy):

  • bytecode/CodeBlock.h:
  • bytecode/Instruction.h:
  • bytecode/StructureStubInfo.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::tryBuildGetByIDProtoList):
(JSC::DFG::tryCachePutByID):

  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::initializeAllocator):
(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::committedByteCount):
(JSC::ExecutableAllocator::dumpProfile):

  • jit/ExecutableAllocator.h:

(JSC::ExecutableAllocator::dumpProfile):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::ExecutableAllocator::initializeAllocator):
(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::ExecutableAllocator::isValid):
(JSC::ExecutableAllocator::underMemoryPressure):
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::committedByteCount):
(JSC::ExecutableAllocator::dumpProfile):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::JIT::compileCTIMachineTrampolines):
(JSC::JIT::compileCTINativeCall):

  • jit/JITCode.h:

(JSC::JITCode::operator !):
(JSC::JITCode::addressForCall):
(JSC::JITCode::offsetOf):
(JSC::JITCode::execute):
(JSC::JITCode::start):
(JSC::JITCode::size):
(JSC::JITCode::getExecutableMemory):
(JSC::JITCode::HostFunction):
(JSC::JITCode::JITCode):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/JITStubs.cpp:

(JSC::JITThunks::JITThunks):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::getPolymorphicAccessStructureListSlot):
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):

  • jit/JITStubs.h:
  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerators.cpp:

(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):

  • jit/ThunkGenerators.h:
  • runtime/Executable.h:

(JSC::NativeExecutable::create):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreadingOnce):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::dumpSampleData):

  • runtime/JSGlobalData.h:

(JSC::JSGlobalData::getCTIStub):

  • wtf/CMakeLists.txt:
  • wtf/MetaAllocator.cpp: Added.

(WTF::MetaAllocatorHandle::MetaAllocatorHandle):
(WTF::MetaAllocatorHandle::~MetaAllocatorHandle):
(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocator::MetaAllocator):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):
(WTF::MetaAllocator::findAndRemoveFreeSpace):
(WTF::MetaAllocator::addFreeSpaceFromReleasedHandle):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):
(WTF::MetaAllocator::addFreeSpace):
(WTF::MetaAllocator::incrementPageOccupancy):
(WTF::MetaAllocator::decrementPageOccupancy):
(WTF::MetaAllocator::roundUp):
(WTF::MetaAllocator::allocFreeSpaceNode):
(WTF::MetaAllocator::freeFreeSpaceNode):
(WTF::MetaAllocator::dumpProfile):

  • wtf/MetaAllocator.h: Added.

(WTF::MetaAllocator::bytesAllocated):
(WTF::MetaAllocator::bytesReserved):
(WTF::MetaAllocator::bytesCommitted):
(WTF::MetaAllocator::dumpProfile):
(WTF::MetaAllocator::~MetaAllocator):

  • wtf/MetaAllocatorHandle.h: Added.
  • wtf/RedBlackTree.h: Added.

(WTF::RedBlackTree::Node::Node):
(WTF::RedBlackTree::Node::successor):
(WTF::RedBlackTree::Node::predecessor):
(WTF::RedBlackTree::Node::reset):
(WTF::RedBlackTree::Node::parent):
(WTF::RedBlackTree::Node::setParent):
(WTF::RedBlackTree::Node::left):
(WTF::RedBlackTree::Node::setLeft):
(WTF::RedBlackTree::Node::right):
(WTF::RedBlackTree::Node::setRight):
(WTF::RedBlackTree::Node::color):
(WTF::RedBlackTree::Node::setColor):
(WTF::RedBlackTree::RedBlackTree):
(WTF::RedBlackTree::insert):
(WTF::RedBlackTree::remove):
(WTF::RedBlackTree::findExact):
(WTF::RedBlackTree::findLeastGreaterThanOrEqual):
(WTF::RedBlackTree::findGreatestLessThanOrEqual):
(WTF::RedBlackTree::first):
(WTF::RedBlackTree::last):
(WTF::RedBlackTree::size):
(WTF::RedBlackTree::isEmpty):
(WTF::RedBlackTree::treeMinimum):
(WTF::RedBlackTree::treeMaximum):
(WTF::RedBlackTree::treeInsert):
(WTF::RedBlackTree::leftRotate):
(WTF::RedBlackTree::rightRotate):
(WTF::RedBlackTree::removeFixup):

  • wtf/wtf.pri:
  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::compile):

  • yarr/YarrJIT.h:

(JSC::Yarr::YarrCodeBlock::execute):
(JSC::Yarr::YarrCodeBlock::getAddr):

Source/JavaScriptGlue:

  • ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.

Source/WebCore:

No new layout tests because behavior is not changed. New API unit
tests:
Tests/WTF/RedBlackTree.cpp
Tests/WTF/MetaAllocator.cpp

  • ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp: Added.

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WTF/RedBlackTree.cpp: Added.

(TestWebKitAPI::Pair::findExact):
(TestWebKitAPI::Pair::remove):
(TestWebKitAPI::Pair::findLeastGreaterThanOrEqual):
(TestWebKitAPI::Pair::assertFoundAndRemove):
(TestWebKitAPI::Pair::assertEqual):
(TestWebKitAPI::Pair::assertSameValuesForKey):
(TestWebKitAPI::Pair::testDriver):
(TestWebKitAPI::TEST_F):

22:24 Changeset [94919] by weinig@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove JSC::isZombie() function, it did nothing and was called by no-one.
https://bugs.webkit.org/show_bug.cgi?id=67901

Reviewed by Andy Estes.

22:16 Changeset [94918] by weinig@apple.com
  • 10 edits in trunk/Source

Add isInterruptedExecutionException and isTerminatedExecutionException predicates
https://bugs.webkit.org/show_bug.cgi?id=67892

Reviewed by Andy "First Time Reviewer" Estes.

../JavaScriptCore:

Add symbols.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::throwException):
Use new predicates.

  • runtime/ExceptionHelpers.cpp:

(JSC::createInterruptedExecutionException):
(JSC::isInterruptedExecutionException):
(JSC::createTerminatedExecutionException):
(JSC::isTerminatedExecutionException):

  • runtime/ExceptionHelpers.h:

(JSC::InterruptedExecutionError::InterruptedExecutionError):
Add predicates.

../WebCore:

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
Use the new predicates instead of probing the ClassInfo directly.

22:16 Changeset [94917] by aestes@apple.com
  • 2 edits in trunk/Tools

Move myself from committers_unable_to_review to reviewers_list.

  • Scripts/webkitpy/common/config/committers.py:
17:52 Changeset [94916] by kevino@webkit.org
  • 5 edits in trunk

[wx] Unreviewed build fix. MSW build fixes.

17:17 Changeset [94915] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Skip fast/images/support-broken-image-delegate.html temporarily on Mac.
The failure is tracked by the bug 67898.

  • platform/mac/Skipped:
14:23 Changeset [94914] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

DFG JIT completely undoes speculative compilation even in the case of
a partial static speculation failure
https://bugs.webkit.org/show_bug.cgi?id=67798

Reviewed by Geoffrey Garen.

This is a regression with static speculation, so it is turned off by
default. But it is a necessary prerequisite for further work on
dynamic speculation.

  • dfg/DFGJITCodeGenerator.cpp:

(JSC::DFG::JITCodeGenerator::clearGenerationInfo):

  • dfg/DFGJITCodeGenerator.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):

14:14 Changeset [94913] by hyatt@apple.com
  • 1 delete in trunk/LayoutTests/fast/borders/block-mask-overlay-image.html~

Remove emacs backup file that got committed by mistake.

14:08 Changeset [94912] by hyatt@apple.com
  • 30 edits
    25 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=67861

Implement border-image-outset (and the mask equivalents).

Reviewed by Beth Dakin.

Source/WebCore:

Added new tests in fast/borders and fast/reflections.

  • css/CSSBorderImageValue.cpp:

(WebCore::CSSBorderImageValue::CSSBorderImageValue):
(WebCore::CSSBorderImageValue::cssText):

  • css/CSSBorderImageValue.h:

(WebCore::CSSBorderImageValue::create):
Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
part of cssText().

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForNinePieceImageQuad):
(WebCore::valueForNinePieceImage):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
the code so that border-image-width and border-image-outset use a common
function.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::BorderImageParseContext::BorderImageParseContext):
(WebCore::BorderImageParseContext::allowOutset):
(WebCore::BorderImageParseContext::commitSlash):
(WebCore::BorderImageParseContext::commitBorderWidth):
(WebCore::BorderImageParseContext::commitBorderOutset):
(WebCore::BorderImageParseContext::commitRepeat):
(WebCore::BorderImageParseContext::commitBorderImage):
(WebCore::CSSParser::parseBorderImage):
Teach the border image parsing code about outsets. This code will soon be
replaced by true shorthand parsing code, but for now keep it working and add
outset support to it.

(WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
(WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
(WebCore::CSSParser::parseBorderImageQuad):
(WebCore::CSSParser::parseBorderImageWidth):
(WebCore::CSSParser::parseBorderImageOutset):

  • css/CSSParser.h:

Refactor the border-image-width code so that it can be shared by border-image-outset, since
they are extremely similar.

  • css/CSSPropertyNames.in:

Add the new properties.

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapNinePieceImage):
(WebCore::CSSStyleSelector::mapNinePieceImageQuad):
(WebCore::CSSStyleSelector::loadPendingImages):

  • css/CSSStyleSelector.h:

Refactor the code so that width/outset share common mapping functions. Add support for outset.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
(WebCore::InlineFlowBox::computeOverflow):
Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
the shadow overflow code as well.

(WebCore::clipRectForNinePieceImageStrip):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):

  • rendering/InlineFlowBox.h:

Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
include the border and mask outsets. Always include the block direction expansion, and conditionally
include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
work.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeOverflow):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::maskClipRect):
(WebCore::RenderBox::addBoxShadowAndBorderOverflow):

  • rendering/RenderBox.h:

Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
outset overflow. Fix bugs with shadow overflow computation.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintNinePieceImage):
Change painting to apply the outsets to inflate the border image drawing area.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::layout):
Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateRects):
Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):
Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.

  • rendering/style/NinePieceImage.cpp:

(WebCore::NinePieceImage::operator==):

  • rendering/style/NinePieceImage.h:

(WebCore::NinePieceImage::NinePieceImage):
(WebCore::NinePieceImage::outset):
(WebCore::NinePieceImage::setOutset):
(WebCore::NinePieceImage::computeOutset):
(WebCore::NinePieceImage::copyOutsetFrom):
Add the outset field to NinePieceImage along with some helpers for manipulating outsets.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::getImageOutsets):
(WebCore::RenderStyle::getImageHorizontalOutsets):
(WebCore::RenderStyle::getImageVerticalOutsets):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::hasBorderImageOutsets):
(WebCore::InheritedFlags::getBorderImageOutsets):
(WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
(WebCore::InheritedFlags::getBorderImageVerticalOutsets):
(WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
(WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
(WebCore::InheritedFlags::getImageInlineDirectionOutsets):
(WebCore::InheritedFlags::getImageBlockDirectionOutsets):
Helpers for outset computation used by painting and overflow functions.

LayoutTests:

  • fast/borders/block-mask-overlay-image-outset.html: Added.
  • fast/borders/block-mask-overlay-image.html~: Added.
  • fast/borders/border-image-outset-in-shorthand.html: Added.
  • fast/borders/border-image-outset-split-inline-vertical-lr.html: Added.
  • fast/borders/border-image-outset-split-inline.html: Added.
  • fast/borders/border-image-outset.html: Added.
  • fast/borders/inline-mask-overlay-image-outset-vertical-rl.html: Added.
  • fast/borders/inline-mask-overlay-image-outset.html: Added.
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-with-zoom-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-border-image-expected.txt:
  • fast/reflections/reflection-computed-style-expected.txt:
  • fast/reflections/reflection-masks-outset.html: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-outset-expected.png: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-outset-expected.txt: Added.
  • platform/mac/fast/borders/border-image-outset-expected.png: Added.
  • platform/mac/fast/borders/border-image-outset-expected.txt: Added.
  • platform/mac/fast/borders/border-image-outset-in-shorthand-expected.png: Added.
  • platform/mac/fast/borders/border-image-outset-in-shorthand-expected.txt: Added.
  • platform/mac/fast/borders/border-image-outset-split-inline-expected.png: Added.
  • platform/mac/fast/borders/border-image-outset-split-inline-expected.txt: Added.
  • platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.png: Added.
  • platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-outset-expected.png: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-outset-expected.txt: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.png: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.txt: Added.
  • platform/mac/fast/reflections/reflection-masks-outset-expected.png: Added.
  • platform/mac/fast/reflections/reflection-masks-outset-expected.txt: Added.
  • svg/css/getComputedStyle-basic-expected.txt:
12:17 Changeset [94911] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Actually prevent unnecessary casts to MediaControls*.

Reviewed by Oliver Hunt.

  • html/shadow/MediaControls.h:
11:54 Changeset [94910] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove printf added by r94900.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::drawPlatformResizerImage):

10:52 Changeset [94909] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Crash beneath WKURLIsEqual() when reloading in MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=59328

Patch by Andreas Kling <kling@webkit.org> on 2011-09-10
Reviewed by Kenneth Rohde Christiansen.

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController updateProvisionalURLForFrame:]): Add missing null check.

07:21 Changeset [94908] by cmarrin@apple.com
  • 20 edits in trunk/Source

requestAnimationFrame doesn't throttle on Mac
https://bugs.webkit.org/show_bug.cgi?id=67171

Reviewed by Simon Fraser.

Source/JavaScriptCore:

Added WTF_USE_REQUEST_ANIMATION_FRAME_TIMER to allow any platform to run
requestAnimationFrame callbacks on a Timer defined in ScriptedAnimationController.
Currently only enabled for PLATFORM(MAC)

  • wtf/Platform.h:

Source/WebCore:

Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
on Mac, rather than runLoopObservers. The Timer is throttled to fire no
faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
flag and can be used by any implementation, but currently it is only enabled
by PLATFORM(MAC).

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::resume):
(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):

  • dom/ScriptedAnimationController.h:
  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::scheduleAnimation):

  • page/ChromeClient.h:

Source/WebKit/mac:

Removed runLoopObserver for requestAnimationFrame. It's now
done by a Timer in ScriptedAnimationController in WebCore.

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:
  • WebView/WebView.mm:

(-[WebView _close]):

  • WebView/WebViewData.h:
  • WebView/WebViewInternal.h:

Source/WebKit2:

Removed runLoopObserver for requestAnimationFrame. It's now
done by a Timer in ScriptedAnimationController in WebCore.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::~WebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:
07:06 Changeset [94907] by ossy@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[Qt] Unreviewed gardening after r94897.

  • platform/qt/svg/custom/simple-text-double-shadow-expected.png: Added.
  • platform/qt/svg/custom/simple-text-double-shadow-expected.txt: Added.
06:15 Changeset [94906] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source

Source/WebCore: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
https://bugs.webkit.org/show_bug.cgi?id=34884

KURL::path() alone does not handle removing the leading slash from a windows file path.
Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.

Patch by Jarred Nicholls <jarred@sencha.com> on 2011-09-10
Reviewed by Andreas Kling.

  • platform/qt/KURLQt.cpp:

(WebCore::KURL::fileSystemPath):

Source/WebKit/qt: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
https://bugs.webkit.org/show_bug.cgi?id=34884

KURL::path() alone does not handle removing the leading slash from a windows file path.
Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.

New test case that ensures a user stylesheet from the file system will load correctly
on all platforms.

Patch by Jarred Nicholls <jarred@sencha.com> on 2011-09-10
Reviewed by Andreas Kling.

  • tests/qwebpage/resources/user.css: Added.

(p):

  • tests/qwebpage/tst_qwebpage.cpp:

(tst_QWebPage::userStyleSheetFromFile):

04:25 Changeset [94905] by commit-queue@webkit.org
  • 8 edits
    3 adds in trunk

Source/WebCore: Crash due to bad data in SVGDocumentExtensions m_pendingResources
https://bugs.webkit.org/show_bug.cgi?id=67488

Patch by Ken Buchanan <kenrb@chromium.org> on 2011-09-10
Reviewed by Nikolas Zimmermann.

Resolving a crash condition caused by the deletion of
elements while pending resource entries for those elements are still
recorded.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::registerResource)

  • svg/SVGDocumentExtensions.h:

(WebCore::SVGDocumentExtensions::isElementInPendingResources)

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::addPendingResource)
(WebCore::SVGDocumentExtensions::isElementInPendingResources)
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources)

  • svg/SVGStyledElement.h:

(WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
(WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged)

LayoutTests: Crash due to bad data in SVGDocumentExtensions m_pendingResources.
https://bugs.webkit.org/show_bug.cgi?id=67488

Patch by Ken Buchanan <kenrb@chromium.org> on 2011-09-10
Reviewed by Nikolas Zimmermann.

Test added: validating that the crash referenced in the bug is not present.

  • svg/dom/SVGStyledElement-pendingResource-crash.html: Added.
  • svg/dom/SVGStyledElement-pendingResource-crash-expected.txt: Added.
  • svg/dom/resources/SVGStyledElement-pendingResource-crash.svg: Added.
01:33 Changeset [94904] by abarth@webkit.org
  • 2 edits in trunk/Tools

Build fix for Android. DumpRenderTree is a client of the WebKit API
and does not have access to notImplemented().

  • DumpRenderTree/chromium/TestShellAndroid.cpp:

(openStartupDialog):

00:56 Changeset [94903] by abarth@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

Fix build break.

  • webkit/webkitwebview.cpp:

(webkit_web_view_get_encoding):

00:54 Changeset [94902] by abarth@webkit.org
  • 6 edits in trunk/Source/WebCore

Remove DocumentWriter::deprecatedFrameEncoding()
https://bugs.webkit.org/show_bug.cgi?id=67882

Reviewed by Eric Seidel.

Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
Proskuryakov added ContentDispositionEncodingFallbackArray to work
around a web site compatibility issue with a non-ASCII file name
becoming garbled when received in the Content-Disposition header.

Since that time, there has been copious discussion of this topic among
browser vendors, in the IETF, and in the broader web community. For
example, here is a Stack Overflow thread about this topic:

http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http

Eric Lawrence has written a blog post that summarizes IE's perspective
on this issue:

http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx

The current consensus is that browsers should implement RFC 6266,
which is a new RFC that updates the definition of the
Content-Disposition header. Chrome and Firefox have both implemented
RFC 6266 and have encountered only one issue, which was then fixed by
the web site operator. IE has also implemented RFC 6266, but I don't
have detailed information about their compatibility experience.

This patch add explicit PLATFORM #ifdefs around the quirky
implementation previously used in Apple's Mac and Windows ports. This
code is already only used on Apple's ports, so this patch introduces no
functional changes. It does, however, discourage other ports from
adopting this quirk. IMHO, Apple should remove this quirk as soon as
compatibility allows and converge behavior with the other major browser
vendors.

See bug for manual test (the bug manifests in Safari download UI).

  • loader/DocumentWriter.cpp:
  • loader/DocumentWriter.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::addExtraFieldsToRequest):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::copyData):

  • platform/network/ResourceRequestBase.h:
Note: See TracTimeline for information about the timeline view.