WebKit-https.git
7 weeks agoImprove assertions in StringParsingBuffer
weinig@apple.com [Sat, 27 Jun 2020 16:07:42 +0000 (16:07 +0000)]
Improve assertions in StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213633

Reviewed by Darin Adler.

* wtf/text/StringParsingBuffer.h:
Address additional feedback and improve the assertions by making them more
clear and avoid potential overflows.

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

7 weeks agoBytecodeBasicBlock::addSuccessor should check if the successor already exists
sbarati@apple.com [Sat, 27 Jun 2020 15:53:41 +0000 (15:53 +0000)]
BytecodeBasicBlock::addSuccessor should check if the  successor already exists
https://bugs.webkit.org/show_bug.cgi?id=213670

Reviewed by Yusuke Suzuki.

It makes it nicer for algorithms using BytecodeGraph to not have to consider
whether or not there are duplicates in the successor list. Also, because of
this, bytecode liveness was doing extra work since it walked the successor list,
including any duplicates in it.

* bytecode/BytecodeBasicBlock.h:
(JSC::BytecodeBasicBlock::addSuccessor):

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

7 weeks agoChange bytecode dumping to dump the bytecode control flow graph
sbarati@apple.com [Sat, 27 Jun 2020 15:52:12 +0000 (15:52 +0000)]
Change bytecode dumping to dump the bytecode control flow graph
https://bugs.webkit.org/show_bug.cgi?id=213669

Reviewed by Yusuke Suzuki.

This makes the bytecode control flow graphs much easier to understand, and
puts bytecode dumping in more in line with how we dump other IRs.

The new dumps look like this:
```
foo#Ahf63N:[0x1035bc120->0x1035e5100, NoneFunctionCall, 36]: 13 instructions (0 16-bit instructions, 0 32-bit instructions, 1 instructions with metadata); 156 bytes (120 metadata bytes); 2 parameter(s); 8 callee register(s); 6 variable(s); scope at loc4

bb#1
[   0] enter
[   1] get_scope          loc4
[   3] mov                loc5, loc4
[   6] check_traps
[   7] mov                loc6, <JSValue()>(const0)
[  10] mov                loc6, Undefined(const1)
[  13] mod                loc7, arg1, Int32: 2(const2)
[  17] jfalse             loc7, 8(->25)
Successors: [ #3 #2 ]

bb#2
[  20] mov                loc6, Int32: 42(const3)
[  23] jmp                5(->28)
Successors: [ #4 ]

bb#3
[  25] mov                loc6, Int32: 77(const4)
Successors: [ #4 ]

bb#4
[  28] add                loc7, arg1, loc6, OperandTypes(126, 126)
[  34] ret                loc7
Successors: [ ]
```

* bytecode/BytecodeDumper.cpp:
(JSC::dumpHeader):
(JSC::dumpFooter):
(JSC::CodeBlockBytecodeDumper<Block>::dumpBlock):
(JSC::CodeBlockBytecodeDumper<Block>::dumpGraph):
* bytecode/BytecodeDumper.h:
* bytecode/BytecodeGraph.h:
(JSC::BytecodeGraph::dump):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):

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

7 weeks agoConvert SVG related parsers over to using StringParsingBuffer
weinig@apple.com [Sat, 27 Jun 2020 15:29:30 +0000 (15:29 +0000)]
Convert SVG related parsers over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213635

Reviewed by Darin Adler.

- Adopt StringParsingBuffer across SVG code.
- Remove UTF-16 upconversions in SVGAnimationElement, SVGFitToViewBox, SVGLengthList,
  SVGLengthValue, SVGNumberList, SVGParserUtilities, SVGPointList, SVGPreserveAspectRatioValue,
  SVGStringList, SVGTransformList, SVGTransformable and SVGViewSpec.

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
Export ParsingUtilities.h, which is now included by SVGParserUtilities.h

* Sources.txt:
Add implementation files for SVGLengthList, SVGNumberList, SVGPointList, SVGStringList
and SVGTransformList to hold large functions are unlikely to benefit from inlining.

* html/parser/ParsingUtilities.h:
(WebCore::skipCharactersExactly):
Add new skipCharactersExactly, which takes a c-array (NOT null-terminated) of characters
to compare against.

* svg/SVGAngleValue.cpp:
(WebCore::parseAngleType):
(WebCore::SVGAngleValue::setValueAsString):
Adopt StringParsingBuffer.

* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::parseAttribute):
Adapt to new shared parseTransformType, which now returns an Optional and default to
SVG_TRANSFORM_UNKNOWN on parse failure as the old parseTransformType did.

* svg/SVGAnimationElement.cpp:
(WebCore::parseKeySplines):
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()

* svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
(WebCore::SVGFitToViewBox::parseViewBoxGeneric):
* svg/SVGFitToViewBox.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()

* svg/SVGLengthList.cpp: Added.
(WebCore::SVGLengthList::parse):
(WebCore::SVGLengthList::valueAsString const):
* svg/SVGLengthList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

* svg/SVGLengthValue.cpp:
(WebCore::parseLengthType):
(WebCore::SVGLengthValue::construct):
(WebCore::SVGLengthValue::setValueAsString):
* svg/SVGLengthValue.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()

* svg/SVGNumberList.cpp: Added.
(WebCore::SVGNumberList::parse):
(WebCore::SVGNumberList::valueAsString const):
* svg/SVGNumberList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

* svg/SVGParserUtilities.cpp:
(WebCore::genericParseNumber):
(WebCore::parseNumber):
(WebCore::genericParseArcFlag):
(WebCore::parseArcFlag):
(WebCore::parseNumberOptionalNumber):
(WebCore::parsePoint):
(WebCore::parseRect):
(WebCore::parseGlyphName):
(WebCore::parseUnicodeRange):
(WebCore::parseKerningUnicodeString):
(WebCore::genericParseFloatPoint):
(WebCore::parseFloatPoint):
* svg/SVGParserUtilities.h:
(WebCore::isSVGSpaceOrComma):
(WebCore::skipOptionalSVGSpaces):
(WebCore::skipOptionalSVGSpacesOrDelimiter):
(WebCore::skipString): Deleted.
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

* svg/SVGPathSource.h:
Add missing include, which is now needed do to removing unncessary includes in other files.

* svg/SVGPathStringSource.cpp:
(WebCore::SVGPathStringSource::SVGPathStringSource):
(WebCore::SVGPathStringSource::hasMoreData const):
(WebCore::SVGPathStringSource::moveToNextToken):
(WebCore::nextCommandHelper):
(WebCore::SVGPathStringSource::nextCommand):
(WebCore::SVGPathStringSource::parse):
(WebCore::SVGPathStringSource::parseSVGSegmentType):
(WebCore::SVGPathStringSource::parseMoveToSegment):
(WebCore::SVGPathStringSource::parseLineToSegment):
(WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
(WebCore::SVGPathStringSource::parseLineToVerticalSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathStringSource::parseArcToSegment):
(WebCore::parseSVGSegmentTypeHelper): Deleted.
* svg/SVGPathStringSource.h:
Adopt StringParsingBuffer. Replace existing set of unions with a single
union of StringParsingBuffers.

* svg/SVGPointList.cpp: Added.
(WebCore::SVGPointList::parse):
(WebCore::SVGPointList::valueAsString const):
* svg/SVGPointList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

* svg/SVGPreserveAspectRatioValue.cpp:
(WebCore::SVGPreserveAspectRatioValue::SVGPreserveAspectRatioValue):
(WebCore::SVGPreserveAspectRatioValue::parse):
(WebCore::SVGPreserveAspectRatioValue::parseInternal):
(WebCore::SVGPreserveAspectRatioValue::valueAsString const):
* svg/SVGPreserveAspectRatioValue.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

* svg/SVGStringList.cpp: Added.
(WebCore::SVGStringList::parse):
(WebCore::SVGStringList::valueAsString const):
* svg/SVGStringList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

* svg/SVGTransformList.cpp: Added.
(WebCore::SVGTransformList::consolidate):
(WebCore::SVGTransformList::concatenate const):
(WebCore::SVGTransformList::parseGeneric):
(WebCore::SVGTransformList::parse):
(WebCore::SVGTransformList::valueAsString const):
* svg/SVGTransformList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse, valueAsString, consolidate and
concatenate out of line.

* svg/SVGTransformable.cpp:
(WebCore::parseTransformParamList):
(WebCore::parseTransformValueGeneric):
(WebCore::SVGTransformable::parseTransformValue):
(WebCore::parseTransformTypeGeneric):
(WebCore::SVGTransformable::parseTransformType):
(WebCore::SVGTransformable::parseAndSkipType): Deleted.
* svg/SVGTransformable.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Unify parseTransformType implementations to all
use a single implementation and return an Optional<SVGTransformType>.

* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::parseViewSpec):
* svg/SVGViewSpec.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

* svg/SVGZoomAndPan.cpp:
(WebCore::parseZoomAndPanGeneric):
(WebCore::SVGZoomAndPan::parseZoomAndPan):
* svg/SVGZoomAndPan.h:
Adopt StringParsingBuffer.

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

7 weeks ago[PlayStation] Update test runner for changes to Options and signing
stephan.szabo@sony.com [Sat, 27 Jun 2020 14:18:34 +0000 (14:18 +0000)]
[PlayStation] Update test runner for changes to Options and signing
https://bugs.webkit.org/show_bug.cgi?id=213650

Reviewed by Don Olmstead.

Source/JavaScriptCore:

* shell/playstation/Initializer.cpp: Load ICU library
* shell/playstation/TestShell.cpp: Update between test options reset

Tools:

* Scripts/webkitdirs.pm: Update extension for PlayStation binary

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

7 weeks ago[GLIB] Unreviewed test gardening. Update test expectations after r263609.
dpino@igalia.com [Sat, 27 Jun 2020 06:17:10 +0000 (06:17 +0000)]
[GLIB] Unreviewed test gardening. Update test expectations after r263609.

* platform/glib/TestExpectations:
* platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Added.
* platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:

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

7 weeks agoUnreviewed, rename beacon-redirect.window.html to beacon-redirect.sub.window.html...
cdumez@apple.com [Sat, 27 Jun 2020 05:25:44 +0000 (05:25 +0000)]
Unreviewed, rename beacon-redirect.window.html to beacon-redirect.sub.window.html in TestExpectations

This needed updating since the test got renamed upstream and we resync'd it recently in r263595.

* TestExpectations:

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

7 weeks agoUnreviewed, drop tests that got renamed in r263598 when re-syncing WebCryptAPI tests.
cdumez@apple.com [Sat, 27 Jun 2020 05:21:54 +0000 (05:21 +0000)]
Unreviewed, drop tests that got renamed in r263598 when re-syncing WebCryptAPI tests.

LayoutTests/imported/w3c:

* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker.html: Removed.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker.html: Removed.

LayoutTests:

* platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
* platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Removed.
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.

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

7 weeks agoUnreviewed, drop test that got renamed in r263595.
cdumez@apple.com [Sat, 27 Jun 2020 05:14:11 +0000 (05:14 +0000)]
Unreviewed, drop test that got renamed in r263595.

This test is now called beacon-redirect.sub.window.html.

* web-platform-tests/beacon/beacon-redirect.window-expected.txt: Removed.
* web-platform-tests/beacon/beacon-redirect.window.html: Removed.

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

7 weeks agoUnreviewed, land iOS-specific baselines after WebCryptoAPI WPT tests resync in r263598.
cdumez@apple.com [Sat, 27 Jun 2020 05:09:18 +0000 (05:09 +0000)]
Unreviewed, land iOS-specific baselines after WebCryptoAPI WPT tests resync in r263598.

* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Added.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Added.

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

7 weeks ago[webkitpy] Allow callers to override the reported model (Part 1)
jbedard@apple.com [Sat, 27 Jun 2020 04:37:12 +0000 (04:37 +0000)]
[webkitpy] Allow callers to override the reported model (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=213677
<rdar://problem/64834043>

Reviewed by Dewei Zhu.

* Scripts/webkitpy/port/base.py:
(Port.configuration_for_upload): Set the model based on --model.
* Scripts/webkitpy/port/factory.py:
(configuration_options): Add --model option, drive-by fix for --architecture.
* Scripts/webkitpy/port/mac.py:
(MacPort.configuration_for_upload): --model overrides detected model.

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

7 weeks agoWebSecurityOrigin needs to initialize the main thread
ggaren@apple.com [Sat, 27 Jun 2020 04:20:55 +0000 (04:20 +0000)]
WebSecurityOrigin needs to initialize the main thread
https://bugs.webkit.org/show_bug.cgi?id=213675

Reviewed by Tim Horton.

Safari uses WebSecurityOrigin stand-alone in unit tests.

(And any client can use WebSecurityOrigin without first using other
WebKit data types.)

* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithURL:]):

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

7 weeks agoUpdate test262
ysuzuki@apple.com [Sat, 27 Jun 2020 04:17:40 +0000 (04:17 +0000)]
Update test262
https://bugs.webkit.org/show_bug.cgi?id=213676

Reviewed by Ross Kirsling.

Update and rebaseline expectations.

* test262/expectations.yaml:
* test262/harness/testBigIntTypedArray.js:
(testWithBigIntTypedArrayConstructors):
* test262/harness/testIntl.js:
* test262/harness/testTypedArray.js:
(testWithNonAtomicsFriendlyTypedArrayConstructors):
(testWithAtomicsFriendlyTypedArrayConstructors):
* test262/latest-changes-summary.txt:
* test262/test/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js:
* test262/test/built-ins/Array/prototype/indexOf/length-zero-returns-minus-one.js: Added.
(fromIndex.valueOf):
* test262/test/built-ins/Array/prototype/lastIndexOf/length-zero-returns-minus-one.js: Added.
(fromIndex.valueOf):
* test262/test/built-ins/Atomics/add/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/add/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/add/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/add/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/add/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/and/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/and/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/and/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/and/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/and/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/compareExchange/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/compareExchange/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/compareExchange/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/exchange/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/exchange/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/load/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/load/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/load/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/load/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/load/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-count-evaluation-throws.js: Added.
(const.poisoned.valueOf):
* test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-index-evaluation-throws.js: Added.
(const.poisoned.valueOf):
* test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-non-shared-int-views-throws.js: Added.
(const.poisoned.valueOf):
* test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-returns-0.js: Added.
* test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-throws.js: Removed.
* test262/test/built-ins/Atomics/notify/non-shared-bufferdata-count-evaluation-throws.js: Added.
(const.poisoned.valueOf):
* test262/test/built-ins/Atomics/notify/non-shared-bufferdata-index-evaluation-throws.js: Added.
(const.poisoned.valueOf):
* test262/test/built-ins/Atomics/notify/non-shared-bufferdata-non-shared-int-views-throws.js: Renamed from JSTests/test262/test/built-ins/Atomics/notify/non-shared-bufferdatate-non-shared-int-views.js.
* test262/test/built-ins/Atomics/notify/non-shared-bufferdata-returns-0.js: Added.
* test262/test/built-ins/Atomics/notify/non-shared-bufferdata-throws.js: Removed.
* test262/test/built-ins/Atomics/or/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/or/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/or/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/or/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/or/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/store/bigint/bad-range.js:
(testWithBigIntTypedArrayConstructors): Deleted.
* test262/test/built-ins/Atomics/store/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/store/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/store/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/store/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/store/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/sub/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/sub/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/sub/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/sub/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/wait/bigint/non-shared-bufferdata-throws.js:
* test262/test/built-ins/Atomics/waitAsync/bigint/false-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/bigint/good-views.js:
(async const):
* test262/test/built-ins/Atomics/waitAsync/bigint/negative-timeout.js:
(1.value.then):
* test262/test/built-ins/Atomics/waitAsync/bigint/null-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/bigint/object-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/bigint/true-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/bigint/undefined-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/bigint/value-not-equal.js:
* test262/test/built-ins/Atomics/waitAsync/false-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/good-views.js:
(async const):
* test262/test/built-ins/Atomics/waitAsync/negative-timeout.js:
(then):
* test262/test/built-ins/Atomics/waitAsync/null-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/object-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/true-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/undefined-for-timeout.js:
* test262/test/built-ins/Atomics/waitAsync/value-not-equal.js:
* test262/test/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/xor/bigint/nonshared-int-views.js: Removed.
* test262/test/built-ins/Atomics/xor/non-shared-bufferdata.js: Added.
* test262/test/built-ins/Atomics/xor/non-shared-int-views-throws.js: Added.
* test262/test/built-ins/Atomics/xor/nonshared-int-views.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors-absent-on-prototype.js: Added.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/invoked-as-accessor.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/invoked-as-func.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/length.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/name.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/prop-desc.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/return-from-iterable-errors.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/return-new-array-from-list.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/this-has-no-typedarrayname-internal.js: Removed.
* test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/this-is-not-object.js: Removed.
* test262/test/built-ins/Object/defineProperties/15.2.3.7-2-18.js:
(catch):
* test262/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js:
(then):
* test262/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js:
(Promise.all.p1.then):
(p1.then):
(then):
* test262/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js:
(p1.then):
(p2.then):
* test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js:
(values.then):
* test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-promise.js:
(Promise.all.values.then):
* test262/test/built-ins/Promise/all/invoke-resolve-on-values-every-iteration-of-promise.js:
(Promise.all.values.then):
* test262/test/built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-custom.js:
(values.then):
* test262/test/built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-promise.js:
(Promise.allSettled.values.then):
* test262/test/built-ins/Promise/allSettled/invoke-resolve-on-values-every-iteration-of-promise.js:
(Promise.allSettled.values.then):
* test262/test/built-ins/Promise/allSettled/resolved-immed.js:
(then):
* test262/test/built-ins/Promise/allSettled/resolved-sequence-extra-ticks.js:
(Promise.allSettled.p1.then):
(p1.then):
(then):
* test262/test/built-ins/Promise/allSettled/resolved-sequence-mixed.js:
(p1.catch):
(p3.then):
(p2.then):
(p3.catch):
* test262/test/built-ins/Promise/allSettled/resolved-sequence-with-rejections.js:
(p1.catch):
(p2.then):
(p2.catch):
* test262/test/built-ins/Promise/allSettled/resolved-sequence.js:
(p1.then):
(p2.then):
* test262/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js:
(values.then):
* test262/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js:
(Promise.any.values.then):
* test262/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js:
(values.then):
* test262/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js:
(Promise.any.values.then):
* test262/test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js:
(Promise.any.promises.then):
* test262/test/built-ins/Promise/any/resolved-sequence-extra-ticks.js:
(Promise.any.p1.then):
(p1.then):
(then):
* test262/test/built-ins/Promise/any/resolved-sequence-mixed.js:
(p1.catch):
(p3.then):
(p2.then):
(p3.catch):
* test262/test/built-ins/Promise/any/resolved-sequence-with-rejections.js:
(p1.catch):
(p2.then):
(p2.catch):
* test262/test/built-ins/Promise/any/resolved-sequence.js:
(p1.then):
(p2.then):
* test262/test/built-ins/Promise/prototype/finally/rejected-observable-then-calls.js:
(then):
* test262/test/built-ins/Promise/prototype/finally/rejection-reason-no-fulfill.js:
(then):
* test262/test/built-ins/Promise/prototype/finally/rejection-reason-override-with-throw.js:
(then):
* test262/test/built-ins/Promise/prototype/finally/resolution-value-no-override.js:
(then):
* test262/test/built-ins/Promise/prototype/finally/resolved-observable-then-calls.js:
(then):
* test262/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js:
(then):
* test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js:
(then):
* test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js:
(then):
* test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js:
(Promise.resolve.then):
* test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js:
(p.then):
(Promise.resolve.then):
* test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js:
(p.then):
(Promise.resolve.then):
* test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js:
(Promise.resolve.then):
* test262/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js:
(p.then):
(Promise.resolve.then):
(then):
* test262/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js:
(Promise.resolve.then):
(then):
* test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js:
(p.then):
(Promise.resolve.then):
(then):
* test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js:
(p.then):
(Promise.resolve.then):
(then):
* test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js:
(p.then):
(Promise.resolve.then):
(then):
* test262/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js:
(Promise.resolve.then):
(then):
* test262/test/built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-custom.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js.
(Custom):
(Custom.resolve):
(Promise.resolve):
(values.then):
* test262/test/built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-promise.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-promise.js.
(Promise.resolve):
(Promise.race.values.then):
* test262/test/built-ins/Promise/race/invoke-resolve-on-values-every-iteration-of-promise.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-values-every-iteration-of-promise.js.
(Promise.resolve):
(Promise.race.values.then):
* test262/test/built-ins/Promise/race/reject-from-same-thenable.js: Added.
(Constructor.reject):
(Constructor.resolve):
(let.a.then):
* test262/test/built-ins/Promise/race/resolve-element-function-extensible.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
* test262/test/built-ins/Promise/race/resolve-element-function-name.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
* test262/test/built-ins/Promise/race/resolve-element-function-nonconstructor.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
* test262/test/built-ins/Promise/race/resolve-element-function-prototype.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
* test262/test/built-ins/Promise/race/resolve-from-same-thenable.js: Added.
(Constructor.resolve):
(let.a.then):
* test262/test/built-ins/Promise/race/resolve-ignores-late-rejection-deferred.js: Added.
(let.lateRejector.then):
* test262/test/built-ins/Promise/race/resolve-ignores-late-rejection.js: Added.
(let.resolver.then):
(let.lateRejector.then):
* test262/test/built-ins/Promise/race/resolved-sequence-extra-ticks.js: Added.
(a.then):
(then):
* test262/test/built-ins/Promise/race/resolved-sequence-mixed.js: Added.
(Promise.all.a.catch):
(c.then):
(b.then):
(catch):
* test262/test/built-ins/Promise/race/resolved-sequence-with-rejections.js: Added.
(Promise.all.a.catch):
(b.catch):
* test262/test/built-ins/Promise/race/resolved-sequence.js: Added.
(Promise.all.a.then):
(b.then):
* test262/test/built-ins/Promise/race/resolved-then-catch-finally.js: Added.
(let.b.Promise.resolve.string_appeared_here.then):
(let.c.Promise.reject.string_appeared_here.then):
(let.f.Promise.resolve.string_appeared_here.finally):
(let.g.Promise.reject.string_appeared_here.finally):
* test262/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js:
(thenable.then):
(p1.then):
* test262/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js:
(thenable.then):
(p.then):
* test262/test/intl402/DateTimeFormat/constructor-options-fractionalSecondDigits-valid.js:
(valueOf):
* test262/test/intl402/NumberFormat/constructor-order.js:
* test262/test/intl402/NumberFormat/constructor-unit.js:
(string_appeared_here.new.Intl.NumberFormat):
* test262/test/intl402/NumberFormat/prototype/format/numbering-systems.js:
(digitList.of.Object.entries):
* test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-computed-names.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-computed-symbol-names.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-literal-names-asi.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-literal-names.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-field-usage.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-method-getter-usage.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-method-usage.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-names.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-field-identifier-initializer.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-field-identifier.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-getter-alt.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-getter.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-method-alt.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-method.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-setter-alt.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-setter.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-alt.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer-alt.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(C):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier.js:
(C):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier-alt.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-by-classname.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-fields.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-methods-with-fields.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-methods.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-gen-string-literal-names.js:
(prototype.C.m.next.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-computed-names.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-computed-symbol-names.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-literal-names-asi.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-literal-names.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-field-usage.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-method-getter-usage.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-method-usage.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-names.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-field-identifier-initializer.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-field-identifier.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-getter-alt.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-getter.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-method-alt.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-method.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-setter-alt.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-setter.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-alt.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer-alt.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier.js:
(C):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier.js:
(C):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier-alt.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-by-classname.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier.js:
(C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-fields.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-methods-with-fields.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-methods.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-async-method-string-literal-names.js:
(prototype.C.m.then):
* test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/private-methods/prod-private-async-generator.js:
(ctorPromise.then):
* test262/test/language/expressions/class/elements/private-methods/prod-private-async-method.js:
(ctorPromise.then):
* test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/same-line-async-gen-computed-names.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-computed-symbol-names.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-literal-names-asi.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-literal-names.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-private-field-usage.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-private-method-getter-usage.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-private-method-usage.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-private-names.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-field-identifier-initializer.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-field-identifier.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-getter-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-getter.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-method-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-method.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-setter-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-setter.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-initializer-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-initializer.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(assertions):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(c.m.next.then.assertions):
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(c.m.next.then.assertions):
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier.js:
(c.m.next.then.assertions):
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-method-privatename-identifier-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-method-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-by-classname.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-static-private-fields.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-static-private-methods-with-fields.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-static-private-methods.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-gen-string-literal-names.js:
(c.m.next.then):
* test262/test/language/expressions/class/elements/same-line-async-method-computed-names.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-computed-symbol-names.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-literal-names-asi.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-literal-names.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-private-field-usage.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-private-method-getter-usage.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-private-method-usage.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-private-names.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-field-identifier-initializer.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-field-identifier.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-private-getter-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-private-getter.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-private-method-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-private-method.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-private-setter-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-private-setter.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-initializer-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-initializer.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(assertions):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier.js:
(c.m.then.assertions):
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier-alt.js:
(c.m.then.assertions):
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier.js:
(c.m.then.assertions):
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-method-privatename-identifier-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-method-privatename-identifier.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-by-classname.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-static-private-fields.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-static-private-methods-with-fields.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-static-private-methods.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-async-method-string-literal-names.js:
(c.m.then):
* test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/same-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/same-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier.js:
* test262/test/language/expressions/optional-chaining/eval-optional-call.js: Added.
* test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-computed-names.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-computed-symbol-names.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-literal-names-asi.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-literal-names.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-field-usage.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-method-getter-usage.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-method-usage.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-names.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-field-identifier-initializer.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-field-identifier.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-getter-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-getter.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-method-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-method.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-setter-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-setter.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-by-classname.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-fields.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-methods-with-fields.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-methods.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-gen-string-literal-names.js:
(C.m.next.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-computed-names.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-computed-symbol-names.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-literal-names-asi.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-literal-names.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-private-field-usage.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-private-method-getter-usage.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-private-method-usage.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-private-names.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-field-identifier-initializer.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-field-identifier.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-getter-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-getter.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-method-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-method.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-setter-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-setter.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-by-classname.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-fields.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-methods-with-fields.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-methods.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-async-method-string-literal-names.js:
(C.m.then):
* test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/private-methods/prod-private-async-generator.js:
(ctorPromise.then):
* test262/test/language/statements/class/elements/private-methods/prod-private-async-method.js:
(ctorPromise.then):
* test262/test/language/statements/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/regular-definitions-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/regular-definitions-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/same-line-async-gen-computed-names.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-computed-symbol-names.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-literal-names-asi.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-literal-names.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-private-field-usage.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-private-method-getter-usage.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-private-method-usage.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-private-names.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-field-identifier-initializer.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-field-identifier.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-private-getter-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-private-getter.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-private-method-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-private-method.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-private-setter-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-private-setter.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-initializer-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-initializer.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-method-privatename-identifier-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-method-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-by-classname.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-static-private-fields.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-static-private-methods-with-fields.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-static-private-methods.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-gen-string-literal-names.js:
(c.m.next.then):
* test262/test/language/statements/class/elements/same-line-async-method-computed-names.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-computed-symbol-names.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-literal-names-asi.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-literal-names.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-private-field-usage.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-private-method-getter-usage.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-private-method-usage.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-private-names.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-field-identifier-initializer.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-field-identifier.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-private-getter-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-private-getter.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-private-method-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-private-method.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-private-setter-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-private-setter.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-initializer-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-initializer.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier.js:
(C):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-method-privatename-identifier-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-method-privatename-identifier.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-by-classname.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-static-private-fields.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-static-private-methods-with-fields.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-static-private-methods.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-async-method-string-literal-names.js:
(c.m.then):
* test262/test/language/statements/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/same-line-gen-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/same-line-method-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/same-line-method-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier.js:
* test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier-alt.js:
* test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier.js:
* test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-init-yield-expr.js:
* test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-nested-array-yield-expr.js:
* test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-nested-obj-yield-expr.js:
* test262/test262-Revision.txt:

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

7 weeks agoCrash at WebKit: __62-[WKContentView(WKInteraction) resignFirstResponderForWebView...
ddkilzer@apple.com [Sat, 27 Jun 2020 01:16:22 +0000 (01:16 +0000)]
Crash at WebKit: __62-[WKContentView(WKInteraction) resignFirstResponderForWebView]_block_invoke
<https://webkit.org/b/213666>
<rdar://problem/64238661>

Reviewed by Darin Adler.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView resignFirstResponderForWebView]):
- Speculative fix to return early if there are no queued key
  events available by the time the block runs.

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

7 weeks agoResync web-platform-tests/WebIDL from upstream
cdumez@apple.com [Sat, 27 Jun 2020 00:13:34 +0000 (00:13 +0000)]
Resync web-platform-tests/WebIDL from upstream
https://bugs.webkit.org/show_bug.cgi?id=213539

Reviewed by Sam Weinig.

Resync web-platform-tests/WebIDL from upstream 1001bb6b2d6b9.

* web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any-expected.txt:
* web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any.js:
(test):
* web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any.worker-expected.txt:
* web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window-expected.txt:
* web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window.js:
* web-platform-tests/WebIDL/idlharness-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebIDL/interfaces-expected.txt.
* web-platform-tests/WebIDL/idlharness.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebIDL/interfaces.html.
* web-platform-tests/WebIDL/w3c-import.log:

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

7 weeks agoUpdate web-platform-tests/content-security-policy from upstream
cdumez@apple.com [Fri, 26 Jun 2020 23:58:27 +0000 (23:58 +0000)]
Update web-platform-tests/content-security-policy from upstream
https://bugs.webkit.org/show_bug.cgi?id=213664

Reviewed by Darin Adler.

Update web-platform-tests/content-security-policy from upstream b076c305a256e7fb7.

LayoutTests/imported/w3c:

* resources/resource-files.json:
* web-platform-tests/content-security-policy/*: Updated.

LayoutTests:

* tests-options.json:

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

7 weeks agoCRASH: incompatible downcast<> operation in SourceBufferPrivateAVFObjC::setCDMInstance()
jer.noble@apple.com [Fri, 26 Jun 2020 23:38:31 +0000 (23:38 +0000)]
CRASH: incompatible downcast<> operation in SourceBufferPrivateAVFObjC::setCDMInstance()
https://bugs.webkit.org/show_bug.cgi?id=213660
<rdar://problem/63831593>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/encrypted-media/fps-clearkey-crash.html

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):

LayoutTests:

* platform/mac/media/encrypted-media/fps-clearkey-crash-expected.txt: Added.
* platform/mac/media/encrypted-media/fps-clearkey-crash.html: Added.

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

7 weeks agoUpdate web-platform-tests/WebCryptoAPI from upstream
cdumez@apple.com [Fri, 26 Jun 2020 23:32:36 +0000 (23:32 +0000)]
Update web-platform-tests/WebCryptoAPI from upstream
https://bugs.webkit.org/show_bug.cgi?id=213662

Reviewed by Darin Adler.

Update web-platform-tests/WebCryptoAPI from upstream b076c305a256e7.

LayoutTests/imported/w3c:

* web-platform-tests/WebCryptoAPI/*: Updated.

LayoutTests:

* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.worker-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt:

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

7 weeks ago[LFC][BFC] Add support for <center>
zalan@apple.com [Fri, 26 Jun 2020 23:26:54 +0000 (23:26 +0000)]
[LFC][BFC] Add support for <center>
https://bugs.webkit.org/show_bug.cgi?id=213649

Reviewed by Antti Koivisto.

Source/WebCore:

Adjust the margin box to center the block content (this is very similar to [style="margin-left: auto; margin-right: auto;"]).

Test: fast/layoutformattingcontext/center-alignment-with-block-content-simple.html

* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):

LayoutTests:

* fast/layoutformattingcontext/center-alignment-with-block-content-simple-expected.html: Added.
* fast/layoutformattingcontext/center-alignment-with-block-content-simple.html: Added.

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

7 weeks agoUpdate web-platform-tests/beacon from upstream
cdumez@apple.com [Fri, 26 Jun 2020 23:07:38 +0000 (23:07 +0000)]
Update web-platform-tests/beacon from upstream
https://bugs.webkit.org/show_bug.cgi?id=213663

Reviewed by Darin Adler.

Update web-platform-tests/beacon from upstream b076c305a256e7fb7.

* web-platform-tests/beacon/*: Updated.

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

7 weeks agoRemove expectation for imported/w3c/canvas/2d.line.cap.round.html as they are passing.
commit-queue@webkit.org [Fri, 26 Jun 2020 22:33:57 +0000 (22:33 +0000)]
Remove expectation for imported/w3c/canvas/2d.line.cap.round.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=138676

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-26

* TestExpectations:

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

7 weeks ago[webkitpy] Automatically detect hw architecture for supporting Apple Silicon
jbedard@apple.com [Fri, 26 Jun 2020 22:09:59 +0000 (22:09 +0000)]
[webkitpy] Automatically detect hw architecture for supporting Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=213653
<rdar://problem/64817656>

Rubber-stamped by Aakash Jain.

* Scripts/webkitpy/common/config/ews.json: iOS has the correct defaults, no need to override them.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo):
(PlatformInfo.architecture): Retrieve the current system's architecture.
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.__init__):
(MockPlatformInfo.architecture):
* Scripts/webkitpy/port/base.py:
(Port.__init__): Remove 'did_override_architecture', should be implied by architecture compared with DEFAULT_ARCHITECTURE.
(Port.architecture): Return the architecture specified by the user, if it exists.
(Port.set_architecture): Remove 'did_override_architecture'.
* Scripts/webkitpy/port/factory.py:
(configuration_options): Add --arm and --architecture flags.
* Scripts/webkitpy/port/mac.py:
(MacPort): Add arm64 to supported architectures.
(MacPort.architecture): Convert arm64e to arm64, check the host's architecture.
(MacPort._build_driver_flags): Always specify the build architecture since it may be x86_64 or arm64.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_64bit):
(MacTest):
(MacTest.test_arm):
(MacTest.test_default):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.run_command): Remove did_override_architecture.

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

7 weeks ago[iOS] Layout tests sometimes assert under -[WKContentView hasContent]
wenson_hsieh@apple.com [Fri, 26 Jun 2020 22:00:52 +0000 (22:00 +0000)]
[iOS] Layout tests sometimes assert under -[WKContentView hasContent]
https://bugs.webkit.org/show_bug.cgi?id=213656
<rdar://problem/64818648>

Reviewed by Tim Horton.

Make it safe to invoke `-[WKContentView hasContent]` when post-layout data is not present, and there is no
ranged or caret selection. Some editing layout tests on iOS tend to hit the post-layout data assertion due to
the callout bar presentation callback firing while we reset the test harness to a consistent state (and spin the
runloop while doing so).

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView hasContent]):

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

7 weeks agoRemove expectations for imported/w3c/canvas/2d.gradient.linear.transform.1.html and...
commit-queue@webkit.org [Fri, 26 Jun 2020 21:57:39 +0000 (21:57 +0000)]
Remove expectations for imported/w3c/canvas/2d.gradient.linear.transform.1.html and imported/w3c/canvas/2d.gradient.linear.transform.2.html and imported/w3c/canvas/2d.gradient.linear.transform.3.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=170757

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-26

* platform/mac/TestExpectations:

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

7 weeks ago[GTK][WPE] Fix the matching of an empty value in getCgroupControllerPath() when only...
psaavedra@igalia.com [Fri, 26 Jun 2020 21:53:36 +0000 (21:53 +0000)]
[GTK][WPE] Fix the matching of an empty value in getCgroupControllerPath() when only cgroupsV2 hierarchy is found
https://bugs.webkit.org/show_bug.cgi?id=213646

Reviewed by Adrian Perez de Castro.

* UIProcess/linux/MemoryPressureMonitor.cpp:
(WebKit::getCgroupFile):
(WebKit::getCgroupControllerPath):
(WebKit::systemMemoryUsedAsPercentage):

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

7 weeks agoUnreviewed, reverting r263511, r263514, and r263565.
lawrence.j@apple.com [Fri, 26 Jun 2020 21:45:25 +0000 (21:45 +0000)]
Unreviewed, reverting r263511, r263514, and r263565.

r263511 caused MediaRecorder test crashes on internal testers.

Reverted changesets:

"MediaRecorder stopRecorder() returns empty Blob after first
use"
https://bugs.webkit.org/show_bug.cgi?id=212274
https://trac.webkit.org/changeset/263511

"Unreviewed iOS build fix after r263511."
https://trac.webkit.org/changeset/263514

"MediaRecorder.start() Method is Ignoring the "timeslice"
Parameter"
https://bugs.webkit.org/show_bug.cgi?id=202233
https://trac.webkit.org/changeset/263565

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

7 weeks ago[Big Sur] Handle baseline search path (Follow-up fix)
jbedard@apple.com [Fri, 26 Jun 2020 21:11:52 +0000 (21:11 +0000)]
[Big Sur] Handle baseline search path (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>

Unreviewed follow-up fix.

* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): Copy reference version by value, not by reference.

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

7 weeks agoRemove expectation for imported/w3c/canvas/2d.gradient.interpolate.solid.html as...
commit-queue@webkit.org [Fri, 26 Jun 2020 21:11:26 +0000 (21:11 +0000)]
Remove expectation for imported/w3c/canvas/2d.gradient.interpolate.solid.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=174015

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-26

* platform/mac/TestExpectations:

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

7 weeks agoConvert ContentSecurityPolicy related parsers over to using StringParsingBuffer
weinig@apple.com [Fri, 26 Jun 2020 20:58:02 +0000 (20:58 +0000)]
Convert ContentSecurityPolicy related parsers over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213631

Reviewed by Darin Adler.

- Adopt StringParsingBuffer across CSP code.
- Remove UTF-16 upconversions in ContentSecurityPolicy, ContentSecurityPolicyDirectiveList,
  ContentSecurityPolicyMediaListDirective and ContentSecurityPolicySourceList.

* html/parser/ParsingUtilities.h:
(WebCore::isNotASCIISpace):
(WebCore::skipExactly):
(WebCore::characterPredicate):
(WebCore::skipUntil):
(WebCore::skipExactlyIgnoringASCIICase):
Add overloads for each helper that take a StringParsingBuffer.

* loader/ResourceCryptographicDigest.cpp:
(WebCore::parseHashAlgorithmAdvancingPosition):
Convert to use an Optional return value rather than outparameter + bool.

(WebCore::parseCryptographicDigestImpl):
(WebCore::parseCryptographicDigest):
(WebCore::parseEncodedCryptographicDigestImpl):
(WebCore::parseEncodedCryptographicDigest):
* loader/ResourceCryptographicDigest.h:
Use StringParsingBuffer rather than raw pointers for parsing.

* loader/SubresourceIntegrity.cpp:
(WebCore::splitOnSpaces):
(WebCore::parseIntegrityMetadata):
Use StringParsingBuffer and readCharactersForParsing rather than raw pointers for parsing.

* page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::didReceiveHeader):
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

* page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::isDirectiveNameCharacter):
(WebCore::isDirectiveValueCharacter):
(WebCore::ContentSecurityPolicyDirectiveList::parse):
(WebCore::ContentSecurityPolicyDirectiveList::parseDirective):
(WebCore::ContentSecurityPolicyDirectiveList::parseReportURI):
(WebCore::ContentSecurityPolicyDirectiveList::setCSPDirective):
(WebCore::ContentSecurityPolicyDirectiveList::applySandboxPolicy):
(WebCore::ContentSecurityPolicyDirectiveList::setUpgradeInsecureRequests):
(WebCore::ContentSecurityPolicyDirectiveList::setBlockAllMixedContentEnabled):
(WebCore::ContentSecurityPolicyDirectiveList::addDirective):
* page/csp/ContentSecurityPolicyDirectiveList.h:
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Also switch to using Optional for return values
rather than outparameter + bool. To make things read more cleanly, package up name
and value pair into a new ParsedDirective struct that can be passed around more easily.

* page/csp/ContentSecurityPolicyMediaListDirective.cpp:
(WebCore::isMediaTypeCharacter):
(WebCore::ContentSecurityPolicyMediaListDirective::parse):
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

* page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::isSourceCharacter):
(WebCore::isHostCharacter):
(WebCore::isPathComponentCharacter):
(WebCore::isSchemeContinuationCharacter):
(WebCore::isNotColonOrSlash):
(WebCore::isSourceListNone):
(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseSource):
(WebCore::ContentSecurityPolicySourceList::parseScheme):
(WebCore::ContentSecurityPolicySourceList::parseHost):
(WebCore::ContentSecurityPolicySourceList::parsePath):
(WebCore::ContentSecurityPolicySourceList::parsePort):
(WebCore::isNonceCharacter):
(WebCore::ContentSecurityPolicySourceList::parseNonceSource):
(WebCore::ContentSecurityPolicySourceList::parseHashSource):
* page/csp/ContentSecurityPolicySourceList.h:
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Also switch to using Optional for return values
rather than outparameter + bool. To make things read more cleanly, package up source
return values into structs that can be more easily returned / passed around.

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

7 weeks agoRe-land r262863
ggaren@apple.com [Fri, 26 Jun 2020 20:52:54 +0000 (20:52 +0000)]
Re-land r262863
https://bugs.webkit.org/show_bug.cgi?id=213654

Reviewed by Tadeu Zagallo.

r263575 should fix the crash we saw.

* wtf/cocoa/MainThreadCocoa.mm:
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
(-[JSWTFMainThreadCaller call]): Deleted.

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

7 weeks agoRemove expectation for https://results.webkit.org/?suite=layout-tests&test=imported...
commit-queue@webkit.org [Fri, 26 Jun 2020 20:41:29 +0000 (20:41 +0000)]
Remove expectation for https://results.webkit.org/?suite=layout-tests&test=imported%2Fmozilla%2Fsvg%2Fdynamic-textPath-02.svg as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213655

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-26

* TestExpectations:

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

7 weeks agoContent sometimes missing in nested scrollers with border-radius
simon.fraser@apple.com [Fri, 26 Jun 2020 20:16:33 +0000 (20:16 +0000)]
Content sometimes missing in nested scrollers with border-radius
https://bugs.webkit.org/show_bug.cgi?id=213580
<rdar://problem/64460373>

Reviewed by Zalan Bujtas.
Source/WebCore:

RenderLayer::clipToRect() has a special case for clips involving border-radius,
involving an ancestor tree walk which applies the rounded clips.

When inside composited overflow, don't include the border-radius from the scroller since
that does its own clipping.

Test: compositing/clipping/nested-overflow-with-border-radius.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:

LayoutTests:

* compositing/clipping/nested-overflow-with-border-radius-expected.html: Added.
* compositing/clipping/nested-overflow-with-border-radius.html: Added.
* compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position-expected.html:
* compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html: Tweak the colors and radii to make failures on this test more obvious.

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

7 weeks ago[ macOS wk2 ] REGRESSION: webrtc/video-autoplay1.html is a flaky failure
jacob_uphoff@apple.com [Fri, 26 Jun 2020 19:43:30 +0000 (19:43 +0000)]
[ macOS wk2 ] REGRESSION: webrtc/video-autoplay1.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213652

Unreviewed test gardening

* platform/mac-wk2/TestExpectations:

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

7 weeks agoInitializing the main thread should initialize the main run loop
ggaren@apple.com [Fri, 26 Jun 2020 19:28:18 +0000 (19:28 +0000)]
Initializing the main thread should initialize the main run loop
https://bugs.webkit.org/show_bug.cgi?id=213637

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* JavaScriptCore.order: Removed some defunct stuff.
* shell/playstation/TestShell.cpp:
(setupTestRun): Merged initializeThreading call with
initializeMainThread call because initializeMainThread is a superset.

Source/WebCore:

* platform/ios/wak/WebCoreThread.mm:
(RunWebThread): Removed call to initializeMainThread() because the main
thread calls it before starting the web thread, so it's a no-op. (And if
it were an op, it would be broken.)
(StartWebThread): Merged RunLoop::initializeMain and initializeThreading
into initializeMainThread.

Source/WebDriver:

* WebDriverService.cpp:
(WebDriver::WebDriverService::run):

Source/WebKit:

* Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
(WebKit::InitializeWebKit2):
* Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):

Source/WebKitLegacy/mac:

* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebCache.mm:
(+[WebCache initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(+[WebView initialize]):
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):

Source/WebKitLegacy/win:

* WebView.cpp:
(WebView::WebView):

Source/WTF:

Previously, some code initialized one, some the other, and some both;
and some code tried to initialize more than once; and some code tried
to initialize in ways that would crash but luckily got pre-empted by
other code that had already initialized.

In addition to general confusion, this setup made it subtly high stakes
to call certain functions, like callOnMainThread or
RunLoop::main().dispatch(), because they might crash if the right
initialization had not been performed.

Let's fix that.

* wtf/MainThread.cpp:
(WTF::initializeMainThread): Removed defunct comment about
initializeMainThreadToProcessMainThread. Shrank scope of initializeKey.
* wtf/RunLoop.cpp:
(WTF::RunLoop::initializeMain): Don't call initializeMainThread anymore
because it calls us now. No need for a store fence since we run on the
main thread and we don't store anything.
(WTF::RunLoop::initializeWeb): Upgrade to RELEASE_ASSERT.
* wtf/RunLoop.h: Removed incorrect comment. (Fascinating to wonder when
it became incorrect.)

Tools:

Updated TestWebKitAPI to stop using RunLoop::initializeMain directly.

* TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
* TestWebKitAPI/Tests/WebCore/DNS.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(initializeInAppBrowserPrivacyTestSettings):
* TestWebKitAPI/TestsController.cpp:
(TestWebKitAPI::TestsController::TestsController):
* WebKitTestRunner/TestController.cpp:
(TestController::initialize):

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

7 weeks agoFix for crash in AXIsolatedObject::relativeFrame.
andresg_22@apple.com [Fri, 26 Jun 2020 19:26:22 +0000 (19:26 +0000)]
Fix for crash in AXIsolatedObject::relativeFrame.
https://bugs.webkit.org/show_bug.cgi?id=213363

Reviewed by Chris Fleizach.

Covered by existing testss.

Between the time an isolated object dispatches the method to the main
thread and the time the lambda is executed, the isolated object is
detached and hence its object ID becomes invalid. Thus, trying to get
the associated AX object results in an assert/crash.

* accessibility/isolatedtree/AXIsolatedObject.h:

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

7 weeks agoAccess to AXIsolatedTree:m_readerThreadNodeMap should happen only on the secondary...
andresg_22@apple.com [Fri, 26 Jun 2020 19:20:06 +0000 (19:20 +0000)]
Access to AXIsolatedTree:m_readerThreadNodeMap should happen only on the secondary AX thread.
https://bugs.webkit.org/show_bug.cgi?id=213575

Reviewed by Chris Fleizach.

After calling AXObjectCache::initializeSecondaryAXThread, there may
still be some client requests coming in on the main thread. Thus
AXIsolatedTree::applyPendingchanges and nodeForID can be called on the
main thread. Since these two methods access the member variable
m_readerThreadNodeMap which should be accessed only on the secondary AX
thread, we now check for this condition and bail out if needed.

* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::nodeForID const):
(WebCore::AXIsolatedTree::applyPendingChanges):
* accessibility/isolatedtree/AXIsolatedTree.h: Reordered private methods
above member variables to comply with WebKit coding conventions,
pointed out by Darin Adler in review for https://bugs.webkit.org/show_bug.cgi?id=213435.

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

7 weeks agoFix for crash in accessibility/roles-exposed.html in isolated tree mode.
andresg_22@apple.com [Fri, 26 Jun 2020 18:07:35 +0000 (18:07 +0000)]
Fix for crash in accessibility/roles-exposed.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=213648

Reviewed by Chris Fleizach.

LayoutTest: accessibility/roles-exposed.html.

- In layout tests, when AXObjectCache::notificationPostTimerFired is
triggered, and we try to update the isolated tree, some of the
underlying objects may already be gone. So this change ensure we don't
try to update an isolated object that corresponds to an already detached
live object.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::cacheAndInitializeWrapper): Sanity check.
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::addChildren): m_renderer can be null
when trying to update the isolated tree.
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored const):
Parent object may be gone when trying to update the isolated tree.
* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateChildrenIDs):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::updateChildren):

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

7 weeks ago[iOS] Network process is crashing when launching TJMaxx app due to invalid NetworkPro...
cdumez@apple.com [Fri, 26 Jun 2020 17:37:25 +0000 (17:37 +0000)]
[iOS] Network process is crashing when launching TJMaxx app due to invalid NetworkProcess::DestroySession IPC message
https://bugs.webkit.org/show_bug.cgi?id=213625
<rdar://problem/64737890>

Reviewed by Alex Christensen.

The app is calling [WKWebsiteDataStore init] despite the method being marked as unavailable in
WKWebsiteDataStore.h. As a result, they end up with a WKWebsiteDataStore object whose internal
_websiteDataStore is bad because its constructor was never called. When [WKWebsiteDataStore dealloc]
gets called later own, it calls the ~WebsiteDataStore() destructor for _websiteDataStore but its
m_sessionID is 0 because we never called the constructor. This causes us to send a
NetworkProcess::DestroySession IPC with a sessionID that is 0, which is not valid so the
NetworkProcess crashes.

To address the issue, we now provide an implementation of [WKWebsiteDataStore init] which raises an
exception, behind a linked-on-after check. To keep the app working, [WKWebsiteDataStore init] returns
a new ephemeral data store until rebuilt with the new SDK.

* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
Mark "new" as unavailable, otherwise [WKWebsiteDataStore new] builds.

* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore init]):
Raise an exception with latest SDK, a new ephemeral data store otherwise.

* UIProcess/Cocoa/VersionChecks.h:
Add linked-on-after check.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
Add a release assertion to make sure that m_sessionID is always valid when the destructor is called.

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

7 weeks agorun-javascriptcore-tests: Support Apple Silicon running x86 processes
jbedard@apple.com [Fri, 26 Jun 2020 17:18:41 +0000 (17:18 +0000)]
run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>

Reviewed by Saam Barati.

* Scripts/run-javascriptcore-tests:
(configurationForUpload): Add --architecture flag.
(runTest): Run test suite with specific architecture.
(runJSCStressTests): Pass architecture to run-jsc-stress-tests.
* Scripts/run-jsc-stress-tests: Add --force-architecture flag.
* Scripts/webkitdirs.pm:
(determineNativeArchitecture): Add function to determine machine's native architecture.
(determineArchitecture): Leverage the nativeArchitecture instead of hard-coding simulator
architectures.
(architecturesForProducts): Determine the architectures supported by a given build.
(nativeArchitecture): Return nativeArchitecture.

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

7 weeks ago[WinCairo] Cannot build without resource load statistics
stephan.szabo@sony.com [Fri, 26 Jun 2020 17:16:24 +0000 (17:16 +0000)]
[WinCairo] Cannot build without resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=213534

Reviewed by Don Olmstead.

Build fix for !ENABLE(RESOURCE_LOAD_STATISTICS)

* UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:

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

7 weeks agoAdd a test to verify that async clipboard API write access is granted when copying...
wenson_hsieh@apple.com [Fri, 26 Jun 2020 17:00:50 +0000 (17:00 +0000)]
Add a test to verify that async clipboard API write access is granted when copying in subframes
https://bugs.webkit.org/show_bug.cgi?id=213581

Reviewed by Darin Adler.

Source/WebKitLegacy/mac:

* WebView/WebView.mm:
(-[WebView _executeCoreCommandByName:value:]):

Adjust the behavior of this SPI to trigger the editing command in the focused frame, rather than always the
mainframe. This matches the behavior of `WKBundlePageExecuteEditingCommand`, and is also consistent with
user-triggered editing commands.

LayoutTests:

Add a new test to verify that clipboard write access is granted when copying in a subframe.

* editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe-expected.txt: Added.
* editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: Added.
* platform/win/TestExpectations:

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

7 weeks agoChange expectations to http/tests/webarchive/test-css-url-encoding-shift-jis.html and
tsavell@apple.com [Fri, 26 Jun 2020 16:51:47 +0000 (16:51 +0000)]
Change expectations to http/tests/webarchive/test-css-url-encoding-shift-jis.html and
http/tests/webarchive/test-css-url-encoding-utf-8.html and
http/tests/webarchive/test-css-url-encoding.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=82665

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-26

* platform/mac/TestExpectations:

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

7 weeks agoMediaRecorder.start() Method is Ignoring the "timeslice" Parameter
youenn@apple.com [Fri, 26 Jun 2020 16:49:50 +0000 (16:49 +0000)]
MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>

Reviewed by Eric Carlson.

Source/WebCore:

Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.

Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html

* Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):
* Modules/mediarecorder/MediaRecorder.h:

LayoutTests:

* http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
* http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.

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

7 weeks agoASSERTION FAILED: (it != m_map.end()) in TreeScopeOrderedMap::remove
shihchieh_lee@apple.com [Fri, 26 Jun 2020 16:44:31 +0000 (16:44 +0000)]
ASSERTION FAILED: (it != m_map.end()) in TreeScopeOrderedMap::remove
https://bugs.webkit.org/show_bug.cgi?id=213611
<rdar://problem/64493506>

Reviewed by Geoffrey Garen.

Source/WebCore:

In function HTMLImageElement::parseAttribute(), empty name attribute is considered valid
which makes the function skip handling of subsequent name changes. Modified the check of
name attribute so only non-empty name is considered valid. This code change is to match
<https://trac.webkit.org/changeset/262360>.

Test: fast/images/img-change-name-assert.html

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):

LayoutTests:

Added a regression test for the crash.

* fast/images/img-change-name-assert-expected.txt: Added.
* fast/images/img-change-name-assert.html: Added.

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

7 weeks agoText manipulation should observe adjacent elements with new renderer together
sihui_liu@apple.com [Fri, 26 Jun 2020 16:41:15 +0000 (16:41 +0000)]
Text manipulation should observe adjacent elements with new renderer together
https://bugs.webkit.org/show_bug.cgi?id=213333

Reviewed by Geoffrey Garen.

Source/WebCore:

TextManipulationController only keeps track of manipulated Elements. For other types of Node, like Text,
TextManipulationController does not mark them as manipulated and may manipulate it again. r263132 tried to solve
the problem by marking Element with only manipulated children as manipulated, but it did not iterate all
children of Element. So, if one Element has children in different paragraphs, it may fail to mark the Element
manipulated. See updated test.
To fix this issue completely, TextManipulationController now tracks all manipulated Nodes, so it can skip the
manipulated Nodes during observation.

For elements with new renderer, TextManipulationController observes them one by one. However, adjacent elements
can be in the same paragraph, if there is no delimiter in their text, and should be observed together. To solve
this problem, TextManipulationController now starts observing from the common ancestor of these elements. If a
Node in range is manipulated, split the paragrph there. This makes sure content in paragraph is not manipulated.
Relevant test is updated for this new behavior.

Tests: TextManipulation.StartTextManipulationFindNewlyDisplayedParagraph
       TextManipulation.CompleteTextManipulationAvoidExtractingManipulatedTextAfterManipulation

* dom/Node.cpp:
(WebCore::Node::~Node):
* editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::observeParagraphs):
(WebCore::TextManipulationController::didCreateRendererForElement):
(WebCore::TextManipulationController::scheduleObservationUpdate):
(WebCore::TextManipulationController::updateInsertions):
(WebCore::TextManipulationController::replace):
(WebCore::TextManipulationController::removeNode):
(WebCore::makePositionTuple): Deleted.
(WebCore::makeHashablePositionRange): Deleted.
* editing/TextManipulationController.h:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):

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

7 weeks agoClean up some PaintBehavior-related code in RenderLayer
simon.fraser@apple.com [Fri, 26 Jun 2020 16:38:45 +0000 (16:38 +0000)]
Clean up some PaintBehavior-related code in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=213634

Reviewed by Sam Weinig.

Move the computation of paintBehavior into a lambda, and share the flags between
normal painting and mask painting.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:

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

7 weeks ago[Big Sur] Handle baseline search path
jbedard@apple.com [Fri, 26 Jun 2020 16:31:56 +0000 (16:31 +0000)]
[Big Sur] Handle baseline search path
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>

Rubber-stamped by Aakash Jain.

* Scripts/webkitpy/port/mac.py:
(MacPort):
(MacPort.default_baseline_search_path): Break infinite loop for major version bump.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_big_sur_baseline_search_path): Test Big Sur baseline search path.

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

7 weeks agoRemove expectation for http/tests/security/contentSecurityPolicy/upgrade-insecure...
commit-queue@webkit.org [Fri, 26 Jun 2020 15:58:42 +0000 (15:58 +0000)]
Remove expectation for http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html and http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=160445

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-26

* platform/mac-wk2/TestExpectations:

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

7 weeks ago[ iOS ] REGRESSON: imported/w3c/web-platform-tests/html/semantics/embedded-content...
jacob_uphoff@apple.com [Fri, 26 Jun 2020 15:12:56 +0000 (15:12 +0000)]
[ iOS ] REGRESSON: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213645

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

7 weeks agoRemove expectation for http/tests/media/hls/video-cookie.html as they are passing.
commit-queue@webkit.org [Fri, 26 Jun 2020 15:05:07 +0000 (15:05 +0000)]
Remove expectation for http/tests/media/hls/video-cookie.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213644

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-26

* platform/mac/TestExpectations:

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

7 weeks agogenerate-jsc-bundle should fail if passed an invalid remote-config-file parameter
clopez@igalia.com [Fri, 26 Jun 2020 14:44:38 +0000 (14:44 +0000)]
generate-jsc-bundle should fail if passed an invalid remote-config-file parameter
https://bugs.webkit.org/show_bug.cgi?id=213615

Reviewed by Žan Doberšek.

Raise an exception if the parameter passed as remote-config-file is not a file.

* Scripts/generate-jsc-bundle:
(main):

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

7 weeks ago[GStreamer] Initialize m_currentState and m_oldState
aboya@igalia.com [Fri, 26 Jun 2020 13:36:43 +0000 (13:36 +0000)]
[GStreamer] Initialize m_currentState and m_oldState
https://bugs.webkit.org/show_bug.cgi?id=213604

Reviewed by Eric Carlson.

MediaPlayerPrivateGStreamer was not initializing m_currentState and
m_oldState, causing them to be checked e.g. updateStates() while they
still contain garbage.

Because the biggest uninitialized usage is a != comparison, in
practice things still worked, but that's still a bug. I detected the
bug after seeing this in the logs:

playbin3SendSelectStreamsIfAppropriate:<media-player-0> Checking if to send SELECT_STREAMS, m_waitingForStreamsSelectedEvent = false, haveDifferentStreamIds = false, m_currentState = UNKNOWN!(-8421505)...  shouldSendSelectStreams = false

This patch fixes a slight memory error which doesn't alter
TestExpectations.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

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

7 weeks agoAdd myself to contributors.json
takashi.komori@sony.com [Fri, 26 Jun 2020 09:38:21 +0000 (09:38 +0000)]
Add myself to contributors.json

Unreviewed.

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

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

7 weeks ago[GTK] Unreviewed test gardening. Update baselines after r263550.
dpino@igalia.com [Fri, 26 Jun 2020 05:48:41 +0000 (05:48 +0000)]
[GTK] Unreviewed test gardening. Update baselines after r263550.

* platform/gtk/editing/deleting/smart-delete-paragraph-005-expected.txt: Added.
* platform/gtk/fast/dynamic/window-resize-scrollbars-test-expected.png:
* platform/gtk/fast/dynamic/window-resize-scrollbars-test-expected.txt:

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

7 weeks ago[Big Sur] Regression tests fail to run due to failed assert: self._os_version.major...
ryanhaddad@apple.com [Fri, 26 Jun 2020 05:20:32 +0000 (05:20 +0000)]
[Big Sur] Regression tests fail to run due to failed assert: self._os_version.major == 10
https://bugs.webkit.org/show_bug.cgi?id=213639

Reviewed by Jonathan Bedard.

* Scripts/webkitpy/port/mac.py:
(MacPort.__init__): Remove the assert since it is no longer valid.

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

7 weeks agoUnreviewed, reverting r263537.
commit-queue@webkit.org [Fri, 26 Jun 2020 05:03:02 +0000 (05:03 +0000)]
Unreviewed, reverting r263537.
https://bugs.webkit.org/show_bug.cgi?id=213640

Broke watchOS and tvOS builds

Reverted changeset:

"iOS Safari incorrectly reports "AppleCoreMedia" as UA string"
https://bugs.webkit.org/show_bug.cgi?id=213245
https://trac.webkit.org/changeset/263537

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

7 weeks agoWKHTTPCookieStore.setCookie should flush the cookies to disk before calling completio...
commit-queue@webkit.org [Fri, 26 Jun 2020 04:36:19 +0000 (04:36 +0000)]
WKHTTPCookieStore.setCookie should flush the cookies to disk before calling completion handler when we are using the UIProcess's default cookie storage
https://bugs.webkit.org/show_bug.cgi?id=213636

Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-25
Reviewed by Brady Eidson.

This fixes a race condition that many, many third party developers run into, causing them to not be logged in when they thought they did.

* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::saveCookies):
* UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications):
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
* UIProcess/API/APIHTTPCookieStore.h:
* UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm:
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):

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

7 weeks ago[Inline] Overlapping content when margin-right is present
zalan@apple.com [Fri, 26 Jun 2020 04:17:47 +0000 (04:17 +0000)]
[Inline] Overlapping content when margin-right is present
https://bugs.webkit.org/show_bug.cgi?id=213629
<rdar://problem/64391403>

Reviewed by Simon Fraser.

Source/WebCore:

1. computeInlineDirectionPositionsForSegment loops through the Bidi runs and computes their logical widths.
2. Text measuring needs the current logical left position in order to compute the run width properly (e.g tab size)
3. The current logical left includes margins, boders and paddings (e.g <span style="margin: 100px;">text content</span> 'text content' starts at 100px -ignore the line offset for now)
4. The BiDi loop jumps over empty inline containers (e.g. text<span style="border: 10px solid green"></span>content) and it lacks the information to be able to resolve nested inline containers.

This patch pre-computes the spacing offset for each InlineTextBox so that we could use it later to compute the logical left position for the text measuring.

<span style="margin-right: 1px">[1]<span style="margin: 2px">[2]</span>[3]</span>[4]
[1] -> 0px offset
[2] -> 2px offset
[3] -> 4px offset
[4] -> 5px offset

Test: fast/inline/incorrect-tab-position.html

* rendering/ComplexLineLayout.cpp:
(WebCore::ComplexLineLayout::computeInlineDirectionPositionsForSegment):

LayoutTests:

* fast/inline/incorrect-tab-position-expected.html: Added.
* fast/inline/incorrect-tab-position.html: Added.

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

7 weeks agoUpstream date/time picker style
megan_gardner@apple.com [Fri, 26 Jun 2020 02:47:16 +0000 (02:47 +0000)]
Upstream date/time picker style
https://bugs.webkit.org/show_bug.cgi?id=213630

Reviewed by Wenson Hsieh.

* UIProcess/ios/forms/WKDateTimeInputControl.mm:
(-[WKDateTimePicker datePickerStyle]):

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

7 weeks agoREGRESSION(r256166, r260596) WKNavigationAction.request.allHTTPHeaderFields needs...
commit-queue@webkit.org [Fri, 26 Jun 2020 01:03:22 +0000 (01:03 +0000)]
REGRESSION(r256166, r260596) WKNavigationAction.request.allHTTPHeaderFields needs to contain User-Agent and Accept
https://bugs.webkit.org/show_bug.cgi?id=213626
<rdar://problem/62374208>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-25
Reviewed by Darin Adler.

Source/WebCore:

Those two revisions seemed to just subtly move things around, but they caused API-breaking changes that caused real problems.
This effectively reverts the parts of those changes that caused the breakages.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::addExtraFieldsToRequest):
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::acceptHeaderValueFromType):
(WebCore::acceptHeaderValueFromType): Deleted.
* loader/cache/CachedResourceRequest.h:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):

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

7 weeks agoUnreviewed, reverting r263545.
cdumez@apple.com [Fri, 26 Jun 2020 00:10:25 +0000 (00:10 +0000)]
Unreviewed, reverting r263545.

Patch will need refining

Reverted changeset:

"[iOS] Network process is crashing when launching TJMaxx app
due to invalid NetworkProcess::DestroySession IPC message"
https://bugs.webkit.org/show_bug.cgi?id=213625
https://trac.webkit.org/changeset/263545

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

7 weeks agoREGRESSION(r263035): stress/get-prototype-of.js broken on s390x
ysuzuki@apple.com [Thu, 25 Jun 2020 23:50:21 +0000 (23:50 +0000)]
REGRESSION(r263035): stress/get-prototype-of.js broken on s390x
https://bugs.webkit.org/show_bug.cgi?id=213307

Reviewed by Ross Kirsling.

Structure::m_outOfLineTypeFlags is uint16_t. If we access this field as 32bit field, we have different value in big endian architectures.
Since we do not have half-size-load branch instructions, we should load this uint16_t value via `loadh` (which zero-extends the loaded value)
and perform branch onto that value.

* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitLoadPrototype):
* llint/LowLevelInterpreter64.asm:

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

7 weeks ago[iOS] Network process is crashing when launching TJMaxx app due to invalid NetworkPro...
cdumez@apple.com [Thu, 25 Jun 2020 23:43:38 +0000 (23:43 +0000)]
[iOS] Network process is crashing when launching TJMaxx app due to invalid NetworkProcess::DestroySession IPC message
https://bugs.webkit.org/show_bug.cgi?id=213625
<rdar://problem/64737890>

Reviewed by Geoffrey Garen.

The app is calling [WKWebsiteDataStore init] despite the method being marked as unavailable in
WKWebsiteDataStore.h. As a result, they end up with a WKWebsiteDataStore object whose internal
_websiteDataStore is bad because its constructor was never called. When [WKWebsiteDataStore dealloc]
gets called later own, it calls the ~WebsiteDataStore() destructor for _websiteDataStore but its
m_sessionID is 0 because we never called the constructor. This causes us to send a
NetworkProcess::DestroySession IPC with a sessionID that is 0, which is not valid so the
NetworkProcess crashes.

To address the issue, we now provide an implementation of [WKWebsiteDataStore init] which returns nil
behind a linked-on-after check (since this crashes the app). To keep the app working,
[WKWebsiteDataStore init] returns the default data store until rebuilt with the new SDK. Note that
I tried returning a new ephemeral data store instead but this was getting the app in a bad state.

* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
Mark "new" as unavailable, otherwise [WKWebsiteDataStore new] builds.

* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore init]):
Return nil with latest SDK, the default data store otherwise.

* UIProcess/Cocoa/VersionChecks.h:
Add linked-on-after check.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
Add a release assertion to make sure that m_sessionID is always valid when the destructor is called.

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

7 weeks agoConvert the PaintLayerFlag enum to an enum class
simon.fraser@apple.com [Thu, 25 Jun 2020 23:30:46 +0000 (23:30 +0000)]
Convert the PaintLayerFlag enum to an enum class
https://bugs.webkit.org/show_bug.cgi?id=213624

Reviewed by Zalan Bujtas.

Convert enum PaintLayerFlag to an enum class.

* html/shadow/MediaControlTextTrackContainerElement.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintOverlayScrollbars):
(WebCore::paintForFixedRootBackground):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerWithEffects):
(WebCore::RenderLayer::paintLayerContentsAndReflection):
(WebCore::RenderLayer::filtersForPainting const):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintFlagsForLayer const):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):

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

7 weeks agoRemove expectation for http/tests/cookies/third-party-cookie-relaxing.html as they...
commit-queue@webkit.org [Thu, 25 Jun 2020 22:44:48 +0000 (22:44 +0000)]
Remove expectation for http/tests/cookies/third-party-cookie-relaxing.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213620

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-25

* platform/mac/TestExpectations:

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

7 weeks ago[iOS] Event region briefly missing editable element after typing second character...
dbates@webkit.org [Thu, 25 Jun 2020 22:41:23 +0000 (22:41 +0000)]
[iOS] Event region briefly missing editable element after typing second character in question field on discussions.apple.com
https://bugs.webkit.org/show_bug.cgi?id=213618
<rdar://problem/62656131>

Reviewed by Simon Fraser.

Source/WebCore:

Ensure the event region is updated for the foreground layer, if there is one. The foreground layer paints
into a different backing and so will not be included in normal layer paint (i.e. RenderLayer::paintLayer()
will bail out).  A "z-index: -1" can create such a layer. An element with "z-index: -1" is above the
background, but below other content. Although the original reported bug was only concerned about the
editable region the fix is applicable to all regions tracked by EventRegion. I included a test for touch-action
region too.

Tests: editing/editable-region/text-field-inside-composited-negative-z-index-layer.html
       pointerevents/ios/touch-action-none-relative-inside-composited-negative-z-index-layer.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):

LayoutTests:

Add some tests.

* editing/editable-region/text-field-inside-composited-negative-z-index-layer-expected.txt: Added.
* editing/editable-region/text-field-inside-composited-negative-z-index-layer.html: Added.
* pointerevents/ios/touch-action-none-relative-inside-composited-negative-z-index-layer-expected.txt: Added.
* pointerevents/ios/touch-action-none-relative-inside-composited-negative-z-index-layer.html: Added.

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

7 weeks agoiOS Safari incorrectly reports "AppleCoreMedia" as UA string
jer.noble@apple.com [Thu, 25 Jun 2020 22:39:22 +0000 (22:39 +0000)]
iOS Safari incorrectly reports "AppleCoreMedia" as UA string
https://bugs.webkit.org/show_bug.cgi?id=213245
<rdar://problem/64471582>

Reviewed by Youenn Fablet.

Source/WebCore:

Tests: TestWebKitAPI.MediaLoading.UserAgentStringCRABS
       TestWebKitAPI.MediaLoading.UserAgentStringHLS

* platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: Added.
(TestWebKitAPI::parseUserAgent):
(TestWebKitAPI::TEST):

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

7 weeks agoUnreviewed. Fixing misspellings of 'position'.
megan_gardner@apple.com [Thu, 25 Jun 2020 22:25:39 +0000 (22:25 +0000)]
Unreviewed. Fixing misspellings of 'position'.

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::smartDeleteParagraphSpacers):
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):

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

7 weeks ago[ Mac wk2 Debug ] imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getContributi...
lawrence.j@apple.com [Thu, 25 Jun 2020 22:15:54 +0000 (22:15 +0000)]
[ Mac wk2 Debug ] imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getContributingSources.https.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213621

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

7 weeks agoREGRESSION(r260800): Null Ptr Deref READ @ WTF::Optional<WTF::Seconds>::clear
commit-queue@webkit.org [Thu, 25 Jun 2020 22:12:15 +0000 (22:12 +0000)]
REGRESSION(r260800): Null Ptr Deref READ @ WTF::Optional<WTF::Seconds>::clear
https://bugs.webkit.org/show_bug.cgi?id=213543

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-06-25
Reviewed by Darin Adler.

Make the test asynchronous since it involves a rAF callback.

* fast/rendering/iframe-window-animation-modifies-iframe-srcdoc-crash.html:

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

7 weeks agoRemove expectation for fast/writing-mode/english-bt-text-with-spelling-marker.html...
commit-queue@webkit.org [Thu, 25 Jun 2020 22:11:42 +0000 (22:11 +0000)]
Remove expectation for fast/writing-mode/english-bt-text-with-spelling-marker.html and fast/writing-mode/english-rl-text-with-spelling-marker.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213619

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-25

* platform/mac-wk2/TestExpectations:

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

7 weeks ago[iOS] -_requestTextInputContextsInRect cannot find empty Quip spreadsheet title
dbates@webkit.org [Thu, 25 Jun 2020 22:03:21 +0000 (22:03 +0000)]
[iOS] -_requestTextInputContextsInRect cannot find empty Quip spreadsheet title
https://bugs.webkit.org/show_bug.cgi?id=213564
<rdar://problem/59355847>

Reviewed by Simon Fraser.

Source/WebCore:

Special case for a focused editable inline element that has no line box, which is
what the Quip spreadsheet title can become if its contents are deleted. The engine
optimizes to avoid creating lines and line boxes for empty inlines, hit testing,
and painting them. It's complicated to patch all this up with a 100% correct
solution without forcing more line box creation. So, just add a special case.

* page/Page.cpp:
(WebCore::Page::editableElementsInRect const): Add the root editable element of
the focused element to the result set if its rect intersects the search rect. Note
that its rect can be empty e.g. <span contenteditable="true"></span>. So, I use
a new function on FloatRect to perform the intersection test. I also updated the
ASSERT() to also use this new function. This was not necessary, but I did it to
future the proof this code should hit testing one day return empty inlines.
* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::inclusivelyIntersects const): Added.
(WebCore::FloatRect::intersects const): While I was in this file I fixed up a comment
in this function to be more precise.
* platform/graphics/FloatRect.h:

Source/WebKit:

Check if the search rect intersects the interaction rect, even if it's empty, so long as
there is an assisted element. If there isn't an assisted element just do what we do now.
Otherwise, if the interaction rect is empty then this means the focused element is an
empty inline and it's not tracked in the editable region (see WebCore ChangeLog entry for
more details). In this case, just ask the web process directly to find the contexts.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _requestTextInputContextsInRect:completionHandler:]):

Tools:

Add some tests.

* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):

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

7 weeks agoUnreviewed, fix the macOS 11 build after r263519
wenson_hsieh@apple.com [Thu, 25 Jun 2020 21:19:49 +0000 (21:19 +0000)]
Unreviewed, fix the macOS 11 build after r263519

* rendering/RenderThemeMac.mm:
(WebCore::createAttachmentPlaceholderImage):

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

7 weeks agoAdd a new templated string type to help write more idiomatic parsing code
weinig@apple.com [Thu, 25 Jun 2020 21:13:18 +0000 (21:13 +0000)]
Add a new templated string type to help write more idiomatic parsing code
https://bugs.webkit.org/show_bug.cgi?id=213588

Reviewed by Darin Adler.
Source/WTF:

Introduce StringParsingBuffer<CharType>, a new class in the String class family
designed to be used by parsing code. It's designed to be used with the helper
function, readCharactersForParsing, and for the user to write the parsing code
in a way that will work for both latin1 and UTF-16 inputs. Most usage will likely
follow something like the following form

{
    ...
    auto parsedResult = readCharactersForParsing(stringishObjectToParse, [](auto parsingBuffer) {
        while (parsingBuffer.hasCharactersRemaining()) {
            if (*parsingBuffer == foo) {
                ...
            }
        }

        ...

        return parsedResult
    });
    ...
}

API tests added.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
Add StringParsingBuffer.h

* wtf/Forward.h:
Forward declare StringParsingBuffer.

* wtf/text/StringParsingBuffer.h:
Added.

Tools:

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/StringParsingBuffer.cpp: Added.
(TestWebKitAPI::TEST):
Added new tests for new class.

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

7 weeks agoCannot delete last line of Mail Message
megan_gardner@apple.com [Thu, 25 Jun 2020 20:57:59 +0000 (20:57 +0000)]
Cannot delete last line of Mail Message
https://bugs.webkit.org/show_bug.cgi?id=213536
<rdar://problem/63420928>

Reviewed by Wenson Hsieh.

Source/WebCore:

LayoutTests/editing/deleting/smart-delete-paragraph-005.html

The smart paragraph deletion code did not take into account that
the previous blank line could be the start of editable content without
a paragraph before it. If this was the case, the deletion code backed up
too far, and the delete command failed. This case should be handled
in the same way that the deleting the last paragraph in editable content is
handled, by checking if we are already at the beginning of the editable
content when expanding the selection for smart paragraph deletion.

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::smartDeleteParagraphSpacers):

LayoutTests:

* editing/deleting/smart-delete-paragraph-005.html:

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

7 weeks agoText manipulation should exclude text rendered using icon-only fonts
wenson_hsieh@apple.com [Thu, 25 Jun 2020 20:37:34 +0000 (20:37 +0000)]
Text manipulation should exclude text rendered using icon-only fonts
https://bugs.webkit.org/show_bug.cgi?id=213446
<rdar://problem/63734298>

Reviewed by Myles Maxfield.

Source/WebCore:

See below for more details.

Test: TextManipulation.StartTextManipulationExcludesTextRenderedAsIcons

* editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::shouldExcludeNodeBasedOnStyle):
(WebCore::TextManipulationController::parse):

Augment token exclusion rules so that we're able to exclude certain text nodes from text manipulation, based on
their style (more specifically, based on their font family). Ask the text node's primary font if it is likely to
be used only for rendering icons, and cache the result in TextManipulationController to avoid running the
heuristic an excessive number of times for each font that appears in the document. We currently only run this
for the node's primary font when initiating translation, though we may want to change this in the future so that
node exclusion is recomputed when the primary font of a node changes.

Note that in the case where an icon font fails to load, we won't exclude the text node from translation,
since the primary font will be a fallback. This is intentional, since the node would appear in the document as
normally rendered text (rather than icons), which should be translated.

* editing/TextManipulationController.h:
* platform/graphics/Font.cpp:
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):
* platform/graphics/Font.h:
* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::familyName const):
* platform/graphics/FontPlatformData.h:
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):

Add a heuristic to detect whether a platform font should be excluded from text manipulation. For now, we only
return true if we suspect that this font is an "icon-only" font (for instance, the "Material Icons" font). We
guess that a font is *probably* an icon-only font if the font supports only characters from the basic or PUA
unicode planes, and the glyph bounds for the set of supported non-control basic latin characters are all empty.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::familyName const):

Add a platform `familyName()` helper method on `FontPlatformData`. On Cocoa platforms, this wraps a call to
`CTFontCopyFamilyName`.

Tools:

Add a new API test.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Ahem.ttf: Added.
* TestWebKitAPI/Tests/WebKitCocoa/SpaceOnly.otf: Added.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):

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

7 weeks agoAllow service workers for web browsers
katherine_cheney@apple.com [Thu, 25 Jun 2020 20:04:52 +0000 (20:04 +0000)]
Allow service workers for web browsers
https://bugs.webkit.org/show_bug.cgi?id=213573
<rdar://problem/64712630>

Reviewed by Brent Fulgham.

Allows applications with the full web-browser entitlement to use
service workers.

* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::parentProcessHasServiceWorkerEntitlement const):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const):

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

7 weeks agoWTF::callOnMainThread should not require the main runloop to be initialized
tzagallo@apple.com [Thu, 25 Jun 2020 19:38:13 +0000 (19:38 +0000)]
WTF::callOnMainThread should not require the main runloop to be initialized
https://bugs.webkit.org/show_bug.cgi?id=213612
<rdar://problem/64446028>

Reviewed by Yusuke Suzuki.

When using JavaScriptCore as a framework, the WTF main runloop is never initialized. However,
the inspector uses CFString wrappers, which use `callOnMainThread` when deallocating the
underlying string. For now, we bring back the old `JSWTFMainThreadCaller` to ensure we have
a way of dispatching to the main thread, even when the main runloop hasn't been initialized.

* wtf/RunLoop.cpp:
(WTF::RunLoop::mainIfExists):
* wtf/RunLoop.h:
* wtf/cocoa/MainThreadCocoa.mm:
(-[JSWTFMainThreadCaller call]):
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):

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

7 weeks agoJSCell constructor needs to ensure that the passed in structure is still alive.
mark.lam@apple.com [Thu, 25 Jun 2020 19:32:34 +0000 (19:32 +0000)]
JSCell constructor needs to ensure that the passed in structure is still alive.
https://bugs.webkit.org/show_bug.cgi?id=213593
<rdar://problem/64597573>

Reviewed by Yusuke Suzuki.

Note that in the initializer list of the `JSCell(VM&, Structure*)` constructor,
we are only using values inside the passed in structure but not necessarily the
structure pointer itself.  All these values are contained inside Structure::m_blob.
Note also that this constructor is an inline function.  Hence, the compiler may
choose to pre-compute the address of structure->m_blob and discard the structure
pointer itself.

Here's an example:

    0x10317a21e <+1054>: movq   0x18(%rsp), %rdx  // rdx:vm = &vm
    0x10317a223 <+1059>: addq   $0x8, %r13        // r13 = &structure.m_blob  <== pre-compute address of m_blob !!!
                                                  // r13 previously contained the structure pointer.
                                                  // Now, there's no more references to the structure base address.

    0x10317a227 <+1063>: leaq   0x48(%rdx), %rdi  // arg0:heap = &vm.heap
    0x10317a22b <+1067>: movl   $0x10, %edx       // arg2:size = 16.
    0x10317a230 <+1072>: movq   %rdi, 0x28(%rsp)
    0x10317a235 <+1077>: xorl   %esi, %esi        // arg1:deferralContext = 0
    0x10317a237 <+1079>: callq  0x10317ae60       // call JSC::allocateCell<JSC::JSArray>  <== Can GC here !!!

    0x10317a23c <+1084>: movq   %rax, %rbx        // rbx:cell = rax:allocation result.
    ...
    0x10317a253 <+1107>: movl   (%r13), %eax      // eax = m_blob.structureID  <== Use pre-computed m_blob address here.

There's a chance that the GC may run while allocating this cell.  In the event
that the structure is newly instantiated just before calling this constructor,
there may not be any other references to it.  As a result, the structure may get
collected before the cell is even constructed.  To avoid this possibility, we need
to ensure that the structure pointer is still alive by the time this constructor
is called.

I am not committing any tests for this issue because the test cases relies on:

1. Manually forcing an O3 ASan Release build.

2. Not running jsc with --useDollarVM=1.  Note: the JSC test harness automatically
   adds --useDollarVM=1 for all test runs.

3. Memory being allocated in a specific order.  The recent Bitmap FreeList change
   enabled this issue to manifest.  The old linked list FreeList implementation
   would have hidden the issue.

4. Adding some logging code can also make the issue stop manifesting.

In short, the test cases will not detect any regression even if we commit them
because the existing automatic regression test runs will not have the necessary
conditions for reproducing the issue.  The tests are also somewhat fragile where
any changes in memory layout may stop the issue from manifesting in an observable
way.

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

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

7 weeks agoApp-bound domain service worker registrations should be limited
katherine_cheney@apple.com [Thu, 25 Jun 2020 18:16:22 +0000 (18:16 +0000)]
App-bound domain service worker registrations should be limited
https://bugs.webkit.org/show_bug.cgi?id=213601
<rdar://problem/64717589>

Reviewed by Brent Fulgham.

Limit number of service worker registrations for app-bound domains.
The current proposal is 3, but this could be changed in the future.

No new tests, currently TestWebKitAPI is unable to test failed
service worker registration (test will timeout). Confirmed behavior
manually.

* workers/service/server/SWServer.cpp:
(WebCore::SWServer::validateRegistrationDomain):

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

7 weeks agoUpstream macOS 11 additions to RenderThemeMac.mm and ThemeMac.mm
wenson_hsieh@apple.com [Thu, 25 Jun 2020 17:39:43 +0000 (17:39 +0000)]
Upstream macOS 11 additions to RenderThemeMac.mm and ThemeMac.mm
https://bugs.webkit.org/show_bug.cgi?id=213608
<rdar://problem/64758299>

Reviewed by Darin Adler.

Replace WebKitAdditions imports with the imported code. No change in behavior.

* css/html.css:
(input::-webkit-contacts-auto-fill-button):
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::supportsLargeFormControls):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::createAttachmentPlaceholderImage):
(WebCore::RenderThemeMac::extraDefaultStyleSheet): Deleted.

Remove the override for extraDefaultStyleSheet altogether, since this was only used to temporarily hide the new
contact AutoFill button appearance from open source WebKit.

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

7 weeks ago[ews] Share more bots between EWS builder and testers
aakash_jain@apple.com [Thu, 25 Jun 2020 17:37:14 +0000 (17:37 +0000)]
[ews] Share more bots between EWS builder and testers
https://bugs.webkit.org/show_bug.cgi?id=213521

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/config.json:

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

7 weeks agoUnreviewed, fix a ChangeLog typo that was checked in with r263515.
ryanhaddad@apple.com [Thu, 25 Jun 2020 17:16:26 +0000 (17:16 +0000)]
Unreviewed, fix a ChangeLog typo that was checked in with r263515.

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

7 weeks agoUnreviewed build fix for WebXR enabled non-OpenXR builds.
svillar@igalia.com [Thu, 25 Jun 2020 17:09:14 +0000 (17:09 +0000)]
Unreviewed build fix for WebXR enabled non-OpenXR builds.

* platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::Instance::Impl::enumerateApiLayerProperties const): Guard method with USE_OPENXR.
(PlatformXR::Instance::Impl::enumerateInstanceExtensionProperties const): Ditto.
(PlatformXR::Instance::Impl::Impl): Guard method body with USE_OPENXR.
(PlatformXR::Instance::Impl::~Impl): Ditto.

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

7 weeks ago:wq2020-06-25 Karl Rackler <rackler@apple.com>
tsavell@apple.com [Thu, 25 Jun 2020 16:59:29 +0000 (16:59 +0000)]
:wq2020-06-25  Karl Rackler  <rackler@apple.com>

Remove expectation for fast/dynamic/window-resize-scrollbars-test.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213602

Unreviewed test gardening.

* platform/wk2/TestExpectations:

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

7 weeks agoUnreviewed iOS build fix after r263511.
cdumez@apple.com [Thu, 25 Jun 2020 16:55:37 +0000 (16:55 +0000)]
Unreviewed iOS build fix after r263511.

* platform/mediastream/MediaStreamPrivate.h:

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

7 weeks ago[ews] Improve handling of invalid changelog
aakash_jain@apple.com [Thu, 25 Jun 2020 16:47:28 +0000 (16:47 +0000)]
[ews] Improve handling of invalid changelog
https://bugs.webkit.org/show_bug.cgi?id=213609

Reviewed by Jonathan Bedard.

* Scripts/webkitpy/tool/steps/validatereviewer.py:
(ValidateReviewer.run):

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

7 weeks agoNarrow expectation for fast/inline/break-between-nobr.html as it is passing for Catalina.
commit-queue@webkit.org [Thu, 25 Jun 2020 16:43:08 +0000 (16:43 +0000)]
Narrow expectation for fast/inline/break-between-nobr.html as it is passing for Catalina.
https://bugs.webkit.org/show_bug.cgi?id=213607

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-25

* platform/mac/TestExpectations:

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

7 weeks agoMediaRecorder stopRecorder() returns empty Blob after first use
youenn@apple.com [Thu, 25 Jun 2020 15:58:41 +0000 (15:58 +0000)]
MediaRecorder stopRecorder() returns empty Blob after first use
https://bugs.webkit.org/show_bug.cgi?id=212274
<rdar://problem/63601298>

Reviewed by Eric Carlson.

Source/WebCore:

Refactor code to create/destroy MediaRecorderPrivate on MediaRecorder start/stop.
This allows reusing a MediaRecorder after a stop and restarting with a clean state.

We introduce MediaRecorderPrivate::startRecording to do the initialization,
which allows to fix a potential ref cycle as part of the error callback handling.

Make some improvements to the platform implementation, in particular add default initialization to all fields.
Align the code using AudioConverterRef to what is done in AudioSampleDataSource.
Also call VTCompressionSessionInvalidate when destroying the VideoSampleBufferCompressor.

Test: http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html

* Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):
* Modules/mediarecorder/MediaRecorder.h:
* platform/mediarecorder/MediaRecorderPrivate.h:
(WebCore::MediaRecorderPrivate::startRecording):
* platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
* platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
(WebCore::AudioSampleBufferCompressor::attachPrimingTrimsIfNeeded):
(WebCore::AudioSampleBufferCompressor::gradualDecoderRefreshCount):
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::stopRecording):
* platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:
(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):

Source/WebKit:

Update implementation to do initialization as part of startRecording.

* GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:
(WebKit::RemoteMediaRecorderManager::releaseRecorder):
Remove ASSERT as recorder creation in WebProcess is always ok while creation in GPUProcess may fail and m_recorders may not be populated.
* WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):
* WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

* http/wpt/mediarecorder/MediaRecorder-multiple-start-stop-expected.txt: Added.
* http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html: Added.

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

7 weeks agoRemove expectation for fast/history/page-cache-indexed-closed-db.html as they are...
commit-queue@webkit.org [Thu, 25 Jun 2020 15:40:35 +0000 (15:40 +0000)]
Remove expectation for fast/history/page-cache-indexed-closed-db.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213606

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-25

* TestExpectations:

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

7 weeks ago[LFC][TFC] Use the flexing value as the base for the available horizontal space distr...
zalan@apple.com [Thu, 25 Jun 2020 15:19:40 +0000 (15:19 +0000)]
[LFC][TFC] Use the flexing value as the base for the available horizontal space distribution
https://bugs.webkit.org/show_bug.cgi?id=213599

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/table-min-max-flex-distribution-simple.html

* layout/tableformatting/TableLayout.cpp:
(WebCore::Layout::TableFormattingContext::TableLayout::distributedHorizontalSpace):

LayoutTests:

* fast/layoutformattingcontext/table-fixed-width-with-max-distribution.html:
* fast/layoutformattingcontext/table-min-max-flex-distribution-simple-expected.html: Added.
* fast/layoutformattingcontext/table-min-max-flex-distribution-simple.html: Added.

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

7 weeks agoRemove expectation for fast/canvas/canvas-blending-fill-style.html as they are passing.
commit-queue@webkit.org [Thu, 25 Jun 2020 15:03:40 +0000 (15:03 +0000)]
Remove expectation for fast/canvas/canvas-blending-fill-style.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213598

Unreviewed test gardening.

Patch by Karl Rackler <rackler@apple.com> on 2020-06-25

* platform/mac/TestExpectations:

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

7 weeks agoREGRESSION: (r262432): [ iOS wk2 ] imported/w3c/web-platform-tests/service-workers...
lawrence.j@apple.com [Thu, 25 Jun 2020 14:27:57 +0000 (14:27 +0000)]
REGRESSION: (r262432): [ iOS wk2 ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=212696

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

7 weeks agoREGRESSION (r260360): easing curves are broken on JS-originated animations
graouts@webkit.org [Thu, 25 Jun 2020 13:42:02 +0000 (13:42 +0000)]
REGRESSION (r260360): easing curves are broken on JS-originated animations
https://bugs.webkit.org/show_bug.cgi?id=213495
<rdar://problem/64649747>

Reviewed by Darin Adler.

Source/WebCore:

Prior to Web Animations, there was no way for an animation to set an animation-wide timing function while
also setting a per-keyframe timing function. As such GraphicsLayerCA would sometimes decide to set the
timing function on keyframes or on the entire CAAnimation. However, we can no longer do this with Web
Animations where an animation can set an animation-wide timing function and also keyframe-specific
timing functions.

In this patch we create CAKeyframeAnimation objects for any animation that has at least two keyframes
if Web Animations are enabled, whereas the legacy code path requires at least three keyframes. We allow
PlatformCAAnimation::setTimingFunction() to be called in the Web Animations code path only under
GraphicsLayerCA::setupAnimation() while leaving the only call sites in place only for the legacy code
path.

Finally, we modify GraphicsLayerCA::timingFunctionForAnimationValue() to only ever return a keyframe-
specific timing function or fall back to a default linear timing function in the Web Animations code
path, leaving the function to behave the same way as it used to in the legacy code path.

Test: webanimations/accelerated-animation-with-easing.html

* platform/animation/TimingFunction.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::isKeyframe):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

LayoutTests:

Add a new test that checks that various ways of setting the easing timing function on a JS-originated
animation always yield the same visible animation behavior.

* webanimations/accelerated-animation-with-easing-expected.html: Added.
* webanimations/accelerated-animation-with-easing.html: Added.

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

7 weeks agoUnreviewed, WPE Debug build fix after r263503.
svillar@igalia.com [Thu, 25 Jun 2020 13:09:27 +0000 (13:09 +0000)]
Unreviewed, WPE Debug build fix after r263503.

* platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::OpenXRDevice::OpenXRDevice): Use m_instance instead of m_impl->xrInstance().

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

7 weeks ago[GStreamer] Don't invalidate MainThreadNotifier until the streaming threads are joined
aboya@igalia.com [Thu, 25 Jun 2020 13:02:15 +0000 (13:02 +0000)]
[GStreamer] Don't invalidate MainThreadNotifier until the streaming threads are joined
https://bugs.webkit.org/show_bug.cgi?id=213197

Reviewed by Xabier Rodriguez-Calvar.

~MediaPlayerPrivateGStreamer() used to call m_notifier->invalidate()
before setting the pipeline to NULL state. This caused a race where
the streaming threads could post a task to the MainThreadNotifier
between these two events and cause a crash in
ASSERT(m_isValid.load()) -- that is, the notifier was used while
invalidated.

Fixing this is actually easy. ~MediaPlayerPrivateGStreamer() is always
run from the main thread, so no MainThreadNotifier tasks will be run
before the destructor is complete. By moving the
m_notifier->invalidate() call to after the pipeline has been set to
NULL (and therefore all streaming threads torn down) we are ensuring
no more taks will be posted, and since the MainThreadNotifier is
invalidated by that point, already posted tasks will not be run.

The race fixed by this patch is rare and wide-arching, so this patch
doesn't introduce TestExpectations changes, but it should avoid
further crashes like the ones reported in the Bugzilla issue attached.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):

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

7 weeks ago[WebXR] Check device orientation support when requesting a reference space
svillar@igalia.com [Thu, 25 Jun 2020 10:49:42 +0000 (10:49 +0000)]
[WebXR] Check device orientation support when requesting a reference space
https://bugs.webkit.org/show_bug.cgi?id=213519

Reviewed by Carlos Garcia Campos.

When requesting a local reference space the specs mandate us to check whether or not the device
supports orientation tracking. This was not implemented in the OpenXR backend, so we were unconditionally
returning true.

The OpenXR devices now properly check whether or not orientation tracking is initialized. We took the chance
to refactor a bit the OpenXR backend moving all the device initialization code to the OpenXRDevice class.

The current tests already check this functionality.

* Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::referenceSpaceIsSupported const): Call supportsOrientationTracking() on device.
* platform/xr/PlatformXR.h:
(PlatformXR::Device::supportsOrientationTracking const): Added.
* platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::Instance::enumerateImmersiveXRDevices): Just create the OpenXR device, it will automatically
initialize itself.
(PlatformXR::OpenXRDevice::OpenXRDevice): Get XrSystem and XrInstance as parametters.
(PlatformXR::OpenXRDevice::collectSupportedSessionModes): Moved from Instance::Impl.
(PlatformXR::Instance::Impl::collectSupportedSessionModes): Deleted.
* platform/xr/openxr/PlatformXROpenXR.h:
* testing/WebFakeXRDevice.h: Mark the SimulatedXRDevice as supporting orientation tracking.

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

7 weeks agoMake video-inside-flex-item.html more robust
svillar@igalia.com [Thu, 25 Jun 2020 10:16:43 +0000 (10:16 +0000)]
Make video-inside-flex-item.html more robust
https://bugs.webkit.org/show_bug.cgi?id=213549

Reviewed by Simon Fraser.

The tests initially landed in r263389 and was later modified in r263436 because it was flaky
in some configurations. The latter fixed most of the flakiness but in the debug bots which
were consistently showing test failures. The problem was that the slowness of debug bots
was causing different layout behaviours and thus retrieving different measurements.

Fix the flackiness by adding an additional layer of robustness. The test now waits for the "loadeddata"
video event before entering into fullscreen mode. Video is properly sized now and we can
bring exact size comparisons back.

* fullscreen/video-inside-flex-item-expected.txt:
* fullscreen/video-inside-flex-item.html:

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

7 weeks ago[GTK] Enable WEB_API_STATISTICS
dpino@igalia.com [Thu, 25 Jun 2020 09:53:17 +0000 (09:53 +0000)]
[GTK] Enable WEB_API_STATISTICS
https://bugs.webkit.org/show_bug.cgi?id=213592

Reviewed by Carlos Garcia Campos.

* Source/cmake/OptionsGTK.cmake:

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

7 weeks agoUpstream iPadOS 13.0 multi-window support
james.savage@apple.com [Thu, 25 Jun 2020 05:12:11 +0000 (05:12 +0000)]
Upstream iPadOS 13.0 multi-window support
https://bugs.webkit.org/show_bug.cgi?id=213590

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::doSetup): Always construct a UIWindow
using the expected UIWindowScene.
(makeWindowFromView): Deleted.

Source/WebKit:

* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen]): Always construct a
UIWindow using the expected UIWindowScene.
(makeWindowFromView): Deleted.

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