WebKit-https.git
7 years agoRoll chromium DEPS to r157342
peter@chromium.org [Tue, 18 Sep 2012 16:21:10 +0000 (16:21 +0000)]
Roll chromium DEPS to r157342
https://bugs.webkit.org/show_bug.cgi?id=96963

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-09-18
Reviewed by Stephen White.

Roll chromium DEPS to r157342. Also include the top-level directory
google_apis as a dependency, which was required for r157130.

* DEPS:

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

7 years agoUse WTF::HasTrivialDestructor instead of compiler-specific versions in JSC::NeedsDest...
mhahnenberg@apple.com [Tue, 18 Sep 2012 16:13:11 +0000 (16:13 +0000)]
Use WTF::HasTrivialDestructor instead of compiler-specific versions in JSC::NeedsDestructor
https://bugs.webkit.org/show_bug.cgi?id=96980

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

* runtime/JSCell.h:
(JSC):
(NeedsDestructor):

Source/WTF:

* wtf/TypeTraits.h:
(WTF):

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

7 years agoEWS shouldn't sleep if there are new patches in its queue
commit-queue@webkit.org [Tue, 18 Sep 2012 15:30:27 +0000 (15:30 +0000)]
EWS shouldn't sleep if there are new patches in its queue
https://bugs.webkit.org/show_bug.cgi?id=83038

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-09-18
Reviewed by Eric Seidel.

EWS tries to process a security patch. Of course it can't, because the EWS isn't
the member of the security group. But the problem is that after it can't process
the attachment, it says that queue is empty (but it isn't!) and it sleeps 2 minutes
and push the security patch to the end of the queue.
Now it stays in the loop until it finds a patch or the queue gets empty.

* Scripts/webkitpy/tool/commands/queues.py:
(AbstractPatchQueue._next_patch):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(AbstractPatchQueueTest.test_next_patch):

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

7 years agoDFGOperations doesn't use NativeCallFrameTracer in enough places
fpizlo@apple.com [Tue, 18 Sep 2012 15:22:29 +0000 (15:22 +0000)]
DFGOperations doesn't use NativeCallFrameTracer in enough places
https://bugs.webkit.org/show_bug.cgi?id=96987

Reviewed by Mark Hahnenberg.

Anything that can GC should use it.

* dfg/DFGOperations.cpp:

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

7 years ago[EFL] Gardening.
rakuco@webkit.org [Tue, 18 Sep 2012 15:14:57 +0000 (15:14 +0000)]
[EFL] Gardening.

Move fast/events/dont-loose-last-event.html from Skipped to
TestExpectations now that it has a proper bug tracking the
failure.

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

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

7 years agoUnreviewed. Avoid using a deprecated extension API parameter in test to avoid console...
caseq@chromium.org [Tue, 18 Sep 2012 15:02:34 +0000 (15:02 +0000)]
Unreviewed. Avoid using a deprecated extension API parameter in test to avoid console warning,
that break expectations on EFL due to EFL's DRT logging inspector console output to test
expectations.

* inspector/extensions/extensions-audits-api.html:
* platform/efl/TestExpectations:

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

7 years ago[WK2][WTR] InjectedBundle::booleanForKey() should handle literals effectively
commit-queue@webkit.org [Tue, 18 Sep 2012 15:00:45 +0000 (15:00 +0000)]
[WK2][WTR] InjectedBundle::booleanForKey() should handle literals effectively
https://bugs.webkit.org/show_bug.cgi?id=97014

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-18
Reviewed by Kenneth Rohde Christiansen.

According to http://trac.webkit.org/wiki/EfficientStrings WTF::StringBuilder::appendLiteral() shall
be used for literals rather than WTF::StringBuilder::append().

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::booleanForKey):

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

7 years ago[EFL] Gardening.
rakuco@webkit.org [Tue, 18 Sep 2012 14:57:14 +0000 (14:57 +0000)]
[EFL] Gardening.

* platform/efl/TestExpectations: Skip
inspector/extensions/extensions-audits-api.html while we do not
solve the associated bug.

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

7 years ago[EFL] Unreviewed daily gardening.
rakuco@webkit.org [Tue, 18 Sep 2012 14:44:45 +0000 (14:44 +0000)]
[EFL] Unreviewed daily gardening.

Re-skip a few tests which were unskipped in r128880 and r128882
and still fail both on my machine and on the bots.

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

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

7 years agoWeb Inspector: [Extensions API] postpone requests to add extensions until extension...
caseq@chromium.org [Tue, 18 Sep 2012 14:14:10 +0000 (14:14 +0000)]
Web Inspector: [Extensions API] postpone requests to add extensions until extension server is initialized
https://bugs.webkit.org/show_bug.cgi?id=97012

Reviewed by Vsevolod Vlasov.

- queue extensions being added unless initialization is complete;
- add queued extensions upon completion of initialization;

* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.initExtensions):
(WebInspector.ExtensionServer.prototype._addExtensions):
(WebInspector.ExtensionServer.prototype._addExtension):
(WebInspector.ExtensionServer.prototype._innerAddExtension):

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

7 years ago[EFL] Unskip the right ietestcenter tests after r128802.
rakuco@webkit.org [Tue, 18 Sep 2012 14:11:00 +0000 (14:11 +0000)]
[EFL] Unskip the right ietestcenter tests after r128802.

* platform/efl/TestExpectations:

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

7 years agoUpdate my e-mail address.
hausmann@webkit.org [Tue, 18 Sep 2012 14:08:01 +0000 (14:08 +0000)]
Update my e-mail address.

* Scripts/webkitpy/common/config/committers.py:

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

7 years ago[Qt] Use UndoStep::editingAction() to set the text of undo/redo actions
caio.oliveira@openbossa.org [Tue, 18 Sep 2012 14:05:07 +0000 (14:05 +0000)]
[Qt] Use UndoStep::editingAction() to set the text of undo/redo actions
https://bugs.webkit.org/show_bug.cgi?id=96921

Reviewed by Ryosuke Niwa.

Set the text of QUndoCommands we create for undo/redo actions based on the
editing action from UndoStep.

This change is visible using QtTestBrowser, and looking at the Edit menu after
doing HTML editing changes. I've used http://simple-rte.rniwa.com for testing.

* WebCoreSupport/UndoStepQt.cpp:
(undoNameForEditAction): This function returns a localized name of the action.
(UndoStepQt::UndoStepQt): Set the text based on UndoStep::editingAction.
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage):
(tst_QWebPage::undoActionHaveCustomText): Create a new test to verify that the text
describing the undo action after inserting a text and indenting the text is different.

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

7 years agoUpdate my e-mail address.
abecsi@webkit.org [Tue, 18 Sep 2012 14:03:48 +0000 (14:03 +0000)]
Update my e-mail address.

Unreviewed.

* Scripts/webkitpy/common/config/committers.py:

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

7 years ago[Qt] qt_webkit.pri should not be listed in Tools.pro
abecsi@webkit.org [Tue, 18 Sep 2012 13:58:20 +0000 (13:58 +0000)]
[Qt] qt_webkit.pri should not be listed in Tools.pro

Reviewed and rubber-stamped by Simon Hausmann and Tor Arne Vestbø.

Since r128751 the module pri file is auto-generated
but it was still listed in OTHER_FILES.

Patch by Andras Becsi <andras.becsi@digia.com> on 2012-09-18

* Tools.pro: Remove unneeded line.

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

7 years ago[Qt] Fix build with some versions of the gold linker
hausmann@webkit.org [Tue, 18 Sep 2012 13:51:18 +0000 (13:51 +0000)]
[Qt] Fix build with some versions of the gold linker

Reviewed by Tor Arne Vestbø.

Don't unconditionally pass --no-keep-memory to the linker, some versions might not support it.
Instead run a compile/link test first to see if it works.

* qmake/config.tests/gnuld/gnuld.pro: Added.
* qmake/config.tests/gnuld/main.cpp: Added.
(main):
* qmake/mkspecs/features/unix/default_post.prf:

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

7 years ago[Qt] Remove forced use of gold.
hausmann@webkit.org [Tue, 18 Sep 2012 13:37:47 +0000 (13:37 +0000)]
[Qt] Remove forced use of gold.

Reviewed by Tor Arne Vestbø.

The choice of what linker to use with WebKit should be taken by Qt's build system and ideally the same for all
modules of Qt. Then in turn it is usually up to the administrator of the machine. Recent Debian based systems
often offer the automatic use of gold through a symlink and a dpkg-diversion when installing the gold package.

* qmake/mkspecs/features/unix/default_post.prf:

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

7 years ago[Qt] Prospective Qt/Windows cross-compiling fix
hausmann@webkit.org [Tue, 18 Sep 2012 13:29:43 +0000 (13:29 +0000)]
[Qt] Prospective Qt/Windows cross-compiling fix

Reviewed by Tor Arne Vestbø.

The win32 scope is not set when cross-compiling from Linux to Windows.

* qmake/mkspecs/features/functions.prf:

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

7 years agoUnreviewed, rolling out r128849.
commit-queue@webkit.org [Tue, 18 Sep 2012 13:23:07 +0000 (13:23 +0000)]
Unreviewed, rolling out r128849.
http://trac.webkit.org/changeset/128849
https://bugs.webkit.org/show_bug.cgi?id=97007

Causes test_ewk2_view to time out. (Requested by rakuco on
#webkit).

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

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_webprocess_crashed):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_ui_client.cpp:
(ewk_view_ui_client_attach):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

7 years ago[EFL] Rebaseline several test cases in Skipped list
commit-queue@webkit.org [Tue, 18 Sep 2012 13:02:17 +0000 (13:02 +0000)]
[EFL] Rebaseline several test cases in Skipped list
https://bugs.webkit.org/show_bug.cgi?id=97000

Unreviewed EFL gardening.

Rebaseline several test cases an unskip them.

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

* platform/efl/Skipped:
* platform/efl/TestExpectations:
* platform/efl/animations/additive-transform-animations-expected.txt: Added.
* platform/efl/animations/cross-fade-webkit-mask-box-image-expected.png: Added.
* platform/efl/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
* platform/efl/fast/events/offsetX-offsetY-expected.txt: Removed.
* platform/efl/fast/events/pointer-events-2-expected.png:
* platform/efl/fast/events/pointer-events-2-expected.txt:
* platform/efl/fast/forms/001-expected.png:
* platform/efl/fast/forms/001-expected.txt:
* platform/efl/fast/forms/float-before-fieldset-expected.png:
* platform/efl/fast/forms/float-before-fieldset-expected.txt:
* platform/efl/fast/forms/form-element-geometry-expected.png:
* platform/efl/fast/forms/form-element-geometry-expected.txt:
* platform/efl/fast/forms/input-baseline-expected.png:
* platform/efl/fast/forms/input-baseline-expected.txt:
* platform/efl/fast/forms/input-placeholder-visibility-1-expected.png:
* platform/efl/fast/forms/input-placeholder-visibility-1-expected.txt:
* platform/efl/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/efl/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/efl/fast/forms/mailto/advanced-get-expected.txt: Added.
* platform/efl/fast/forms/mailto/advanced-put-expected.txt: Added.
* platform/efl/fast/forms/placeholder-position-expected.png:
* platform/efl/fast/forms/placeholder-position-expected.txt:
* platform/efl/fast/forms/placeholder-pseudo-style-expected.png:
* platform/efl/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/efl/fast/forms/textarea-placeholder-pseudo-style-expected.png:
* platform/efl/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
* platform/efl/fast/gradients/generated-gradients-expected.png:
* platform/efl/fast/gradients/generated-gradients-expected.txt:
* platform/efl/fast/gradients/radial-centered-expected.png:
* platform/efl/fast/gradients/radial-centered-expected.txt:
* platform/efl/fast/inline-block/contenteditable-baseline-expected.png:
* platform/efl/fast/inline-block/contenteditable-baseline-expected.txt:
* platform/efl/fast/inline/continuation-outlines-with-layers-2-expected.png:
* platform/efl/fast/inline/continuation-outlines-with-layers-2-expected.txt:
* platform/efl/fast/inline/inline-box-background-expected.png:
* platform/efl/fast/inline/inline-box-background-expected.txt:
* platform/efl/fast/inline/inline-box-background-long-image-expected.png:
* platform/efl/fast/inline/inline-box-background-long-image-expected.txt:
* platform/efl/fast/inline/inline-box-background-repeat-x-expected.png:
* platform/efl/fast/inline/inline-box-background-repeat-x-expected.txt:
* platform/efl/fast/inline/inline-box-background-repeat-y-expected.png:
* platform/efl/fast/inline/inline-box-background-repeat-y-expected.txt:
* platform/efl/fast/invalid/nestedh3s-expected.png:
* platform/efl/fast/invalid/nestedh3s-expected.txt:
* platform/efl/fast/overflow/overflow-float-stacking-expected.png:
* platform/efl/fast/overflow/overflow-float-stacking-expected.txt:
* platform/efl/fast/overflow/overflow-stacking-expected.png:
* platform/efl/fast/overflow/overflow-stacking-expected.txt:
* platform/efl/fast/repaint/block-layout-inline-children-replaced-expected.png:
* platform/efl/fast/repaint/block-layout-inline-children-replaced-expected.txt:
* platform/efl/fast/repaint/japanese-rl-selection-clear-expected.png:
* platform/efl/fast/repaint/japanese-rl-selection-clear-expected.txt:
* platform/efl/fast/repaint/japanese-rl-selection-repaint-expected.png:
* platform/efl/fast/repaint/japanese-rl-selection-repaint-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-in-regions-expected.png:
* platform/efl/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
* platform/efl/fast/repaint/moving-shadow-on-path-expected.png:
* platform/efl/fast/repaint/moving-shadow-on-path-expected.txt:
* platform/efl/fast/repaint/repaint-svg-after-style-change-expected.png: Added.
* platform/efl/fast/repaint/repaint-svg-after-style-change-expected.txt: Added.
* platform/efl/fast/repaint/table-section-repaint-expected.txt:
* platform/efl/fast/repaint/transform-absolute-in-positioned-container-expected.png:
* platform/efl/fast/repaint/transform-absolute-in-positioned-container-expected.txt:
* platform/efl/fast/replaced/width100percent-searchfield-expected.png:
* platform/efl/fast/replaced/width100percent-searchfield-expected.txt:
* platform/efl/fast/table/027-expected.png:
* platform/efl/fast/table/027-expected.txt:
* platform/efl/fast/table/027-vertical-expected.png:
* platform/efl/fast/table/027-vertical-expected.txt:
* platform/efl/fast/table/032-expected.png:
* platform/efl/fast/table/032-expected.txt:
* platform/efl/fast/table/040-expected.png:
* platform/efl/fast/table/040-expected.txt:
* platform/efl/fast/table/040-vertical-expected.png:
* platform/efl/fast/table/040-vertical-expected.txt:
* platform/efl/fast/table/absolute-table-at-bottom-expected.png:
* platform/efl/fast/table/absolute-table-at-bottom-expected.txt:
* platform/efl/fast/table/border-collapsing/004-expected.png:
* platform/efl/fast/table/border-collapsing/004-expected.txt:
* platform/efl/fast/table/border-collapsing/004-vertical-expected.png:
* platform/efl/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/efl/fast/table/dynamic-caption-add-before-child-expected.png:
* platform/efl/fast/table/dynamic-caption-add-before-child-expected.txt:
* platform/efl/fast/table/frame-and-rules-expected.png:
* platform/efl/fast/table/frame-and-rules-expected.txt:
* platform/efl/fast/table/multiple-captions-display-expected.png: Added.
* platform/efl/fast/table/multiple-captions-display-expected.txt:
* platform/efl/media/video-colorspace-yuv420-expected.png: Added.
* platform/efl/media/video-colorspace-yuv420-expected.txt: Added.
* platform/efl/media/video-colorspace-yuv422-expected.png: Added.
* platform/efl/media/video-colorspace-yuv422-expected.txt: Added.
* platform/efl/perf/nested-combined-selectors-expected.txt: Added.
* platform/efl/userscripts/script-run-at-end-expected.txt: Added.

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

7 years ago[EFL] Gardening after r128802.
rakuco@webkit.org [Tue, 18 Sep 2012 12:56:41 +0000 (12:56 +0000)]
[EFL] Gardening after r128802.

* platform/efl/TestExpectations: Temporarily skip a few JS tests
which are crashing after r128802.

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

7 years ago[EFL] min-device-width failures in media tests
commit-queue@webkit.org [Tue, 18 Sep 2012 12:55:04 +0000 (12:55 +0000)]
[EFL] min-device-width failures in media tests
https://bugs.webkit.org/show_bug.cgi?id=96920

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-18
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Return a realistic value (800x600) for screen resolution if
it cannot be detected, instead of returning (0x0).

This allows for some tests to pass on the build bots
where X is not running.

No new tests, already covered by existing tests.

* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):

LayoutTests:

Unskip several test cases which should pass on the
build bots now that we return a realistic screen
resolution whenever it cannot be detected.

* platform/efl/TestExpectations:

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

7 years ago[EFL][WK2] Clarify TestExpectations file
commit-queue@webkit.org [Tue, 18 Sep 2012 12:51:30 +0000 (12:51 +0000)]
[EFL][WK2] Clarify TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=97003

Unreviewed EFL gardening.

Slight reorganization and bug numbers updating
in EFL WK2 TestExpectations for clarity.

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

* platform/efl-wk2/TestExpectations:

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

7 years agoREGRESSION(r128802): It made some JS tests crash
ossy@webkit.org [Tue, 18 Sep 2012 12:39:51 +0000 (12:39 +0000)]
REGRESSION(r128802): It made some JS tests crash
https://bugs.webkit.org/show_bug.cgi?id=97001

Unreviewed gardening, skip the new _crashing_ tests to paint the bots green.

* platform/qt/Skipped:

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

7 years agoFix compilation with Qt 5 on MeeGo 1.2 Harmattan
commit-queue@webkit.org [Tue, 18 Sep 2012 12:21:44 +0000 (12:21 +0000)]
Fix compilation with Qt 5 on MeeGo 1.2 Harmattan
https://bugs.webkit.org/show_bug.cgi?id=96937

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2012-09-18
Reviewed by Jocelyn Turcotte.

The gl2ext.h header file on the platform is outdated. Instead use the newer copy from Qt
through implicit inclusion of qopengl.h. Since Qt's declarations are based on newer Khronos
headers, the multi sampling extensions do have the PROC suffix, we need the same workaround
as QNX.

* platform/graphics/opengl/Extensions3DOpenGLES.h:

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

7 years ago[EFL] Remove background view on EWebLauncher and MiniBrowser
commit-queue@webkit.org [Tue, 18 Sep 2012 12:05:31 +0000 (12:05 +0000)]
[EFL] Remove background view on EWebLauncher and MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=96905

Patch by Seokju Kwon <seokju.kwon@samsung.com> on 2012-09-18
Reviewed by Gyuyoung Kim.

The size of webview was changed after adding url bar.
And the background view is not necessary anymore, since it was used for debugging back in the day.

* EWebLauncher/main.c:
(_ELauncher):
(on_ecore_evas_resize):
(browserCreate):
* MiniBrowser/efl/main.c:
(_MiniBrowser):
(on_ecore_evas_resize):
(browserCreate):

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

7 years agoWeb Inspector: [Extensions API] explicitly manage extension audit progress
caseq@chromium.org [Tue, 18 Sep 2012 11:41:16 +0000 (11:41 +0000)]
Web Inspector: [Extensions API] explicitly manage extension audit progress
https://bugs.webkit.org/show_bug.cgi?id=96803

Reviewed by Alexander Pavlov.

Source/WebCore:

- create a sub-progress per audit category;
- manage audit category progress within the category, not in the panel logic;
- consider audit is done when all categories are done;
- expose AuditResults.updateProgress(worked, totalWork) in the extensions API;
- retain old magic for computing audit progress if extension specifies extension results count.

* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
(WebInspector.AuditsPanel.prototype._executeAudit):
(WebInspector.AuditCategory.prototype.run.callbackWrapper):
(WebInspector.AuditCategory.prototype.run):
* inspector/front-end/ExtensionAPI.js:
(defineCommonExtensionSymbols):
(injectedExtensionAPI.Audits.prototype.addCategory):
(injectedExtensionAPI.AuditResultImpl.prototype.updateProgress):
* inspector/front-end/ExtensionAuditCategory.js:
(WebInspector.ExtensionAuditCategory.prototype.run):
(WebInspector.ExtensionAuditCategoryResults):
(WebInspector.ExtensionAuditCategoryResults.prototype.done):
(WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
(WebInspector.ExtensionAuditCategoryResults.prototype.updateProgress):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype._onUpdateAuditProgress):
(WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
* inspector/front-end/ProgressBar.js:
(WebInspector.ProgressIndicator.prototype.done): Assure only first call to done() has effect.

LayoutTests:

* inspector/extensions/extensions-audits-api-expected.txt: Added AuditResults.updateProgress()
* inspector/extensions/extensions-audits.html: Added a call to updateProgress()

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

7 years ago[GTK] run-webkit-tests unable to find TestExpectations for WK2
sergio@webkit.org [Tue, 18 Sep 2012 11:33:03 +0000 (11:33 +0000)]
[GTK] run-webkit-tests unable to find TestExpectations for WK2
https://bugs.webkit.org/show_bug.cgi?id=96998

Reviewed by Philippe Normand.

We should look for TestExpectations files in all the locations where
we currently look for Skipped files. This will allow
run-webkit-tests to look for TestExpectations files in
platform/gtk-wk2 and platform/wk2 if the "-2" flag is used.

* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.expectations_files):

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Tue, 18 Sep 2012 11:14:03 +0000 (11:14 +0000)]
[EFL] Unreviewed gardening.

Update some pixel expectations after a long time.
japanese-lr-selection-expected.png now actually shows a selection
background, some shadows are displayed properly and some fonts
have had rendering adjustments.

* platform/efl/fast/writing-mode/basic-vertical-line-expected.png:
* platform/efl/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png:
* platform/efl/fast/writing-mode/box-shadow-horizontal-bt-expected.png:
* platform/efl/fast/writing-mode/box-shadow-vertical-lr-expected.png:
* platform/efl/fast/writing-mode/box-shadow-vertical-rl-expected.png:
* platform/efl/fast/writing-mode/english-bt-text-expected.png:
* platform/efl/fast/writing-mode/english-rl-text-expected.png:
* platform/efl/fast/writing-mode/fieldsets-expected.png:
* platform/efl/fast/writing-mode/japanese-lr-selection-expected.png:

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

7 years ago[EFL] Gardening after r128802.
rakuco@webkit.org [Tue, 18 Sep 2012 10:57:28 +0000 (10:57 +0000)]
[EFL] Gardening after r128802.

* platform/efl/TestExpectations: Unskip test that is now passing.

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

7 years ago[GTK] Set the area of tooltips in WebKit2
carlosgc@webkit.org [Tue, 18 Sep 2012 10:34:40 +0000 (10:34 +0000)]
[GTK] Set the area of tooltips in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=96618

Reviewed by Martin Robinson.

In GTK+ tooltips are associated to a widget, if the mouse is moved
inside the widget area, the tooltip position doesn't change even
if the tooltip text changes. To support multiple tooltips for the
same widget, we need to set the area of the widget for every
tooltip.

* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::encode): Encode elementBoundingBox.
(WebKit::WebHitTestResult::Data::decode): Decode elementBoundingBox.
* Shared/WebHitTestResult.h:
(Data): Add elementBoundingBox to WebHitTestResult::Data.
(WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates):
Get the bounding box of the inner non shared node of the hit test
result in window coordinates.
(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::elementBoundingBox):
(WebHitTestResult):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewMouseTargetChanged): Call webkitWebViewBaseSetTooltipArea.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseQueryTooltip): Use the tooltipArea if it's not empty.
(webkitWebViewBaseSetTooltipArea): Set the tooltipArea.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Tue, 18 Sep 2012 10:29:02 +0000 (10:29 +0000)]
[EFL] Unreviewed gardening.

Update MathML expectations after r128837.

* platform/efl/mathml/presentation/attributes-expected.txt:
* platform/efl/mathml/presentation/fenced-expected.txt:
* platform/efl/mathml/presentation/fenced-mi-expected.png:
* platform/efl/mathml/presentation/fenced-mi-expected.txt:
* platform/efl/mathml/presentation/fractions-expected.txt:
* platform/efl/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/efl/mathml/presentation/mo-stretch-expected.png:
* platform/efl/mathml/presentation/mo-stretch-expected.txt:
* platform/efl/mathml/presentation/mroot-pref-width-expected.txt:
* platform/efl/mathml/presentation/roots-expected.txt:
* platform/efl/mathml/presentation/row-alignment-expected.png:
* platform/efl/mathml/presentation/row-alignment-expected.txt:
* platform/efl/mathml/presentation/style-expected.txt:
* platform/efl/mathml/presentation/sub-expected.txt:
* platform/efl/mathml/presentation/subsup-expected.png:
* platform/efl/mathml/presentation/subsup-expected.txt:
* platform/efl/mathml/presentation/sup-expected.txt:
* platform/efl/mathml/presentation/tables-expected.png:
* platform/efl/mathml/presentation/tables-expected.txt:
* platform/efl/mathml/presentation/tokenElements-expected.txt:
* platform/efl/mathml/presentation/under-expected.txt:
* platform/efl/mathml/presentation/underover-expected.txt:
* platform/efl/mathml/xHeight-expected.txt:

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

7 years agoRevert r127457 and following fixes due to several hit-testing regressions
allan.jensen@nokia.com [Tue, 18 Sep 2012 10:28:02 +0000 (10:28 +0000)]
Revert r127457 and following fixes due to several hit-testing regressions
https://bugs.webkit.org/show_bug.cgi?id=96830

Reviewed by Antonio Gomes.

The revert misssed one related follow-up.

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

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

7 years ago[Qt] Fix build without the QtQuick module
vestbo@webkit.org [Tue, 18 Sep 2012 10:23:13 +0000 (10:23 +0000)]
[Qt] Fix build without the QtQuick module

Reviewed by Simon Hausmann.

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

7 years agoNot reviewed. Attempt at greening the WinCairo bot. Touching
mark.lam@apple.com [Tue, 18 Sep 2012 09:42:38 +0000 (09:42 +0000)]
Not reviewed. Attempt at greening the WinCairo bot. Touching
LowLevelInterpreter.asm to trigger a rebuild of LLIntDesiredOffsets.
https://bugs.webkit.org/show_bug.cgi?id=96992.

* llint/LowLevelInterpreter.asm:

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

7 years ago[EFL] Unskip fast/js/global-constructors.html
commit-queue@webkit.org [Tue, 18 Sep 2012 09:32:15 +0000 (09:32 +0000)]
[EFL] Unskip fast/js/global-constructors.html
https://bugs.webkit.org/show_bug.cgi?id=96984

Unreviewed EFL gardening.

Generate baseline for fast/js/global-constructors.html
and unskip test. The only differences in the expected
output are due to webkit prefix.

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

* fast/js/global-constructors-expected.txt: Added.
* platform/efl/Skipped:

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

7 years ago[Qt] REGRESSION(r128790): It broke the ARM build
kadam@inf.u-szeged.hu [Tue, 18 Sep 2012 09:11:05 +0000 (09:11 +0000)]
[Qt] REGRESSION(r128790): It broke the ARM build
https://bugs.webkit.org/show_bug.cgi?id=96968

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-09-18
Reviewed by Filip Pizlo.

Implement the missing or32 method in the MacroAssemblerARM.h.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::or32):
(MacroAssemblerARM):

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

7 years agoBuild fix after http://trac.webkit.org/projects/webkit/changeset/128852.
slewis@apple.com [Tue, 18 Sep 2012 09:11:01 +0000 (09:11 +0000)]
Build fix after trac.webkit.org/projects/webkit/changeset/128852.

Unreviewed.

* DumpRenderTree/mac/DumpRenderTree.mm:
(poseAsClass):

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

7 years ago[Qt] Skipped failing tests because eventSender.gestureTap
kkristof@inf.u-szeged.hu [Tue, 18 Sep 2012 08:58:53 +0000 (08:58 +0000)]
[Qt] Skipped failing tests because eventSender.gestureTap
is not implemented on Qt, ENABLE(SHADOW_DOM) is disabled and
WebKitDisplayImagesKey is not supported.

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-09-18
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 18 Sep 2012 08:46:04 +0000 (08:46 +0000)]
Unreviewed GTK gardening.

Rebaselining MathML tests' baselines after r128837.

* platform/gtk/mathml/presentation/attributes-expected.png:
* platform/gtk/mathml/presentation/attributes-expected.txt:
* platform/gtk/mathml/presentation/fenced-expected.txt:
* platform/gtk/mathml/presentation/fenced-mi-expected.png:
* platform/gtk/mathml/presentation/fenced-mi-expected.txt:
* platform/gtk/mathml/presentation/fractions-expected.png:
* platform/gtk/mathml/presentation/fractions-expected.txt:
* platform/gtk/mathml/presentation/fractions-vertical-alignment-expected.png:
* platform/gtk/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/gtk/mathml/presentation/mo-expected.png:
* platform/gtk/mathml/presentation/mo-expected.txt:
* platform/gtk/mathml/presentation/mo-stretch-expected.png:
* platform/gtk/mathml/presentation/mo-stretch-expected.txt:
* platform/gtk/mathml/presentation/mroot-pref-width-expected.txt:
* platform/gtk/mathml/presentation/over-expected.png:
* platform/gtk/mathml/presentation/over-expected.txt:
* platform/gtk/mathml/presentation/roots-expected.png:
* platform/gtk/mathml/presentation/roots-expected.txt:
* platform/gtk/mathml/presentation/row-alignment-expected.png:
* platform/gtk/mathml/presentation/row-alignment-expected.txt:
* platform/gtk/mathml/presentation/row-expected.png:
* platform/gtk/mathml/presentation/row-expected.txt:
* platform/gtk/mathml/presentation/style-expected.png:
* platform/gtk/mathml/presentation/style-expected.txt:
* platform/gtk/mathml/presentation/sub-expected.png:
* platform/gtk/mathml/presentation/sub-expected.txt:
* platform/gtk/mathml/presentation/subsup-expected.png:
* platform/gtk/mathml/presentation/subsup-expected.txt:
* platform/gtk/mathml/presentation/sup-expected.png:
* platform/gtk/mathml/presentation/sup-expected.txt:
* platform/gtk/mathml/presentation/tables-expected.png:
* platform/gtk/mathml/presentation/tables-expected.txt:
* platform/gtk/mathml/presentation/tokenElements-expected.txt:
* platform/gtk/mathml/presentation/under-expected.png:
* platform/gtk/mathml/presentation/under-expected.txt:
* platform/gtk/mathml/presentation/underover-expected.png:
* platform/gtk/mathml/presentation/underover-expected.txt:
* platform/gtk/mathml/xHeight-expected.png: Added.
* platform/gtk/mathml/xHeight-expected.txt:

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

7 years ago[CSSRegions]Flag auto-height regions
mihnea@adobe.com [Tue, 18 Sep 2012 08:39:59 +0000 (08:39 +0000)]
[CSSRegions]Flag auto-height regions
https://bugs.webkit.org/show_bug.cgi?id=96267

Reviewed by Julien Chaffraix.

Source/WebCore:

The regions having auto logical height should be flagged so that their height will computed as part of a 2 pass-layout mechanism.
A valid region is flagged as having auto logical height if:
- has auto logical height and is part of the normal flow
- has auto logical height, is not part of normal flow and does not have logical top/bottom specified

An invalid region (part of circular dependency) will not be marked even if its style matches the above situations.

Test: fast/regions/autoheight-regions-mark.html

* rendering/FlowThreadController.cpp: Keep a counter of auto logical height valid regions.
(WebCore::FlowThreadController::FlowThreadController):
(WebCore::FlowThreadController::layoutRenderNamedFlowThreads): Verify that the current number of auto logical height regions is correct by iterating over all the regions attached to the flow threads
and compute the number of auto logical height regions on the spot.
(WebCore):
(WebCore::FlowThreadController::isAutoLogicalHeightRegionsFlagConsistent): Helper function that is used to verify the number of auto logical height regions.
* rendering/FlowThreadController.h:
(WebCore::FlowThreadController::hasAutoLogicalHeightRegions):
(WebCore::FlowThreadController::incrementAutoLogicalHeightRegions):
(WebCore::FlowThreadController::decrementAutoLogicalHeightRegions):
(FlowThreadController):
* rendering/RenderFlowThread.cpp:
(WebCore):
(WebCore::RenderFlowThread::autoLogicalHeightRegionsCount): Helper function that is used to count the number of regions marked as having auto logical height.
* rendering/RenderFlowThread.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::updateRegionHasAutoLogicalHeightFlag):
(WebCore):
(WebCore::RenderRegion::styleDidChange): For a region that is attached to a flow thread, verify whether the style change modified its auto logical height appearance.
(WebCore::RenderRegion::attachRegion): Handle the case of attaching region to a flow thread and the detach/attach sequence when the region is moved in the render tree.
(WebCore::RenderRegion::detachRegion):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
(WebCore::RenderRegion::hasAutoLogicalHeight):
(RenderRegion):
* rendering/RenderTreeAsText.cpp: For the regions that use auto logical height, modify the output to reflect that.
(WebCore::writeRenderNamedFlowThreads):

LayoutTests:

The regions having auto logical height should be flagged so that their height will computed as part of a 2 pass-layout mechanism.
Added a test that checks whether a region in several situations is marked properly.

* fast/regions/autoheight-regions-mark.html: Added.
* platform/mac/fast/regions/autoheight-regions-mark-expected.png: Added.
* platform/mac/fast/regions/autoheight-regions-mark-expected.txt: Added.
* platform/chromium/TestExpectations:

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

7 years agoFix for WinCairo builds.
mark.lam@apple.com [Tue, 18 Sep 2012 08:35:12 +0000 (08:35 +0000)]
Fix for WinCairo builds.
https://bugs.webkit.org/show_bug.cgi?id=96992.

Reviewed by Filip Pizlo.

Adding additional vcproj build targets in LLIntDesiredOffsets.vcproj,
LLIntOffsetsExtractor.vcproj, and LLIntAssembly.vcproj to match those
in jsc.vcproj.

* JavaScriptCore.vcproj/LLIntAssembly/LLIntAssembly.vcproj:
* JavaScriptCore.vcproj/LLIntDesiredOffsets/LLIntDesiredOffsets.vcproj:
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcproj:
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorCommon.vsprops: Added property svn:eol-style.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorDebug.vsprops: Added property svn:eol-style.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorDebugAll.vsprops: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorDebugCairoCFLite.vsprops: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorProduction.vsprops: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorRelease.vsprops: Added property svn:eol-style.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorReleaseCairoCFLite.vsprops: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorReleasePGO.vsprops: Added.

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

7 years agoUnreviewed update of email addresses for Berlin QtWebKit office.
allan.jensen@nokia.com [Tue, 18 Sep 2012 08:21:51 +0000 (08:21 +0000)]
Unreviewed update of email addresses for Berlin QtWebKit office.

* Scripts/webkitpy/common/config/committers.py:

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

7 years ago[BlackBerry] Prevent scroll adjustment of input fields when region of interest mechan...
anilsson@rim.com [Tue, 18 Sep 2012 08:17:21 +0000 (08:17 +0000)]
[BlackBerry] Prevent scroll adjustment of input fields when region of interest mechanism active
https://bugs.webkit.org/show_bug.cgi?id=96750

Reviewed by Antonio Gomes.

The region of interest mechanism replaces the scrolling/zooming
functionality in InputHandler::ensureFocusTextElementVisible().

We introduce a new fine-grained setting for the various adjustment
modes. The WebKit embedder can disable all scroll types in favor of the
region of interest mechanism by using the new setting.

PR #208387

Reviewed internally by Mike Fenton.

* WebKitSupport/AboutData.cpp:
(BlackBerry::WebKit::configPage):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
* WebKitSupport/InputHandler.h:

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

7 years agoUnreviewed, fix sloppy English in comment.
fpizlo@apple.com [Tue, 18 Sep 2012 07:29:03 +0000 (07:29 +0000)]
Unreviewed, fix sloppy English in comment.

* runtime/JSGlobalObject.cpp:
(JSC):

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

7 years agoDisable adding an AuthorShadowRoot to replaced elements.
shinyak@chromium.org [Tue, 18 Sep 2012 07:28:23 +0000 (07:28 +0000)]
Disable adding an AuthorShadowRoot to replaced elements.
https://bugs.webkit.org/show_bug.cgi?id=96978

Reviewed by Hajime Morita.

Source/WebCore:

We (people who implement Shadow DOM) have concluded that we don't support adding AuthorShadowRoot to
replaced elements in the current spec, since it turned out that a lot of difficulties exist and it brings
a lot of mess to our codebase.

For now, we just disable adding AuthorShadowRoot to these replaced elements.

Test: fast/dom/shadow/shadow-disable.html

* html/HTMLImageElement.h:
* html/HTMLKeygenElement.h:
* html/HTMLMeterElement.h:
* html/HTMLProgressElement.h:
* html/HTMLTextAreaElement.h:

LayoutTests:

Since we don't support AuthorShadowRoot for replaced elements for now, we enable a flat to
support AuthorShadowRoot in these tests.

Also, we have a test to check to reject adding ShadowRoot to repalced elements.

* fast/dom/shadow/select-image-with-shadow.html:
* fast/dom/shadow/shadow-disable-expected.txt:
* fast/dom/shadow/shadow-disable.html: Checks WebKit rejects adding ShadowRoot to repalced elements.
* fast/dom/shadow/shadowdom-for-fieldset-only-shadow.html:
* fast/dom/shadow/shadowdom-for-image-alt-update.html:
* fast/dom/shadow/shadowdom-for-image-alt.html:
* fast/dom/shadow/shadowdom-for-image-content.html:
* fast/dom/shadow/shadowdom-for-image-dynamic.html:
* fast/dom/shadow/shadowdom-for-image-event-click.html:
* fast/dom/shadow/shadowdom-for-image-event.html:
* fast/dom/shadow/shadowdom-for-image-in-shadowdom.html:
* fast/dom/shadow/shadowdom-for-image-map.html:
* fast/dom/shadow/shadowdom-for-image-style.html:
* fast/dom/shadow/shadowdom-for-image-with-multiple-shadow.html:
* fast/dom/shadow/shadowdom-for-image-with-pseudo-id.html:
* fast/dom/shadow/shadowdom-for-image-with-width-and-height.html:
* fast/dom/shadow/shadowdom-for-image.html:
* fast/dom/shadow/shadowdom-for-keygen-complex-shadow.html:
* fast/dom/shadow/shadowdom-for-keygen-without-shadow.html:
* fast/dom/shadow/shadowdom-for-meter-dynamic.html:
* fast/dom/shadow/shadowdom-for-meter-multiple.html:
* fast/dom/shadow/shadowdom-for-meter-with-style.html:
* fast/dom/shadow/shadowdom-for-meter-without-appearance.html:
* fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html:
* fast/dom/shadow/shadowdom-for-meter.html:
* fast/dom/shadow/shadowdom-for-object-only-shadow.html:
* fast/dom/shadow/shadowdom-for-progress-dynamic.html:
* fast/dom/shadow/shadowdom-for-progress-multiple.html:
* fast/dom/shadow/shadowdom-for-progress-with-style.html:
* fast/dom/shadow/shadowdom-for-progress-without-appearance.html:
* fast/dom/shadow/shadowdom-for-progress-without-shadow-element.html:
* fast/dom/shadow/shadowdom-for-progress.html:
* fast/dom/shadow/shadowdom-for-textarea-complex-shadow.html:
* fast/dom/shadow/shadowdom-for-textarea-with-placeholder.html:
* fast/dom/shadow/shadowdom-for-textarea-without-shadow.html:
* fast/dom/shadow/shadowdom-for-textarea.html:

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

7 years ago[CMAKE] Fix build break because of memory exhausted.
ryuan.choi@samsung.com [Tue, 18 Sep 2012 07:20:05 +0000 (07:20 +0000)]
[CMAKE] Fix build break because of memory exhausted.
https://bugs.webkit.org/show_bug.cgi?id=77327

Reviewed by Gyuyoung Kim.

Added to avoid memory exhaustion on 32bit linux debug build.

* Source/cmake/OptionsCommon.cmake:

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

7 years ago[GTK] fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html...
zandobersek@gmail.com [Tue, 18 Sep 2012 06:56:36 +0000 (06:56 +0000)]
[GTK] fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html failing after r128645
https://bugs.webkit.org/show_bug.cgi?id=96899

Reviewed by Martin Robinson.

Tools:

When overriding the 'WebKitDisplayImageKey' preference, use the
'auto-load-images' property of WebKitWebSettings as the property which
should be updated with the corresponding preference value.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::overridePreference):

LayoutTests:

Remove failure expectation for the test in title.

* platform/gtk/TestExpectations:

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

7 years ago[EFL][WK2] Add NativeWebTouchEvent and handle the Touch event.
commit-queue@webkit.org [Tue, 18 Sep 2012 06:45:09 +0000 (06:45 +0000)]
[EFL][WK2] Add NativeWebTouchEvent and handle the Touch event.
https://bugs.webkit.org/show_bug.cgi?id=90662

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2012-09-17
Reviewed by Gyuyoung Kim.

Implement codes to handle touch event for WebKit2 EFL port.
Additionally, types and structure for touch event are defined because
they are not in the Evas.

* PlatformEfl.cmake:
* Shared/NativeWebTouchEvent.h:
(NativeWebTouchEvent):
* Shared/efl/NativeWebTouchEventEfl.cpp: Added.
(WebKit):
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* Shared/efl/WebEventFactory.cpp:
(WebKit):
(WebKit::typeForTouchEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* Shared/efl/WebEventFactory.h:
(WebEventFactory):
* UIProcess/API/efl/ewk_touch.h: Added.

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

7 years agoDumpRenderTree and WebKitTestRunner should compile with -Wundef on Mac
psolanki@apple.com [Tue, 18 Sep 2012 06:34:55 +0000 (06:34 +0000)]
DumpRenderTree and WebKitTestRunner should compile with -Wundef on Mac
https://bugs.webkit.org/show_bug.cgi?id=96973

Reviewed by Dan Bernstein.

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/PlatformWebView.h: Use #ifdef __OBJC__ and not #if.

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

7 years agoUnreviewed, rolling out r128826 and r128813.
ossy@webkit.org [Tue, 18 Sep 2012 06:00:21 +0000 (06:00 +0000)]
Unreviewed, rolling out r128826 and r128813.

Source/JavaScriptCore:

* API/JSCallbackConstructor.cpp:
(JSC):
(JSC::JSCallbackConstructor::JSCallbackConstructor):
* API/JSCallbackConstructor.h:
(JSCallbackConstructor):
* API/JSCallbackObject.cpp:
(JSC):
(JSC::::createStructure):
* API/JSCallbackObject.h:
(JSC::JSCallbackObject::create):
(JSCallbackObject):
* API/JSClassRef.cpp:
(OpaqueJSClass::prototype):
* API/JSObjectRef.cpp:
(JSObjectMake):
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
* API/JSValueRef.cpp:
(JSValueIsObjectOfClass):
* API/JSWeakObjectMapRefPrivate.cpp:
* GNUmakefile.list.am:
* JSCTypedArrayStubs.h:
(JSC):
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateBasicJSObject):
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
* heap/Heap.cpp:
(JSC::Heap::isSafeToSweepStructures):
(JSC):
* heap/Heap.h:
(JSC::Heap::allocatorForObjectWithDestructor):
(Heap):
(JSC::Heap::allocateWithDestructor):
(JSC::Heap::allocateStructure):
(JSC):
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::sweepNextBlock):
(JSC::IncrementalSweeper::startSweeping):
(JSC::IncrementalSweeper::willFinishSweeping):
(JSC::IncrementalSweeper::structuresCanBeSwept):
(JSC):
* heap/IncrementalSweeper.h:
(IncrementalSweeper):
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::allocateBlock):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::cellsNeedDestruction):
(JSC::MarkedAllocator::onlyContainsStructures):
(MarkedAllocator):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::init):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::create):
(JSC::MarkedBlock::MarkedBlock):
(JSC):
(JSC::MarkedBlock::specializedSweep):
(JSC::MarkedBlock::sweep):
(JSC::MarkedBlock::sweepHelper):
* heap/MarkedBlock.h:
(JSC):
(MarkedBlock):
(JSC::MarkedBlock::cellsNeedDestruction):
(JSC::MarkedBlock::onlyContainsStructures):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::canonicalizeCellLivenessData):
(JSC::MarkedSpace::isPagedOut):
(JSC::MarkedSpace::freeBlock):
* heap/MarkedSpace.h:
(MarkedSpace):
(Subspace):
(JSC::MarkedSpace::allocatorFor):
(JSC::MarkedSpace::destructorAllocatorFor):
(JSC::MarkedSpace::allocateWithDestructor):
(JSC::MarkedSpace::allocateStructure):
(JSC::MarkedSpace::forEachBlock):
* heap/SlotVisitor.cpp:
* jit/JIT.h:
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateBasicJSObject):
(JSC::JIT::emitAllocateJSFinalObject):
(JSC::JIT::emitAllocateJSArray):
* jsc.cpp:
(GlobalObject::create):
* runtime/Arguments.cpp:
(JSC):
* runtime/Arguments.h:
(Arguments):
(JSC::Arguments::Arguments):
* runtime/ErrorPrototype.cpp:
(JSC):
* runtime/Executable.h:
* runtime/InternalFunction.cpp:
(JSC):
(JSC::InternalFunction::InternalFunction):
* runtime/InternalFunction.h:
(InternalFunction):
* runtime/JSCell.h:
(JSC):
(JSC::allocateCell):
* runtime/JSDestructibleObject.h: Removed.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::createRareDataIfNeeded):
(JSC::JSGlobalObject::create):
* runtime/JSGlobalThis.h:
(JSGlobalThis):
(JSC::JSGlobalThis::JSGlobalThis):
* runtime/JSPropertyNameIterator.h:
* runtime/JSScope.cpp:
(JSC):
* runtime/JSString.h:
(JSC):
* runtime/JSWrapperObject.h:
(JSWrapperObject):
(JSC::JSWrapperObject::JSWrapperObject):
* runtime/MathObject.cpp:
(JSC):
* runtime/NameInstance.h:
(NameInstance):
* runtime/RegExp.h:
* runtime/RegExpObject.cpp:
(JSC):
* runtime/SparseArrayValueMap.h:
* runtime/Structure.h:
(JSC::Structure):
(JSC::JSCell::classInfo):
(JSC):
* runtime/StructureChain.h:
* runtime/SymbolTable.h:
* testRegExp.cpp:
(GlobalObject::create):

Source/WebCore:

* ForwardingHeaders/runtime/JSDestructibleObject.h: Removed.
* bindings/js/JSDOMWrapper.h:
(WebCore::JSDOMWrapper::JSDOMWrapper):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bridge/objc/objc_runtime.h:
(ObjcFallbackObjectImp):
* bridge/objc/objc_runtime.mm:
(Bindings):
(JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
* bridge/runtime_array.cpp:
(JSC):
(JSC::RuntimeArray::destroy):
* bridge/runtime_array.h:
(JSC::RuntimeArray::create):
* bridge/runtime_object.cpp:
(Bindings):
(JSC::Bindings::RuntimeObject::RuntimeObject):
* bridge/runtime_object.h:
(RuntimeObject):

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit):
(WebKit::JSNPObject::JSNPObject):
* WebProcess/Plugins/Netscape/JSNPObject.h:
(JSNPObject):

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

7 years agoExport RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
tkent@chromium.org [Tue, 18 Sep 2012 05:08:25 +0000 (05:08 +0000)]
Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
https://bugs.webkit.org/show_bug.cgi?id=96855

Reviewed by Hajime Morita.

Source/WebCore:

* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures): Add WEBCORE_TESTING.
* testing/InternalSettings.cpp: Remove a workaround.
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
* testing/InternalSettings.h: ditto.

Source/WebKit2:

* win/WebKit2.def: Remove a symbol
* win/WebKit2CFLite.def: ditto.

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

7 years ago[EFL][WK2] Add javascript popup API.
commit-queue@webkit.org [Tue, 18 Sep 2012 04:50:08 +0000 (04:50 +0000)]
[EFL][WK2] Add javascript popup API.
https://bugs.webkit.org/show_bug.cgi?id=95672

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

Add smart class member function for javascript alert(), confirm() and prompt().

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_run_javascript_alert):
(ewk_view_run_javascript_confirm):
(ewk_view_run_javascript_prompt):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_ui_client.cpp:
(runJavaScriptAlert):
(runJavaScriptConfirm):
(runJavaScriptPrompt):
(ewk_view_ui_client_attach):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
Added unit test for javascript popup smart class member function.
(checkAlert):
(TEST_F):
(checkConfirm):
(checkPrompt):

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

7 years ago[Gtk] Remove the unused variable warning in GamepadsGtk.cpp using ASSERT_UNUSED macro
commit-queue@webkit.org [Tue, 18 Sep 2012 04:37:50 +0000 (04:37 +0000)]
[Gtk] Remove the unused variable warning in GamepadsGtk.cpp using ASSERT_UNUSED macro
https://bugs.webkit.org/show_bug.cgi?id=96975

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-09-17
Reviewed by Kentaro Hara.

Replacing a simple ASSERT with ASSERT_UNUSED to avoid the warning.

No new tests as refactoring done.

* platform/gtk/GamepadsGtk.cpp:
(WebCore::GamepadDeviceGtk::readCallback):

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

7 years ago[Chromium] Unreviewed gardening, mark perf/nested-combined-selectors.html is flaky
shinyak@chromium.org [Tue, 18 Sep 2012 04:16:06 +0000 (04:16 +0000)]
[Chromium] Unreviewed gardening, mark perf/nested-combined-selectors.html is flaky

perf/nested-combined-selectors.html is flaky on Chromium Mac 10.6

* platform/chromium/TestExpectations:

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

7 years agoAdding 'Reviewed by' in ChangeLog for http://trac.webkit.org/changeset/128845
roger_fong@apple.com [Tue, 18 Sep 2012 03:27:40 +0000 (03:27 +0000)]
Adding 'Reviewed by' in ChangeLog for trac.webkit.org/changeset/128845

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

7 years ago[Win] Null check timing function received from CoreAnimation when calling CACFAnimati...
roger_fong@apple.com [Tue, 18 Sep 2012 03:19:43 +0000 (03:19 +0000)]
[Win] Null check timing function received from CoreAnimation when calling CACFAnimationGetTimingFunction.
https://bugs.webkit.org/show_bug.cgi?id=96972

Timothy Horton

When paused, some CSS animations cause CoreAnimation to pass back a null timing function when calling CACFAnimationGetTimingFunction.
This patch fixes this simply by ensuring that if the output of this method is null, it does not get passed into CACFAnimationSetTimingFunction via the PlatformCAAnimation::copyTimingFunctionFrom method.

* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
(PlatformCAAnimation::copyTimingFunctionFrom):

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

7 years ago[EFL][WK2] Regression (r128163)
commit-queue@webkit.org [Tue, 18 Sep 2012 03:04:10 +0000 (03:04 +0000)]
[EFL][WK2] Regression (r128163)
https://bugs.webkit.org/show_bug.cgi?id=96610

Patch by Regina Chung <heejin.r.chung@samsung.com> on 2012-09-17
Reviewed by Gyuyoung Kim.

While removing compile warnings r128163 changed the logic of code for entering
accelerated compositing mode, resulting in never being able to enter it.
Changed back to the correct code and fixed the compile warning by using an
appropriate EINA macro.

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_accelerated_compositing_mode_enter): Changed EINA_SAFETY_ON_NULL_RETURN_VAL to *if* condition statement.

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

7 years agoRebaseline after http://trac.webkit.org/projects/webkit/changeset/128837.
slewis@apple.com [Tue, 18 Sep 2012 02:55:06 +0000 (02:55 +0000)]
Rebaseline after trac.webkit.org/projects/webkit/changeset/128837.

Unreviewed.

* http/tests/xmlviewer/dumpAsText/mathml-expected.txt:
* platform/mac/accessibility/math-alttext-expected.txt:

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

7 years agonrwt: remove "unexpected EOF" warnings
dpranke@chromium.org [Tue, 18 Sep 2012 02:25:35 +0000 (02:25 +0000)]
nrwt: remove "unexpected EOF" warnings
https://bugs.webkit.org/show_bug.cgi?id=96970

Reviewed by Ojan Vafai.

After debugging this a bit, it looks like there aren't any cases
that I can reproduce where a read() of zero indicates something
actually wrong; either it is a prelude to a crash, or a false
negative. So, I'm removing these warnings and adding a comment.

* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_select):

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

7 years agoUnreviewed gardening, more rebaseline after r128811
shinyak@chromium.org [Tue, 18 Sep 2012 02:17:23 +0000 (02:17 +0000)]
Unreviewed gardening, more rebaseline after r128811

* platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win-xp/fast/css/shadow-multiple-expected.png: Added.

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

7 years agoUnreviewed gardening, rebaseline after r128811
shinyak@chromium.org [Tue, 18 Sep 2012 01:54:56 +0000 (01:54 +0000)]
Unreviewed gardening, rebaseline after r128811

* platform/chromium-linux-x86/fast/writing-mode/english-lr-text-expected.png: Removed.
* platform/chromium-linux-x86/transitions/svg-text-shadow-transition-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/fast/text/chromium-linux-fontconfig-renderstyle-expected.png:
* platform/chromium-win-xp/fast/multicol/shadow-breaking-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-vertical-expected.png: Added.
* platform/chromium-win-xp/fast/text/shadow-translucent-fill-expected.png:
* platform/chromium-win-xp/fast/text/stroking-decorations-expected.png:
* platform/chromium-win-xp/fast/text/stroking-expected.png:
* platform/chromium-win-xp/fast/transforms/shadows-expected.png: Added.
* platform/chromium-win-xp/fast/writing-mode/english-lr-text-expected.png:
* platform/chromium-win-xp/ietestcenter/css3/text/textshadow-002-expected.png: Added.
* platform/chromium-win-xp/ietestcenter/css3/text/textshadow-010-expected.png: Added.
* platform/chromium-win-xp/svg/css/composite-shadow-text-expected.png:
* platform/chromium-win-xp/svg/css/shadow-changes-expected.png:
* platform/chromium-win-xp/svg/css/text-gradient-shadow-expected.png:
* platform/chromium-win-xp/svg/css/text-shadow-multiple-expected.png: Added.
* platform/chromium-win-xp/transitions/svg-text-shadow-transition-expected.png:
* platform/gtk/transitions/svg-text-shadow-transition-expected.png: Removed.
* transitions/svg-text-shadow-transition-expected.png: Renamed from LayoutTests/platform/efl/transitions/svg-text-shadow-transition-expected.png.

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

7 years ago<rdar://problem/12316935> [mac WebKit1]: -[WebView _setPaginationBehavesLikeColumns...
mitz@apple.com [Tue, 18 Sep 2012 01:51:23 +0000 (01:51 +0000)]
<rdar://problem/12316935> [mac WebKit1]: -[WebView _setPaginationBehavesLikeColumns:] is a no-op
https://bugs.webkit.org/show_bug.cgi?id=96971

Reviewed by Sam Weinig.

* WebView/WebView.mm:
(-[WebView _setPaginationBehavesLikeColumns:]): Added a call to setPagination().

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

7 years agoFix the Snow Leopard build.
weinig@apple.com [Tue, 18 Sep 2012 01:46:56 +0000 (01:46 +0000)]
Fix the Snow Leopard build.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitialize):

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

7 years agoConvert MathML to use flexboxes
dbarton@mathscribe.com [Tue, 18 Sep 2012 01:37:18 +0000 (01:37 +0000)]
Convert MathML to use flexboxes
https://bugs.webkit.org/show_bug.cgi?id=96843

Reviewed by Eric Seidel.

Source/WebCore:

Using the CSS Flexible Box Model simplifies MathML in many ways. Control over alignment, row vs.
column layout, and child layout order are all much easier. Complexities involving floats,
continuations, and most anonymous boxes are eliminated, as are their potential for crashes and
security vulnerabilities.

In a flexbox, column alignment is done with align-items or align-self, instead of text-align.
vertical-align and baselinePosition() are replaced by the firstLineBoxBaseline() virtual
function.

Tested by existing tests.

* css/mathml.css:
(math):
(math[display="block"]):
(mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot):
(math, mrow, mfenced, msqrt, mroot):
(msqrt > *):
(mo, mfrac, munder, mover, munderover):
(munder, mover, munderover):
(mfrac > *):
(mfrac[numalign="left"] > :first-child):
(mfrac[numalign="right"] > :first-child):
(mfrac[denomalign="left"] > :last-child):
(mfrac[denomalign="right"] > :last-child):
(msubsup > :last-child, mover > :last-child, munderover > :last-child):
(msub > * + *, msup > * + *, msubsup > * + *, munder > * + *, mover > * + *, munderover > * + *):
(mroot):
(mroot > * + *):
(mtable):

* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createRenderer):
* mathml/mathtags.in:

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
(WebCore::RenderMathMLBlock::baselinePosition):
(WebCore::RenderMathMLBlock::renderName):
(WebCore::RenderMathMLBlock::paint):
(WebCore::RenderMathMLTable::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
(RenderMathMLTable):
(WebCore::RenderMathMLTable::RenderMathMLTable):
    - Change RenderMathMLBlock's base class to RenderFlexibleBox, and its display to FLEX or INLINE_FLEX.
    - Add RenderMathMLTable for its firstLineBoxBaseline() function, like { vertical-align: middle }.

* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
    - Use RenderMathMLRow::addChild as a more robust name for RenderBlock::addChild.
(WebCore::RenderMathMLFenced::addChild):
    - All inline children of a flexbox are treated as blocks automatically.

* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::fixChildStyle):
(WebCore::RenderMathMLFraction::updateFromElement):
    - numalign and denomalign attributes are now handled by mathml.css.
(WebCore::RenderMathMLFraction::addChild):
(WebCore::RenderMathMLFraction::layout):
(WebCore::RenderMathMLFraction::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLFraction.h:
(RenderMathMLFraction):

* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createStackableStyle):
(WebCore::RenderMathMLOperator::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):

* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
(WebCore::RenderMathMLSubSup::fixScriptsStyle):
(WebCore::RenderMathMLSubSup::addChild):
(WebCore::RenderMathMLSubSup::styleDidChange):
(WebCore::RenderMathMLSubSup::layout):
* rendering/mathml/RenderMathMLSubSup.h:
    - Rename Sup to Super, to make it more readable vs. Sub.
    - Instead of vertical-align, msub and msup now use the m_scripts anonymous box like msubsup does.
    - Individual anonymous block wrappers are no longer needed around the superscript and subscript to
      lay them out in a column.
    - Handle msub and msup layout, and improve msubsup layout, by requiring a superscript's baseline
      to be at least (int) fontSize / 3 + 1 above the main baseline, and a subscript's baseline to be
      at least (int) fontSize / 5 + 1 below it.

* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::unembellishedOperator):
(WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLUnderOver.h:
(RenderMathMLUnderOver):
    - RenderMathMLUnderOver no longer needs to use anonymous wrappers for column layout. Centering and
      child layout order (overscript first) are also handled by mathml.css.

LayoutTests:

* mathml/EmptyMFracCrash-expected.txt:
* mathml/EmptyMunderOverCrash-expected.txt:
* mathml/empty-mroot-crash-expected.txt:
* mathml/fenced-whitespace-separators-crash-expected.txt:
* mathml/msub-anonymous-child-render-crash-expected.txt:
* mathml/msubsup-no-grandchild-expected.txt:
* mathml/msubsup-remove-children-expected.txt:
* mathml/munderover-remove-children-expected.txt:

* mathml/presentation/fenced.xhtml:
* mathml/presentation/mo.xhtml:
* mathml/presentation/row.xhtml:
* mathml/xHeight.xhtml:
    - The <div>s are wrapped in <mtext> elements to make them valid in MathML, with the intended layout.

* platform/mac/mathml/presentation/attributes-expected.png:
* platform/mac/mathml/presentation/attributes-expected.txt:
* platform/mac/mathml/presentation/fenced-expected.txt:
* platform/mac/mathml/presentation/fenced-mi-expected.png:
* platform/mac/mathml/presentation/fenced-mi-expected.txt:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/mac/mathml/presentation/mo-expected.png:
* platform/mac/mathml/presentation/mo-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/mroot-pref-width-expected.txt:
* platform/mac/mathml/presentation/over-expected.png:
* platform/mac/mathml/presentation/over-expected.txt:
* platform/mac/mathml/presentation/roots-expected.png:
* platform/mac/mathml/presentation/roots-expected.txt:
* platform/mac/mathml/presentation/row-alignment-expected.png:
* platform/mac/mathml/presentation/row-alignment-expected.txt:
* platform/mac/mathml/presentation/row-expected.png:
* platform/mac/mathml/presentation/row-expected.txt:
* platform/mac/mathml/presentation/style-expected.png:
* platform/mac/mathml/presentation/style-expected.txt:
* platform/mac/mathml/presentation/sub-expected.png:
* platform/mac/mathml/presentation/sub-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:
* platform/mac/mathml/presentation/sup-expected.txt:
* platform/mac/mathml/presentation/tables-expected.png:
* platform/mac/mathml/presentation/tables-expected.txt:
* platform/mac/mathml/presentation/tokenElements-expected.txt:
* platform/mac/mathml/presentation/under-expected.txt:
* platform/mac/mathml/presentation/underover-expected.png:
* platform/mac/mathml/presentation/underover-expected.txt:
* platform/mac/mathml/xHeight-expected.txt:

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

7 years agoAdd experimental code to enter a sandbox for a plug-in.
weinig@apple.com [Tue, 18 Sep 2012 01:31:50 +0000 (01:31 +0000)]
Add experimental code to enter a sandbox for a plug-in.
Based on a patch by Ivan Krstić.
<rdar://problem/11823151>

Reviewed by Anders Carlsson.

Enter a sandbox for a plug-in if a sandbox profile is found in /usr/share/sandbox/ that
has the plug-ins bundle identifier for a name.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox):
(WebKit::PluginProcess::platformInitialize):
Enter the sandbox provided if a profile can be found.

* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
(enterSandbox):
Factor out the core sandbox entering logic (so if can be used above) and make sure
that Remote Save Panel is enabled.

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

7 years ago[EFL] Several key codes are not mapped with evas key name.
ryuan.choi@samsung.com [Tue, 18 Sep 2012 01:23:07 +0000 (01:23 +0000)]
[EFL] Several key codes are not mapped with evas key name.
https://bugs.webkit.org/show_bug.cgi?id=96915

Reviewed by Gyuyoung Kim.

* platform/efl/EflKeyboardUtilities.cpp:
(WebCore::createWindowsKeyMap):
Added missing items of hashmap for virtual key code.

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

7 years ago[chromium] ASAN bot is crashing at the end of the run
dpranke@chromium.org [Tue, 18 Sep 2012 01:20:23 +0000 (01:20 +0000)]
[chromium] ASAN bot is crashing at the end of the run
https://bugs.webkit.org/show_bug.cgi?id=96967

Reviewed by Abhishek Arya.

The ASAN bot is crashing attempting to decode some output into
UTF-8; there's no reason to do this, so let's not do this and
see if something else is going on as well.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._get_crash_log):

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

7 years ago[Chromium] Unreviewed gardening, test expectations update.
shinyak@chromium.org [Tue, 18 Sep 2012 01:15:55 +0000 (01:15 +0000)]
[Chromium] Unreviewed gardening, test expectations update.

fast/js/cross-frame-really-bad-time-with-__proto__.html is failing from the beginning (r128816)

* platform/chromium/TestExpectations:

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

7 years agoRefactored the arguments object so it doesn't dictate closure layout
ggaren@apple.com [Tue, 18 Sep 2012 01:15:04 +0000 (01:15 +0000)]
Refactored the arguments object so it doesn't dictate closure layout
https://bugs.webkit.org/show_bug.cgi?id=96955

Reviewed by Oliver Hunt.

* bytecode/CodeBlock.h:
(JSC::ExecState::argumentAfterCapture): Helper function for accessing an
argument that has been moved for capture.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator): Generate metadata for arguments
that are captured. We don't move any arguments yet, but we do use this
metadata to tell the arguments object if an argument is stored in the
activation.

* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Updated for the arguments object not
malloc'ing a separate backing store, and for a rename from deletedArguments
to slowArguments.

* interpreter/CallFrame.h:
(ExecState):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwindCallFrame):
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL): Updated for small interface changes.

* runtime/Arguments.cpp:
(JSC::Arguments::visitChildren):
(JSC::Arguments::copyToArguments):
(JSC::Arguments::fillArgList):
(JSC::Arguments::getOwnPropertySlotByIndex):
(JSC::Arguments::createStrictModeCallerIfNecessary):
(JSC::Arguments::createStrictModeCalleeIfNecessary):
(JSC::Arguments::getOwnPropertySlot):
(JSC::Arguments::getOwnPropertyDescriptor):
(JSC::Arguments::getOwnPropertyNames):
(JSC::Arguments::putByIndex):
(JSC::Arguments::put):
(JSC::Arguments::deletePropertyByIndex):
(JSC::Arguments::deleteProperty):
(JSC::Arguments::defineOwnProperty):
(JSC::Arguments::tearOff): Moved all data inline into the object, for speed,
and refactored all internal argument accesses to use helper functions, so
we can change the implementation without changing lots of code.

(JSC::Arguments::didTearOffActivation): This function needs to account
for arguments that were moved by the activation object. We do this accounting
through a side vector that tells us where our arguments will be in the
activation.

(JSC::Arguments::tearOffForInlineCallFrame):
* runtime/Arguments.h:
(Arguments):
(JSC::Arguments::length):
(JSC::Arguments::isTornOff):
(JSC::Arguments::Arguments):
(JSC::Arguments::allocateSlowArguments):
(JSC::Arguments::tryDeleteArgument):
(JSC::Arguments::trySetArgument):
(JSC::Arguments::tryGetArgument):
(JSC::Arguments::isDeletedArgument):
(JSC::Arguments::isArgument):
(JSC::Arguments::argument):
(JSC::Arguments::finishCreation):

* runtime/JSActivation.h:
(JSC::JSActivation::create):
(JSActivation):
(JSC::JSActivation::captureStart):
(JSC::JSActivation::storageSize):
(JSC::JSActivation::registerOffset):
(JSC::JSActivation::isValid): The activation object is no longer responsible
for copying extra arguments provided by the caller. The argumnents object
does this instead. This means we can allocate and initialize an activation
without worrying about the call frame's argument count.

* runtime/SymbolTable.h:
(JSC::SlowArgument::SlowArgument):
(SlowArgument):
(JSC):
(JSC::SharedSymbolTable::parameterCount):
(SharedSymbolTable):
(JSC::SharedSymbolTable::slowArguments):
(JSC::SharedSymbolTable::setSlowArguments): Added data structures to back
the algorithms above.

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

7 years ago[Chromium] Unreviewed gardening, test expectations update.
shinyak@chromium.org [Tue, 18 Sep 2012 01:07:08 +0000 (01:07 +0000)]
[Chromium] Unreviewed gardening, test expectations update.

fast/js/cross-frame-really-bad-time.html is failing from the beginning (r128816)

* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Unreviewed, test expectations update.
shinyak@chromium.org [Tue, 18 Sep 2012 00:42:03 +0000 (00:42 +0000)]
[Chromium] Unreviewed, test expectations update.

These tests are failing from the beginning (r128802)
fast/js/array-bad-time.html
fast/js/array-slow-put.html
fast/js/cross-frame-bad-time.html
fast/js/object-bad-time.html
fast/js/object-slow-put.html

* platform/chromium/TestExpectations:

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

7 years agoIncluding HexNumber.h fails build if hexDigitsForMode is not referenced
commit-queue@webkit.org [Tue, 18 Sep 2012 00:40:03 +0000 (00:40 +0000)]
Including HexNumber.h fails build if hexDigitsForMode is not referenced
https://bugs.webkit.org/show_bug.cgi?id=96873

Patch by Glenn Adams <glenn@skynav.com> on 2012-09-17
Reviewed by Benjamin Poulain.

Ensure release build is possible when hexDigitsForMode is not referenced by
template expansion.

* wtf/HexNumber.h:
(WTF::Internal::hexDigitsForMode):
Change hexDigitsForMode to inline (rather than static). Make string literals
{lower,upper}HexDigits non-local and non-static, but const, to which the linker
should merge references in the RO data segment.

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

7 years ago[chromium] Add rendering commit statistics
commit-queue@webkit.org [Tue, 18 Sep 2012 00:35:35 +0000 (00:35 +0000)]
[chromium] Add rendering commit statistics
https://bugs.webkit.org/show_bug.cgi?id=96938

Patch by Brian Anderson <brianderson@chromium.org> on 2012-09-17
Reviewed by James Robinson.

Adds total commit time and total commit count to WebRenderingStats.
Allows us to caculate average commit time in performance tests.

Source/Platform:

* chromium/public/WebRenderingStats.h:
(WebRenderingStats):
(WebKit::WebRenderingStats::WebRenderingStats):
(WebKit::WebRenderingStats::enumerateFields):

Source/WebKit/chromium:

* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::renderingStats):

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=96688
bdakin@apple.com [Tue, 18 Sep 2012 00:14:36 +0000 (00:14 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=96688

Rubber-stamped by Alexey Proskuryakov.

These platform-specific results are not necessary. They are identical to the
cross-platform results.
* platform/mac/compositing/rtl: Removed.
* platform/mac/compositing/rtl/rtl-fixed-expected.txt: Removed.
* platform/mac/compositing/rtl/rtl-fixed-overflow-expected.txt: Removed.

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

7 years agoSource/WebCore: Unreviewed, fix build.
mhahnenberg@apple.com [Tue, 18 Sep 2012 00:12:13 +0000 (00:12 +0000)]
Source/WebCore: Unreviewed, fix build.

Patch by Filip Pizlo <fpizlo@apple.com> on 2012-09-17

* css/CSSRule.cpp:
(SameSizeAsCSSRule):

Source/WebKit2: Fixing the build after http://trac.webkit.org/changeset/128813

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit):
(WebKit::JSNPObject::JSNPObject):
* WebProcess/Plugins/Netscape/JSNPObject.h:
(JSNPObject):

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

7 years agonrwt: --results-directory isn't getting printed properly
dpranke@chromium.org [Tue, 18 Sep 2012 00:00:50 +0000 (00:00 +0000)]
nrwt: --results-directory isn't getting printed properly
https://bugs.webkit.org/show_bug.cgi?id=96965

Reviewed by Ojan Vafai.

options.results_directory isn't actually initialized with the
default values until after we call print_config(), so this
changes things to print the value directly.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(run):
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_config):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(Testprinter.test_print_config):

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

7 years agoUnreviewed, fix build.
fpizlo@apple.com [Mon, 17 Sep 2012 23:58:59 +0000 (23:58 +0000)]
Unreviewed, fix build.

* css/CSSRule.cpp:
(SameSizeAsCSSRule):

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

7 years ago[chromium] Move a FilterOperationsTest and WebInputEventConversionTest back to webkit...
commit-queue@webkit.org [Mon, 17 Sep 2012 23:53:07 +0000 (23:53 +0000)]
[chromium] Move a FilterOperationsTest and WebInputEventConversionTest back to webkit_unittest_files variable
https://bugs.webkit.org/show_bug.cgi?id=96964

Patch by James Robinson <jamesr@chromium.org> on 2012-09-17
Reviewed by Adrienne Walker.

These targets are really webkit unit tests and shouldn't be guarded by use_libcc_for_compositor.

* WebKit.gypi:

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

7 years ago32-bit LLInt get_by_val does vector length checks incorrectly
fpizlo@apple.com [Mon, 17 Sep 2012 23:36:21 +0000 (23:36 +0000)]
32-bit LLInt get_by_val does vector length checks incorrectly
https://bugs.webkit.org/show_bug.cgi?id=96893
<rdar://problem/12311678>

Reviewed by Mark Hahnenberg.

* llint/LowLevelInterpreter32_64.asm:

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

7 years agoVersioning.
lforschler@apple.com [Mon, 17 Sep 2012 23:34:26 +0000 (23:34 +0000)]
Versioning.

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

7 years agoThe ThreadRescrictionVerifier should be more forcibly disabled on systems that use...
fpizlo@apple.com [Mon, 17 Sep 2012 23:28:44 +0000 (23:28 +0000)]
The ThreadRescrictionVerifier should be more forcibly disabled on systems that use threads
https://bugs.webkit.org/show_bug.cgi?id=96957

Reviewed by Oliver Hunt.

* wtf/ThreadRestrictionVerifier.h:
(WTF):
(WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier):
(ThreadRestrictionVerifier):
(WTF::ThreadRestrictionVerifier::setMutexMode):
(WTF::ThreadRestrictionVerifier::setDispatchQueueMode):
(WTF::ThreadRestrictionVerifier::turnOffVerification):
(WTF::ThreadRestrictionVerifier::setShared):
(WTF::ThreadRestrictionVerifier::isSafeToUse):

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

7 years agoUnreviewed, rolling out r128796.
ossy@webkit.org [Mon, 17 Sep 2012 23:00:32 +0000 (23:00 +0000)]
Unreviewed, rolling out r128796.
http://trac.webkit.org/changeset/128796
https://bugs.webkit.org/show_bug.cgi?id=96966

It broke everything (Requested by Ossy_NIGHT on #webkit).

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

* wtf/OSAllocatorPosix.cpp:
(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::reserveAndCommit):
(WTF::OSAllocator::commit):
(WTF::OSAllocator::decommit):

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

7 years ago[BlackBerry] Remove dysfunctional zoom blit in setViewportSize().
jpetsovits@rim.com [Mon, 17 Sep 2012 22:51:04 +0000 (22:51 +0000)]
[BlackBerry] Remove dysfunctional zoom blit in setViewportSize().
https://bugs.webkit.org/show_bug.cgi?id=96954
PR 178411

Reviewed by Antonio Gomes.

The blitContents() call removed by this patch used to
be part of scheduleZoomAboutPoint(). Its goal was to
display a preview of the zoomed contents, primarily
when auto-zoomed after rotation. Nested inside a pair
of screen suspend/resume calls, it has been a pointless
no-op for a while.

Antonio's recent change to remove scheduleZoomAboutPoint()
and call zoomAboutPoint() from setViewportSize() directly
(the only call site) obsoletes the call completely.
The zoomAboutPoint() call itself will cause a re-render
and blit right away, so we don't care about any preview.
zoomAboutPoint() will also take care of the necessary
screen/backingstore suspension.

The result is a vastly simplified block of code.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

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

7 years agoWe don't have a bad enough time if an object's prototype chain crosses global objects
fpizlo@apple.com [Mon, 17 Sep 2012 22:47:37 +0000 (22:47 +0000)]
We don't have a bad enough time if an object's prototype chain crosses global objects
https://bugs.webkit.org/show_bug.cgi?id=96962

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/JSGlobalObject.cpp:
(JSC):

LayoutTests:

* fast/js/cross-frame-really-bad-time-expected.txt: Added.
* fast/js/cross-frame-really-bad-time-with-__proto__-expected.txt: Added.
* fast/js/cross-frame-really-bad-time-with-__proto__.html: Added.
* fast/js/cross-frame-really-bad-time.html: Added.
* fast/js/script-tests/cross-frame-really-bad-time-with-__proto__.js: Added.
(foo):
(evil):
(bar):
(done):
* fast/js/script-tests/cross-frame-really-bad-time.js: Added.
(Cons):
(foo):
(evil):
(bar):
(done):

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

7 years agoUnreviewed, fix a broken assertion in offlineasm.
fpizlo@apple.com [Mon, 17 Sep 2012 22:45:47 +0000 (22:45 +0000)]
Unreviewed, fix a broken assertion in offlineasm.

* offlineasm/armv7.rb:
* offlineasm/backends.rb:

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

7 years agoFixing broken JSC ChangeLog
mhahnenberg@apple.com [Mon, 17 Sep 2012 22:45:05 +0000 (22:45 +0000)]
Fixing broken JSC ChangeLog

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

7 years agoDelayed structure sweep can leak structures without bound
mhahnenberg@apple.com [Mon, 17 Sep 2012 22:16:10 +0000 (22:16 +0000)]
Delayed structure sweep can leak structures without bound
https://bugs.webkit.org/show_bug.cgi?id=96546

Reviewed by Gavin Barraclough.

This patch gets rid of the separate Structure allocator in the MarkedSpace and adds two new destructor-only
allocators. We now have separate allocators for our three types of objects: those objects with no destructors,
those objects with destructors and with immortal structures, and those objects with destructors that don't have
immortal structures. All of the objects of the third type (destructors without immortal structures) now
inherit from a new class named JSDestructibleObject (which in turn is a subclass of JSNonFinalObject), which stores
the ClassInfo for these classes at a fixed offset for safe retrieval during sweeping/destruction.

Source/JavaScriptCore:

* API/JSCallbackConstructor.cpp: Use JSDestructibleObject for JSCallbackConstructor.
(JSC):
(JSC::JSCallbackConstructor::JSCallbackConstructor):
* API/JSCallbackConstructor.h:
(JSCallbackConstructor):
* API/JSCallbackObject.cpp: Inherit from JSDestructibleObject for normal JSCallbackObjects and use a finalizer for
JSCallbackObject<JSGlobalObject>, since JSGlobalObject also uses a finalizer.
(JSC):
(JSC::::create): We need to move the create function for JSCallbackObject<JSGlobalObject> out of line so we can add
the finalizer for it. We don't want to add the finalizer is something like finishCreation in case somebody decides
to subclass this. We use this same technique for many other subclasses of JSGlobalObject.
(JSC::::createStructure):
* API/JSCallbackObject.h:
(JSCallbackObject):
(JSC):
* API/JSClassRef.cpp: Change all the JSCallbackObject<JSNonFinalObject> to use JSDestructibleObject instead.
(OpaqueJSClass::prototype):
* API/JSObjectRef.cpp: Ditto.
(JSObjectMake):
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
* API/JSValueRef.cpp: Ditto.
(JSValueIsObjectOfClass):
* API/JSWeakObjectMapRefPrivate.cpp: Ditto.
* JSCTypedArrayStubs.h:
(JSC):
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGSpeculativeJIT.h: Use the proper allocator type when doing inline allocation in the DFG.
(JSC::DFG::SpeculativeJIT::emitAllocateBasicJSObject):
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
* heap/Heap.cpp:
(JSC):
* heap/Heap.h: Add accessors for the various types of allocators now. Also remove the isSafeToSweepStructures function
since it's always safe to sweep Structures now.
(JSC::Heap::allocatorForObjectWithNormalDestructor):
(JSC::Heap::allocatorForObjectWithImmortalStructureDestructor):
(Heap):
(JSC::Heap::allocateWithNormalDestructor):
(JSC):
(JSC::Heap::allocateWithImmortalStructureDestructor):
* heap/IncrementalSweeper.cpp: Remove all the logic to detect when it's safe to sweep Structures from the
IncrementalSweeper since it's always safe to sweep Structures now.
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::sweepNextBlock):
(JSC::IncrementalSweeper::startSweeping):
(JSC::IncrementalSweeper::willFinishSweeping):
(JSC):
* heap/IncrementalSweeper.h:
(IncrementalSweeper):
* heap/MarkedAllocator.cpp: Remove the logic that was preventing us from sweeping Structures if it wasn't safe. Add
tracking of the specific destructor type of allocator.
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::allocateBlock):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::destructorType):
(MarkedAllocator):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::init):
* heap/MarkedBlock.cpp: Add all the destructor type stuff to MarkedBlocks so that we do the right thing when sweeping.
We also use the stored destructor type to determine the right thing to do in all JSCell::classInfo() calls.
(JSC::MarkedBlock::create):
(JSC::MarkedBlock::MarkedBlock):
(JSC):
(JSC::MarkedBlock::specializedSweep):
(JSC::MarkedBlock::sweep):
(JSC::MarkedBlock::sweepHelper):
* heap/MarkedBlock.h:
(JSC):
(JSC::MarkedBlock::allocator):
(JSC::MarkedBlock::destructorType):
* heap/MarkedSpace.cpp: Add the new destructor allocators to MarkedSpace.
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::canonicalizeCellLivenessData):
(JSC::MarkedSpace::isPagedOut):
(JSC::MarkedSpace::freeBlock):
* heap/MarkedSpace.h:
(MarkedSpace):
(JSC::MarkedSpace::immortalStructureDestructorAllocatorFor):
(JSC::MarkedSpace::normalDestructorAllocatorFor):
(JSC::MarkedSpace::allocateWithImmortalStructureDestructor):
(JSC::MarkedSpace::allocateWithNormalDestructor):
(JSC::MarkedSpace::forEachBlock):
* heap/SlotVisitor.cpp: Add include because the symbol was needed in an inlined function.
* jit/JIT.h: Make sure we use the correct allocator when doing inline allocations in the baseline JIT.
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateBasicJSObject):
(JSC::JIT::emitAllocateJSFinalObject):
(JSC::JIT::emitAllocateJSArray):
* jsc.cpp:
(GlobalObject::create): Add finalizer here since JSGlobalObject needs to use a finalizer instead of inheriting from
JSDestructibleObject.
* runtime/Arguments.cpp: Inherit from JSDestructibleObject.
(JSC):
* runtime/Arguments.h:
(Arguments):
(JSC::Arguments::Arguments):
* runtime/ErrorPrototype.cpp: Added an assert to make sure we have a trivial destructor.
(JSC):
* runtime/Executable.h: Indicate that all of the Executable* classes have immortal Structures.
(JSC):
* runtime/InternalFunction.cpp: Inherit from JSDestructibleObject.
(JSC):
(JSC::InternalFunction::InternalFunction):
* runtime/InternalFunction.h:
(InternalFunction):
* runtime/JSCell.h: Added the NEEDS_DESTRUCTOR  macro to make it easier for classes to indicate that instead of being
allocated in a destructor MarkedAllocator that they will handle their destruction themselves through the
use of a finalizer.
(JSC):
(HasImmortalStructure): New template to help us determine at compile-time if a particular class
should be allocated in the immortal structure MarkedAllocator. The default value is false. In order
to be allocated in the immortal structure allocator, classes must specialize this template. Also added
a macro to make it easier for classes to specialize the template.
(JSC::allocateCell): Use the appropriate allocator depending on the destructor type.
* runtime/JSDestructibleObject.h: Added. New class that stores the ClassInfo of any subclass so that it can be
accessed safely when the object is being destroyed.
(JSC):
(JSDestructibleObject):
(JSC::JSDestructibleObject::classInfo):
(JSC::JSDestructibleObject::JSDestructibleObject):
(JSC::JSCell::classInfo): Checks the current MarkedBlock to see where it should get the ClassInfo from so that it's always safe.
* runtime/JSGlobalObject.cpp: JSGlobalObject now uses a finalizer instead of a destructor so that it can avoid forcing all
of its relatives in the inheritance hierarchy (e.g. JSScope) to use destructors as well.
(JSC::JSGlobalObject::reset):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::createRareDataIfNeeded): Since we always create a finalizer now, we don't have to worry about adding one
for the m_rareData field when it's created.
(JSC::JSGlobalObject::create):
(JSC):
* runtime/JSGlobalThis.h: Inherit from JSDestructibleObject.
(JSGlobalThis):
(JSC::JSGlobalThis::JSGlobalThis):
* runtime/JSPropertyNameIterator.h: Has an immortal Structure.
(JSC):
* runtime/JSScope.cpp:
(JSC):
* runtime/JSString.h: Has an immortal Structure.
(JSC):
* runtime/JSWrapperObject.h: Inherit from JSDestructibleObject.
(JSWrapperObject):
(JSC::JSWrapperObject::JSWrapperObject):
* runtime/MathObject.cpp: Cleaning up some of the inheritance stuff.
(JSC):
* runtime/NameInstance.h: Inherit from JSDestructibleObject.
(NameInstance):
* runtime/RegExp.h: Has immortal Structure.
(JSC):
* runtime/RegExpObject.cpp: Inheritance cleanup.
(JSC):
* runtime/SparseArrayValueMap.h: Has immortal Structure.
(JSC):
* runtime/Structure.h: Has immortal Structure.
(JSC):
* runtime/StructureChain.h: Ditto.
(JSC):
* runtime/SymbolTable.h: Ditto.
(SharedSymbolTable):
(JSC):

Source/WebCore:

No new tests.

* ForwardingHeaders/runtime/JSDestructableObject.h: Added.
* bindings/js/JSDOMWrapper.h: Inherits from JSDestructibleObject.
(JSDOMWrapper):
(WebCore::JSDOMWrapper::JSDOMWrapper):
* bindings/scripts/CodeGeneratorJS.pm: Add finalizers to anything that inherits from JSGlobalObject,
e.g. JSDOMWindow and JSWorkerContexts. For those classes we also need to use the NEEDS_DESTRUCTOR macro.
(GenerateHeader):
* bridge/objc/objc_runtime.h: Inherit from JSDestructibleObject.
(ObjcFallbackObjectImp):
* bridge/objc/objc_runtime.mm:
(Bindings):
(JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
* bridge/runtime_array.cpp: Use a finalizer so that JSArray isn't forced to inherit from JSDestructibleObject.
(JSC):
(JSC::RuntimeArray::destroy):
* bridge/runtime_array.h:
(JSC::RuntimeArray::create):
(JSC):
* bridge/runtime_object.cpp: Inherit from JSDestructibleObject.
(Bindings):
(JSC::Bindings::RuntimeObject::RuntimeObject):
* bridge/runtime_object.h:
(RuntimeObject):

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

7 years agoUnreviewed, rolling out r128809.
commit-queue@webkit.org [Mon, 17 Sep 2012 22:05:27 +0000 (22:05 +0000)]
Unreviewed, rolling out r128809.
http://trac.webkit.org/changeset/128809
https://bugs.webkit.org/show_bug.cgi?id=96958

Broke the Windows build. (Requested by andersca on #webkit).

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

Source/WebCore:

* platform/win/BString.cpp:
(WebCore::BString::~BString):
(WebCore::BString::adoptBSTR):
* platform/win/BString.h:
(BString):

Source/WebKit/win:

* DefaultPolicyDelegate.cpp:
(DefaultPolicyDelegate::decidePolicyForNavigationAction):
(DefaultPolicyDelegate::decidePolicyForMIMEType):
(DefaultPolicyDelegate::unableToImplementPolicyWithError):
* MarshallingHelpers.cpp:
(MarshallingHelpers::KURLToBSTR):
(MarshallingHelpers::CFStringRefToBSTR):
(MarshallingHelpers::stringArrayToSafeArray):
(MarshallingHelpers::safeArrayToStringArray):
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::runJavaScriptPrompt):
* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::checkGrammarOfString):
(WebEditorClient::getGuessesForWord):
* WebFrame.cpp:
(WebFrame::canProvideDocumentSource):
* WebHistory.cpp:
(WebHistory::removeItem):
(WebHistory::addItem):
* WebIconDatabase.cpp:
(WebIconDatabase::startUpIconDatabase):
* WebNotificationCenter.cpp:
(WebNotificationCenter::postNotification):
* WebPreferences.cpp:
(WebPreferences::setStringValue):
* WebView.cpp:
(PreferencesChangedOrRemovedObserver::onNotify):
(WebView::close):
(WebView::canShowMIMEType):
(WebView::initWithFrame):
(WebView::setApplicationNameForUserAgent):
(WebView::setCustomUserAgent):
(WebView::userAgentForURL):
(WebView::setCustomTextEncodingName):
(WebView::customTextEncodingName):
(WebView::setPreferences):
(WebView::searchFor):
(WebView::executeCoreCommandByName):
(WebView::markAllMatchesForText):
(WebView::setGroupName):
(WebView::registerURLSchemeAsLocal):
(WebView::replaceSelectionWithText):
(WebView::onNotify):
(WebView::notifyPreferencesChanged):
(WebView::MIMETypeForExtension):
(WebView::standardUserAgentWithApplicationName):
(WebView::addAdditionalPluginDirectory):
(WebView::registerEmbeddedViewMIMEType):
(toString):
(toKURL):
(WebView::addOriginAccessWhitelistEntry):
(WebView::removeOriginAccessWhitelistEntry):
(WebView::geolocationDidFailWithError):
(WebView::setDomainRelaxationForbiddenForURLScheme):
(WebView::setCompositionForTesting):
(WebView::confirmCompositionForTesting):

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=96945
bdakin@apple.com [Mon, 17 Sep 2012 21:56:42 +0000 (21:56 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=96945
REGRESSION (r128678): Several tests fail on WK2 bots
(compositing/rtl/rtl-fixed-overflow.html,
compositing/rtl/rtl-fixed.html,
fast/regions/float-pushed-width-change.html,
fast/repaint/fixed-move-after-keyboard-scroll.html)

Reviewed by Tim Horton.

These tests are failing after
https://bugs.webkit.org/show_bug.cgi?id=96688 They are failing on WK2
only because that change only forces compositing mode for fixed
position elements in WK2, not WK1.

This one is a ref test where the expectation used fixed positioning.
We can avoid using fixed pos and avoid that fact that that creates a
layer in WK2 and use absolute pos instead.
* fast/regions/float-pushed-width-change-expected.html:

These tests just need updated results in the mac-wk2 directory.
* platform/mac-wk2/compositing/rtl: Added.
* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt: Added.
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt: Added.
* platform/mac-wk2/fast/repaint: Added.
* platform/mac-wk2/fast/repaint/fixed-move-after-keyboard-scroll-expected.png: Added.
* platform/mac-wk2/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt: Added.

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

7 years ago[WIN] Use BString in favour of BSTR to improve memory management
paroga@webkit.org [Mon, 17 Sep 2012 21:43:53 +0000 (21:43 +0000)]
[WIN] Use BString in favour of BSTR to improve memory management
https://bugs.webkit.org/show_bug.cgi?id=93128

Reviewed by Anders Carlsson.

BString automatically calls SysFreeString() in its destructor which helps
avoiding memory leaks. So it should be used instead of BSTR directly.
Add operator& to BString to allow its usage for out parameters too (like COMPtr).
This fixes already a few memory leaks in the existing code.

* platform/win/BString.cpp:
(WebCore::BString::~BString):
(WebCore::BString::adoptBSTR):
(WebCore::BString::clear):
(WebCore):
* platform/win/BString.h:
(BString):
(WebCore::BString::operator&):

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

7 years ago2012-09-17 Nate Chapin <japhet@chromium.org>
japhet@chromium.org [Mon, 17 Sep 2012 21:41:04 +0000 (21:41 +0000)]
2012-09-17  Nate Chapin  <japhet@chromium.org>

        Unreviewed, test expectations update.

        * platform/chromium/TestExpectations: Mark http/tests/inspector/network/network-xhr-replay.html as timing out on chromium win.

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

7 years ago[chromium] Add onSendFrameToParentCompositorAck to WebCompositorOutputSurfaceClient
piman@chromium.org [Mon, 17 Sep 2012 21:31:14 +0000 (21:31 +0000)]
[chromium] Add onSendFrameToParentCompositorAck to WebCompositorOutputSurfaceClient
https://bugs.webkit.org/show_bug.cgi?id=96850

Reviewed by James Robinson.

Hook for the WebCompositorOutputSurface::sendFrameToParent ack.
Also changes WebCompositorFrame from a class to a struct.

* chromium/public/WebCompositorOutputSurface.h:
(WebKit):
* chromium/public/WebCompositorOutputSurfaceClient.h:
(WebKit):
(WebCompositorOutputSurfaceClient):

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

7 years agoMake CSS.PrefixUsage histogram smaller to save memory
tony@chromium.org [Mon, 17 Sep 2012 21:11:04 +0000 (21:11 +0000)]
Make CSS.PrefixUsage histogram smaller to save memory
https://bugs.webkit.org/show_bug.cgi?id=96941

Reviewed by Ojan Vafai.

Each bucket costs about 12 bytes. This reduces the size of the histogram
from 600 to 384, which will save about 2.5k per renderer and browser
process.

In the long run, we could probably generate a table in makeprop.pl that
only has the webkit prefix values to save even more memory (there are
194 properties that start with -webkit).

No new tests, just refactoring.

* css/CSSParser.cpp:
(WebCore::cssPropertyID):

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

7 years ago[chromium] WebCompositorOutputSurface software API
aelias@chromium.org [Mon, 17 Sep 2012 21:04:56 +0000 (21:04 +0000)]
[chromium] WebCompositorOutputSurface software API
https://bugs.webkit.org/show_bug.cgi?id=96851

Reviewed by James Robinson.

This adds a software-based output option to
WebCompositorOutputSurface, for use with the new software compositor.
If returns a "tear-off" which provides a WebImage object that can be
written to or read.

* Platform.gypi:
* chromium/public/WebCompositorOutputSurface.h:
(WebKit):
(WebCompositorOutputSurface):
(WebKit::WebCompositorOutputSurface::surfaceSoftware):
* chromium/public/WebCompositorOutputSurfaceSoftware.h: Added.
(WebKit):
(WebCompositorOutputSurfaceSoftware):
(WebKit::WebCompositorOutputSurfaceSoftware::~WebCompositorOutputSurfaceSoftware):

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

7 years agoIf a prototype has indexed setters and its instances have indexed storage, then all...
fpizlo@apple.com [Mon, 17 Sep 2012 20:56:39 +0000 (20:56 +0000)]
If a prototype has indexed setters and its instances have indexed storage, then all put_by_val's should have a bad time
https://bugs.webkit.org/show_bug.cgi?id=96596

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Added comprehensive support for accessors and read-only indexed properties on the
prototype chain. This is done without any performance regression on benchmarks that
we're aware of, by having the entire VM's strategy with respect to arrays tilted
heavily in favor of:

- The prototype chain of JSArrays never having any accessors or read-only indexed
  properties. If that changes, you're going to have a bad time.

- Prototypes of non-JSArray objects either having no indexed accessors or read-only
  indexed properties, or, having those indexed accessor thingies inserted before
  any instance object (i.e. object with that prototype as its prototype) is created.
  If you add indexed accessors or read-only indexed properties to an object that is
  already used as a prototype, you're going to have a bad time.

See below for the exact definition of having a bad time.

Put another way, "fair" uses of indexed accessors and read-only indexed properties
are:

- Put indexed accessors and read-only indexed properties on an object that is never
  used as a prototype. This will slow down accesses to that object, but will not
  have any effect on any other object.

- Put those indexed accessor thingies on an object before it is used as a prototype
  and then start instantiating objects that claim that object as their prototype.
  This will slightly slow down indexed stores to the instance objects, and greatly
  slow down all indexed accesses to the prototype, but will have no other effect.

In short, "fair" uses only affect the object itself and any instance objects. But
if you start using indexed accessors in more eclectic ways, you're going to have
a bad time.

Specifically, if an object that may be used as a prototype has an indexed accessor
added, the VM performs a whole-heap scan to find all objects that belong to the
same global object as the prototype you modified. If any of those objects has
indexed storage, their indexed storage is put into slow-put mode, just as if their
prototype chain had indexed accessors. This will happen even for objects that do
not currently have indexed accessors in their prototype chain. As well, all JSArray
allocations are caused to create arrays with slow-put storage, and all future
allocations of indexed storage for non-JSArray objects are also flipped to slow-put
mode. Note there are two aspects to having a bad time: (i) the whole-heap scan and
(ii) the poisoning of all indexed storage in the entire global object. (i) is
necessary for correctness. If we detect that an object that may be used as a
prototype has had an indexed accessor or indexed read-only property inserted into
it, then we need to ensure that henceforth all instances of that object inspect
the prototype chain whenever an indexed hole is stored to. But by default, indexed
stores do no such checking because doing so would be unnecessarily slow. So, we must
find all instances of the affected object and flip them into a different array
storage mode that omits all hole optimizations. Since prototypes never keep a list
of instance objects, the only way to find those objects is a whole-heap scan. But
(i) alone would be a potential disaster, if a program frequently allocated an
object without indexed accessors, then allocated a bunch of objects that used that
one as their prototype, and then added indexed accessors to the prototype. So, to
prevent massive heap scan storms in such awkward programs, having a bad time also
implies (ii): henceforth *all* objects belonging to that global object will use
slow put indexed storage, so that we don't ever have to scan the heap again. Note
that here we are using the global object as just an approximation of a program
module; it may be worth investigating in the future if other approximations can be
used instead.

* bytecode/ArrayProfile.h:
(JSC):
(JSC::arrayModeFromStructure):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::fromObserved):
(JSC::DFG::modeAlreadyChecked):
(JSC::DFG::modeToString):
* dfg/DFGArrayMode.h:
(DFG):
(JSC::DFG::isSlowPutAccess):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.h:
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateJSArray):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_array):
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncSort):
* runtime/IndexingType.h:
(JSC):
(JSC::hasIndexedProperties):
(JSC::hasIndexingHeader):
(JSC::hasArrayStorage):
(JSC::shouldUseSlowPut):
* runtime/JSArray.cpp:
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
* runtime/JSArray.h:
(JSC::JSArray::createStructure):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::haveABadTime):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::addressOfArrayStructure):
(JSC::JSGlobalObject::havingABadTimeWatchpoint):
(JSC::JSGlobalObject::isHavingABadTime):
* runtime/JSObject.cpp:
(JSC::JSObject::visitButterfly):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::put):
(JSC::JSObject::putByIndex):
(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::setPrototype):
(JSC::JSObject::resetInheritorID):
(JSC::JSObject::inheritorID):
(JSC::JSObject::allowsAccessFrom):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::unwrappedGlobalObject):
(JSC::JSObject::notifyUsedAsPrototype):
(JSC::JSObject::createInheritorID):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype):
(JSC::JSObject::attemptToInterceptPutByIndexOnHole):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/JSObject.h:
(JSC::JSObject::mayBeUsedAsPrototype):
(JSObject):
(JSC::JSObject::mayInterceptIndexedAccesses):
(JSC::JSObject::getArrayLength):
(JSC::JSObject::getVectorLength):
(JSC::JSObject::canGetIndexQuickly):
(JSC::JSObject::getIndexQuickly):
(JSC::JSObject::canSetIndexQuickly):
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
(JSC::JSObject::completeInitialization):
(JSC::JSObject::inSparseIndexingMode):
(JSC::JSObject::arrayStorage):
(JSC::JSObject::arrayStorageOrNull):
(JSC::JSObject::ensureArrayStorage):
(JSC):
(JSC::JSValue::putByIndex):
* runtime/JSValue.cpp:
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
(JSC):
* runtime/JSValue.h:
(JSValue):
* runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::finishCreation):
* runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayEntry::put):
(JSC):
* runtime/SparseArrayValueMap.h:
(JSC):
(SparseArrayEntry):
* runtime/Structure.cpp:
(JSC::Structure::anyObjectInChainMayInterceptIndexedAccesses):
(JSC):
(JSC::Structure::suggestedIndexingTransition):
* runtime/Structure.h:
(Structure):
(JSC::Structure::mayInterceptIndexedAccesses):
* runtime/StructureTransitionTable.h:
(JSC::newIndexingType):

LayoutTests:

Removed failing expectation for primitive-property-access-edge-cases, and
added more tests to cover the numerical-setter-on-prototype cases.

* fast/js/array-bad-time-expected.txt: Added.
* fast/js/array-bad-time.html: Added.
* fast/js/array-slow-put-expected.txt: Added.
* fast/js/array-slow-put.html: Added.
* fast/js/cross-frame-bad-time-expected.txt: Added.
* fast/js/cross-frame-bad-time.html: Added.
* fast/js/jsc-test-list:
* fast/js/object-bad-time-expected.txt: Added.
* fast/js/object-bad-time.html: Added.
* fast/js/object-slow-put-expected.txt: Added.
* fast/js/object-slow-put.html: Added.
* fast/js/script-tests/array-bad-time.js: Added.
* fast/js/script-tests/array-slow-put.js: Added.
(foo):
* fast/js/script-tests/cross-frame-bad-time.js: Added.
(foo):
* fast/js/script-tests/object-bad-time.js: Added.
(Cons):
* fast/js/script-tests/object-slow-put.js: Added.
(Cons):
(foo):
* platform/mac/fast/js/primitive-property-access-edge-cases-expected.txt: Removed.

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

7 years ago[BlackBerry] Enable VIDEO_TRACK
rwlbuis@webkit.org [Mon, 17 Sep 2012 20:55:20 +0000 (20:55 +0000)]
[BlackBerry] Enable VIDEO_TRACK
https://bugs.webkit.org/show_bug.cgi?id=96949

Reviewed by Antonio Gomes.

.:

Turn on VIDEO_TRACK feature.

* Source/cmake/OptionsBlackBerry.cmake:

Source/WebCore:

Turn on runtime feature for VIDEO_TRACK.

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

7 years ago[chromium] Unreviewed, updating some bug numbers in TestExpectations.
tony@chromium.org [Mon, 17 Sep 2012 20:50:36 +0000 (20:50 +0000)]
[chromium] Unreviewed, updating some bug numbers in TestExpectations.

* platform/chromium/TestExpectations:

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

7 years agoMeasure the usage of window.webkitIndexedDB so we can measure the transition to webki...
abarth@webkit.org [Mon, 17 Sep 2012 20:37:46 +0000 (20:37 +0000)]
Measure the usage of window.webkitIndexedDB so we can measure the transition to webkit.indexedDB
https://bugs.webkit.org/show_bug.cgi?id=96943

Reviewed by Ojan Vafai.

We don't yet support window.indexedDB but we will once
https://bugs.webkit.org/show_bug.cgi?id=96548 lands. This metric will
help us measure the transition from the prefixed to the unprefixed API.

* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* page/FeatureObserver.h:

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

7 years agoMeasure usage of the legacy WebKitBlobBuilder API in the hopes of being able to remove it
abarth@webkit.org [Mon, 17 Sep 2012 20:12:46 +0000 (20:12 +0000)]
Measure usage of the legacy WebKitBlobBuilder API in the hopes of being able to remove it
https://bugs.webkit.org/show_bug.cgi?id=96939

Reviewed by Ojan Vafai.

In the course of standardization, the BlobBuilder API was removed in
favor of just using the Blob constructor. This patch adds some
measurement to see how often this legacy API is used. If the API is not
used very much, we might be able to remove it.

* fileapi/WebKitBlobBuilder.cpp:
(WebCore::WebKitBlobBuilder::create):
* page/FeatureObserver.h:

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