WebKit-https.git
7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Mon, 24 Sep 2012 16:36:47 +0000 (16:36 +0000)]
[EFL] Unreviewed gardening.

Skip a few tests unskipped in r129372 and r129375 that still fail
on the bots.

* platform/efl/TestExpectations:

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

7 years agoWeb Inspector: [TextEditor] conditional breakpoint popup not showing up the first...
commit-queue@webkit.org [Mon, 24 Sep 2012 16:36:20 +0000 (16:36 +0000)]
Web Inspector: [TextEditor] conditional breakpoint popup not showing up the first time
https://bugs.webkit.org/show_bug.cgi?id=97442

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-24
Reviewed by Pavel Feldman.

1) The conditional breakpoint popup may not show up the first time we click on the gutter.
This was the case because the popup decoration element would be deleted from the line while
it was being highlighted and appended afterwards. Now we do not remove decorations from the
DOM while highlighting.

2) Also the popup will close itself on any mouse click event, even if it's targeted to the
input box itself. This was due to pointer-events: none; CSS style for the parent element.
Now we just override this style for the input box.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._paintLine):
(WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
(WebInspector.TextEditorMainPanel.prototype._insertTextNodeBefore):
* inspector/front-end/inspector.css:
(.source-frame-breakpoint-condition):

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

7 years ago[GTK] WebKitWebView:is-loading is not updated when the is loaded is started by link...
carlosgc@webkit.org [Mon, 24 Sep 2012 16:32:05 +0000 (16:32 +0000)]
[GTK] WebKitWebView:is-loading is not updated when the is loaded is started by link clicked navigation action
https://bugs.webkit.org/show_bug.cgi?id=97458

Reviewed by Xan Lopez.

WebKitWebView:is-loading is set to TRUE when the load is started
by using the API. We want to make sure that both URI and
is-loading are updated before load-started is emitted, so we can
update both right before emitting load-started.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewEmitLoadChanged): Update both uri and is-loading
properties before emitting load-changed signal with
WEBKIT_LOAD_STARTED.
(webkit_web_view_load_uri): Don't call
webkitWebViewSetIsLoading().
(webkit_web_view_load_html): Ditto.
(webkit_web_view_load_alternate_html): Ditto.
(webkit_web_view_load_plain_text): Ditto.
(webkit_web_view_load_request): Ditto.
(webkit_web_view_reload): Ditto.
(webkit_web_view_reload_bypass_cache): Ditto.
(webkit_web_view_go_back): Ditto.
(webkit_web_view_go_forward): Ditto.
(webkit_web_view_go_to_back_forward_list_item): Ditto.

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Mon, 24 Sep 2012 16:25:16 +0000 (16:25 +0000)]
[EFL] Unreviewed gardening.

Move some inspector tests from Skipped to TestExpectations with a
proper explanation and related bug report.

* platform/efl/Skipped:
* platform/efl/TestExpectations:

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

7 years agoIndexedDB: Modernize some esoteric tests
jsbell@chromium.org [Mon, 24 Sep 2012 16:19:55 +0000 (16:19 +0000)]
IndexedDB: Modernize some esoteric tests
https://bugs.webkit.org/show_bug.cgi?id=97368

Reviewed by Tony Chang.

Change the logging - but not the flow or assertions - of some of our
more complex tests, to take advantage of our newer helper functions.

* storage/indexeddb/factory-deletedatabase-interactions-expected.txt:
* storage/indexeddb/open-close-version-expected.txt:
* storage/indexeddb/resources/factory-deletedatabase-interactions.js:
* storage/indexeddb/resources/open-close-version.js:

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

7 years agoUnreviewed chromium rebaseline for video-zoom-controls for r129370.
eae@chromium.org [Mon, 24 Sep 2012 16:15:21 +0000 (16:15 +0000)]
Unreviewed chromium rebaseline for video-zoom-controls for r129370.

* platform/chromium-linux/media/video-zoom-controls-expected.txt: Added.
* platform/chromium-mac/media/video-zoom-controls-expected.txt:

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Mon, 24 Sep 2012 16:02:29 +0000 (16:02 +0000)]
[EFL] Unreviewed gardening.

Move a test that is failing on both WK1 and WK2 to the common
TestExpectations file.

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Mon, 24 Sep 2012 15:58:41 +0000 (15:58 +0000)]
[EFL] Unreviewed gardening.

* platform/efl/TestExpectations: Unskip passing inspector test.

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

7 years agoWeb Inspector: [Canvas] set CanvasAgent in InstrumentingAgents upon calling enable...
commit-queue@webkit.org [Mon, 24 Sep 2012 15:47:15 +0000 (15:47 +0000)]
Web Inspector: [Canvas] set CanvasAgent in InstrumentingAgents upon calling enable command
https://bugs.webkit.org/show_bug.cgi?id=97331

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-24
Reviewed by Yury Semikhatsky.

We should set CanvasAgent in InstrumentingAgents from enable() command and remove from disable(), instead of doing this in constructor and destructor.

* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::restore):
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::disable):
* inspector/InspectorCanvasAgent.h:
(InspectorCanvasAgent):
* inspector/InspectorCanvasInstrumentation.h:
(WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):

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

7 years ago[chromium] Add setters to WebFilterOperation for IPC pickling
danakj@chromium.org [Mon, 24 Sep 2012 15:46:53 +0000 (15:46 +0000)]
[chromium] Add setters to WebFilterOperation for IPC pickling
https://bugs.webkit.org/show_bug.cgi?id=97147

Reviewed by James Robinson.

Source/Platform:

These methods allow us to restore a WebFilterOperation from a blob
of opaque data. The pickling code needs to be able to create an
empty object and then fill in the pieces, so these setters allow it
to do so.

Test: WebFilterOperationsTest.saveAndRestore

* chromium/public/WebFilterOperation.h:
(WebKit::WebFilterOperation::amount):
(WebKit::WebFilterOperation::dropShadowOffset):
(WebKit::WebFilterOperation::matrix):
(WebKit::WebFilterOperation::zoomRect):
(WebFilterOperation):
(WebKit::WebFilterOperation::createEmptyFilter):
(WebKit::WebFilterOperation::setType):
(WebKit::WebFilterOperation::setAmount):
(WebKit::WebFilterOperation::setDropShadowOffset):
(WebKit::WebFilterOperation::setDropShadowColor):
(WebKit::WebFilterOperation::setMatrix):
(WebKit::WebFilterOperation::setZoomRect):
* chromium/src/WebFilterOperation.cpp:

Source/WebKit/chromium:

* tests/FilterOperationsTest.cpp:
(WebKit):
(WebKit::TEST):

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Mon, 24 Sep 2012 15:44:46 +0000 (15:44 +0000)]
[EFL] Unreviewed gardening.

* platform/efl/Skipped: Unskip a few inspector-related tests which
are currently passing.

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

7 years agoRemove remaining WTF_DEPRECATED_STRING_OPERATORS from cpp files
paroga@webkit.org [Mon, 24 Sep 2012 15:38:03 +0000 (15:38 +0000)]
Remove remaining WTF_DEPRECATED_STRING_OPERATORS from cpp files
https://bugs.webkit.org/show_bug.cgi?id=97412

Reviewed by Adam Barth.

Source/WebCore:

* css/StylePropertySet.cpp: Removed useless define.

Source/WebKit/chromium:

* src/WebPageSerializerImpl.cpp:
(WebKit::WebPageSerializerImpl::openTagToString): Replaced operator+= with StringBuilder::append().
(WebKit::WebPageSerializerImpl::endTagToString): Ditto.

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

7 years agosnapToSize rounds the incorrectly for negative locations
eae@chromium.org [Mon, 24 Sep 2012 15:35:12 +0000 (15:35 +0000)]
snapToSize rounds the incorrectly for negative locations
https://bugs.webkit.org/show_bug.cgi?id=97265

Reviewed by Eric Seidel.

Source/WebCore:

Change snapSizeToPixel to preserve sign for location which
affects rounding.

Test: fast/sub-pixel/snap-negative-location.html

* platform/FractionalLayoutUnit.h:
(WebCore::snapSizeToPixel):

LayoutTests:

Add test for snapSizeToPixel handling of negative locations.
Skipped on platforms that do not enable subpixel layout.

* fast/sub-pixel/snap-negative-location-expected.html: Added.
* fast/sub-pixel/snap-negative-location.html: Added.
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:

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

7 years agoAllow robots to index bugs on Bugzilla
peter@chromium.org [Mon, 24 Sep 2012 15:33:42 +0000 (15:33 +0000)]
Allow robots to index bugs on Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=95688

Reviewed by Eric Seidel.

This allows robots to access show_bug.cgi, thus granting them access to
index contents and discussion on WebKit bugs. All other pages, except
for the site index itself, still have indexing disabled.

* robots.txt:

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

7 years agoMIPS: store8 functions added to MacroAssembler.
commit-queue@webkit.org [Mon, 24 Sep 2012 15:05:25 +0000 (15:05 +0000)]
MIPS: store8 functions added to MacroAssembler.

MIPS store8 functions
https://bugs.webkit.org/show_bug.cgi?id=97243

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-09-24
Reviewed by Oliver Hunt.

Add MIPS store8 functions.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::lhu): New function.
(MIPSAssembler):
(JSC::MIPSAssembler::sb): New function.
(JSC::MIPSAssembler::sh): New function.
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::store8): New function.
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::store16): New function.

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

7 years agoREGRESSION (r129211-r129218): http/tests/loading/redirect-with-no-location-crash...
zandobersek@gmail.com [Mon, 24 Sep 2012 14:53:08 +0000 (14:53 +0000)]
REGRESSION (r129211-r129218): http/tests/loading/redirect-with-no-location-crash.html failing on GTK Linux 64-bit Release WK2 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=97404

Reviewed by Philippe Normand.

Tools:

Print out the 'didReceiveTitle' information when dumping frame load callbacks.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(webViewTitleChanged):

LayoutTests:

Remove WebKit2-specific failure expectation and GTK-specific baseline for the test in title.

* platform/gtk-wk2/TestExpectations:
* platform/gtk/http/tests/loading/redirect-with-no-location-crash-expected.txt: Removed.

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

7 years agoUse unsigned char for bitfield instead of unsigned.
commit-queue@webkit.org [Mon, 24 Sep 2012 14:40:16 +0000 (14:40 +0000)]
Use unsigned char for bitfield instead of unsigned.
https://bugs.webkit.org/show_bug.cgi?id=97447

Patch by Jonathan Liu <net147@gmail.com> on 2012-09-24
Reviewed by Andreas Kling.

Not all compilers will pad an unsigned bitfield to the smallest size.
Use unsigned char instead of unsigned to reduce padding for compilers
that pad to the underlying type.

No new tests. There is already a compile-time assertion.

* css/CSSRule.cpp:
(SameSizeAsCSSRule):
* css/CSSRule.h:
(CSSRule):

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

7 years ago[EFL] Rebaseline several test cases in Skipped list
commit-queue@webkit.org [Mon, 24 Sep 2012 14:28:12 +0000 (14:28 +0000)]
[EFL] Rebaseline several test cases in Skipped list
https://bugs.webkit.org/show_bug.cgi?id=97452

Unreviewed EFL rebaseline.

Rebaseline several test cases in the EFL Skipped file
and unskip them.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-24

* platform/efl/Skipped:
* platform/efl/fast/table/prepend-in-anonymous-table-expected.png:
* platform/efl/fast/table/prepend-in-anonymous-table-expected.txt:
* platform/efl/fast/text/basic/011-expected.png:
* platform/efl/fast/text/basic/011-expected.txt:
* platform/efl/fast/text/basic/013-expected.png:
* platform/efl/fast/text/basic/013-expected.txt:
* platform/efl/fast/text/bidi-embedding-pop-and-push-same-expected.png:
* platform/efl/fast/text/capitalize-boundaries-expected.png:
* platform/efl/fast/text/capitalize-boundaries-expected.txt:
* platform/efl/fast/text/cg-fallback-bolding-expected.png:
* platform/efl/fast/text/drawBidiText-expected.png:
* platform/efl/fast/text/emphasis-vertical-expected.png:
* platform/efl/fast/text/emphasis-vertical-expected.txt:
* platform/efl/fast/text/fallback-traits-fixup-expected.png:
* platform/efl/fast/text/fallback-traits-fixup-expected.txt:
* platform/efl/fast/text/firstline/001-expected.png:
* platform/efl/fast/text/firstline/001-expected.txt:
* platform/efl/fast/text/firstline/002-expected.png:
* platform/efl/fast/text/firstline/003-expected.png:
* platform/efl/fast/text/format-control-expected.png:
* platform/efl/fast/text/format-control-expected.txt:
* platform/efl/fast/text/hyphens-expected.png:
* platform/efl/fast/text/hyphens-expected.txt:
* platform/efl/fast/text/in-rendered-text-rtl-expected.png:
* platform/efl/fast/text/international/001-expected.png:
* platform/efl/fast/text/international/001-expected.txt:
* platform/efl/fast/text/international/002-expected.png:
* platform/efl/fast/text/international/002-expected.txt:
* platform/efl/fast/text/international/003-expected.png:
* platform/efl/fast/text/international/003-expected.txt:
* platform/efl/fast/text/international/bidi-L2-run-reordering-expected.png:
* platform/efl/fast/text/international/bidi-LDB-2-CSS-expected.png:
* platform/efl/fast/text/international/bidi-LDB-2-CSS-expected.txt:
* platform/efl/fast/text/international/bidi-LDB-2-HTML-expected.png:
* platform/efl/fast/text/international/bidi-LDB-2-HTML-expected.txt:
* platform/efl/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
* platform/efl/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
* platform/efl/fast/text/international/bidi-european-terminators-expected.png:
* platform/efl/fast/text/international/bidi-explicit-embedding-expected.png:
* platform/efl/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
* platform/efl/fast/text/international/bidi-innertext-expected.png:
* platform/efl/fast/text/international/bidi-layout-across-linebreak-expected.png:
* platform/efl/fast/text/international/bidi-layout-across-linebreak-expected.txt: Added.
* platform/efl/fast/text/international/bidi-listbox-expected.png:
* platform/efl/fast/text/international/bidi-listbox-expected.txt: Added.
* platform/efl/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png:
* platform/efl/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Added.
* platform/efl/fast/text/international/bidi-override-expected.png:
* platform/efl/fast/text/international/bidi-override-expected.txt: Added.
* platform/efl/fast/text/international/rtl-caret-expected.png:
* platform/efl/fast/text/international/rtl-white-space-pre-wrap-expected.png:
* platform/efl/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
* platform/efl/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png:
* platform/efl/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
* platform/efl/fast/text/international/wrap-CJK-001-expected.png:
* platform/efl/fast/text/international/wrap-CJK-001-expected.txt:
* platform/efl/fast/text/midword-break-hang-expected.png:
* platform/efl/fast/text/midword-break-hang-expected.txt:
* platform/efl/fast/text/trailing-white-space-2-expected.png:
* platform/efl/fast/text/trailing-white-space-expected.png:
* platform/efl/fast/text/whitespace/024-expected.png:
* platform/efl/fast/text/whitespace/024-expected.txt:
* platform/efl/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
* platform/efl/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
* platform/efl/fast/writing-mode/border-vertical-lr-expected.png:
* platform/efl/fast/writing-mode/border-vertical-lr-expected.txt:
* platform/efl/fast/writing-mode/fallback-orientation-expected.png:
* platform/efl/fast/writing-mode/fallback-orientation-expected.txt:
* platform/efl/svg/as-border-image/svg-as-border-image-2-expected.png: Added.
* platform/efl/svg/as-border-image/svg-as-border-image-2-expected.txt:
* platform/efl/svg/as-border-image/svg-as-border-image-expected.png: Added.
* platform/efl/svg/as-border-image/svg-as-border-image-expected.txt:

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

7 years agoWeb Inspector: don't allow exception in front-end when expanding function scope
commit-queue@webkit.org [Mon, 24 Sep 2012 14:10:10 +0000 (14:10 +0000)]
Web Inspector: don't allow exception in front-end when expanding function scope
https://bugs.webkit.org/show_bug.cgi?id=97346

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-09-24
Reviewed by Yury Semikhatsky.

A missing guard condition is added.

* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
(WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):

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

7 years ago[Qt] Unreviwed gardening. Skip new failing test.
rgabor@webkit.org [Mon, 24 Sep 2012 14:01:26 +0000 (14:01 +0000)]
[Qt] Unreviwed gardening. Skip new failing test.
https://bugs.webkit.org/show_bug.cgi?id=97451

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-09-24

* platform/qt/Skipped: Skip inspector-protocol/css-getSupportedCSSProperties.html.

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

7 years ago[EFL][WK2] Mark fast/forms/select/select-state-restore.html as flaky
commit-queue@webkit.org [Mon, 24 Sep 2012 13:39:36 +0000 (13:39 +0000)]
[EFL][WK2] Mark fast/forms/select/select-state-restore.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=97449

Unreviewed EFL gardening.

fast/forms/select/select-state-restore.html sometimes times out on
the WebKit2 EFL debug build bot. Add it to TestExpectations.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-24

* platform/efl-wk2/TestExpectations:

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

7 years ago[BlackBerry] Add cookie database API
anilsson@rim.com [Mon, 24 Sep 2012 13:34:15 +0000 (13:34 +0000)]
[BlackBerry] Add cookie database API
https://bugs.webkit.org/show_bug.cgi?id=97102

Reviewed by Antonio Gomes.

Source/WebCore:

Add a CookieManager method that takes a list of strings to parse
instead of just one string. Expose CookieParser::parseOneCookie.

Reviewed internally by Otto D. Cheung.

No change in behavior, no new tests.

* platform/blackberry/CookieManager.cpp:
(WebCore::CookieManager::setCookies):
(WebCore):
* platform/blackberry/CookieManager.h:
* platform/blackberry/CookieParser.cpp:
(WebCore::CookieParser::parseOneCookie):
(WebCore):
* platform/blackberry/CookieParser.h:
(CookieParser):

Source/WebKit:

Add cookie database file to build system.

Reviewed internally by Otto D. Cheung.

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

The cookie database is exposed through WebCookieJar, which has only two
methods: cookies() and setCookies().

Also add a new WebString::fromUTF8 overload that takes a const char*
and a length, in order to avoid a strlen call when converting from
other string classes to WebString. This is useful for callers of the
new cookie API when converting cookies to WebString.

Reviewed internally by Otto D. Cheung.

PR 209282

* Api/WebCookieJar.cpp: Added.
(WebKit):
(BlackBerry::WebKit::WebCookieJar::WebCookieJar):
(BlackBerry::WebKit::WebCookieJar::cookies):
(BlackBerry::WebKit::WebCookieJar::setCookies):
* Api/WebCookieJar.h: Added.
(WebKit):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPage::cookieJar):
(WebKit):
* Api/WebPage.h:
(WebKit):
* Api/WebPage_p.h:
(WebKit):
(WebPagePrivate):
* Api/WebString.cpp:
(BlackBerry::WebKit::WebString::fromUtf8):
(WebKit):
* Api/WebString.h:

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

7 years agoWeb Inspector: Open resource dialog has too many false positive matches.
vsevik@chromium.org [Mon, 24 Sep 2012 13:17:23 +0000 (13:17 +0000)]
Web Inspector: Open resource dialog has too many false positive matches.
https://bugs.webkit.org/show_bug.cgi?id=97332

Reviewed by Alexander Pavlov.

Source/WebCore:

Improved open resource dialog filtering to make the amount of false
positive search results less.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype._innerCreateSearchRegExp):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):

LayoutTests:

* inspector/filtered-item-selection-dialog-filtering-expected.txt:
* inspector/filtered-item-selection-dialog-filtering.html:

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

7 years ago[EFL] Rebaseline several test cases in Skipped list
commit-queue@webkit.org [Mon, 24 Sep 2012 13:14:57 +0000 (13:14 +0000)]
[EFL] Rebaseline several test cases in Skipped list
https://bugs.webkit.org/show_bug.cgi?id=97448

Unreviewed EFL rebaseline.

Rebaseline several test cases in the Skipped file and unskip
them.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-24

* platform/efl/Skipped:
* platform/efl/svg/as-image/animated-svg-as-image-expected.png: Added.
* platform/efl/svg/as-image/animated-svg-as-image-expected.txt:
* platform/efl/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png: Added.
* platform/efl/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.txt:
* platform/efl/svg/as-image/animated-svg-as-image-same-image-expected.png: Added.
* platform/efl/svg/as-image/animated-svg-as-image-same-image-expected.txt:
* platform/efl/svg/as-image/img-preserveAspectRatio-support-1-expected.png: Added.
* platform/efl/svg/as-image/img-preserveAspectRatio-support-1-expected.txt:
* platform/efl/svg/as-image/img-preserveAspectRatio-support-2-expected.png: Added.
* platform/efl/svg/as-image/img-preserveAspectRatio-support-2-expected.txt:
* platform/efl/svg/as-image/same-image-two-instances-expected.png: Added.
* platform/efl/svg/as-image/same-image-two-instances-expected.txt:
* platform/efl/svg/as-image/svg-image-change-content-size-expected.png: Added.
* platform/efl/svg/as-image/svg-image-change-content-size-expected.txt:
* platform/efl/svg/batik/masking/maskRegions-expected.png: Added.
* platform/efl/svg/batik/masking/maskRegions-expected.txt:
* platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Added.
* platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt:
* platform/efl/svg/css/path-gradient-stroke-shadow-expected.png: Added.
* platform/efl/svg/css/path-gradient-stroke-shadow-expected.txt:
* platform/efl/svg/dom/css-transforms-expected.png: Added.
* platform/efl/svg/dom/css-transforms-expected.txt: Added.
* platform/efl/svg/hixie/error/012-expected.png: Added.
* platform/efl/svg/hixie/error/012-expected.txt:
* platform/efl/svg/hixie/error/013-expected.png: Added.
* platform/efl/svg/hixie/error/013-expected.txt:
* platform/efl/svg/hixie/mixed/003-expected.png: Added.
* platform/efl/svg/hixie/mixed/003-expected.txt:
* platform/efl/svg/hixie/mixed/004-expected.png: Added.
* platform/efl/svg/hixie/mixed/004-expected.txt:
* platform/efl/svg/hixie/mixed/005-expected.png: Added.
* platform/efl/svg/hixie/mixed/005-expected.txt:
* platform/efl/svg/hixie/mixed/006-expected.png: Added.
* platform/efl/svg/hixie/mixed/006-expected.txt:
* platform/efl/svg/hixie/mixed/007-expected.png: Added.
* platform/efl/svg/hixie/mixed/007-expected.txt:
* platform/efl/svg/hixie/mixed/008-expected.png: Added.
* platform/efl/svg/hixie/mixed/008-expected.txt:
* platform/efl/svg/hixie/mixed/009-expected.png: Added.
* platform/efl/svg/hixie/mixed/009-expected.txt:
* platform/efl/svg/hixie/mixed/010-expected.png: Added.
* platform/efl/svg/hixie/mixed/010-expected.txt:
* platform/efl/svg/hixie/mixed/011-expected.png: Added.
* platform/efl/svg/hixie/mixed/011-expected.txt:
* platform/efl/svg/hixie/perf/007-expected.png: Added.
* platform/efl/svg/hixie/perf/007-expected.txt:
* platform/efl/svg/hixie/processing-model/003-expected.png: Added.
* platform/efl/svg/hixie/processing-model/003-expected.txt:
* platform/efl/svg/hixie/processing-model/004-expected.png: Added.
* platform/efl/svg/hixie/processing-model/004-expected.txt:
* platform/efl/svg/hixie/rendering-model/003-expected.png: Added.
* platform/efl/svg/hixie/rendering-model/003-expected.txt:
* platform/efl/svg/hixie/rendering-model/004-expected.png: Added.
* platform/efl/svg/hixie/rendering-model/004-expected.txt:
* platform/efl/svg/hixie/text/003-expected.png: Added.
* platform/efl/svg/hixie/text/003-expected.txt:
* platform/efl/svg/in-html/by-reference-expected.png: Added.
* platform/efl/svg/in-html/by-reference-expected.txt:
* platform/efl/svg/in-html/circle-expected.png: Added.
* platform/efl/svg/in-html/circle-expected.txt:
* platform/efl/svg/overflow/overflow-on-inner-svg-element-expected.png: Added.
* platform/efl/svg/overflow/overflow-on-inner-svg-element-expected.txt:
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.png: Added.
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.txt:
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png: Added.
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt:
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.png: Added.
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.txt:
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.png: Added.
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.txt:
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png: Added.
* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
* platform/efl/svg/repaint/inner-svg-change-viewPort-relative-expected.png: Added.
* platform/efl/svg/repaint/inner-svg-change-viewPort-relative-expected.txt: Added.
* platform/efl/svg/transforms/animated-path-inside-transformed-html-expected.png: Added.
* platform/efl/svg/transforms/animated-path-inside-transformed-html-expected.txt:
* platform/efl/svg/transforms/svg-css-transforms-clip-path-expected.png: Added.
* platform/efl/svg/transforms/svg-css-transforms-clip-path-expected.txt:
* platform/efl/svg/transforms/svg-css-transforms-expected.png: Added.
* platform/efl/svg/transforms/svg-css-transforms-expected.txt:
* platform/efl/svg/transforms/text-with-pattern-inside-transformed-html-expected.png: Added.
* platform/efl/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
* platform/efl/svg/transforms/text-with-pattern-with-svg-transform-expected.png: Added.
* platform/efl/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
* platform/efl/svg/wicd/rightsizing-grid-expected.png: Added.
* platform/efl/svg/wicd/rightsizing-grid-expected.txt:
* platform/efl/svg/wicd/test-rightsizing-a-expected.png: Added.
* platform/efl/svg/wicd/test-rightsizing-a-expected.txt:
* platform/efl/svg/wicd/test-rightsizing-b-expected.png: Added.
* platform/efl/svg/wicd/test-rightsizing-b-expected.txt:
* platform/efl/svg/wicd/test-scalable-background-image1-expected.png: Added.
* platform/efl/svg/wicd/test-scalable-background-image1-expected.txt:
* platform/efl/svg/wicd/test-scalable-background-image2-expected.png: Added.
* platform/efl/svg/wicd/test-scalable-background-image2-expected.txt:

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

7 years agoWeb Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++...
commit-queue@webkit.org [Mon, 24 Sep 2012 13:01:29 +0000 (13:01 +0000)]
Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
https://bugs.webkit.org/show_bug.cgi?id=97203

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-24
Reviewed by Yury Semikhatsky.

Implements wrapping a 2D canvas context through the injected canvas module script facility.

* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
* inspector/InjectedScriptCanvasModule.cpp:
(WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
(WebCore):
(WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
(WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
* inspector/InjectedScriptCanvasModule.h:
(InjectedScriptCanvasModule):
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore):
* inspector/InspectorCanvasAgent.h:
(InspectorCanvasAgent):
* inspector/InspectorCanvasInstrumentation.h:
(WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):

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

7 years ago[EFL][WK2] Change the install path for libewk2UnitTestInjectedBundleSample.so.
commit-queue@webkit.org [Mon, 24 Sep 2012 12:31:54 +0000 (12:31 +0000)]
[EFL][WK2] Change the install path for libewk2UnitTestInjectedBundleSample.so.
https://bugs.webkit.org/show_bug.cgi?id=97302

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-24
Reviewed by Gyuyoung Kim.

libewk2UnitTestInjectedBundleSample.so file is created under the
Source directory.
Change install directory for the library to under the build directory.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
(EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):

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

7 years agoWeb Inspector:EXC_BAD_ACCESS upon closing page with node highlighted
pfeldman@chromium.org [Mon, 24 Sep 2012 12:14:16 +0000 (12:14 +0000)]
Web Inspector:EXC_BAD_ACCESS upon closing page with node highlighted
https://bugs.webkit.org/show_bug.cgi?id=97446

Reviewed by Alexander Pavlov.

Added 0 check on frame view.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::update):

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

7 years ago[EFL] Unskip proper shadow dom test case
commit-queue@webkit.org [Mon, 24 Sep 2012 12:09:17 +0000 (12:09 +0000)]
[EFL] Unskip proper shadow dom test case
https://bugs.webkit.org/show_bug.cgi?id=97445

Unreviewed EFL gardening.

Skip again fast/dom/shadow/shadowdom-for-object-without-shadow.html
and unskip fast/dom/shadow/shadowdom-for-object-only-shadow.html
instead.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-24

* platform/efl/TestExpectations:

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

7 years agoWeb Inspector: [REGRESSION] Cmd-Shift-C doesn't enable element inspection mode when...
apavlov@chromium.org [Mon, 24 Sep 2012 11:55:46 +0000 (11:55 +0000)]
Web Inspector: [REGRESSION] Cmd-Shift-C doesn't enable element inspection mode when inspector hidden
https://bugs.webkit.org/show_bug.cgi?id=97249

Reviewed by Yury Semikhatsky.

Fix regression from r125871.

* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.enterInspectElementMode):
* inspector/front-end/inspector.js:
(WebInspector._createGlobalStatusBarItems):
(WebInspector.documentKeyDown):

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

7 years agoWeb Inspector: Disable persistence of master switches in the "Overrides" settings tab
apavlov@chromium.org [Mon, 24 Sep 2012 11:53:13 +0000 (11:53 +0000)]
Web Inspector: Disable persistence of master switches in the "Overrides" settings tab
https://bugs.webkit.org/show_bug.cgi?id=97440

Reviewed by Yury Semikhatsky.

Disables enforcement of device metrics, geolocation, and device orientation overrides on Web Inspector start.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::restore):
* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab.prototype._onMetricsCheckboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
* inspector/front-end/UserAgentSupport.js:
(WebInspector.UserAgentSupport):
(WebInspector.UserAgentSupport.prototype.toggleDeviceMetricsOverride):
(WebInspector.UserAgentSupport.prototype.toggleGeolocationPositionOverride):
(WebInspector.UserAgentSupport.prototype.toggleDeviceOrientationOverride):
* inspector/front-end/externs.js:

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

7 years agoWeb Inspector: implement testing harness for pure protocol tests.
commit-queue@webkit.org [Mon, 24 Sep 2012 11:38:00 +0000 (11:38 +0000)]
Web Inspector: implement testing harness for pure protocol tests.
https://bugs.webkit.org/show_bug.cgi?id=90675

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-09-24
Reviewed by Yury Semikhatsky.

.:

Added export symbols required for Gtk+ to support the Inspector Protocol
testing harness.

* Source/autotools/symbols.filter:

Source/WebCore:

Implementing the testing harness as the APIs of Internals object not
only reduced platform specific patching of DRTs but also minimized the
the effort required to open up the new dummy inspector Frontend.

The openDummyInspectorFrontend method will return the handle to newly
created DOMWindow. This DOMWindow object can be utilized inside the test
case to communicate using postMessage WebAPI.

The newly created DOMWindow will host the protocol-test.html which
will seed the necessary JS libraries to communicate with the
InspectorBackend.

Test: inspector-protocol/css-getSupportedCSSProperties.html

* WebCore.exp.in:
* WebCore.gypi:
* inspector/InspectorClient.h:
(InspectorClient):
* testing/Internals.cpp:
(InspectorFrontendClientDummy):
(WebCore::InspectorFrontendClientDummy::~InspectorFrontendClientDummy):
(WebCore):
(WebCore::InspectorFrontendClientDummy::InspectorFrontendClientDummy):
(InspectorFrontendChannelDummy):
(WebCore::InspectorFrontendChannelDummy::~InspectorFrontendChannelDummy):
(WebCore::InspectorFrontendChannelDummy::InspectorFrontendChannelDummy):
(WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
(WebCore::Internals::consoleMessageArgumentCounts):
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::closeDummyInspectorFrontend):
* testing/Internals.h:
(WebCore):
(Internals):
* testing/Internals.idl:

Source/WebKit2:

Adding the export symbol definitions required on Apple Windows and WinCairo
ports to support Inspector Protocol testing harness.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

Adding the resources required for the dummy frontend page to load minimal
frontend. These resources provide the mechanism to talk to the Inspector Backend.

Adding the inspector-protocol folder to host the relevant test cases
utilizing the inspector protocol test harness. Added an example test
case for getting all supported CSS properties using the inspector
protocol and searching for a particular property being supported.

* http/tests/inspector-protocol: Added.
* http/tests/inspector-protocol/resources: Added.
* http/tests/inspector-protocol/resources/InspectorTest.js: Added.
(InspectorTest.sendCommand):
(WebInspector.dispatchMessageFromBackend):
(InspectorTest.log):
(InspectorTest.completeTest):
* http/tests/inspector-protocol/resources/protocol-test.html: Added.
* http/tests/inspector-protocol/resources/protocol-test.js: Added.
(log):
(closeTest):
(runTest):
* inspector-protocol: Added.
* inspector-protocol/css-getSupportedCSSProperties-expected.txt: Added.
* inspector-protocol/css-getSupportedCSSProperties.html: Added.

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

7 years agoREGRESSION(r127727): Calendar picker focus doesn't loop in calendar-picker.html
keishi@webkit.org [Mon, 24 Sep 2012 11:08:37 +0000 (11:08 +0000)]
REGRESSION(r127727): Calendar picker focus doesn't loop in calendar-picker.html
https://bugs.webkit.org/show_bug.cgi?id=97183

Reviewed by Kent Tamura.

Source/WebCore:

Fixing bug calendar-picker.html. The page popup behaves fine because
this code is only necessary in calendar-picker.html where the focus can
move outside of the picker because we are just using an iframe.

No new tests. Added tests to calendar-picker-key-operations.html.

* Resources/pagepopups/calendarPicker.js:
(YearMonthController.prototype.attachTo):
(CalendarPicker.prototype._handleBodyKeyDown):

LayoutTests:

* fast/forms/date/calendar-picker-key-operations-expected.txt:
* fast/forms/date/calendar-picker-key-operations.html:

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

7 years ago[Qt] Fix build with latest Qt 5
hausmann@webkit.org [Mon, 24 Sep 2012 11:07:29 +0000 (11:07 +0000)]
[Qt] Fix build with latest Qt 5

Reviewed by Tor Arne Vestbø.

.:

Define MODULE_BASE_DIR before loading qt_module.prf, which now calls syncqt. MODULE_BASE_DIR is
passed as last parameter (source dir) to syncqt now, so set it to the directory that contains
sync.profile.

* Source/api.pri:

Tools:

The variables for syncqt handling are now set in api.pri, but let's add a comment here that we can
remove them from default_pre.prf once we're past Qt 5 beta2.

* qmake/mkspecs/features/default_pre.prf:

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

7 years agoUnreviewed follow-up to r129336 -- fixed closure compiler warnings.
caseq@chromium.org [Mon, 24 Sep 2012 10:19:56 +0000 (10:19 +0000)]
Unreviewed follow-up to r129336 -- fixed closure compiler warnings.

* inspector/front-end/HAREntry.js:
* inspector/front-end/TimelineModel.js:

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

7 years agoUnreviewed. Update pixel results for 18 tests on Win.
yurys@chromium.org [Mon, 24 Sep 2012 10:15:36 +0000 (10:15 +0000)]
Unreviewed. Update pixel results for 18 tests on Win.

* platform/chromium-win-xp/fast/css/shadow-multiple-expected.png: Removed.
* platform/chromium-win-xp/fast/invalid/residual-style-expected.txt: Removed.
* platform/chromium-win-xp/fast/multicol/shadow-breaking-expected.png: Removed.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-vertical-expected.png: Removed.
* platform/chromium-win-xp/fast/text/shadow-translucent-fill-expected.png: Removed.
* platform/chromium-win-xp/fast/transforms/shadows-expected.png: Removed.
* platform/chromium-win-xp/ietestcenter/css3/text/textshadow-002-expected.png: Removed.
* platform/chromium-win-xp/ietestcenter/css3/text/textshadow-010-expected.png: Removed.
* platform/chromium-win-xp/svg/css/text-gradient-shadow-expected.png: Removed.
* platform/chromium-win-xp/svg/css/text-shadow-multiple-expected.png: Removed.
* platform/chromium-win-xp/tables/mozilla/bugs/bug56563-expected.png: Removed.
* platform/chromium-win-xp/transitions/svg-text-shadow-transition-expected.png: Removed.
* platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win/fast/css/shadow-multiple-expected.png:
* platform/chromium-win/fast/invalid/residual-style-expected.txt:
* platform/chromium-win/fast/multicol/shadow-breaking-expected.png:
* platform/chromium-win/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-win/fast/text/shadow-translucent-fill-expected.png:
* platform/chromium-win/fast/text/stroking-decorations-expected.png:
* platform/chromium-win/fast/text/stroking-expected.png:
* platform/chromium-win/fast/transforms/shadows-expected.png:
* platform/chromium-win/fast/writing-mode/english-lr-text-expected.png:
* platform/chromium-win/ietestcenter/css3/text/textshadow-002-expected.png:
* platform/chromium-win/ietestcenter/css3/text/textshadow-010-expected.png:
* platform/chromium-win/svg/css/composite-shadow-text-expected.png:
* platform/chromium-win/svg/css/shadow-changes-expected.png:
* platform/chromium-win/svg/css/text-gradient-shadow-expected.png:
* platform/chromium-win/svg/css/text-shadow-multiple-expected.png:
* platform/chromium-win/tables/mozilla/bugs/bug56563-expected.png:
* platform/chromium-win/transitions/svg-text-shadow-transition-expected.png:

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

7 years agoWeb Inspector: [TextEditor] Line numbers out of sync after closing breakpoint conditi...
commit-queue@webkit.org [Mon, 24 Sep 2012 09:39:31 +0000 (09:39 +0000)]
Web Inspector: [TextEditor] Line numbers out of sync after closing breakpoint condition editor
https://bugs.webkit.org/show_bug.cgi?id=96510

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-24
Reviewed by Vsevolod Vlasov.

Sync line heights on adding/removing decorations.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorGutterChunk):
(WebInspector.TextEditorGutterChunk.prototype.addDecoration):
(WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
(WebInspector.TextEditorGutterChunk.prototype.set expanded):
(WebInspector.TextEditorGutterChunk.prototype.get height):
(WebInspector.TextEditorGutterChunk.prototype._createRow):
(WebInspector.TextEditorMainChunk.prototype.addDecoration):
(WebInspector.TextEditorMainChunk.prototype.removeDecoration):
(WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):

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

7 years ago[EFL][WK2] Invalid featuring of INPUT_TYPE_COLOR in test_ewk2_view.
commit-queue@webkit.org [Mon, 24 Sep 2012 09:38:20 +0000 (09:38 +0000)]
[EFL][WK2] Invalid featuring of INPUT_TYPE_COLOR in test_ewk2_view.
https://bugs.webkit.org/show_bug.cgi?id=97430

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-09-24
Reviewed by Kenneth Rohde Christiansen.

The tests of ewk_view_context_get and ewk_view_feed_touch_event are not related to
INPUT_TYPE_COLOR. These tests should be moved to outside of INPUT_TYPE_COLOR block.

* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

7 years agoUnreviewed, rolling out r122243.
yurys@chromium.org [Mon, 24 Sep 2012 09:38:12 +0000 (09:38 +0000)]
Unreviewed, rolling out r122243.
http://trac.webkit.org/changeset/129243
https://bugs.webkit.org/show_bug.cgi?id=97441

WebFilterOperationsTest.saveAndRestore added in the change is failing.

Source/Platform:

* chromium/public/WebFilterOperation.h:
(WebKit::WebFilterOperation::amount):
(WebKit::WebFilterOperation::dropShadowOffset):
(WebKit::WebFilterOperation::matrix):
(WebKit::WebFilterOperation::zoomRect):
(WebFilterOperation):

Source/WebKit/chromium:

* tests/FilterOperationsTest.cpp:

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

7 years agoWeb Inspector: support saving HAR with resources content
caseq@chromium.org [Mon, 24 Sep 2012 09:23:20 +0000 (09:23 +0000)]
Web Inspector: support saving HAR with resources content
https://bugs.webkit.org/show_bug.cgi?id=97341

Reviewed by Vsevolod Vlasov.

Source/WebCore:

- add WebInspector.HARWriter that writes HAR with content to a stream;
- replace Save all as HAR with Save all with Content as HAR in network's panel context menu;
- remove entries for copying/saving of individual request items to reduce clutter in context menu;
- a drive-by fix of an exception when invoking context menu not on a network item;

Test: http/tests/inspector/network/har-content.html

* English.lproj/localizedStrings.js:
* inspector/front-end/FileUtils.js:
* inspector/front-end/HAREntry.js:
(WebInspector.HAREntry.prototype._buildPostData):
(WebInspector.HARLog.prototype.build):
(WebInspector.HARLog.prototype._creator):
(WebInspector.HARWriter):
(WebInspector.HARWriter.prototype.write):
(WebInspector.HARWriter.prototype._onContentAvailable):
(WebInspector.HARWriter.prototype._beginWrite):
(WebInspector.HARWriter.prototype._writeNextChunk):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype.get statusBarItems):
(WebInspector.NetworkLogView.prototype._createStatusBarItems):
(WebInspector.NetworkLogView.prototype._contextMenu):
(WebInspector.NetworkLogView.prototype._exportAll.openCallback):
(WebInspector.NetworkLogView.prototype._exportAll):

LayoutTests:

- moved StringOutputStream to inspector-test.js for reuse;
- added test for HARWriter and response content in HAR.

* http/tests/inspector/inspector-test.js:
(initialize_InspectorTest):
(initialize_InspectorTest.):
* http/tests/inspector/network/har-content-expected.txt: Added.
* http/tests/inspector/network/har-content.html: Added.
* inspector/timeline/timeline-test.js:
(initialize_Timeline):

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

7 years agoUnreviewed. Updated test expectations for webaudio/biquad-getFrequencyResponse.html
yurys@chromium.org [Mon, 24 Sep 2012 09:15:49 +0000 (09:15 +0000)]
Unreviewed. Updated test expectations for webaudio/biquad-getFrequencyResponse.html

* platform/chromium/TestExpectations:

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

7 years ago[EFL] Rebaseline several test cases in Skipped list
commit-queue@webkit.org [Mon, 24 Sep 2012 08:56:04 +0000 (08:56 +0000)]
[EFL] Rebaseline several test cases in Skipped list
https://bugs.webkit.org/show_bug.cgi?id=97437

Unreviewed EFL rebaseline.

Rebaseline several test cases from EFL Skipped list
and unskip them.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-24

* platform/efl/Skipped:
* platform/efl/svg/W3C-I18N/g-dirRTL-ubNone-expected.png: Added.
* platform/efl/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt:
* platform/efl/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png: Added.
* platform/efl/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt:
* platform/efl/svg/W3C-I18N/text-anchor-no-markup-expected.png: Added.
* platform/efl/svg/W3C-I18N/text-anchor-no-markup-expected.txt:
* platform/efl/svg/batik/text/textOnPath-expected.png: Added.
* platform/efl/svg/batik/text/textOnPath-expected.txt:
* platform/efl/svg/batik/text/textProperties2-expected.png: Added.
* platform/efl/svg/batik/text/textProperties2-expected.txt:
* platform/efl/svg/hixie/perf/004-expected.png: Added.
* platform/efl/svg/hixie/perf/005-expected.png: Added.
* platform/efl/svg/hixie/perf/006-expected.png: Added.
* platform/efl/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png: Added.
* platform/efl/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/efl/svg/zoom/page/zoom-mask-with-percentages-expected.png: Added.
* platform/efl/svg/zoom/page/zoom-mask-with-percentages-expected.txt:
* platform/efl/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png: Added.
* platform/efl/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
* platform/efl/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png: Added.
* platform/efl/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt:
* platform/efl/svg/zoom/text/zoom-hixie-mixed-008-expected.png: Added.
* platform/efl/svg/zoom/text/zoom-hixie-mixed-008-expected.txt:
* platform/efl/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png: Added.
* platform/efl/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt:
* platform/efl/svg/zoom/text/zoom-svg-float-border-padding-expected.png: Added.
* platform/efl/svg/zoom/text/zoom-svg-float-border-padding-expected.txt:

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

7 years ago[EFL] Unskip test cases that started passing after r129303
commit-queue@webkit.org [Mon, 24 Sep 2012 08:34:16 +0000 (08:34 +0000)]
[EFL] Unskip test cases that started passing after r129303
https://bugs.webkit.org/show_bug.cgi?id=97433

Unreviewed EFL gardening.

Unskip several ref tests that are marked as unexpected
passes after r129303. r129303 fixed detection of ref
tests that are passing unexpectedly.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-24

* platform/efl/TestExpectations:

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

7 years ago[chromium] Remove BitLockerSkia. It's apparently not used.
thakis@chromium.org [Mon, 24 Sep 2012 08:34:10 +0000 (08:34 +0000)]
[chromium] Remove BitLockerSkia. It's apparently not used.
https://bugs.webkit.org/show_bug.cgi?id=97434

Reviewed by Kent Tamura.

* platform/graphics/skia/BitLockerSkia.cpp: Removed.
* platform/graphics/skia/BitLockerSkia.h: Removed.

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

7 years agoSkeleton implementation of dialog.showModal()
commit-queue@webkit.org [Mon, 24 Sep 2012 07:41:04 +0000 (07:41 +0000)]
Skeleton implementation of dialog.showModal()
https://bugs.webkit.org/show_bug.cgi?id=97425

Patch by Matt Falkenhagen <falken@chromium.org> on 2012-09-24
Reviewed by Kent Tamura.

Source/WebCore:

This adds a basic implementation of showModal(), so it later can be
used to test the top layer, once it is implemented. The main features
of showModal(), modality and the top layer, are not yet implemented.

Test: fast/dom/HTMLDialogElement/dialog-show-modal.html

* html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::showModal): The same as show(), but throws an error in the cases specified in the spec.
(WebCore):
* html/HTMLDialogElement.h:
(HTMLDialogElement):
* html/HTMLDialogElement.idl:

LayoutTests:

Add a test that showModal() opens the dialog or throws an error in the cases specified in the spec.

* fast/dom/HTMLDialogElement/dialog-show-modal-expected.txt: Added.
* fast/dom/HTMLDialogElement/dialog-show-modal.html: Added.

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

7 years ago[EFL] Regression after r129328
ryuan.choi@samsung.com [Mon, 24 Sep 2012 07:24:28 +0000 (07:24 +0000)]
[EFL] Regression after r129328
https://bugs.webkit.org/show_bug.cgi?id=97429

Unreviewed, rolling out r129328.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderTheme::themeForPage):

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

7 years ago[EFL] Duplicated RenderThemeEfl creation for same page
ryuan.choi@samsung.com [Mon, 24 Sep 2012 06:28:39 +0000 (06:28 +0000)]
[EFL] Duplicated RenderThemeEfl creation for same page
https://bugs.webkit.org/show_bug.cgi?id=88391

Reviewed by Gyuyoung Kim.

Other ports return one or two RenderTheme regardless of page.
But, WebKit/Efl can create different theme for each page and
themeForPage creates new RenderTheme whenever it is called with page.
So more than one RenderTheme can be created for a page.

This patches checks whether page already has RenderTheme not to create new
RenderTheme for same page.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderTheme::themeForPage):

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

7 years ago[EFL][WK2] Add setting to toggle developer extensions
commit-queue@webkit.org [Mon, 24 Sep 2012 06:27:49 +0000 (06:27 +0000)]
[EFL][WK2] Add setting to toggle developer extensions
https://bugs.webkit.org/show_bug.cgi?id=96974

Patch by Seokju Kwon <seokju.kwon@samsung.com> on 2012-09-23
Reviewed by Kenneth Rohde Christiansen.

This is required to allow the user to inspect pages. (Web inspector)

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_developer_extras_enabled_set):
(ewk_settings_developer_extras_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

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

7 years agoAdd suggestionPicker to CalendarPicker
keishi@webkit.org [Mon, 24 Sep 2012 04:39:09 +0000 (04:39 +0000)]
Add suggestionPicker to CalendarPicker
https://bugs.webkit.org/show_bug.cgi?id=97201

Reviewed by Kent Tamura.

.:

* ManualTests/forms/calendar-picker.html: Added tests for SuggestionPicker.

Source/WebCore:

This adds the suggestionPicker to CalendarPicker. It is not available yet as a datalist UI but it can be used inside ManualTests/forms/calendar-picker.html.

No new tests. Suggestion Picker can be tested in ManualTests/forms/calendar-picker.html.

* Resources/pagepopups/calendarPicker.js:
(initialize):
(openSuggestionPicker):
* Resources/pagepopups/pickerCommon.js:
(enclosingNodeOrSelfWithClass):
* Resources/pagepopups/suggestionPicker.css: Added.
(.suggestion-list):
(.suggestion-list-entry):
(.suggestion-list-entry:focus):
(.suggestion-list-entry:focus .label):
(.suggestion-list-entry .content):
(.suggestion-list-entry .title):
(.suggestion-list-entry .label):
(.measuring-width .suggestion-list-entry .label):
(.suggestion-list .separator):
* Resources/pagepopups/suggestionPicker.js: Added.
(SuggestionPicker):
(SuggestionPicker.validateConfig):
(SuggestionPicker.prototype.cleanup):
(SuggestionPicker.prototype._setColors): Creates css rules that sets highlight colors.
(SuggestionPicker.prototype._createSuggestionEntryElement): Creates an entry that when selected submits the value.
(SuggestionPicker.prototype._createActionEntryElement): Creates an entry that causes an action. (e.x. "Other...")
(SuggestionPicker.prototype._measureMaxContentWidth): Temporarily left align everything to measure the width.
(SuggestionPicker.prototype._fixWindowSize):
(SuggestionPicker.prototype._layout):
(SuggestionPicker.prototype.selectEntry):
(SuggestionPicker.prototype._handleEntryClick):
(SuggestionPicker.prototype._findFirstVisibleEntry):
(SuggestionPicker.prototype._findLastVisibleEntry):
(SuggestionPicker.prototype._handleBodyKeyDown):
(SuggestionPicker.prototype._handleEntryMouseOver):
(SuggestionPicker.prototype._handleMouseOut):
* WebCore.gyp/WebCore.gyp:

Source/WebKit/chromium:

* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument): Add js/css for SuggestionPicker to page picker. Add highlight color to args.

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

7 years agoPutScopedVar should not be marked as clobbering the world
ggaren@apple.com [Mon, 24 Sep 2012 03:47:49 +0000 (03:47 +0000)]
PutScopedVar should not be marked as clobbering the world
https://bugs.webkit.org/show_bug.cgi?id=97416

Reviewed by Filip Pizlo.

No performance change.

PutScopedVar doesn't have arbitrary side-effects, so it shouldn't be marked
as such.

* dfg/DFGNodeType.h:
(DFG):

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

7 years ago2012-09-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Mon, 24 Sep 2012 03:35:18 +0000 (03:35 +0000)]
2012-09-23  Geoffrey Garen  <ggaren@apple.com>

        I accidentally the whole 32-bit :(.

        Unbreak the DFG in 32-bit with the 32-bit path I forgot in my last patch.

        * dfg/DFGSpeculativeJIT32_64.cpp:
        (JSC::DFG::SpeculativeJIT::compile):

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

7 years agoREGRESSION(r128239): Mutable ElementAttributeData leak their Attribute vectors.
kling@webkit.org [Mon, 24 Sep 2012 03:33:57 +0000 (03:33 +0000)]
REGRESSION(r128239): Mutable ElementAttributeData leak their Attribute vectors.
<http://webkit.org/b/97423>

Reviewed by Anders Carlsson.

r128239 added a WTF::deleteOwnedPtr() override for ElementAttributeData*, but ElementAttributeData is
a ref-counted object. Fixed this by overriding deref() instead to call the appropriate subclass destructor.

* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::deref):

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

7 years agoFix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
commit-queue@webkit.org [Mon, 24 Sep 2012 01:02:19 +0000 (01:02 +0000)]
Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
https://bugs.webkit.org/show_bug.cgi?id=97306

Patch by Byungwoo Lee <bw80.lee@gmail.com> on 2012-09-23
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Fix build warning about -Wunused-parameter on MachineStackMarker.cpp,
LLIntSlowPaths.cpp, DatePrototype.cpp, Options.cpp by using
UNUSED_PARAM() macro or remove parameter name.

* heap/MachineStackMarker.cpp:
(JSC::pthreadSignalHandlerSuspendResume):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::entryOSR):
* runtime/DatePrototype.cpp:
(JSC::formatLocaleDate):
* runtime/Options.cpp:
(JSC::computeNumberOfGCMarkers):

Source/WebCore:

Fix build warning about -Wunused-parameter on ImageBufferCairo.cpp,
ImageDecoder.h by using ASSERT_UNUSED() macro.

* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::encodeImage):
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::rgbColorProfile):
(WebCore::ImageDecoder::inputDeviceColorProfile):

Source/WebKit/efl:

Fix build warning about -Wunused-parameter on FrameLoaderClientEfl.cpp
by using ASSERT_UNUSED() macro.
Fix build warning aboug -Wparentheses on ewk_frame.cpp by adding
additional brace for the assign statement.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchDidChangeIcons):
* ewk/ewk_frame.cpp:
(ewk_frame_resources_location_get):

Source/WebKit2:

Fix build warning about -Wunused-parameter on Connection.cpp,
WKEinaSharedString.cpp, ewk_view_loader_client.cpp, WebPage.cpp by
using ASSERT_UNUSED() macro or removing parameter name.
Fix build warning about -Wuninitialized on WebEventFactory.cpp by
continueing the loop at the default switch case not to use the
uninitialized variable.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForSyncReply):
* Shared/efl/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebTouchEvent):
* UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
(WKEinaSharedString::WKEinaSharedString):
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didSameDocumentNavigationForFrame):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::SandboxExtensionTracker::beginLoad):

Source/WTF:

Fix build warning about -Wunused-parameter on FastMalloc.cpp,
OSAllocatorPosix.cpp by using UNUSED_PARAM() macro.
Fix header including order of FastMalloc.cpp.

* wtf/FastMalloc.cpp:
(WTF::fastMallocSize):
* wtf/OSAllocatorPosix.cpp:
(WTF::OSAllocator::reserveAndCommit):

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

7 years agoEnable ElementAttributeData sharing for non-HTML elements.
kling@webkit.org [Mon, 24 Sep 2012 00:57:54 +0000 (00:57 +0000)]
Enable ElementAttributeData sharing for non-HTML elements.
<http://webkit.org/b/97413>

Reviewed by Anders Carlsson.

Use the whole qualified tag name when creating the ElementAttributeData cache key
instead of just the localName(). This allows sharing and caching of attribute data
for non-HTML elements and makes the code a little cleaner.

* dom/Element.cpp:
(WebCore::Element::parserSetAttributes):

    Enable the ElementAttributeData sharing path for non-HTML elements.

* dom/ElementAttributeData.h:

    Make immutableAttributeArray() public so Document can call it instead of getting
    the raw data address from a const_cast'ed attributeItem(0).

* dom/Document.cpp:
(WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
(WebCore::ImmutableAttributeDataCacheKey::operator!=):
(WebCore::ImmutableAttributeDataCacheKey::hash):
(ImmutableAttributeDataCacheKey):
(WebCore::ImmutableAttributeDataCacheEntry::ImmutableAttributeDataCacheEntry):
(ImmutableAttributeDataCacheEntry):
(WebCore::Document::cachedImmutableAttributeData):

    Let the immutable attribute data cache use a QualifiedName/attributes key
    instead of the AtomicString/attributes we were using before. We still grab the
    existingHash() from the QualifiedName::localName() and use that for the actual
    HashMap key.

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

7 years agoSorting a non-array creates propreties (spec-violation)
barraclough@apple.com [Sun, 23 Sep 2012 23:37:01 +0000 (23:37 +0000)]
Sorting a non-array creates propreties (spec-violation)
https://bugs.webkit.org/show_bug.cgi?id=25477

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

We're just calling get() to get properties, which is converting missing properties to
undefined. Hole values should be retained, and moved to the end of the array.

* runtime/ArrayPrototype.cpp:
(JSC::getOrHole):
    - Helper function, returns JSValue() instead of undefined for missing properties.
(JSC::arrayProtoFuncSort):
    - Implemented per 15.4.4.11, see comments above.

LayoutTests:

Added test cases.

* fast/js/array-sort-sparse-expected.txt: Added.
* fast/js/array-sort-sparse.html: Added.
* fast/js/script-tests/array-sort-sparse.js: Added.
(testSort):

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

7 years agoCSE for access to closure variables (get_/put_scoped_var)
ggaren@apple.com [Sun, 23 Sep 2012 22:48:19 +0000 (22:48 +0000)]
CSE for access to closure variables (get_/put_scoped_var)
https://bugs.webkit.org/show_bug.cgi?id=97414

Reviewed by Oliver Hunt.

I separated loading a scope from loading its storage pointer, so we can
CSE the storage pointer load. Then, I copied the global var CSE and adjusted
it for closure vars.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute): Renamed GetScopeChain => GetScope to
reflect renames from a few weeks ago.

Added a case for the storage pointer load, similar to object storage pointer load.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): Added an independent node for
the storage pointer.

* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::scopedVarStoreElimination):
(JSC::DFG::CSEPhase::getScopeLoadElimination):
(JSC::DFG::CSEPhase::getScopeRegistersLoadElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE): Copied globalVarLoad/StoreElimination
and adapted the same logic to closure vars.

* dfg/DFGNode.h:
(JSC::DFG::Node::hasScopeChainDepth):
(JSC::DFG::Node::scope):
(Node):
* dfg/DFGNodeType.h:
(DFG): GetScopedVar and GetGlobalVar are no longer MustGenerate. I'm not
sure why they ever were. But these are simple load operations so, if they're
unused, they're truly dead.

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Updated for renames and split-out
node for getting the storage pointer.

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

7 years agoMeasure the usage of the "X-WebKit-CSP" header in the hopes of dropping the prefix...
commit-queue@webkit.org [Sun, 23 Sep 2012 17:37:15 +0000 (17:37 +0000)]
Measure the usage of the "X-WebKit-CSP" header in the hopes of dropping the prefix completely.
https://bugs.webkit.org/show_bug.cgi?id=97408

Patch by Mike West <mkwst@chromium.org> on 2012-09-23
Reviewed by Adam Barth.

We plan on landing the unprefixed header in webkit.org/b/96765 once the
spec moves to CR. Though we plan to use it for experimentation in the
near future, we'll want to drop the prefixed header completely at some
point in the future. Starting to measure its usage now will give us a
good baseline when we start contemplating that decision.

No new functionality, so no new tests.

* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::didReceiveHeader):
* page/FeatureObserver.h:

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

7 years agoAdd explicit conversion operator to RetainPtr for easier use in C++11 environments
weinig@apple.com [Sun, 23 Sep 2012 06:56:53 +0000 (06:56 +0000)]
Add explicit conversion operator to RetainPtr for easier use in C++11 environments
https://bugs.webkit.org/show_bug.cgi?id=97403

Reviewed by Dan Bernstein.

* wtf/Compiler.h:
Add support for COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS)

* wtf/RetainPtr.h:
(RetainPtr):
(WTF::RetainPtr::get):
(WTF::RetainPtr::operator PtrType):
Add the explicit conversion operator and group all the underlying
pointer accessors together.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Sun, 23 Sep 2012 06:31:45 +0000 (06:31 +0000)]
Unreviewed GTK gardening.

Adding a failure expectation for http/tests/loading/redirect-with-no-location-crash.html,
the test started failing on the WebKit2 builder after it was unskipped in r129213.

* platform/gtk-wk2/TestExpectations:

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

7 years agoInstall WebProcess XPC services into the right places
weinig@apple.com [Sun, 23 Sep 2012 00:29:53 +0000 (00:29 +0000)]
Install WebProcess XPC services into the right places
https://bugs.webkit.org/show_bug.cgi?id=97385

Reviewed by Anders Carlsson.

* Configurations/WebProcessService.xcconfig:
Update INSTALL_PATH to go into WebKit2.framework/Versions/A/XPCServices.

* Configurations/WebProcessServiceForWebKitDevelopment.xcconfig:
Since this config file is almost identical to WebProcessService.xcconfig,
just #include it and change the one thing that is different, the INFOPLIST_FILE

* WebKit2.xcodeproj/project.pbxproj:
Follow XPC procedure and copy the services into the right place, WebKit2.framework/Versions/A/XPCServices
in all builds except production builds where it is not necessary. Also add a symlink like everyone else
does.

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

7 years agoAllow setting a custom path to where the plug-in sandbox profiles are being kept
weinig@apple.com [Sat, 22 Sep 2012 22:18:41 +0000 (22:18 +0000)]
Allow setting a custom path to where the plug-in sandbox profiles are being kept
https://bugs.webkit.org/show_bug.cgi?id=97399

Reviewed by Anders Carlsson.

Add a new default to allow controlling where to look for plug-in sandbox profiles
called "PlugInSandboxProfileDirectoryPath".

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox):
Use the passed in sandboxProfileDirectoryPath instead of hard coding /usr/share/sandbox/.

(WebKit::PluginProcess::platformInitialize):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h:
(PluginProcessCreationParameters):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializePluginProcess):
Grab the sandboxProfileDirectoryPath from standardUserDefaults and pass it to
the plug-in.

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

7 years agoAX: Layout tests would be easier to write if AccessibilityController could find an...
dmazzoni@google.com [Sat, 22 Sep 2012 16:17:57 +0000 (16:17 +0000)]
AX: Layout tests would be easier to write if AccessibilityController could find an element by id
https://bugs.webkit.org/show_bug.cgi?id=97301

Reviewed by Chris Fleizach.

Source/WebCore:

Add a method to get the DOM "id" attribute from an accessible object, only for layout tests.

Makes existing test more cross-platform:
Tests: accessibility/aria-hidden-with-elements.html

* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

Adds a new accessibleElementById method to AccessibilityController, to make it
easier to write cross-platform layout tests.

Implemented for Chromium and for Mac (DRT and WKTR).

* DumpRenderTree/AccessibilityController.cpp:
(getAccessibleElementByIdCallback):
(AccessibilityController::getJSClass):
* DumpRenderTree/AccessibilityController.h:
(AccessibilityController):
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.cpp:
(AccessibilityController::AccessibilityController):
(AccessibilityController::findAccessibleElementByIdRecursive):
(AccessibilityController::getAccessibleElementById):
(AccessibilityController::accessibleElementByIdGetterCallback):
* DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.h:
(AccessibilityController):
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
(AccessibilityController::accessibleElementById):
* DumpRenderTree/mac/AccessibilityCommonMac.h: added
* DumpRenderTree/mac/AccessibilityCommonMac.mm: added
(+[NSString stringWithJSStringRef:]):
(-[NSString createJSStringRef]):
* DumpRenderTree/mac/AccessibilityControllerMac.mm:
(findAccessibleObjectById):
(AccessibilityController::accessibleElementById):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
(AccessibilityController):
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h: added
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm: added
(+[NSString stringWithJSStringRef:]):
(-[NSString createJSStringRef]):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::findAccessibleObjectById):
(WTR):
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

LayoutTests:

Modifies an existing test to use the new accessibleElementById
method of AccessibilityController, enabling the test to pass on
both Mac and Chromium.

* accessibility/aria-hidden-with-elements.html:
* platform/chromium/TestExpectations:

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

7 years ago[Qt] Unreviewed weekend gardening, unskip now passing tests.
ossy@webkit.org [Sat, 22 Sep 2012 12:10:50 +0000 (12:10 +0000)]
[Qt] Unreviewed weekend gardening, unskip now passing tests.

* platform/qt/TestExpectations:

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

7 years ago[EFL] Garden IETestCenter Bugs
dominik.rottsches@intel.com [Sat, 22 Sep 2012 11:50:07 +0000 (11:50 +0000)]
[EFL] Garden IETestCenter Bugs
https://bugs.webkit.org/show_bug.cgi?id=97392

Unreviewed EFL gardening.

Unskip a couple of IETestCenter bugs now that they pass.

* platform/efl/TestExpectations:

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

7 years ago[GTK] Build is broken with GLib Unicode backend
commit-queue@webkit.org [Sat, 22 Sep 2012 11:32:30 +0000 (11:32 +0000)]
[GTK] Build is broken with GLib Unicode backend
https://bugs.webkit.org/show_bug.cgi?id=97308.

Patch by Thierry Reding <thierry.reding@avionic-design.de> on 2012-09-22
Reviewed by Carlos Garcia Campos.

The TextBreakIteratorGtk implementation uses ubrk_close() to delete
the iterator. However that function is ICU specific and not declared
when using the GLib backend. Instead the iterator can simply be freed
using the delete operator.

This commit is based on work by Martin Schlemmer who posted a fix for
this here:

    http://permalink.gmane.org/gmane.os.opendarwin.webkit.gtk/1210

No new tests.

* platform/text/gtk/TextBreakIteratorGtk.cpp:
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
Free iterator using delete instead of ubrk_close().

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

7 years ago[CSSRegions]Add test for accelerating compositing of elements in RenderFlowThread
mihnea@adobe.com [Sat, 22 Sep 2012 10:31:49 +0000 (10:31 +0000)]
[CSSRegions]Add test for accelerating compositing of elements in RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=97387

Reviewed by Dirk Schulze.

At this moment, accelerated compositing is disabled for elements inside a RenderFlowThread. This patch adds
a specific test in compositing/regions that is expected to fail until https://bugs.webkit.org/show_bug.cgi?id=84900
is fixed. The code for the new test is taken out of the existing fast/regions/webkit-flow-renderer-layer.html.

* compositing/regions/webkit-flow-renderer-layer-compositing-expected.html: Added.
* compositing/regions/webkit-flow-renderer-layer-compositing.html: Added.
* fast/regions/webkit-flow-renderer-layer-expected.html:
* fast/regions/webkit-flow-renderer-layer.html:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/Skipped:

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

7 years agoUnexpected reftest passes are only reported when pixel testing is enabled
zandobersek@gmail.com [Sat, 22 Sep 2012 08:10:38 +0000 (08:10 +0000)]
Unexpected reftest passes are only reported when pixel testing is enabled
https://bugs.webkit.org/show_bug.cgi?id=97242

Reviewed by Dirk Pranke.

LayoutTestRunner should know whether the finished test it's handling is
a reftest. This is necessary when updating result summary for reftests
when pixel testing is not enabled - in these circumstances an unexpectedly
passing reftest was not reported as such due to pixel testing then being
determined by searching for reftest failures in failures list, which were
not found in an empty failure list of a passing test. Now the TestResult
objects have a member variable indicating the test is a reftest whenever
that's the case.

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.run):
(SingleTestRunner._run_reftest):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.__init__):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Sat, 22 Sep 2012 08:00:21 +0000 (08:00 +0000)]
Unreviewed GTK gardening.

Marking mathml/presentation/subsup.xhtml as flaky, the flakiness
being observable after r128837.

Adding image failure expectation for fast/text/word-space-with-kerning-2.html,
introduced in r129233.

* platform/gtk/TestExpectations:

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

7 years ago[Qt] Unreviewed weekend gardening, unskip now passing tests.
ossy@webkit.org [Sat, 22 Sep 2012 07:26:40 +0000 (07:26 +0000)]
[Qt] Unreviewed weekend gardening, unskip now passing tests.

* platform/qt-5.0-wk1/Skipped:
* platform/qt/Skipped:

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

7 years ago[Qt] New fast/text/kerning-with-TextLayout.html fails
mitz@apple.com [Sat, 22 Sep 2012 07:01:27 +0000 (07:01 +0000)]
[Qt] New fast/text/kerning-with-TextLayout.html fails
https://bugs.webkit.org/show_bug.cgi?id=97388

Moved this test into platform/mac, as it is not platform-independent, and TextLayout is currently
used only on OS X.

* fast/text/kerning-with-TextLayout-expected.html: Removed.
* fast/text/kerning-with-TextLayout.html: Removed.
* platform/mac/fast/text/kerning-with-TextLayout-expected.html: Copied from LayoutTests/fast/text/kerning-with-TextLayout-expected.html.
* platform/mac/fast/text/kerning-with-TextLayout.html: Copied from LayoutTests/fast/text/kerning-with-TextLayout.html.

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

7 years ago[Qt] Unreviewed weekend gardening, skip new failing tests.
ossy@webkit.org [Sat, 22 Sep 2012 07:00:05 +0000 (07:00 +0000)]
[Qt] Unreviewed weekend gardening, skip new failing tests.

* platform/qt-5.0-wk2/Skipped:
* platform/qt/Skipped:

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

7 years agoUnreviewed, rolled out a line I committed by accident.
ggaren@apple.com [Sat, 22 Sep 2012 06:43:04 +0000 (06:43 +0000)]
Unreviewed, rolled out a line I committed by accident.

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

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

7 years agoOptimized closures that capture arguments
ggaren@apple.com [Sat, 22 Sep 2012 06:34:59 +0000 (06:34 +0000)]
Optimized closures that capture arguments
https://bugs.webkit.org/show_bug.cgi?id=97358

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Previously, the activation object was responsible for capturing all
arguments in a way that was convenient for the arguments object. Now,
we move all captured variables into a contiguous region in the stack,
allocate an activation for exactly that size, and make the arguments
object responsible for knowing all the places to which arguments could
have moved.

This seems like the right tradeoff because

    (a) Closures are common and long-lived, so we want them to be small.

    (b) Our primary strategy for optimizing the arguments object is to make
    it go away. If you're allocating arguments objects, you're already having
    a bad time.

    (c) It's common to use either the arguments object or named argument
    closure, but not both.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::argumentsRegister):
(JSC::CodeBlock::activationRegister):
(JSC::CodeBlock::isCaptured):
(JSC::CodeBlock::argumentIndexAfterCapture): m_numCapturedVars is gone
now -- we have an explicit range instead.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator): Move captured arguments
into the captured region of local variables for space efficiency. Record
precise data about where they moved for the sake of the arguments object.

Some of this data was previously wrong, but it didn't cause any problems
because the arguments weren't actually moving.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushArgumentsAndCapturedVariables): Don't
assume that captured vars are in any particular location -- always ask
the CodeBlock. This is better encapsulation.

(JSC::DFG::ByteCodeParser::parseCodeBlock):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): I rename things sometimes.

* runtime/Arguments.cpp:
(JSC::Arguments::tearOff): Account for a particularly nasty edge case.

(JSC::Arguments::didTearOffActivation): Don't allocate our slow arguments
data on tear-off. We need to allocate it eagerly instead, since we need
to know about displaced, captured arguments during access before tear-off.

* runtime/Arguments.h:
(JSC::Arguments::allocateSlowArguments):
(JSC::Arguments::argument): Tell our slow arguments array where all arguments
are, even if they are not captured. This simplifies some things, so we don't
have to account explicitly for the full matrix of (not torn off, torn off)
* (captured, not captured).

(JSC::Arguments::finishCreation): Allocate our slow arguments array eagerly
because we need to know about displaced, captured arguments during access
before tear-off.

* runtime/Executable.cpp:
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
* runtime/Executable.h:
(JSC::FunctionExecutable::parameterCount):
(FunctionExecutable):
* runtime/JSActivation.cpp:
(JSC::JSActivation::visitChildren):
* runtime/JSActivation.h:
(JSActivation):
(JSC::JSActivation::create):
(JSC::JSActivation::JSActivation):
(JSC::JSActivation::registerOffset):
(JSC::JSActivation::tearOff):
(JSC::JSActivation::allocationSize):
(JSC::JSActivation::isValid): This is really the point of the patch. All
the pointer math in Activations basically boils away, since we always
copy a contiguous region of captured variables now.

* runtime/SymbolTable.h:
(JSC::SlowArgument::SlowArgument):
(SlowArgument):
(SharedSymbolTable):
(JSC::SharedSymbolTable::captureCount):
(JSC::SharedSymbolTable::SharedSymbolTable): AllOfTheThings capture mode
is gone now -- that's the point of the patch. indexIfCaptured gets renamed
to index because we always have an index, even if not captured. (The only
time when the index is meaningless is when we're Deleted.)

LayoutTests:

* fast/js/dfg-arguments-alias-activation-expected.txt:
* fast/js/dfg-arguments-alias-activation.html:

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

7 years agoHTMLMediaElement isn't garbage collected between document reloads
fischman@chromium.org [Sat, 22 Sep 2012 04:44:29 +0000 (04:44 +0000)]
HTMLMediaElement isn't garbage collected between document reloads
https://bugs.webkit.org/show_bug.cgi?id=97020

Reviewed by Eric Carlson.

.:

Manual test added: ManualTests/audio-freed-during-reload.html

* ManualTests/audio-freed-during-reload.html:

Source/WebCore:

JS-created (as opposed to DOM-created) Audio nodes never got collected, because they
appear to always hasPendingActivity(), because m_playing is never set to false.

Manual test added: ManualTests/audio-freed-during-reload.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stop): set m_playing = false; explicitly.

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

7 years agoFix the Lion and Snow Leopard builds.
weinig@apple.com [Sat, 22 Sep 2012 03:18:33 +0000 (03:18 +0000)]
Fix the Lion and Snow Leopard builds.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessService):

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

7 years agoRenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) ==...
simon.fraser@apple.com [Sat, 22 Sep 2012 03:04:16 +0000 (03:04 +0000)]
RenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
https://bugs.webkit.org/show_bug.cgi?id=92464

Reviewed by Sam Weinig.

Marquees could cause an updateCompositingLayersAfterScroll() to be called when
we're in the middle of updating layer positions. updateCompositingLayersAfterScroll()
does a full RenderLayer tree walk, but its use of RenderGeomeryMap reveals that
it's using layers whose positions haven't been updated yet.

Fix by avoiding the updateCompositingLayersAfterScroll() if we're in the process
of updating a marquee when updating layer positions. We'll do a compositing update
soon anyway.

Tested by fast/events/tabindex-focus-blur-all.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
(WebCore::RenderLayer::scrollTo):
* rendering/RenderLayer.h:
(RenderLayer):

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

7 years agoWebProcess XPC services need have their environment set without disrupting all other...
weinig@apple.com [Sat, 22 Sep 2012 02:22:26 +0000 (02:22 +0000)]
WebProcess XPC services need have their environment set without disrupting all other XPC services
https://bugs.webkit.org/show_bug.cgi?id=95161

Reviewed by Anders Carlsson.

Source/WebKit2:

Replace the WebKit2Service with two new XPC services, the WebProcessService, which is only used
when installed on the system, and the WebProcessServiceForWebKitDevelopment which is used at all
other times. We need both services because XPC can't in general be configured to have a custom
environment at runtime, and thus WebProcessServiceForWebKitDevelopment has the ability to re-exec
itself into a desired state. That capability is rather undesirable for installed usage, where we
don't want to allow arbitrary changes to the environment of the service, which would allow breaking
the App Sandbox.

* Configurations/WebProcessService.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
* Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Renamed from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
Add new configuration files.

* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::registerMachPortEventHandler):
(WorkQueue::unregisterMachPortEventHandler):
Add helpful assertions. Without them, we confusingly crash a bit later in HashTable code.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::addDYLDEnvironmentAdditions):
Factor out environment additions to this helper function.

(WebKit::connectToWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessServiceForWebKitDevelopment):
Add functionality to setup the webkit development service via re-exec.

(WebKit::createWebProcessService):
Add functionality to connect to the installed WebProcess service.

(WebKit::createProcess):
Factor out posix_spawn based launching into this helper function.

(WebKit::ProcessLauncher::launchProcess):
Call the correct process creation function based on launch data and install state.

* WebKit2.xcodeproj/project.pbxproj:
Add new files to the project.

* WebProcess/mac/WebProcessServiceEntryPoints.h: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h.
* WebProcess/mac/WebProcessServiceEntryPoints.mm: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm.
(WebKit::WebProcessServiceEventHandler):
(WebProcessServiceMain):
(InitializeWebProcessForWebProcessServiceForWebKitDevelopment):
Rename to WebProcessServiceEntryPoints since this is now used for both the WebProcessService and the
WebProcessServiceForWebKitDevelopment.

* WebProcessService/Info.plist: Copied from Source/WebKit2/WebKit2Service/Info.plist.
* WebProcessService/WebProcessServiceMain.mm: Renamed from Source/WebKit2/WebKit2Service/MainMacService.mm.
Add main for the WebProcessService which just calls into the WebProcessServiceEntryPoints in WebKit2.framework.

* WebProcessServiceForWebKitDevelopment/Info.plist: Renamed from Source/WebKit2/WebKit2Service/Info.plist.
* WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Added.
Add main for the WebProcessServiceForWebKitDevelopment, which can't just call directly into WebProcessServiceEntryPoints
as the framework path might not be set up correctly. This is also where we re-exec ourselves when required.

Tools:

Remove setting the __XPC_* environment variables.

* Scripts/webkitdirs.pm:
(setUpGuardMallocIfNeeded):
(runMacWebKitApp):
(execMacWebKitAppForDebugging):

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

7 years agoEeeep - broke early boyer in bug#97382
barraclough@apple.com [Sat, 22 Sep 2012 02:06:25 +0000 (02:06 +0000)]
Eeeep - broke early boyer in bug#97382
https://bugs.webkit.org/show_bug.cgi?id=97383

Rubber stamped by Sam Weinig.

missed a child3 -> child2!

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInstanceOf):

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

7 years agoFix typo in additional-platform-directory patch just landed
dpranke@chromium.org [Sat, 22 Sep 2012 01:50:32 +0000 (01:50 +0000)]
Fix typo in additional-platform-directory patch just landed
https://bugs.webkit.org/show_bug.cgi?id=97380

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.relative_test_filename):
(Port.relative_perf_test_filename):

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

7 years agoUnreviewed windows build fix.
barraclough@apple.com [Sat, 22 Sep 2012 01:35:10 +0000 (01:35 +0000)]
Unreviewed windows build fix.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

7 years agoPedantic test in Mozilla's JavaScript test suite fails. function-001.js function...
barraclough@apple.com [Sat, 22 Sep 2012 01:34:25 +0000 (01:34 +0000)]
Pedantic test in Mozilla's JavaScript test suite fails. function-001.js function-001-n.js
https://bugs.webkit.org/show_bug.cgi?id=27219

Reviewed by Sam Weinig.

These tests are just wrong.
See ECMA 262 A.5, FunctionDelcaration does not require a semicolon.

* tests/mozilla/expected.html:
* tests/mozilla/js1_2/function/function-001-n.js:
* tests/mozilla/js1_3/Script/function-001-n.js:
* tests/mozilla/js1_3/regress/function-001-n.js:

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

7 years agoRemove bogus assertions from ChildListMutationScope
adamk@chromium.org [Sat, 22 Sep 2012 01:27:52 +0000 (01:27 +0000)]
Remove bogus assertions from ChildListMutationScope
https://bugs.webkit.org/show_bug.cgi?id=97372

Reviewed by Ryosuke Niwa.

Source/WebCore:

Some asserts (and their accompanying comment) were trying to enforce
proper usage of ChildListMutationScope from WebCore, but in the
presence of MutationEvents they could fail due to arbitrary script
execution.

This change gets rid of those asserts and adds tests exercising
the (pre-existing) codepaths for handling these out-of-order cases.
Without this patch, these tests ASSERT in debug builds.

Tests: fast/mutation/added-out-of-order.html
       fast/mutation/removed-out-of-order.html

* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::childAdded):
(WebCore::ChildListMutationAccumulator::willRemoveChild):
* dom/ChildListMutationScope.h:
(WebCore):

LayoutTests:

* fast/mutation/added-out-of-order-expected.txt: Added.
* fast/mutation/added-out-of-order.html: Added.
* fast/mutation/removed-out-of-order-expected.txt: Added.
* fast/mutation/removed-out-of-order.html: Added.

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

7 years agoRemove redundant argument to op_instanceof
barraclough@apple.com [Sat, 22 Sep 2012 01:18:54 +0000 (01:18 +0000)]
Remove redundant argument to op_instanceof
https://bugs.webkit.org/show_bug.cgi?id=97382

Reviewed by Geoff Garen.

No longer needed after my last change.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitInstanceOf):
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::InstanceOfNode::emitBytecode):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

7 years agoFix WebKit2 sandbox profile.
andersca@apple.com [Sat, 22 Sep 2012 01:13:54 +0000 (01:13 +0000)]
Fix WebKit2 sandbox profile.

Instead of using #pragmas, just disable all warnings in DerivedSources.make. I suspect
that passing -traditional to the preprocessor disables support for #pragmas but I'm afraid
to change it to something else.

* DerivedSources.make:
* WebProcess/com.apple.WebProcess.sb.in:

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

7 years agonrwt: don't require additional-platform-directory to be an abspath or live under...
dpranke@chromium.org [Sat, 22 Sep 2012 01:00:30 +0000 (01:00 +0000)]
nrwt: don't require additional-platform-directory to be an abspath or live under LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=97380

Reviewed by Ojan Vafai.

There doesn't seem to be a good reason for this restriction and
it's useful to be able to point to directories outside the
checkout for results (e.g., for local failures due to a 10.7.4
install ;).

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.relative_test_filename):
(Port.relative_perf_test_filename):
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._command_from_driver_input):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_additional_platform_directory):

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

7 years agoREGRESSION (r129176): Incorrect line breaking when kerning occurs between a space...
mitz@apple.com [Sat, 22 Sep 2012 01:00:01 +0000 (01:00 +0000)]
REGRESSION (r129176): Incorrect line breaking when kerning occurs between a space and the following character
https://bugs.webkit.org/show_bug.cgi?id=97377

Reviewed by Enrica Casucci.

Source/WebCore:

Test: fast/text/kerning-with-TextLayout.html

When kerning is enabled, the last character in a word may have its advance shortened because
of its trailing space. To account for that, words are measured along with the trailing space,
then the width of a space is subtracted from the result. This doesn’t work when the trailing
space itself has its advance shortened due to the character following it, which can happen
when using the TextLayout optimization. However, when the optimization is used, the advance
of the last character of the word is already adjusted for the trailing space, so there is no
need to measure with that space and subtract its advance.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to not use the trailingSpaceWidth
mechanism when TextLayout is being used.

LayoutTests:

* fast/text/kerning-with-TextLayout-expected.html: Added.
* fast/text/kerning-with-TextLayout.html: Added.

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

7 years ago[chromium] Forward-declare WebSize as a struct
aelias@chromium.org [Sat, 22 Sep 2012 00:53:53 +0000 (00:53 +0000)]
[chromium] Forward-declare WebSize as a struct
https://bugs.webkit.org/show_bug.cgi?id=97381

Reviewed by James Robinson.

The mismatched "class" forward-declaration for WebSize in this file
will cause a Clang error when it's included in Chromium.

* chromium/public/WebCompositorSoftwareOutputDevice.h:
(WebKit):

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

7 years agoUnreviewed windows build fix.
barraclough@apple.com [Sat, 22 Sep 2012 00:46:16 +0000 (00:46 +0000)]
Unreviewed windows build fix.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

7 years agoinstanceof should not get the prototype for non-default HasInstance
barraclough@apple.com [Sat, 22 Sep 2012 00:43:03 +0000 (00:43 +0000)]
instanceof should not get the prototype for non-default HasInstance
https://bugs.webkit.org/show_bug.cgi?id=68656

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Instanceof is currently implemented as a sequance of three opcodes:
    check_has_instance
    get_by_id(prototype)
    op_instanceof
There are three interesting types of base value that instanceof can be applied to:
    (A) Objects supporting default instanceof behaviour (functions, other than those created with bind)
    (B) Objects overriding the default instancecof behaviour with a custom one (API objects, bound functions)
    (C) Values that do not respond to the [[HasInstance]] trap.
Currently check_has_instance handles case (C), leaving the op_instanceof opcode to handle (A) & (B). There are
two problems with this apporach. Firstly, this is suboptimal for case (A), since we have to check for
hasInstance support twice (once in check_has_instance, then for default behaviour in op_instanceof). Secondly,
this means that in cases (B) we also perform the get_by_id, which is both suboptimal and an observable spec
violation.

The fix here is to move handing of non-default instanceof (cases (B)) to the check_has_instance op, leaving
op_instanceof to handle only cases (A).

* API/JSCallbackObject.h:
(JSCallbackObject):
* API/JSCallbackObjectFunctions.h:
(JSC::::customHasInstance):
* API/JSValueRef.cpp:
(JSValueIsInstanceOfConstructor):
    - renamed hasInstance to customHasInstance
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
    - added additional parameters to check_has_instance opcode
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
    - added additional parameters to check_has_instance opcode
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCheckHasInstance):
    - added additional parameters to check_has_instance opcode
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
    - added additional parameters to check_has_instance opcode
* bytecompiler/NodesCodegen.cpp:
(JSC::InstanceOfNode::emitBytecode):
    - added additional parameters to check_has_instance opcode
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
    - added additional parameters to check_has_instance opcode
* interpreter/Interpreter.cpp:
(JSC::isInvalidParamForIn):
(JSC::Interpreter::privateExecute):
    - Add handling for non-default instanceof to op_check_has_instance
* jit/JITInlineMethods.h:
(JSC::JIT::emitArrayProfilingSiteForBytecodeIndex):
    - Fixed no-LLInt no_DFG build
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_check_has_instance):
(JSC::JIT::emitSlow_op_check_has_instance):
    - check for ImplementsDefaultHasInstance, handle additional arguments to op_check_has_instance.
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
    - no need to check for ImplementsDefaultHasInstance.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_check_has_instance):
(JSC::JIT::emitSlow_op_check_has_instance):
    - check for ImplementsDefaultHasInstance, handle additional arguments to op_check_has_instance.
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
    - no need to check for ImplementsDefaultHasInstance.
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* jit/JITStubs.h:
    - Add handling for non-default instanceof to op_check_has_instance
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
    - move check for ImplementsDefaultHasInstance, handle additional arguments to op_check_has_instance.
* runtime/ClassInfo.h:
(MethodTable):
(JSC):
    - renamed hasInstance to customHasInstance
* runtime/CommonSlowPaths.h:
(CommonSlowPaths):
    - removed opInstanceOfSlow (this was whittled down to one function call!)
* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::customHasInstance):
* runtime/JSBoundFunction.h:
(JSBoundFunction):
    - renamed hasInstance to customHasInstance, reimplemented.
* runtime/JSCell.cpp:
(JSC::JSCell::customHasInstance):
* runtime/JSCell.h:
(JSCell):
* runtime/JSObject.cpp:
(JSC::JSObject::hasInstance):
(JSC):
(JSC::JSObject::defaultHasInstance):
* runtime/JSObject.h:
(JSObject):

LayoutTests:

* fast/js/function-bind-expected.txt:
    - check in passing result.

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

7 years agoSimplify and optimize ChildListMutationScope
adamk@chromium.org [Sat, 22 Sep 2012 00:30:48 +0000 (00:30 +0000)]
Simplify and optimize ChildListMutationScope
https://bugs.webkit.org/show_bug.cgi?id=97352

Reviewed by Ryosuke Niwa.

ChildListMutationScope is one of the most complicated bits of
MutationObserver implementation. This patch aims to simplify it for
clarity and improve its performance (mostly by just doing less).

The big change is to remove the MutationAccumulatorRouter class,
replacing it with lifetime-management logic in ChildListMutationAccumulator
ChildListMutationScope is expected to call getOrCreate() in
its constructor, and each scope holds a RefPtr to the accumulator.
When the last scope holding such a RefPtr is destroyed,
ChildListMutationAccumulator's destructor enqueues the accumulated record.

This greatly reduces the number of lines of code, and condenses
two HashMaps into one. It also reduces hash lookups, which now
occur only on scope creation and when the refcount for a given
accumulator reaches 0 (previously, each childAdded and willRemoveChild
call could result in two hash lookups each).

There are some minor changes as well: the ChildListMutationAccumulator::clear()
method is gone, as it was doing more work than necessary;
DEFINE_STATIC_LOCAL is now used instead of hand-rolled static-management
code; ChildListMutationAccumulator::m_lastAdded is no longer a RefPtr, since it
always points at a Node that's already being ref'd by the accumulator.
Also various minor syntactic cleanups.

No new tests, no change in behavior.

* dom/ChildListMutationScope.cpp:
(WebCore::accumulatorMap): Reduced two maps to one, and manage its lifetime with DEFINE_STATIC_LOCAL.
(WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator): Remove unnecessary call to clear() (which itself has been removed).
(WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): Enqueue record if not empty at destruction, and have the accumulator
remove itself from the map.
(WebCore::ChildListMutationAccumulator::getOrCreate): Replaces half of MutationAccumulatorRouter's job.
(WebCore::ChildListMutationAccumulator::childAdded): Minor RefPtr usage improvements.
(WebCore::ChildListMutationAccumulator::isRemovedNodeInOrder): Simplify RefPtr syntax.
(WebCore::ChildListMutationAccumulator::willRemoveChild): Minor RefPtr usage improvements.
(WebCore::ChildListMutationAccumulator::enqueueMutationRecord): Replace call to clear() with clearing m_lastAdded,
since it's the only bit not cleared by the MutationRecord creation call. Also remove
isEmpty check and replace with asserts now that it's a private method.
(WebCore::ChildListMutationAccumulator::isEmpty): Added more assertions about emptiness.
* dom/ChildListMutationScope.h:
(WebCore):
(ChildListMutationAccumulator): Extract the inner class to make everything easier to read.
(WebCore::ChildListMutationScope::ChildListMutationScope): Store m_accumulator rather than m_target.
(WebCore::ChildListMutationScope::~ChildListMutationScope): ditto
(WebCore::ChildListMutationScope::childAdded): ditto
(WebCore::ChildListMutationScope::willRemoveChild): ditto
(ChildListMutationScope):
* html/HTMLElement.cpp: Remove unused ChildListMutationScope.h #include.

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

7 years agoUnreviewed. Skip this test because it relies on sandboxed-iframe-origin-add.html...
roger_fong@apple.com [Sat, 22 Sep 2012 00:16:45 +0000 (00:16 +0000)]
Unreviewed. Skip this test because it relies on sandboxed-iframe-origin-add.html which was removed in trac.webkit.org/changeset/129262.

* platform/win/Skipped:

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

7 years agofast/dom/Geolocation/disconnected-frame.html test asserts
benjamin@webkit.org [Sat, 22 Sep 2012 00:13:14 +0000 (00:13 +0000)]
fast/dom/Geolocation/disconnected-frame.html test asserts
https://bugs.webkit.org/show_bug.cgi?id=97376

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-21
Reviewed by Alexey Proskuryakov.

Source/WebKit2:

In GeolocationPermissionRequestManager::cancelRequestForGeolocation, we access an iterator
after its value has been removed from the table.
There are two problems with that:
-The iterator is no longer valid after the container has been modified.
-If it was the last element, the table has been freed and the iterator points to deleted memory.

We solve the issue by keeping a copy of the ID. We could have inverted the order of the calls
but that would make the issue less visible for future change.

Testing covered by fast/dom/Geolocation/disconnected-frame.html.

* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):

LayoutTests:

* platform/wk2/Skipped:

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

7 years agoBiquadFilterNode must take audio-rate parameter changes into account
crogers@google.com [Fri, 21 Sep 2012 23:58:16 +0000 (23:58 +0000)]
BiquadFilterNode must take audio-rate parameter changes into account
https://bugs.webkit.org/show_bug.cgi?id=97369

Reviewed by Kenneth Russell.

BiquadFilterNode is currently ignoring any timeline or audio-rate changes to its parameters.
We now check if any of its parameters have timeline or audio-rate changes and, if so, take
them into account.  Otherwise, we use ordinary parameter smoothing/de-zippering which is
the case when the parameters are adjusted, for example, from a knob or slider in the UI.

* Modules/webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
* Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::checkForDirtyCoefficients):
* Modules/webaudio/BiquadProcessor.h:
(WebCore::BiquadProcessor::hasSampleAccurateValues):
(BiquadProcessor):

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

7 years agoUnreviewed. Fix Windows specific accessibility test results.
roger_fong@apple.com [Fri, 21 Sep 2012 23:58:05 +0000 (23:58 +0000)]
Unreviewed. Fix Windows specific accessibility test results.
Missed some new lines in http://trac.webkit.org/changeset/129255.

* platform/win/accessibility/aria-toggle-button-with-title-expected.txt:
* platform/win/accessibility/canvas-fallback-content-2-expected.txt:
* platform/win/accessibility/img-fallsback-to-title-expected.txt:
* platform/win/accessibility/svg-image-expected.txt:

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

7 years agoAdd support for OES_vertex_array_object in chromium
commit-queue@webkit.org [Fri, 21 Sep 2012 23:47:36 +0000 (23:47 +0000)]
Add support for OES_vertex_array_object in chromium
https://bugs.webkit.org/show_bug.cgi?id=96578

Patch by Brandon Jones <bajones@google.com> on 2012-09-21
Reviewed by Kenneth Russell.

Source/Platform:

Added code to allow calls to the OES_vertex_array_object extension to interface
properly with the chromium WebGL implementation.

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::createVertexArrayOES):
(WebKit::WebGraphicsContext3D::deleteVertexArrayOES):
(WebKit::WebGraphicsContext3D::isVertexArrayOES):
(WebKit::WebGraphicsContext3D::bindVertexArrayOES):

Source/WebCore:

Adding basic reference counting to WebGLBuffer objects to satisfy spec requirements
for the OES_vertex_array_object extension. Added code to allow calls to the
OES_vertex_array_object extension to interface properly with the chromium WebGL
implementation.

Test: fast/canvas/webgl/oes-vertex-array-object.html

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::deleteBuffer):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
* html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
(WebCore):
* html/canvas/WebGLVertexArrayObjectOES.h:
(WebGLVertexArrayObjectOES):
(WebCore::WebGLVertexArrayObjectOES::getVertexAttribStateSize):
* platform/chromium/support/Extensions3DChromium.cpp:
(WebCore::Extensions3DChromium::createVertexArrayOES):
(WebCore::Extensions3DChromium::deleteVertexArrayOES):
(WebCore::Extensions3DChromium::isVertexArrayOES):
(WebCore::Extensions3DChromium::bindVertexArrayOES):

LayoutTests:

Brought over KHRONOS conformance test for OES_vertex_array_object

* fast/canvas/webgl/oes-vertex-array-object-expected.txt: Added.
* fast/canvas/webgl/oes-vertex-array-object.html: Added.
* platform/efl/Skipped:
* platform/gtk-wk2/Skipped:
* platform/mac/Skipped:
* platform/wk2/Skipped:

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

7 years agoUnreviewed, fix ARM build.
fpizlo@apple.com [Fri, 21 Sep 2012 23:40:35 +0000 (23:40 +0000)]
Unreviewed, fix ARM build.

* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::store8):
(MacroAssemblerARMv7):
* offlineasm/armv7.rb:

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

7 years ago[Chromium] Use OpenTypeVerticalData on Linux
bashi@chromium.org [Fri, 21 Sep 2012 23:35:07 +0000 (23:35 +0000)]
[Chromium] Use OpenTypeVerticalData on Linux
https://bugs.webkit.org/show_bug.cgi?id=97277

Reviewed by Tony Chang.

Source/WebCore:

Remove HarfBuzz dependency from GlyphPageTreeNodeSkia. Use OpenTypeVerticalData instead.

No new tests. Rebaselined existing tests.

* WebCore.gyp/WebCore.gyp: Added OpenTypeTypes.h and OpenTypeVerticalData.(cpp|h) for linux and android.
* platform/graphics/FontCache.cpp:
Inserted a space between > and > in typedef of FontVerticalDataCache so that making some compilers happy.
(WebCore):
* platform/graphics/SimpleFontData.h:
(SimpleFontData): Moved declaration of m_verticalData to avoid compile warnings.
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore):
(WebCore::FontPlatformData::verticalData): Added.
(WebCore::FontPlatformData::openTypeTable): Added.
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
(WebCore):
(FontPlatformData):
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Removed substituteWithVerticalGlyphs().
(WebCore::GlyphPage::fill):

Source/WebKit/chromium:

* features.gypi: Enable OPENTYPE_VERTICAL on linux and android.

LayoutTests:

Rebaselined vertical writing test expectations.

* platform/chromium-linux/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png:
* platform/chromium-linux/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png:
* platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png:
* platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png:
* platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png:
* platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png:
* platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png:
* platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png:
* platform/chromium-linux/fast/dynamic/text-combine-expected.png:
* platform/chromium-linux/fast/repaint/japanese-rl-selection-repaint-expected.png:
* platform/chromium-linux/fast/text/international/text-spliced-font-expected.png:
* platform/chromium-linux/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
* platform/chromium-linux/fast/writing-mode/border-vertical-lr-expected.png:
* platform/chromium-linux/fast/writing-mode/japanese-lr-selection-expected.png:
* platform/chromium-linux/fast/writing-mode/japanese-lr-text-expected.png:
* platform/chromium-linux/fast/writing-mode/japanese-rl-selection-expected.png:
* platform/chromium-linux/fast/writing-mode/japanese-rl-text-expected.png:
* platform/chromium-linux/fast/writing-mode/japanese-rl-text-with-broken-font-expected.png:

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

7 years agoREGRESSION (r128400): Opening Google Web Fonts page hangs or crashes
fpizlo@apple.com [Fri, 21 Sep 2012 23:29:30 +0000 (23:29 +0000)]
REGRESSION (r128400): Opening Google Web Fonts page hangs or crashes
https://bugs.webkit.org/show_bug.cgi?id=97328

Reviewed by Mark Hahnenberg.

It's a bad idea to emit stub code that reallocates property storage when we're in indexed
storage mode. DFGRepatch.cpp knew this and had the appropriate check in one of the places,
but it didn't have it in all of the places.

This change also adds some more handy disassembly support, which I used to find the bug.

* assembler/LinkBuffer.h:
(JSC):
* dfg/DFGRepatch.cpp:
(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):
(JSC::DFG::tryCachePutByID):
* jit/JITStubRoutine.h:
(JSC):

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

7 years agoCrash in WebCore::Document::fullScreenChangeDelayTimerFired
commit-queue@webkit.org [Fri, 21 Sep 2012 23:20:08 +0000 (23:20 +0000)]
Crash in WebCore::Document::fullScreenChangeDelayTimerFired
https://bugs.webkit.org/show_bug.cgi?id=97367

Patch by Jeremy Apthorp <jeremya@chromium.org> on 2012-09-21
Reviewed by Abhishek Arya.

The document could be destroyed during the processing of the
fullscreenchange event, if the document was destroyed as a result of
one of the dispatchEvent calls.

This bug isn't reliably reproducible, so no new tests.

* dom/Document.cpp:
(WebCore::Document::fullScreenChangeDelayTimerFired):

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

7 years agoREGRESSION (r120361) Warnings while preprocessing com.apple.WebProcess.sb.in
weinig@apple.com [Fri, 21 Sep 2012 23:18:55 +0000 (23:18 +0000)]
REGRESSION (r120361) Warnings while preprocessing com.apple.WebProcess.sb.in
https://bugs.webkit.org/show_bug.cgi?id=91079
<rdar://problem/12332660>

Reviewed by Anders Carlsson.

* WebProcess/com.apple.WebProcess.sb.in:
Add pragma to ignore the invalid preprocessor warnings.

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

7 years agoSkip fast/dom/Geolocation/disconnected-frame.html until the assertion is fixed
benjamin@webkit.org [Fri, 21 Sep 2012 23:15:13 +0000 (23:15 +0000)]
Skip fast/dom/Geolocation/disconnected-frame.html until the assertion is fixed

Unreviewed. The test assert in Debug, skip it until this has been fixed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-21

* platform/wk2/Skipped:

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