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

Reviewed by Tor Arne Vestbø.

.:

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

* Source/api.pri:

Tools:

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

* qmake/mkspecs/features/default_pre.prf:

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

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

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

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

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

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

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

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

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

Sync line heights on adding/removing decorations.

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

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

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

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

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

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

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

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

WebFilterOperationsTest.saveAndRestore added in the change is failing.

Source/Platform:

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

Source/WebKit/chromium:

* tests/FilterOperationsTest.cpp:

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

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

Reviewed by Vsevolod Vlasov.

Source/WebCore:

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

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

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

LayoutTests:

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

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

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

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

* platform/chromium/TestExpectations:

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

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

Unreviewed EFL rebaseline.

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

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

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

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

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

Unreviewed EFL gardening.

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

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

* platform/efl/TestExpectations:

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

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

Reviewed by Kent Tamura.

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

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

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

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

Source/WebCore:

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

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

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

LayoutTests:

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

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

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

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

Unreviewed, rolling out r129328.

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

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

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

Reviewed by Gyuyoung Kim.

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

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

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

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

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

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

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

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

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

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

Reviewed by Kent Tamura.

.:

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

Source/WebCore:

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

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

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

Source/WebKit/chromium:

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

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

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

Reviewed by Filip Pizlo.

No performance change.

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

* dfg/DFGNodeType.h:
(DFG):

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

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

        I accidentally the whole 32-bit :(.

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

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

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

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

Reviewed by Anders Carlsson.

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

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

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

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

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

Source/JavaScriptCore:

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

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

Source/WebCore:

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

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

Source/WebKit/efl:

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

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

Source/WebKit2:

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

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

Source/WTF:

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

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

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

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

Reviewed by Anders Carlsson.

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

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

    Enable the ElementAttributeData sharing path for non-HTML elements.

* dom/ElementAttributeData.h:

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

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

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

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

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

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

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

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

LayoutTests:

Added test cases.

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

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

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

Reviewed by Oliver Hunt.

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

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

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

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

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

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

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

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

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

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

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

No new functionality, so no new tests.

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

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

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

Reviewed by Dan Bernstein.

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

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

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

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

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

* platform/gtk-wk2/TestExpectations:

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

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

Reviewed by Anders Carlsson.

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

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

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

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

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

Reviewed by Anders Carlsson.

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

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

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

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

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

Reviewed by Chris Fleizach.

Source/WebCore:

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

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

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

Tools:

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

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

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

LayoutTests:

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

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

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

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

* platform/qt/TestExpectations:

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

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

Unreviewed EFL gardening.

Unskip a couple of IETestCenter bugs now that they pass.

* platform/efl/TestExpectations:

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

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

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

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

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

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

No new tests.

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

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

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

Reviewed by Dirk Schulze.

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

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

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

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

Reviewed by Dirk Pranke.

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

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

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

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

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

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

* platform/gtk/TestExpectations:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

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

This seems like the right tradeoff because

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LayoutTests:

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

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

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

Reviewed by Eric Carlson.

.:

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

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

Source/WebCore:

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

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

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

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

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

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

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

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

Reviewed by Sam Weinig.

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

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

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

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

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

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

Reviewed by Anders Carlsson.

Source/WebKit2:

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

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

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

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

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

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

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

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

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

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

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

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

Tools:

Remove setting the __XPC_* environment variables.

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

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

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

Rubber stamped by Sam Weinig.

missed a child3 -> child2!

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

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

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

Unreviewed, build fix.

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

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

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

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

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

Reviewed by Sam Weinig.

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

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

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

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

Reviewed by Ryosuke Niwa.

Source/WebCore:

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

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

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

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

LayoutTests:

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

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

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

Reviewed by Geoff Garen.

No longer needed after my last change.

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

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

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

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

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

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

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

Reviewed by Ojan Vafai.

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

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

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

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

Reviewed by Enrica Casucci.

Source/WebCore:

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

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

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

LayoutTests:

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

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

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

Reviewed by James Robinson.

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

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

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

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

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

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

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

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

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

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

LayoutTests:

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

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

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

Reviewed by Ryosuke Niwa.

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

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

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

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

No new tests, no change in behavior.

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

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

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

* platform/win/Skipped:

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

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

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

Source/WebKit2:

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

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

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

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

LayoutTests:

* platform/wk2/Skipped:

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

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

Reviewed by Kenneth Russell.

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

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

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

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

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

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

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

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

Source/Platform:

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

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

Source/WebCore:

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

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

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

LayoutTests:

Brought over KHRONOS conformance test for OES_vertex_array_object

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

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

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

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

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

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

Reviewed by Tony Chang.

Source/WebCore:

Remove HarfBuzz dependency from GlyphPageTreeNodeSkia. Use OpenTypeVerticalData instead.

No new tests. Rebaselined existing tests.

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

Source/WebKit/chromium:

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

LayoutTests:

Rebaselined vertical writing test expectations.

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

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

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

Reviewed by Mark Hahnenberg.

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

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

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

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

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

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

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

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

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

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

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

Reviewed by Anders Carlsson.

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

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

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

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

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

* platform/wk2/Skipped:

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

7 years agoNo need to pass order file for WebCoreTestSupport build
psolanki@apple.com [Fri, 21 Sep 2012 23:07:20 +0000 (23:07 +0000)]
No need to pass order file for WebCoreTestSupport build
https://bugs.webkit.org/show_bug.cgi?id=97363

Reviewed by David Kilzer.

No new tests because no functional change.

* Configurations/WebCoreTestSupport.xcconfig:

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

7 years agoDFG CSE assumes that a holy PutByVal does not interfere with GetArrayLength, when...
fpizlo@apple.com [Fri, 21 Sep 2012 22:59:37 +0000 (22:59 +0000)]
DFG CSE assumes that a holy PutByVal does not interfere with GetArrayLength, when it clearly does
https://bugs.webkit.org/show_bug.cgi?id=97373

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::getArrayLengthElimination):
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGGraph.h:
(Graph):

LayoutTests:

* fast/js/dfg-holy-put-by-val-interferes-with-get-array-length-expected.txt: Added.
* fast/js/dfg-holy-put-by-val-interferes-with-get-array-length.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-holy-put-by-val-interferes-with-get-array-length.js: Added.
(foo):

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

7 years agowebkitpy: drop support for old TestExpectations syntax
dpranke@chromium.org [Fri, 21 Sep 2012 22:35:50 +0000 (22:35 +0000)]
webkitpy: drop support for old TestExpectations syntax
https://bugs.webkit.org/show_bug.cgi?id=97364

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser._collect_matching_tests):
(TestExpectationParser):
(TestExpectationParser._tokenize_line):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(SkippedTests.test_skipped_entry_dont_exist):
(ExpectationSyntaxTests.assert_tokenize_exp):
(ExpectationSyntaxTests.test_bare_name):
(ExpectationSyntaxTests.test_bare_name_and_bugs):
(ExpectationSyntaxTests.test_comments):
(ExpectationSyntaxTests.test_config_modifiers):
(ExpectationSyntaxTests.test_unknown_config):
(ExpectationSyntaxTests.test_unknown_expectation):
(ExpectationSyntaxTests.test_skip):
(ExpectationSyntaxTests.test_slow):
(ExpectationSyntaxTests.test_wontfix):
(ExpectationSyntaxTests.test_blank_line):
(ExpectationSyntaxTests.test_warnings):
(RebaseliningTest.test_no_get_rebaselining_failures):

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

7 years agoImprove WTR unresponsiveness output a little
simon.fraser@apple.com [Fri, 21 Sep 2012 22:33:10 +0000 (22:33 +0000)]
Improve WTR unresponsiveness output a little
https://bugs.webkit.org/show_bug.cgi?id=97370

Reviewed by Timothy Horton.

Distinguish between conditions that already set the errorMessage,
and unresponsiveness due to slow about:blank loads when WTR
reports unresponsiveness.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):

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

7 years agoRoll Chromium DEPS to r158095 to pick up typo fix in test_expectations.txt
dpranke@chromium.org [Fri, 21 Sep 2012 22:30:54 +0000 (22:30 +0000)]
Roll Chromium DEPS to r158095 to pick up typo fix in test_expectations.txt

Unreviewed, rolled DEPS.

* DEPS:

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

7 years agoUnreviewed. Skipping http/tests/security/sandboxed-iframe-origin-add.html.
roger_fong@apple.com [Fri, 21 Sep 2012 22:27:44 +0000 (22:27 +0000)]
Unreviewed. Skipping http/tests/security/sandboxed-iframe-origin-add.html.
https://bugs.webkit.org/show_bug.cgi?id=97271

* platform/win/Skipped:

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

7 years agoRoll Chromium DEPS to r158060
dpranke@chromium.org [Fri, 21 Sep 2012 22:22:49 +0000 (22:22 +0000)]
Roll Chromium DEPS to r158060

Unreviewed, rolled DEPS.

* DEPS:

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

7 years agoAdd Web Audio support for deprecated/legacy APIs
crogers@google.com [Fri, 21 Sep 2012 22:12:36 +0000 (22:12 +0000)]
Add Web Audio support for deprecated/legacy APIs
https://bugs.webkit.org/show_bug.cgi?id=97050

Reviewed by Eric Carlson.

.:

* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

The Web Audio API specification has undergone much review and some small API changes
have been made (mostly naming-related changes).  This patch adds an ENABLE_LEGACY_WEB_AUDIO
build option to allow ports to support the old names.

Tests changed:
audiobuffersource-playbackrate.html
audiobuffersource.html
note-grain-on-testing.js
oscillator-testing.js

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.features.am:
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::startGrain):
(WebCore):
(WebCore::AudioBufferSourceNode::noteGrainOn):
* Modules/webaudio/AudioBufferSourceNode.h:
(AudioBufferSourceNode):
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::start):
(WebCore::AudioScheduledSourceNode::stop):
(WebCore):
(WebCore::AudioScheduledSourceNode::noteOn):
(WebCore::AudioScheduledSourceNode::noteOff):
* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/Oscillator.idl:
* page/FeatureObserver.h:

Source/WebKit/chromium:

* features.gypi:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

* webaudio/audiobuffersource-playbackrate.html:
* webaudio/audiobuffersource.html:
* webaudio/resources/note-grain-on-testing.js:
(playGrain):
* webaudio/resources/oscillator-testing.js:
(generateExponentialOscillatorSweep):

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

7 years agowebkitpy: update remaining tests to use the new expectation syntax
dpranke@chromium.org [Fri, 21 Sep 2012 22:02:43 +0000 (22:02 +0000)]
webkitpy: update remaining tests to use the new expectation syntax
https://bugs.webkit.org/show_bug.cgi?id=97362

Reviewed by Ojan Vafai.

This patch updates all the unit tests that were still using the
old TestExpectations syntax to use the new syntax *except* for
the tests that were specifically testing that we parsed the old
syntax correctly.

Also, a block of tests for the new syntax were duplicated, so
I've deleted the duplicate.

Note that the old syntax is still supported so this change should
produce no visible changes.

* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(MiscTests.test_multiple_results):
(MiscTests.test_category_expectations):
(MiscTests.test_error_on_different_platform):
(MiscTests.test_error_on_different_build_type):
(MiscTests.test_overrides):
(MiscTests.test_overrides__directory):
(MiscTests.test_overrides__duplicate):
(MiscTests.test_more_specific_override_resets_skip):
(SkippedTests.check):
(SkippedTests.test_duplicate_skipped_test_fails_lint):
(SkippedTests.test_skipped_file_overrides_expectations):
(SkippedTests.test_skipped_dir_overrides_expectations):
(SkippedTests.test_skipped_file_overrides_overrides):
(SkippedTests.test_skipped_dir_overrides_overrides):
(ExpectationSyntaxTests.disabled_test_missing_expectation):
(ExpectationSyntaxTests.disabled_test_missing_colon):
(ExpectationSyntaxTests.disabled_test_too_many_colons):
(ExpectationSyntaxTests.disabled_test_too_many_equals_signs):
(ExpectationSyntaxTests):
(ExpectationSyntaxTests.test_unrecognized_expectation):
(ExpectationSyntaxTests.test_macro):
(SemanticTests.test_bug_format):
(SemanticTests.test_bad_bugid):
(SemanticTests.test_missing_bugid):
(SemanticTests.test_slow_and_timeout):
(SemanticTests.test_rebaseline):
(test_missing_file):
(test_ambiguous):
(test_more_modifiers):
(test_order_in_file):
(test_macro_overrides):
(OldExpectationParserTests):
(OldExpectationParserTests._tokenize):
(OldExpectationParserTests.test_tokenize_extra_colon):
(OldExpectationParserTests.test_tokenize_missing_equal):
(OldExpectationParserTests.test_tokenize_extra_equal):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_skip_failing_tests):
(MainTest.test_additional_expectations):
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase.test_valid_expectations):
(TestExpectationsTestCase.test_invalid_expectations):
(TestExpectationsTestCase.test_tab):

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

7 years agoUnreviewed. As in https://bugs.webkit.org/show_bug.cgi?id=92916, Windows specific...
roger_fong@apple.com [Fri, 21 Sep 2012 21:57:11 +0000 (21:57 +0000)]
Unreviewed. As in https://bugs.webkit.org/show_bug.cgi?id=92916, Windows specific results need to be added for various accessibility tests.

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

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

7 years ago[Chromium] remove getFontFamilyForCharacters from PlatformSupport
pilgrim@chromium.org [Fri, 21 Sep 2012 21:43:57 +0000 (21:43 +0000)]
[Chromium] remove getFontFamilyForCharacters from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=96282

Reviewed by Tony Chang.

Migrating away from PlatformSupport. getFontFamilyForCharacters is
moved to FontCache.h and overridden by the two platforms that
need it (Chromium Linux and Blackberry). New files for the overrides.
Part of a larger refactoring series. See tracking bug 82948.

Source/WebCore:

* PlatformBlackBerry.cmake:
* WebCore.gypi:
* platform/chromium/PlatformSupport.h:
(PlatformSupport):
* platform/graphics/FontCache.h:
(SimpleFontFamily):
(FontCache):
* platform/graphics/blackberry/FontCacheBlackberry.cpp: Added.
(WebCore):
(WebCore::FontCache::getFontFamilyForCharacters):
* platform/graphics/blackberry/skia/PlatformSupport.cpp:
(WebCore):
* platform/graphics/blackberry/skia/PlatformSupport.h:
(PlatformSupport):
* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/chromium/FontCacheChromiumLinux.cpp: Added.
(WebCore):
(WebCore::FontCache::getFontFamilyForCharacters):
* platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::getFontDataForCharacters):

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

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

7 years agoUnreviewed. Creating some Windows specific tests.
roger_fong@apple.com [Fri, 21 Sep 2012 21:39:32 +0000 (21:39 +0000)]
Unreviewed. Creating some Windows specific tests.
http://trac.webkit.org/changeset/128652 changed results for these tests on Mac but Windows results should stay the same.

* platform/win/fast/block/positioning: Added.
* platform/win/fast/block/positioning/016-expected.txt: Added.
* platform/win/fast/block/positioning/025-expected.txt: Added.
* platform/win/fast/block/positioning/fixed-position-stacking-context-expected.txt: Added.

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

7 years agoSource/WebCore: AX: WebKit exposes incorrect bounds for embedded SVG in HTML
cfleizach@apple.com [Fri, 21 Sep 2012 21:27:22 +0000 (21:27 +0000)]
Source/WebCore: AX: WebKit exposes incorrect bounds for embedded SVG in HTML
https://bugs.webkit.org/show_bug.cgi?id=96168

Reviewed by Eric Seidel.

Override absoluteFocusRingQuads() for SVG objects because the default
implementation relies on addFocusRingRects(). In addFocusRingRects(), SVG
objects adds local positions for its rects instead of absolute positions.

Test: accessibility/svg-bounds.html

* rendering/RenderObject.h:
(RenderObject):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore):
(WebCore::RenderSVGModelObject::absoluteFocusRingQuads):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):

LayoutTests: WebKit exposes incorrect bounds for embedded SVG in HTML
https://bugs.webkit.org/show_bug.cgi?id=96168

Reviewed by Eric Seidel.

* accessibility/svg-bounds.html: Added.
* platform/chromium/TestExpectations:
* platform/mac/accessibility/svg-bounds-expected.txt: Added.

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

7 years ago[WK2] Add basic testing support for Geolocation
benjamin@webkit.org [Fri, 21 Sep 2012 21:06:05 +0000 (21:06 +0000)]
[WK2] Add basic testing support for Geolocation
https://bugs.webkit.org/show_bug.cgi?id=97278

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

Source/WebKit2:

* Shared/API/c/WKNumber.h: Fix an unfortunate copy-paste :)

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
Remove the code forcing the Geolocation permissions. It was working around the normal
Geolocation code and updating all the GeolocationController, which is a terrible idea.

Tools:

Update the Geolocation testing to use the proper API in the UIProcess.

* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/GNUmakefile.am:

* WebKitTestRunner/GeolocationProviderMock.cpp: Added.
(WTR::startUpdatingCallback):
(WTR::stopUpdatingCallback):
(WTR::GeolocationProviderMock::GeolocationProvierMock):
(WTR::GeolocationProviderMock::setMockGeolocationPosition):
(WTR::GeolocationProviderMock::startUpdating):
(WTR::GeolocationProviderMock::stopUpdating):
(GeolocationProviderMock):
The GeolocationProvider store the location update and deliver them as needed.

WebCore GeolocationController do not support asynchronous update on start/stop. This is not
a problem in this case because all the messages between the WebProcess and the UIProcess are
asynchronous. Because of this, unlike GeolocationClientMock, we do not use a timer for event
delivery.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setGeolocationPermission):
(WTR::InjectedBundle::setMockGeolocationPosition):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setGeolocationPermission):
(WTR::TestRunner::setMockGeolocationPosition):
From the InjectedBundle, we now pass the information to the UIProcess so that
GeolocationProvider and the TestController can respond appropriately.

* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):
* WebKitTestRunner/Target.pri:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::decidePolicyForGeolocationPermissionRequest):
(WTR::TestController::createOtherPage):
(WTR::TestController::initialize):
(WTR::TestController::setMockGeolocationPosition):
* WebKitTestRunner/TestController.h:
(TestController):
(WTR::TestController::setGeolocationPermission):
(WTR::TestController::isGeolocationPermissionAllowed):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/win/WebKitTestRunner.vcproj:

LayoutTests:

* platform/wk2/Skipped: Unskip the passing tests.

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

7 years ago[BlackBerry] Really fix bug 95488 that user can get the authentication challenge...
commit-queue@webkit.org [Fri, 21 Sep 2012 21:02:37 +0000 (21:02 +0000)]
[BlackBerry] Really fix bug 95488 that user can get the authentication challenge dialog while the other tab has focus.
https://bugs.webkit.org/show_bug.cgi?id=97348
Internal PR: 186597.

Internally reviewed by Yong Li, Joe Mason.
Patch by Lianghui Chen <liachen@rim.com> on 2012-09-21
Reviewed by Yong Li.

Source/WebCore:

Add a singleton AuthenticationChallengeManager to manage authentication
challenge dialog. It does following things:
Record page creation/deletion, so it knows what page is present or not.
Record page visibility change so it knows when to display a dialog or not.
Accept authentication challenge, and decide whether to postpone the
    challenge dialog based on whether there is active authentication challenge
    dialog already and whether its page is visible or not.
When a challenge result comes back, notify the result to all clients
    authenticating for the same protection space, and then start the next
    authentication challenge from the same page, if there is one.
When a page becomes visible, start the first authentication challenge
    dialog that has been blocked before.

And to support this new AuthenticationChallengeManager, and making the
    challenge really asynchronous, NetworkJob has been updated to support
    the concept of "freeze", which means buffering all network loading status
    change but don't send them to NetworkJob clients.
This is necessary when authentication challenge is asynchronous, as the
    previous network loading status will likely come before user make any
    decision.

No new tests for platform specific internal change.

* PlatformBlackBerry.cmake:
* platform/blackberry/AuthenticationChallengeManager.cpp: Added.
(WebCore):
(ChallengeInfo):
(WebCore::ChallengeInfo::ChallengeInfo):
(AuthenticationChallengeManagerPrivate):
(WebCore::AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate):
(WebCore::AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge):
(WebCore::AuthenticationChallengeManagerPrivate::startAuthenticationChallenge):
(WebCore::AuthenticationChallengeManagerPrivate::pageExists):
(WebCore::AuthenticationChallengeManager::AuthenticationChallengeManager):
(WebCore::AuthenticationChallengeManager::pageCreated):
(WebCore::AuthenticationChallengeManager::pageDeleted):
(WebCore::AuthenticationChallengeManager::pageVisibilityChanged):
(WebCore::AuthenticationChallengeManager::authenticationChallenge):
(WebCore::AuthenticationChallengeManager::cancelAuthenticationChallenge):
(WebCore::AuthenticationChallengeManager::notifyChallengeResult):
(WebCore::AuthenticationChallengeManager::instance):
(WebCore::AuthenticationChallengeManager::init):
* platform/blackberry/AuthenticationChallengeManager.h:
(WebCore):
(AuthenticationChallengeManager):
* platform/blackberry/PageClientBlackBerry.h:
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
(WebCore::MediaPlayerPrivate::notifyChallengeResult):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(MediaPlayerPrivate):
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::NetworkJob):
(WebCore::NetworkJob::~NetworkJob):
(WebCore):
(WebCore::NetworkJob::handleNotifyStatusReceived):
(WebCore::NetworkJob::handleNotifyClose):
(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::notifyChallengeResult):
* platform/network/blackberry/NetworkJob.h:
(NetworkJob):

Source/WebKit/blackberry:

Update WebPage to use new AuthenticationChallengeManager.
Register page creation/deletion and visibility change to the new
    AuthenticationChallengeManager.
Initialize AuthenticationChallengeManager in GlobalInitialize() function.

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::globalInitialize):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
(BlackBerry::WebKit::WebPage::setVisible):
* Api/WebPage_p.h:
(WebPagePrivate):

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

7 years ago[WK2] Make Web Inspector work in multiple web process mode
ap@apple.com [Fri, 21 Sep 2012 20:32:18 +0000 (20:32 +0000)]
[WK2] Make Web Inspector work in multiple web process mode
https://bugs.webkit.org/show_bug.cgi?id=97354

Reviewed by Timothy Hatcher.

* UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage):
Tell WKView that it's related to original page, making inspector page be in the same process.

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

7 years agoUnreviewed, rolling out r129248.
hausmann@webkit.org [Fri, 21 Sep 2012 20:16:45 +0000 (20:16 +0000)]
Unreviewed, rolling out r129248.
http://trac.webkit.org/changeset/129248
https://bugs.webkit.org/show_bug.cgi?id=96000

Broke win build

* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* rendering/RenderingAllInOne.cpp:

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

7 years agoMake RenderingAllInOne.cpp usable for ports other than Apple/Win
hausmann@webkit.org [Fri, 21 Sep 2012 20:09:31 +0000 (20:09 +0000)]
Make RenderingAllInOne.cpp usable for ports other than Apple/Win
https://bugs.webkit.org/show_bug.cgi?id=96000

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-21
Reviewed by Ryosuke Niwa.

RenderingAllInOne.cpp unconditionally includes RenderThemeWin. This patch separates
it out from the file.

* Target.pri: Add RenderingAllInOne.cpp to the list of supported all-in-one files.
* WebCore.vcproj/WebCore.vcproj: Compile RenderThemeWin.cpp separately.
* rendering/RenderingAllInOne.cpp: Don't include RenderThemeWin.cpp here.

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

7 years agoREGRESSION (r127882): accessibility/spinbutton-value.html failing on GTK
commit-queue@webkit.org [Fri, 21 Sep 2012 20:03:57 +0000 (20:03 +0000)]
REGRESSION (r127882): accessibility/spinbutton-value.html failing on GTK
https://bugs.webkit.org/show_bug.cgi?id=96196

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-09-21
Reviewed by Martin Robinson.

The "regression" is that a new test was added but the support was missing
in the Gtk port for spin buttons.

Source/WebCore:

No new tests. Instead the new test which had been skipped was unskipped
as part of this fix.

* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(atkRole): Map SpinButtonRole to ATK_ROLE_SPIN_BUTTON
(getInterfaceMaskFromObject): Add SpinButtonRole to the roles implementing
the AtkValue interface.

Tools:

* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::valueDescription): Updated the FIXME comment to
indicate that this cannot be implemented until it is implemented in ATK.
URL of the newly-filed ATK bug included for reference.

LayoutTests:

* platform/gtk/TestExpectations: Unskip the new test.
* platform/gtk/accessibility/spinbutton-value-expected.txt: Added.

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

7 years ago[GTK] [Stable] Infinite recursion in WebCore::AXObjectCache::getOrCreate
commit-queue@webkit.org [Fri, 21 Sep 2012 19:40:19 +0000 (19:40 +0000)]
[GTK] [Stable] Infinite recursion in WebCore::AXObjectCache::getOrCreate
https://bugs.webkit.org/show_bug.cgi?id=96932

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-09-21
Reviewed by Martin Robinson.

Source/WebCore:

Make the decision based on RenderObjects rather than AccessibilityObjects
to avoid the infinite recursion which occurs when remapAriaRoleDueToParent
gets called.

Test: platform/gtk/accessibility/remapped-aria-crash.html

* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

LayoutTests:

Added a new test which replicates the recursion and crash.

* platform/gtk/accessibility/remapped-aria-crash-expected.txt: Added.
* platform/gtk/accessibility/remapped-aria-crash.html: Added.

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

7 years agoFix test_skip_and_wontfix failure
dpranke@chromium.org [Fri, 21 Sep 2012 19:35:06 +0000 (19:35 +0000)]
Fix test_skip_and_wontfix failure
https://bugs.webkit.org/show_bug.cgi?id=97225

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(SemanticTests.test_skip_and_wontfix):

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

7 years ago[BlackBerry] HTML5 media does not handle SSL certificate failures
commit-queue@webkit.org [Fri, 21 Sep 2012 19:24:04 +0000 (19:24 +0000)]
[BlackBerry] HTML5 media does not handle SSL certificate failures
https://bugs.webkit.org/show_bug.cgi?id=93324

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-09-21
Reviewed by Eric Carlson.

RIM PR: 116205
Passed FrameLoaderClientBlackBerry's playerId to MMRPlayer::load()
because MMRPlayer::load() added playerId as a new parameter, which
is required to initiate a MediaSSLHandlerStream to deal with
certificate failure when loading a "https" media url.

Internally reviewed by Joe Mason <jmason@rim.com>.

No new tests since there's no functional change.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::load):

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

7 years ago[chromium] Add setters to WebFilterOperation for IPC pickling
danakj@chromium.org [Fri, 21 Sep 2012 18:47:16 +0000 (18:47 +0000)]
[chromium] Add setters to WebFilterOperation for IPC pickling
https://bugs.webkit.org/show_bug.cgi?id=97147

Reviewed by James Robinson.

Source/Platform:

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

Test: WebFilterOperationsTest.saveAndRestore

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

Source/WebKit/chromium:

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

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

7 years ago[chromium] Unreviewed, remove duplicate section of WebKit.gyp pointed out by Nico.
tony@chromium.org [Fri, 21 Sep 2012 18:13:47 +0000 (18:13 +0000)]
[chromium] Unreviewed, remove duplicate section of WebKit.gyp pointed out by Nico.

* WebKit.gyp:

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

7 years agoGlobal Math object should be configurable but isn't
barraclough@apple.com [Fri, 21 Sep 2012 18:09:09 +0000 (18:09 +0000)]
Global Math object should be configurable but isn't
https://bugs.webkit.org/show_bug.cgi?id=55343

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

This has no performance impact.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
    - Make 'Math' a regular property.

LayoutTests:

Added test case.

* fast/js/math-expected.txt:
* fast/js/script-tests/math.js:
    - Added test case.

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Fri, 21 Sep 2012 17:43:35 +0000 (17:43 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

7 years ago[WebSocket] Receiving a large message is really slow
commit-queue@webkit.org [Fri, 21 Sep 2012 17:28:24 +0000 (17:28 +0000)]
[WebSocket] Receiving a large message is really slow
https://bugs.webkit.org/show_bug.cgi?id=97237

Patch by Evan Wallace <evan.exe@gmail.com> on 2012-09-21
Reviewed by Alexey Proskuryakov.

WebSocketChannel always reallocates its internal buffer when it receives
and appends new data which causes dramatic slowdowns for messages over
2 MB in size. This patch changes the internal buffer of WebSocketChannel
from a raw char array to a Vector<char> and uses its amortized append()
method. This brings the time to receive a 5 MB message from 5.2 seconds
to 0.25 seconds.

This patch is only for optimization. No new tests are needed.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::~WebSocketChannel):
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::resume):
(WebCore::WebSocketChannel::didReceiveSocketStreamData):
(WebCore::WebSocketChannel::appendToBuffer):
(WebCore::WebSocketChannel::skipBuffer):
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::resumeTimerFired):
(WebCore::WebSocketChannel::processFrame):
* Modules/websockets/WebSocketChannel.h:

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

7 years ago[GTK] Implement ViewState methods in PageClientImpl in WebKit2
carlosgc@webkit.org [Fri, 21 Sep 2012 16:50:41 +0000 (16:50 +0000)]
[GTK] Implement ViewState methods in PageClientImpl in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=97202

Reviewed by Martin Robinson.

Source/WebKit2:

Implement isViewWindowActive(), isViewFocused(), isViewVisible()
and isViewInWindow() in PageClientImpl.

* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/C/gtk/WKView.cpp:
(WKViewSetFocus): New private method used by WTR to focus the
WebView.
* UIProcess/API/C/gtk/WKViewPrivate.h: Added.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::isViewWindowActive): Return
webkitWebViewBaseIsInWindowActive().
(WebKit::PageClientImpl::isViewFocused): Return
webkitWebViewBaseIsFocused().
(WebKit::PageClientImpl::isViewVisible): Return
webkitWebViewBaseIsVisible().
(WebKit::PageClientImpl::isViewInWindow): Return
webkitWebViewBaseIsInWindow().
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseNotifyResizerSize): Updated to not receive the
window as parameter since it's now saved in the instance struct.
(toplevelWindowResizeGripVisibilityChanged): Update to
webkitWebViewBaseNotifyResizerSize() API change.
(toplevelWindowFocusInEvent): Update ViewWindowIsActive flag and
notify the WebPageProxy if it changed.
(toplevelWindowFocusOutEvent): Ditto.
(webkitWebViewBaseSetToplevelOnScreenWindow): Set the toplevel
on-screen window where the view is currently added and notify
WebPageProxy if it changed.
(webkitWebViewBaseRealize): Call
webkitWebViewBaseSetToplevelOnScreenWindow() if the view has been
added to an on-screen window.
(webkitWebViewBaseFinalize): Reset the toplevel on-screen window
to make sure all signals are disconnected when the view is
destroyed.
(webkit_web_view_base_init): Remove unneeded initialization.
(resizeWebKitWebViewBaseFromAllocation): Update to
webkitWebViewBaseNotifyResizerSize() API change.
(webkitWebViewBaseMap): Update ViewIsVisible flag and notify
WebPageProxy if it changed.
(webkitWebViewBaseUnmap): Ditto.
(webkitWebViewBaseFocusInEvent): Call webkitWebViewBaseSetFocus()
passing true to focus the view.
(webkitWebViewBaseFocusOutEvent): Call webkitWebViewBaseSetFocus()
passing false to unfocus the view.
(webkitWebViewBaseParentSet): Reset the toplevel on-screen window
if the view is re-parented.
(webkit_web_view_base_class_init): Add implementations for map and
parent-set virtual functions.
(webkitWebViewBaseSetFocus): Update the ViewIsFocused and notify
WebPageProxy if it changed.
(webkitWebViewBaseIsInWindowActive):
(webkitWebViewBaseIsFocused):
(webkitWebViewBaseIsVisible):
(webkitWebViewBaseIsInWindow):
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewMouseTarget): Use a GTK_WINDOW_TOPLEVEL instead of
POPUP for this test to make sure the view receives focus change
events.

Tools:

* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::focus): Focus the view.

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

7 years agoFix build with ENABLE_WEBGL=false
commit-queue@webkit.org [Fri, 21 Sep 2012 16:41:53 +0000 (16:41 +0000)]
Fix build with ENABLE_WEBGL=false
https://bugs.webkit.org/show_bug.cgi?id=97309

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-21
Reviewed by Eric Seidel.

WebKit no longer builds when WEBGL is not enabled.

* rendering/FilterEffectRenderer.h:
(FilterEffectRenderer):

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

7 years ago[BlackBerry] Media player won't resize for the following source when first source...
commit-queue@webkit.org [Fri, 21 Sep 2012 16:32:03 +0000 (16:32 +0000)]
[BlackBerry] Media player won't resize for the following source when first source fail to load
https://bugs.webkit.org/show_bug.cgi?id=97342

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-09-21
Reviewed by Yong Li.

As platformPlayer will notify MediaPlayerPrivate for size change
when loading metadata failed (in this case hasVideo() is false),
we should prevent MediaPlayerPrivate to set width and height
attribute of media element, otherwise we won't get the correct
dimension for the following media sources.

Internally reviewed by Max Feil.

Test case: media/video-size.html

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::resizeSourceDimensions):

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

7 years ago[Qt] REGRESSION: 5 tests started to fail with newer Qt5
commit-queue@webkit.org [Fri, 21 Sep 2012 16:26:44 +0000 (16:26 +0000)]
[Qt] REGRESSION: 5 tests started to fail with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=90687

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-09-21
Reviewed by Luiz Agostini.

When sending null data via POST method in  XMLHttpRequest the
expected Content-Type "application/x-www-form-urlencoded",
instead of "application/octet-stream". In fact that was the previously
expected value for Qt, but was changed to conform to Qt 4.8 results.

The cookie test result was updated to follow RFC 6265 behavior, as
already does chromium, gtk, and efl.

* platform/qt-5.0/Skipped:
* platform/qt/http/tests/cookies/double-quoted-value-with-semi-colon-expected.txt: Added.
* platform/qt/http/tests/xmlhttprequest/methods-expected.txt:
* platform/qt/http/tests/xmlhttprequest/workers/methods-async-expected.txt:
* platform/qt/http/tests/xmlhttprequest/workers/methods-expected.txt:
* platform/qt/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt:

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

7 years agoREGRESSION (r126763): Incorrect line breaking when both kerning and word spacing...
mitz@apple.com [Fri, 21 Sep 2012 16:21:08 +0000 (16:21 +0000)]
REGRESSION (r126763): Incorrect line breaking when both kerning and word spacing are enabled
https://bugs.webkit.org/show_bug.cgi?id=97280

Reviewed by Adele Peterson.

Source/WebCore:

Font::width() never applies word spacing to the first character in the TextRun. The
TextLayout optimization tried to achieve this behavior by not applying word spacing to
any character, which led to this bug.

Test: fast/text/word-space-with-kerning-2.html

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::TextLayout): Changed to use the given font rather than a version
without word spacing.
(WebCore::TextLayout::width): Added a check if the run starts with a space at a non-zero
offset. If that is the case, then the ComplexTextController has added word spacing to that
space, so subtract it here in order to maintain the behavior described above.

LayoutTests:

* fast/text/word-space-with-kerning-2-expected.html: Added.
* fast/text/word-space-with-kerning-2.html: Added.

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