WebKit-https.git
18 months agoWebDriver: test imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merg...
carlosgc@webkit.org [Thu, 25 Jan 2018 13:51:11 +0000 (13:51 +0000)]
WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_platformName fails
https://bugs.webkit.org/show_bug.cgi?id=181984

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Platform name is expected to be lower case, so do not compre ignoring case.

Fixes: imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_platformName

* WebDriverService.cpp:
(WebDriver::WebDriverService::matchCapabilities const):

WebDriverTests:

Remove expectations for imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_platformName.

* TestExpectations.json:

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

18 months agoWebDriver: test imported/selenium/py/test/selenium/webdriver/common/alerts_tests...
carlosgc@webkit.org [Thu, 25 Jan 2018 13:50:07 +0000 (13:50 +0000)]
WebDriver: test imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py crashes in debug
https://bugs.webkit.org/show_bug.cgi?id=182096

Reviewed by Carlos Alberto Lopez Perez.

It's an assert in HashTable iterators checkValidity(). The problem is that we get the keys to iterate the values
and the map is modified inside the loop. We need to use copyToVector to copy the keys.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::respondToPendingPageNavigationCallbacksWithTimeout):
(WebKit::WebAutomationSession::respondToPendingFrameNavigationCallbacksWithTimeout):
(WebKit::WebAutomationSession::willShowJavaScriptDialog):

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

18 months ago[css-multicol] Update WPT test suite
rego@igalia.com [Thu, 25 Jan 2018 13:26:46 +0000 (13:26 +0000)]
[css-multicol] Update WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=182087

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-multicol/OWNERS: Added.
* web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash-expected.txt: Added.
* web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash.html: Added.
* web-platform-tests/css/css-multicol/multicol-basic-001-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-001.html:
* web-platform-tests/css/css-multicol/multicol-basic-002-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-002.html:
* web-platform-tests/css/css-multicol/multicol-basic-003-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-003.html:
* web-platform-tests/css/css-multicol/multicol-basic-004-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-004.html:
* web-platform-tests/css/css-multicol/multicol-basic-005-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-basic-005.xht: Added.
* web-platform-tests/css/css-multicol/multicol-basic-006-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-basic-006.xht: Added.
* web-platform-tests/css/css-multicol/multicol-basic-007-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-basic-007.xht: Added.
* web-platform-tests/css/css-multicol/multicol-basic-008-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-basic-008.xht: Added.
* web-platform-tests/css/css-multicol/multicol-block-no-clip-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-002-expected.xht.
* web-platform-tests/css/css-multicol/multicol-block-no-clip-001.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-001.xht.
* web-platform-tests/css/css-multicol/multicol-block-no-clip-002-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-block-no-clip-002.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-001.xht.
* web-platform-tests/css/css-multicol/multicol-br-inside-avoidcolumn-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-br-inside-avoidcolumn-001.xht:
* web-platform-tests/css/css-multicol/multicol-break-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-break-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-break-001.xht:
* web-platform-tests/css/css-multicol/multicol-clip-001.xht:
* web-platform-tests/css/css-multicol/multicol-columns-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-001.xht:
* web-platform-tests/css/css-multicol/multicol-columns-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-002.xht:
* web-platform-tests/css/css-multicol/multicol-columns-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-003.xht:
* web-platform-tests/css/css-multicol/multicol-columns-004-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-004.xht:
* web-platform-tests/css/css-multicol/multicol-columns-005-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-005.xht:
* web-platform-tests/css/css-multicol/multicol-columns-006-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-006.xht:
* web-platform-tests/css/css-multicol/multicol-columns-007-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-007.xht:
* web-platform-tests/css/css-multicol/multicol-columns-invalid-002.xht:
* web-platform-tests/css/css-multicol/multicol-containing-001.xht:
* web-platform-tests/css/css-multicol/multicol-containing-002.xht:
* web-platform-tests/css/css-multicol/multicol-count-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-001.xht:
* web-platform-tests/css/css-multicol/multicol-count-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-computed-003-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-count-computed-003.xht: Added.
* web-platform-tests/css/css-multicol/multicol-count-computed-005-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-count-computed-005.xht: Added.
* web-platform-tests/css/css-multicol/multicol-fill-000.xht:
* web-platform-tests/css/css-multicol/multicol-fill-001.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-001.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-002.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-003.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002.xht:
* web-platform-tests/css/css-multicol/multicol-fill-balance-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-balance-001.xht:
* web-platform-tests/css/css-multicol/multicol-fill-balance-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-fill-balance-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-gap-000.xht:
* web-platform-tests/css/css-multicol/multicol-gap-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-animation-001-expected.txt: Added.
* web-platform-tests/css/css-multicol/multicol-gap-animation-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-gap-animation-002-expected.txt: Added.
* web-platform-tests/css/css-multicol/multicol-gap-animation-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-gap-animation-003-expected.txt: Added.
* web-platform-tests/css/css-multicol/multicol-gap-animation-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-gap-fraction-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-gap-fraction-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-gap-large-001.xht:
* web-platform-tests/css/css-multicol/multicol-gap-large-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-percentage-001-expected.txt: Added.
* web-platform-tests/css/css-multicol/multicol-gap-percentage-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-height-block-child-001-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-height-block-child-001.xht: Added.
* web-platform-tests/css/css-multicol/multicol-inherit-001.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-002.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-003.xht:
* web-platform-tests/css/css-multicol/multicol-margin-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-margin-001.xht:
* web-platform-tests/css/css-multicol/multicol-margin-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-margin-002.xht:
* web-platform-tests/css/css-multicol/multicol-margin-child-001.xht:
* web-platform-tests/css/css-multicol/multicol-nested-005.xht:
* web-platform-tests/css/css-multicol/multicol-nested-column-rule-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-column-rule-001.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-002.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-003.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-004-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-004.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-005-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-005.xht:
* web-platform-tests/css/css-multicol/multicol-overflow-000.xht:
* web-platform-tests/css/css-multicol/multicol-reduce-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-reduce-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-002.xht:
* web-platform-tests/css/css-multicol/multicol-rule-003.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-inherit-002.xht:
* web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-double-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-002.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-003.xht:
* web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-inset-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-large-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-large-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-large-002.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-large-001.xht.
* web-platform-tests/css/css-multicol/multicol-rule-none-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-outset-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-px-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-px-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-shorthand-2-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-shorthand-001-expected.xht.
* web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-002.xht.
* web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-stacking-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht:
* web-platform-tests/css/css-multicol/multicol-shorthand-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-shorthand-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-000.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-003.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-none-001-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-span-none-001.xht: Added.
* web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-ch-001-expected.xht: Added.
* web-platform-tests/css/css-multicol/multicol-width-ch-001.xht: Added.
* web-platform-tests/css/css-multicol/multicol-width-count-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-count-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-count-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-negative-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-small-001.xht:
* web-platform-tests/css/css-multicol/multicol-zero-height-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-zero-height-001.xht:
* web-platform-tests/css/css-multicol/support/w3c-import.log: Added.
* web-platform-tests/css/css-multicol/w3c-import.log: Added.

LayoutTests:

* TestExpectations:
* platform/gtk/TestExpectations:

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

18 months ago[Cairo] Use GraphicsContextImplCairo in Nicosia::PaintingContextCairo
zandobersek@gmail.com [Thu, 25 Jan 2018 12:18:36 +0000 (12:18 +0000)]
[Cairo] Use GraphicsContextImplCairo in Nicosia::PaintingContextCairo
https://bugs.webkit.org/show_bug.cgi?id=182094

Reviewed by Carlos Garcia Campos.

Have Nicosia::PaintingContextCairo create a GraphicsContext object that
utilizes a factory function which returns a freshly-allocated
GraphicsContextImplCairo through which all the painting is then done.
This moves GraphicsLayer painting over to using the GraphicsContextImpl
infrastructure.

No new tests -- no changes in behavior.

* platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp:
(Nicosia::PaintingContextCairo::PaintingContextCairo):

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

18 months ago[Web Animations] Update WPT tests and move them to imported/w3c/web-platform-tests
graouts@webkit.org [Thu, 25 Jan 2018 10:24:08 +0000 (10:24 +0000)]
[Web Animations] Update WPT tests and move them to imported/w3c/web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=182092

Unreviewed test gardening.

LayoutTests/imported/w3c:

* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt.
* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/accumulation-per-property.html.
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/addition-per-property-expected.txt.
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/addition-per-property.html.
* web-platform-tests/web-animations/animation-model/animation-types/discrete-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/discrete-animation-expected.txt.
* web-platform-tests/web-animations/animation-model/animation-types/discrete.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/discrete-animation.html.
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt.
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/interpolation-per-property.html.
* web-platform-tests/web-animations/animation-model/animation-types/property-list.js: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/property-list.js.
* web-platform-tests/web-animations/animation-model/animation-types/property-types.js: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/property-types.js.
* web-platform-tests/web-animations/animation-model/animation-types/visibility-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility-expected.txt.
* web-platform-tests/web-animations/animation-model/animation-types/visibility.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility.html.
* web-platform-tests/web-animations/animation-model/combining-effects/effect-composition-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/combining-effects/effect-composition-expected.txt.
* web-platform-tests/web-animations/animation-model/combining-effects/effect-composition.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/combining-effects/effect-composition.html.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context.html.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt: Added.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite.html.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt.
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html.
* web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt.
* web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context.html.
* web-platform-tests/web-animations/interfaces/Animatable/animate.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animatable/animate.html.
* web-platform-tests/web-animations/interfaces/Animatable/getAnimations-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/Animatable/getAnimations.html: Added.
* web-platform-tests/web-animations/interfaces/Animation/cancel-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/cancel-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/cancel.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/cancel.html.
* web-platform-tests/web-animations/interfaces/Animation/constructor-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/constructor-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/constructor.html: Added.
* web-platform-tests/web-animations/interfaces/Animation/effect-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/effect-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/effect.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/effect.html.
* web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/Animation/finish.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/finish.html.
* web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/Animation/finished.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/finished.html.
* web-platform-tests/web-animations/interfaces/Animation/id-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/id-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/id.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/id.html.
* web-platform-tests/web-animations/interfaces/Animation/idlharness-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/idlharness.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness.html.
* web-platform-tests/web-animations/interfaces/Animation/oncancel-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/oncancel-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/oncancel.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/oncancel.html.
* web-platform-tests/web-animations/interfaces/Animation/onfinish-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/onfinish-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/onfinish.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/onfinish.html.
* web-platform-tests/web-animations/interfaces/Animation/pause-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/pause-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/pause.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/pause.html.
* web-platform-tests/web-animations/interfaces/Animation/pending-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/Animation/pending.html: Added.
* web-platform-tests/web-animations/interfaces/Animation/play-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/play-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/play.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/play.html.
* web-platform-tests/web-animations/interfaces/Animation/playbackRate-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/playbackRate-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/playbackRate.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/playbackRate.html.
* web-platform-tests/web-animations/interfaces/Animation/ready-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/ready-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/ready.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/ready.html.
* web-platform-tests/web-animations/interfaces/Animation/startTime-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/startTime-expected.txt.
* web-platform-tests/web-animations/interfaces/Animation/startTime.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/startTime.html.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/delay.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/direction.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/duration.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/endDelay.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/fill.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getComputedTiming-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getComputedTiming.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/idlharness-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/idlharness.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterationStart.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterations.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/constructor-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/constructor.html: Added.
* web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness.html: Added.
* web-platform-tests/web-animations/interfaces/Document/getAnimations-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Document/getAnimations-expected.txt.
* web-platform-tests/web-animations/interfaces/Document/getAnimations.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Document/getAnimations.html.
* web-platform-tests/web-animations/interfaces/Document/timeline-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/Document/timeline.html: Added.
* web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/DocumentTimeline/constructor-expected.txt.
* web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/DocumentTimeline/constructor.html.
* web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationTimeline/idlharness-expected.txt.
* web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationTimeline/idlharness.html.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/composite-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/composite.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/composite.html.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/copy-constructor-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/copy-constructor.html: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness.html: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/iterationComposite.html: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html: Added.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/target-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt.
* web-platform-tests/web-animations/interfaces/KeyframeEffect/target.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html.
* web-platform-tests/web-animations/resources/easing-tests.js: Renamed from LayoutTests/http/wpt/web-animations/resources/easing-tests.js.
* web-platform-tests/web-animations/resources/effect-tests.js: Renamed from LayoutTests/http/wpt/web-animations/resources/effect-tests.js.
* web-platform-tests/web-animations/resources/keyframe-tests.js: Added.
* web-platform-tests/web-animations/resources/keyframe-utils.js: Added.
* web-platform-tests/web-animations/resources/xhr-doc.py: Renamed from LayoutTests/http/wpt/web-animations/resources/xhr-doc.py.
* web-platform-tests/web-animations/testcommon.js: Renamed from LayoutTests/http/wpt/web-animations/testcommon.js.
* web-platform-tests/web-animations/timing-model/animation-effects/active-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt.
* web-platform-tests/web-animations/timing-model/animation-effects/active-time.html: Added.
* web-platform-tests/web-animations/timing-model/animation-effects/current-iteration-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt.
* web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/current-iteration.html.
* web-platform-tests/web-animations/timing-model/animation-effects/local-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/local-time-expected.txt.
* web-platform-tests/web-animations/timing-model/animation-effects/local-time.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/local-time.html.
* web-platform-tests/web-animations/timing-model/animation-effects/phases-and-states-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt.
* web-platform-tests/web-animations/timing-model/animation-effects/phases-and-states.html: Added.
* web-platform-tests/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt.
* web-platform-tests/web-animations/timing-model/animation-effects/simple-iteration-progress.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress.html.
* web-platform-tests/web-animations/timing-model/animations/canceling-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/canceling-an-animation-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/canceling-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/canceling-an-animation.html.
* web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/current-time-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/current-time.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/current-time.html.
* web-platform-tests/web-animations/timing-model/animations/finishing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/finishing-an-animation-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/finishing-an-animation.html.
* web-platform-tests/web-animations/timing-model/animations/pausing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/pausing-an-animation-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/pausing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/pausing-an-animation.html.
* web-platform-tests/web-animations/timing-model/animations/play-states-expected.txt: Added.
* web-platform-tests/web-animations/timing-model/animations/play-states.html: Added.
* web-platform-tests/web-animations/timing-model/animations/playing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/playing-an-animation-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/playing-an-animation.html.
* web-platform-tests/web-animations/timing-model/animations/reversing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/reversing-an-animation-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/reversing-an-animation.html.
* web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-animation-start-time.html.
* web-platform-tests/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/set-the-target-effect-of-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation.html.
* web-platform-tests/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/set-the-timeline-of-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation.html.
* web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/updating-the-finished-state-expected.txt.
* web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/updating-the-finished-state.html.
* web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt.
* web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/time-transformations/transformed-progress.html.
* web-platform-tests/web-animations/timing-model/timelines/document-timelines-expected.txt: Added.
* web-platform-tests/web-animations/timing-model/timelines/document-timelines.html: Added.
* web-platform-tests/web-animations/timing-model/timelines/timelines-expected.txt: Added.
* web-platform-tests/web-animations/timing-model/timelines/timelines.html: Added.

LayoutTests:

* TestExpectations:
* http/wpt/web-animations/OWNERS: Removed.
* http/wpt/web-animations/README.md: Removed.
* http/wpt/web-animations/interfaces/Animatable/animate-expected.txt: Removed.
* http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt: Removed.
* http/wpt/web-animations/interfaces/Animatable/getAnimations.html: Removed.
* http/wpt/web-animations/interfaces/Animation/constructor.html: Removed.
* http/wpt/web-animations/interfaces/Animation/finish-expected.txt: Removed.
* http/wpt/web-animations/interfaces/Animation/finished-expected.txt: Removed.
* http/wpt/web-animations/interfaces/Animation/playState-expected.txt: Removed.
* http/wpt/web-animations/interfaces/Animation/playState.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/delay.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/direction.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/duration.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/fill.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart.html: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations.html: Removed.
* http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt: Removed.
* http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline.html: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/constructor.html: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor-expected.txt: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor.html: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming.html: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes.html: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor-expected.txt: Removed.
* http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor.html: Removed.
* http/wpt/web-animations/resources/keyframe-utils.js: Removed.
* http/wpt/web-animations/timing-model/animation-effects/active-time.html: Removed.
* http/wpt/web-animations/timing-model/animation-effects/phases-and-states.html: Removed.

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

18 months agoundefined reference to 'JSC::B3::BasicBlock::fallThrough() const
commit-queue@webkit.org [Thu, 25 Jan 2018 09:06:29 +0000 (09:06 +0000)]
undefined reference to 'JSC::B3::BasicBlock::fallThrough() const
https://bugs.webkit.org/show_bug.cgi?id=180637

Patch by Alejandro G. Castro <alex@igalia.com> on 2018-01-25
Reviewed by Michael Catanzaro.

We need to make sure the implementation of the inline functions is
compiled when we compile the code using the function, now that the
compilation is divided, or we could end up with undefined symbols
when the declaration is not inlined, at least with some compilers
and optimizations enabled -O2.

* b3/B3SwitchValue.cpp: replace the include.

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

18 months agoScrollingStateNode::reconcileLayerPositionForViewportRect is only called on direct...
fred.wang@free.fr [Thu, 25 Jan 2018 07:59:07 +0000 (07:59 +0000)]
ScrollingStateNode::reconcileLayerPositionForViewportRect is only called on direct children of the root
https://bugs.webkit.org/show_bug.cgi?id=179946

Patch by Frederic Wang <fwang@igalia.com> on 2018-01-24
Reviewed by Simon Fraser.

Source/WebCore:

ScrollingStateNode::reconcileLayerPositionForViewportRect is currently only called on the
direct children of root of the scrolling tree. Hence nodes like "position: fixed" will not
update their layers after scrolling when they are deeper in the tree. This is already
possible on iOS with overflow nodes and will happen with subframes when async scrolling is
implemented. This commit fixes that issue by recursively calling the function
ScrollingStateNode::reconcileLayerPositionForViewportRect on the scrolling tree.

Test: fast/scrolling/ios/reconcile-layer-position-recursive.html

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions): Just call
reconcileLayerPositionForViewportRect on the root node.
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::reconcileLayerPositionForViewportRect): By default, this
function now recursively calls reconcileLayerPositionForViewportRect on the children.
* page/scrolling/ScrollingStateNode.h:
* page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::reconcileLayerPositionForViewportRect): Call the function
on children.
* page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::reconcileLayerPositionForViewportRect): Ditto.

LayoutTests:

Add a test that verifies the correct update of the graphic layer of a "position: fixed" and
"position: sticky" nodes inside a non-flat scrolling tree. The test checks recursive call
on overflow, "position: sticky" and "position: fixed" nodes.

* fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt: Added.
* fast/scrolling/ios/reconcile-layer-position-recursive.html: Added.

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

18 months agoMove css-color & css-multicol WPT suites to the proper folder
rego@igalia.com [Thu, 25 Jan 2018 07:19:19 +0000 (07:19 +0000)]
Move css-color & css-multicol WPT suites to the proper folder
https://bugs.webkit.org/show_bug.cgi?id=182044

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/css/css-color/: Renamed from LayoutTests/imported/w3c/css/css-color-3/.
* web-platform-tests/css/css-multicol/: Renamed from LayoutTests/imported/w3c/css/css-multicol-1/.

LayoutTests:

* TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-wk1/TestExpectations:
* platform/ios/TestExpectations:
* platform/win/TestExpectations:

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

18 months ago[Cairo] Use GraphicsContextImplCairo for ImageBuffer context
zandobersek@gmail.com [Thu, 25 Jan 2018 07:18:24 +0000 (07:18 +0000)]
[Cairo] Use GraphicsContextImplCairo for ImageBuffer context
https://bugs.webkit.org/show_bug.cgi?id=181977

Reviewed by Carlos Garcia Campos.

Enhance the GraphicsContextImpl interface to the point of enabling the
Cairo-based implementation to be used for GraphicsContext construction
in ImageBufferCairo.cpp.

In order to enable GraphicsContextImpl implementations to properly
manage PlatformGraphicsContext objects, the hasPlatformContext() and
platformContext() methods are added. Cairo implementation returns true
in the first method, and returns pointer to the PlatformContextCairo
object in the second. The DisplayList::Recorder, due to its recording
nature, doesn't manage such an object, so it returns false and nullptr,
respectively.

GraphicsContextImpl also gains the setCTM(), getCTM(), clipBounds() and
roundToDevicePixels() methods, corresponding to the GraphicsContext
methods that now invoke these new methods on any existing m_impl object.
GraphicsContextImplCairo implementations mimic the existing behavior in
the Cairo-specific GraphicsContext methods, but DisplayList::Recorder
implementations remain no-op, logging the invocation but doing nothing
otherwise.

drawImage() and drawTiledImage() methods on the GraphicsContextImpl
interface are changed to return the ImageDrawResult value, corresponding
to what's been done in the method. In DisplayList::Recorder, the methods
return ImageDrawResult::DidRecord, while in GraphicsContextImplCairo the
methods return the return result of Image::draw() or Image::drawTiled()
call.

To make the protected Image::draw() and Image::drawTiled() methods
accessible, invocations of those are packed into static drawImageImpl()
and drawTiledImageImpl() functions on the GraphicsContextImpl class.
This makes it possible to simply declare GraphicsContextImpl class as a
friend class of Image, and not every specific GraphicsContextImpl
derivation. Implementations of these functions mirror behavior of the
drawImage() and drawTiledImage() methods on the GraphicsContext class,
when an m_impl object isn't present, constructing a scope-tied
InterpolationQualityMaintainer object and invoking the relevant Image
method.

To make immediate use of the new GraphicsContextImplCairo functionality,
the GraphicsContext construction in Cairo-specific ImageBuffer
implementation now uses a factory function that returns a new
GraphicsContextImplCairo object through which the given
PlatformContextCairo is used for painting.

No new tests -- no change in functionality.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::hasPlatformContext const):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::hasPlatformContext const): Deleted.
* platform/graphics/GraphicsContextImpl.cpp:
(WebCore::GraphicsContextImpl::drawImageImpl):
(WebCore::GraphicsContextImpl::drawTiledImageImpl):
* platform/graphics/GraphicsContextImpl.h:
* platform/graphics/Image.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::getCTM const):
(WebCore::GraphicsContext::platformContext const):
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::setCTM):
* platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::m_private):
(WebCore::GraphicsContextImplCairo::~GraphicsContextImplCairo):
(WebCore::GraphicsContextImplCairo::hasPlatformContext const):
(WebCore::GraphicsContextImplCairo::platformContext const):
(WebCore::GraphicsContextImplCairo::updateState):
(WebCore::GraphicsContextImplCairo::setLineCap):
(WebCore::GraphicsContextImplCairo::setLineDash):
(WebCore::GraphicsContextImplCairo::setLineJoin):
(WebCore::GraphicsContextImplCairo::setMiterLimit):
(WebCore::GraphicsContextImplCairo::fillRect):
(WebCore::GraphicsContextImplCairo::fillRoundedRect):
(WebCore::GraphicsContextImplCairo::fillRectWithRoundedHole):
(WebCore::GraphicsContextImplCairo::fillPath):
(WebCore::GraphicsContextImplCairo::fillEllipse):
(WebCore::GraphicsContextImplCairo::strokeRect):
(WebCore::GraphicsContextImplCairo::strokePath):
(WebCore::GraphicsContextImplCairo::strokeEllipse):
(WebCore::GraphicsContextImplCairo::clearRect):
(WebCore::GraphicsContextImplCairo::drawGlyphs):
(WebCore::GraphicsContextImplCairo::drawImage):
(WebCore::GraphicsContextImplCairo::drawTiledImage):
(WebCore::GraphicsContextImplCairo::drawNativeImage):
(WebCore::GraphicsContextImplCairo::drawPattern):
(WebCore::GraphicsContextImplCairo::drawRect):
(WebCore::GraphicsContextImplCairo::drawLine):
(WebCore::GraphicsContextImplCairo::drawLinesForText):
(WebCore::GraphicsContextImplCairo::drawLineForDocumentMarker):
(WebCore::GraphicsContextImplCairo::drawEllipse):
(WebCore::GraphicsContextImplCairo::drawFocusRing):
(WebCore::GraphicsContextImplCairo::save):
(WebCore::GraphicsContextImplCairo::restore):
(WebCore::GraphicsContextImplCairo::translate):
(WebCore::GraphicsContextImplCairo::rotate):
(WebCore::GraphicsContextImplCairo::scale):
(WebCore::GraphicsContextImplCairo::concatCTM):
(WebCore::GraphicsContextImplCairo::setCTM):
(WebCore::GraphicsContextImplCairo::getCTM):
(WebCore::GraphicsContextImplCairo::beginTransparencyLayer):
(WebCore::GraphicsContextImplCairo::endTransparencyLayer):
(WebCore::GraphicsContextImplCairo::clip):
(WebCore::GraphicsContextImplCairo::clipOut):
(WebCore::GraphicsContextImplCairo::clipPath):
(WebCore::GraphicsContextImplCairo::clipBounds):
(WebCore::GraphicsContextImplCairo::roundToDevicePixels):
(WebCore::m_platformContext): Deleted.
* platform/graphics/cairo/GraphicsContextImplCairo.h:
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM const):
(WebCore::GraphicsContext::roundToDevicePixels):
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawImage):
(WebCore::DisplayList::Recorder::drawTiledImage):
(WebCore::DisplayList::Recorder::drawNativeImage):
(WebCore::DisplayList::Recorder::setCTM):
(WebCore::DisplayList::Recorder::getCTM):
(WebCore::DisplayList::Recorder::clipBounds):
(WebCore::DisplayList::Recorder::roundToDevicePixels):
* platform/graphics/displaylists/DisplayListRecorder.h:

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

18 months agoLinker error in ShareableBitmapCairo.cpp undefined reference to WebCore::Cairo:...
commit-queue@webkit.org [Thu, 25 Jan 2018 07:14:56 +0000 (07:14 +0000)]
Linker error in ShareableBitmapCairo.cpp  undefined reference to WebCore::Cairo::ShadowState::ShadowState
https://bugs.webkit.org/show_bug.cgi?id=182060

Patch by Christopher Reid <chris.reid@sony.com> on 2018-01-24
Reviewed by Žan Doberšek.

No new tests, no change in behavior.

Added exports to WebCore::Cairo::ShadowState::ShadowState.

* platform/graphics/cairo/CairoOperations.h:

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

18 months agoJSC GC should support TLCs (thread local caches)
fpizlo@apple.com [Thu, 25 Jan 2018 04:19:44 +0000 (04:19 +0000)]
JSC GC should support TLCs (thread local caches)
https://bugs.webkit.org/show_bug.cgi?id=181559

Reviewed by Mark Lam and Saam Barati.
Source/JavaScriptCore:

This is a big step towards object distancing by site origin. This patch implements TLCs, or
thread-local caches, which allow each thread to allocate from its own free lists. It also
means that any given thread can context-switch TLCs. This will allow us to do separate
allocation for separate site origins. Eventually, once we reshape how MarkedBlock looks, this
will allow us to have a hard distancing constraint between objects from different origins.

In this new design, every "size class" is represented as a BlockDirectory (formerly known as
MarkedAllocator, prior to r226822). This contains a bag of blocks allocated using some
aligned memory allocator (which roughly represents which cage you came out of), and anyone
using the same allocator can share those blocks - but so long as they are in that
BlockDirectory, they will have the size and type of that directory. Previously, each
BlockDirectory had exactly one FreeList. Now, each BlockDirectory has a double-linked-list of
LocalAllocators, each of which has a FreeList.

To decide which LocalAllocator to allocate out of, we need a ThreadLocalCache and a
BlockDirectory. The directory gives us an offset-within-the-ThreadLocalCache, which we simply
call the Allocator (which is just a POD type that contains a 32-bit offset). Each allocation
starts by figuring out what Allocator it wants (often we have this information at JIT time).
Then the allocation loads its ThreadLocalCache::Data from a fast TLS slot. Then we add the
Allocator offset to the ThreadLocalCache::Data to get the LocalAllocator. Note that we use
offsets as opposed to indices to make it easy to do the math on each allocation (if
LocalAllocator had a weird size then every allocation would have to do an imul).

This is a definite slow-down on GC-heavy benchmarks, but by a small margin, and only on
unusually heavy tests. For example, boyer and splay are both 3% regressed, but the Octane
geomean is just fine. The JetStream score regressed by 0.5% with p = 0.08 (so maybe there is
something there, but it's not significant according to our threshold).

* JavaScriptCore.xcodeproj/project.pbxproj:
* Sources.txt:
* b3/B3LowerToAir.cpp:
* b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::admitsStack):
* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isArgValidForRep):
* b3/B3StackmapValue.cpp:
(JSC::B3::StackmapValue::appendSomeRegisterWithClobber):
* b3/B3StackmapValue.h:
* b3/B3Validate.cpp:
* b3/B3ValueRep.cpp:
(JSC::B3::ValueRep::addUsedRegistersTo const):
(JSC::B3::ValueRep::dump const):
(WTF::printInternal):
* b3/B3ValueRep.h:
(JSC::B3::ValueRep::ValueRep):
* bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
* bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::ObjectAllocationProfile):
(JSC::ObjectAllocationProfile::clear):
* bytecode/ObjectAllocationProfileInlines.h:
(JSC::ObjectAllocationProfile::initializeProfile):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileCreateThis):
(JSC::DFG::SpeculativeJIT::compileNewObject):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateJSCell):
(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
(JSC::FTL::DFG::LowerDFGToB3::allocateHeapCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatorForSize):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedCell):
* heap/Allocator.cpp: Added.
(JSC::Allocator::cellSize const):
* heap/Allocator.h: Added.
(JSC::Allocator::Allocator):
(JSC::Allocator::offset const):
(JSC::Allocator::operator== const):
(JSC::Allocator::operator!= const):
(JSC::Allocator::operator bool const):
* heap/AllocatorInlines.h: Added.
(JSC::Allocator::allocate const):
(JSC::Allocator::tryAllocate const):
* heap/BlockDirectory.cpp:
(JSC::BlockDirectory::BlockDirectory):
(JSC::BlockDirectory::findBlockForAllocation):
(JSC::BlockDirectory::stopAllocating):
(JSC::BlockDirectory::prepareForAllocation):
(JSC::BlockDirectory::stopAllocatingForGood):
(JSC::BlockDirectory::resumeAllocating):
(JSC::BlockDirectory::endMarking):
(JSC::BlockDirectory::isFreeListedCell):
(JSC::BlockDirectory::didConsumeFreeList): Deleted.
(JSC::BlockDirectory::tryAllocateWithoutCollecting): Deleted.
(JSC::BlockDirectory::allocateIn): Deleted.
(JSC::BlockDirectory::tryAllocateIn): Deleted.
(JSC::BlockDirectory::doTestCollectionsIfNeeded): Deleted.
(JSC::BlockDirectory::allocateSlowCase): Deleted.
* heap/BlockDirectory.h:
(JSC::BlockDirectory::cellKind const):
(JSC::BlockDirectory::allocator const):
(JSC::BlockDirectory::freeList const): Deleted.
(JSC::BlockDirectory::offsetOfFreeList): Deleted.
(JSC::BlockDirectory::offsetOfCellSize): Deleted.
* heap/BlockDirectoryInlines.h:
(JSC::BlockDirectory::isFreeListedCell const): Deleted.
(JSC::BlockDirectory::allocate): Deleted.
* heap/CompleteSubspace.cpp:
(JSC::CompleteSubspace::CompleteSubspace):
(JSC::CompleteSubspace::allocatorFor):
(JSC::CompleteSubspace::allocate):
(JSC::CompleteSubspace::allocateNonVirtual):
(JSC::CompleteSubspace::allocatorForSlow):
(JSC::CompleteSubspace::allocateSlow):
(JSC::CompleteSubspace::tryAllocateSlow):
* heap/CompleteSubspace.h:
(JSC::CompleteSubspace::allocatorForSizeStep):
(JSC::CompleteSubspace::allocatorForNonVirtual):
* heap/FreeList.h:
* heap/GCDeferralContext.h:
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):
* heap/Heap.h:
(JSC::Heap::threadLocalCacheLayout):
* heap/IsoCellSet.h:
* heap/IsoSubspace.cpp:
(JSC::IsoSubspace::IsoSubspace):
(JSC::IsoSubspace::allocatorFor):
(JSC::IsoSubspace::allocate):
(JSC::IsoSubspace::allocateNonVirtual):
* heap/IsoSubspace.h:
(JSC::IsoSubspace::allocatorForNonVirtual):
* heap/LocalAllocator.cpp: Added.
(JSC::LocalAllocator::LocalAllocator):
(JSC::LocalAllocator::reset):
(JSC::LocalAllocator::~LocalAllocator):
(JSC::LocalAllocator::stopAllocating):
(JSC::LocalAllocator::resumeAllocating):
(JSC::LocalAllocator::prepareForAllocation):
(JSC::LocalAllocator::stopAllocatingForGood):
(JSC::LocalAllocator::allocateSlowCase):
(JSC::LocalAllocator::didConsumeFreeList):
(JSC::LocalAllocator::tryAllocateWithoutCollecting):
(JSC::LocalAllocator::allocateIn):
(JSC::LocalAllocator::tryAllocateIn):
(JSC::LocalAllocator::doTestCollectionsIfNeeded):
(JSC::LocalAllocator::isFreeListedCell const):
* heap/LocalAllocator.h: Added.
(JSC::LocalAllocator::offsetOfFreeList):
(JSC::LocalAllocator::offsetOfCellSize):
* heap/LocalAllocatorInlines.h: Added.
(JSC::LocalAllocator::allocate):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::stopAllocatingForGood):
* heap/MarkedSpace.h:
* heap/SlotVisitor.cpp:
* heap/SlotVisitor.h:
* heap/Subspace.h:
* heap/ThreadLocalCache.cpp: Added.
(JSC::ThreadLocalCache::create):
(JSC::ThreadLocalCache::ThreadLocalCache):
(JSC::ThreadLocalCache::~ThreadLocalCache):
(JSC::ThreadLocalCache::allocateData):
(JSC::ThreadLocalCache::destroyData):
(JSC::ThreadLocalCache::installSlow):
(JSC::ThreadLocalCache::installData):
(JSC::ThreadLocalCache::allocatorSlow):
(JSC::ThreadLocalCache::destructor):
* heap/ThreadLocalCache.h: Added.
(JSC::ThreadLocalCache::offsetOfSize):
(JSC::ThreadLocalCache::offsetOfFirstAllocator):
* heap/ThreadLocalCacheInlines.h: Added.
(JSC::ThreadLocalCache::getImpl):
(JSC::ThreadLocalCache::get):
(JSC::ThreadLocalCache::install):
(JSC::ThreadLocalCache::allocator):
(JSC::ThreadLocalCache::tryGetAllocator):
* heap/ThreadLocalCacheLayout.cpp: Added.
(JSC::ThreadLocalCacheLayout::ThreadLocalCacheLayout):
(JSC::ThreadLocalCacheLayout::~ThreadLocalCacheLayout):
(JSC::ThreadLocalCacheLayout::allocateOffset):
(JSC::ThreadLocalCacheLayout::snapshot):
(JSC::ThreadLocalCacheLayout::directory):
* heap/ThreadLocalCacheLayout.h: Added.
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
(JSC::AssemblyHelpers::emitAllocate):
(JSC::AssemblyHelpers::emitAllocateVariableSized):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::vm):
(JSC::AssemblyHelpers::emitAllocateJSCell):
(JSC::AssemblyHelpers::emitAllocateJSObject):
(JSC::AssemblyHelpers::emitAllocateJSObjectWithKnownSize):
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator): Deleted.
(JSC::AssemblyHelpers::emitAllocate): Deleted.
(JSC::AssemblyHelpers::emitAllocateVariableSized): Deleted.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_create_this):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_create_this):
* runtime/ButterflyInlines.h:
(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::growArrayRight):
* runtime/DirectArguments.cpp:
(JSC::DirectArguments::overrideThings):
* runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::initModifiedArgumentsDescriptor):
* runtime/HashMapImpl.h:
(JSC::HashMapBuffer::create):
* runtime/JSArray.cpp:
(JSC::JSArray::tryCreateUninitializedRestricted):
(JSC::JSArray::unshiftCountSlowCase):
* runtime/JSArray.h:
(JSC::JSArray::tryCreate):
* runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
* runtime/JSCellInlines.h:
(JSC::tryAllocateCellHelper):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::threadLocalCache const):
* runtime/JSLock.cpp:
(JSC::JSLock::didAcquireLock):
* runtime/Options.h:
* runtime/RegExpMatchesArray.h:
(JSC::tryCreateUninitializedRegExpMatchesArray):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
* runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):

Source/WTF:

* wtf/Bitmap.h: Just fixing a compile error.

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

18 months ago[Curl] Implement didSendData client callback.
commit-queue@webkit.org [Thu, 25 Jan 2018 04:12:55 +0000 (04:12 +0000)]
[Curl] Implement didSendData client callback.
https://bugs.webkit.org/show_bug.cgi?id=182063

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2018-01-24
Reviewed by Alex Christensen.

No new tests (covered by existing tests).

* platform/network/curl/CurlDownload.h:
* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::willSendData):
* platform/network/curl/CurlRequestClient.h:
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::curlDidSendData):
* platform/network/curl/ResourceHandleCurlDelegate.h:

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

18 months agoGracefully recover from NetworkProcess crashes in private browsing
achristensen@apple.com [Thu, 25 Jan 2018 02:35:59 +0000 (02:35 +0000)]
Gracefully recover from NetworkProcess crashes in private browsing
https://bugs.webkit.org/show_bug.cgi?id=182073
<rdar://problem/36572023>

Reviewed by Geoff Garen.

Source/WebKit:

If we're using a non-persistent WKWebsiteDataStore and the NetworkProcess crashes and we try to do a load,
then the WebProcess restarts the NetworkProcess but doesn't recreate the ephemeral session in the NetworkProcess.
When this happens, we've already lost the browsing state in memory in the NetworkProcess, but we don't want to hang.
If this is the problem, then just recreate the ephemeral session and continue loading.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::removeStorageAccessForFrame):
(WebKit::NetworkConnectionToWebProcess::removeStorageAccessForAllFramesOnPage):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
* Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::privateSessionParameters):
(WebKit::WebsiteDataStoreParameters::legacyPrivateSessionParameters): Deleted.
* Shared/WebsiteDataStoreParameters.h:
(WebKit::WebsiteDataStoreParameters::legacyPrivateSessionParameters):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm: Added.
(-[CrashDelegate webView:didFinishNavigation:]):
(-[CrashDelegate webView:didFailProvisionalNavigation:withError:]):
(-[CrashDelegate webView:didFailNavigation:withError:]):
(TEST):

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

18 months ago[WebAuthN] Implement PublicKeyCredential’s [[DiscoverFromExternalSource]] with a...
jiewen_tan@apple.com [Thu, 25 Jan 2018 01:28:47 +0000 (01:28 +0000)]
[WebAuthN] Implement PublicKeyCredential’s [[DiscoverFromExternalSource]] with a dummy authenticator
https://bugs.webkit.org/show_bug.cgi?id=182032
<rdar://problem/36459922>

Reviewed by Brent Fulgham.

Source/WebCore:

This patch implements PublicKeyCredential's [[DiscoverFromExternalSource]] from
https://www.w3.org/TR/webauthn/#getAssertion as of 5 December 2017. In order to
do testing, a dummy authenticator is implemented to exercise a failure and a
pass path. A number of dependencies need to be resolved later in order to comply
with the spec, which are marked by FIXME in the patch and tracked by proper
bugs. Those dependencies will be addressed once the first prototype is finshed.

Tests: http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https.html
       http/wpt/credential-management/credentialscontainer-store-basics.https.html
       http/wpt/webauthn/public-key-credential-get-failure.https.html
       http/wpt/webauthn/public-key-credential-get-success.https.html

* Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::isCreate):
Fixes some minor issues.
* Modules/webauthn/Authenticator.cpp:
(WebCore::Authenticator::getAssertion const):
* Modules/webauthn/Authenticator.h:
(WebCore::Authenticator::AssertionReturnBundle::AssertionReturnBundle):
* Modules/webauthn/PublicKeyCredential.cpp:
(WebCore::PublicKeyCredential::collectFromCredentialStore):
Changed a parameter type.
(WebCore::PublicKeyCredential::discoverFromExternalSource):
(WebCore::PublicKeyCredential::create):
Improved some comments.
* Modules/webauthn/PublicKeyCredential.h:
* Modules/webauthn/PublicKeyCredentialRequestOptions.h:
(): Deleted.
* bindings/js/JSAuthenticatorResponseCustom.cpp:
(WebCore::toJSNewlyCreated):

LayoutTests:

* http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https-expected.txt: Added.
* http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https.html: Added.
* http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https-expected.txt:
* http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https-expected.txt:
* http/tests/webauthn/resources/last-layer-frame.https.html:
* http/wpt/credential-management/credentialscontainer-store-basics.https-expected.txt: Added.
* http/wpt/credential-management/credentialscontainer-store-basics.https.html: Added.
* http/wpt/webauthn/idl.https-expected.txt:
* http/wpt/webauthn/idl.https.html:
* http/wpt/webauthn/public-key-credential-create-success.https.html:
* http/wpt/webauthn/public-key-credential-get-failure.https-expected.txt: Added.
* http/wpt/webauthn/public-key-credential-get-failure.https.html: Added.
* http/wpt/webauthn/public-key-credential-get-success.https-expected.txt: Added.
* http/wpt/webauthn/public-key-credential-get-success.https.html: Added.

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

18 months agoMove WebGL's colorspace code into IOSurface
dino@apple.com [Thu, 25 Jan 2018 01:17:06 +0000 (01:17 +0000)]
Move WebGL's colorspace code into IOSurface
https://bugs.webkit.org/show_bug.cgi?id=182076
<rdar://problem/36846863>

Reviewed by Simon Fraser, with assistance from Tim Horton.

Rather than have WebGLLayer talk directly to an IOSurfaceRef,
use a helper function on WebCore::IOSurface.

No behaviour change.

* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::migrateColorSpaceToProperties): Add new helper.
* platform/graphics/cocoa/WebGLLayer.mm:
(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): The
newly created IOSurfaces call the helper to set up their colorspace.

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

18 months agoWeb Inspector: Simplify update-LegacyInspectorBackendCommands.rb
commit-queue@webkit.org [Thu, 25 Jan 2018 00:22:29 +0000 (00:22 +0000)]
Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
https://bugs.webkit.org/show_bug.cgi?id=182067

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-01-24
Reviewed by Brian Burg.

Source/JavaScriptCore:

* inspector/scripts/codegen/models.py:
(Framework.fromString):
(Frameworks):
* inspector/scripts/generate-inspector-protocol-bindings.py:
(generate_from_specification):
Allow framework WebInspectorUI to generate just the backend commands files.

Source/WebInspectorUI:

* Scripts/update-LegacyInspectorBackendCommands.rb:
Remove stale dependency_json, it has always been empty for a while now.
Switch to framework WebInspectorUI to generate only the backend commands
and not spend time generating a bunch of cpp files.

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

18 months agoREGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left...
nvasilyev@apple.com [Thu, 25 Jan 2018 00:15:39 +0000 (00:15 +0000)]
REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
https://bugs.webkit.org/show_bug.cgi?id=182027

Reviewed by Matt Baker.

r226994 added a layout of all properties on property removal. Layout caused
a property element to be removed from DOM right before dislaying the suggestion
popover, resulting in the popover being displayed at the top left corner.

* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
Only update property view indices when a property is removed.

* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.set index):

* UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField.prototype._updateCompletions):
Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
we could traverse element's ancestors, but I used a concise isConnected property instead.

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

18 months agoAdd a note about not implementing these functions without discussion.
dino@apple.com [Wed, 24 Jan 2018 23:55:32 +0000 (23:55 +0000)]
Add a note about not implementing these functions without discussion.
<rdar://problem/36666458>

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::getSyncParameter):

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

18 months agoEnable library validation on the Web Content service
mitz@apple.com [Wed, 24 Jan 2018 23:30:23 +0000 (23:30 +0000)]
Enable library validation on the Web Content service
Part 1 of https://bugs.webkit.org/show_bug.cgi?id=172365
<rdar://problem/26470661>

Reviewed by David Kilzer.

This makes the Web Content process signed with the Library Validation flag in production
builds. Because doing so would prevent engineering builds of Apple apps that use an
injected bundle from working, this also adds a Development version of the service, which
does not enforce Library Validation. The UI process chooses to use the Development service
iff it would need to load an injected bundle that is not part of the OS.

* Configurations/DebugRelease.xcconfig: Disable Library Validation in engineering builds.

* Configurations/WebContentService.Development.xcconfig: Added. Like the normal service, but
  only installed when WebKit is installed in the OS, and uses a Development variant.

* Configurations/WebContentService.xcconfig: For the Development variant, append
  ".Development" to the product name, which is also the service identifier. Enable Library
  Validation for the Normal variant of the service when WK_LIBRARY_VALIDATION_ENABLED allows
  it.

* UIProcess/Launcher/ProcessLauncher.h: Add nonValidInjectedCodeAllowed member to
  LaunchOptions, false by default.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName): Use the Development variant if nonValidInjectedCodeAllowed is true.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions): Initialize nonValidInjectedCodeAllowed using
   the new shouldAllowNonValidInjectedCode().
(WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Generic implementation
  that returns false.
* UIProcess/WebProcessProxy.h: Declared shouldAllowNonValidInjectedCode.
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Return true if this is
  system WebKit with a non-system injected bundle.

* WebKit.xcodeproj/project.pbxproj: Added new service target.

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

18 months agoOpaque being-loaded responses should clone their body
commit-queue@webkit.org [Wed, 24 Jan 2018 23:23:18 +0000 (23:23 +0000)]
Opaque being-loaded responses should clone their body
https://bugs.webkit.org/show_bug.cgi?id=182056

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Brady Eidson.

Source/WebCore:

Test: http/wpt/service-workers/clone-opaque-being-loaded-response.https.html

When cloning a being-loaded response, make sure we create a ReadableStream.
Before the patch, the readableStream was not created in that case for opaque responses.

* Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::readableStream):
(WebCore::FetchBodyOwner::createReadableStream):
* Modules/fetch/FetchBodyOwner.h:
* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::clone):

LayoutTests:

* http/wpt/service-workers/clone-opaque-being-loaded-response-worker.js: Added.
* http/wpt/service-workers/clone-opaque-being-loaded-response.html: Added.
* http/wpt/service-workers/clone-opaque-being-loaded-response.https-expected.txt: Added.
* http/wpt/service-workers/resources/clone-opaque-being-loaded-response-iframe.html: Added.
* http/wpt/service-workers/resources/lengthy-pass.py: Added.
(main):

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

18 months agoclose() operation should not be exposed inside a ServiceWorkerGlobalScope
cdumez@apple.com [Wed, 24 Jan 2018 23:00:56 +0000 (23:00 +0000)]
close() operation should not be exposed inside a ServiceWorkerGlobalScope
https://bugs.webkit.org/show_bug.cgi?id=182057

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

* web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/close.https-expected.txt:
* web-platform-tests/workers/interfaces.worker-expected.txt:

Source/WebCore:

Move close() from WorkerGlobalScope to DedicatedWorkerGlobalScope as per:
- https://html.spec.whatwg.org/multipage/workers.html#dedicatedworkerglobalscope

This change to the specification was made to avoid exposing this deprecated
features to service workers (which are new).

No new tests, rebaselined existing test.

* workers/DedicatedWorkerGlobalScope.idl:
* workers/WorkerGlobalScope.idl:

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

18 months agoImplement line clamp for mail.
hyatt@apple.com [Wed, 24 Jan 2018 22:52:56 +0000 (22:52 +0000)]
Implement line clamp for mail.
https://bugs.webkit.org/show_bug.cgi?id=180818

Reviewed by Dean Jackson.

Source/WebCore:

This patch implements a form of clamping that can clamp lines at both the top
and the bottom, and the interior can be replaced with a DOM element (identified
by id) that replaces the middle section.

The implementation derives from the multicolumn classes, but ultimately the
clamp should derive from the fragmentset classes instead (with most of the current
multicolumn code moving into base classes).

The virtualization of many of the multicolumn functions is something that would happen
once we move pages/printing over to this pagination model anyway.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
Add the new clamp classes.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
* css/CSSProperties.json:
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWebkitLinesClamp):
* css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
* css/parser/CSSParserMode.h:
(WebCore::CSSParserContextHash::hash):
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeLinesClamp):
(WebCore::CSSPropertyParser::parseSingleValue):
Implement the new CSS property, webkit-lines-clamp. This is only exposed if a preference
is set, so it is not exposed to the Web.

* page/Settings.yaml:
Add a new setting to control allowing access to the new CSS property.

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::willCreateColumns const):
Make sure columns are created when lines clamp is set.

(WebCore::getHeightForLineCount):
(WebCore::RenderBlockFlow::logicalHeightForLineCount):
(WebCore::RenderBlockFlow::logicalHeightExcludingLineCount):
(WebCore::RenderBlockFlow::layoutExcludedChildren):
(WebCore::RenderBlockFlow::heightForLineCount): Deleted.
* rendering/RenderBlockFlow.h:
Re-use the same clamping logic as the old line clamp code, but modernize it to work
with writing modes and to be able to go backwards from the end of the block.

* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
The line count method got renamed to have the word "logical" in it, since it now
works with vertical writing.

* rendering/RenderFragmentContainer.cpp:
(WebCore::RenderFragmentContainer::pageLogicalHeightForOffset const):
* rendering/RenderFragmentContainer.h:
Since line clamp sets have variable page heights, this new method takes the offset
as an argument so that it can return the appropriate page for the given offset.
This method will eventually be used by printing/page sets as well, since pages
can have variable heights.

* rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::validateFragments):
(WebCore::RenderFragmentedFlow::pageLogicalHeightForOffset const):
(WebCore::RenderFragmentedFlow::pageRemainingLogicalHeightForOffset const):
* rendering/RenderFragmentedFlow.h:
Support for variable page heights in a fragment set.

* rendering/RenderLinesClampFlow.cpp: Added.
(WebCore::RenderLinesClampFlow::RenderLinesClampFlow):
(WebCore::RenderLinesClampFlow::renderName const):
(WebCore::RenderLinesClampFlow::layout):
(WebCore::RenderLinesClampFlow::createMultiColumnSet):
(WebCore::RenderLinesClampFlow::isChildAllowedInFragmentedFlow const):
(WebCore::RenderLinesClampFlow::layoutFlowExcludedObjects):
* rendering/RenderLinesClampFlow.h: Added.
* rendering/RenderLinesClampSet.cpp: Added.
(WebCore::RenderLinesClampSet::RenderLinesClampSet):
(WebCore::RenderLinesClampSet::recalculateColumnHeight):
(WebCore::RenderLinesClampSet::computeLogicalHeight const):
(WebCore::RenderLinesClampSet::columnCount const):
(WebCore::RenderLinesClampSet::columnRectAt const):
(WebCore::RenderLinesClampSet::columnIndexAtOffset const):
(WebCore::RenderLinesClampSet::pageLogicalTopForOffset const):
(WebCore::RenderLinesClampSet::pageLogicalHeightForOffset const):
(WebCore::RenderLinesClampSet::fragmentedFlowPortionRectAt const):
(WebCore::RenderLinesClampSet::fragmentedFlowPortionOverflowRect):
(WebCore::RenderLinesClampSet::customBlockProgressionAdjustmentForColumn const):
(WebCore::RenderLinesClampSet::renderName const):
* rendering/RenderLinesClampSet.h: Added.
The new classes. They subclass all the methods necessary to do multi-pass layout,
and to determine the page heights of each section.

* rendering/RenderMultiColumnFlow.cpp:
(WebCore::RenderMultiColumnFlow::isColumnSpanningDescendant const):
(WebCore::isValidColumnSpanner):
(WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
(WebCore::RenderMultiColumnFlow::createMultiColumnSet):
* rendering/RenderMultiColumnFlow.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::columnTranslationForOffset const):
* rendering/RenderMultiColumnSet.h:
(WebCore::RenderMultiColumnSet::skipLayerFragmentCollectionForColumn const):
(WebCore::RenderMultiColumnSet::customBlockProgressionAdjustmentForColumn const):
Virtualized methods so that lines clamp can subclass and change behavior.

* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderLinesClampFlow const):
(WebCore::RenderObject::isRenderLinesClampSet const):
Add new functions for type checking.

* rendering/RenderRubyText.cpp:
Include adjustment.

* rendering/style/LineClampValue.h:
(WebCore::LinesClampValue::LinesClampValue):
(WebCore::LinesClampValue::isNone const):
(WebCore::LinesClampValue::operator== const):
(WebCore::LinesClampValue::operator!= const):
(WebCore::LinesClampValue::start const):
(WebCore::LinesClampValue::end const):
(WebCore::LinesClampValue::center const):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::linesClamp const):
(WebCore::RenderStyle::hasLinesClamp const):
(WebCore::RenderStyle::setLinesClamp):
(WebCore::RenderStyle::initialLinesClamp):
(WebCore::RenderStyle::hasInlineColumnAxis const):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
* rendering/style/StyleRareNonInheritedData.h:
The front end style implementation of the new property.

* rendering/updating/RenderTreeBuilderMultiColumn.cpp:
(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
Make sure to build the correct renderer when lines clamp is set.

LayoutTests:

Added parsing tests, basic and advanced clamping examples, and vertical
writing tests. Revised an iOS clamp test to account for a slight change
in rendering caused by altering clamping to be consistent with the pagination
model of breaking beteween lines.

* fast/block/lines-clamp-advanced-expected.html: Added.
* fast/block/lines-clamp-advanced-rl-expected.html: Added.
* fast/block/lines-clamp-advanced-rl.html: Added.
* fast/block/lines-clamp-advanced.html: Added.
* fast/block/lines-clamp-basic-expected.html: Added.
* fast/block/lines-clamp-basic-rl-expected.html: Added.
* fast/block/lines-clamp-basic-rl.html: Added.
* fast/block/lines-clamp-basic.html: Added.
* fast/css/lines-clamp-parsing-expected.txt: Added.
* fast/css/lines-clamp-parsing.html: Added.
* platform/ios-simulator-wk2/fast/overflow: Added.
* platform/ios-simulator-wk2/fast/overflow/line-clamp-expected.txt: Added.

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

18 months agoUpdate code style guidelines for Python
aakash_jain@apple.com [Wed, 24 Jan 2018 22:47:42 +0000 (22:47 +0000)]
Update code style guidelines for Python
https://bugs.webkit.org/show_bug.cgi?id=179387

Rubber-stamped by Alexey Proskuryakov.

* code-style.md:

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

18 months ago[Curl] Allocate CurlSSLVerifier only when it is required.
commit-queue@webkit.org [Wed, 24 Jan 2018 22:43:11 +0000 (22:43 +0000)]
[Curl] Allocate CurlSSLVerifier only when it is required.
https://bugs.webkit.org/show_bug.cgi?id=182061

CurlSSLVerifier was a member function of CurlRequest. This patch do
lazy initialization of it only when actually it is required.
Also configuration method is not required by moving those stuff to
constructor of SSLVerifier which makes much safer because there's
no change to change its behavior from outside.

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2018-01-24
Reviewed by Alex Christensen.

* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::willSetupSslCtx):
(WebCore::CurlRequest::didCompleteTransfer):
(WebCore::CurlRequest::finalizeTransfer):
* platform/network/curl/CurlRequest.h:
* platform/network/curl/CurlSSLVerifier.cpp:
(WebCore::CurlSSLVerifier::CurlSSLVerifier):
(WebCore::CurlSSLVerifier::setSslCtx): Deleted.
* platform/network/curl/CurlSSLVerifier.h:
(WebCore::CurlSSLVerifier::setCurlHandle): Deleted.
(WebCore::CurlSSLVerifier::setHostName): Deleted.

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

18 months agoMarked http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have...
jlewis3@apple.com [Wed, 24 Jan 2018 22:39:18 +0000 (22:39 +0000)]
Marked http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html as flaky on High Sierra Release.
https://bugs.webkit.org/show_bug.cgi?id=181601

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

18 months agoCheck existence of 'node_modules_dir' before creating it.
dewei_zhu@apple.com [Wed, 24 Jan 2018 22:35:39 +0000 (22:35 +0000)]
Check existence of 'node_modules_dir' before creating it.
https://bugs.webkit.org/show_bug.cgi?id=182040

Reviewed by Aakash Jain.

Fix the bug introduced in r227395.

* tools/run-tests.py: Added directory existence check.

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

18 months agoReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
commit-queue@webkit.org [Wed, 24 Jan 2018 22:26:17 +0000 (22:26 +0000)]
ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
https://bugs.webkit.org/show_bug.cgi?id=182059

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-01-24
Reviewed by Matt Baker.

* UserInterface/Models/ScriptSyntaxTree.js:
(WI.ScriptSyntaxTree.functionReturnDivot):
DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
back to the latest path (non-iOS 9) target.

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

18 months agoFix race-condition in fast/text/click-ellipsis-assertion-failure.html
jbedard@apple.com [Wed, 24 Jan 2018 22:25:03 +0000 (22:25 +0000)]
Fix race-condition in fast/text/click-ellipsis-assertion-failure.html
https://bugs.webkit.org/show_bug.cgi?id=182055
<rdar://problem/36830203>

Reviewed by Simon Fraser.

* fast/text/click-ellipsis-assertion-failure.html: Wait for promise before ending test.

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

18 months agoAssertion failure in RenderMultiColumnSet::requiresBalancing() on fast/multicol/spann...
antti@apple.com [Wed, 24 Jan 2018 22:20:55 +0000 (22:20 +0000)]
Assertion failure in RenderMultiColumnSet::requiresBalancing() on fast/multicol/spanner-crash-when-adding-summary.html
https://bugs.webkit.org/show_bug.cgi?id=179308
<rdar://problem/34592771>

Reviewed by Zalan Bujtas.

Source/WebCore:

The issue here is that we fail to tear down render tree for a summary element because adding another summary element
takes it out of the composed tree. This leaves behind renderers that break some multicolumn assumptions.

* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderers):
(WebCore::RenderTreeUpdater::tearDownLeftoverShadowHostChildren):

When tearing down renderers go through the real children of the shadow hosts at the end and see if we left any renderers behind.
If so, tear them down too.

* rendering/updating/RenderTreeUpdater.h:

LayoutTests:

Unskip fast/multicol/spanner-crash-when-adding-summary.html

* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

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

18 months agoFix the bug that 'TestGroupResultsViewer' creates unnecessary rows.
dewei_zhu@apple.com [Wed, 24 Jan 2018 22:17:33 +0000 (22:17 +0000)]
Fix the bug that 'TestGroupResultsViewer' creates unnecessary rows.
https://bugs.webkit.org/show_bug.cgi?id=181967

Reviewed by Ryosuke Niwa.

Fixed a bug caused by a typo in CommitSet.equals, which makes it returns incorrect results for most
comparison between a CommitSet and a MeasurementCommitSet.

MeasurementCommitSet does not have full information for the commits, thus, it cannot build mappings
between root/patch/owner commit/requires build to repository. When querying whether a given repository
needs to be built, MeasurementCommitSet will return undefined. Due to 'undefined != false', this
equality check will fail. Making 'CommitSet.requiresBuildForRepository' defaults to 'false' would fix
this bug.

* public/v3/models/commit-set.js:
(CommitSet.prototype.requiresBuildForRepository): Make it return false when key does not exist
instead of 'undefined'.
(CommitSet.prototype.equals): Fixed the typo that causes the bug.
Use wrapped functions instead of querying the mapping directly.
* unit-tests/commit-set-tests.js: Added unit tests.

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

18 months ago[CSP] Check policy for targeted windows when navigating to a JavaScript URL
dbates@webkit.org [Wed, 24 Jan 2018 22:11:19 +0000 (22:11 +0000)]
[CSP] Check policy for targeted windows when navigating to a JavaScript URL
https://bugs.webkit.org/show_bug.cgi?id=182018
<rdar://problem/36795781>

Reviewed by Brent Fulgham.

Source/WebCore:

Move the CSP check to be earlier in the function.

Test: http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked.html

* loader/FrameLoader.cpp:
(WebCore::createWindow):

LayoutTests:

* http/tests/security/contentSecurityPolicy/resources/window-open-javascript-url-with-target-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/resources/window-open-javascript-url-with-target-blocked.js: Added.
(done):
* http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked.html: Added.

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

18 months agoAdd a IPC::SendSyncOption indicating we should not process incoming IPC while waiting...
cdumez@apple.com [Wed, 24 Jan 2018 22:00:33 +0000 (22:00 +0000)]
Add a IPC::SendSyncOption indicating we should not process incoming IPC while waiting for the sync reply
https://bugs.webkit.org/show_bug.cgi?id=182021
<rdar://problem/21629943>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add layout testing infrastructure for the new flag.

Test: fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html

* page/ChromeClient.h:
* testing/Internals.cpp:
(WebCore::Internals::testIncomingSyncIPCMessageWhileWaitingForSyncReply):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

Add a new DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption that the caller can
set when calling sendSync(). This indicates that the sendSync() should return only when we receive
the response to our sync IPC message, and that we should not process ANY incoming IPC in the meantime.

This patch also starts using this flag in 3 places where we know processing incoming IPC is an issue
and is causing crashes.

* Platform/IPC/Connection.cpp:
(IPC::Connection::sendSyncMessage):
When DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption is set, make sure
we set the ShouldDispatchMessageWhenWaitingForSyncReply flag on the encoder. If we did not set this
flag then it could cause deadlocks when the destination process is also waiting on a synchronous
IPC from us. Normally, this flag already gets set for sync messages because sendSyncMessage() calls
sendMessage() with DispatchMessageEvenWhenWaitingForSyncReply SyncOption. However, sendMessage()
ignores the DispatchMessageEvenWhenWaitingForSyncReply flag if the
m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage flag is set on the
connection. Note that this flag is set on the connection from the WebProcess to the UIProcess at
the moment, which is why we saw deadlocks on the previous iteration of this patch.

(IPC::Connection::waitForSyncReply):
If DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption is set, do not
process incoming IPC messages while waiting for our sync IPC reply.

* Platform/IPC/Connection.h:
Add new SendSyncOption.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply):
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
Testing infrastructure.

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
Use new flag.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply):
* WebProcess/WebCoreSupport/WebChromeClient.h:
Testing infrastructure.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
Use new flag.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting):
Testing infrastructure.

(WebKit::WebProcess::ensureNetworkProcessConnection):
Use new flag.

* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
Testing infrastructure.

LayoutTests:

Add layout test coverage for the new flag.

* fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Added.
* fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Added.

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

18 months agoAdjusted expectations for http/tests/cache/disk-cache/memory-cache-revalidation-updat...
jlewis3@apple.com [Wed, 24 Jan 2018 21:59:23 +0000 (21:59 +0000)]
Adjusted expectations for http/tests/cache/disk-cache/memory-cache-revalidation-updates-disk-cache.html.
https://bugs.webkit.org/show_bug.cgi?id=162975

Unreviewed test gardening.
* platform/mac-wk2/TestExpectations:

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

18 months agoWeb Inspector: Remove duplicate preference update for WebAuthentication value
commit-queue@webkit.org [Wed, 24 Jan 2018 21:58:33 +0000 (21:58 +0000)]
Web Inspector: Remove duplicate preference update for WebAuthentication value
https://bugs.webkit.org/show_bug.cgi?id=182058

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-01-24
Reviewed by Brian Burg.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
An identical update already happens in generated code.

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

18 months agoREGRESSION (r227430): ASSERTION FAILED: !self.zoomToScaleCompletionHandler in TestRun...
commit-queue@webkit.org [Wed, 24 Jan 2018 21:58:07 +0000 (21:58 +0000)]
REGRESSION (r227430): ASSERTION FAILED: !self.zoomToScaleCompletionHandler in TestRunnerWKWebView::zoomToScale
https://bugs.webkit.org/show_bug.cgi?id=182052

Patch by Ali Juma <ajuma@chromium.org> on 2018-01-24
Reviewed by Simon Fraser.

Don't set zoomToScaleCompletionHandler in zoomToScale:animated when calling the completion handler
immediately.

Test: fast/visual-viewport/viewport-dimensions.html

* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):

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

18 months agoFix Windows build after r227552
achristensen@apple.com [Wed, 24 Jan 2018 21:44:08 +0000 (21:44 +0000)]
Fix Windows build after r227552
https://bugs.webkit.org/show_bug.cgi?id=182026

* pal/spi/cg/CoreGraphicsSPI.h:

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

18 months agoLayout Test http/tests/workers/service/basic-unregister-then-register-again-reuse...
cdumez@apple.com [Wed, 24 Jan 2018 21:26:47 +0000 (21:26 +0000)]
Layout Test http/tests/workers/service/basic-unregister-then-register-again-reuse.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=182030
<rdar://problem/36802933>

Reviewed by Youenn Fablet.

The service worker was only extending its lifetime using waitUntil() for 10 seconds. On the flakiness
dashboard, I see that the test sometimes takes more than 10 seconds to run on some bots, which can
cause the test to fail since the service worker is not keeping the registration alive anymore.
To address the issue, raise the lifetime to 30 seconds.

* http/tests/workers/service/resources/basic-unregister-then-register-again-reuse-worker.js:
(event.waitUntil.new.Promise):

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

18 months agoRemove WebProcess access to QTKit
achristensen@apple.com [Wed, 24 Jan 2018 21:04:23 +0000 (21:04 +0000)]
Remove WebProcess access to QTKit
https://bugs.webkit.org/show_bug.cgi?id=182035

Reviewed by Alexey Proskuryakov.

* WebProcess/com.apple.WebProcess.sb.in:
This isn't needed any more.  We only have a little bit of code that uses QTKit which we should remove,
and it's only used for fullscreen controls in WebKitLegacy.  Let's tighten up the sandbox!

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

18 months agoRemove El Capitan test expectations.
achristensen@apple.com [Wed, 24 Jan 2018 21:01:49 +0000 (21:01 +0000)]
Remove El Capitan test expectations.

* platform/mac-elcapitan: Removed.
* platform/mac-elcapitan-wk2: Removed.
* platform/mac-elcapitan-wk2/fast: Removed.
* platform/mac-elcapitan-wk2/fast/dom: Removed.
* platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement: Removed.
* platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Removed.
* platform/mac-elcapitan-wk2/fast/dom/navigator-detached-no-crash-expected.txt: Removed.
* platform/mac-elcapitan-wk2/http: Removed.
* platform/mac-elcapitan-wk2/http/tests: Removed.
* platform/mac-elcapitan-wk2/http/tests/contentextensions: Removed.
* platform/mac-elcapitan-wk2/http/tests/contentextensions/make-https-expected.txt: Removed.
* platform/mac-elcapitan-wk2/imported: Removed.
* platform/mac-elcapitan-wk2/imported/w3c: Removed.
* platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests: Removed.
* platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch: Removed.
* platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api: Removed.
* platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/basic: Removed.
* platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors: Removed.
* platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/url: Removed.
* platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/url/failure-expected.txt: Removed.
* platform/mac-elcapitan/TestExpectations: Removed.
* platform/mac-elcapitan/accessibility: Removed.
* platform/mac-elcapitan/accessibility/form-control-value-settable-expected.txt: Removed.
* platform/mac-elcapitan/compositing: Removed.
* platform/mac-elcapitan/compositing/contents-opaque: Removed.
* platform/mac-elcapitan/compositing/contents-opaque/control-layer-expected.txt: Removed.
* platform/mac-elcapitan/compositing/repaint: Removed.
* platform/mac-elcapitan/compositing/repaint/iframes: Removed.
* platform/mac-elcapitan/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Removed.
* platform/mac-elcapitan/compositing/rtl: Removed.
* platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt: Removed.
* platform/mac-elcapitan/css2.1: Removed.
* platform/mac-elcapitan/css3: Removed.
* platform/mac-elcapitan/css3/selectors3: Removed.
* platform/mac-elcapitan/css3/selectors3/html: Removed.
* platform/mac-elcapitan/css3/selectors3/html/css3-modsel-19b-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/html/css3-modsel-23-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/html/css3-modsel-24-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/html/css3-modsel-64-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/html/css3-modsel-68-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/html/css3-modsel-69-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xhtml: Removed.
* platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-19b-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-23-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-24-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-64-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-68-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-69-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xml: Removed.
* platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-19b-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-23-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-24-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-64-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-68-expected.txt: Removed.
* platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-69-expected.txt: Removed.
* platform/mac-elcapitan/editing: Removed.
* platform/mac-elcapitan/editing/deleting: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-2-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-3-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-4-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-5-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-6-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-7-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-8-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-9-expected.txt: Removed.
* platform/mac-elcapitan/editing/deleting/delete-emoji-expected.txt: Removed.
* platform/mac-elcapitan/editing/input: Removed.
* platform/mac-elcapitan/editing/input/caret-at-the-edge-of-input-expected.txt: Removed.
* platform/mac-elcapitan/editing/input/reveal-caret-of-multiline-input-expected.txt: Removed.
* platform/mac-elcapitan/editing/inserting: Removed.
* platform/mac-elcapitan/editing/inserting/4960120-1-expected.txt: Removed.
* platform/mac-elcapitan/editing/inserting/before-after-input-element-expected.txt: Removed.
* platform/mac-elcapitan/editing/mac: Removed.
* platform/mac-elcapitan/editing/mac/attributed-string: Removed.
* platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Removed.
* platform/mac-elcapitan/editing/mac/spelling: Removed.
* platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Removed.
* platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Removed.
* platform/mac-elcapitan/editing/mac/spelling/delete-autocorrected-word-2-expected.txt: Removed.
* platform/mac-elcapitan/editing/pasteboard: Removed.
* platform/mac-elcapitan/editing/pasteboard/4641033-expected.txt: Removed.
* platform/mac-elcapitan/editing/pasteboard/4806874-expected.txt: Removed.
* platform/mac-elcapitan/editing/pasteboard/4944770-1-expected.txt: Removed.
* platform/mac-elcapitan/editing/pasteboard/4944770-2-expected.txt: Removed.
* platform/mac-elcapitan/editing/pasteboard/drop-text-without-selection-expected.txt: Removed.
* platform/mac-elcapitan/editing/pasteboard/input-field-1-expected.txt: Removed.
* platform/mac-elcapitan/editing/pasteboard/pasting-tabs-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection: Removed.
* platform/mac-elcapitan/editing/selection/3690703-2-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/3690703-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/3690719-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/4397952-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/4895428-3-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/4975120-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/5240265-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/drag-select-1-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/replaced-boundaries-3-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/select-across-readonly-input-3-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/select-box-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/select-element-paragraph-boundary-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/select-from-textfield-outwards-expected.txt: Removed.
* platform/mac-elcapitan/editing/selection/selection-button-text-expected.txt: Removed.
* platform/mac-elcapitan/fast: Removed.
* platform/mac-elcapitan/fast/attachment: Removed.
* platform/mac-elcapitan/fast/attachment/attachment-label-highlight-expected.txt: Removed.
* platform/mac-elcapitan/fast/attachment/attachment-progress-expected.txt: Removed.
* platform/mac-elcapitan/fast/attachment/attachment-select-on-click-expected.txt: Removed.
* platform/mac-elcapitan/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Removed.
* platform/mac-elcapitan/fast/attachment/attachment-subtitle-expected.txt: Removed.
* platform/mac-elcapitan/fast/block: Removed.
* platform/mac-elcapitan/fast/block/float: Removed.
* platform/mac-elcapitan/fast/block/float/026-expected.png: Removed.
* platform/mac-elcapitan/fast/block/float/026-expected.txt: Removed.
* platform/mac-elcapitan/fast/block/float/028-expected.png: Removed.
* platform/mac-elcapitan/fast/block/float/028-expected.txt: Removed.
* platform/mac-elcapitan/fast/block/float/float-avoidance-expected.txt: Removed.
* platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.png: Removed.
* platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.txt: Removed.
* platform/mac-elcapitan/fast/block/margin-collapse: Removed.
* platform/mac-elcapitan/fast/block/margin-collapse/103-expected.txt: Removed.
* platform/mac-elcapitan/fast/block/positioning: Removed.
* platform/mac-elcapitan/fast/block/positioning/inline-block-relposition-expected.txt: Removed.
* platform/mac-elcapitan/fast/canvas: Removed.
* platform/mac-elcapitan/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
* platform/mac-elcapitan/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
* platform/mac-elcapitan/fast/css: Removed.
* platform/mac-elcapitan/fast/css/continuationCrash-expected.txt: Removed.
* platform/mac-elcapitan/fast/css/focus-ring-exists-for-search-field-expected.txt: Removed.
* platform/mac-elcapitan/fast/css/line-height-expected.txt: Removed.
* platform/mac-elcapitan/fast/css/margin-top-bottom-dynamic-expected.txt: Removed.
* platform/mac-elcapitan/fast/css/text-overflow-input-expected.txt: Removed.
* platform/mac-elcapitan/fast/css/text-transform-select-expected.txt: Removed.
* platform/mac-elcapitan/fast/dom: Removed.
* platform/mac-elcapitan/fast/dom/HTMLInputElement: Removed.
* platform/mac-elcapitan/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt: Removed.
* platform/mac-elcapitan/fast/dom/HTMLTableColElement: Removed.
* platform/mac-elcapitan/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt: Removed.
* platform/mac-elcapitan/fast/dom/HTMLTextAreaElement: Removed.
* platform/mac-elcapitan/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt: Removed.
* platform/mac-elcapitan/fast/dynamic: Removed.
* platform/mac-elcapitan/fast/dynamic/008-expected.txt: Removed.
* platform/mac-elcapitan/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Removed.
* platform/mac-elcapitan/fast/events: Removed.
* platform/mac-elcapitan/fast/events/context-no-deselect-expected.txt: Removed.
* platform/mac-elcapitan/fast/events/shadow-event-path-2-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms: Removed.
* platform/mac-elcapitan/fast/forms/001-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/004-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/alternative-presentation-button: Removed.
* platform/mac-elcapitan/fast/forms/alternative-presentation-button/replacement-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/auto-fill-button: Removed.
* platform/mac-elcapitan/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/basic-buttons-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/basic-inputs-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/basic-selects-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/basic-textareas-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/basic-textareas-quirks-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/blankbuttons-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/box-shadow-override-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-align-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-cannot-be-nested-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-default-title-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-generated-content-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-positioned-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-sizes-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-style-color-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-table-styles-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-text-transform-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/button-white-space-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/control-clip-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/control-clip-overflow-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/control-restrict-line-height-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/disabled-select-change-index-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/encoding-test-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/fieldset-align-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/file: Removed.
* platform/mac-elcapitan/fast/forms/file/file-input-direction-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/file/file-input-disabled-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/file/input-file-re-render-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/floating-textfield-relayout-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/form-element-geometry-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/hidden-listbox-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-align-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-bkcolor-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-default-bkcolor-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-disabled-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-focus-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-height-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-preventDefault-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-readonly-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-selection-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-up-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-visibility-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-appearance-width-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-baseline-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-button-sizes-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-disabled-color-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-double-click-selection-gap-bug-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-field-text-truncated-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-first-letter-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-placeholder-visibility-1-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-placeholder-visibility-3-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-readonly-autoscroll-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-readonly-dimmed-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-readonly-empty-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-spaces-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-table-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-click-inside-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-click-outside-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-double-click-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-drag-down-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-option-delete-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-scroll-left-on-blur-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-self-emptying-click-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-text-word-wrap-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-value-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/input-width-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/listbox-scrollbar-incremental-load-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/listbox-width-change-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/menulist-clip-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/menulist-deselect-update-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/menulist-narrow-width-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/menulist-no-overflow-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/menulist-restrict-line-height-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/menulist-style-color-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/menulist-width-change-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/minWidthPercent-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/number: Removed.
* platform/mac-elcapitan/fast/forms/number/number-appearance-rtl-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-layer-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/option-script-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/option-strip-whitespace-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/option-text-clip-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/placeholder-position-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/placeholder-pseudo-style-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/plaintext-mode-2-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search: Removed.
* platform/mac-elcapitan/fast/forms/search-cancel-button-style-sharing-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search-display-none-cancel-button-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search-input-rtl-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search-rtl-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search-styled-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search-vertical-alignment-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search/search-padding-cancel-results-buttons-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/searchfield-heights-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select: Removed.
* platform/mac-elcapitan/fast/forms/select-background-none-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-baseline-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-block-background-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-change-listbox-size-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-change-listbox-to-popup-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-change-popup-to-listbox-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-dirty-parent-pref-widths-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-disabled-appearance-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-empty-option-height-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-initial-position-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-item-background-clip-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-list-box-with-height-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-listbox-multiple-no-focusring-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-non-native-rendering-direction-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-overflow-scroll-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-overflow-scroll-inherited-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-selected-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-style-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select-writing-direction-natural-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/select/optgroup-rendering-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/stuff-on-my-optgroup-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/tabbing-input-iframe-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textAreaLineHeight-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-align-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-placeholder-pseudo-style-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-1-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-2-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-scroll-height-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-scrollbar-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-scrolled-type-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textarea-setinnerhtml-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textfield-focus-ring-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textfield-outline-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/textfield-overflow-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt: Removed.
* platform/mac-elcapitan/fast/forms/visual-hebrew-text-field-expected.txt: Removed.
* platform/mac-elcapitan/fast/frames: Removed.
* platform/mac-elcapitan/fast/frames/take-focus-from-iframe-expected.txt: Removed.
* platform/mac-elcapitan/fast/hidpi: Removed.
* platform/mac-elcapitan/fast/hidpi/resize-corner-hidpi-expected.txt: Removed.
* platform/mac-elcapitan/fast/html: Removed.
* platform/mac-elcapitan/fast/html/details-no-summary4-expected.txt: Removed.
* platform/mac-elcapitan/fast/html/details-open-javascript-expected.txt: Removed.
* platform/mac-elcapitan/fast/html/details-open2-expected.txt: Removed.
* platform/mac-elcapitan/fast/html/details-open4-expected.txt: Removed.
* platform/mac-elcapitan/fast/html/keygen-expected.txt: Removed.
* platform/mac-elcapitan/fast/inline: Removed.
* platform/mac-elcapitan/fast/lists: Removed.
* platform/mac-elcapitan/fast/lists/dynamic-marker-crash-expected.txt: Removed.
* platform/mac-elcapitan/fast/overflow: Removed.
* platform/mac-elcapitan/fast/overflow/overflow-x-y-expected.txt: Removed.
* platform/mac-elcapitan/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Removed.
* platform/mac-elcapitan/fast/overflow/scrollRevealButton-expected.txt: Removed.
* platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Removed.
* platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt: Removed.
* platform/mac-elcapitan/fast/parser: Removed.
* platform/mac-elcapitan/fast/parser/document-write-option-expected.txt: Removed.
* platform/mac-elcapitan/fast/parser/entity-comment-in-textarea-expected.txt: Removed.
* platform/mac-elcapitan/fast/parser/open-comment-in-textarea-expected.txt: Removed.
* platform/mac-elcapitan/fast/repaint: Removed.
* platform/mac-elcapitan/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt: Removed.
* platform/mac-elcapitan/fast/repaint/search-field-cancel-expected.txt: Removed.
* platform/mac-elcapitan/fast/repaint/subtree-root-skipped-expected.txt: Removed.
* platform/mac-elcapitan/fast/replaced: Removed.
* platform/mac-elcapitan/fast/replaced/replaced-breaking-expected.txt: Removed.
* platform/mac-elcapitan/fast/replaced/replaced-breaking-mixture-expected.txt: Removed.
* platform/mac-elcapitan/fast/replaced/width100percent-button-expected.txt: Removed.
* platform/mac-elcapitan/fast/replaced/width100percent-menulist-expected.txt: Removed.
* platform/mac-elcapitan/fast/replaced/width100percent-textarea-expected.txt: Removed.
* platform/mac-elcapitan/fast/selectors: Removed.
* platform/mac-elcapitan/fast/selectors/064-expected.txt: Removed.
* platform/mac-elcapitan/fast/spatial-navigation: Removed.
* platform/mac-elcapitan/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt: Removed.
* platform/mac-elcapitan/fast/table: Removed.
* platform/mac-elcapitan/fast/table/003-expected.txt: Removed.
* platform/mac-elcapitan/fast/table/append-cells2-expected.txt: Removed.
* platform/mac-elcapitan/fast/table/colspanMinWidth-expected.txt: Removed.
* platform/mac-elcapitan/fast/table/colspanMinWidth-vertical-expected.txt: Removed.
* platform/mac-elcapitan/fast/table/remove-td-display-none-expected.txt: Removed.
* platform/mac-elcapitan/fast/table/spanOverlapRepaint-expected.txt: Removed.
* platform/mac-elcapitan/fast/table/text-field-baseline-expected.txt: Removed.
* platform/mac-elcapitan/fast/text: Removed.
* platform/mac-elcapitan/fast/text/backslash-to-yen-sign-euc-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/drawBidiText-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/emoji-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/font-weights-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/font-weights-zh-expected.png: Removed.
* platform/mac-elcapitan/fast/text/font-weights-zh-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/international: Removed.
* platform/mac-elcapitan/fast/text/international/hindi-spacing-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png: Removed.
* platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png: Removed.
* platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/textIteratorNilRenderer-expected.txt: Removed.
* platform/mac-elcapitan/fast/transforms: Removed.
* platform/mac-elcapitan/fast/transforms/transformed-focused-text-input-expected.txt: Removed.
* platform/mac-elcapitan/http: Removed.
* platform/mac-elcapitan/http/tests: Removed.
* platform/mac-elcapitan/http/tests/navigation: Removed.
* platform/mac-elcapitan/http/tests/navigation/javascriptlink-frames-expected.txt: Removed.
* platform/mac-elcapitan/http/tests/security: Removed.
* platform/mac-elcapitan/http/tests/security/mixedContent: Removed.
* platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Removed.
* platform/mac-elcapitan/imported: Removed.
* platform/mac-elcapitan/imported/w3c: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/basic: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/resource-timing: Removed.
* platform/mac-elcapitan/imported/w3c/web-platform-tests/resource-timing/test_resource_timing-expected.txt: Removed.
* platform/mac-elcapitan/media: Removed.
* platform/mac-elcapitan/media/controls: Removed.
* platform/mac-elcapitan/media/controls-after-reload-expected.txt: Removed.
* platform/mac-elcapitan/media/controls-strict-expected.png: Removed.
* platform/mac-elcapitan/media/controls-styling-expected.txt: Removed.
* platform/mac-elcapitan/media/controls-without-preload-expected.png: Removed.
* platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Removed.
* platform/mac-elcapitan/media/media-document-audio-repaint-expected.txt: Removed.
* platform/mac-elcapitan/media/media-fullscreen-inline-expected.txt: Removed.
* platform/mac-elcapitan/media/media-fullscreen-not-in-document-expected.txt: Removed.
* platform/mac-elcapitan/media/track: Removed.
* platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt: Removed.
* platform/mac-elcapitan/media/video-controls-rendering-expected.txt: Removed.
* platform/mac-elcapitan/media/video-display-toggle-expected.png: Removed.
* platform/mac-elcapitan/media/video-display-toggle-expected.txt: Removed.
* platform/mac-elcapitan/media/video-no-audio-expected.txt: Removed.
* platform/mac-elcapitan/media/video-volume-slider-expected.txt: Removed.
* platform/mac-elcapitan/platform: Removed.
* platform/mac-elcapitan/platform/mac: Removed.
* platform/mac-elcapitan/platform/mac/scrollbars: Removed.
* platform/mac-elcapitan/platform/mac/scrollbars/key-window-not-first-responder-expected.txt: Removed.
* platform/mac-elcapitan/plugins: Removed.
* platform/mac-elcapitan/plugins/mouse-click-plugin-clears-selection-expected.txt: Removed.
* platform/mac-elcapitan/svg: Removed.
* platform/mac-elcapitan/svg/custom: Removed.
* platform/mac-elcapitan/svg/custom/inline-svg-in-xhtml-expected.txt: Removed.
* platform/mac-elcapitan/svg/hixie: Removed.
* platform/mac-elcapitan/svg/hixie/mixed: Removed.
* platform/mac-elcapitan/svg/hixie/mixed/003-expected.txt: Removed.
* platform/mac-elcapitan/tables: Removed.
* platform/mac-elcapitan/tables/mozilla: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug1188-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug12384-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug138725-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug18359-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug194024-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug24200-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug2479-2-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug2479-3-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug2479-4-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug26178-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug28928-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug29326-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug30559-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug30692-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug33855-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug39209-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug4382-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug4429-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug4527-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug46368-1-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug46368-2-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug51037-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug51727-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug52505-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug52506-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug55545-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug59354-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug68912-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug7342-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug96334-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/bugs/bug99948-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/collapsing_borders: Removed.
* platform/mac-elcapitan/tables/mozilla/collapsing_borders/bug41262-4-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/core: Removed.
* platform/mac-elcapitan/tables/mozilla/core/margins-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/dom: Removed.
* platform/mac-elcapitan/tables/mozilla/dom/tableDom-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla/other: Removed.
* platform/mac-elcapitan/tables/mozilla/other/move_row-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/bugs: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug1725-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt: Removed.
* platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt: Removed.
* platform/mac-elcapitan/transforms: Removed.
* platform/mac-elcapitan/transforms/2d: Removed.
* platform/mac-elcapitan/transforms/2d/zoom-menulist-expected.txt: Removed.
* platform/mac-elcapitan/transforms/3d: Removed.
* platform/mac-elcapitan/transforms/3d/general: Removed.
* platform/mac-elcapitan/transforms/3d/general/perspective-non-layer-expected.txt: Removed.

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

18 months agoRemove pre-Sierra-OS-specific code in WebCore
achristensen@apple.com [Wed, 24 Jan 2018 20:58:52 +0000 (20:58 +0000)]
Remove pre-Sierra-OS-specific code in WebCore
https://bugs.webkit.org/show_bug.cgi?id=182026

Reviewed by Tim Horton.

Source/WebCore:

* page/cocoa/UserAgent.mm:
(WebCore::systemMarketingVersionForUserAgentString):
* page/scrolling/mac/ScrollingMomentumCalculatorMac.mm:
(WebCore::ScrollingMomentumCalculatorMac::retargetedScrollOffsetDidChange):
* platform/cocoa/PasteboardCocoa.mm:
(WebCore::bitmapPNGFileType):
* platform/graphics/FontPlatformData.cpp:
* platform/graphics/FontPlatformData.h:
* platform/graphics/avfoundation/objc/VideoFullscreenLayerManager.mm:
(WebCore::VideoFullscreenLayerManager::setVideoFullscreenLayer):
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(layerContentsFormat):
(PlatformCALayerCocoa::updateContentsFormat):
(PlatformCALayerCocoa::backingStoreBytesPerPixel const):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::linearRGBColorSpaceRef):
(WebCore::extendedSRGBColorSpaceRef):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::drawPDFPage):
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::getCSSAttribute):
(WebCore::capabilitiesForFontDescriptor):
(WebCore::findClosestFont):
(WebCore::platformFontLookupWithFamily):
(WebCore::lookupFallbackFont):
(WebCore::fontWeightFromCoreText): Deleted.
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::variantCapsSupportsCharacterForSynthesis const):
(WebCore::Font::platformWidthForGlyph const):
(WebCore::advanceForColorBitmapFont): Deleted.
(WebCore::canUseFastGlyphAdvanceGetter): Deleted.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::hash const):
(WebCore::FontPlatformData::platformIsEqual const):
(WebCore::FontPlatformData::ctFont const):
* platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::linearRGBColorSpaceRef): Deleted.
* platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::setTimebase):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::supportsFormat):
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenSupportsExtendedColor):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::didCreateScrollerImp):
(WebCore::ScrollbarThemeMac::isLayoutDirectionRTL):
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::userPrefersReducedMotion const):
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
* platform/text/mac/TextBoundaries.mm:
(WebCore::findNextWordFromIndex):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft const):
* testing/Internals.mm:
(WebCore::Internals::userPrefersReducedMotion const):

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h:
* pal/spi/cg/CoreGraphicsSPI.h:
* pal/spi/cocoa/DataDetectorsCoreSPI.h:
* pal/spi/cocoa/QuartzCoreSPI.h:
* pal/spi/mac/AVFoundationSPI.h:
* pal/spi/mac/NSMenuSPI.h:
* pal/spi/mac/NSScrollingMomentumCalculatorSPI.h:
* pal/spi/mac/PIPSPI.h:

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

18 months agoRemove pre-Sierra-OS-specific code in Tools
achristensen@apple.com [Wed, 24 Jan 2018 20:55:28 +0000 (20:55 +0000)]
Remove pre-Sierra-OS-specific code in Tools
https://bugs.webkit.org/show_bug.cgi?id=182034

Reviewed by Tim Horton.

* DumpRenderTree/mac/DumpRenderTree.mm:
(setDefaultsToConsistentValuesForTesting):
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController windowDidLoad]):
(-[BrowserWindowController share:]):
* MiniBrowser/mac/MiniBrowser_Prefix.pch:
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
(-[EventStreamPlayer playbackTimerFired:]):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FontCache.cpp: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm:
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):

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

18 months agoRemove pre-Sierra-OS-specific code in WebKit
achristensen@apple.com [Wed, 24 Jan 2018 20:53:01 +0000 (20:53 +0000)]
Remove pre-Sierra-OS-specific code in WebKit
https://bugs.webkit.org/show_bug.cgi?id=182024

Reviewed by Tim Horton.

* PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
* Shared/Cocoa/DataDetectionResult.mm:
(WebKit::DataDetectionResult::encode const):
* Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<WebCore::Payment>::encode):
(IPC::ArgumentCoder<WebCore::PaymentContact>::encode):
(IPC::ArgumentCoder<WebCore::PaymentMerchantSession>::encode):
(IPC::ArgumentCoder<WebCore::PaymentMethod>::encode):
* Shared/WebPreferencesDefaultValues.h:
* Shared/cg/ShareableBitmapCG.cpp:
(WebKit::wantsExtendedRange):
* Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode const):
* Shared/mac/CodeSigning.mm:
(WebKit::codeSigningIdentifier):
(WebKit::codeSigningIdentifierForCurrentProcess):
* Shared/mac/ColorSpaceData.mm:
(WebKit::ColorSpaceData::encode const):
* Shared/mac/PasteboardTypes.mm:
(WebKit::PasteboardTypes::forURL):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
(IPC::ArgumentCoder<Credential>::encodePlatformData):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData):
* Shared/mac/WebHitTestResultData.mm:
(WebKit::WebHitTestResultData::platformEncode const):
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setObject:forBundleParameter:]):
(-[WKProcessPool _setObjectsForBundleParametersWithDictionary:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _handleAcceptedCandidate:]):
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::handleAcceptedCandidate):
(WebKit::WebViewImpl::performDragOperation):
* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):
* WebProcess/com.apple.WebProcess.sb.in:

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

18 months agoFix ChangeLog entry for recent commit
mcatanzaro@igalia.com [Wed, 24 Jan 2018 20:52:02 +0000 (20:52 +0000)]
Fix ChangeLog entry for recent commit

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

18 months agoStop using AuthenticationClient in WebKit
achristensen@apple.com [Wed, 24 Jan 2018 20:49:00 +0000 (20:49 +0000)]
Stop using AuthenticationClient in WebKit
https://bugs.webkit.org/show_bug.cgi?id=182016

Reviewed by Brady Eidson.

It was necessary to support ResourceHandle use in WebKit, but now we're using NetworkSession everywhere in WebKit.

* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):

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

18 months agoREGRESSION (r226485): Many new wasm leaks detected by the leaks bot
ap@apple.com [Wed, 24 Jan 2018 20:48:32 +0000 (20:48 +0000)]
REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
https://bugs.webkit.org/show_bug.cgi?id=181400
<rdar://problem/36358768>

Reviewed by Joseph Pecoraro.

* BuildSlaveSupport/build.webkit.org-config/config.json: Remove incorrect option.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options):
Always disable poisoning when running with --leaks, as this should work locally,
not just on bots.

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

18 months agoRemove WebProcess authentication code
achristensen@apple.com [Wed, 24 Jan 2018 20:48:19 +0000 (20:48 +0000)]
Remove WebProcess authentication code
https://bugs.webkit.org/show_bug.cgi?id=182020

Reviewed by Brady Eidson.

Source/WebCore:

We were keeping it around for pre-NetworkSession media loading, which is gone now.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerShouldWaitForResponseToAuthenticationChallenge): Deleted.
* html/HTMLMediaElement.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
* loader/ResourceLoader.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge): Deleted.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge): Deleted.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge): Deleted.

Source/WebKit:

* Shared/Authentication/AuthenticationManager.cpp:
* Shared/Authentication/AuthenticationManager.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
* WebProcess/WebProcess.cpp:
(WebKit::m_webSQLiteDatabaseTracker):

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

18 months agoUnreviewed, rebaseline flaky service worker test
cdumez@apple.com [Wed, 24 Jan 2018 20:33:45 +0000 (20:33 +0000)]
Unreviewed, rebaseline flaky service worker test

* web-platform-tests/service-workers/service-worker/windowclient-navigate.https-expected.txt:

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

18 months ago[GTK] Page crash after swipe gesture running GNOME3 under wayland
commit-queue@webkit.org [Wed, 24 Jan 2018 20:25:59 +0000 (20:25 +0000)]
[GTK] Page crash after swipe gesture running GNOME3 under wayland

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

Patch by Jan-Michael Brummer <jan.brummer@tabos.org> on 2018-01-24
Reviewed by Michael Catanzaro.

Add missing GDK_TOUCH_CANCEL support which fixes page crashes due to cancelled gestures.
* Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebTouchEvent):
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::doneWithTouchEvent):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(touchPointStateForEvents):
(webkitWebViewBaseGetTouchPointsForEvent):
(webkitWebViewBaseTouchEvent):
* UIProcess/gtk/GestureController.cpp:
(WebKit::GestureController::handleEvent):

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

18 months agoUnreviewed, unskip some service worker tests that no longer time out
cdumez@apple.com [Wed, 24 Jan 2018 20:21:52 +0000 (20:21 +0000)]
Unreviewed, unskip some service worker tests that no longer time out

LayoutTests/imported/w3c:

* web-platform-tests/service-workers/service-worker/clients-matchall-include-uncontrolled.https-expected.txt:
* web-platform-tests/service-workers/service-worker/extendable-event-waituntil.https-expected.txt:
* web-platform-tests/service-workers/service-worker/indexeddb.https-expected.txt:
* web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt:
* web-platform-tests/service-workers/service-worker/postmessage-msgport-to-client.https-expected.txt:
* web-platform-tests/service-workers/service-worker/postmessage.https-expected.txt:
* web-platform-tests/service-workers/service-worker/sandboxed-iframe-fetch-event.https-expected.txt:
* web-platform-tests/service-workers/service-worker/update-recovery.https-expected.txt:

LayoutTests:

* TestExpectations:

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

18 months agoAX: SVG AAM mapping trumps ARIA role attribute in the case of SVG root
jdiggs@igalia.com [Wed, 24 Jan 2018 19:34:51 +0000 (19:34 +0000)]
AX: SVG AAM mapping trumps ARIA role attribute in the case of SVG root
https://bugs.webkit.org/show_bug.cgi?id=181994

Reviewed by Chris Fleizach.

Source/WebCore:

Only return AccessibilityRole::Group if we have no author-provided
ARIA role attribute value.

Test: accessibility/svg-element-with-aria-role.html

* accessibility/AccessibilitySVGRoot.cpp:
(WebCore::AccessibilitySVGRoot::roleValue const):
* accessibility/AccessibilitySVGRoot.h:

LayoutTests:

* accessibility/svg-element-with-aria-role.html: Added.
* platform/gtk/accessibility/svg-element-with-aria-role-expected.txt: Added.
* platform/mac/accessibility/svg-element-with-aria-role-expected.txt: Added.
* platform/win/TestExpectations: Skip test.

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

18 months agoRemove unused QTKit preference
achristensen@apple.com [Wed, 24 Jan 2018 19:33:19 +0000 (19:33 +0000)]
Remove unused QTKit preference
https://bugs.webkit.org/show_bug.cgi?id=181968

Reviewed by Alexey Proskuryakov.

Source/WebCore:

They weren't used and didn't do anything.

* page/DeprecatedGlobalSettings.cpp:
(WebCore::DeprecatedGlobalSettings::setQTKitEnabled): Deleted.
* page/DeprecatedGlobalSettings.h:
(WebCore::DeprecatedGlobalSettings::isQTKitEnabled): Deleted.

Source/WebKit:

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPreferencesSetQTKitEnabled):
(WKPreferencesGetQTKitEnabled):
* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetQTKitEnabled): Deleted.
(WKPreferencesGetQTKitEnabled): Deleted.
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setQTKitEnabled:]): Deleted.
(-[WKPreferences _qtKitEnabled]): Deleted.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WebKitLegacy/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setQTKitEnabled:]): Deleted.
(-[WebPreferences isQTKitEnabled]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

18 months ago[Web Animations] Compute the progress and currentIteration properties on getComputedT...
graouts@webkit.org [Wed, 24 Jan 2018 19:29:53 +0000 (19:29 +0000)]
[Web Animations] Compute the progress and currentIteration properties on getComputedTiming()
https://bugs.webkit.org/show_bug.cgi?id=182039
<rdar://problem/36813568>

Reviewed by Dean Jackson.

Source/WebCore:

Compute the "progress" and "currentIteration" properties on the dictionary returned by getComputedTiming().
To support this we implement several procedures from the specification implemented separately with links
and steps copied from the specification. There is one last procedure we don't implement, which is to obtain
the transformed time following the application of the provided easing, which will be the next patch.

* animation/AnimationEffect.cpp:
(WebCore::AnimationEffect::phase const):
(WebCore::AnimationEffect::activeTime const):
(WebCore::AnimationEffect::overallProgress const):
(WebCore::AnimationEffect::simpleIterationProgress const):
(WebCore::AnimationEffect::currentIteration const):
(WebCore::AnimationEffect::currentDirection const):
(WebCore::AnimationEffect::directedProgress const):
(WebCore::AnimationEffect::iterationProgress const):
(WebCore::AnimationEffect::getComputedTiming):
* animation/AnimationEffect.h:

LayoutTests:

Update expectations with progressions as we expose more of the API.

* http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt:
* http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
* http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt:
* http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt:
* http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt:
* http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt:
* http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt:
* http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt:
* http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:

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

18 months agoREGRESSION (r226138): Selecting a line that ends with zero-width joiner (ZWJ) may...
dbates@webkit.org [Wed, 24 Jan 2018 19:17:30 +0000 (19:17 +0000)]
REGRESSION (r226138): Selecting a line that ends with zero-width joiner (ZWJ) may cause text transformation
https://bugs.webkit.org/show_bug.cgi?id=181993
<rdar://problem/36421080>

Reviewed by David Hyatt.

Source/WebCore:

Re-implement paint optimization that was inadvertently removed in r226138. This optimization
works around an issue where selecting the last printable character in a line that is followed
followed by a zero-width joiner transforms the selected character.

We need to fix <https://bugs.webkit.org/show_bug.cgi?id=181964> to improve the interaction
of selection and zero-width joiner characters. For now, re-implement a paint optimization
to perform a single paint operation when the style of the non-selected text is identical
to the style of the selected text.

Test: fast/text/mac/select-character-before-zero-width-joiner.html

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::MarkerSubrangeStyle::areBackgroundMarkerSubrangeStylesEqual):
(WebCore::InlineTextBox::MarkerSubrangeStyle::areForegroundMarkerSubrangeStylesEqual):
(WebCore::InlineTextBox::MarkerSubrangeStyle::areDecorationMarkerSubrangeStylesEqual):
Add helper functions to determine when marker styles are identical. We make use of these
equality functions to coalesce adjacent subranges that have the same visual style and
hence reduce the number of drawing commands to paint all the subranges in a line.

(WebCore::InlineTextBox::paint): Coalesce subranges before painting.

(WebCore::InlineTextBox::subdivideAndResolveStyle): Split out the logic to coalesce
subranges with the same style into its own function InlineTextBox::coalesceAdjacentSubranges()
and kept this function focused on subdivision and style resolution. Manually compute
the frontmost subranges so that we can resolve style for each subrange with respect to
the correct base style. Formerly we always resolved style with respect the specified
base style. Now we resolve style with respect the previous frontmost subrange to ensure
styles cascade as expected. This change causes no visual difference now. Once we implement
<https://bugs.webkit.org/show_bug.cgi?id=175784> we will be able to test this change
with respect to selection of ::spelling-error/::grammar-error pseudo elements.

(WebCore::InlineTextBox::coalesceAdjacentSubranges): Extracted logic from InlineTextBox::subdivideAndResolveStyle().

(WebCore::InlineTextBox::MarkerSubrangeStyle::operator== const): Deleted.
(WebCore::InlineTextBox::MarkerSubrangeStyle::operator!= const): Deleted.
Comparing MarkerSubrangeStyle objects should be performed using the appropriate
are*MarkerSubrangeStylesEqual() non-member function.

* rendering/InlineTextBox.h:
* rendering/MarkerSubrange.cpp:
(WebCore::subdivide): Remove overlap strategy FrontmostWithLongestEffectiveRange
as this strategy is now implemented by InlineTextBox::subdivideAndResolveStyle() and
InlineTextBox::coalesceAdjacentSubranges() that compute the set of frontmost subranges and
coalesces adjacent subranges with the same style into the longest effective subrange,
respectively. Unlike WebCore::subdivide(), InlineTextBox knows what the base style should
be for the subranges and can more aggressively coalesce adjacent subranges of different
types that have the same visual style.
* rendering/MarkerSubrange.h:

Tools:

Remove unit test for overlap strategy FrontmostWithLongestEffectiveRange
as we no longer support this strategy.

* TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:

LayoutTests:

Add a Mac-specific test to ensure that selecting the last visible character on a line
that ends with a zero-width joiner (ZWJ) does not cause a text transformation of the
selected character.

We need to fix <https://bugs.webkit.org/show_bug.cgi?id=181964> for this test to
pass on Mac.

* TestExpectations: Skip the test directory on non-Mac platforms.
* fast/text/mac/select-character-before-zero-width-joiner-expected.html: Added.
* fast/text/mac/select-character-before-zero-width-joiner.html: Added.
* platform/mac/TestExpectations: Mark the test directory as PASS on Mac so that we run
all containing tests. Mark the test as ImageOnlyFailure until we fix <https://bugs.webkit.org/show_bug.cgi?id=181964>.

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

18 months agocheck-webkit-style reports false-positive whitespace/braces warning about blocks...
ddkilzer@apple.com [Wed, 24 Jan 2018 18:11:13 +0000 (18:11 +0000)]
check-webkit-style reports false-positive whitespace/braces warning about blocks with return types as arguments in Objective-C
<https://webkit.org/b/182015>
<rdar://problem/36449728>

Reviewed by Tim Horton.

* Scripts/webkitpy/style/checkers/cpp.py:
(regex_for_lambdas_and_blocks): Update regex to include
optional return type for block argument in Objective-C.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_braces): Add test.

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

18 months agoFetch response should copy its url from the request if null
commit-queue@webkit.org [Wed, 24 Jan 2018 18:10:29 +0000 (18:10 +0000)]
Fetch response should copy its url from the request if null
https://bugs.webkit.org/show_bug.cgi?id=182048

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Chris Dumez.

Source/WebCore:

No change of behavior.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived): Add assertion to check that the response URL is not null.

Source/WebKit:

* WebProcess/Storage/ServiceWorkerClientFetch.cpp:
(WebKit::ServiceWorkerClientFetch::didReceiveResponse):

LayoutTests:

* http/tests/workers/service/basic-fetch.https-expected.txt:
* http/tests/workers/service/resources/basic-fetch.js:
(async.test):

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

18 months agoAccount for memory cache in DocumentThreadableLoader::didReceiveResponse assertion
commit-queue@webkit.org [Wed, 24 Jan 2018 18:08:02 +0000 (18:08 +0000)]
Account for memory cache in DocumentThreadableLoader::didReceiveResponse assertion
https://bugs.webkit.org/show_bug.cgi?id=182049

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Chris Dumez.

No change of behavior.
A response served from Service Worker may be cached in Memory Cache and reused later on.
Update DTL assertion to handle that case.

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):

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

18 months agoREGRESSION(r227457): Release assert in updateLayout while destructing a media element
eric.carlson@apple.com [Wed, 24 Jan 2018 18:07:18 +0000 (18:07 +0000)]
REGRESSION(r227457): Release assert in updateLayout while destructing a media element
https://bugs.webkit.org/show_bug.cgi?id=182038
<rdar://problem/36812083>

Reviewed by Jer Noble.

* html/MediaElementSession.cpp:
(WebCore::isMainContentForPurposesOfAutoplay): Early return if element.isSuspended().
* platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::MediaSessionManagerMac::clientCharacteristicsChanged): Call scheduleUpdateNowPlayingInfo
instead of updateNowPlayingInfo.

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

18 months agoWPE-focused test gardening.
Ms2ger@igalia.com [Wed, 24 Jan 2018 18:04:53 +0000 (18:04 +0000)]
WPE-focused test gardening.
https://bugs.webkit.org/show_bug.cgi?id=182051

Unreviewed test gardening.

Tools:

* TestWebKitAPI/glib/TestExpectations.json: TestWebKitFindController failure was fixed in r227418.

LayoutTests:

* TestExpectations:
  - Remove expectation for css3/parse-alignment-of-root-elements.html (rebaselined in r227432).
* css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto.html:
  Started failing in r226404; this applies the change from
  https://github.com/w3c/web-platform-tests/commit/b4fa639477ba204f175fd242a335be888ce91371
  to make it pass again.
* platform/gtk/TestExpectations:
  - Add expectation for http/wpt/fetch/response-opaque-clone.html (failing since the test change in r227339).
* platform/wpe/TestExpectations:
  - Remove expectation for fast/canvas/fallback-content.html (started passing in r226814-r226837, inclusive).
  - Override generic failure expectation for imported/w3c/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html
    (it has been passing for as long as it has run).
  - Update path for imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-sizing-alignment-001.html after r225561.
  - Remove expectation for fast/events/tabindex-focus-blur-all.html (started passing in r226814-r226837, inclusive).
  - Add expectation for http/wpt/fetch/response-opaque-clone.html (failing since the test change in r227339).
  - Add expectation for http/wpt/webrtc/third-party-frame-ice-candidate-filtering.html (failing since it was added).
  - Add expectation for fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html (failing since it was added).
  - Skip fast/text/user-installed-fonts/ (the feature is not supported).
  - Remove expectation for imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin.html (rebaselined in r226965).
  - Remove expectation for imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.html (rebaselined in r226965).
  - Mark perf/show-hide-table-rows.html as flaky (as was intended).

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

18 months agoUpdate Poisoned pointers to take a Poison class instead of a uintptr_t&.
mark.lam@apple.com [Wed, 24 Jan 2018 17:43:16 +0000 (17:43 +0000)]
Update Poisoned pointers to take a Poison class instead of a uintptr_t&.
https://bugs.webkit.org/show_bug.cgi?id=182017
<rdar://problem/36795513>

Reviewed by Filip Pizlo and JF Bastien.

Source/JavaScriptCore:

Removed the POISON() macro.  Now that we have Poison types, we can just use the
the Poison type instead and make the code a bit nicer to read.

* API/JSAPIWrapperObject.h:
* API/JSCallbackFunction.h:
* API/JSCallbackObject.h:
* b3/B3LowerMacros.cpp:
* b3/testb3.cpp:
(JSC::B3::testInterpreter):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::instructions):
(JSC::CodeBlock::instructions const):
* dfg/DFGOSRExitCompilerCommon.h:
(JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
* jit/JIT.h:
* jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::nativeForGenerator):
(JSC::boundThisNoArgsFunctionCallGenerator):
* parser/UnlinkedSourceCode.h:
* runtime/ArrayPrototype.h:
* runtime/CustomGetterSetter.h:
* runtime/DateInstance.h:
* runtime/InternalFunction.h:
* runtime/JSArrayBuffer.h:
* runtime/JSCPoison.cpp:
(JSC::initializePoison):
* runtime/JSCPoison.h:
* runtime/JSGlobalObject.h:
* runtime/JSScriptFetchParameters.h:
* runtime/JSScriptFetcher.h:
* runtime/NativeExecutable.h:
* runtime/StructureTransitionTable.h:
* runtime/WriteBarrier.h:
(JSC::WriteBarrier::poison): Deleted.
* wasm/js/JSToWasm.cpp:
(JSC::Wasm::createJSToWasmWrapper):
* wasm/js/JSWebAssemblyCodeBlock.cpp:
(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
* wasm/js/JSWebAssemblyCodeBlock.h:
* wasm/js/JSWebAssemblyInstance.h:
(JSC::JSWebAssemblyInstance::poison):
* wasm/js/JSWebAssemblyMemory.h:
* wasm/js/JSWebAssemblyModule.h:
* wasm/js/JSWebAssemblyTable.h:
* wasm/js/WasmToJS.cpp:
(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJS):
* wasm/js/WebAssemblyFunctionBase.h:
* wasm/js/WebAssemblyModuleRecord.h:
* wasm/js/WebAssemblyToJSCallee.h:
* wasm/js/WebAssemblyWrapperFunction.h:

Source/WTF:

This paves the way for custom poison values which we'll need for use in
TypedArrays later.

* wtf/Bag.h:
* wtf/DumbPtrTraits.h:
(WTF::DumbPtrTraits::poison): Deleted.
* wtf/DumbValueTraits.h:
(WTF::DumbValueTraits::poison): Deleted.
* wtf/Poisoned.h:
(WTF::Poison::key):
(WTF::Poisoned::swap):
(WTF::Poisoned::poison const):
(WTF::Poisoned::unpoison const):
(WTF::Poisoned::poison):
(WTF::Poisoned::unpoison):
(WTF::PoisonedPtrTraits::swap):
(WTF::PoisonedValueTraits::swap):
(WTF::PoisonedPtrTraits::poison): Deleted.
(WTF::PoisonedValueTraits::poison): Deleted.
* wtf/PoisonedUniquePtr.h:
* wtf/Ref.h:
* wtf/RefCountedArray.h:
* wtf/RefPtr.h:
* wtf/WTFAssertions.cpp:

Tools:

* TestWebKitAPI/Tests/WTF/Poisoned.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithRef):
* TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
* TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::poisonedPtrFoo):
* TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
(TestWebKitAPI::TEST):

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

18 months agoAX: Provide a way for VoiceOver to uniquely identify a web session
cfleizach@apple.com [Wed, 24 Jan 2018 17:37:24 +0000 (17:37 +0000)]
AX: Provide a way for VoiceOver to uniquely identify a web session
https://bugs.webkit.org/show_bug.cgi?id=181894

Reviewed by Joanmarie Diggs.

Source/WebCore:

Add a way for VoiceOver to uniquely track a web page session.

Test: accessibility/mac/session-id.html

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

LayoutTests:

* accessibility/mac/document-attributes-expected.txt:
* accessibility/mac/session-id-expected.txt: Added.
* accessibility/mac/session-id.html: Added.
* platform/mac/accessibility/parent-delete-expected.txt: Added.

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

18 months agoRenderBlockRareData::m_enclosingFragmentedFlow should be WeakPtr
antti@apple.com [Wed, 24 Jan 2018 17:28:54 +0000 (17:28 +0000)]
RenderBlockRareData::m_enclosingFragmentedFlow should be WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=182045
<rdar://problem/36334787>

Reviewed by Zalan Bujtas.

For safety.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::cachedEnclosingFragmentedFlow const):
(WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):
(WebCore::RenderBlock::locateEnclosingFragmentedFlow const):

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

18 months agoREGRESSION (r222961?): sRGB images shown in WebGL are over-saturated on a wide gamut...
dino@apple.com [Wed, 24 Jan 2018 17:14:56 +0000 (17:14 +0000)]
REGRESSION (r222961?): sRGB images shown in WebGL are over-saturated on a wide gamut monitor
https://bugs.webkit.org/show_bug.cgi?id=182033
<rdar://problem/36377780>

Reviewed by Antoine Quint.

Source/WebCore:

My fix for YouTube360 changed the way we composite WebGL on macOS. Unfortunately it dropped
a flag telling the compositor the colorspace of the content should be sRGB. Reinstate this
by explicitly setting the colorspace on the IOSurface we use for WebGL back buffers.

This *should* be covered by the test in:
fast/canvas/webgl/match-page-color-space.html
... however, it shows a problem with our testing infrastructure. As long as it is not
testing on a Wide Gamut display, and explicitly setting the color profile, an automated
test won't pick up this regression. I could add an Internals helper to query the colorspace
of the WebGL content, but that doesn't actually verify the composited result, which is
all that matters.

* platform/graphics/cocoa/WebGLLayer.mm:
(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]):

Source/WebCore/PAL:

Expose an IOSurface colorspace property name, and a function to serialize a CGColorSpace.

* pal/spi/cg/CoreGraphicsSPI.h:
* pal/spi/cocoa/IOSurfaceSPI.h:

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

18 months ago[GTK] Fix some test failures in ATK selection handling.
Ms2ger@igalia.com [Wed, 24 Jan 2018 16:09:52 +0000 (16:09 +0000)]
[GTK] Fix some test failures in ATK selection handling.
https://bugs.webkit.org/show_bug.cgi?id=168369
<rdar://problem/30534881>

Reviewed by Joanmarie Diggs.

Source/WebCore:

In r208479, selectionBelongsToObject was changed to return false if the
intersectsNode call returns an exception.

In particular, this caused accessibility/gtk/text-at-offset-textarea.html
to fail. In this test, the selection is situated in the shadow DOM of the
textarea, while the node that is checked for intersection is the textarea
itself. In line with the standard, intersectsNode returns an exception in
this case.

This caused webkitAccessibleText{Word, Line, Sentence}ForBoundary to stop
returning the expected text in the tested case. Removing this check fixes
the test, along with some others.

Tests: accessibility/gtk/text-at-offset-textarea.html
       accessibility/gtk/text-at-offset-textinput.html
       accessibility/selected-text-range-aria-elements.html
       accessibility/textarea-selected-text-range.html

* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getSelectionOffsetsForObject): Remove the selectionBelongsToObject() call.

LayoutTests:

Update test expectations for tests that pass again.

* platform/gtk/TestExpectations:

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

18 months agoUnreviewed build fix after r227518. I forgot to add the function declarations to...
svillar@igalia.com [Wed, 24 Jan 2018 15:57:58 +0000 (15:57 +0000)]
Unreviewed build fix after r227518. I forgot to add the function declarations to the WPE
header.

* UIProcess/API/wpe/WebKitSettings.h: Added webkit_settings_get/set_enable_webvr.

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

18 months agoUpdate paths of CSS tests from WPT
rego@igalia.com [Wed, 24 Jan 2018 15:53:46 +0000 (15:53 +0000)]
Update paths of CSS tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=182043

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-display/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-display-3/.
* web-platform-tests/css/css-pseudo/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo-4/.
* web-platform-tests/css/css-scoping/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping-1/.
* web-platform-tests/css/css-shapes/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes-1/.
* web-platform-tests/css/css-ui/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-ui-3/.
* web-platform-tests/css/geometry/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/geometry-1/.
* web-platform-tests/css/selectors/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/selectors4/.
* web-platform-tests/lint.whitelist:

LayoutTests:

* TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-wk2/TestExpectations:
* platform/ios/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/wpe/TestExpectations:

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

18 months agoAdd Cache Storage engine assertion following on bug 181887
commit-queue@webkit.org [Wed, 24 Jan 2018 15:36:04 +0000 (15:36 +0000)]
Add Cache Storage engine assertion following on bug 181887
https://bugs.webkit.org/show_bug.cgi?id=181925

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Alex Christensen.

In a normal environment, the folderPath should be the same as the path computed from the ClientOrigin.
Add assertion to verify this.

* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::clearCachesForOrigin):

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

18 months ago[GTK] Use GDK_EVENT_PROPAGATE and GDK_EVENT_STOP in WebKitWebViewBase.cpp
mcatanzaro@igalia.com [Wed, 24 Jan 2018 15:25:14 +0000 (15:25 +0000)]
[GTK] Use GDK_EVENT_PROPAGATE and GDK_EVENT_STOP in WebKitWebViewBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=182031

Reviewed by Carlos Garcia Campos.

No functional changes, this just replaces TRUE with GDK_EVENT_STOP and FALSE with
GDK_EVENT_PROPAGATE, to improve readability.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseKeyReleaseEvent):
(webkitWebViewBaseButtonPressEvent):
(webkitWebViewBaseButtonReleaseEvent):
(webkitWebViewBaseScrollEvent):
(webkitWebViewBaseMotionNotifyEvent):
(webkitWebViewBaseCrossingNotifyEvent):
(webkitWebViewBaseTouchEvent):

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

18 months ago[WebVR] Add OpenVR to the tree and to the build
svillar@igalia.com [Wed, 24 Jan 2018 15:04:34 +0000 (15:04 +0000)]
[WebVR] Add OpenVR to the tree and to the build
https://bugs.webkit.org/show_bug.cgi?id=177298

Reviewed by Žan Doberšek.

.:

* Source/CMakeLists.txt:
* Source/cmake/OptionsGTK.cmake: Enable USE_OPENVR.
* Source/cmake/OptionsWPE.cmake: Ditto.

Source/ThirdParty:

Adding the required parts of OpenVR library to the tree. This will be used as a backend for
the eventual WebVR implementation.

* openvr/CMakeLists.txt: Added.
* openvr/LICENSE: Added.
* openvr/README.md: Added.
* openvr/README.webkit: Added. Includes specifics changes made to the original library to
accommodate it to the WebKit build system.
* openvr/Toolchain-clang.cmake: Added.
* openvr/headers/openvr.h: Added.
(vr::ButtonMaskFromId):
(vr::NotificationBitmap_t::NotificationBitmap_t):
(vr::VRToken):
(vr::COpenVRContext::COpenVRContext):
(vr::COpenVRContext::CheckClear):
(vr::COpenVRContext::VRSystem):
(vr::COpenVRContext::VRChaperone):
(vr::COpenVRContext::VRChaperoneSetup):
(vr::COpenVRContext::VRCompositor):
(vr::COpenVRContext::VROverlay):
(vr::COpenVRContext::VRResources):
(vr::COpenVRContext::VRScreenshots):
(vr::COpenVRContext::VRRenderModels):
(vr::COpenVRContext::VRExtendedDisplay):
(vr::COpenVRContext::VRSettings):
(vr::COpenVRContext::VRApplications):
(vr::COpenVRContext::VRTrackedCamera):
(vr::COpenVRContext::VRDriverManager):
(vr::OpenVRInternal_ModuleContext):
(vr::VRSystem):
(vr::VRChaperone):
(vr::VRChaperoneSetup):
(vr::VRCompositor):
(vr::VROverlay):
(vr::VRScreenshots):
(vr::VRRenderModels):
(vr::VRApplications):
(vr::VRSettings):
(vr::VRResources):
(vr::VRExtendedDisplay):
(vr::VRTrackedCamera):
(vr::VRDriverManager):
(vr::COpenVRContext::Clear):
(vr::VR_Init):
(vr::VR_Shutdown):
* openvr/headers/openvr_api.cs: Added.
* openvr/headers/openvr_api.json: Added.
* openvr/headers/openvr_capi.h: Added.
* openvr/headers/openvr_driver.h: Added.
(vr::ButtonMaskFromId):
(vr::IVRDriverDirectModeComponent::CreateSwapTextureSet):
(vr::IVRDriverDirectModeComponent::DestroySwapTextureSet):
(vr::IVRDriverDirectModeComponent::DestroyAllSwapTextureSets):
(vr::IVRDriverDirectModeComponent::GetNextSwapTextureSetIndex):
(vr::IVRDriverDirectModeComponent::SubmitLayer):
(vr::IVRDriverDirectModeComponent::Present):
(vr::CVRPropertyHelpers::CVRPropertyHelpers):
(vr::CVRPropertyHelpers::TrackedDeviceToPropertyContainer):
(vr::CVRPropertyHelpers::GetProperty):
(vr::CVRPropertyHelpers::SetProperty):
(vr::CVRPropertyHelpers::GetStringProperty):
(vr::CVRPropertyHelpers::SetStringProperty):
(vr::CVRPropertyHelpers::GetPropertyHelper):
(vr::CVRPropertyHelpers::GetBoolProperty):
(vr::CVRPropertyHelpers::GetFloatProperty):
(vr::CVRPropertyHelpers::GetInt32Property):
(vr::CVRPropertyHelpers::GetUint64Property):
(vr::CVRPropertyHelpers::SetBoolProperty):
(vr::CVRPropertyHelpers::SetFloatProperty):
(vr::CVRPropertyHelpers::SetInt32Property):
(vr::CVRPropertyHelpers::SetUint64Property):
(vr::CVRPropertyHelpers::SetPropertyError):
(vr::CVRPropertyHelpers::EraseProperty):
(vr::CVRHiddenAreaHelpers::CVRHiddenAreaHelpers):
(vr::CVRHiddenAreaHelpers::GetPropertyEnum):
(vr::CVRHiddenAreaHelpers::SetHiddenArea):
(vr::CVRHiddenAreaHelpers::GetHiddenArea):
(vr::VRDriverContext):
(vr::COpenVRDriverContext::COpenVRDriverContext):
(vr::COpenVRDriverContext::VRSettings):
(vr::COpenVRDriverContext::VRPropertiesRaw):
(vr::COpenVRDriverContext::VRProperties):
(vr::COpenVRDriverContext::VRHiddenArea):
(vr::COpenVRDriverContext::VRServerDriverHost):
(vr::COpenVRDriverContext::VRWatchdogHost):
(vr::COpenVRDriverContext::VRDriverLog):
(vr::COpenVRDriverContext::VRDriverHandle):
(vr::OpenVRInternal_ModuleServerDriverContext):
(vr::VRSettings):
(vr::VRPropertiesRaw):
(vr::VRProperties):
(vr::VRHiddenArea):
(vr::VRDriverLog):
(vr::VRServerDriverHost):
(vr::VRWatchdogHost):
(vr::VRDriverHandle):
(vr::COpenVRDriverContext::Clear):
(vr::COpenVRDriverContext::InitServer):
(vr::COpenVRDriverContext::InitWatchdog):
(vr::InitServerDriverContext):
(vr::InitWatchdogDriverContext):
(vr::CleanupDriverContext):
* openvr/patches/cmake-build.patch: Added.
* openvr/src/CMakeLists.txt: Added.
* openvr/src/Info.plist: Added.
* openvr/src/README: Added.
* openvr/src/ivrclientcore.h: Added.
* openvr/src/json/json-forwards.h: Added.
* openvr/src/json/json.h: Added.
(std::swap):
* openvr/src/jsoncpp.cpp: Added.
(Json::codePointToUTF8):
(Json::isControlCharacter):
(Json::uintToString):
(Json::fixNumericLocale):
(Json::Features::Features):
(Json::Features::all):
(Json::Features::strictMode):
(Json::containsNewLine):
(Json::Reader::Reader):
(Json::Reader::parse):
(Json::Reader::readValue):
(Json::Reader::skipCommentTokens):
(Json::Reader::readToken):
(Json::Reader::skipSpaces):
(Json::Reader::match):
(Json::Reader::readComment):
(Json::normalizeEOL):
(Json::Reader::addComment):
(Json::Reader::readCStyleComment):
(Json::Reader::readCppStyleComment):
(Json::Reader::readNumber):
(Json::Reader::readString):
(Json::Reader::readObject):
(Json::Reader::readArray):
(Json::Reader::decodeNumber):
(Json::Reader::decodeDouble):
(Json::Reader::decodeString):
(Json::Reader::decodeUnicodeCodePoint):
(Json::Reader::decodeUnicodeEscapeSequence):
(Json::Reader::addError):
(Json::Reader::recoverFromError):
(Json::Reader::addErrorAndRecover):
(Json::Reader::currentValue):
(Json::Reader::getNextChar):
(Json::Reader::getLocationLineAndColumn const):
(Json::Reader::getLocationSnippet const):
(Json::Reader::getFormatedErrorMessages const):
(Json::Reader::getFormattedErrorMessages const):
(Json::Reader::getStructuredErrors const):
(Json::Reader::pushError):
(Json::Reader::good const):
(Json::OurFeatures::all):
(Json::OurReader::OurReader):
(Json::OurReader::parse):
(Json::OurReader::readValue):
(Json::OurReader::skipCommentTokens):
(Json::OurReader::readToken):
(Json::OurReader::skipSpaces):
(Json::OurReader::match):
(Json::OurReader::readComment):
(Json::OurReader::addComment):
(Json::OurReader::readCStyleComment):
(Json::OurReader::readCppStyleComment):
(Json::OurReader::readNumber):
(Json::OurReader::readString):
(Json::OurReader::readStringSingleQuote):
(Json::OurReader::readObject):
(Json::OurReader::readArray):
(Json::OurReader::decodeNumber):
(Json::OurReader::decodeDouble):
(Json::OurReader::decodeString):
(Json::OurReader::decodeUnicodeCodePoint):
(Json::OurReader::decodeUnicodeEscapeSequence):
(Json::OurReader::addError):
(Json::OurReader::recoverFromError):
(Json::OurReader::addErrorAndRecover):
(Json::OurReader::currentValue):
(Json::OurReader::getNextChar):
(Json::OurReader::getLocationLineAndColumn const):
(Json::OurReader::getFormattedErrorMessages const):
(Json::OurReader::getStructuredErrors const):
(Json::OurReader::pushError):
(Json::OurReader::good const):
(Json::OurCharReader::OurCharReader):
(Json::OurCharReader::parse):
(Json::CharReaderBuilder::CharReaderBuilder):
(Json::CharReaderBuilder::~CharReaderBuilder):
(Json::CharReaderBuilder::newCharReader const):
(Json::getValidReaderKeys):
(Json::CharReaderBuilder::validate const):
(Json::CharReaderBuilder::operator[]):
(Json::CharReaderBuilder::strictMode):
(Json::CharReaderBuilder::setDefaults):
(Json::parseFromStream):
(Json::operator>>):
(Json::ValueIteratorBase::ValueIteratorBase):
(Json::ValueIteratorBase::deref const):
(Json::ValueIteratorBase::increment):
(Json::ValueIteratorBase::decrement):
(Json::ValueIteratorBase::computeDistance const):
(Json::ValueIteratorBase::isEqual const):
(Json::ValueIteratorBase::copy):
(Json::ValueIteratorBase::key const):
(Json::ValueIteratorBase::index const):
(Json::ValueIteratorBase::name const):
(Json::ValueIteratorBase::memberName const):
(Json::ValueConstIterator::ValueConstIterator):
(Json::operator=):
(Json::ValueIterator::ValueIterator):
(Json::ValueIterator::operator=):
(Json::InRange):
(Json::integerToDouble):
(Json::duplicateStringValue):
(Json::duplicateAndPrefixStringValue):
(Json::decodePrefixedString):
(Json::releaseStringValue):
(Json::Exception::Exception):
(Json::throw):
(Json::RuntimeError::RuntimeError):
(Json::LogicError::LogicError):
(Json::throwRuntimeError):
(Json::throwLogicError):
(Json::Value::CommentInfo::CommentInfo):
(Json::Value::CommentInfo::~CommentInfo):
(Json::Value::CommentInfo::setComment):
(Json::Value::CZString::CZString):
(Json::Value::CZString::~CZString):
(Json::Value::CZString::swap):
(Json::Value::CZString::operator=):
(Json::Value::CZString::operator< const):
(Json::Value::CZString::operator== const):
(Json::Value::CZString::index const):
(Json::Value::CZString::data const):
(Json::Value::CZString::length const):
(Json::Value::CZString::isStaticString const):
(Json::Value::Value):
(Json::Value::~Value):
(Json::Value::operator=):
(Json::Value::swapPayload):
(Json::Value::swap):
(Json::Value::type const):
(Json::Value::compare const):
(Json::Value::operator< const):
(Json::Value::operator<= const):
(Json::Value::operator>= const):
(Json::Value::operator> const):
(Json::Value::operator== const):
(Json::Value::operator!= const):
(Json::Value::asCString const):
(Json::Value::getString const):
(Json::Value::asString const):
(Json::Value::asConstString const):
(Json::Value::asInt const):
(Json::Value::asUInt const):
(Json::Value::asInt64 const):
(Json::Value::asUInt64 const):
(Json::Value::asLargestInt const):
(Json::Value::asLargestUInt const):
(Json::Value::asDouble const):
(Json::Value::asFloat const):
(Json::Value::asBool const):
(Json::Value::isConvertibleTo const):
(Json::Value::size const):
(Json::Value::empty const):
(Json::Value::operator! const):
(Json::Value::clear):
(Json::Value::resize):
(Json::Value::operator[]):
(Json::Value::operator[] const):
(Json::Value::initBasic):
(Json::Value::resolveReference):
(Json::Value::get const):
(Json::Value::isValidIndex const):
(Json::Value::find const):
(Json::Value::append):
(Json::Value::removeMember):
(Json::Value::removeIndex):
(Json::Value::isMember const):
(Json::Value::getMemberNames const):
(Json::IsIntegral):
(Json::Value::isNull const):
(Json::Value::isBool const):
(Json::Value::isInt const):
(Json::Value::isUInt const):
(Json::Value::isInt64 const):
(Json::Value::isUInt64 const):
(Json::Value::isIntegral const):
(Json::Value::isDouble const):
(Json::Value::isNumeric const):
(Json::Value::isString const):
(Json::Value::isArray const):
(Json::Value::isObject const):
(Json::Value::setComment):
(Json::Value::hasComment const):
(Json::Value::getComment const):
(Json::Value::setOffsetStart):
(Json::Value::setOffsetLimit):
(Json::Value::getOffsetStart const):
(Json::Value::getOffsetLimit const):
(Json::Value::toStyledString const):
(Json::Value::begin const):
(Json::Value::end const):
(Json::Value::begin):
(Json::Value::end):
(Json::PathArgument::PathArgument):
(Json::Path::Path):
(Json::Path::makePath):
(Json::Path::addPathInArg):
(Json::Path::invalidPath):
(Json::Path::resolve const):
(Json::Path::make const):
(Json::containsControlCharacter):
(Json::containsControlCharacter0):
(Json::valueToString):
(Json::valueToQuotedString):
(Json::strnpbrk):
(Json::valueToQuotedStringN):
(Json::Writer::~Writer):
(Json::FastWriter::FastWriter):
(Json::FastWriter::enableYAMLCompatibility):
(Json::FastWriter::dropNullPlaceholders):
(Json::FastWriter::omitEndingLineFeed):
(Json::FastWriter::write):
(Json::FastWriter::writeValue):
(Json::StyledWriter::StyledWriter):
(Json::StyledWriter::write):
(Json::StyledWriter::writeValue):
(Json::StyledWriter::writeArrayValue):
(Json::StyledWriter::isMultineArray):
(Json::StyledWriter::pushValue):
(Json::StyledWriter::writeIndent):
(Json::StyledWriter::writeWithIndent):
(Json::StyledWriter::indent):
(Json::StyledWriter::unindent):
(Json::StyledWriter::writeCommentBeforeValue):
(Json::StyledWriter::writeCommentAfterValueOnSameLine):
(Json::StyledWriter::hasCommentForValue):
(Json::StyledStreamWriter::StyledStreamWriter):
(Json::StyledStreamWriter::write):
(Json::StyledStreamWriter::writeValue):
(Json::StyledStreamWriter::writeArrayValue):
(Json::StyledStreamWriter::isMultineArray):
(Json::StyledStreamWriter::pushValue):
(Json::StyledStreamWriter::writeIndent):
(Json::StyledStreamWriter::writeWithIndent):
(Json::StyledStreamWriter::indent):
(Json::StyledStreamWriter::unindent):
(Json::StyledStreamWriter::writeCommentBeforeValue):
(Json::StyledStreamWriter::writeCommentAfterValueOnSameLine):
(Json::StyledStreamWriter::hasCommentForValue):
(Json::BuiltStyledStreamWriter::BuiltStyledStreamWriter):
(Json::BuiltStyledStreamWriter::write):
(Json::BuiltStyledStreamWriter::writeValue):
(Json::BuiltStyledStreamWriter::writeArrayValue):
(Json::BuiltStyledStreamWriter::isMultineArray):
(Json::BuiltStyledStreamWriter::pushValue):
(Json::BuiltStyledStreamWriter::writeIndent):
(Json::BuiltStyledStreamWriter::writeWithIndent):
(Json::BuiltStyledStreamWriter::indent):
(Json::BuiltStyledStreamWriter::unindent):
(Json::BuiltStyledStreamWriter::writeCommentBeforeValue):
(Json::BuiltStyledStreamWriter::writeCommentAfterValueOnSameLine):
(Json::BuiltStyledStreamWriter::hasCommentForValue):
(Json::StreamWriter::StreamWriter):
(Json::StreamWriter::~StreamWriter):
(Json::StreamWriter::Factory::~Factory):
(Json::StreamWriterBuilder::StreamWriterBuilder):
(Json::StreamWriterBuilder::~StreamWriterBuilder):
(Json::StreamWriterBuilder::newStreamWriter const):
(Json::getValidWriterKeys):
(Json::StreamWriterBuilder::validate const):
(Json::StreamWriterBuilder::operator[]):
(Json::StreamWriterBuilder::setDefaults):
(Json::writeString):
(Json::operator<<):
* openvr/src/openvr_api_public.cpp: Added.
(vr::VR_GetInitToken):
(vr::VR_InitInternal2):
(vr::VR_InitInternal):
(vr::VR_ShutdownInternal):
(vr::VR_LoadHmdSystemInternal):
(vr::VR_GetGenericInterface):
(vr::VR_IsInterfaceVersionValid):
(vr::VR_IsHmdPresent):
(vr::VR_IsRuntimeInstalled):
(vr::VR_RuntimePath):
(vr::VR_GetVRInitErrorAsSymbol):
(vr::VR_GetVRInitErrorAsEnglishDescription):
(vr::VR_GetStringForHmdError):
* openvr/src/vrcommon/dirtools_public.cpp: Added.
(BCreateDirectoryRecursive):
(BCreateDirectory):
* openvr/src/vrcommon/dirtools_public.h: Added.
* openvr/src/vrcommon/envvartools_public.cpp: Added.
(GetEnvironmentVariable):
(SetEnvironmentVariable):
* openvr/src/vrcommon/envvartools_public.h: Added.
* openvr/src/vrcommon/hmderrors_public.cpp: Added.
(GetEnglishStringForHmdError):
(GetIDForVRInitError):
* openvr/src/vrcommon/hmderrors_public.h: Added.
* openvr/src/vrcommon/pathtools_public.cpp: Added.
(Path_GetExecutablePath):
(Path_GetWorkingDirectory):
(Path_SetWorkingDirectory):
(Path_StripFilename):
(Path_StripDirectory):
(Path_StripExtension):
(Path_GetExtension):
(Path_IsAbsolute):
(Path_MakeAbsolute):
(Path_FixSlashes):
(Path_GetSlash):
(Path_Join):
(Path_RemoveTrailingSlash):
(Path_Compact):
(Path_GetThisModulePath):
(Path_IsDirectory):
(Path_IsAppBundle):
(Path_Exists):
(Path_FindParentDirectoryRecursively):
(Path_FindParentSubDirectoryRecursively):
(Path_ReadBinaryFile):
(Path_WriteBinaryFile):
(Path_ReadTextFile):
(Path_WriteStringToTextFile):
(Path_WriteStringToTextFileAtomic):
(Path_FilePathToUrl):
(Path_UrlToFilePath):
(GetUserDocumentsPath):
* openvr/src/vrcommon/pathtools_public.h: Added.
* openvr/src/vrcommon/sharedlibtools_public.cpp: Added.
(SharedLib_Load):
(SharedLib_GetFunction):
(SharedLib_Unload):
* openvr/src/vrcommon/sharedlibtools_public.h: Added.
* openvr/src/vrcommon/strtools_public.cpp: Added.
(StringHasPrefix):
(StringHasPrefixCaseSensitive):
(StringHasSuffix):
(StringHasSuffixCaseSensitive):
(UTF16to8):
(UTF8to16):
(strcpy_safe):
(StringToUpper):
(StringToLower):
(ReturnStdString):
(BufferToStdString):
(Uint64ToString):
(StringToUint64):
(cIntToHexDigit):
(iHexCharToInt):
(V_URLEncodeInternal):
(V_URLDecodeInternal):
(V_URLEncode):
(V_URLDecode):
(V_StripExtension):
* openvr/src/vrcommon/strtools_public.h: Added.
(stricmp):
(strnicmp):
(wcsncpy_s):
(strncpy_s):
(strtoull):
* openvr/src/vrcommon/vrpathregistry_public.cpp: Added.
(GetAppSettingsPath):
(CVRPathRegistry_Public::CVRPathRegistry_Public):
(CVRPathRegistry_Public::GetOpenVRConfigPath):
(CVRPathRegistry_Public::GetVRPathRegistryFilename):
(ParseStringListFromJson):
(StringListToJson):
(CVRPathRegistry_Public::ToJsonString):
(CVRPathRegistry_Public::BLoadFromFile):
(CVRPathRegistry_Public::BSaveToFile const):
(CVRPathRegistry_Public::GetRuntimePath const):
(CVRPathRegistry_Public::GetConfigPath const):
(CVRPathRegistry_Public::GetLogPath const):
(CVRPathRegistry_Public::GetPaths):
* openvr/src/vrcommon/vrpathregistry_public.h: Added.

Source/WebCore:

Added build dependencies with the OpenVR library.

* CMakeLists.txt:

Tools:

* Scripts/webkitpy/style/checker.py: Added openvr to the list of third party libraries
with reduced style checks.

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

18 months agoUse basic-gestures.js for fixed-inside-overflow-inside-iframe.html
fred.wang@free.fr [Wed, 24 Jan 2018 14:18:31 +0000 (14:18 +0000)]
Use basic-gestures.js for fixed-inside-overflow-inside-iframe.html
https://bugs.webkit.org/show_bug.cgi?id=182041

Patch by Frederic Wang <fwang@igalia.com> on 2018-01-24
Reviewed by Antonio Gomes.

* fast/scrolling/ios/fixed-inside-overflow-inside-iframe.html: Insert basic-gestures.js,
remove definition of getSwipeUIScript(), make runTest() async and use functions from
basic-gestures.js

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

18 months agoRemove unneeded -expected.txt files for reftest
rego@igalia.com [Wed, 24 Jan 2018 09:28:07 +0000 (09:28 +0000)]
Remove unneeded -expected.txt files for reftest

Unreviewed gardening.

The test fast/multicol/pagination/RightToLeft-max-width.html was converted
into a reftest in r217943, however expectations for GTK+ and Win port were not removed.

* platform/gtk/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Removed.
* platform/win/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Removed.

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

18 months agoAdd Chris Nardi to contributors list
antti@apple.com [Wed, 24 Jan 2018 09:20:43 +0000 (09:20 +0000)]
Add Chris Nardi to contributors list
https://bugs.webkit.org/show_bug.cgi?id=182029

Patch by Chris Nardi <cnardi@chromium.org> on 2018-01-24
Reviewed by Antti Koivisto.

* Scripts/webkitpy/common/config/contributors.json:

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

18 months agoUnreviewed, another attempt to fix the Windows build after r227479.
wenson_hsieh@apple.com [Wed, 24 Jan 2018 09:17:30 +0000 (09:17 +0000)]
Unreviewed, another attempt to fix the Windows build after r227479.

* WebFrame.cpp:
(WebFrame::elementWithName):

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

18 months agoUnreviewed, try to fix the Windows build after r227479.
wenson_hsieh@apple.com [Wed, 24 Jan 2018 09:01:00 +0000 (09:01 +0000)]
Unreviewed, try to fix the Windows build after r227479.

Tweak some Windows WebKitLegacy code to use updated HTMLFormElement methods.

* WebFrame.cpp:
(WebFrame::elementWithName):
(WebFrame::controlsInForm):

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

18 months agoHarden against layout passes triggered when iterating through HTMLFormElement::associ...
wenson_hsieh@apple.com [Wed, 24 Jan 2018 08:19:16 +0000 (08:19 +0000)]
Harden against layout passes triggered when iterating through HTMLFormElement::associatedElements
https://bugs.webkit.org/show_bug.cgi?id=182037
<rdar://problem/36747812>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Observe that HTMLFormElement::associatedElements returns a const reference to a Vector of raw
FormAssociatedElement pointers. In various call sites that iterate through these associated elements using this
function, some require synchronous layout updates per iteration, which can lead to a bad time when combined with
the first observation.

To address this, we introduce HTMLFormElement::copyAssociatedElementsVector. This returns a new vector
containing strong Refs to each associated element. From each call site that may trigger synchronous layout and
execute arbitrary script while iterating over associated form elements, we instead use iterate over protected
FormAssociatedElements.

From each call site that currently doesn't (and shouldn't) require a layout update, we use the old version that
returns a list of raw FormAssociatedElement pointers, but add ScriptDisallowedScopes to ensure that we never
execute script there in the future.

Test: fast/forms/form-data-associated-element-iteration.html

* html/DOMFormData.cpp:
(WebCore::DOMFormData::DOMFormData):

Change to use copyAssociatedElementsVector().

* html/FormController.cpp:
(WebCore::recordFormStructure):
(WebCore::FormController::restoreControlStateIn):

Change to use copyAssociatedElementsVector().

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::copyAssociatedElementsVector const):
(WebCore:: const):
(WebCore::HTMLFieldSetElement::length const):

Refactor to use unsafeAssociatedElements().

* html/HTMLFieldSetElement.h:
* html/HTMLFormControlsCollection.cpp:
(WebCore:: const):
(WebCore::HTMLFormControlsCollection::copyFormControlElementsVector const):
(WebCore::HTMLFormControlsCollection::customElementAfter const):
(WebCore::HTMLFormControlsCollection::updateNamedElementCache const):

Refactor these to use unsafeAssociatedElements().

* html/HTMLFormControlsCollection.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::unsafeAssociatedElements const):
(WebCore::HTMLFormElement::copyAssociatedElementsVector const):
* html/HTMLFormElement.h:
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):

Refactor to use copyAssociatedElementsVector().

Source/WebKitLegacy/mac:

Rename associatedElements() to unsafeAssociatedElements(), and add ScriptDisallowedScopes. See WebCore ChangeLog
for more details.

* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]):
(-[WebHTMLRepresentation controlsInForm:]):

LayoutTests:

Add a new layout test covering these hardening changes. See WebCore ChangeLog for more details.

* fast/forms/form-data-associated-element-iteration-expected.txt: Added.
* fast/forms/form-data-associated-element-iteration.html: Added.

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

18 months agoUnreviewed, suppress GCC warnings
utatane.tea@gmail.com [Wed, 24 Jan 2018 07:04:06 +0000 (07:04 +0000)]
Unreviewed, suppress GCC warnings
https://bugs.webkit.org/show_bug.cgi?id=181976

* runtime/TypedArrayType.h:

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

18 months agoImport WPT for modules
utatane.tea@gmail.com [Wed, 24 Jan 2018 04:59:24 +0000 (04:59 +0000)]
Import WPT for modules
https://bugs.webkit.org/show_bug.cgi?id=181981

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

This patch just imports WPT for modules mechanically.

* resources/import-expectations.json:
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/bad-module-specifier.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-01-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-01.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-02-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-02.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-03-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-03.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/credentials.sub-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/credentials.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentScript-null-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentScript-null.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentscript.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access-a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable-a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/inline-event-handler-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/inline-event-handler.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-classic-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-classic.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-module-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-module.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/w3c-import.log: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js: Added.
(errorHandler):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js: Added.
(test_dynamicOrdered.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js: Added.
(test_dynamicOrdered.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js: Added.
(test_dynamicOrdered.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js: Added.
(test_dynamicUnordered1.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js: Added.
(test_dynamicUnordered2.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js: Added.
(test_parsedOrdered.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js: Added.
(test_parsedOrdered.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js: Added.
(test_parsedUnordered1.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js: Added.
(test_parsedUnordered2.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/export-something-nested.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/export-something.js: Added.
(export.set_foo):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-something-namespace.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle.js: Added.
(test_importCycle.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-self.js: Added.
(test_importSelf.step):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4c.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4d.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5c.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5d.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5e.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6c.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6d.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7c.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7d.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7e.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7f.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-matches-inner.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-matches.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches-inner.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/missing-export-nested.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/missing-export.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/nested-missing-export.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/500-but-js.asis: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py: Added.
(main):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/credentials-iframe.sub.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/delayed-modulescript.py: Added.
(main):
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8-with-charset-header.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8-with-charset-header.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-404-but-js.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-500-but-js.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-b-cross-origin.sub.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/w3c-import.log: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/script-for-event-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/script-for-event.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/set-currentScript-on-window.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-cycle-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-cycle.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-a.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-b.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/syntaxerror-nested.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/syntaxerror.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/this-nested.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/this.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw-error.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw-nested.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/w3c-import.log: Added.

LayoutTests:

* TestExpectations:

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

18 months ago[YARR] Add diagnosis for YarrJIT failures
utatane.tea@gmail.com [Wed, 24 Jan 2018 04:51:08 +0000 (04:51 +0000)]
[YARR] Add diagnosis for YarrJIT failures
https://bugs.webkit.org/show_bug.cgi?id=181927

Reviewed by Sam Weinig.

It is nice if we can see the reason why YarrJIT fails to compile a given pattern.
This patch introduces Yarr::JITFailureReason and dumps messages if Options::dumpCompiledRegExpPatterns is specified.

* runtime/RegExp.cpp:
(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generateTerm):
(JSC::Yarr::YarrGenerator::backtrackTerm):
(JSC::Yarr::YarrGenerator::opCompileParenthesesSubpattern):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::dumpCompileFailure):
(JSC::Yarr::jitCompile):
* yarr/YarrJIT.h:
(JSC::Yarr::YarrCodeBlock::setFallBack):
(JSC::Yarr::YarrCodeBlock::fallBack):
(JSC::Yarr::YarrCodeBlock::clear):
(JSC::Yarr::YarrCodeBlock::YarrCodeBlock): Deleted.
(JSC::Yarr::YarrCodeBlock::~YarrCodeBlock): Deleted.
(JSC::Yarr::YarrCodeBlock::isFallBack): Deleted.

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

18 months agoAdd more module scope related tests with code evaluation by string
utatane.tea@gmail.com [Wed, 24 Jan 2018 04:35:18 +0000 (04:35 +0000)]
Add more module scope related tests with code evaluation by string
https://bugs.webkit.org/show_bug.cgi?id=181983

Reviewed by Sam Weinig.

JSTests:

Add more module scope related tests. When the original tests are landed,
we do not have browser integration. This patch adds more module scope tests
with dynamically created script evaluation. We add tests with Function
constructor, direct eval, indirect eval, setTimeout, setInterval, and event handlers.

* modules/scopes-eval.js: Added.
(shouldBe):
* modules/scopes.js:
(shouldBe):

LayoutTests:

* js/dom/modules/module-scope-event-handler-expected.txt: Added.
* js/dom/modules/module-scope-event-handler.html: Added.
* js/dom/modules/module-scope-set-interval-expected.txt: Added.
* js/dom/modules/module-scope-set-interval.html: Added.
* js/dom/modules/module-scope-set-timeout-expected.txt: Added.
* js/dom/modules/module-scope-set-timeout.html: Added.

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

18 months agoRemove pre-Sierra-OS-specific code in WTF and JavaScriptCore
achristensen@apple.com [Wed, 24 Jan 2018 02:27:56 +0000 (02:27 +0000)]
Remove pre-Sierra-OS-specific code in WTF and JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=182028

Reviewed by Keith Miller.

Source/JavaScriptCore:

* inspector/remote/cocoa/RemoteInspectorXPCConnection.h:
* inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::handleEvent):

Source/WTF:

* wtf/Platform.h:
* wtf/mac/AppKitCompatibilityDeclarations.h:
* wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
(WTF::MainThreadFunctionTracker::singleton): Deleted.
(WTF::MainThreadFunctionTracker::callOnMainThread): Deleted.
(WTF::MainThreadFunctionTracker::cancelCallOnMainThread): Deleted.
(WTF::MainThreadFunctionTracker::addFunction): Deleted.
(WTF::MainThreadFunctionTracker::removeIdentifier): Deleted.
(WTF::MainThreadFunctionTracker::removeFunctions): Deleted.
(WTF::callOnMainThread): Deleted.
(WTF::cancelCallOnMainThread): Deleted.
* wtf/spi/cocoa/SecuritySPI.h:
* wtf/spi/darwin/dyldSPI.h:
* wtf/text/icu/TextBreakIteratorICU.h:
(WTF::TextBreakIteratorICU::TextBreakIteratorICU):
(WTF::caretRules): Deleted.

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

18 months ago[Curl] Fix wrong redirection with relative url when it happens from
commit-queue@webkit.org [Wed, 24 Jan 2018 01:08:29 +0000 (01:08 +0000)]
[Curl] Fix wrong redirection with relative url when it happens from
different host than original host.
https://bugs.webkit.org/show_bug.cgi?id=181873

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2018-01-23
Reviewed by Alex Christensen.

* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::willSendRequest):
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::willSendRequest):

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

18 months agoMarked http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies...
jlewis3@apple.com [Wed, 24 Jan 2018 01:07:31 +0000 (01:07 +0000)]
Marked http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181958

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

18 months agoWeb Inspector: Network's columns shake when scrolling at non-default zoom level
commit-queue@webkit.org [Wed, 24 Jan 2018 00:46:39 +0000 (00:46 +0000)]
Web Inspector: Network's columns shake when scrolling at non-default zoom level
https://bugs.webkit.org/show_bug.cgi?id=181998
<rdar://problem/36449808>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-01-23
Reviewed by Matt Baker.

* UserInterface/Views/Table.js:
When zoomed the bounding client rect values were fractional, which was
unexpected by this area of code. Floor the values to get a value we expect
to be able to evenly distribute.

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

18 months agoUse precise index masking for FTL GetByArgumentByVal
fpizlo@apple.com [Wed, 24 Jan 2018 00:40:12 +0000 (00:40 +0000)]
Use precise index masking for FTL GetByArgumentByVal
https://bugs.webkit.org/show_bug.cgi?id=182006

Reviewed by Keith Miller.

This protects speculative out-of-bounds on arguments[index].

Making this work right involved fixing a possible overflow situation with
numberOfArgumentsToSkip.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasNumberOfArgumentsToSkip):
(JSC::DFG::Node::numberOfArgumentsToSkip):
* dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):

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

18 months agoMarked fast/visual-viewport/ios/caret-after-focus-in-fixed.html as flaky
jlewis3@apple.com [Wed, 24 Jan 2018 00:31:03 +0000 (00:31 +0000)]
Marked fast/visual-viewport/ios/caret-after-focus-in-fixed.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=181821

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

18 months agoMac Sierra perf bots have been failing due to CG errors
rniwa@webkit.org [Wed, 24 Jan 2018 00:30:06 +0000 (00:30 +0000)]
Mac Sierra perf bots have been failing due to CG errors
https://bugs.webkit.org/show_bug.cgi?id=181955

Reviewed by Antti Koivisto.

Ignore the CoreGraphics error messages on macOS Sierra.

Also added tests for ignoring lines in stdout and stderr.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.run_failed): Refactored for clarity.
(PerfTest):
(PerfTest.filter_ignored_lines): Added.
(PerfTest._lines_to_ignore): Renamed from _lines_to_ignore_in_parser_result since these regular expressions
are now used to ignore lines in other kinds of tests than parser tests.
(PerfTest._errors_to_ignore_in_sierra): Added.
(PerfTest._filter_output): Added the code to ignore errors only on macOS Sierra.
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(test_parse_output_with_ignored_stdout): Added.
(test_parse_output_with_ignored_stderr): Added.
(test_parse_output_with_ignored_stderr.MockPortWithSierraName): Added.

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

18 months agoResign NowPlaying status when no media element is eligible
eric.carlson@apple.com [Tue, 23 Jan 2018 23:34:06 +0000 (23:34 +0000)]
Resign NowPlaying status when no media element is eligible
https://bugs.webkit.org/show_bug.cgi?id=181914
<rdar://problem/35294116>

Reviewed by Jer Noble.

Source/WebCore:

Updated API test.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::removedFromAncestor): Call mediaSession->clientCharacteristicsChanged
so NowPlaying status will be updated.

* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted const): Return early when the media
element has been suspended.
(WebCore::MediaElementSession::canShowControlsManager const): Return false when being queried
for NowPlaying status in an inactive document or when element has been suspended.
(WebCore::isMainContentForPurposesOfAutoplay): Return early if it isn't safe to update
style because HitTest can force a layout.
(WebCore::MediaElementSession::updateIsMainContent const): Ditto.

* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Implement in for all
ports.
* platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::registeredAsNowPlayingApplication const):
* platform/audio/ios/MediaSessionManagerIOS.h:
* platform/audio/mac/MediaSessionManagerMac.h:
* platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::MediaSessionManagerMac::updateNowPlayingInfo): Call MRMediaRemoteSetCanBeNowPlayingApplication
whenever status changes.
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Deleted, implemented
in the base class.

Source/WebKit:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _requestActiveNowPlayingSessionInfo:]): Return registeredAsNowPlayingApplication
status.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::nowPlayingInfoCallback): Ditto.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::requestActiveNowPlayingSessionInfo): Ditto.

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
(-[NowPlayingTestWebView hasActiveNowPlayingSession]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:

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

18 months agoSkipped fast/events/message-port.html on macOS
jlewis3@apple.com [Tue, 23 Jan 2018 23:25:19 +0000 (23:25 +0000)]
Skipped fast/events/message-port.html on macOS
https://bugs.webkit.org/show_bug.cgi?id=181969

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

18 months agoUse CompletionHandlers for ResourceHandleClient::didReceiveResponseAsync
achristensen@apple.com [Tue, 23 Jan 2018 23:22:19 +0000 (23:22 +0000)]
Use CompletionHandlers for ResourceHandleClient::didReceiveResponseAsync
https://bugs.webkit.org/show_bug.cgi?id=181961

Reviewed by Michael Catanzaro.

Source/WebCore:

No change in behavior.

* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveResponseAsync):
* loader/ResourceLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveResponseAsync):
* loader/appcache/ApplicationCacheGroup.h:
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):
(WebCore::BlobResourceHandle::continueDidReceiveResponse): Deleted.
* platform/network/BlobResourceHandle.h:
* platform/network/PingHandle.h:
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::didReceiveResponse):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/SynchronousLoaderClient.cpp:
(WebCore::SynchronousLoaderClient::didReceiveResponseAsync):
* platform/network/SynchronousLoaderClient.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse): Deleted.
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::curlDidReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::handleDataURL):
(WebCore::ResourceHandleCurlDelegate::continueDidReceiveResponse): Deleted.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::continueDidReceiveResponse): Deleted.
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse]): Deleted.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::continueDidReceiveResponse): Deleted.

Source/WebKit:

* NetworkProcess/Downloads/Download.h:
* NetworkProcess/NetworkLoad.cpp:
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkResourceLoadParameters.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/WebProcess.cpp:

Source/WebKitLegacy:

* WebCoreSupport/WebResourceLoadScheduler.cpp:

Source/WebKitLegacy/mac:

* WebView/WebPreferences.mm:

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

18 months agoMarked media/W3C/audio/events/event_progress.html and media/W3C/video/events/event_or...
jlewis3@apple.com [Tue, 23 Jan 2018 23:21:32 +0000 (23:21 +0000)]
Marked media/W3C/audio/events/event_progress.html and media/W3C/video/events/event_order_loadstart_progress.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181966

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

18 months agoFollow-up for: oss-fuzz jsc build is broken: StringImpl.h:27:10: fatal error: 'unicod...
ddkilzer@apple.com [Tue, 23 Jan 2018 23:19:02 +0000 (23:19 +0000)]
Follow-up for: oss-fuzz jsc build is broken: StringImpl.h:27:10: fatal error: 'unicode/ustring.h' file not found
<https://webkit.org/b/181871>
<rdar://problem/36669691>

Address feedback for this change.

* CMakeLists.txt: Change "SYSTEM PUBLIC" to "SYSTEM PRIVATE" per
feedback from Konstantin Tokarev.

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

18 months agoUnreviewed, rollout r227216 as it seems to be causing deadlocks
cdumez@apple.com [Tue, 23 Jan 2018 23:15:39 +0000 (23:15 +0000)]
Unreviewed, rollout r227216 as it seems to be causing deadlocks
https://bugs.webkit.org/show_bug.cgi?id=182013

Source/WebCore:

* page/ChromeClient.h:
* testing/Internals.cpp:
(WebCore::Internals::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* Platform/IPC/Connection.cpp:
(IPC::Connection::waitForSyncReply):
* Platform/IPC/Connection.h:
(IPC::Connection::setShouldProcessIncomingMessagesWhileWaitingForSyncReply): Deleted.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::NetworkProcessConnection):
* WebProcess/Storage/WebToStorageProcessConnection.cpp:
(WebKit::WebToStorageProcessConnection::WebToStorageProcessConnection):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::undo):
(WebKit::WebEditorClient::redo):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting): Deleted.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

LayoutTests:

* fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Removed.
* fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Removed.

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

18 months agoMarked http/tests/misc/resource-timing-resolution.html as flaky.
jlewis3@apple.com [Tue, 23 Jan 2018 23:14:20 +0000 (23:14 +0000)]
Marked http/tests/misc/resource-timing-resolution.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181957

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:

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

18 months agoREGRESSION (r226622): ASSERTION FAILED: !m_frame in WebCore::DOMWindowProperty::willD...
commit-queue@webkit.org [Tue, 23 Jan 2018 23:14:15 +0000 (23:14 +0000)]
REGRESSION (r226622): ASSERTION FAILED: !m_frame in WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame()
https://bugs.webkit.org/show_bug.cgi?id=181756

Patch by Ali Juma <ajuma@chromium.org> on 2018-01-23
Reviewed by Simon Fraser.

Don't create a VisualViewport for a suspended DOMWindow. When a DOMWindow is suspended
for document suspension, all DOMWindowProperties are disconnected from their frame.
Creating a new VisualViewport while in this state means unexpectedly having a DOMWindowProperty
that's connected to a frame, and this leads to an assertion failure.

Test: http/tests/navigation/https-in-page-cache.html

* page/DOMWindow.cpp:
(WebCore::DOMWindow::visualViewport const):
Don't create a VisualViewport while suspended.
* page/FrameView.cpp:
(WebCore::FrameView::updateLayoutViewport):
Handle null DOMWindow::visualViewport.

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

18 months ago[Curl] CurlRequest must protect its client from disposal while it's on duty.
commit-queue@webkit.org [Tue, 23 Jan 2018 22:30:39 +0000 (22:30 +0000)]
[Curl] CurlRequest must protect its client from disposal while it's on duty.
https://bugs.webkit.org/show_bug.cgi?id=181875

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2018-01-23
Reviewed by Alex Christensen.

No new tests. It's covered by existing tests.

* platform/network/curl/CurlDownload.h:
* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::callClient):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::didReceiveDataFromMultipart):
(WebCore::CurlRequest::didCompleteTransfer):
(WebCore::CurlRequest::invokeDidReceiveResponse):
* platform/network/curl/CurlRequest.h:
* platform/network/curl/CurlRequestClient.h:
* platform/network/curl/ResourceHandleCurlDelegate.h:

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

18 months ago[WinCairo] Use 64-bit toolset
commit-queue@webkit.org [Tue, 23 Jan 2018 22:14:41 +0000 (22:14 +0000)]
[WinCairo] Use 64-bit toolset
https://bugs.webkit.org/show_bug.cgi?id=181979

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2018-01-23
Reviewed by Alex Christensen.

Use 64-bit toolset for 64-bit build in order to improve build time.

* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):

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

18 months agoUnreviewed, rolling out r227437.
commit-queue@webkit.org [Tue, 23 Jan 2018 21:42:51 +0000 (21:42 +0000)]
Unreviewed, rolling out r227437.
https://bugs.webkit.org/show_bug.cgi?id=182011

broke build (Requested by alexchristensen on #webkit).

Reverted changeset:

"Remove unused QTKit preference"
https://bugs.webkit.org/show_bug.cgi?id=181968
https://trac.webkit.org/changeset/227437

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

18 months ago[Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties
graouts@webkit.org [Tue, 23 Jan 2018 21:40:44 +0000 (21:40 +0000)]
[Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties
https://bugs.webkit.org/show_bug.cgi?id=181978

Not reviewed.

Fix failures for http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html introduced in the previous patch.
Those keyword values are not expected.

* platform/animation/TimingFunction.cpp:
(WebCore::TimingFunction::cssText const):

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

18 months agofeMorphology stops applying if either x or y radius is 0 but should not.
simon.fraser@apple.com [Tue, 23 Jan 2018 21:39:12 +0000 (21:39 +0000)]
feMorphology stops applying if either x or y radius is 0 but should not.
https://bugs.webkit.org/show_bug.cgi?id=181903

Reviewed by Dean Jackson.
Source/WebCore:

feMorphology should allow the radius on one axis to be zero but still apply the effect
(it's akin to a blur on just one axis). Also, any negative radius, or zero on both axes
should act like a pass-through, rather than outputting transparent blank (this is a spec
change from SVG 1.1 to SVG 2).

Tests: svg/filters/feMorphology-zero-radius-one-axis-expected.svg
       svg/filters/feMorphology-zero-radius-one-axis.svg

* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::platformApplyDegenerate):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::createImageBufferResult):

LayoutTests:

* svg/filters/feMorphology-zero-radius-one-axis-expected.svg: Added.
* svg/filters/feMorphology-zero-radius-one-axis.svg: Added.

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

18 months agoRemove unused MediaPlayerSupportsTypeClient
achristensen@apple.com [Tue, 23 Jan 2018 21:33:35 +0000 (21:33 +0000)]
Remove unused MediaPlayerSupportsTypeClient
https://bugs.webkit.org/show_bug.cgi?id=182003

Reviewed by Sam Weinig.

This was used for a QTKit-specific hack I removed in r227372.

* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::getSupportedCapabilitiesForAudioVideoType):
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::isTypeSupported):
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementationSupportsTypeClient::DOMImplementationSupportsTypeClient): Deleted.
(): Deleted.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType const):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks const): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerDocumentHost const): Deleted.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::supportsType):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerSupportsTypeClient::mediaPlayerNeedsSiteSpecificHacks const): Deleted.
(WebCore::MediaPlayerSupportsTypeClient::mediaPlayerDocumentHost const): Deleted.

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

18 months agoRemove compile guard around beacon API
achristensen@apple.com [Tue, 23 Jan 2018 21:32:39 +0000 (21:32 +0000)]
Remove compile guard around beacon API
https://bugs.webkit.org/show_bug.cgi?id=182002

Reviewed by Sam Weinig.

It's enabled everywhere now.

* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetBeaconAPIEnabled):
(WKPreferencesGetBeaconAPIEnabled):
* config.h:

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