WebKit-https.git
3 months agoNon-unified build fixes, late September 2020 edition
aperez@igalia.com [Fri, 25 Sep 2020 08:52:05 +0000 (08:52 +0000)]
Non-unified build fixes, late September 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=216950

Unreviewed build fix.

Source/JavaScriptCore:

* inspector/agents/InspectorConsoleAgent.cpp: Add missing ScriptArguments.h include.

Source/WebCore:

No new tests needed.

* Modules/webaudio/AudioNodeInput.cpp: Add missing AudioUtilities.h include.
* Modules/webaudio/AudioNodeOutput.cpp: Ditto.
* Modules/webaudio/BiquadProcessor.cpp: Ditto.
* Modules/webaudio/GainNode.cpp: Ditto.
* Modules/webaudio/PannerNode.cpp: Ditto.
* page/PerformanceUserTiming.cpp: Add missing JavaScriptCore/JSCJSValueInlines.h include.
* platform/audio/AudioUtilities.h: Add missing <cmath> include.

Source/WebKit:

* NetworkProcess/NetworkSessionCreationParameters.cpp: Arrange guards to include
WebCoreArgumentCoders.h with USE(SOUP).
* UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp: Add missing WebCoreArgumentCoders.h
include.

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

3 months ago%TypedArray%.prototype.toLocaleString must make conscious use of @toString
ross.kirsling@sony.com [Fri, 25 Sep 2020 05:40:25 +0000 (05:40 +0000)]
%TypedArray%.prototype.toLocaleString must make conscious use of @toString
https://bugs.webkit.org/show_bug.cgi?id=216956

Reviewed by Yusuke Suzuki.

JSTests:

* test262/expectations.yaml:
Mark four test cases as passing.

Source/JavaScriptCore:

A fascinating bug: if we override Number.prototype.toLocaleString to return { valueOf() { ... } },
then we can observe our %TypedArray%.prototype.toLocaleString resolving its element values in the wrong order.

* builtins/TypedArrayPrototype.js:
(toLocaleString):
Wrap the toLocaleString call for each element in @toString(), as the spec indicates.

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

3 months ago[GLIB] Unreviewed test gardening. Several WPT's MathML tests are crashing in GTK...
dpino@igalia.com [Fri, 25 Sep 2020 05:02:09 +0000 (05:02 +0000)]
[GLIB] Unreviewed test gardening. Several WPT's MathML tests are crashing in GTK/WPE Debug.

* platform/glib/TestExpectations:

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

3 months ago[LFC][IFC] Add helper functions to create LineBox::InlineBox objects for inline level...
zalan@apple.com [Fri, 25 Sep 2020 04:49:46 +0000 (04:49 +0000)]
[LFC][IFC] Add helper functions to create LineBox::InlineBox objects for inline level boxes.
https://bugs.webkit.org/show_bug.cgi?id=216957

Reviewed by Simon Fraser.

The overloaded LineBox::InlineBox constructors were representing different types of inline level boxes.
These new helper functions make it easier to figure out how to initiate LineBox::InlineBox objects depending on the type of
the inline level box.
This patch also removes an incorrect ASSERT on the inline box's height. It is okay to have a zero height inline box.

* layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineBoxes):
* layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::LineBox::InlineBox::InlineBox):
(WebCore::Layout::m_baseline):
* layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::InlineBox::createBoxForRootInlineBox):
(WebCore::Layout::LineBox::InlineBox::createBoxForAtomicInlineLevelBox):
(WebCore::Layout::LineBox::InlineBox::createBoxForInlineBox):

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

3 months ago[GLIB] Rebaseline and unify some expectations after r267551
lmoura@igalia.com [Fri, 25 Sep 2020 03:00:45 +0000 (03:00 +0000)]
[GLIB] Rebaseline and unify some expectations after r267551

Unreviewed test gardening.

This one was missing from previous mathml gardening:
* platform/glib/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-style-001.tentative-expected.txt:

After r267551:
* platform/glib/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt: Removed.

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

3 months ago%TypedArray%.prototype.sort must throw if comparator is defined and uncallable
ross.kirsling@sony.com [Fri, 25 Sep 2020 02:51:45 +0000 (02:51 +0000)]
%TypedArray%.prototype.sort must throw if comparator is defined and uncallable
https://bugs.webkit.org/show_bug.cgi?id=216952

Reviewed by Yusuke Suzuki.

JSTests:

* stress/typedarray-sort.js:
Fix test.

* test262/expectations.yaml:
Mark two test cases as passing.

Source/JavaScriptCore:

* builtins/TypedArrayPrototype.js:
(sort):

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

3 months agoInAppBrowserPrivacy HTTPCookie tests incorrectly use the IsInAppBrowserPrivacyEnabled...
katherine_cheney@apple.com [Thu, 24 Sep 2020 23:59:10 +0000 (23:59 +0000)]
InAppBrowserPrivacy HTTPCookie tests incorrectly use the IsInAppBrowserPrivacyEnabled NSUserDefaults value
https://bugs.webkit.org/show_bug.cgi?id=216896
<rdar://problem/69456713>

Reviewed by Brady Eidson.

The IsInAppBrowserPrivacyEnabled UserDefaults value no longer enables
App-Bound Domains, so the tests should not use it in this way.
Changing the bundle identifier using
cleanUpInAppBrowserPrivacyTestSettings() and
initializeInAppBrowserPrivacyTestSettings() is enough to
enable/disable App-Bound Domains.

This patch also adds a WKHTTPCookieStoreObserver to test setting
app-bound cookies. This ensures we don't get a false positive from
the test by being allowed to set but not retrieve app-bound cookies.

* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserPrivacyCookieObserver cookiesDidChangeInCookieStore:]):
(setUpCookieTestWithWebsiteDataStore):
(TEST):
(setUpCookieTest): Deleted.
Changed name and simplified.

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

3 months agoCSS angle unit conversions should consistently use the same associativity
keith_miller@apple.com [Thu, 24 Sep 2020 22:40:06 +0000 (22:40 +0000)]
CSS angle unit conversions should consistently use the same associativity
https://bugs.webkit.org/show_bug.cgi?id=216906

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Rebaseline tests for different rounding errors in angle unit conversions. The minmax-angle-computed test
is now passing and the webaudio tests just have slightly different results now.

* web-platform-tests/css/css-values/minmax-angle-computed-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt:

Source/WebCore:

Right now we inconsistently associate our floating point math for
angle unit conversions. In particular,
conversionToCanonicalUnitsScaleFactor expects there to be a single
fixed constant we can multiply by to change units. However, the
various conversion functions in WTF are not associated in this
way. e.g.  rad2deg does ((radian * 180) / pi) rather than
(radian * (180 / pi)). Since FP math is NOT associative these
produce different results. For example, 1.57 radians is
89.954373835539258 degrees in the first case but
89.954373835539243 in the second.

This patch changes the WTF functions to operate on a single scale
factor when converting to/from the canonical unit. Conversions
between non-canonical units first convert to the canonical unit
(degree). Also, conversionToCanonicalUnitsScaleFactor now gets the
scale factor from WTF to ensure we get the same associativity
everywhere.

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):

Source/WTF:

Right now we inconsistently associate our floating point math for
angle unit conversions. In particular,
conversionToCanonicalUnitsScaleFactor expects there to be a single
fixed constant we can multiply by to change units. However, the
various conversion functions in WTF are not associated in this
way. e.g. rad2deg does ((radian * 180) / pi) rather than
(radian  *(180 / pi)). Since FP math is NOT associative these
produce different results. For example, 1.57 radians is
89.954373835539258 degrees in the first case but
89.954373835539243 in the second.

This patch changes those WTF functions to operate on a single
scale factor when converting to/from the canonical
unit. Conversions between non-canonical units first convert to the
canonical unit (degree).

* wtf/MathExtras.h:
(deg2rad):
(rad2deg):
(deg2grad):
(grad2deg):
(deg2turn):
(turn2deg):
(rad2grad):
(grad2rad):

LayoutTests:

Rebaseline tests.

* TestExpectations:

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

3 months ago[SVG2] Remove color-profile tag
Hironori.Fujii@sony.com [Thu, 24 Sep 2020 22:25:45 +0000 (22:25 +0000)]
[SVG2] Remove color-profile tag
https://bugs.webkit.org/show_bug.cgi?id=216910

Reviewed by Darin Adler.

SVG2 removed color-profile element.

* dom/Document.cpp:
(WebCore::Document::validateCustomElementName):
* svg/svgtags.in:

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

3 months agoJSTests:
ross.kirsling@sony.com [Thu, 24 Sep 2020 22:05:31 +0000 (22:05 +0000)]
JSTests:
%TypedArray%.prototype.{map, filter} should perform TypedArraySpeciesCreate correctly
https://bugs.webkit.org/show_bug.cgi?id=216938

Reviewed by Yusuke Suzuki.

* stress/typedarray-slice.js:
Fix test.

* test262/expectations.yaml:
Mark ten test cases as passing.

Source/JavaScriptCore:
%TypedArray% methods should perform TypedArraySpeciesCreate correctly
https://bugs.webkit.org/show_bug.cgi?id=216938

Reviewed by Yusuke Suzuki.

map, filter, and slice are obliged to throw when:
1. this.constructor is defined but not an object
2. the species constructor produces a valid typed array which is shorter than the expected length

* builtins/TypedArrayPrototype.js:
(map):
(filter):
* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSlice):

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

3 months ago[GLIB] Update baseline and expectations after r267531
lmoura@igalia.com [Thu, 24 Sep 2020 21:55:09 +0000 (21:55 +0000)]
[GLIB] Update baseline and expectations after r267531

Unreviewed test gardening.

Also unified some shared expectations between GTK and WPE.

Some flakies likely to be still around in WPE. Will garden as they
appear in the test runs.

* platform/glib/TestExpectations:
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-baseline-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/merror-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/mrow-preferred-width-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/cramped-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/dynamic-table-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-font-family-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-properties-on-the-math-root-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/display-2-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/displaystyle-3-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/multi-column-layout-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/scriptlevel-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/content-editable-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/display-1-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/integration-point-5-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-001-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-002-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-002-expected.txt.
* platform/glib/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt.
* platform/glib/mathml/presentation/menclose-notation-values-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/presentation/menclose-notation-values-expected.txt.
* platform/glib/mathml/presentation/mspace-children-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/presentation/mspace-children-expected.txt.
* platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-001.tentative-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-001.tentative-expected.txt: Added.
* platform/wpe/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
* platform/wpe/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Copied from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt.
* platform/wpe/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Removed.
* platform/wpe/mathml/presentation/menclose-notation-values-expected.txt: Removed.
* platform/wpe/mathml/presentation/mspace-children-expected.txt: Removed.

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

3 months agoREGRESSION(r267379): Web Inspector: Sources navigation sidebar is empty every other...
nvasilyev@apple.com [Thu, 24 Sep 2020 21:47:43 +0000 (21:47 +0000)]
REGRESSION(r267379): Web Inspector: Sources navigation sidebar is empty every other time it's selected
https://bugs.webkit.org/show_bug.cgi?id=216942
<rdar://problem/69520398>

Reviewed by Brian Burg.

* UserInterface/Views/Sidebar.js:
(WI.Sidebar.prototype.insertSidebarPanel):
insertSidebarPanel was exiting early when sidebarPanel.parentSidebar matched the current sidebar,
creating a state when `this._sidebarPanels` is an empty array.

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

3 months agoREGRESSION(iOS WebDriver): action chains with 'Touch' pointerType don't work on Mac
bburg@apple.com [Thu, 24 Sep 2020 21:36:45 +0000 (21:36 +0000)]
REGRESSION(iOS WebDriver): action chains with 'Touch' pointerType don't work on Mac
https://bugs.webkit.org/show_bug.cgi?id=216937
<rdar://problem/69149171>

Reviewed by Darin Adler.

Before iOS WebDriver shipped, 'Touch' was unconditionally aliased to 'Mouse.'
Make sure the aliasing happens for macOS so the command doesn't fail frivolously.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::performInteractionSequence):
Alias 'Touch' to 'Mouse' when touch is not available and mouse is.
This is the case for macOS.

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

3 months agoUse more inline initialization and constexpr in WebAudio code
cdumez@apple.com [Thu, 24 Sep 2020 20:10:05 +0000 (20:10 +0000)]
Use more inline initialization and constexpr in WebAudio code
https://bugs.webkit.org/show_bug.cgi?id=216939

Reviewed by Darin Adler.

Use more inline initialization and constexpr in WebAudio code.

* Modules/webaudio/AudioBufferSourceNode.cpp:
* Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::AudioDestinationNode):
* Modules/webaudio/AudioDestinationNode.h:
* Modules/webaudio/AudioNodeOutput.cpp:
(WebCore::AudioNodeOutput::AudioNodeOutput):
* Modules/webaudio/AudioNodeOutput.h:
* Modules/webaudio/AudioParamTimeline.h:
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/AudioSummingJunction.cpp:
(WebCore::AudioSummingJunction::AudioSummingJunction):
* Modules/webaudio/AudioSummingJunction.h:
* Modules/webaudio/BiquadDSPKernel.cpp:
* Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::BiquadProcessor):
* Modules/webaudio/BiquadProcessor.h:
* Modules/webaudio/ConvolverNode.cpp:
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
* Modules/webaudio/DelayNode.cpp:
* Modules/webaudio/DynamicsCompressorNode.cpp:
* Modules/webaudio/MediaElementAudioSourceNode.cpp:
* Modules/webaudio/PeriodicWave.cpp:
(WebCore::PeriodicWave::PeriodicWave):
(WebCore::PeriodicWave::waveDataForFundamentalFrequency):
(WebCore::PeriodicWave::numberOfPartialsForRange const):
* Modules/webaudio/PeriodicWave.h:
* Modules/webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::RealtimeAnalyser):
* Modules/webaudio/RealtimeAnalyser.h:
* Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::ScriptProcessorNode):
* Modules/webaudio/ScriptProcessorNode.h:
* Modules/webaudio/WaveShaperProcessor.cpp:
(WebCore::WaveShaperProcessor::WaveShaperProcessor):
* Modules/webaudio/WaveShaperProcessor.h:
* Modules/webaudio/WebKitAudioContext.cpp:
* Modules/webaudio/WebKitAudioPannerNode.cpp:
(WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):
* Modules/webaudio/WebKitAudioPannerNode.h:
* platform/audio/AudioBus.cpp:
(WebCore::AudioBus::AudioBus):
* platform/audio/AudioBus.h:
* platform/audio/AudioChannel.h:
* platform/audio/AudioDSPKernelProcessor.cpp:
(WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
* platform/audio/AudioDSPKernelProcessor.h:
* platform/audio/AudioHardwareListener.cpp:
(WebCore::AudioHardwareListener::AudioHardwareListener):
* platform/audio/AudioHardwareListener.h:
* platform/audio/AudioResampler.cpp:
(WebCore::AudioResampler::AudioResampler):
* platform/audio/AudioResampler.h:
* platform/audio/AudioResamplerKernel.cpp:
(WebCore::AudioResamplerKernel::AudioResamplerKernel):
* platform/audio/AudioResamplerKernel.h:
* platform/audio/Biquad.cpp:
* platform/audio/Cone.cpp:
* platform/audio/Cone.h:
* platform/audio/Distance.cpp:
* platform/audio/Distance.h:
* platform/audio/DownSampler.cpp:
(WebCore::DownSampler::DownSampler):
* platform/audio/DownSampler.h:
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
* platform/audio/DynamicsCompressorKernel.h:
* platform/audio/EqualPowerPanner.cpp:
(WebCore::EqualPowerPanner::EqualPowerPanner):
* platform/audio/EqualPowerPanner.h:
* platform/audio/FFTConvolver.cpp:
(WebCore::FFTConvolver::FFTConvolver):
* platform/audio/FFTConvolver.h:
* platform/audio/HRTFDatabase.cpp:
(WebCore::HRTFDatabase::HRTFDatabase):
* platform/audio/HRTFDatabase.h:
* platform/audio/HRTFElevation.cpp:
* platform/audio/HRTFElevation.h:
* platform/audio/HRTFKernel.cpp:
(WebCore::HRTFKernel::HRTFKernel):
* platform/audio/HRTFKernel.h:
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::HRTFPanner):
* platform/audio/HRTFPanner.h:
* platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::PlatformMediaSession):
* platform/audio/PlatformMediaSession.h:
* platform/audio/PushPullFIFO.cpp:
(WebCore::PushPullFIFO::PushPullFIFO):
* platform/audio/PushPullFIFO.h:
* platform/audio/Reverb.cpp:
* platform/audio/ReverbAccumulationBuffer.cpp:
(WebCore::ReverbAccumulationBuffer::ReverbAccumulationBuffer):
* platform/audio/ReverbAccumulationBuffer.h:
* platform/audio/ReverbConvolver.cpp:
* platform/audio/ReverbConvolverStage.cpp:
(WebCore::ReverbConvolverStage::ReverbConvolverStage):
* platform/audio/ReverbConvolverStage.h:
* platform/audio/ReverbInputBuffer.cpp:
(WebCore::ReverbInputBuffer::ReverbInputBuffer):
* platform/audio/ReverbInputBuffer.h:

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

3 months agoSimplify AudioNode::addInput() / addOutput() call sites
cdumez@apple.com [Thu, 24 Sep 2020 19:57:28 +0000 (19:57 +0000)]
Simplify AudioNode::addInput() / addOutput() call sites
https://bugs.webkit.org/show_bug.cgi?id=216941

Reviewed by Darin Adler.

Simplify AudioNode::addInput() / addOutput() call sites by moving the input / output
node construction from the call site to the function implementation.

* Modules/webaudio/AnalyserNode.cpp:
(WebCore::AnalyserNode::AnalyserNode):
* Modules/webaudio/AudioBasicInspectorNode.cpp:
(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
* Modules/webaudio/AudioBasicProcessorNode.cpp:
(WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
* Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::AudioDestinationNode):
* Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::addInput):
(WebCore::AudioNode::addOutput):
* Modules/webaudio/AudioNode.h:
* Modules/webaudio/ChannelMergerNode.cpp:
(WebCore::ChannelMergerNode::ChannelMergerNode):
* Modules/webaudio/ChannelSplitterNode.cpp:
(WebCore::ChannelSplitterNode::ChannelSplitterNode):
* Modules/webaudio/ConstantSourceNode.cpp:
(WebCore::ConstantSourceNode::ConstantSourceNode):
* Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::ConvolverNode):
* Modules/webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
* Modules/webaudio/GainNode.cpp:
(WebCore::GainNode::GainNode):
* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
* Modules/webaudio/MediaStreamAudioSourceNode.cpp:
(WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::OscillatorNode):
* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::PannerNode):
* Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::ScriptProcessorNode):
* Modules/webaudio/StereoPannerNode.cpp:
(WebCore::StereoPannerNode::StereoPannerNode):
* Modules/webaudio/WebKitAudioPannerNode.cpp:
(WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):

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

3 months ago[results.webkit.org] Drop old archive chunks
jbedard@apple.com [Thu, 24 Sep 2020 19:08:17 +0000 (19:08 +0000)]
[results.webkit.org] Drop old archive chunks
https://bugs.webkit.org/show_bug.cgi?id=216936
<rdar://problem/69513686>

Unreviewed emergency infrastructure change.

* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Increment package version.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_archiver.py:
(CassandraArchiver.ArchiveChunks): Changer archive chunk table.

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

3 months agoDeclare render quantum size constant in AudioUtilities.h
cdumez@apple.com [Thu, 24 Sep 2020 18:32:53 +0000 (18:32 +0000)]
Declare render quantum size constant in AudioUtilities.h
https://bugs.webkit.org/show_bug.cgi?id=216935

Reviewed by Eric Carlson.

Declare render quantum size [1] constant in AudioUtilities.h so that it can be used in both
platform/ and Modules/webaudio/. Also update the code so that we have a single constant
instead of many.

[1] https://www.w3.org/TR/webaudio/#render-quantum-size

* Modules/webaudio/AudioListener.cpp:
(WebCore::AudioListener::AudioListener):
* Modules/webaudio/AudioNode.h:
* Modules/webaudio/AudioNodeInput.cpp:
(WebCore::AudioNodeInput::AudioNodeInput):
(WebCore::AudioNodeInput::updateInternalBus):
* Modules/webaudio/AudioNodeOutput.cpp:
(WebCore::AudioNodeOutput::AudioNodeOutput):
(WebCore::AudioNodeOutput::updateInternalBus):
* Modules/webaudio/AudioParam.cpp:
(WebCore::AudioParam::calculateFinalValues):
(WebCore::AudioParam::calculateTimelineValues):
* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::valueForContextTime):
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
* Modules/webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
* Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::processOnlyAudioParams):
* Modules/webaudio/ConstantSourceNode.cpp:
(WebCore::ConstantSourceNode::ConstantSourceNode):
* Modules/webaudio/ConstantSourceNode.h:
* Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::setBuffer):
* Modules/webaudio/DelayDSPKernel.cpp:
(WebCore::DelayDSPKernel::DelayDSPKernel):
(WebCore::DelayDSPKernel::processOnlyAudioParams):
* Modules/webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::processOnlyAudioParams):
* Modules/webaudio/GainNode.cpp:
(WebCore::GainNode::GainNode):
(WebCore::GainNode::processOnlyAudioParams):
* Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::suspendOfflineRendering):
* Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::offlineRender):
* Modules/webaudio/OfflineAudioDestinationNode.h:
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::OscillatorNode):
* Modules/webaudio/OscillatorNode.h:
* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::processOnlyAudioParams):
(WebCore::PannerNode::processSampleAccurateValues):
* Modules/webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::RealtimeAnalyser):
* Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::ScriptProcessorNode):
* Modules/webaudio/StereoPannerNode.cpp:
(WebCore::StereoPannerNode::StereoPannerNode):
(WebCore::StereoPannerNode::processOnlyAudioParams):
* Modules/webaudio/StereoPannerNode.h:
* Modules/webaudio/WaveShaperDSPKernel.cpp:
(WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
(WebCore::WaveShaperDSPKernel::processCurve2x):
(WebCore::WaveShaperDSPKernel::processCurve4x):
* platform/audio/AudioResamplerKernel.cpp:
(WebCore::AudioResamplerKernel::AudioResamplerKernel):
(WebCore::AudioResamplerKernel::getSourcePointer):
(WebCore::AudioResamplerKernel::process):
* platform/audio/AudioResamplerKernel.h:
* platform/audio/AudioUtilities.h:
* platform/audio/Biquad.cpp:
(WebCore::Biquad::Biquad):
* platform/audio/Biquad.h:
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::HRTFPanner):
(WebCore::HRTFPanner::pan):
* platform/audio/IIRFilter.cpp:
(WebCore::IIRFilter::tailTime):
* platform/audio/cocoa/AudioDestinationCocoa.cpp:
(WebCore::AudioDestinationCocoa::AudioDestinationCocoa):
(WebCore::AudioDestinationCocoa::render):
(WebCore::AudioDestinationCocoa::provideInput):
* platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::updateSessionState):
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::framesPerBuffer const):
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webkit_web_audio_src_class_init):

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

3 months agoCrashTracer: com.apple.WebKit.Networking in NetworkSession::firstPartyHostCNAMEDomain...
katherine_cheney@apple.com [Thu, 24 Sep 2020 18:29:21 +0000 (18:29 +0000)]
CrashTracer: com.apple.WebKit.Networking in NetworkSession::firstPartyHostCNAMEDomain() code
https://bugs.webkit.org/show_bug.cgi?id=216934
<rdar://problem/69216768>

Reviewed by Alex Christensen.

Add a check for a valid key.

* NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::firstPartyHostCNAMEDomain):

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

3 months agoAdd libwebrtc.dylib version check
youenn@apple.com [Thu, 24 Sep 2020 18:28:36 +0000 (18:28 +0000)]
Add libwebrtc.dylib version check
https://bugs.webkit.org/show_bug.cgi?id=216884
<rdar://problem/69441354>

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Introduce isMatchingBundleVersion to check libwebrtc.dylib version.

* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Configurations/libwebrtc.xcconfig:
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::isMatchingBundleVersion):

Source/WebCore:

Use webrtc::isMatchingBundleVersion to check for libwebrtc.dylib presence and for version matching.
If version does not match, crash the web process.
No change of behavior.

* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
(WebCore::LibWebRTCProvider::webRTCAvailable):
* platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h:
* platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.mm:

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

3 months ago[PlayStation] Stop raising SIGPIPE when client side of RemoteInspector dies
basuke.suzuki@sony.com [Thu, 24 Sep 2020 18:23:57 +0000 (18:23 +0000)]
[PlayStation] Stop raising SIGPIPE when client side of RemoteInspector dies
https://bugs.webkit.org/show_bug.cgi?id=216805

Reviewed by Don Olmstead.

When communication is stopped caused by peer crash or non-polite close, SIGPIPE will be
raised on BSD (and maybe on Linux). We prefer to handle those events by returning error.

On Windows, there's no such fancy feature from the beginning.

* inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp:
(Inspector::Socket::read):
(Inspector::Socket::write):

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

3 months agoDrop AudioNode::reset() and all its overrides
cdumez@apple.com [Thu, 24 Sep 2020 17:47:53 +0000 (17:47 +0000)]
Drop AudioNode::reset() and all its overrides
https://bugs.webkit.org/show_bug.cgi?id=216932

Reviewed by Eric Carlson.

Drop AudioNode::reset() and all its overrides. This is dead code.

* Modules/webaudio/AnalyserNode.cpp:
* Modules/webaudio/AnalyserNode.h:
* Modules/webaudio/AudioBasicProcessorNode.cpp:
* Modules/webaudio/AudioBasicProcessorNode.h:
* Modules/webaudio/AudioBufferSourceNode.cpp:
* Modules/webaudio/AudioBufferSourceNode.h:
* Modules/webaudio/AudioDestinationNode.h:
* Modules/webaudio/AudioNode.h:
* Modules/webaudio/ChannelMergerNode.cpp:
* Modules/webaudio/ChannelMergerNode.h:
* Modules/webaudio/ChannelSplitterNode.cpp:
* Modules/webaudio/ChannelSplitterNode.h:
* Modules/webaudio/ConstantSourceNode.h:
* Modules/webaudio/ConvolverNode.cpp:
* Modules/webaudio/ConvolverNode.h:
* Modules/webaudio/DynamicsCompressorNode.cpp:
* Modules/webaudio/DynamicsCompressorNode.h:
* Modules/webaudio/GainNode.cpp:
* Modules/webaudio/GainNode.h:
* Modules/webaudio/MediaElementAudioSourceNode.cpp:
* Modules/webaudio/MediaElementAudioSourceNode.h:
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
* Modules/webaudio/MediaStreamAudioDestinationNode.h:
* Modules/webaudio/MediaStreamAudioSourceNode.h:
* Modules/webaudio/OscillatorNode.cpp:
* Modules/webaudio/OscillatorNode.h:
* Modules/webaudio/PannerNode.cpp:
* Modules/webaudio/PannerNode.h:
* Modules/webaudio/RealtimeAnalyser.cpp:
* Modules/webaudio/RealtimeAnalyser.h:
* Modules/webaudio/ScriptProcessorNode.cpp:
* Modules/webaudio/ScriptProcessorNode.h:
* Modules/webaudio/StereoPannerNode.h:
* Modules/webaudio/WebKitAudioPannerNode.cpp:
* Modules/webaudio/WebKitAudioPannerNode.h:

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

3 months agoUnreviewed, fix the build for recent SDKs.
ryanhaddad@apple.com [Thu, 24 Sep 2020 16:49:54 +0000 (16:49 +0000)]
Unreviewed, fix the build for recent SDKs.
rdar://69394018

* Shared/cf/ArgumentCodersCF.cpp:
(IPC::decode):

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

3 months ago[MIPS] Broken build after r267371
commit-queue@webkit.org [Thu, 24 Sep 2020 16:16:59 +0000 (16:16 +0000)]
[MIPS] Broken build after r267371
https://bugs.webkit.org/show_bug.cgi?id=216893

Patch by Angelos Oikonomopoulos <angelos@igalia.com> on 2020-09-24
Reviewed by Adrian Perez de Castro.

This addresses two issues.

First, the fix in https://bugs.webkit.org/show_bug.cgi?id=216772 was not
getting exercised, because the LabelReference offset was always zero.

The reason the offset was zero is that LabelReference.mapChildren would discard
the offset when generating a new LabelReference to wrap the Label returned by
the code block it yielded to.

The reason this was only an issue on MIPS is because only MIPS was using the
result of calls to LabelReference.mapChildren (in its lowering phase,
assignRegistersToTemporaries -> replaceTemporariesWithRegisters ->
mapChildren). Other archs, e.g. X86_64 only call mapChildren in earlier phases
(specifically, subsequent to a call to isASTErroneous), in which the new
LabelReferences returned by mapChildren are later discarded. Even though ARM
32/64 contains indirect calls to mapChildren, those are made after the
arm{,64}LowerLabelReferences transformation which doesn't leave any
LabelReference nodes around for .mapChildren to be called on.

So this is not an issue for architectures other than MIPS because
(a) AddImmediates.fold correctly constructs a LabelReference with an offset by
calling LabelReference.plusOffset and
(b) they don't call (and therefore don't use the result of)
LabelReference.mapChildren in their lowering code.

Second, the code we generate needs to look up the /label/ in the GOT, not the
computed address. After the lookup, we simply need to add the offset.

* offlineasm/ast.rb:
* offlineasm/mips.rb:

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

3 months ago[GTK][WPE] Move proxy settings from WebKitContext to WebKitWebsiteDataManager
commit-queue@webkit.org [Thu, 24 Sep 2020 16:14:55 +0000 (16:14 +0000)]
[GTK][WPE] Move proxy settings from WebKitContext to WebKitWebsiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=216927

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-09-24
Reviewed by Alex Christensen.

Source/WebCore:

Make proxySettings a member of SoupNetworkSession, instead of being global.

* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession):
(WebCore::SoupNetworkSession::setProxySettings):
(WebCore::proxySettings): Deleted.
(WebCore::SoupNetworkSession::setupProxy): Deleted.
* platform/network/soup/SoupNetworkSession.h:

Source/WebKit:

Make proxy settings per session instead of global to the network process. The web context API now simply
forwards the request to the website data manager.

* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
* NetworkProcess/NetworkSessionCreationParameters.h:
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::setNetworkProxySettings):
* NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup):
(WebKit::NetworkSessionSoup::setProxySettings):
* NetworkProcess/soup/NetworkSessionSoup.h:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/glib/WebKitAutomationSession.cpp:
(webkitAutomationSessionCreate):
* UIProcess/API/glib/WebKitWebContext.cpp:
(webkit_web_context_set_network_proxy_settings):
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewConstructed):
* UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkit_website_data_manager_set_network_proxy_settings):
* UIProcess/API/gtk/WebKitNetworkProxySettings.h:
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/WebKitWebsiteDataManager.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/wpe/WebKitNetworkProxySettings.h:
* UIProcess/API/wpe/WebKitWebContext.h:
* UIProcess/API/wpe/WebKitWebsiteDataManager.h:
* UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
* UIProcess/WebProcessPool.h:
* UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::networkProxySettings const):
* UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
(WebKit::WebsiteDataStore::setNetworkProxySettings):
* UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::setNetworkProxySettings): Deleted.

Tools:

Use the new API in tests.

* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextProxySettings):

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

3 months ago[LFC][Integration] Enable on Apple Windows port
antti@apple.com [Thu, 24 Sep 2020 15:52:44 +0000 (15:52 +0000)]
[LFC][Integration] Enable on Apple Windows port
https://bugs.webkit.org/show_bug.cgi?id=216928

Reviewed by Sam Weinig.

* wtf/PlatformEnableWinApple.h:

For consistency.

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

3 months agoweb audio api outputs silence for 302 redirected resource in safari
cdumez@apple.com [Thu, 24 Sep 2020 15:23:28 +0000 (15:23 +0000)]
web audio api outputs silence for 302 redirected resource in safari
https://bugs.webkit.org/show_bug.cgi?id=214932
<rdar://problem/66300050>

Reviewed by Darin Adler.

Source/WebCore:

If the resource is redirected to another origin, treat it as tainted only if the crossorigin attribute
is not set. This is done for consistency with Blink:
- https://github.com/chromium/chromium/blob/master/media/blink/webmediaplayer_impl.cc (see WouldTaintOrigin())

The new behavior also seems to match Firefox.

Tests: http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-redirect.html
       http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-redirect.html

* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::wouldTaintOrigin):

LayoutTests:

Add layout test coverage. Update existing test to reflect the fact that the frequency returned by
the AnalyserNode is -Infinity when input is silent, not minDecibels (this has changed fairly
recently).

* http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-redirect-expected.txt: Added.
* http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-redirect.html: Copied from LayoutTests/http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html.
* http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html:
* http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-redirect-expected.txt: Added.
* http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-redirect.html: Copied from LayoutTests/http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html.

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

3 months agoResync WPT's mathml and math-script-level-and-math-style tests
commit-queue@webkit.org [Thu, 24 Sep 2020 15:20:30 +0000 (15:20 +0000)]
Resync WPT's mathml and math-script-level-and-math-style tests
https://bugs.webkit.org/show_bug.cgi?id=216871

Patch by Frederic Wang <fwang@igalia.com> on 2020-09-24
Reviewed by Rob Buis.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-001.tentative.html: Added.
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-002.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-003.tentative-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-003.tentative-expected.html.
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-003.tentative.html: Added.
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-004.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-001.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-002.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-003.tentative-expected.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-003.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-004.tentative-expected.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-004.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-auto-and-math-style-005.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-font-size-clamping-001.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-style-001.tentative.html:
* web-platform-tests/css/css-fonts/math-script-level-and-math-style/w3c-import.log:
* web-platform-tests/mathml/crashtests/display-and-column-properties.html: Added.
* web-platform-tests/mathml/crashtests/multicol-on-token-elements.html: Added.
* web-platform-tests/mathml/crashtests/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/tools/utils/w3c-import.log.
* web-platform-tests/mathml/presentation-markup/direction/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/fractions/frac-1.html:
* web-platform-tests/mathml/presentation-markup/fractions/frac-invalid-2-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-invalid-2.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-invalid-3-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-invalid-3.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-invalid-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-invalid.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002.html:
* web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1.html:
* web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2.html:
* web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3.html: Added.
* web-platform-tests/mathml/presentation-markup/fractions/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation-expected.html:
* web-platform-tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation.html:
* web-platform-tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units.html: Added.
* web-platform-tests/mathml/presentation-markup/mpadded/mpadded-001.html: Added.
* web-platform-tests/mathml/presentation-markup/mpadded/mpadded-002.html: Added.
* web-platform-tests/mathml/presentation-markup/mpadded/mpadded-003.html: Added.
* web-platform-tests/mathml/presentation-markup/mpadded/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/w3c-import.log.
* web-platform-tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-baseline.html:
* web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy.html:
* web-platform-tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html:
* web-platform-tests/mathml/presentation-markup/mrow/merror-001.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/mrow-painting-order-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/mrow-painting-order.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/mrow-preferred-width.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/no-spacing.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/spacing.html: Added.
* web-platform-tests/mathml/presentation-markup/mrow/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001.html:
* web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002.html:
* web-platform-tests/mathml/presentation-markup/operators/embellished-operator-003.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001.html.
* web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-form-expected.html:
* web-platform-tests/mathml/presentation-markup/operators/mo-form-minus-plus-expected.html:
* web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-single-char-and-children-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-single-char-and-children.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-001-expected.txt: Removed.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-001.html: Removed.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006.html: Added.
* web-platform-tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.css: Added.
(@font-face):
(math, math *):
* web-platform-tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.js: Added.
(OperatorDictionaryTests.spaceBetween):
(OperatorDictionaryTests.string_appeared_here):
(OperatorDictionaryTests.run):
* web-platform-tests/mathml/presentation-markup/operators/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/w3c-import.log.
* web-platform-tests/mathml/presentation-markup/operators/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001.html: Added.
* web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2.html: Added.
* web-platform-tests/mathml/presentation-markup/radicals/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/scripts/cramped-001.html:
* web-platform-tests/mathml/presentation-markup/scripts/empty-underover.html: Added.
* web-platform-tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative.html: Added.
* web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2.html:
* web-platform-tests/mathml/presentation-markup/scripts/underover-1.html:
* web-platform-tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001.html: Added.
* web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3.html:
* web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.html.
* web-platform-tests/mathml/presentation-markup/scripts/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/spaces/space-1.html:
* web-platform-tests/mathml/presentation-markup/spaces/space-like-001.html:
* web-platform-tests/mathml/presentation-markup/spaces/space-like-002.html:
* web-platform-tests/mathml/presentation-markup/spaces/space-like-003.html:
* web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html: Added.
* web-platform-tests/mathml/presentation-markup/spaces/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/tables/dynamic-table-001.html: Added.
* web-platform-tests/mathml/presentation-markup/tables/w3c-import.log:
* web-platform-tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001-expected.html: Added.
* web-platform-tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001.html: Added.
* web-platform-tests/mathml/presentation-markup/tokens/ms-001-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/direction/direction-009-expected.html.
* web-platform-tests/mathml/presentation-markup/tokens/ms-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/direction/direction-009.html.
* web-platform-tests/mathml/presentation-markup/tokens/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/w3c-import.log.
* web-platform-tests/mathml/relations/css-styling/#default-text-properties.html#: Added.
* web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html:
* web-platform-tests/mathml/relations/css-styling/attribute-mapping-002.html:
* web-platform-tests/mathml/relations/css-styling/blur-filter-expected.html: Added.
* web-platform-tests/mathml/relations/css-styling/blur-filter.html: Added.
* web-platform-tests/mathml/relations/css-styling/clip-expected.html: Added.
* web-platform-tests/mathml/relations/css-styling/clip-path-expected.html: Added.
* web-platform-tests/mathml/relations/css-styling/clip-path.html: Added.
* web-platform-tests/mathml/relations/css-styling/clip.html: Added.
* web-platform-tests/mathml/relations/css-styling/color-001.html:
* web-platform-tests/mathml/relations/css-styling/color-002.html:
* web-platform-tests/mathml/relations/css-styling/color-003.html:
* web-platform-tests/mathml/relations/css-styling/color-004.tentative-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/color-004-expected.html.
* web-platform-tests/mathml/relations/css-styling/color-004.tentative.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/color-004.html.
* web-platform-tests/mathml/relations/css-styling/color-005-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/color-004-expected.html.
* web-platform-tests/mathml/relations/css-styling/color-005.html: Added.
* web-platform-tests/mathml/relations/css-styling/default-font-family.html: Added.
* web-platform-tests/mathml/relations/css-styling/default-properties-on-the-math-root.html: Added.
* web-platform-tests/mathml/relations/css-styling/display-2.html: Added.
* web-platform-tests/mathml/relations/css-styling/displaystyle-3.html: Added.
* web-platform-tests/mathml/relations/css-styling/mathcolor-mathbackground-css-expected.html: Added.
* web-platform-tests/mathml/relations/css-styling/mathcolor-mathbackground-css.html: Added.
* web-platform-tests/mathml/relations/css-styling/mathsize-attribute-css-keywords-expected.html:
* web-platform-tests/mathml/relations/css-styling/mathsize-attribute-css-keywords.html:
* web-platform-tests/mathml/relations/css-styling/multi-column-layout.html: Added.
* web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002.html:
* web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003.html: Added.
* web-platform-tests/mathml/relations/css-styling/padding-border-margin/w3c-import.log:
* web-platform-tests/mathml/relations/css-styling/presentational-hints-001-expected.html: Added.
* web-platform-tests/mathml/relations/css-styling/presentational-hints-001.html: Added.
* web-platform-tests/mathml/relations/css-styling/presentational-hints-002-expected.html: Added.
* web-platform-tests/mathml/relations/css-styling/presentational-hints-002.html: Added.
* web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html: Added.
* web-platform-tests/mathml/relations/css-styling/transform-expected.html: Added.
* web-platform-tests/mathml/relations/css-styling/transform.html: Added.
* web-platform-tests/mathml/relations/css-styling/visibility-001.html:
* web-platform-tests/mathml/relations/css-styling/visibility-002.html:
* web-platform-tests/mathml/relations/css-styling/visibility-003.html:
* web-platform-tests/mathml/relations/css-styling/visibility-004.tentative-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-004-expected.html.
* web-platform-tests/mathml/relations/css-styling/visibility-004.tentative.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-004.html.
* web-platform-tests/mathml/relations/css-styling/visibility-005-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-004-expected.html.
* web-platform-tests/mathml/relations/css-styling/visibility-005.html: Added.
* web-platform-tests/mathml/relations/css-styling/w3c-import.log:
* web-platform-tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative.html:
* web-platform-tests/mathml/relations/html5-tree/content-editable.html: Added.
* web-platform-tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html:
* web-platform-tests/mathml/relations/html5-tree/css-inline-style-interface.tentative.html:
* web-platform-tests/mathml/relations/html5-tree/display-1.html:
* web-platform-tests/mathml/relations/html5-tree/dynamic-2-expected.html: Added.
* web-platform-tests/mathml/relations/html5-tree/dynamic-2.html: Added.
* web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001.html: Added.
* web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002.html: Added.
* web-platform-tests/mathml/relations/html5-tree/href-click-3.html:
* web-platform-tests/mathml/relations/html5-tree/html-or-foreign-element-interfaces.tentative.html:
* web-platform-tests/mathml/relations/html5-tree/integration-point-1.html:
* web-platform-tests/mathml/relations/html5-tree/integration-point-4.html:
* web-platform-tests/mathml/relations/html5-tree/integration-point-5.html: Added.
* web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative.html:
* web-platform-tests/mathml/relations/html5-tree/required-extensions-2.html:
* web-platform-tests/mathml/relations/html5-tree/tabindex-001.html:
* web-platform-tests/mathml/relations/html5-tree/tabindex-002.html:
* web-platform-tests/mathml/relations/html5-tree/w3c-import.log:
* web-platform-tests/mathml/support/box-comparison.js:
(compareSizeWithAndWithoutStyle):
* web-platform-tests/mathml/support/feature-detection.js:
(MathMLFeatureDetection.string_appeared_here):
* web-platform-tests/mathml/support/layout-comparison.js:
(childrenHaveEmptyBoundingClientRects):
* web-platform-tests/mathml/support/mathml-fragments.js:
(FragmentHelper.isTokenElement):
* web-platform-tests/mathml/support/operator-dictionary.json:
* web-platform-tests/mathml/tools/axisheight.py:
* web-platform-tests/mathml/tools/fractions.py:
* web-platform-tests/mathml/tools/largeop.py:
* web-platform-tests/mathml/tools/limits.py:
* web-platform-tests/mathml/tools/mathvariant-transforms.py:
* web-platform-tests/mathml/tools/operator-dictionary.py:
(createStretchy):
* web-platform-tests/mathml/tools/percentscaledown.py:
* web-platform-tests/mathml/tools/radicals.py:
(createStretchyRadical):
* web-platform-tests/mathml/tools/scripts.py:
* web-platform-tests/mathml/tools/stacks.py:
* web-platform-tests/mathml/tools/stretchstacks.py:
* web-platform-tests/mathml/tools/underover.py:
* web-platform-tests/mathml/tools/use-typo-lineheight.py:
* web-platform-tests/mathml/tools/utils/__pycache__/w3c-import.log: Delete
* web-platform-tests/mathml/tools/utils/mathfont.py:
(create):
(drawRectangleGlyph):
* web-platform-tests/mathml/tools/utils/misc.py:
* web-platform-tests/mathml/tools/utils/w3c-import.log:
* web-platform-tests/mathml/tools/xHeight.py:

LayoutTests:

Resync WPT's mathml and math-script-level-and-math-style tests

* TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-wk2/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-001.tentative-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-style-001.tentative-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-baseline-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/merror-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/mrow-preferred-width-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/cramped-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/dynamic-table-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-font-family-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-properties-on-the-math-root-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/display-2-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/displaystyle-3-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/multi-column-layout-expected.txt: Added.
* platform/ios-13/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/scriptlevel-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/content-editable-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/display-1-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/integration-point-5-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-001-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-001.tentative-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-style-001.tentative-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-baseline-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/merror-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/mrow-preferred-width-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/dynamic-table-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-font-family-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-properties-on-the-math-root-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/display-2-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/displaystyle-3-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/scriptlevel-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/content-editable-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/display-1-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/integration-point-5-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-001-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-script-level-001.tentative-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/css/css-fonts/math-script-level-and-math-style/math-style-001.tentative-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-3-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mpadded/mpadded-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-baseline-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/merror-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/mrow-preferred-width-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/no-spacing-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/mrow/spacing-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-2-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/empty-underover-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/space-like-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/tables/dynamic-table-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-font-family-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/default-properties-on-the-math-root-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/display-2-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/displaystyle-3-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/multi-column-layout-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/scriptlevel-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/content-editable-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/display-1-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/integration-point-5-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-001-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-002-expected.txt: Added.
* platform/wpe/TestExpectations:
* tests-options.json:

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

3 months agoRegression(r265280) Web Audio sources malfunction when disconnected from the audio...
youenn@apple.com [Thu, 24 Sep 2020 15:11:31 +0000 (15:11 +0000)]
Regression(r265280) Web Audio sources malfunction when disconnected from the audio graph
https://bugs.webkit.org/show_bug.cgi?id=216703
<rdar://problem/69158436>

Reviewed by Eric Carlson.

In case of an audio source that stops producing data, but does not end or mute the track,
we would continuously try to read the data until getting to the end of the data.
When reaching the end of the data, we would return silence and go back in time a little bit
to restart playing with some margin. This allows to read just one chunk of audio until we are back to the end of data.

We fix this by storing the end of the data counter when reaching it.
When trying to pull some more data, we will go back in time a little bit only if some more data was added in the meantime.
Otherwise, we just output silence.

Covered by manual test.

* platform/audio/mac/AudioSampleDataSource.h:
* platform/audio/mac/AudioSampleDataSource.mm:
(WebCore::AudioSampleDataSource::pullSamplesInternal):

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

3 months ago[JHBUILD] Port jhbuild-wrapper to python3
svillar@igalia.com [Thu, 24 Sep 2020 14:17:22 +0000 (14:17 +0000)]
[JHBUILD] Port jhbuild-wrapper to python3
https://bugs.webkit.org/show_bug.cgi?id=216916

Reviewed by Adrian Perez de Castro.

Python2 is at its EOL, distributions are starting to remove it and python3 should be used by default now. Migrated
jhbuild wrapper code to python3 (while keeping backwards compatibility with python2 just in case).

* jhbuild/jhbuild-wrapper:
(ensure_jhbuild): Replace has_key() by the more pythonic construction with 'in'.

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

3 months agocurrentColor isn't recalculated when a text node doesn't exist
antti@apple.com [Thu, 24 Sep 2020 13:21:13 +0000 (13:21 +0000)]
currentColor isn't recalculated when a text node doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=216780
<rdar://problem/69320933>

Reviewed by Antoine Quint.

Source/WebCore:

We fail to repaint with the new background color when 'background-color' property has value 'currentColor' and the current color changes.

Test case by Cory LaViska.

Test: fast/css/currentColor-background-paint.html

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresRepaint const):
* rendering/style/StyleBackgroundData.cpp:
(WebCore::StyleBackgroundData::isEquivalentForPainting const):
* rendering/style/StyleBackgroundData.h:

LayoutTests:

* fast/css/currentColor-background-paint-expected.html: Added.
* fast/css/currentColor-background-paint.html: Added.

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

3 months agoRoot node with stateless wheel event isn't always scrollable
cathiechen@igalia.com [Thu, 24 Sep 2020 12:52:35 +0000 (12:52 +0000)]
Root node with stateless wheel event isn't always scrollable
https://bugs.webkit.org/show_bug.cgi?id=216875

Reviewed by Simon Fraser.

Root nodes are not always capable of handling wheel event. When it is a stateless wheel event which
does not trigger rubber-band, we should check the scroll content of the root node.

* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::canHandleWheelEvent const): Stateless wheel event
doesn't trigger rubber-band, should check the scroll content.

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

3 months agoUnreviewed, reverting r267495 and r267512.
commit-queue@webkit.org [Thu, 24 Sep 2020 11:54:00 +0000 (11:54 +0000)]
Unreviewed, reverting r267495 and r267512.
https://bugs.webkit.org/show_bug.cgi?id=216924

Broke transform-stream.html test

Reverted changesets:

"Missing scope release in JSDOMBuiltinConstructorBase"
https://bugs.webkit.org/show_bug.cgi?id=216851
https://trac.webkit.org/changeset/267495

"Unreviewed, we should put it under js/dom since it is not
usable in JSC shell"
https://bugs.webkit.org/show_bug.cgi?id=216851
https://trac.webkit.org/changeset/267512

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

3 months agoUnreviewed, reverting r267507.
commit-queue@webkit.org [Thu, 24 Sep 2020 11:49:36 +0000 (11:49 +0000)]
Unreviewed, reverting r267507.
https://bugs.webkit.org/show_bug.cgi?id=216923

Broke two layout tests on windows

Reverted changeset:

"web audio api outputs silence for 302 redirected resource in
safari"
https://bugs.webkit.org/show_bug.cgi?id=214932
https://trac.webkit.org/changeset/267507

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

3 months agoREGRESSION(r267502): [GTK][WPE] ephemeral WebKitWebsiteDataManager ignores TLS errors...
carlosgc@webkit.org [Thu, 24 Sep 2020 09:17:14 +0000 (09:17 +0000)]
REGRESSION(r267502): [GTK][WPE] ephemeral WebKitWebsiteDataManager ignores TLS errors by default
https://bugs.webkit.org/show_bug.cgi?id=216919

Reviewed by Adrian Perez de Castro.

Source/WebKit:

Initialize ignoreTLSErrors on website data store for ephemeral sessions.

* UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkitWebsiteDataManagerConstructed):

Tools:

Add a test case to check we propagate the setting to the network process for ephemeral sessions too.

* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(EphemeralSSLTest::setup):
(EphemeralSSLTest::teardown):
(testTLSErrorsEphemeral):
(beforeAll):

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

3 months agoREGRESSION(r267502) [GLIB] Make WTR ignoreTLSErrors
carlosgc@webkit.org [Thu, 24 Sep 2020 09:16:25 +0000 (09:16 +0000)]
REGRESSION(r267502) [GLIB] Make WTR ignoreTLSErrors
https://bugs.webkit.org/show_bug.cgi?id=216911

Reviewed by Adrian Perez de Castro.

I forgot to initialize ignoreTLSErrors in network session parameters.

* UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):

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

3 months ago%TypedArray%.prototype.fill must only evaluate its argument once
ross.kirsling@sony.com [Thu, 24 Sep 2020 07:35:30 +0000 (07:35 +0000)]
%TypedArray%.prototype.fill must only evaluate its argument once
https://bugs.webkit.org/show_bug.cgi?id=216912

Reviewed by Yusuke Suzuki.

JSTests:

* stress/typedarray-fill.js:
Fix test.

* test262/expectations.yaml:
Mark two test cases as passing.

Source/JavaScriptCore:

Currently, we evaluate the argument in `typedArray.fill({ valueOf() { ... } })` once per filled element,
but it should only be evaluated once in total.

* builtins/TypedArrayPrototype.js:
(fill):

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

3 months agoREGRESSION (iOS/Safari 14): MediaRecorder produces invalid video files
youenn@apple.com [Thu, 24 Sep 2020 07:10:26 +0000 (07:10 +0000)]
REGRESSION (iOS/Safari 14): MediaRecorder produces invalid video files
https://bugs.webkit.org/show_bug.cgi?id=216832
<rdar://problem/69377550>

Reviewed by Eric Carlson.

Start the audio and video timestamps at zero.
Compute the audio timestamp based on the sample count and the video timestamp based
on the time at which the video sample is received.

Covered by manually testing Safari generated videos on VLC, Chrome and Firefox.

* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::initialize):
(WebCore::MediaRecorderPrivateWriter::startAssetWriter):
(WebCore::copySampleBufferWithCurrentTimeStamp):
(WebCore::MediaRecorderPrivateWriter::appendVideoSampleBuffer):
(WebCore::createAudioSampleBuffer):
(WebCore::MediaRecorderPrivateWriter::appendAudioSampleBuffer):

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

3 months agoREGRESSION: Textures Fail to Render in WebGL from HLS Stream [iOS 14]
commit-queue@webkit.org [Thu, 24 Sep 2020 07:01:36 +0000 (07:01 +0000)]
REGRESSION: Textures Fail to Render in WebGL from HLS Stream [iOS 14]
https://bugs.webkit.org/show_bug.cgi?id=215908
<rdar://problem/68000962>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-09-24
Reviewed by Dean Jackson.

Disable ANGLE workers until EAGL implementation is more complete.
Current implementation fails to compile any shader, since the
compilation happens in the worker thread and worker EAGL context
which does not use the same sharegroup as the main context.
The shader objects are created in the main context but the shader
source setting and compilation happens in the worker context.
EAGL needs a flush between state changes, and adding that
correctly is a bigger change to be done later.

Use sized formats when calling [EAGLContext -texImageIOSurface]
from EGL_ANGLE_iosurface_client_buffer code. The texImageIOSurface
accepts parameters with glTexImage2D logic. On ES3, some of the
internal formats must be sized formats. The EAGLContext instantiated
by ANGLE is ES3, even if the ANGLE context would be ES2.

No tests added since this should be caught with the many video
related tests. It's unclear why this is not the case -- at
least on real hw. This is to be investigated later, too.

* src/libANGLE/renderer/driver_utils.h:
(rx::IsIOS):
* src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):

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

3 months ago%ArrayIteratorPrototype%.next must check for detached buffers
ross.kirsling@sony.com [Thu, 24 Sep 2020 06:15:35 +0000 (06:15 +0000)]
%ArrayIteratorPrototype%.next must check for detached buffers
https://bugs.webkit.org/show_bug.cgi?id=216904

Reviewed by Yusuke Suzuki.

JSTests:

* stress/detach-buffer-during-iteration.js: Added.

* test262/expectations.yaml:
Mark two test cases as passing.

Source/JavaScriptCore:

Per https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next:
  8. If a has a [[TypedArrayName]] internal slot, then
    a. If IsDetachedBuffer(a.[[ViewedArrayBuffer]]) is true, throw a TypeError exception.

* builtins/ArrayIteratorPrototype.js:
(next):
* builtins/BuiltinNames.h:
* bytecode/LinkTimeConstant.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncIsNeutered):
* runtime/JSTypedArrayViewPrototype.h:

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

3 months ago[JSC] Simply some of template-specialized host functions by defining each function
ysuzuki@apple.com [Thu, 24 Sep 2020 05:59:46 +0000 (05:59 +0000)]
[JSC] Simply some of template-specialized host functions by defining each function
https://bugs.webkit.org/show_bug.cgi?id=216907

Reviewed by Saam Barati.

This makes automatically-registering these functions in JIT-caging easy.

* API/APICallbackFunction.h:
(JSC::APICallbackFunction::callImpl):
(JSC::APICallbackFunction::constructImpl):
(JSC::APICallbackFunction::call): Deleted.
(JSC::APICallbackFunction::construct): Deleted.
* API/JSCallbackConstructor.cpp:
(JSC::constructJSCallbackConstructor):
(JSC::JSCallbackConstructor::getConstructData):
* API/JSCallbackFunction.cpp:
(JSC::callJSCallbackFunction):
(JSC::JSCallbackFunction::JSCallbackFunction):
* API/ObjCCallbackFunction.mm:
(JSC::callObjCCallbackFunction):
(JSC::constructObjCCallbackFunction):
(JSC::ObjCCallbackFunction::ObjCCallbackFunction):
* API/glib/JSCCallbackFunction.cpp:
(JSC::callJSCCallbackFunction):
(JSC::constructJSCCallbackFunction):
(JSC::JSCCallbackFunction::JSCCallbackFunction):
* dfg/DFGOperations.h:
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jsc.cpp:
(accessorMakeMasquerader):
* runtime/JSArrayBufferConstructor.cpp:
(JSC::JSGenericArrayBufferConstructor<sharingMode>::JSGenericArrayBufferConstructor):
(JSC::JSGenericArrayBufferConstructor<sharingMode>::constructImpl):
(JSC::constructArrayBuffer):
(JSC::constructSharedArrayBuffer):
(JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): Deleted.
* runtime/JSArrayBufferConstructor.h:
* runtime/JSCustomGetterSetterFunction.cpp:
(JSC::customGetterSetterFunctionCall):
(JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): Deleted.
* runtime/JSCustomGetterSetterFunction.h:
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor<errorType>::constructImpl):
(JSC::NativeErrorConstructor<errorType>::callImpl):
(JSC::callEvalError):
(JSC::constructEvalError):
(JSC::callRangeError):
(JSC::constructRangeError):
(JSC::callReferenceError):
(JSC::constructReferenceError):
(JSC::callSyntaxError):
(JSC::constructSyntaxError):
(JSC::callTypeError):
(JSC::constructTypeError):
(JSC::callURIError):
(JSC::constructURIError):
(JSC::callFunction):
(JSC::constructFunction):
(JSC::NativeErrorConstructor<errorType>::NativeErrorConstructor):
(JSC::NativeErrorConstructorBase::finishCreation):
(JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): Deleted.
(JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): Deleted.
* runtime/NativeErrorConstructor.h:
* runtime/RegExpConstructor.cpp:
(JSC::regExpConstructorDollarImpl):
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
(JSC::setRegExpConstructorInput):
(JSC::setRegExpConstructorMultiline):
(JSC::regExpConstructorDollar): Deleted.
* tools/JSDollarVM.cpp:

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

3 months ago[Windows] Ignore render tree dump based results on Windows
antti@apple.com [Thu, 24 Sep 2020 04:33:24 +0000 (04:33 +0000)]
[Windows] Ignore render tree dump based results on Windows
https://bugs.webkit.org/show_bug.cgi?id=209897

Reviewed by Darin Adler.

Render tree dumps are port specific and so difficult to maintain. They are mostly very old and
have been superseded by more modern ref and text dump tests. They rarely reveal any port specific bugs.

This patch adds --ignore-render-tree-dump-results option to run-webkit-tests and enables it by
default on Apple Windows port.

With the option set the render tree dump tests are still run (so crashes are detected) but their
output is treated as if it always passed. Missing results are not written to disk.

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_text):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
(_set_up_derived_options):

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

3 months agoAdd feature flags for GPU Process features
peng.liu6@apple.com [Thu, 24 Sep 2020 03:36:48 +0000 (03:36 +0000)]
Add feature flags for GPU Process features
https://bugs.webkit.org/show_bug.cgi?id=216901

Reviewed by Tim Horton.

Source/WebCore:

Rename useGPUProcessForMedia to useGPUProcessForMediaEnabled.

No new tests since no functional changes.

* page/Settings.yaml:

Source/WebKit:

Add feature flags for the following GPU Process features:
- 2D canvas in GPU process
- WebGL in GPU process
- DOM rendering in GPU Process

Also, clean up some related feature/function names.

* FeatureFlags/WebKit.plist:
Add keys for the GPU process features and sort all keys.

* Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultUseGPUProcessForCanvasRenderingEnabled):
(WebKit::defaultUseGPUProcessForDOMRenderingEnabled):
(WebKit::defaultUseGPUProcessForMediaEnabled):
(WebKit::defaultUseGPUProcessForWebGLEnabled):
(WebKit::defaultCaptureAudioInGPUProcessEnabled):
(WebKit::defaultCaptureVideoInGPUProcessEnabled):
(WebKit::defaultWebRTCCodecsInGPUProcess):
(WebKit::defaultUseGPUProcessForMedia): Deleted.
(WebKit::defaultRenderCanvasInGPUProcessEnabled): Deleted.
* Shared/WebPreferencesDefaultValues.h:
* Shared/WebPreferencesInternal.yaml:
Add preferences and corresponding default values.

* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
Rename useGPUProcessForMedia to useGPUProcessForMediaEnabled.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
Use useGPUProcessForCanvasRenderingEnabled instead of renderCanvasInGPUProcessEnabled.

* WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::updatePreferences):
Use useGPUProcessForMediaEnabled instead of useGPUProcessForMedia.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Ditto.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains): Ditto.
(WebKit::WebPage::updatePreferences): Ditto.

Source/WebKitLegacy/mac:

Minor cleanups.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences useGPUProcessForMediaEnabled]):
(-[WebPreferences setUseGPUProcessForMediaEnabled:]):
(-[WebPreferences useGPUProcessForMedia]): Deleted.
(-[WebPreferences setUseGPUProcessForMedia:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

3 months ago[LFC][Integration] Line layout logic should consult LayoutState whether remove traili...
zalan@apple.com [Thu, 24 Sep 2020 03:15:01 +0000 (03:15 +0000)]
[LFC][Integration] Line layout logic should consult LayoutState whether remove trailing letter spacing.
https://bugs.webkit.org/show_bug.cgi?id=216905

Reviewed by Sam Weinig.

This is in preparation for completely moving away from the RuntimeEnabledFeatures check.

* layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::shouldIgnoreTrailingLetterSpacing const):
* layout/LayoutState.h:
* layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::Line):
(WebCore::Layout::Line::appendTextContent):
* layout/inlineformatting/InlineLine.h:
* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):

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

3 months agoUpdate Array.prototype.sort to be consistent with tightened spec
shvaikalesh@gmail.com [Thu, 24 Sep 2020 02:46:41 +0000 (02:46 +0000)]
Update Array.prototype.sort to be consistent with tightened spec
https://bugs.webkit.org/show_bug.cgi?id=202582

Reviewed by Yusuke Suzuki and Keith Miller.

JSTests:

Provided microbenchmarks test receivers that are half-sorted: 50% of their
items and item pairs (to accomodate merge sort) are at the right place.

Arrays of multiple sizes (8/24/64 items) are tested with both userland
and default comparator (to cover bucket sort).

* ChakraCore/test/Array/array_sort.baseline-jsc: Fix typo in error message.
* microbenchmarks/array-prototype-sort-large-array-comparator.js: Added.
* microbenchmarks/array-prototype-sort-large-array.js: Added.
* microbenchmarks/array-prototype-sort-medium-array-comparator.js: Added.
* microbenchmarks/array-prototype-sort-medium-array.js: Added.
* microbenchmarks/array-prototype-sort-small-array-comparator.js: Added.
* microbenchmarks/array-prototype-sort-small-array.js: Added.
* mozilla/js1_5/Array/regress-157652.js: Skip sorting sparse array of UINT_MAX size.
* stress/regress-188577.js: Replace sort() with unshift() and refactor.

Source/JavaScriptCore:

This patch implements the spec change [1] that reduces amount of cases resulting
in an implementation-defined sort order, aligning JSC with V8 and SpiderMonkey.

To achieve this, we collect all existing non-undefined receiver elements to a
temporary array, sort it, and write back sorted items, followed by `undefined`
values and holes.

This change is proven to be web-compatible (shipping since Chrome 76) and neutral
on peak memory consumption in the wild.

Although we can unobservably detect sparse receivers, we can't avoid creating a
temporary array for common case since userland comparators may throw; string
sorting won't measurably benefit from this, only increasing code complexity.

This change uses @putByValDirect unless the spec requires [[Set]], avoids using
closure variables, and adds a few drive-by optimizations, resulting in ~22%
faster string sorting and 13% speed-up for userland comparators.
Dromaeo/jslib is neutral.

[1]: https://github.com/tc39/ecma262/pull/1585

* builtins/ArrayPrototype.js:
(sort.stringComparator):
Optimization #1: replace char-by-char comparison loop with > operator, aligning
JSC with V8 and SpiderMonkey. This semantically equivalent change alone is a ~15%
progression for string sort.

(sort.compact):
(sort.commit):
Optimization #2: copy large non-numeric arrays in a loop rather than @appendMemcpy.
Using the latter unconditionally regresses provided microbenchmarks.

(sort.merge):
Optimization #3: replace `typeof` check and negation with strict equality.

(sort.mergeSort):
Optimization #4: always return sorted array instead of copying, even if it's the buffer.
Tweak: create the buffer with correct length.

(sort.bucketSort):
Optimization #5: avoid emitting 2 extra get_by_val ops by saving bucket lookup to a variable.
Tweak: create new bucket via array literal.

(sort): Fix typo in error message.
(sort.compactSparse): Deleted.
(sort.compactSlow): Deleted.
(sort.comparatorSort): Deleted.
(sort.stringSort): Deleted.
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
Remove @Object.@getPrototypeOf as it's now unused and we have @getPrototypeOf intrinsic anyway.

LayoutTests:

While adding new LayoutTests for JS-only features is undesirable, it's a
quick-and-dirty way to import the tests [1] and fix the call count/order
of observable operations via debug() and text expectations.

The tests are imported into LayoutTests/js/dom instead of LayoutTests/js for
run-javascriptcore-tests to ignore them as they require array-sort-harness.js.

These files will be removed shortly in favor of thorough test262 coverage,
which is required for the proposal [2] to be merged.

[1]: https://gist.github.com/szuend/05ae15b4e1329b264ab4c9a1cda09242
[2]: https://github.com/tc39/ecma262/pull/1585

* TestExpectations: Mark a test as slow.
* js/dom/array-sort-*-expected.txt: Added.
* js/dom/array-sort-*.html: Added.
* js/dom/script-tests/array-sort-*.js: Added.
* js/resources/array-sort-harness.js: Added.

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

3 months agoUnreviewed, we should put it under js/dom since it is not usable in JSC shell
ysuzuki@apple.com [Thu, 24 Sep 2020 01:36:12 +0000 (01:36 +0000)]
Unreviewed, we should put it under js/dom since it is not usable in JSC shell
https://bugs.webkit.org/show_bug.cgi?id=216851

* js/dom/script-tests/transform-stream.js: Renamed from LayoutTests/js/script-tests/transform-stream.js.
* js/dom/transform-stream-expected.txt: Renamed from LayoutTests/js/transform-stream-expected.txt.
* js/dom/transform-stream.html: Renamed from LayoutTests/js/transform-stream.html.

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

3 months agoUnreviewed config fix.
jlewis3@apple.com [Thu, 24 Sep 2020 00:22:30 +0000 (00:22 +0000)]
Unreviewed config fix.

* BuildSlaveSupport/build.webkit.org-config/config.json: Fixing random unicode character.

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

3 months agoUpdate iOS, watchOS and tvOS builders and tester with new SDKs
jlewis3@apple.com [Wed, 23 Sep 2020 23:41:23 +0000 (23:41 +0000)]
Update iOS, watchOS and tvOS builders and tester with new SDKs
https://bugs.webkit.org/show_bug.cgi?id=216658

Reviewed by Jonathan Bedard.

Bumped the versions on iOS, tvOS, and watchOS in config, dashboard and main CSS. Also, added the updated
images for the queues.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Device.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Device@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS7.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS7@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator7.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator7@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.ios-simulator-14 img.logo):
(table.queue-grid tr.platform.ios-14 img.logo):
(table.queue-grid tr.platform.tvos-simulator-14 img.logo):
(table.queue-grid tr.platform.tvos-14 img.logo):
(table.queue-grid tr.platform.watchos-simulator-7 img.logo):
(table.queue-grid tr.platform.watchos-7 img.logo):
(table.queue-grid tr.platform.ios-simulator-13 img.logo): Deleted.
(table.queue-grid tr.platform.ios-13 img.logo): Deleted.
(table.queue-grid tr.platform.tvos-simulator-13 img.logo): Deleted.
(table.queue-grid tr.platform.tvos-13 img.logo): Deleted.
(table.queue-grid tr.platform.watchos-simulator-6 img.logo): Deleted.
(table.queue-grid tr.platform.watchos-6 img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:

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

3 months ago[LFC Display] Add the beginnings of a CSS display box hierarchy and CSS painter
simon.fraser@apple.com [Wed, 23 Sep 2020 23:39:29 +0000 (23:39 +0000)]
[LFC Display] Add the beginnings of a CSS display box hierarchy and CSS painter
https://bugs.webkit.org/show_bug.cgi?id=216752

Reviewed by Zalan Bujtas.

Add some Display::Box subclasses to display/css, a Display::Tree class to own the
display tree, and a DisplayTreeBuilder. Also add css/DisplayCSSPainter which is
the beginnings of a class that knows how to paint a CSS stacking context.

This code other than DisplayCSSPainter is deliberately vague about how much is
CSS specific. It's likely that some box classes will be shared with SVG painting.

* CMakeLists.txt:
* Headers.cmake:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* display/DisplayLayerController.cpp:
(WebCore::Display::LayerController::RootLayerClient::paintContents):
(WebCore::Display::LayerController::RootLayerClient::deviceScaleFactor const):
(WebCore::Display::LayerController::prepareForDisplay):
(WebCore::Display::LayerController::ensureRootLayer):
(WebCore::Display::LayerController::updateRootLayerGeometry):
* display/DisplayLayerController.h:
* display/DisplayTree.cpp: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::Tree::Tree):
* display/DisplayTree.h: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::Tree::rootBox const):
* display/DisplayTreeBuilder.cpp: Added.
(WebCore::Display::TreeBuilder::TreeBuilder):
(WebCore::Display::TreeBuilder::build const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::TreeBuilder::displayBoxForRootBox const):
(WebCore::Display::TreeBuilder::displayBoxForLayoutBox const):
(WebCore::Display::outputDisplayBox):
(WebCore::Display::outputDisplayTree):
(WebCore::Display::showDisplayTree):
* display/DisplayTreeBuilder.h: Copied from Source/WebCore/display/DisplayView.h.
* display/DisplayView.cpp:
(WebCore::Display::View::prepareForDisplay):
(WebCore::Display::View::deviceScaleFactor const):
* display/DisplayView.h:
* display/css/DisplayBox.cpp: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::Box::Box):
(WebCore::Display::Box::setNextSibling):
(WebCore::Display::Box::debugDescription const):
* display/css/DisplayBox.h: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::Box::Box):
(WebCore::Display::Box::style const):
(WebCore::Display::Box::borderBoxFrame const):
(WebCore::Display::Box::isContainerBox const):
(WebCore::Display::Box::isImageBox const):
(WebCore::Display::Box::isReplacedBox const):
(WebCore::Display::Box::nextSibling const):
* display/css/DisplayCSSPainter.cpp: Added.
(WebCore::Display::CSSPainter::paintBoxDecorations):
(WebCore::Display::CSSPainter::paintBoxContent):
(WebCore::Display::CSSPainter::paintBox):
(WebCore::Display::CSSPainter::recursivePaintDescendants):
(WebCore::Display::CSSPainter::paintStackingContext):
(WebCore::Display::CSSPainter::isStackingContextPaintingBoundary):
(WebCore::Display::CSSPainter::recursiveCollectLayers):
(WebCore::Display::CSSPainter::paintTree):
* display/css/DisplayCSSPainter.h: Copied from Source/WebCore/display/DisplayView.h.
* display/css/DisplayContainerBox.cpp: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::ContainerBox::ContainerBox):
(WebCore::Display::ContainerBox::setFirstChild):
(WebCore::Display::ContainerBox::debugDescription const):
* display/css/DisplayContainerBox.h: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::ContainerBox::firstChild const):
* display/css/DisplayImageBox.cpp: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::ImageBox::ImageBox):
(WebCore::Display::ImageBox::setImage):
(WebCore::Display::ImageBox::debugDescription const):
* display/css/DisplayImageBox.h: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::ImageBox::image const):
* display/css/DisplayReplacedBox.cpp: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::ReplacedBox::ReplacedBox):
* display/css/DisplayReplacedBox.h: Copied from Source/WebCore/display/DisplayView.h.
(WebCore::Display::ReplacedBox::replacedContentRect const):
* display/css/DisplayStyle.cpp: Copied from Source/WebCore/display/DisplayView.cpp.
(WebCore::Display::Style::Style):
(WebCore::Display::Style::hasBackground const):
(WebCore::Display::Style::hasVisibleBorder const):
* display/css/DisplayStyle.h: Added.
(WebCore::Display::Style::backgroundColor const):
(WebCore::Display::Style::hasBackgroundImage const):
(WebCore::Display::Style::borderLeft const):
(WebCore::Display::Style::borderRight const):
(WebCore::Display::Style::borderTop const):
(WebCore::Display::Style::borderBottom const):
(WebCore::Display::Style::zIndex const):
(WebCore::Display::Style::isStackingContext const):
(WebCore::Display::Style::isPositioned const):
(WebCore::Display::Style::isFloating const):
(WebCore::Display::Style::participatesInZOrderSorting const):
(WebCore::Display::Style::setIsPositioned):
(WebCore::Display::Style::setIsFloating):
* layout/displaytree/DisplayBox.cpp: Removed.
* layout/displaytree/DisplayBox.h: Removed.
* layout/layouttree/LayoutIterator.h: Unified sources build fix.

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

3 months agowebkitpy: Make sw_vers the source of truth for the MacOS version
jbedard@apple.com [Wed, 23 Sep 2020 23:28:50 +0000 (23:28 +0000)]
webkitpy: Make sw_vers the source of truth for the MacOS version
https://bugs.webkit.org/show_bug.cgi?id=216903
<rdar://problem/69462735>

Reviewed by Dewei Zhu.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Use sw_vers instead of platform.mac_ver().
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(fake_executive): Set a valid return value for sw_vers by default.

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

3 months agoweb audio api outputs silence for 302 redirected resource in safari
cdumez@apple.com [Wed, 23 Sep 2020 23:25:31 +0000 (23:25 +0000)]
web audio api outputs silence for 302 redirected resource in safari
https://bugs.webkit.org/show_bug.cgi?id=214932
<rdar://problem/66300050>

Reviewed by Darin Adler.

Source/WebCore:

If the resource is redirected to another origin, treat it as tainted only if the crossorigin attribute
is not set. This is done for consistency with Blink:
- https://github.com/chromium/chromium/blob/master/media/blink/webmediaplayer_impl.cc (see WouldTaintOrigin())

The new behavior also seems to match Firefox.

Tests: http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-redirect.html
       http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-redirect.html

* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::wouldTaintOrigin):

LayoutTests:

Add layout test coverage. Update existing test to reflect the fact that the frequency returned by
the AnalyserNode is -Infinity when input is silent, not minDecibels (this has changed fairly
recently).

* http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-redirect-expected.txt: Added.
* http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-redirect.html: Copied from LayoutTests/http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html.
* http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html:
* http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-redirect-expected.txt: Added.
* http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-redirect.html: Copied from LayoutTests/http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html.

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

3 months agoUse less explicit ref() / deref() calls in WebAudio code
cdumez@apple.com [Wed, 23 Sep 2020 23:06:16 +0000 (23:06 +0000)]
Use less explicit ref() / deref() calls in WebAudio code
https://bugs.webkit.org/show_bug.cgi?id=216894

Reviewed by Darin Adler.

* Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::clearPendingActivity):
(WebCore::BaseAudioContext::makePendingActivity):
* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::setFormat):
(WebCore::MediaElementAudioSourceNode::process):
* Modules/webaudio/MediaElementAudioSourceNode.h:
* Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::startRendering):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaEngineWasUpdated):
(WebCore::HTMLMediaElement::createMediaPlayer):

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

3 months agoTurn off the legacy prefixed WebAudio API
cdumez@apple.com [Wed, 23 Sep 2020 22:48:05 +0000 (22:48 +0000)]
Turn off the legacy prefixed WebAudio API
https://bugs.webkit.org/show_bug.cgi?id=216886

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

* web-platform-tests/webaudio/historical-expected.txt:
Rebaseline test that is now passing.

Source/WebCore:

Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled
in r267488.

No new tests, rebaselined existing tests.

* Modules/webaudio/AudioBufferSourceNode.idl:
Make sure legacy constants get unexposed if the PrefixedWebAudio setting is disabled.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GetRuntimeEnabledStaticProperties):
* bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludesConstructor::initializeProperties):
(WebCore::JSTestConditionalIncludesPrototype::finishCreation):
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySettingConstructor::prototypeForStructure):
(WebCore::JSTestEnabledBySettingConstructor::initializeProperties):
(WebCore::JSTestEnabledBySettingPrototype::finishCreation):
* bindings/scripts/test/TestEnabledBySetting.idl:
Add support for using [EnabledBySetting=X] on constants.

Source/WebKit:

Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled
in r267488.

* Shared/WebPreferencesInternal.yaml:

Source/WebKitLegacy/mac:

Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled
in r267488.

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

LayoutTests:

Port existing layout tests from the prefixed WebAudio API to the new
unprefixed version.

* fast/history/page-cache-closed-audiocontext.html:
* fast/history/page-cache-running-audiocontext.html:
* fast/history/page-cache-suspended-audiocontext.html:
* fast/mediastream/getUserMedia-webaudio.html:
* fast/mediastream/media-devices-enumerate-devices.html:
* fast/mediastream/mediastreamtrack-audio-clone.html:
* fast/mediastream/mock-media-source-webaudio.html:
* http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html:
* http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin.html:
* http/wpt/mediarecorder/MediaRecorder-onremovetrack.html:
* http/wpt/webaudio/resources/audiocontext-stopped-iframe.html:
* platform/ios/webaudio/realtimeanalyser-fft-sizing-expected.txt:
* resources/testharnessreport.js:
* webaudio/analyser-exception.html:
* webaudio/audiobuffer-crash-expected.txt:
* webaudio/audiobuffer-crash.html:
* webaudio/audiobuffer-expected.txt:
* webaudio/audiobuffer-neuter.html:
* webaudio/audiobuffer.html:
* webaudio/audiobuffersource-channels-expected.txt:
* webaudio/audiobuffersource-channels.html:
* webaudio/audiobuffersource-ended.html:
* webaudio/audiobuffersource-multi-channels.html:
* webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html:
* webaudio/audiobuffersource-negative-playbackrate-interpolated.html:
* webaudio/audiobuffersource-negative-playbackrate-loop.html:
* webaudio/audiobuffersource-negative-playbackrate.html:
* webaudio/audiobuffersource-not-gced-until-ended.html:
* webaudio/audiobuffersource-playbackState-expected.txt: Removed.
* webaudio/audiobuffersource-playbackState.html: Removed.
* webaudio/audiobuffersource-playbackrate.html:
* webaudio/audiobuffersource-start.html:
* webaudio/audiobuffersource.html:
* webaudio/audiobuffersourcenode-legacy-api-expected.txt:
* webaudio/audiobuffersourcenode-legacy-api.html:
* webaudio/audiochannelmerger-basic.html:
* webaudio/audiochannelmerger-stereo.html:
* webaudio/audiochannelsplitter.html:
* webaudio/audiocontext-promise-throwing-expected.txt:
* webaudio/audiocontext-promise-throwing.html:
* webaudio/audiocontext-promise.html:
* webaudio/audiocontext-restriction-audiobuffersourcenode-start.html:
* webaudio/audiocontext-restriction.html:
* webaudio/audiocontext-state-interrupted.html:
* webaudio/audiocontext-state.html:
* webaudio/audionode-connect-order.html:
* webaudio/audionode.html:
* webaudio/audioparam-connect-audioratesignal.html:
* webaudio/audioparam-summingjunction.html:
* webaudio/audioprocessingevent.html:
* webaudio/automatic-pull-node.html:
* webaudio/convolution-mono-mono.html:
* webaudio/convolver-channels.html:
* webaudio/convolver-setBuffer-different-samplerate.html:
* webaudio/convolver-setBuffer-null.html:
* webaudio/createMediaStreamSource-null-expected.txt:
* webaudio/createMediaStreamSource-null.html:
* webaudio/decode-audio-data-basic-expected.txt:
* webaudio/decode-audio-data-basic.html:
* webaudio/decode-audio-data-too-short.html:
* webaudio/delaynode-max-default-delay.html:
* webaudio/delaynode-max-nondefault-delay.html:
* webaudio/delaynode-maxdelay.html:
* webaudio/delaynode-maxdelaylimit.html:
* webaudio/delaynode-scheduling.html:
* webaudio/delaynode.html:
* webaudio/distance-exponential.html:
* webaudio/distance-inverse.html:
* webaudio/distance-linear.html:
* webaudio/dynamicscompressor-basic.html:
* webaudio/finished-audio-buffer-source-nodes-should-be-collectable.html:
* webaudio/gain-basic.html:
* webaudio/gain.html:
* webaudio/mediaelementaudiosourcenode-expected.txt:
* webaudio/mediaelementaudiosourcenode-gc.html:
* webaudio/mediaelementaudiosourcenode.html:
* webaudio/mixing.html:
* webaudio/offlineaudiocontext-gc.html:
* webaudio/offlineaudiocontext-restriction.html:
* webaudio/oscillatornode-legacy-api-expected.txt:
* webaudio/oscillatornode-legacy-api.html:
* webaudio/page-canstartmedia.html:
* webaudio/panner-equalpower-stereo.html:
* webaudio/panner-equalpower.html:
* webaudio/prefixed-pannernode-basic-expected.txt: Removed.
* webaudio/prefixed-pannernode-basic.html: Removed.
* webaudio/realtimeanalyser-fft-sizing-expected.txt:
* webaudio/realtimeanalyser-fft-sizing.html:
* webaudio/resources/audio-codec-test.js:
(runDecodingTest):
* webaudio/resources/audiobuffersource-ended-detached-frame-iframe.html:
* webaudio/resources/audioparam-testing-legacy.js:
(createAudioGraphAndTest):
* webaudio/resources/compatibility.js: Removed.
* webaudio/resources/javascriptaudionode-testing.js:
(runJSNodeTest):
* webaudio/resources/oscillator-testing-legacy.js:
(generateExponentialOscillatorSweep):
* webaudio/sample-accurate-scheduling.html:
* webaudio/silence-after-playback.html:
* webaudio/silent-audio-interrupted-in-background.html:
* webaudio/stereo2mono-down-mixing.html:
* webaudio/test-basic.html:
* webaudio/up-mixing-mono-51.html:
* webaudio/up-mixing-mono-stereo.html:
* webaudio/up-mixing-stereo-51.html:
* webaudio/waveshaper.html:
* webaudio/web-audio-is-playing.html:
* webaudio/webaudio-gc.html:
* webaudio/webkitofflineaudiocontext-startRendering-crash-expected.txt:
* webaudio/webkitofflineaudiocontext-startRendering-crash.html:
* webrtc/audio-peer-connection-g722.html:
* webrtc/audio-peer-connection-webaudio.html:
* webrtc/clone-audio-track.html:
* webrtc/getUserMedia-webaudio-autoplay.html:
* webrtc/peer-connection-audio-mute.html:
* webrtc/peer-connection-audio-mute2.html:
* webrtc/peer-connection-createMediaStreamDestination.html:
* webrtc/peer-connection-remote-audio-mute.html:
* webrtc/peer-connection-remote-audio-mute2.html:
* webrtc/routines.js:

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

3 months ago[css-grid] Clear the override width for computing percent margins
obrufau@igalia.com [Wed, 23 Sep 2020 22:31:47 +0000 (22:31 +0000)]
[css-grid] Clear the override width for computing percent margins
https://bugs.webkit.org/show_bug.cgi?id=209461

Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

Update test expectations.

The 2 grid-items-percentage-paddings tests are now expected to have some
failures because of bug 191964. In fact they were already failing before
this patch, as can be seen in wpt.fyi:
https://wpt.fyi/results/css/css-grid/grid-items?q=grid-items-percentage-paddings-vertical-%20-002.html
It's just that the bug that is being fixed made the test runner think
that the tests were passing, probably some racy condition or such.

* web-platform-tests/css/css-grid/grid-definition/grid-minimum-contribution-with-percentages-expected.txt:
* web-platform-tests/css/css-grid/grid-items/grid-item-dynamic-min-contribution-001-expected.txt:
* web-platform-tests/css/css-grid/grid-items/grid-items-minimum-height-orthogonal-001-expected.txt:
* web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002-expected.txt:
* web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-002-expected.txt:

Source/WebCore:

When calculating the min-content contribution of a grid item of an auto
sized grid track we must consider the grid item's margin. When the grid
item's area is indefinite, a percent margin is resolved to zero.
However, when performing a relayout, the percent margin may be solved
against the previously computed grid area, since the grid item has
already an OverrideContainingBlockLogicalWidth value.

In order to re-compute the percent margin properly, we need to clear
the previously override value. It's important to be careful of not
clearing the override value set during intrinsic size, since we need
it for the actual layout phase. Hence, we only reset the 'override'
value when we are executing a definite strategy.

This is a reland of r261841, which was reverted because it broke spotify.
This problem is now avoided thanks to bug 210089.

Tests: imported/w3c/web-platform-tests/css/css-grid/grid-definition/grid-minimum-contribution-with-percentages.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-item-dynamic-min-contribution-001.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-minimum-height-orthogonal-001.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-003.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-004.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-005.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-006.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-007.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-008.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-009.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-010.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-005.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-006.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-009.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-010.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002.html
       imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-002.html

* rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::hasRelativeMarginOrPaddingForChild):
(WebCore::hasRelativeOrIntrinsicSizeForChild):
(WebCore::shouldClearOverrideContainingBlockContentSizeForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::minLogicalSizeForChild const):
(WebCore::DefiniteSizeStrategy::minLogicalSizeForChild const):
(WebCore::DefiniteSizeStrategy::minContentForChild const):
* rendering/GridTrackSizingAlgorithm.h:

LayoutTests:

Update test expectations.

* TestExpectations:

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

3 months ago[GTK][WPE] Move TLS errors API from WebKitContext to WebKitWebsiteDataManager
commit-queue@webkit.org [Wed, 23 Sep 2020 22:14:15 +0000 (22:14 +0000)]
[GTK][WPE] Move TLS errors API from WebKitContext to WebKitWebsiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=216822

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-09-23
Reviewed by Alex Christensen.

Source/WebCore:

Make ignoreTLSErrors a member of SoupNetworkSession, instead of being global.

* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::setIgnoreTLSErrors):
(WebCore::SoupNetworkSession::checkTLSErrors):
(WebCore::SoupNetworkSession::setShouldIgnoreTLSErrors): Deleted.
* platform/network/soup/SoupNetworkSession.h:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setAllowsAnySSLCertificate): Do not use SoupNetworkSession in the web process.

Source/WebKit:

Make TLS errors policy per session instead of global to the network process. The web context API now simply
forwards the request to the website data manager. The website data manager created for an ephemeral web view
will inherit the network settings from the web context website data manager. This ensures backwards
compatibility, but it's also convenient, since it's the desired behavior in most of the cases. Apps can still
change the network settings of the web view by getting the website data manager.

* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
* NetworkProcess/NetworkSessionCreationParameters.h:
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::tlsConnectionAcceptCertificate):
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::setIgnoreTLSErrors):
* NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup):
(WebKit::webSocketAcceptCertificateCallback):
(WebKit::webSocketMessageNetworkEventCallback):
(WebKit::NetworkSessionSoup::createWebSocketTask):
(WebKit::NetworkSessionSoup::setIgnoreTLSErrors):
* NetworkProcess/soup/NetworkSessionSoup.h:
* UIProcess/API/glib/WebKitAutomationSession.cpp:
(webkitAutomationSessionCreate):
* UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
(webkit_web_context_set_tls_errors_policy):
(webkit_web_context_get_tls_errors_policy):
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewConstructed):
(webkit_web_view_class_init):
(webkitWebViewLoadFailedWithTLSErrors):
* UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkitWebsiteDataManagerConstructed):
(webkitWebsiteDataManagerGetDataStore):
(webkit_website_data_manager_set_tls_errors_policy):
(webkit_website_data_manager_get_tls_errors_policy):
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/WebKitWebsiteDataManager.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/wpe/WebKitWebContext.h:
* UIProcess/API/wpe/WebKitWebsiteDataManager.h:
* UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
* UIProcess/WebProcessPool.h:
* UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::ignoreTLSErrors const):
* UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::setIgnoreTLSErrors):
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::setIgnoreTLSErrors): Deleted.

Tools:

Update tests to use the new API instead of the deprecated one. Also update the TLSErrorsPolicy test to also
check that ephemeral web views inherit the network settings from its web context.

* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testSSL):
(testInsecureContent):
(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(testSubresourceLoadFailedWithTLSErrors):
(testWebSocketTLSErrors):

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

3 months agoForce SYSTEM_VERSION_COMPAT=0 in Webkit scripts
jbedard@apple.com [Wed, 23 Sep 2020 21:54:31 +0000 (21:54 +0000)]
Force SYSTEM_VERSION_COMPAT=0 in Webkit scripts
https://bugs.webkit.org/show_bug.cgi?id=216895
<rdar://problem/69454393>

Reviewed by Dewei Zhu.

* Scripts/configure-xcode-for-embedded-development:
* Scripts/webkitpy/__init__.py:

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

3 months ago[JSC] Intl spec update: handle awkward rounding behavior
ysuzuki@apple.com [Wed, 23 Sep 2020 21:26:09 +0000 (21:26 +0000)]
[JSC] Intl spec update: handle awkward rounding behavior
https://bugs.webkit.org/show_bug.cgi?id=216760

Reviewed by Ross Kirsling.

JSTests:

* stress/intl-numberformat.js:
* test262/expectations.yaml:

Source/JavaScriptCore:

This patch supports new spec change of "handle awkward rounding behavior"[1].
This changes minimumFractionDigits / maximumFractionDigits calculation when the specified ones are less than currency-digits.

[1]: https://github.com/tc39/ecma402/pull/471

* runtime/CommonIdentifiers.h:
* runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::resolvedOptions const):
* runtime/IntlNumberFormatInlines.h:
(JSC::setNumberFormatDigitOptions):
* runtime/IntlPluralRules.cpp:
(JSC::IntlPluralRules::resolvedOptions const):

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

3 months agoFix some typo'd wheel event listener logging
timothy_horton@apple.com [Wed, 23 Sep 2020 21:17:06 +0000 (21:17 +0000)]
Fix some typo'd wheel event listener logging
https://bugs.webkit.org/show_bug.cgi?id=216892

Reviewed by Wenson Hsieh.

* rendering/EventRegion.cpp:
(WebCore::EventRegion::uniteEventListeners):
Wheel is passive, NonPassiveWheel is active.

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

3 months ago[macOS] Issue sandbox extension for the diagnostic daemon
pvollan@apple.com [Wed, 23 Sep 2020 19:52:03 +0000 (19:52 +0000)]
[macOS] Issue sandbox extension for the diagnostic daemon
https://bugs.webkit.org/show_bug.cgi?id=216834
<rdar://problem/58496834>

Reviewed by Brent Fulgham.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::isInternalInstall):
(WebKit::agxCompilerClasses):
(WebKit::diagnosticServices):
(WebKit::WebProcessPool::platformInitializeWebProcess):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/com.apple.WebProcess.sb.in:

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

3 months agoRemove ENABLE_SVG_FONTS macro
Hironori.Fujii@sony.com [Wed, 23 Sep 2020 19:50:23 +0000 (19:50 +0000)]
Remove ENABLE_SVG_FONTS macro
https://bugs.webkit.org/show_bug.cgi?id=216850

Reviewed by Don Olmstead.

.:

No ports have this disabled, so remove it.

* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/WebCore:

* CMakeLists.txt:
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::appendSources):
(WebCore::CSSFontFace::hasSVGFontFaceSource const):
* css/CSSFontFace.h:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource):
(WebCore::CSSFontFaceSource::load):
(WebCore::CSSFontFaceSource::font):
(WebCore::CSSFontFaceSource::isSVGFontFaceSource const):
* css/CSSFontFaceSource.h:
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::isSVGFontTarget const):
(WebCore::CSSFontFaceSrcValue::isSupportedFormat const):
* css/CSSFontFaceSrcValue.h:
* inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::inspectorResourceType):
* loader/LinkLoader.cpp:
(WebCore::createLinkPreloadResourceClient):
* loader/ResourceLoadInfo.cpp:
(WebCore::ContentExtensions::toResourceType):
* loader/SubresourceLoader.cpp:
(WebCore::logResourceLoaded):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::defaultPriorityForResourceType):
(WebCore::CachedResource::isCORSSameOrigin const):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::contentTypeFromResourceType):
(WebCore::CachedResourceLoader::checkInsecureContent const):
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
(WebCore::destinationForType):
* loader/cache/CachedSVGFont.cpp:
* loader/cache/CachedSVGFont.h:
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::getStatistics):
* rendering/svg/SVGTextLayoutEngineSpacing.cpp:
* style/StyleResolver.cpp:
(WebCore::Style::Resolver::addCurrentSVGFontFaceRules):
* svg/SVGAltGlyphDefElement.cpp:
* svg/SVGAltGlyphDefElement.h:
* svg/SVGAltGlyphDefElement.idl:
* svg/SVGAltGlyphElement.cpp:
* svg/SVGAltGlyphElement.h:
* svg/SVGAltGlyphElement.idl:
* svg/SVGAltGlyphItemElement.cpp:
* svg/SVGAltGlyphItemElement.h:
* svg/SVGAltGlyphItemElement.idl:
* svg/SVGDocumentExtensions.cpp:
* svg/SVGDocumentExtensions.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::childShouldCreateRenderer const):
* svg/SVGFontElement.cpp:
* svg/SVGFontElement.h:
* svg/SVGFontElement.idl:
* svg/SVGFontFaceElement.cpp:
* svg/SVGFontFaceElement.h:
* svg/SVGFontFaceElement.idl:
* svg/SVGFontFaceFormatElement.cpp:
* svg/SVGFontFaceFormatElement.h:
* svg/SVGFontFaceFormatElement.idl:
* svg/SVGFontFaceNameElement.cpp:
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceNameElement.idl:
* svg/SVGFontFaceSrcElement.cpp:
* svg/SVGFontFaceSrcElement.h:
* svg/SVGFontFaceSrcElement.idl:
* svg/SVGFontFaceUriElement.cpp:
* svg/SVGFontFaceUriElement.h:
* svg/SVGFontFaceUriElement.idl:
* svg/SVGGlyphElement.cpp:
* svg/SVGGlyphElement.h:
* svg/SVGGlyphElement.idl:
* svg/SVGGlyphRefElement.cpp:
* svg/SVGGlyphRefElement.h:
* svg/SVGGlyphRefElement.idl:
* svg/SVGHKernElement.cpp:
* svg/SVGHKernElement.h:
* svg/SVGHKernElement.idl:
* svg/SVGMissingGlyphElement.cpp:
* svg/SVGMissingGlyphElement.h:
* svg/SVGMissingGlyphElement.idl:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::rendererIsNeeded):
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::childShouldCreateRenderer const):
(WebCore::SVGTSpanElement::rendererIsNeeded):
* svg/SVGTests.cpp:
(WebCore::supportedSVGFeatures):
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::childShouldCreateRenderer const):
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::elementFromRenderer):
* svg/SVGToOTFFontConversion.cpp:
* svg/SVGVKernElement.cpp:
* svg/SVGVKernElement.h:
* svg/SVGVKernElement.idl:
* svg/svgtags.in:

Source/WebKit:

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):

Source/WTF:

* wtf/PlatformEnable.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

3 months ago[macOS] Change name of client decoder entitlement
pvollan@apple.com [Wed, 23 Sep 2020 19:39:48 +0000 (19:39 +0000)]
[macOS] Change name of client decoder entitlement
https://bugs.webkit.org/show_bug.cgi?id=216670
<rdar://problem/69101997>

Reviewed by Darin Adler.

The client decoder entitlement landed in <https://trac.webkit.org/changeset/266613/webkit> has changed name, and should be updated.

* Scripts/process-entitlements.sh:

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

3 months agoMissing scope release in JSDOMBuiltinConstructorBase
tzagallo@apple.com [Wed, 23 Sep 2020 19:35:19 +0000 (19:35 +0000)]
Missing scope release in JSDOMBuiltinConstructorBase
https://bugs.webkit.org/show_bug.cgi?id=216851
<rdar://problem/69144642>

Reviewed by Yusuke Suzuki.

Source/WebCore:

In JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments, we should release the
ThrowScope before calling into JavaScript since we don't intend to handle the exception.

Test: js/transform-stream.html

* bindings/js/JSDOMBuiltinConstructorBase.cpp:
(WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments):

LayoutTests:

* js/script-tests/transform-stream.js: Added.
* js/transform-stream-expected.txt: Added.
* js/transform-stream.html: Added.

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

3 months ago[LFC][IFC] Precompute the collapsible trailing width for LineBreaker
zalan@apple.com [Wed, 23 Sep 2020 19:34:44 +0000 (19:34 +0000)]
[LFC][IFC] Precompute the collapsible trailing width for LineBreaker
https://bugs.webkit.org/show_bug.cgi?id=216881

Reviewed by Antti Koivisto.

Let's just compute the collapsible trailing width while adding inline content to LineCandidate instead of
reverse looping through the runs in LineBreaker.
This is also in preparation for reducing the number of RuntimeEnabledFeatures::layoutFormattingContextIntegrationEnabled calls.

* layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::ContinuousContent::hasTrailingCollapsibleContent const):
(WebCore::Layout::ContinuousContent::isFullyCollapsible const):
(WebCore::Layout::LineBreaker::shouldKeepEndOfLineWhitespace const):
(WebCore::Layout::LineBreaker::shouldWrapInlineContent):
(WebCore::Layout::LineBreaker::tryWrappingInlineContent const):
(WebCore::Layout::ContinuousContent::ContinuousContent):
(WebCore::Layout::ContinuousContent::nonCollapsibleLogicalWidth const):
(WebCore::Layout::ContinuousContent::isTrailingContentFullyCollapsible const): Deleted.
(WebCore::Layout::ContinuousContent::TrailingCollapsibleContent::reset): Deleted.
* layout/inlineformatting/InlineLineBreaker.h:
* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::collapsibleTrailingWidth const):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):

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

3 months agoLimit number of emails to send for flaky and pre-existing API and layout test failures
aakash_jain@apple.com [Wed, 23 Sep 2020 19:17:20 +0000 (19:17 +0000)]
Limit number of emails to send for flaky and pre-existing API and layout test failures
https://bugs.webkit.org/show_bug.cgi?id=216876

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(ReRunWebKitTests): Simply limit the flaky failures immediately after they are calculated, since we don't display
the count of flaky failures. Flaky failures are displayed only to help bot-watchers in noticing flaky tests.
(AnalyzeLayoutTestsResults.report_pre_existing_failures): Limit pre-existing and flaky test failures just before sending emails.
(AnalyzeAPITestsResults.analyzeResults):

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

3 months agoNotify igalia team about pre-existing test failures and build failures for JSC queues
aakash_jain@apple.com [Wed, 23 Sep 2020 19:07:10 +0000 (19:07 +0000)]
Notify igalia team about pre-existing test failures and build failures for JSC queues
https://bugs.webkit.org/show_bug.cgi?id=216889

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Send email for pre-existing jsc build failures.
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure): Send email for pre-existing jsc test failure.
* BuildSlaveSupport/ews-build/send_email.py:
* BuildSlaveSupport/ews-build/emails.json: Added email address of igalia jsc team.

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

3 months ago[Media in GPU Process] Implement caption support in video fullscreen and PiP
peng.liu6@apple.com [Wed, 23 Sep 2020 18:45:11 +0000 (18:45 +0000)]
[Media in GPU Process] Implement caption support in video fullscreen and PiP
https://bugs.webkit.org/show_bug.cgi?id=208752

Reviewed by Eric Carlson.

Source/WebCore:

Export TextTrackRepresentation so that WebKit can use it. Also, update the
interface of VideoLayerManagerObjC related to text track representation to
use PlatformLayer* instead of TextTrackRepresentation*.

Manually tested.

* WebCore.xcodeproj/project.pbxproj:
Change target membership of TextTrackRepresentation.h.

* platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
* platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::setTextTrackRepresentationLayer):
(WebCore::VideoLayerManagerObjC::setTextTrackRepresentation): Deleted.
Replace setTextTrackRepresentation() with setTextTrackRepresentationLayer().

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setTextTrackRepresentation):
Use VideoLayerManagerObjC::setTextTrackRepresentationLayer() instead of
VideoLayerManagerObjC::setTextTrackRepresentation().

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setTextTrackRepresentation): Ditto.

Source/WebKit:

* GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::syncTextTrackBounds): Deleted.
* GPUProcess/media/RemoteMediaPlayerProxy.h:
* GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
Remove syncTextTrackBounds() because the GPU process does not need to deal with
the text track bounds.

* WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage):
Add a missing IPC message receiver.

* WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenLayer): Set the flag
m_requiresTextTrackRepresentation when changing video presentation mode.
(WebKit::MediaPlayerPrivateRemote::requiresTextTrackRepresentation const): Deleted.
(WebKit::MediaPlayerPrivateRemote::setTextTrackRepresentation): Deleted.
(WebKit::MediaPlayerPrivateRemote::syncTextTrackBounds): Deleted.
Move the implementation of those functions to MediaPlayerPrivateRemoteCocoa.

* WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Add the flag m_requiresTextTrackRepresentation and add a reference
to the layer used to render text track (in fullscreen or picture-in-picture).

* WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrame):
(WebKit::MediaPlayerPrivateRemote::setTextTrackRepresentation):
(WebKit::MediaPlayerPrivateRemote::syncTextTrackBounds):
Those functions share a similar implementation as VideoLayerManagerObjC.

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

3 months ago[macOS] Start collecting telemetry from a set of XPC services
pvollan@apple.com [Wed, 23 Sep 2020 17:55:35 +0000 (17:55 +0000)]
[macOS] Start collecting telemetry from a set of XPC services
<https://bugs.webkit.org/show_bug.cgi?id=216797>

Reviewed by Brent Fulgham.

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

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

3 months ago[JSC][ESNext] Create a new opcode to handle private fields store/define
ticaiolima@gmail.com [Wed, 23 Sep 2020 17:19:38 +0000 (17:19 +0000)]
[JSC][ESNext] Create a new opcode to handle private fields store/define
https://bugs.webkit.org/show_bug.cgi?id=213372

Reviewed by Yusuke Suzuki.

JSTests:

Adjusting tests that emit `get_private_name` to avoid execution in
FTL/DFG.

* microbenchmarks/class-fields-private/polymorphic-put-private-field.js: Added.
* microbenchmarks/class-fields-private/put-private-field.js: Added.
* microbenchmarks/polymorphic-put-public-field.js: Added.
* microbenchmarks/put-public-field.js: Added.
* stress/dfg-put-private-name-check-barrier-insertion.js: Added.
* stress/dfg-put-private-name-compiled-as-put-by-id-direct.js: Added.
* stress/dfg-put-private-name-compiled-as-put-private-name-by-id.js: Added.
* stress/put-private-name-by-id-set-do-not-add-structure-trasition.js: Added.
* stress/put-private-name-check-structure-miss.js: Added.
* stress/put-private-name-constant-folding-to-mult-put-by-offset.js: Added.
* stress/put-private-name-constant-folding-to-put-by-offset.js: Added.
* stress/put-private-name-generic.js: Added.
* stress/put-private-name-invalid-define.js: Added.
* stress/put-private-name-invalid-store.js: Added.
* stress/put-private-name-invalidate-compiled-with-constant-symbol.js: Added.
* stress/put-private-name-polymorphic-with-constant-symbol.js: Added.
* stress/put-private-name-with-constant-symbol.js: Added.
* stress/put-private-name-with-different-identifier.js: Added.

Source/JavaScriptCore:

This patch is adding a new opcode to handle private field storage.
Before this change, we were using `put_by_val_direct` and including
the information of `PutKind` into `PutByValFlags`. We initially decided
to use `put_by_val_direct` to take advantage of all IC mechanism already
implemented for this instruction, however the semantics of private field
is different enough to complicate the understanding of
`put_by_val_direct`.

The new instruction is called `put_private_name` and has as its operands
`baseObject` where the put is going to be placed, the `property`
that's going to be installed (it is always a private symbol of a
private field), the `value` we are going to store and the
`PrivateFieldPutKind` that can be `Define` or `Set`.
The difference of each `PrivateFieldPutKind` is the following:

- Define: It defines a new private field. If this field is already
present, it throws a `TypeError`.
- Set: It sets the value of a private field. If the field is not
present at the moment of set, it throws a `TypeError`.

This patch includes support of IC for all tiers. For DFG and FTL, we
are only emmiting IC when we are able to emit `CheckConstant`
for subscript identifier during Bytecode parsing. We are adding a new
DFG node called `PutPrivateNameById` that handles such cases when we
have constant identifiers.
We are also adding a new DFG node `PutPrivateName` that handles generic
case of `put_private_name`. The strategy used to compile
`put_private_name` is very similar with what we are using with
`put_by_val[_direct]`. We first try to compile it as `[Multi]PutByOffset`
using profiled information from LLInt and Baseline execution. If it
is not possible, we then emit `PutPrivateName[ById]` node. We get another
chance to transform `PutPrivateNameById` into `PutByOffset` if we can prove
its structure set at constant folding phase.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Sources.txt:
* bytecode/BytecodeList.rb:
* bytecode/BytecodeUseDef.cpp:
(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
* bytecode/Fits.h:
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:
* bytecode/PutByValFlags.cpp: Removed.
* bytecode/PutByValFlags.h: Removed.
* bytecode/PutKind.h:
(): Deleted.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitDirectPutByVal):
(JSC::BytecodeGenerator::emitDefinePrivateField):
(JSC::BytecodeGenerator::emitPrivateFieldPut):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handlePutPrivateNameById):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::handlePutByVal):
(JSC::DFG::ecmaMode): Deleted.
(JSC::DFG::ecmaMode<OpPutByValDirect>): Deleted.
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::tryFoldAsPutByOffset):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::convertToMultiPutByOffset):
(JSC::DFG::Node::hasCacheableIdentifier):
(JSC::DFG::Node::hasPrivateFieldPutKind):
(JSC::DFG::Node::privateFieldPutKind):
* dfg/DFGNodeType.h:
* dfg/DFGOpInfo.h:
(JSC::DFG::OpInfo::OpInfo):
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutPrivateName):
(JSC::DFG::SpeculativeJIT::compilePutPrivateNameById):
(JSC::DFG::SpeculativeJIT::compilePutByIdFlush):
(JSC::DFG::SpeculativeJIT::compilePutById):
(JSC::DFG::SpeculativeJIT::compilePutByIdDirect):
(JSC::DFG::SpeculativeJIT::cachedPutById):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStoreBarrierInsertionPhase.cpp:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compilePutPrivateNameById):
(JSC::FTL::DFG::LowerDFGToB3::compilePutPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::cachedPutById):
(JSC::FTL::DFG::LowerDFGToB3::compilePutById):
* generator/DSL.rb:
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
* jit/JIT.h:
(JSC::ByValCompilationInfo::ByValCompilationInfo):
* jit/JITInlineCacheGenerator.cpp:
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
(JSC::JITPutByIdGenerator::slowPathFunction):
* jit/JITInlineCacheGenerator.h:
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
* jit/JITInlines.h:
(JSC::JIT::ecmaMode<OpPutPrivateName>):
(JSC::JIT::ecmaMode<OpPutByValDirect>): Deleted.
(JSC::JIT::privateFieldAccessKind): Deleted.
(JSC::JIT::privateFieldAccessKind<OpPutByValDirect>): Deleted.
* jit/JITOperations.cpp:
(JSC::setPrivateField):
(JSC::putPrivateField): Deleted.
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::emit_op_put_private_name):
(JSC::JIT::emitSlow_op_put_private_name):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitPutPrivateNameWithCachedId):
(JSC::JIT::privateCompilePutPrivateNameWithCachedId):
(JSC::JIT::privateCompilePutByValWithCachedId):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_private_name):
(JSC::JIT::emitSlow_op_put_private_name):
(JSC::JIT::emit_op_put_by_id):
* jit/Repatch.cpp:
(JSC::appropriateGenericPutByIdFunction):
(JSC::appropriateOptimizingPutByIdFunction):
(JSC::tryCachePutByID):
(JSC::resetPutByID):
* llint/LLIntOffsetsExtractor.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSObject.h:
* runtime/JSObjectInlines.h:
(JSC::JSObject::setPrivateField):
(JSC::JSObject::putPrivateField): Deleted.
* runtime/PrivateFieldPutKind.cpp: Added.
(JSC::PrivateFieldPutKind::dump const):
* runtime/PrivateFieldPutKind.h: Added.
(JSC::PrivateFieldPutKind::fromByte):
(JSC::PrivateFieldPutKind::none):
(JSC::PrivateFieldPutKind::set):
(JSC::PrivateFieldPutKind::define):
(JSC::PrivateFieldPutKind::isNone const):
(JSC::PrivateFieldPutKind::isSet const):
(JSC::PrivateFieldPutKind::isDefine const):
(JSC::PrivateFieldPutKind::value const):
(JSC::PrivateFieldPutKind::PrivateFieldPutKind):

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

3 months agoTurn on the modern unprefixed WebAudio API
cdumez@apple.com [Wed, 23 Sep 2020 17:10:18 +0000 (17:10 +0000)]
Turn on the modern unprefixed WebAudio API
https://bugs.webkit.org/show_bug.cgi?id=216885

Reviewed by Eric Carlson.

Turn on the modern unprefixed WebAudio API now that we support most of the API
besides AudioWorklet and now that we have a good pass rate on WPT tests.

Source/WebKit:

* Shared/WebPreferencesExperimental.yaml:

Source/WebKitLegacy/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):

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

3 months agowebaudio/AudioBufferSource/audiobuffersource-playbackrate.html is crashing
cdumez@apple.com [Wed, 23 Sep 2020 17:07:18 +0000 (17:07 +0000)]
webaudio/AudioBufferSource/audiobuffersource-playbackrate.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=216827

Reviewed by Darin Adler.

Source/WebCore:

AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping() would hit an assertion inside
finish() because finish() was already called earlier when calling updateSchedulingInfo().
updateSchedulingInfo() already takes care of calling finish() when we're done playing.
Address the issue by only calling finish() if hasFinished() returns false.

No new tests, unskipped existing test.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):

LayoutTests:

Unskip test that is no longer crashing.

* TestExpectations:

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

3 months agoUnreviewed, add ios baseline for media/media-can-play-av1.html
philn@webkit.org [Wed, 23 Sep 2020 16:54:27 +0000 (16:54 +0000)]
Unreviewed, add ios baseline for media/media-can-play-av1.html

This was forgotten in r267474.

* platform/ios/media/media-can-play-av1-expected.txt: Added.

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

3 months agoUnreviewed, reverting r267403.
tsavell@apple.com [Wed, 23 Sep 2020 16:03:59 +0000 (16:03 +0000)]
Unreviewed, reverting r267403.

Caused 50+ Crashes on iOS Debug

Reverted changeset:

"Move Media in GPU Process flag from internal to experimental"
https://bugs.webkit.org/show_bug.cgi?id=216473
https://trac.webkit.org/changeset/267403

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

3 months agoREGRESSION(r267368) [webkitpy] autoinstalled pytest raises ImportError in run-webdriv...
lmoura@igalia.com [Wed, 23 Sep 2020 15:57:11 +0000 (15:57 +0000)]
REGRESSION(r267368) [webkitpy] autoinstalled pytest raises ImportError in run-webdriver-tests
https://bugs.webkit.org/show_bug.cgi?id=216879

Reviewed by Jonathan Bedard.

Autoinstalled pytest requires sys.path to be updated with the newly
installed packages. Before r267368 it worked because
webdriver_w3c_executor.py autoinstalled mozlog/mozprocess which
updated the sys.path.

* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_pytest):

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

3 months agoFix for accessibility/aria-combobox-control-owns-elements.html in isolated tree mode.
andresg_22@apple.com [Wed, 23 Sep 2020 15:53:01 +0000 (15:53 +0000)]
Fix for accessibility/aria-combobox-control-owns-elements.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=216878

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/aria-combobox-control-owns-elements.html.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree): Update the isolated tree
node for ActiveDescendant and SelectedChildren notifications.
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData): Only cache
selectedChildren for those AXObjects that canHaveSelectedChildren.

LayoutTests:

Use Promises to make this test work reliably for both single and multithreaded accessibility modes.

* accessibility/aria-combobox-control-owns-elements-expected.txt:
* accessibility/aria-combobox-control-owns-elements.html:

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

3 months agoSelection API: Update more tests that depend on WebKit's legacy non-standard behavior...
darin@apple.com [Wed, 23 Sep 2020 15:50:44 +0000 (15:50 +0000)]
Selection API: Update more tests that depend on WebKit's legacy non-standard behavior to set up the selection
https://bugs.webkit.org/show_bug.cgi?id=216844

Reviewed by Ryosuke Niwa.

Discovered a batch of editing tests that accidentally rely on non-standard selection
behavior to set up the tests. In many cases, the tests were clearly written wrong, like
using character offsets but a container that is not a text node. These changes keep the
tests testing the same things they are today.

* editing/deleting/delete-block-merge-contents-025.html: Use the actual number of child
nodes rather than 2000000000.
* editing/deleting/delete-blockquote-large-offsets.html: Ditto. The "large offsets" in
the title of this bug might simply be something that can't actually be done in practice,
setting an offset that is much higher than the actual number of children. The old code
simply clamped the high value.

* editing/execCommand/format-block-typing-style.html: Use a 1 as an offset so we are
past the child text element, rather than 5, which was presumably an attempt at setting
an offset to a particular character, but using the wrong container node.

* editing/execCommand/insert-nested-lists-in-table.html: Use a computed offset instead
of a hardcoded, and too high, value of 3.

* editing/execCommand/outdent-selection.html: Use a 1 instead of a 2 for an offset on
a container node that has only one child.
* editing/input/select-all-clear-input-method.html: Use a 3 instead of a 5 for an
offset in a container that's a text node containing 3 characters.

* editing/inserting/insert-list-during-node-removal-crash.html: This one is a little
different. The code selected the entire document and used the deleteFromDocument method.
That function is specified to not do an end-user "editing" delete, but to literally
delete all the nodes. That includes all the script nodes. To fix the test, just select
the contents of the body of the document.

* editing/inserting/insert-list-in-table-assert.html: Use a 0 instead of a 1
for an offset inside an empty style element.
* editing/inserting/insert-list-in-table-cell-04.html: Use a 1 instead of a 2
as the offest for the end of the element, given the element had only one child.
* editing/inserting/insert-list-in-table-cell-08.html: Ditto.
* editing/inserting/page-zoom-font-size.html: Ditto, 1 instead of 12.

* editing/inserting/replace-at-visible-boundary.html: Select the image by setting end
points before and after it, rather than trying to set offsets inside the image with
offsets of 0 and 1, since 1 is an illegal offset in an image with no children.

* editing/pasteboard/dataTransfer-setData-getData.html: Use a 1 instead of a 4
for an offset inside the dragme element, which has one child, which was presumably
an attempt at setting an offset to a particular character, but using the wrong
container node.
* editing/pasteboard/drag-drop-to-data-url.html: Ditto.

* editing/pasteboard/paste-blockquote-into-blockquote-2.html: Use an offset of 1
instead of 3 inside the block element which has no children, which was presumably
an attempt at setting an offset to a particular character, but using the wrong
container node.

* editing/pasteboard/paste-blockquote-into-blockquote-3.html: Use a range to set
the selection after the endContent <br> element rather than trying to use an
offset of 1 inside that element, which has no children.

* editing/pasteboard/paste-blockquote-into-blockquote.html: Use an offset of 1
instead of 3 inside the block element which has no children, which was presumably
an attempt at setting an offset to a particular character, but using the wrong
container node.

* editing/pasteboard/paste-table-cells.html: Use an offset of 1 instead of 3
inside the table, so the selection is after the table body. Presumably the error
is that someone thought that the table row elements were each children of the table.

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

3 months agomedia/can-play-av1.html is not spec compliant
philn@webkit.org [Wed, 23 Sep 2020 14:44:24 +0000 (14:44 +0000)]
media/can-play-av1.html is not spec compliant
https://bugs.webkit.org/show_bug.cgi?id=216873

Reviewed by Eric Carlson.

Source/WebCore:

* platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::initialize): Add the "av1" codec in the codecs mapping.

LayoutTests:

* media/media-can-play-av1-expected.txt: Update baseline.
* media/media-can-play-av1.html: Update test and add another few testing invalid codecs.
* platform/glib/TestExpectations: Unflag passing test.
* platform/mac/media/media-can-play-av1-expected.txt: Added. This test is expected to fail on mac.

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

3 months agoAdd support for HTMLMediaElement.setSinkId
youenn@apple.com [Wed, 23 Sep 2020 14:04:20 +0000 (14:04 +0000)]
Add support for HTMLMediaElement.setSinkId
https://bugs.webkit.org/show_bug.cgi?id=216696

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/audio-output/META.yml: Added.
* web-platform-tests/audio-output/idlharness.https.window-expected.txt: Added.
* web-platform-tests/audio-output/idlharness.https.window.html: Added.
* web-platform-tests/audio-output/idlharness.https.window.js: Added.
* web-platform-tests/audio-output/setSinkId.https-expected.txt: Added.
* web-platform-tests/audio-output/setSinkId.https.html: Added.
* web-platform-tests/audio-output/w3c-import.log: Added.

Source/WebCore:

Implement setSinkId and sinkId as per https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions.
Introduce a setting to expose these methods and to enable/disable user gesture requirement.
Add interfaces to change device output for specific media players.
Add support for HLS, MSE and MediaStreamTrack renderers on MacOS.
In case of setting the empty string, the default output device is used

Tests: http/wpt/audio-output/setSinkId.https.html
       imported/w3c/web-platform-tests/audio-output/idlharness.https.window.html
       imported/w3c/web-platform-tests/audio-output/setSinkId.https.html

* CMakeLists.txt:
* DerivedSources.make:
* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::exposeDevices):
* Modules/mediastream/MediaDevices.h:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::audioOutputDevice const):
(WebCore::HTMLMediaElement::setAudioOutputDevice):
(WebCore::HTMLMediaElement::audioOutputDeviceId const):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::audioOutputHashedDeviceId const):
* html/HTMLMediaElementAudioOutput.idl: Added.
* page/Settings.yaml:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::audioOutputDeviceChanged):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::audioOutputDeviceId const):
(WebCore::MediaPlayerClient::audioOutputDeviceIdOverride const):
(WebCore::MediaPlayer::audioOutputDeviceId const):
(WebCore::MediaPlayer::audioOutputDeviceIdOverride const):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::audioOutputDeviceChanged):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::audioOutputDeviceChanged):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::audioOutputDeviceChanged):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::audioOutputDeviceChanged):
* platform/mediastream/AudioMediaStreamTrackRenderer.h:
(WebCore::AudioMediaStreamTrackRenderer::setAudioOutputDevice):
* platform/mediastream/AudioTrackPrivateMediaStream.cpp:
(WebCore::AudioTrackPrivateMediaStream::setAudioOutputDevice):
* platform/mediastream/AudioTrackPrivateMediaStream.h:
* platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:
(WebCore::AudioMediaStreamTrackRendererCocoa::setAudioOutputDevice):
(WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
* platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h:
* platform/mediastream/mac/AudioMediaStreamTrackRendererUnit.cpp:
(WebCore::AudioMediaStreamTrackRendererUnit::setAudioOutputDevice):
(WebCore::AudioMediaStreamTrackRendererUnit::createAudioUnitIfNeeded):
* platform/mediastream/mac/AudioMediaStreamTrackRendererUnit.h:

Source/WebKit:

Add internal flag to enable/disable user gesture requirement for setting audio output device,
and for per media element setting of audio output device.

* Shared/WebPreferencesExperimental.yaml:
* Shared/WebPreferencesInternals.yaml:

Source/WTF:

Add HAVE_AUDIO_OUTPUT_DEVICE_UNIQUE_ID.
* wtf/PlatformHave.h:

Tools:

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

Skip new tests on WK1 since mediaDevices is not implemented in WK1.

* http/wpt/audio-output/setSinkId.https-expected.txt: Added.
* http/wpt/audio-output/setSinkId.https.html: Added.
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:

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

3 months agoREGRESSION(r267383): fast/mediastream/getUserMedia-webaudio.html is failing
philn@webkit.org [Wed, 23 Sep 2020 13:36:28 +0000 (13:36 +0000)]
REGRESSION(r267383): fast/mediastream/getUserMedia-webaudio.html is failing
https://bugs.webkit.org/show_bug.cgi?id=216813

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Revert r267428 and fixup the GStreamer FFT implementation which broke in r267383.

* platform/audio/FFTFrame.cpp:
(WebCore::FFTFrame::multiply):
* platform/audio/FFTFrameStub.cpp:
(WebCore::FFTFrame::multiply): Deleted.
* platform/audio/gstreamer/FFTFrameGStreamer.cpp:
(WebCore::FFTFrame::doFFT): Update the real and imaginary arrays after applying the FFT.
(WebCore::FFTFrame::multiply): Deleted.
* platform/audio/mac/FFTFrameMac.cpp:
(WebCore::FFTFrame::multiply): Deleted.

LayoutTests:

Unflag passing tests.

* platform/glib/TestExpectations:
* platform/glib/webaudio/Analyser/realtimeanalyser-fftsize-reset-expected.txt:
* platform/glib/webaudio/Analyser/realtimeanalyser-freq-data-expected.txt: Added. There's
still a FAIL test there though.
* platform/glib/webaudio/Analyser/realtimeanalyser-multiple-calls-expected.txt:

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

3 months agoUnreviewed, prospective GTK build fix after r267449.
philn@webkit.org [Wed, 23 Sep 2020 12:36:35 +0000 (12:36 +0000)]
Unreviewed, prospective GTK build fix after r267449.

* svg/SVGPathBlender.cpp: Include <functional>, needed for std::invoke().

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

3 months agoWheel event phases of FrameView are not handled correctly
cathiechen@igalia.com [Wed, 23 Sep 2020 12:17:59 +0000 (12:17 +0000)]
Wheel event phases of FrameView are not handled correctly
https://bugs.webkit.org/show_bug.cgi?id=216870

Reviewed by Simon Fraser.

In AsyncScrollingCoordinator::handleWheelEventPhase, the scrollAnimator of a FrameView should be from FrameView itself, not ScrollableArea.
It doesn't call nodeDidHandleEvent to handle wheel event phases when !asyncFrameOrOverflowScrollingEnabled. Should call it after handleWheelEvent.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::handleWheelEventPhase): When nodeID is FrameView, we should use the scrollAnimator of FrameView instead.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::handleWheelEvent): If wheelEvent is handled, we should call nodeDidHandleEvent to handle the phases.

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

3 months ago[LFC][Integration] Add canUseFor functions
antti@apple.com [Wed, 23 Sep 2020 12:03:57 +0000 (12:03 +0000)]
[LFC][Integration] Add canUseFor functions
https://bugs.webkit.org/show_bug.cgi?id=216869

Reviewed by Zalan Bujtas.

Copy the SLL canUseFor code.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/integration/LayoutIntegrationCoverage.cpp: Added.
(WebCore::LayoutIntegration::canUseForCharacter):
(WebCore::LayoutIntegration::canUseForText):
(WebCore::LayoutIntegration::canUseForFontAndText):
(WebCore::LayoutIntegration::canUseForStyle):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
(WebCore::LayoutIntegration::canUseForLineLayout):
(WebCore::LayoutIntegration::canUseForLineLayoutAfterStyleChange):
* layout/integration/LayoutIntegrationCoverage.h: Added.

Also switch to OptionSet.

* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::isEnabled):
(WebCore::LayoutIntegration::LineLayout::canUseFor):
(WebCore::LayoutIntegration::LineLayout::canUseForAfterStyleChange):
* layout/integration/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::canUseFor): Deleted.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutInlineChildren):

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

3 months ago[GLIB] Unreviewed test gardening. Garden more failures in webaudio and webrtc tests.
dpino@igalia.com [Wed, 23 Sep 2020 10:27:14 +0000 (10:27 +0000)]
[GLIB] Unreviewed test gardening. Garden more failures in webaudio and webrtc tests.

* platform/glib/TestExpectations:
* platform/gtk/TestExpectations:

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

3 months ago[GLIB] Unreviewed test gardening. Remove specific baseline for webaudio/BiquadFilter...
dpino@igalia.com [Wed, 23 Sep 2020 09:17:49 +0000 (09:17 +0000)]
[GLIB] Unreviewed test gardening. Remove specific baseline for webaudio/BiquadFilter/tail-time-lowpass.html

The baseline became redudant after r267444.

* platform/glib/webaudio/BiquadFilter/tail-time-lowpass-expected.txt: Removed.

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

3 months ago[LFC][IFC] Remove redundant RuntimeEnabledFeatures::layoutFormattingContextIntegratio...
zalan@apple.com [Wed, 23 Sep 2020 07:57:26 +0000 (07:57 +0000)]
[LFC][IFC] Remove redundant RuntimeEnabledFeatures::layoutFormattingContextIntegrationEnabled from Line::Run::hasTrailingLetterSpacing
https://bugs.webkit.org/show_bug.cgi?id=216867

Reviewed by Simon Fraser.

This codepath is only triggered when Line::TrimmableTrailingContent has a partially trimmable run.
However we don't add such runs unless m_shouldIgnoreTrailingLetterSpacing is false (which is already based on the RuntimeEnabledFeatures flag).

* layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::Run::hasTrailingLetterSpacing const):
(WebCore::Layout::Line::Run::trailingLetterSpacing const):

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

3 months agoWeb Inspector: Change `InspectorAnimationAgent->startTracking` to not error on repeat...
commit-queue@webkit.org [Wed, 23 Sep 2020 04:47:42 +0000 (04:47 +0000)]
Web Inspector: Change `InspectorAnimationAgent->startTracking` to not error on repeated calls
https://bugs.webkit.org/show_bug.cgi?id=216385

Patch by Patrick Angle <pangle@apple.com> on 2020-09-22
Reviewed by Devin Rousso.

InpsectorAnimationAgent now mirrors the behavior of other timeline agents by no longer returning an error on a
repeated invocation of `startTracking`.

* inspector/agents/InspectorAnimationAgent.cpp:
(WebCore::InspectorAnimationAgent::startTracking):

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

3 months ago[LFC][Integration] Basic pagination support
antti@apple.com [Wed, 23 Sep 2020 04:39:06 +0000 (04:39 +0000)]
[LFC][Integration] Basic pagination support
https://bugs.webkit.org/show_bug.cgi?id=215451
<rdar://problem/67482721>

Reviewed by Zalan Bujtas.

Port the Simple Line Layout pagination code to LFC integration layer.
Pagination is the last remaining use of SLL so this patch turns it into dead code.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/displaytree/DisplayInlineContent.h:
(WebCore::Display::InlineContent::create):
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::canUseFor):

This now the same as SLL test, covering all cases.

(WebCore::LayoutIntegration::LineLayout::contentLogicalHeight const):
(WebCore::LayoutIntegration::LineLayout::adjustForPagination):
(WebCore::LayoutIntegration::LineLayout::ensureDisplayInlineContent):

This is fairly direct copy of the SLL code. It is not future proof or otherwise great but it serves the job for now.

* layout/integration/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::isPaginated const):
* layout/integration/LayoutIntegrationPagination.cpp: Added.
(WebCore::LayoutIntegration::computeLineTopAndBottomWithOverflow):
(WebCore::LayoutIntegration::computeLineBreakIndex):
(WebCore::LayoutIntegration::computeOffsetAfterLineBreak):
(WebCore::LayoutIntegration::setPageBreakForLine):
(WebCore::LayoutIntegration::updateMinimumPageHeight):
(WebCore::LayoutIntegration::makeAdjustedContent):
(WebCore::LayoutIntegration::adjustLinePositionsForPagination):
* layout/integration/LayoutIntegrationPagination.h: Copied from Source/WebCore/layout/displaytree/DisplayInlineContent.h.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutLFCLines):
(WebCore::RenderBlockFlow::ensureLineBoxes):

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

3 months ago[GLIB] Gardening some tests
lmoura@igalia.com [Wed, 23 Sep 2020 04:08:08 +0000 (04:08 +0000)]
[GLIB] Gardening some tests

Unreviewed test gardening.

* platform/glib/TestExpectations:
* platform/gtk/TestExpectations:

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

3 months ago[LFC][Integration] Move RuntimeEnabledFeatures::layoutFormattingContextIntegrationEna...
zalan@apple.com [Wed, 23 Sep 2020 03:50:31 +0000 (03:50 +0000)]
[LFC][Integration] Move RuntimeEnabledFeatures::layoutFormattingContextIntegrationEnabled() check out from LineBuilder::constraintsForLine
https://bugs.webkit.org/show_bug.cgi?id=216862

Reviewed by Simon Fraser.

* layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::setIsIntegratedRootBoxFirstChild):
* layout/LayoutState.h:
(WebCore::Layout::LayoutState::isIntegratedRootBoxFirstChild const):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::constraintsForLine):

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

3 months ago[LFC][Floats] Remove the redundant RuntimeEnabledFeatures::layoutFormattingContextInt...
zalan@apple.com [Wed, 23 Sep 2020 03:48:22 +0000 (03:48 +0000)]
[LFC][Floats] Remove the redundant RuntimeEnabledFeatures::layoutFormattingContextIntegrationEnabled() check from FloatingState::append
https://bugs.webkit.org/show_bug.cgi?id=216866

Reviewed by Simon Fraser.

The no-layout-box-for-the-FloatItem codepath is reserved for the IFC integration. This is temporary anyway.

* layout/floats/FloatingState.cpp:
(WebCore::Layout::FloatingState::append):

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

3 months ago[GPU Process] fast/canvas/canvas-blend-image.html and fast/canvas/canvas-blend-solid...
wenson_hsieh@apple.com [Wed, 23 Sep 2020 03:41:44 +0000 (03:41 +0000)]
[GPU Process] fast/canvas/canvas-blend-image.html and fast/canvas/canvas-blend-solid.html fail on macOS
https://bugs.webkit.org/show_bug.cgi?id=216860

Reviewed by Said Abou-Hallawa.

These two tests disable accelerated drawing for canvas elements; when using the GPU process, this causes us to
use `ImageBufferShareableBitmapBackend` as the back-end for the image buffer backing the canvas element.

On both macOS and iOS, the image buffer is backed by BGRA image data. However, we override
`backendColorFormat()` and return `ColorFormat::BGRA` only for `PLATFORM(IOS_FAMILY)`, causing `putImageData`
and `getImageData` to result in flipped red and blue channels on macOS, which subsequently causes these two
layout tests to fail.

Fix these tests by removing the `PLATFORM(IOS_FAMILY)` guard.

* WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:

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

3 months agoUnify debug and release target aliases
krollin@apple.com [Wed, 23 Sep 2020 03:38:17 +0000 (03:38 +0000)]
Unify debug and release target aliases
https://bugs.webkit.org/show_bug.cgi?id=216863
<rdar://problem/69407746>

Reviewed by Tim Horton.

All Makefiles have "debug", "d", "release", and "r" for build
targets. Others -- but not all -- also include "dev", "develop",
"development", "dep", "deploy", and "deployment". Because of this
inconsistency, trying to use those additional targets didn't work. It
looks like all Makefiles used to support all of those targets, but
some got dropped along the way. For instance, the top-level Makefile
and Source/Makefile dropped them in 2013 as part of Bug 107863. And it
looks like WebKitLibraries/Makefile never had them. Given that those
additional targets don't work, it seems like no one uses them, so
let's remove them completely.

.:

* Makefile.shared:

Source/ThirdParty:

* Makefile:

Tools:

* Makefile:

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

3 months ago[GTK] REGRESSION(r267329): imported/blink/editing/undo/crash-redo-with-iframes.html...
lmoura@igalia.com [Wed, 23 Sep 2020 03:36:13 +0000 (03:36 +0000)]
[GTK] REGRESSION(r267329): imported/blink/editing/undo/crash-redo-with-iframes.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=216778

Reviewed by Darin Adler.

Covered by existing tests.

* editing/markup.cpp:
(WebCore::serializePreservingVisualAppearanceInternal): Return early
also for "negative" ranges to avoid hitting an assertion inside
serializeNodes, as suggested by Darin.

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

3 months agoUnreviewed, reverting r267421.
commit-queue@webkit.org [Wed, 23 Sep 2020 02:37:54 +0000 (02:37 +0000)]
Unreviewed, reverting r267421.
https://bugs.webkit.org/show_bug.cgi?id=216864

Broke a test on macOS

Reverted changeset:

"[macOS] Start collecting telemetry from a set of XPC
services"
https://bugs.webkit.org/show_bug.cgi?id=216797
https://trac.webkit.org/changeset/267421

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

3 months ago[JSC] Enable Intl.DateTimeFormat dayPeriod
ysuzuki@apple.com [Wed, 23 Sep 2020 01:57:35 +0000 (01:57 +0000)]
[JSC] Enable Intl.DateTimeFormat dayPeriod
https://bugs.webkit.org/show_bug.cgi?id=216845

Reviewed by Mark Lam.

JSTests:

* stress/intl-datetimeformat.js:

Source/JavaScriptCore:

Since we already have consensus, let's enable it.
For now, we keep this flag since it is possible that something
happens before the change is integrated into the spec.

* runtime/OptionsList.h:

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

3 months agoSlightly improve AudioBufferSourceNode resampling
cdumez@apple.com [Wed, 23 Sep 2020 01:49:31 +0000 (01:49 +0000)]
Slightly improve AudioBufferSourceNode resampling
https://bugs.webkit.org/show_bug.cgi?id=216859

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT tests that are now passing.

* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/buffer-resampling-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching-expected.txt:

Source/WebCore:

Slightly improve AudioBufferSourceNode resampling. Use simple linear extrapolation
to resample the data when we reach the end of the buffer. Previously, the last
sample would just be repeated enough times.

This is a merge of the following Blink change by Raymond Toy:
- https://chromium-review.googlesource.com/c/chromium/src/+/1211910/

No new tests, rebaselined existing tests.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderFromBuffer):

LayoutTests:

* webaudio/AudioBufferSource/audiobuffersource-detune-modulation-expected.txt:
* webaudio/AudioBufferSource/audiobuffersource-playbackrate-modulation-expected.txt:
* webaudio/gain-expected.wav:
Rebaseline tests that have slightly different output.

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

3 months ago[WebIDL] Switch to new file name convention for partial interfaces
weinig@apple.com [Wed, 23 Sep 2020 00:20:14 +0000 (00:20 +0000)]
[WebIDL] Switch to new file name convention for partial interfaces
https://bugs.webkit.org/show_bug.cgi?id=216843

Reviewed by Tim Horton.

Updates all 'partial interface' IDLs to use the new naming convention adopted
in https://webkit.org/b/216729, where they are name as the construction of the
base interface '+' the supplementing spec. So, additions to Document from the
Web Animations spec becomes Document+WebAnimations.idl.

* accessibility/AccessibilityRenderObject.cpp:
* bindings/js/JSDocumentCustom.cpp:
* bindings/js/JSXMLDocumentCustom.cpp:
* html/HTMLFrameOwnerElement.h:
* loader/FrameLoader.cpp:
* page/FrameView.cpp:
* svg/DocumentSVG.cpp: Added.
* svg/DocumentSVG.h: Added.
* svg/SVGDocument.cpp:
* svg/SVGDocument.h:
* svg/SVGTRefElement.cpp:
* svg/graphics/SVGImage.cpp:
* style/StyleAdjuster.cpp:
* svg/Document+SVG.idl: Added.
* svg/SVGDocument.idl: Removed.
Fix weirdness around SVGDocument. Previously, additions to the Document
interface were in a class that was also a document subclass. Now the two
are split, so the additions are in DocumentSVG.h/cpp, matching convention,
and the subclass remains SVGDocument.h/cpp, also matching convention.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
Update for renames.

* Modules/async-clipboard/Navigator+Clipboard.idl: Added.
* Modules/async-clipboard/NavigatorClipboard.idl: Removed.
* Modules/beacon/Navigator+Beacon.idl: Added.
* Modules/beacon/NavigatorBeacon.idl: Removed.
* Modules/cache/DOMWindow+Caches.idl: Added.
* Modules/cache/DOMWindowCaches.idl: Removed.
* Modules/cache/WorkerGlobalScope+Caches.idl: Added.
* Modules/cache/WorkerGlobalScopeCaches.idl: Removed.
* Modules/credentialmanagement/Navigator+Credentials.idl: Added.
* Modules/credentialmanagement/NavigatorCredentials.idl: Removed.
* Modules/encryptedmedia/Navigator+EME.idl: Added.
* Modules/encryptedmedia/NavigatorEME.idl: Removed.
* Modules/entriesapi/HTMLInputElement+EntriesAPI.idl: Added.
* Modules/entriesapi/HTMLInputElementEntriesAPI.idl: Removed.
* Modules/fetch/WindowOrWorkerGlobalScope+Fetch.idl: Added.
* Modules/fetch/WindowOrWorkerGlobalScopeFetch.idl: Removed.
* Modules/gamepad/Navigator+Gamepad.idl: Added.
* Modules/gamepad/NavigatorGamepad.idl: Removed.
* Modules/geolocation/Navigator+Geolocation.idl: Added.
* Modules/geolocation/NavigatorGeolocation.idl: Removed.
* Modules/indexeddb/DOMWindow+IndexedDatabase.idl: Added.
* Modules/indexeddb/DOMWindowIndexedDatabase.idl: Removed.
* Modules/indexeddb/WorkerGlobalScope+IndexedDatabase.idl: Added.
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl: Removed.
* Modules/mediacapabilities/Navigator+MediaCapabilities.idl: Added.
* Modules/mediacapabilities/NavigatorMediaCapabilities.idl: Removed.
* Modules/mediasession/HTMLMediaElement+MediaSession.idl: Added.
* Modules/mediasession/HTMLMediaElementMediaSession.idl: Removed.
* Modules/mediasource/AudioTrack+MediaSource.idl: Added.
* Modules/mediasource/AudioTrackMediaSource.idl: Removed.
* Modules/mediasource/DOMURL+MediaSource.idl: Added.
* Modules/mediasource/DOMURLMediaSource.idl: Removed.
* Modules/mediasource/TextTrack+MediaSource.idl: Added.
* Modules/mediasource/TextTrackMediaSource.idl: Removed.
* Modules/mediasource/VideoTrack+MediaSource.idl: Added.
* Modules/mediasource/VideoTrackMediaSource.idl: Removed.
* Modules/mediastream/Navigator+MediaDevices.idl: Added.
* Modules/mediastream/NavigatorMediaDevices.idl: Removed.
* Modules/pictureinpicture/Document+PictureInPicture.idl: Added.
* Modules/pictureinpicture/DocumentOrShadowRoot+PictureInPicture.idl: Added.
* Modules/pictureinpicture/DocumentOrShadowRootPictureInPicture.idl: Removed.
* Modules/pictureinpicture/DocumentPictureInPicture.idl: Removed.
* Modules/pictureinpicture/HTMLVideoElement+PictureInPicture.idl: Added.
* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl: Removed.
* Modules/quota/DOMWindow+Quota.idl: Added.
* Modules/quota/DOMWindowQuota.idl: Removed.
* Modules/quota/Navigator+StorageQuota.idl: Added.
* Modules/quota/NavigatorStorageQuota.idl: Removed.
* Modules/quota/WorkerNavigator+StorageQuota.idl: Added.
* Modules/quota/WorkerNavigatorStorageQuota.idl: Removed.
* Modules/remoteplayback/HTMLMediaElement+RemotePlayback.idl: Added.
* Modules/remoteplayback/HTMLMediaElementRemotePlayback.idl: Removed.
* Modules/speech/DOMWindow+SpeechSynthesis.idl: Added.
* Modules/speech/DOMWindowSpeechSynthesis.idl: Removed.
* Modules/webdatabase/DOMWindow+WebDatabase.idl: Added.
* Modules/webdatabase/DOMWindowWebDatabase.idl: Removed.
* Modules/webdriver/Navigator+WebDriver.idl: Added.
* Modules/webdriver/NavigatorWebDriver.idl: Removed.
* Modules/webgpu/Navigator+GPU.idl: Added.
* Modules/webgpu/NavigatorGPU.idl: Removed.
* Modules/webgpu/WorkerNavigator+GPU.idl: Added.
* Modules/webgpu/WorkerNavigatorGPU.idl: Removed.
* Modules/webxr/Navigator+WebXR.idl: Added.
* Modules/webxr/NavigatorWebXR.idl: Removed.
* animation/Document+WebAnimations.idl: Added.
* animation/DocumentAnimations.idl: Removed.
* animation/DocumentOrShadowRoot+WebAnimations.idl: Added.
* animation/DocumentOrShadowRootAnimations.idl: Removed.
* animation/GlobalEventHandlers+CSSAnimations.idl: Added.
* animation/GlobalEventHandlers+CSSTransitions.idl: Added.
* animation/GlobalEventHandlersCSSAnimations.idl: Removed.
* animation/GlobalEventHandlersCSSTransitions.idl: Removed.
* css/DOMCSSNamespace+CSSPainting.idl: Added.
* css/DOMCSSNamespace+CSSPropertiesandValues.idl: Added.
* css/DOMCSSPaintWorklet.idl: Removed.
* css/DOMCSSRegisterCustomProperty.idl: Removed.
* css/DocumentOrShadowRoot+CSSOM.idl: Added.
* css/DocumentOrShadowRootStyleSheets.idl: Removed.
* dom/Document+CSSOMView.idl: Added.
* dom/Document+Fullscreen.idl: Added.
* dom/Document+HTML.idl: Added.
* dom/Document+HTMLObsolete.idl: Added.
* dom/Document+PageVisibility.idl: Added.
* dom/Document+PointerLock.idl: Added.
* dom/Document+Selection.idl: Added.
* dom/Document+StorageAccess.idl: Added.
* dom/Document+Touch.idl: Added.
* dom/Document+UndoMananger.idl: Added.
* dom/DocumentFullscreen.idl: Removed.
* dom/DocumentHTML.idl: Removed.
* dom/DocumentHTMLObsolete.idl: Removed.
* dom/DocumentOrShadowRoot+PointerLock.idl: Added.
* dom/DocumentOrShadowRootPointerLock.idl: Removed.
* dom/DocumentPageVisibility.idl: Removed.
* dom/DocumentPointerLock.idl: Removed.
* dom/DocumentScrolling.idl: Removed.
* dom/DocumentSelection.idl: Removed.
* dom/DocumentStorageAccess.idl: Removed.
* dom/DocumentTouch.idl: Removed.
* dom/DocumentUndoMananger.idl: Removed.
* dom/Element+DOMParsing.idl: Added.
* dom/ElementDOMParsing.idl: Removed.
* dom/GlobalEventHandlers+PointerEvents.idl: Added.
* dom/GlobalEventHandlersPointerEvents.idl: Removed.
* page/Navigator+IsLoggedIn.idl: Added.
* page/NavigatorIsLoggedIn.idl: Removed.
Rename IDLs.

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

3 months agoMake TLSVersion API tests more robust.
achristensen@apple.com [Wed, 23 Sep 2020 00:11:00 +0000 (00:11 +0000)]
Make TLSVersion API tests more robust.
https://bugs.webkit.org/show_bug.cgi?id=216704

Like I did in r267278, the TLSVersion.ShouldAllowDeprecatedTLS API test was also asserting with TCPServer,
so use HTTPServer which gracefully handles a variable number of connection attempts.
The NetworkSession tests that use NSUserDefaults need to be split into a separate test for bug 216041,
so may as well do that here, too.

* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::makeWebViewWith):
(TestWebKitAPI::TEST):

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

3 months agoLimit number of emails to send for flaky and pre-existing JSC test failures
aakash_jain@apple.com [Wed, 23 Sep 2020 00:04:52 +0000 (00:04 +0000)]
Limit number of emails to send for flaky and pre-existing JSC test failures
https://bugs.webkit.org/show_bug.cgi?id=216857

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):

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

3 months ago[LFC][IFC] Used geometry for inline level boxes should be in the coordinate system...
zalan@apple.com [Tue, 22 Sep 2020 23:43:06 +0000 (23:43 +0000)]
[LFC][IFC] Used geometry for inline level boxes should be in the coordinate system of the formatting context root
https://bugs.webkit.org/show_bug.cgi?id=216854

Reviewed by Simon Fraser.

Convert inline level box geometry from relative to the line box to relative to the formatting context root.

* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

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

3 months agoFix BiquadFilterNode's lowpass & highpass filters
cdumez@apple.com [Tue, 22 Sep 2020 22:54:43 +0000 (22:54 +0000)]
Fix BiquadFilterNode's lowpass & highpass filters
https://bugs.webkit.org/show_bug.cgi?id=216852

Reviewed by Eric Carlson.

Source/WebCore:

Fix BiquadFilterNode's lowpass & highpass filters. They incorrectly clamp the
resonance to make it positive.

Formulas for the filters are specified here:
- https://www.w3.org/TR/webaudio/#filters-characteristics

No new tests, rebaselined existing tests.

* platform/audio/Biquad.cpp:
(WebCore::pow10):
(WebCore::Biquad::setLowpassParams):
(WebCore::Biquad::setHighpassParams):

LayoutTests:

Rebaseline tests that are now passing.

* webaudio/BiquadFilter/tail-time-highpass-expected.txt:
* webaudio/BiquadFilter/tail-time-lowpass-expected.txt:

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

3 months agoMerge AudioBufferSourceNode loop fixes from Blink
cdumez@apple.com [Tue, 22 Sep 2020 22:52:42 +0000 (22:52 +0000)]
Merge AudioBufferSourceNode loop fixes from Blink
https://bugs.webkit.org/show_bug.cgi?id=216849

Reviewed by Eric Carlson.

Source/WebCore:

Merge AudioBufferSourceNode loop fixes from Blink, the following one in particular:
- https://codereview.chromium.org/723823002

This allows us to pass all the checks in:
webaudio/AudioBufferSource/audiobuffersource-loop-comprehensive.html.

No new tests, rebaselined existing test.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderFromBuffer):
(WebCore::AudioBufferSourceNode::adjustGrainParameters):
Merge loop fixes from Blink.

* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::stopLater):
Stop throwing when m_endTime is already set. Our behavior did not match
Chrome and Firefox here. This was causing some existing tests to start
failing now that providing a grain duration when calling start() would
set m_endTime if loop() returns true.

LayoutTests:

* webaudio/AudioBufferSource/audiobuffersource-loop-comprehensive-expected.txt:
Rebaseline test that is now passing.

* webaudio/Oscillator/oscillator-basic-expected.txt:
* webaudio/dom-exceptions-expected.txt:
Rebaseline tests because the exception message was improved.

* webaudio/audiobuffersource-exception-expected.txt:
* webaudio/audiobuffersource-exception.html:
Stop expecting an exception to be thrown when AudioBufferSourceNode.stop() gets called
more than once. I have verified that Chrome and Firefox do not throw in this case.

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