WebKit-https.git
8 years agoUse isAcceleratedContext() on the GraphicsContext instead of flags in ImageBuffer
mdelaney@apple.com [Thu, 15 Sep 2011 06:55:46 +0000 (06:55 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] rebaseline expectations due to r95096, r95121, and r95129
keishi@webkit.org [Thu, 15 Sep 2011 06:09:05 +0000 (06:09 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDFG does not speculate aggressively enough on comparisons
fpizlo@apple.com [Thu, 15 Sep 2011 05:49:19 +0000 (05:49 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove some dependencies of DRT for Android.
commit-queue@webkit.org [Thu, 15 Sep 2011 05:48:47 +0000 (05:48 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDFG JIT does not leverage integer speculations on branches
fpizlo@apple.com [Thu, 15 Sep 2011 05:44:07 +0000 (05:44 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agolibxml2 fragment parser loses prefix namespaces
commit-queue@webkit.org [Thu, 15 Sep 2011 05:26:45 +0000 (05:26 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[n]stricteq code is bogus in JSValue32_64 JIT
barraclough@apple.com [Thu, 15 Sep 2011 05:17:20 +0000 (05:17 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMake JSCell::toBoolean non-virtual
mhahnenberg@apple.com [Thu, 15 Sep 2011 05:15:16 +0000 (05:15 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[V8] Null-check the v8::Context in
japhet@chromium.org [Thu, 15 Sep 2011 05:12:51 +0000 (05:12 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoReplace ENABLE_XHR_RESPONSE_BLOB preprocessor statements in IDL files with Conditiona...
paroga@webkit.org [Thu, 15 Sep 2011 04:46:29 +0000 (04:46 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Add slow to debug version of styles-source-lines.html.
keishi@webkit.org [Thu, 15 Sep 2011 04:43:16 +0000 (04:43 +0000)]
[chromium] Add slow to debug version of styles-source-lines.html.

* platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Replace QT_GCC_X as they don't exist in Qt5 anymore.
alexis.menard@openbossa.org [Thu, 15 Sep 2011 04:33:16 +0000 (04:33 +0000)]
[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.

* JavaScriptCore.pro:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r95145.
commit-queue@webkit.org [Thu, 15 Sep 2011 04:27:17 +0000 (04:27 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix tests made trivial by the bugfix to 27895, by removing leading punctuation
commit-queue@webkit.org [Thu, 15 Sep 2011 04:24:50 +0000 (04:24 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Make WEB_AUDIO conditional and fix the build when disabled
commit-queue@webkit.org [Thu, 15 Sep 2011 04:15:52 +0000 (04:15 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoPrettyPatch should handle "delta" patch mechanism in git binary patches
commit-queue@webkit.org [Thu, 15 Sep 2011 04:08:41 +0000 (04:08 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoChromium: Add a layer for rubber-band overhang painting to the hardware path.
commit-queue@webkit.org [Thu, 15 Sep 2011 04:06:49 +0000 (04:06 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[v8] Improve performance of typed array copy constructor taking Array
commit-queue@webkit.org [Thu, 15 Sep 2011 03:28:43 +0000 (03:28 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Return correct value for getContextAttributes().preserveDrawingBuffer
commit-queue@webkit.org [Thu, 15 Sep 2011 03:04:37 +0000 (03:04 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] rebaselines due to r95096, and r95121.
levin@chromium.org [Thu, 15 Sep 2011 03:01:22 +0000 (03:01 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoEliminate WebKit2 compilation warnings.
commit-queue@webkit.org [Thu, 15 Sep 2011 02:53:13 +0000 (02:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoPort MachineStackMarker to Windows ARM and MIPS
paroga@webkit.org [Thu, 15 Sep 2011 02:40:46 +0000 (02:40 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove the dependency on GraphicsLayer from CCLayerTreeHost.
jamesr@google.com [Thu, 15 Sep 2011 02:34:02 +0000 (02:34 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMediaStream API: Change PeerConnection constructor name to webkitPeerConnection
commit-queue@webkit.org [Thu, 15 Sep 2011 02:26:42 +0000 (02:26 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMake sure to GC decoded images that are only used with WebGL
commit-queue@webkit.org [Thu, 15 Sep 2011 02:12:36 +0000 (02:12 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] rebaselines due to r95096, r95121, and r95129.
levin@chromium.org [Thu, 15 Sep 2011 01:46:16 +0000 (01:46 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdded a pure virtual class CCLayerDelegate which helps to isolate
jamesr@google.com [Thu, 15 Sep 2011 01:32:18 +0000 (01:32 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDFG JIT always speculates that ValueAdd is a numeric addition
fpizlo@apple.com [Thu, 15 Sep 2011 01:24:39 +0000 (01:24 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] rebaselines due to r95121, r95070, and r95099.
levin@chromium.org [Thu, 15 Sep 2011 01:22:47 +0000 (01:22 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoStop building BinarySemaphore to see if that's what's breaking the GTK+ build.
andersca@apple.com [Thu, 15 Sep 2011 00:50:48 +0000 (00:50 +0000)]
Stop building BinarySemaphore to see if that's what's breaking the GTK+ build.

* GNUmakefile.list.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoThis is getting old. Yet another build fix attempt.
andersca@apple.com [Thu, 15 Sep 2011 00:48:22 +0000 (00:48 +0000)]
This is getting old. Yet another build fix attempt.

* JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoYet another build fix attempt.
andersca@apple.com [Thu, 15 Sep 2011 00:39:21 +0000 (00:39 +0000)]
Yet another build fix attempt.

* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoHow I &quot;love&quot; Visual Studio...
andersca@apple.com [Thu, 15 Sep 2011 00:31:46 +0000 (00:31 +0000)]
How I &quot;love&quot; Visual Studio...

Try to fix build again.

* JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoTry to fix Windows build.
andersca@apple.com [Thu, 15 Sep 2011 00:26:18 +0000 (00:26 +0000)]
Try to fix Windows build.

* JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd BinarySemaphore class from WebKit2 to WTF
andersca@apple.com [Thu, 15 Sep 2011 00:15:11 +0000 (00:15 +0000)]
Add BinarySemaphore class from WebKit2 to WTF
https://bugs.webkit.org/show_bug.cgi?id=68132

Reviewed by Sam Weinig.

* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed build fix for Interpreter.
fpizlo@apple.com [Wed, 14 Sep 2011 23:55:44 +0000 (23:55 +0000)]
Unreviewed build fix for Interpreter.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoTry to fix GTK+ build.
andersca@apple.com [Wed, 14 Sep 2011 23:44:05 +0000 (23:44 +0000)]
Try to fix GTK+ build.

* GNUmakefile.list.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd wtf/threads and wtf/threads/win, so we can be sure that the EWS
andersca@apple.com [Wed, 14 Sep 2011 23:27:23 +0000 (23:27 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDFG JIT should not speculate integer if the value is always going to be
fpizlo@apple.com [Wed, 14 Sep 2011 23:06:04 +0000 (23:06 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] LayerRendererChromium shouldn't be RefCounted
jamesr@google.com [Wed, 14 Sep 2011 23:01:23 +0000 (23:01 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoTiered compilation heuristics do not account for value profile fullness
fpizlo@apple.com [Wed, 14 Sep 2011 23:00:26 +0000 (23:00 +0000)]
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.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.pro:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMedia element tests should look up controller element locations
eric.carlson@apple.com [Wed, 14 Sep 2011 22:44:31 +0000 (22:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoChanged WebKit.gyp to use the new grit version of the scripts that handle
tony@chromium.org [Wed, 14 Sep 2011 22:42:46 +0000 (22:42 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Update baselines due to r95070 and r95099.
levin@chromium.org [Wed, 14 Sep 2011 22:37:49 +0000 (22:37 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoGet rid of WebCoreViewFactory and its WebViewFactory subclass
andersca@apple.com [Wed, 14 Sep 2011 22:31:40 +0000 (22:31 +0000)]
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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=52736
hyatt@apple.com [Wed, 14 Sep 2011 22:24:23 +0000 (22:24 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove DocTypeStrings.gperf
andersca@apple.com [Wed, 14 Sep 2011 22:14:33 +0000 (22:14 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDFG should not speculate that the child of LogicalNot is a boolean if
fpizlo@apple.com [Wed, 14 Sep 2011 22:04:50 +0000 (22:04 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoChange mousedown events to keydown events, since eventSender.mouseDown
rniwa@webkit.org [Wed, 14 Sep 2011 21:58:03 +0000 (21:58 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAddress lifetime issues in OfflineAudioDestinationNode (take 2)
crogers@google.com [Wed, 14 Sep 2011 21:39:34 +0000 (21:39 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix Chromium build.
andersca@apple.com [Wed, 14 Sep 2011 21:33:01 +0000 (21:33 +0000)]
Fix Chromium build.

* src/ResourceHandle.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSource/WebKit2: Implement WKBundleFrameCopyWebArchive().
adachan@apple.com [Wed, 14 Sep 2011 21:29:41 +0000 (21:29 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=68103
hyatt@apple.com [Wed, 14 Sep 2011 21:15:56 +0000 (21:15 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoGet rid of ResourceHandle::bufferedData()
andersca@apple.com [Wed, 14 Sep 2011 21:03:20 +0000 (21:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[GTK] Unreviewed buildfix after r95107.
ossy@webkit.org [Wed, 14 Sep 2011 20:59:11 +0000 (20:59 +0000)]
[GTK] Unreviewed buildfix after r95107.

* configure.ac:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agocommitters.py should support multiple IRC nicknames
rniwa@webkit.org [Wed, 14 Sep 2011 20:58:45 +0000 (20:58 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoREGRESSION: r95108 broke Qt Linux tests
ossy@webkit.org [Wed, 14 Sep 2011 20:51:02 +0000 (20:51 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed build fix. Turn off tiered compilation.
fpizlo@apple.com [Wed, 14 Sep 2011 20:48:43 +0000 (20:48 +0000)]
Unreviewed build fix.  Turn off tiered compilation.

* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoPrediction tracking is not precise enough
fpizlo@apple.com [Wed, 14 Sep 2011 20:35:43 +0000 (20:35 +0000)]
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.

* GNUmakefile.list.am:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/PredictedType.cpp: Added.
(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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[skia] fast/canvas/setWidthResetAfterForcedRender is flaky
jamesr@google.com [Wed, 14 Sep 2011 20:12:19 +0000 (20:12 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago Web Process doesn't need a permission to look up WebProcess service any more
ap@apple.com [Wed, 14 Sep 2011 20:05:19 +0000 (20:05 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove ENABLE_SVG_USE as <use> is required by HTML5
eric@webkit.org [Wed, 14 Sep 2011 20:02:55 +0000 (20:02 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUpdate media-controls.js so it can find the timeline slider
eric.carlson@apple.com [Wed, 14 Sep 2011 19:25:46 +0000 (19:25 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Win32 builds with threads turned off
ossy@webkit.org [Wed, 14 Sep 2011 19:10:04 +0000 (19:10 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoImplement globalFlag for WebKitTestRunner
jonlee@apple.com [Wed, 14 Sep 2011 19:00:50 +0000 (19:00 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnzip initialization lists and constructors in JSCell hierarchy (6/7)
mhahnenberg@apple.com [Wed, 14 Sep 2011 18:55:25 +0000 (18:55 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove ENABLE_SVG_USE as <use> is required by HTML5
eric@webkit.org [Wed, 14 Sep 2011 18:49:16 +0000 (18:49 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed; new baselines (Skia on Mac)
caryclark@google.com [Wed, 14 Sep 2011 18:47:34 +0000 (18:47 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed; new baselines (Skia on Mac)
caryclark@google.com [Wed, 14 Sep 2011 18:46:19 +0000 (18:46 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMediaPlayerPrivateAVFoundationObjC's "periodic time observer" is unnecessary
eric.carlson@apple.com [Wed, 14 Sep 2011 18:41:32 +0000 (18:41 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=68054
bdakin@apple.com [Wed, 14 Sep 2011 18:35:49 +0000 (18:35 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agovideo-error-abort.html shouldn't be in Mac skipped list
eric.carlson@apple.com [Wed, 14 Sep 2011 18:27:23 +0000 (18:27 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Unreviewed gardening.
senorblanco@chromium.org [Wed, 14 Sep 2011 18:05:00 +0000 (18:05 +0000)]
[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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
jamesr@google.com [Wed, 14 Sep 2011 18:02:27 +0000 (18:02 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=68040
hyatt@apple.com [Wed, 14 Sep 2011 17:58:11 +0000 (17:58 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove Jan Erik Hanssen (added in my r95078) from the list for now
rniwa@webkit.org [Wed, 14 Sep 2011 17:16:38 +0000 (17:16 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoquery SystemParametersInfo for GDI font smoothing settings
reed@google.com [Wed, 14 Sep 2011 17:04:12 +0000 (17:04 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=68050
hyatt@apple.com [Wed, 14 Sep 2011 16:45:23 +0000 (16:45 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed. timeline-animation-frame.html was marked as TEXT.
loislo@chromium.org [Wed, 14 Sep 2011 16:27:27 +0000 (16:27 +0000)]
Unreviewed. timeline-animation-frame.html was marked as TEXT.

* platform/qt/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed. timeline-animation-frame.html was marked as TIMEOUT.
loislo@chromium.org [Wed, 14 Sep 2011 15:54:08 +0000 (15:54 +0000)]
Unreviewed. timeline-animation-frame.html was marked as TIMEOUT.

* platform/qt/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago2011-09-13 Pavel Feldman <pfeldman@google.com>
pfeldman@chromium.org [Wed, 14 Sep 2011 15:09:56 +0000 (15:09 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago2011-09-14 Pavel Feldman <pfeldman@google.com>
pfeldman@chromium.org [Wed, 14 Sep 2011 14:59:46 +0000 (14:59 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
loislo@chromium.org [Wed, 14 Sep 2011 14:34:32 +0000 (14:34 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoHashTraits.h should include template specialization for WTF::String
steveblock@google.com [Wed, 14 Sep 2011 14:20:45 +0000 (14:20 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has...
pfeldman@chromium.org [Wed, 14 Sep 2011 14:14:37 +0000 (14:14 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] Add NULL checks to ewk_window_features_new_from_core and ewk_view_window_create.
commit-queue@webkit.org [Wed, 14 Sep 2011 13:52:30 +0000 (13:52 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, update chromium test expectations.
ukai@chromium.org [Wed, 14 Sep 2011 13:41:42 +0000 (13:41 +0000)]
Unreviewed, update chromium test expectations.

* platform/chromium/test_expectations.txt: fix lint-test-files error

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agopage-transition-event-constructor-expected.txt is missing
haraken@google.com [Wed, 14 Sep 2011 10:06:29 +0000 (10:06 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Remove obsolete WebViewClient methods from DumpRenderTree.
jochen@chromium.org [Wed, 14 Sep 2011 09:48:59 +0000 (09:48 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r95080.
commit-queue@webkit.org [Wed, 14 Sep 2011 09:41:41 +0000 (09:41 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: [v8] building call frame info for location-less internal script functi...
pfeldman@chromium.org [Wed, 14 Sep 2011 09:29:31 +0000 (09:29 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, update chromium test expecations.
ukai@chromium.org [Wed, 14 Sep 2011 08:31:41 +0000 (08:31 +0000)]
Unreviewed, update chromium test expecations.

* platform/chromium/test_expectations.txt:
  - remove failure by r95058, which was reverted by r95077.
  - add failures by r95070

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed, update test expectations for
rgabor@webkit.org [Wed, 14 Sep 2011 08:25:20 +0000 (08:25 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoLarge canvas fills should not crash or create unnecessarily large image buffers
commit-queue@webkit.org [Wed, 14 Sep 2011 08:10:05 +0000 (08:10 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoImplement a PageTransitionEvent constructor for JSC
haraken@google.com [Wed, 14 Sep 2011 07:40:25 +0000 (07:40 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agocommitters.py is missing some contributors
rniwa@webkit.org [Wed, 14 Sep 2011 06:58:10 +0000 (06:58 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r95058.
ossy@webkit.org [Wed, 14 Sep 2011 06:46:28 +0000 (06:46 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix webkit python test after r95061.
rniwa@webkit.org [Wed, 14 Sep 2011 06:32:53 +0000 (06:32 +0000)]
Fix webkit python test after r95061.

* Scripts/webkitpy/tool/bot/irc_command_unittest.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd wangxianzhu@chromium.org as a contributor.
jnd@chromium.org [Wed, 14 Sep 2011 04:37:36 +0000 (04:37 +0000)]
Add wangxianzhu@chromium.org as a contributor.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoCrash in RenderScrollbarPart::imageChanged.
inferno@chromium.org [Wed, 14 Sep 2011 04:19:45 +0000 (04:19 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95074 268f45cc-cd09-0410-ab3c-d52691b4dbfc