WebKit-https.git
6 weeks agoRemove expectation for imported/w3c/web-platform-tests/webrtc/getstats.html as it...
commit-queue@webkit.org [Mon, 29 Jun 2020 20:48:02 +0000 (20:48 +0000)]
Remove expectation for imported/w3c/web-platform-tests/webrtc/getstats.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=172521

Unreviewed test gardening.

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

* TestExpectations:

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

6 weeks agoRemove remaining makeSimpleColorFrom* variants
weinig@apple.com [Mon, 29 Jun 2020 20:31:18 +0000 (20:31 +0000)]
Remove remaining makeSimpleColorFrom* variants
https://bugs.webkit.org/show_bug.cgi?id=213706

Reviewed by Darin Adler.

Source/WebCore:

Removed makeSimpleColorFromFloats and makeSimpleColorFromCMYKA.
- Updated callers that need to pass floats to use makeSimpleColor(SRGBA { ... });
- Updated callers that don't need to pass floats, mostly compile time constant
  SimpleColors to use makeSimpleColor(...), passing in 0-255 based component
  values.
- Updated callers of makeSimpleColorFromCMYKA to use makeSimpleColor(toSRGBA(CMYKA { ... })).
  This required adding CMYKA type to ColorTypes.h and moving conversion SRGBA to
  ColorUtilities with the other color conversion code.
- Added deduction guides for color types to allow component type deduction. This allows
  us to write:

       function(SRGBA { redFloat, greenFloat, blueFloat, alphaFloat })

  reather than the more cumbersome:

       function(SRGBA<float> { redFloat, greenFloat, blueFloat, alphaFloat })

- Added operator==/operator!= for each color type. Only used by CMYKA at the moment,
  but generally useful, so added for all of them. For all types convertable to ColorComponents,
  the implementation uses the conversion to ColorComponents to avoid redundancy.

* html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::setStrokeColor):
(WebCore::CanvasRenderingContext2DBase::setFillColor):
Update to call new typed color based CanvasStyle functions.
(WebCore::CanvasRenderingContext2DBase::setShadow):
Use makeSimpleColor rather than makeSimpleColorFromFloats/makeSimpleColorFromCMYKA.

* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
Replace constructors taking raw floats with ones taking typed colors (SRGBA<float>/CMYKA<float>)
to make it more clear what the parameters mean.
(WebCore::CanvasStyle::isEquivalentColor const):
Compare the cmyka components using new operator== implementation for CMYKA<float>.
(WebCore::CanvasStyle::isEquivalent const):
(WebCore::CanvasStyle::isEquivalentRGBA const): Deleted.
(WebCore::CanvasStyle::isEquivalentCMYKA const): Deleted.
Replace isEquivalentRGBA/isEquivalentCMYKA with overloaded isEquivalent.
(WebCore::CanvasStyle::applyStrokeColor const):
(WebCore::CanvasStyle::applyFillColor const):
Update for new names of CMYKA members.
* html/canvas/CanvasStyle.h:
Use SRGBA<float> and CMYKA<float> to simplify interfaces

* page/DebugPageOverlays.cpp:
* page/linux/ResourceUsageOverlayLinux.cpp:
(WebCore::ResourceUsageOverlay::platformInitialize):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

* platform/graphics/Color.cpp:
(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

(WebCore::Color::luminance const):
Fix comment.

(WebCore::blendWithoutPremultiply):
Use makeSimpleColor(...) rather than makeSimpleColorFromFloats.

* platform/graphics/ColorTypes.h:
(WebCore::operator==):
(WebCore::operator!=):
- Add deduction guides and operator==/operator!= for each color type.
- Add CMYKA type. No conversion to ColorComponents yet, as ColorComponents
  only works with 4 component colors, not ones with 5 like CMYKA.

* platform/graphics/ColorUtilities.cpp:
(WebCore::toSRGBA):
Move conversion from CMYKA to SRGBA from makeSimpleColorFromCMYKA to here.

* platform/graphics/ColorUtilities.h:
(WebCore::convertPrescaledToComponentByte):
(WebCore::convertToComponentByte):
Use std::round rather than std::lroundf, since it will have the same result
and it reads nicer.

* platform/graphics/SimpleColor.cpp:
(WebCore::makeSimpleColorFromCMYKA): Deleted.
* platform/graphics/SimpleColor.h:
(WebCore::makeSimpleColor):
(WebCore::makeSimpleColorFromFloats): Deleted.
- Removed makeSimpleColorFromFloats and makeSimpleColorFromCMYKA.
- Added constexpr overload of makeSimpleColor taking a const SRGBA<uint8_t>&.
- Fixed forward declaration of makeSimpleColor that was taking ColorComponents
  to actually take an SRGBA<float>, which is what the inline implementation actually
  takes.

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::makeSimpleColorFromARGBCFArray):
* platform/graphics/cairo/GradientCairo.cpp:
(WebCore::interpolateColorStop):
* platform/graphics/cg/ColorCG.cpp:
(WebCore::makeSimpleColorFromCGColor):
* platform/graphics/win/PlatformContextDirect2D.cpp:
(WebCore::PlatformContextDirect2D::brushWithColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

* platform/graphics/mac/ColorMac.mm:
(WebCore::makeSimpleColorFromNSColor):
* platform/ios/ColorIOS.mm:
(WebCore::colorFromUIColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats. Casting to
float is needed, as the input types are CGFloat which is double in 64-bit environments
and won't automatically narrow with the new types.

* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::colorForGridTileBorder const):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
Use Color::black/Color::white.colorWithAlpha(...) rather than makeSimpleColorFromFloats,
allowing for constant expression creation of SimpleColors.

Source/WebKit:

* UIProcess/API/wpe/WebKitColor.cpp:
(webkitColorToWebCoreColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

* WebProcess/Inspector/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::showPaintRect):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::drawRect):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/css/css-values/ch-unit-004...
commit-queue@webkit.org [Mon, 29 Jun 2020 20:24:56 +0000 (20:24 +0000)]
Remove expectation for imported/w3c/web-platform-tests/css/css-values/ch-unit-004.html and imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=203333

Unreviewed test gardening.

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

* TestExpectations:

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

6 weeks ago[Win] run-webkit-tests is failing to run DRT and WTR without --architecture x86_64
Hironori.Fujii@sony.com [Mon, 29 Jun 2020 20:09:19 +0000 (20:09 +0000)]
[Win] run-webkit-tests is failing to run DRT and WTR without --architecture x86_64
https://bugs.webkit.org/show_bug.cgi?id=213688

Reviewed by Jonathan Bedard.

* Scripts/webkitpy/port/win.py:
(WinPort._port_flag_for_scripts):
(WinPort._build_path):
(WinPort._ntsd_location):
Replaced self.get_option('architecture') with self.architecture().

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/css/css-text/white-space/break...
commit-queue@webkit.org [Mon, 29 Jun 2020 19:38:30 +0000 (19:38 +0000)]
Remove expectation for imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-010.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213737

Unreviewed test gardening.

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

* platform/mac/TestExpectations:

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/css/css-ui/outline-019.html...
ryanhaddad@apple.com [Mon, 29 Jun 2020 19:28:17 +0000 (19:28 +0000)]
Remove expectation for imported/w3c/web-platform-tests/css/css-ui/outline-019.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=175288

Unreviewed test gardening.

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

* TestExpectations:

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

6 weeks agoConservativeRoots should mark any cell it finds an interior pointer to
keith_miller@apple.com [Mon, 29 Jun 2020 19:07:25 +0000 (19:07 +0000)]
ConservativeRoots should mark any cell it finds an interior pointer to
https://bugs.webkit.org/show_bug.cgi?id=213686

Reviewed by Yusuke Suzuki.

Currently, if ConserativeRoots finds an interior pointer to a cell
it will only mark that cell if it's a butterfly of some
kind. However, this can cause problems if the C++ or B3 compilers
pre-compute the offset of some cell member they want to load from
after a call. If this happens and that interior pointer is the
only reference to the cell it can get collected while it is still
"alive".

A naive patch that doesn't return from
findGCObjectPointersForMarking after finding a live non-interior,
non-butterfly cell was a 2% regression on Speedometer2 and
JetStream2. So, this patch immediately returns after
marking some non-butterfly cell, which appears to have fixed the
regression locally. Given this was such a big regression (likely
from running MarkedBlock::isLive) more than once there's possibly
an optimization opportunity here. I filed
https://bugs.webkit.org/show_bug.cgi?id=213687 to investigate
further.

* heap/HeapCell.cpp:
(WTF::printInternal):
* heap/HeapCell.h:
(JSC::isJSCellKind):
(JSC::mayHaveIndexingHeader):
(JSC::hasInteriorPointers): Deleted.
* heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::appendJSCellOrAuxiliary):
* runtime/VM.cpp:
(JSC::VM::VM):

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

6 weeks agoAX: aria-modal nodes wrapped in aria-hidden are not honored
cfleizach@apple.com [Mon, 29 Jun 2020 18:54:16 +0000 (18:54 +0000)]
AX: aria-modal nodes wrapped in aria-hidden are not honored
https://bugs.webkit.org/show_bug.cgi?id=212849
<rdar://problem/64047019>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: accessibility/aria-modal-in-aria-hidden.html

If aria-modal was wrapped inside aria-hidden, we were still processing that as the modal node.
Fixing that uncovered a host of very finicky issues related to aria-modal.
1. We were processing modal status immediately instead of after a delay, so visibility requirements were not correct.
2. In handleModalChange: We were processing multiple modal nodes perhaps incorrectly (the spec doesn't account for multiple modal nodes).
     - had to update a test to turn off modal status before adding a new modal node
3. Changed the modal node to a WeakPtr
4. In isNodeAriaVisible: We stopped processing for visibile with aria-hidden as soon as we hit a renderable block, but that means it won't account
   for nodes higher in the tree with aria-hidden.
5. In handleAttributeChange: if aria-hidden changes, we should update modal status if needed.
6. In focusModalNodeTimerFired: we need to verify the element is still live, otherwise it can lead to a crash.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::findModalNodes):
(WebCore::AXObjectCache::currentModalNode):
(WebCore::AXObjectCache::modalNode):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::deferModalChange):
(WebCore::AXObjectCache::focusModalNodeTimerFired):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::prepareForDocumentDestruction):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::isNodeAriaVisible):
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::deferModalChange):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::firstChild const):
(WebCore::AccessibilityRenderObject::lastChild const):

LayoutTests:

* accessibility/aria-hidden-negates-no-visibility-expected.txt:
* accessibility/aria-hidden-negates-no-visibility.html:
* accessibility/aria-modal-in-aria-hidden-expected.txt: Added.
* accessibility/aria-modal-in-aria-hidden.html: Added.
* accessibility/aria-modal.html:
* accessibility/mac/aria-modal-auto-focus.html:

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/css/css-transitions/before...
commit-queue@webkit.org [Mon, 29 Jun 2020 18:48:07 +0000 (18:48 +0000)]
Remove expectation for imported/w3c/web-platform-tests/css/css-transitions/before-load-001.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=203416

Unreviewed test gardening.

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

* platform/mac/TestExpectations:

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

6 weeks agoSupport MediaRecorder.onstart
youenn@apple.com [Mon, 29 Jun 2020 18:32:10 +0000 (18:32 +0000)]
Support MediaRecorder.onstart
https://bugs.webkit.org/show_bug.cgi?id=213720

Reviewed by Darin Adler.

Source/WebCore:

Fire start event if MediaRecorder.start is successful.
Do some WebIDL clean-up, in particular change timeSlice from long to unsigned long, as per spec.
Covered by added test.

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

LayoutTests:

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

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

6 weeks agoSend WebRTC packets received from network process to web process from a background...
youenn@apple.com [Mon, 29 Jun 2020 18:27:54 +0000 (18:27 +0000)]
Send WebRTC packets received from network process to web process from a background thread
https://bugs.webkit.org/show_bug.cgi?id=213548

Reviewed by Eric Carlson.

Make LibWebRTCSocketClient take a ref to an IPC connection at creation time.
Use this connection from the RTC network thread to send received packets to improve performances.
Covered by existing tests.

* NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:
(WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
(WebKit::LibWebRTCSocketClient::signalReadPacket):
(WebKit::LibWebRTCSocketClient::signalSentPacket):
(WebKit::LibWebRTCSocketClient::signalAddressReady):
(WebKit::LibWebRTCSocketClient::signalConnect):
(WebKit::LibWebRTCSocketClient::signalClose):
* NetworkProcess/webrtc/LibWebRTCSocketClient.h:
* NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::createSocket):
(WebKit::NetworkRTCProvider::createUDPSocket):
(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
(WebKit::NetworkRTCProvider::wrapNewTCPConnection):
* NetworkProcess/webrtc/NetworkRTCProvider.h:

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/css/css-scoping/stylesheet...
commit-queue@webkit.org [Mon, 29 Jun 2020 18:08:58 +0000 (18:08 +0000)]
Remove expectation for imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213736

Unreviewed test gardening.

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

* TestExpectations:

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

6 weeks ago[GTK] Unreviewed test gardening. Garden tests failing on the EWS GTK-WK2 queue.
dpino@igalia.com [Mon, 29 Jun 2020 17:53:12 +0000 (17:53 +0000)]
[GTK] Unreviewed test gardening. Garden tests failing on the EWS GTK-WK2 queue.

* platform/gtk/TestExpectations:

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

6 weeks agoREGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
ryanhaddad@apple.com [Mon, 29 Jun 2020 17:51:26 +0000 (17:51 +0000)]
REGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
https://bugs.webkit.org/show_bug.cgi?id=213729

Unreviewed test gardening.

Add baselines for Mojave.

* platform/mac-mojave/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt: Added.
* platform/mac-mojave/imported/w3c/web-platform-tests/cors/origin-expected.txt: Added.

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/css/css-lists/counter-incremen...
commit-queue@webkit.org [Mon, 29 Jun 2020 17:30:15 +0000 (17:30 +0000)]
Remove expectation for imported/w3c/web-platform-tests/css/css-lists/counter-increment-inside-display-contents.html and imported/w3c/web-platform-tests/css/css-lists/counter-reset-inside-display-contents.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213734

Unreviewed test gardening.

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

* TestExpectations:

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

6 weeks ago[WTF] Add more StringView / ASCIILiteral helper functions and add ICUDeleter
ysuzuki@apple.com [Mon, 29 Jun 2020 17:23:27 +0000 (17:23 +0000)]
[WTF] Add more StringView / ASCIILiteral helper functions and add ICUDeleter
https://bugs.webkit.org/show_bug.cgi?id=209774

Reviewed by Ross Kirsling and Darin Adler.

Add ICUDeleter for cleaner ICU object deletion.
Add ICU::majorVersion and ICU::minorVersion to switch the skeleton string in Intl.NumberFormat.
Add more features for ASCIILiteral.

This patch is part of https://bugs.webkit.org/show_bug.cgi?id=209774. I land it separately from
Intl.NumberFormat change to unlock the further Intl implementations using ICUDeleter.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/text/ASCIILiteral.h:
* wtf/text/StringView.cpp:
(WTF::codePointCompare):
* wtf/text/StringView.h:
(WTF::StringView::StringView):
* wtf/unicode/icu/ICUHelpers.cpp: Copied from Source/WTF/wtf/text/ASCIILiteral.h.
(WTF::ICU::version):
(WTF::ICU::majorVersion):
(WTF::ICU::minorVersion):
* wtf/unicode/icu/ICUHelpers.h:
(WTF::ICUDeleter::operator()):

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/css/css-display/display-conten...
commit-queue@webkit.org [Mon, 29 Jun 2020 17:21:51 +0000 (17:21 +0000)]
Remove expectation for imported/w3c/web-platform-tests/css/css-display/display-contents-button.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213731

Unreviewed test gardening.

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

* TestExpectations:

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

6 weeks agoRemove expectation for imported/w3c/web-platform-tests/cors/preflight-failure.htm...
commit-queue@webkit.org [Mon, 29 Jun 2020 16:37:00 +0000 (16:37 +0000)]
Remove expectation for imported/w3c/web-platform-tests/cors/preflight-failure.htm and imported/w3c/web-platform-tests/cors/status-async.htm as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213730

Unreviewed test gardening.

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

* TestExpectations:

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

6 weeks agoOn load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoa...
cdumez@apple.com [Mon, 29 Jun 2020 16:32:33 +0000 (16:32 +0000)]
On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad()
https://bugs.webkit.org/show_bug.cgi?id=213657

Reviewed by Youenn Fablet.

On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad().
Previously, we were doing it for the main frame in FrameLoader::commitProvisionalLoad() and for subframes in
FrameLoader::open(). Doing it all in one place results in more understandable code and is less error-prone.

Note that calling checkCompleted() for subframes was new in r262221 and is covered by:
fast/history/multiple-back-forward-navigations.html

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::open):

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

6 weeks agoREGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
cdumez@apple.com [Mon, 29 Jun 2020 14:38:16 +0000 (14:38 +0000)]
REGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
https://bugs.webkit.org/show_bug.cgi?id=213729

Unreviewed, rebaseline a couple of cors tests after upstream resync in r263626.

* web-platform-tests/cors/credentials-flag-expected.txt:
* web-platform-tests/cors/origin-expected.txt:

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

6 weeks agorun-javascriptcore-tests: Support Apple Silicon running x86 processes
jbedard@apple.com [Mon, 29 Jun 2020 14:22:05 +0000 (14:22 +0000)]
run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>

Unreviewed infrastructure fix.

* Scripts/webkitdirs.pm:
(architecturesForProducts): Return architecutre(), not determineArchitecture().

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

6 weeks ago[css-flexbox] WebKit mistakenly lets pointer events (click/hover/etc) pass through...
svillar@igalia.com [Mon, 29 Jun 2020 12:15:06 +0000 (12:15 +0000)]
[css-flexbox] WebKit mistakenly lets pointer events (click/hover/etc) pass through flex items, if they have negative margin
https://bugs.webkit.org/show_bug.cgi?id=185771

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-flexbox/hittest-overlapping-margin-expected.txt: Replaced FAIL by PASS expectation.
* web-platform-tests/css/css-flexbox/hittest-overlapping-order-expected.txt: Ditto.

Source/WebCore:

When multiple child elements of a flexbox overlap (for example, due to negative margins), the element drawn in the
foreground may not actually capture the hit if the element underneath it is hit-tested despite being occluded.
This is because painting of flexbox children is done in order modified document order instead of raw document order.

In order to achieve this we should inspect flex items in reverse order modified document order. As the OrderIterator
cannot go backwards, we cache the reverse order of items when doing the layout in order to have fast hit testing in
flexbox containers.

As this behaviour is different to the one implemented in RenderBlock a new virtual method to perform hit testing of children
was extracted from RenderBlock:nodeAtPoint() to a new method called RenderBlock::hitTestChildren. The RenderBlock
implementation is identical to the current one but flexbox containers overwrite it.

Two WPT flexbox hittests are passing now thanks to this patch.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::hitTestChildren): Implementation of the new virtual method extracted from nodeAtPoint.
(WebCore::RenderBlock::nodeAtPoint): Moved code to hit test children to hitTestChildren()
* rendering/RenderBlock.h: Added hitTestChildren new virtual method.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::hitTestChildren): Implemented.
(WebCore::RenderFlexibleBox::layoutFlexItems): Cache the reverse of the order iterator to be used by hit testing.
* rendering/RenderFlexibleBox.h: Added hitTestChildren.

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

6 weeks ago[GStreamer] imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback...
calvaris@igalia.com [Mon, 29 Jun 2020 12:06:44 +0000 (12:06 +0000)]
[GStreamer] imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=213385

Reviewed by Philippe Normand.

Source/WebCore:

Add a way to release the decryption resources when the player
private is destroyed. That way we can release the secure memory
allocated by libgcrypt and allow for more tests to get, which
caused the crash.

Tests: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html.

* platform/encryptedmedia/CDMProxy.h:
(WebCore::CDMProxy::releaseDecryptionResources):
(WebCore::CDMInstanceSessionProxy::releaseDecryptionResources):
(WebCore::CDMInstanceProxy::releaseDecryptionResources):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
* platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:
(WebCore::CDMProxyClearKey::~CDMProxyClearKey):
(WebCore::CDMProxyClearKey::releaseDecryptionResources):
(WebCore::CDMProxyClearKey::closeGCryptHandle):
* platform/graphics/gstreamer/eme/CDMProxyClearKey.h:

LayoutTests:

* platform/glib/TestExpectations: Removed test from expectations.

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

6 weeks ago[webkitpy] PHP7.4 support on Debian platforms
calvaris@igalia.com [Mon, 29 Jun 2020 12:06:01 +0000 (12:06 +0000)]
[webkitpy] PHP7.4 support on Debian platforms
https://bugs.webkit.org/show_bug.cgi?id=213721

Reviewed by Carlos Garcia Campos.

Tools:

* Scripts/webkitpy/port/base.py:
(Port._debian_php_version):

LayoutTests:

* http/conf/debian-httpd-2.4-php7.4.conf: Added.

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

6 weeks ago[MSE][GStreamer] Rename MediaSourceGStreamer to MediaSourcePrivateGStreamer
aboya@igalia.com [Mon, 29 Jun 2020 11:50:21 +0000 (11:50 +0000)]
[MSE][GStreamer] Rename MediaSourceGStreamer to MediaSourcePrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=213722

Reviewed by Xabier Rodriguez-Calvar.

It's about time to remove this FIXME:

// FIXME: Should this be called MediaSourcePrivateGStreamer?

Yes, it should. Because it's a MediaSourcePrivate, and that is an
important fact. The MSE class diagram is confusing enough already,
let's fix this.

To rebase commits after this change use `git format-patch` first to
get them in a patch format and then run:

sed -i 's|\<MediaSourceGStreamer\>|MediaSourcePrivateGStreamer|g' *.patch

This patch is a refactor that produces no behavior changes.

* platform/GStreamer.cmake:
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup):
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
* platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h:
* platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceGStreamer.cpp.
(WebCore::MediaSourcePrivateGStreamer::open):
(WebCore::MediaSourcePrivateGStreamer::MediaSourcePrivateGStreamer):
(WebCore::MediaSourcePrivateGStreamer::~MediaSourcePrivateGStreamer):
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::removeSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::durationChanged):
(WebCore::MediaSourcePrivateGStreamer::markEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::unmarkEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::readyState const):
(WebCore::MediaSourcePrivateGStreamer::setReadyState):
(WebCore::MediaSourcePrivateGStreamer::waitForSeekCompleted):
(WebCore::MediaSourcePrivateGStreamer::seekCompleted):
(WebCore::MediaSourcePrivateGStreamer::sourceBufferPrivateDidChangeActiveState):
(WebCore::MediaSourcePrivateGStreamer::buffered):
(WebCore::MediaSourcePrivateGStreamer::logChannel const):
* platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.h: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceGStreamer.h.
* platform/graphics/gstreamer/mse/PlaybackPipeline.h:
* platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::create):
(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
* platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:

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

6 weeks agoRTCDataChannel.bufferedAmount should stay the same even if channel is closed
youenn@apple.com [Mon, 29 Jun 2020 11:50:04 +0000 (11:50 +0000)]
RTCDataChannel.bufferedAmount should stay the same even if channel is closed
https://bugs.webkit.org/show_bug.cgi?id=213698

Reviewed by Darin Adler.

Source/WebCore:

bufferedAmount was set back to zero when closing.
Instead, we should keep the value in RTCDataChannel and update it either when sending data
or being notified or some data getting sent.

Test: webrtc/datachannel/bufferedAmount-afterClose.html

* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):
* platform/mock/RTCDataChannelHandlerMock.h:

LayoutTests:

* webrtc/datachannel/bufferedAmount-afterClose-expected.txt: Added.
* webrtc/datachannel/bufferedAmount-afterClose.html: Added.

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

6 weeks agochecked overflow in WebCore::findClosestFont
antti@apple.com [Mon, 29 Jun 2020 11:31:10 +0000 (11:31 +0000)]
checked overflow in WebCore::findClosestFont
https://bugs.webkit.org/show_bug.cgi?id=213719
<rdar://47765225>

Reviewed by David Kilzer.

* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::findClosestFont):

If indexOfBestCapabilities doesn't find anything it returns notFound and indexing to the vector overflows.

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

6 weeks agoREGRESSION (r262776): Leak of NSMutableURLRequest in -[WebCoreResourceHandleAsOperati...
ddkilzer@apple.com [Mon, 29 Jun 2020 10:54:34 +0000 (10:54 +0000)]
REGRESSION (r262776): Leak of NSMutableURLRequest in -[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
<https://webkit.org/b/213690>
<rdar://problem/64853619>

Reviewed by Anders Carlsson.

* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
- Use RetainPtr<> for the mutable copy and autorelease the
  return value.

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

6 weeks ago[GTK] Dark mode for GTK themes that end with -Dark
commit-queue@webkit.org [Mon, 29 Jun 2020 10:19:10 +0000 (10:19 +0000)]
[GTK] Dark mode for GTK themes that end with -Dark
https://bugs.webkit.org/show_bug.cgi?id=213465

Patch by Elliot <CheeseEBoi@mailo.com> on 2020-06-29
Reviewed by Carlos Garcia Campos.

WebKitGtk has support for automatic detection of dark mode when it comes to GTK themes with the "-dark" and
":dark" suffixes. However, when using GTK themes that end with "-Dark" or ":Dark", this is not the case. This
affects many themes like "Arc" and "Flat-Remix".

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::effectiveAppearanceIsDark const):
(WebKit::PageClientImpl::themeName const):

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

6 weeks agoMediaRecorder.start() Method is Ignoring the "timeslice" Parameter
youenn@apple.com [Mon, 29 Jun 2020 10:10:01 +0000 (10:10 +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@263651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 weeks agoUnreviewed WPE gardening. Addressing some timeouts and flaky failures.
zandobersek@gmail.com [Mon, 29 Jun 2020 09:50:28 +0000 (09:50 +0000)]
Unreviewed WPE gardening. Addressing some timeouts and flaky failures.

* platform/wpe/TestExpectations:

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

6 weeks agoREGRESSION(r263625): [WPE][GTK] MiniBrowser output no longer includes stderr and...
commit-queue@webkit.org [Mon, 29 Jun 2020 09:38:13 +0000 (09:38 +0000)]
REGRESSION(r263625): [WPE][GTK] MiniBrowser output no longer includes stderr and stdout
https://bugs.webkit.org/show_bug.cgi?id=213696

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-29
Reviewed by Žan Doberšek.

This patch adds a new optional argument to Executive.run_command() to control stdout output.
By default the subprocess.PIPE value is used, to keep backward compatibility. Set the stdout
argument to None to display the output on the terminal tty.

The GTK and WPE run_minibrowser() implementations now use this new argument, along with
setting return_stderr to False to indicate we also want stderr displayed on the terminal
tty.

* Scripts/webkitpy/common/system/abstractexecutive.py:
(AbstractExecutive.run_command):
* Scripts/webkitpy/common/system/executive.py:
(Executive.run_command):
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.run_command):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.run_minibrowser):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser):

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

6 weeks agoREGRESSION(r263625): run-minibrowser --debug/--release options gone
commit-queue@webkit.org [Mon, 29 Jun 2020 09:32:52 +0000 (09:32 +0000)]
REGRESSION(r263625): run-minibrowser --debug/--release options gone
https://bugs.webkit.org/show_bug.cgi?id=213697

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-29
Reviewed by Žan Doberšek.

* Scripts/webkitpy/minibrowser/run_webkit_app.py:
(main): Explicitely skip the --target option. Previous code was also skipping --release and
--debug options because their `dest` is the same as with the --target option.

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

6 weeks agowindow.location.replace with invalid urls should throw
commit-queue@webkit.org [Mon, 29 Jun 2020 08:04:12 +0000 (08:04 +0000)]
window.location.replace with invalid urls should throw
https://bugs.webkit.org/show_bug.cgi?id=153121

Patch by Rob Buis <rbuis@igalia.com> on 2020-06-29
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Add a subtest to verify that location.replace throws SyntaxError if
the resulting url is not valid.

* web-platform-tests/html/browsers/history/the-location-interface/location_replace-expected.txt:
* web-platform-tests/html/browsers/history/the-location-interface/location_replace.html:

Source/WebCore:

Throw SyntaxError if the url resulting from the
location.replace operation is not valid.

Behavior matches Firefox and Chrome.

Tests: imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_replace.html

[1] https://html.spec.whatwg.org/multipage/history.html#dom-location-replace

* page/Location.cpp:
(WebCore::Location::replace):
* page/Location.h:
* page/Location.idl:

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

6 weeks agoAdd a new Web Platform Test in LayoutTest/imported/w3c/web-platform-tests/dom/ranges
commit-queue@webkit.org [Mon, 29 Jun 2020 08:00:26 +0000 (08:00 +0000)]
Add a new Web Platform Test in LayoutTest/imported/w3c/web-platform-tests/dom/ranges
https://bugs.webkit.org/show_bug.cgi?id=213667

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-06-29
Reviewed by Darin Adler.

Adding a Web Platfotm Test to test the handling of Ranges, when range is associated with a parentless node, and this parentless node moves to
new document.

This test has been provided by Darin Adler.

* web-platform-tests/dom/ranges/Range-adopt-test-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-adopt-test.html: Added.

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

6 weeks ago[GTK][WPE] Add webkit_authentication_request_get_security_origin
carlosgc@webkit.org [Mon, 29 Jun 2020 07:39:36 +0000 (07:39 +0000)]
[GTK][WPE] Add webkit_authentication_request_get_security_origin
https://bugs.webkit.org/show_bug.cgi?id=213596

Reviewed by Michael Catanzaro.

Source/WebKit:

Returns the security origin for the authentication protection space.

* UIProcess/API/glib/WebKitAuthenticationRequest.cpp:
(webkit_authentication_request_get_security_origin):
* UIProcess/API/gtk/WebKitAuthenticationRequest.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/wpe/WebKitAuthenticationRequest.h:
* UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Tools:

Update the unit tests to check the new API.

* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationRequest):
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):

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

6 weeks ago[GTK4] Context menu is misaligned
commit-queue@webkit.org [Mon, 29 Jun 2020 07:23:53 +0000 (07:23 +0000)]
[GTK4] Context menu is misaligned
https://bugs.webkit.org/show_bug.cgi?id=213703

Patch by Alexander Mikhaylenko <alexm@gnome.org> on 2020-06-29
Reviewed by Carlos Garcia Campos.

Set halign on the context menu popover to the same value other context menus in GTK use,
like in GtkEntry.

* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::createMenuWidget): Set halign for the context menu to 'start'.

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

6 weeks ago[GTK][WPE] Add baseline for imported/w3c/web-platform-tests/cors/credentials-flag.htm
lmoura@igalia.com [Mon, 29 Jun 2020 03:48:26 +0000 (03:48 +0000)]
[GTK][WPE] Add baseline for imported/w3c/web-platform-tests/cors/credentials-flag.htm

Unreviewed test gardening.

The current baseline seems to be based on the Mojave results, where
the last two test cases fail. Let's add a glib baseline with a Pass
expectation with a link to the bug discussing the main expectation.

The added baseline mirrors the current WebKitGTK results from wpt.fyi,
with the two cookie failures.

* platform/glib/TestExpectations:
* platform/glib/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt: Added.

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

6 weeks ago[GTK][WPE] Merge crypto expectations
lmoura@igalia.com [Mon, 29 Jun 2020 02:15:15 +0000 (02:15 +0000)]
[GTK][WPE] Merge crypto expectations

Unreviwed test gardening.

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

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

6 weeks ago[GTK][WPE] Move WebCryptoAPI expectations to glib
lmoura@igalia.com [Mon, 29 Jun 2020 01:16:32 +0000 (01:16 +0000)]
[GTK][WPE] Move WebCryptoAPI expectations to glib

Unreviewed test gardening.

Some expectations in the glib file were being overriden by the generic
gtk one marking the tests as Slow.

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

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

6 weeks ago[LFC][TFC] Adjust table content vertical position to match vertical-align
zalan@apple.com [Mon, 29 Jun 2020 00:03:24 +0000 (00:03 +0000)]
[LFC][TFC] Adjust table content vertical position to match vertical-align
https://bugs.webkit.org/show_bug.cgi?id=213692

Reviewed by Antti Koivisto.

Source/WebCore:

Child boxes (and runs) are always in the coordinate system of the containing block's border box.
The content box (where the child content lives) is inside the padding box, which is inside the border box.
In order to compute the child box top/left position, we need to know both the padding and the border offsets.

<div style="border: 2px solid green; padding-top: 10px;"><div></div></div>
The inner div's top left position is at [12px, 2px] (let's ignore margin collapsing for now).

Normally by the time we start positioning the child content, we already have computed borders and paddings for the containing block.
This is different with table cells where the final padding offset depends on the content height as we use
the padding box to vertically align the table cell content.

Let's adjust the child boxes and runs to match the new content box position.

Test: fast/layoutformattingcontext/table-cell-vertical-alignment-simple.html

* layout/displaytree/DisplayLineBox.h:
(WebCore::Display::LineBox::moveVertically):
* layout/displaytree/DisplayRun.h:
(WebCore::Display::Run::moveVertically):
* layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):

LayoutTests:

* fast/layoutformattingcontext/table-cell-vertical-alignment-simple-expected.html: Added.
* fast/layoutformattingcontext/table-cell-vertical-alignment-simple.html: Added.

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

6 weeks ago[LFC][Painting] Use the table section as the paint container for table cells
zalan@apple.com [Mon, 29 Jun 2020 00:00:58 +0000 (00:00 +0000)]
[LFC][Painting] Use the table section as the paint container for table cells
https://bugs.webkit.org/show_bug.cgi?id=213693

Reviewed by Antti Koivisto.

The cell's containing block is the table box (skipping both the row and the section),
but it's positioned relative to the table section.

Let's skip the row and go right to the section box when painting the cells.

* layout/displaytree/DisplayPainter.cpp:
(WebCore::Display::absoluteDisplayBox):

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

6 weeks agoImprove error message for primitive callback interfaces
shvaikalesh@gmail.com [Sun, 28 Jun 2020 22:49:40 +0000 (22:49 +0000)]
Improve error message for primitive callback interfaces
https://bugs.webkit.org/show_bug.cgi?id=213684

Reviewed by Darin Adler.

Source/WebCore:

This patch rewords TypeError message for non-object callback interfaces
because apart from function, an object with certain method is also allowed.
New error message matches Chrome and Firefox.

Tests: fast/dom/createNodeIterator-parameters.html
       fast/dom/createTreeWalker-parameters.html

* bindings/js/JSDOMExceptionHandling.cpp:
(WebCore::throwArgumentMustBeObjectError):
* bindings/js/JSDOMExceptionHandling.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GetArgumentExceptionFunction):
* bindings/scripts/test/*: Updated.

LayoutTests:

* fast/dom/createNodeIterator-parameters-expected.txt:
* fast/dom/createNodeIterator-parameters.html:
* fast/dom/createTreeWalker-parameters-expected.txt:
* fast/dom/createTreeWalker-parameters.html:

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

6 weeks agoSetting url.search="??" (two questionmarks) has incorrect behavior
commit-queue@webkit.org [Sun, 28 Jun 2020 21:36:05 +0000 (21:36 +0000)]
Setting url.search="??" (two questionmarks) has incorrect behavior
https://bugs.webkit.org/show_bug.cgi?id=170452

Patch by Rob Buis <rbuis@igalia.com> on 2020-06-28
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved test result.

* web-platform-tests/url/url-setters-expected.txt:

Source/WebCore:

There is no need to strip leading "?" character since
URLParser expects it to be there. This differs from the
specification algorithm [1], which relies on state override,
which URLParser does not support.

Behavior matches Firefox and Chrome.

Test: imported/w3c/web-platform-tests/url/url-setters.html

[1] https://url.spec.whatwg.org/#dom-url-search

* html/URLDecomposition.cpp:
(WebCore::URLDecomposition::setSearch):

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

6 weeks agoFix thread-safety issue in webProcessPoolHighDynamicRangeDidChangeCallback()
cdumez@apple.com [Sun, 28 Jun 2020 21:34:20 +0000 (21:34 +0000)]
Fix thread-safety issue in webProcessPoolHighDynamicRangeDidChangeCallback()
https://bugs.webkit.org/show_bug.cgi?id=213689
<rdar://problem/64443996>

Reviewed by Darin Adler.

webProcessPoolHighDynamicRangeDidChangeCallback() gets called on a background thread so we
need to make sure we dispatch to the main thread before we iterate over the process pools.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::webProcessPoolHighDynamicRangeDidChangeCallback):

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

6 weeks agoRename initializeThreading to initialize
ggaren@apple.com [Sun, 28 Jun 2020 20:55:08 +0000 (20:55 +0000)]
Rename initializeThreading to initialize
https://bugs.webkit.org/show_bug.cgi?id=213674

Reviewed by Mark Lam.

Source/JavaScriptCore:

* API/JSClassRef.cpp:
* API/JSContextRef.cpp:
(JSContextGroupCreate):
(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
* API/JSObjectRef.cpp:
(JSClassCreate):
* API/JSStringRef.cpp:
(JSStringCreateWithCharacters):
(JSStringCreateWithUTF8CString):
(JSStringCreateWithCharactersNoCopy):
* API/JSStringRefCF.cpp:
(JSStringCreateWithCFString):
* API/tests/CompareAndSwapTest.cpp:
(testCompareAndSwap):
* API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit):
* API/tests/FunctionOverridesTest.cpp:
(testFunctionOverrides):
* API/tests/MultithreadedMultiVMExecutionTest.cpp:
(startMultithreadedMultiVMExecutionTest):
* API/tests/PingPongStackOverflowTest.cpp:
(testPingPongStackOverflow):
* JavaScriptCore.order:
* assembler/testmasm.cpp:
(JSC::run):
* b3/air/testair.cpp:
(main):
* b3/testb3_1.cpp:
(main):
* dfg/testdfg.cpp:
(main):
* dynbench.cpp:
(main):
* inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::singleton):
* jsc.cpp:
(main):
(jscmain):
* runtime/InitializeThreading.cpp:
(JSC::initialize):
(JSC::initializeThreading): Deleted.
* runtime/InitializeThreading.h:
* runtime/JSCConfig.h:
* shell/playstation/TestShell.cpp:
(setupTestRun):
* testRegExp.cpp:
(main):

Source/WebCore:

* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabase):
* WebCore.order:
* bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initializeMainThread):
(WebCore::ScriptController::initializeThreading): Deleted.
* bindings/js/ScriptController.h:
* bridge/objc/WebScriptObject.mm:
(+[WebScriptObject initialize]):
* platform/cocoa/SharedBufferCocoa.mm:
(+[WebCoreSharedBufferData initialize]):
* platform/ios/wak/WebCoreThread.mm:
(RunWebThread):

Source/WebKit:

* Shared/API/c/WKString.cpp:
(WKStringCopyJSString):
* Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
* 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:
* Misc/WebStringTruncator.mm:
(+[WebStringTruncator initialize]):
* 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:

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

Source/WTF:

Reasons:

(1) You need to call it even if you don't use threads.

(2) It initializes things unrelated to threads (like the PRNG).

(3) People seem to get confused about the relationship between
initializeThreading() and initializeMainThread(), and sometimes think
initializeThreading() is a superset. The opposite is true! I think the
confusion may come from "threading" being read as "all threading".

Some filenames still use the legacy name. We can fix that in post.

* benchmarks/ConditionSpeedTest.cpp:
(main):
* benchmarks/HashSetDFGReplay.cpp:
(main):
* benchmarks/LockFairnessTest.cpp:
(main):
* benchmarks/LockSpeedTest.cpp:
(main):
* wtf/MainThread.cpp:
(WTF::initializeMainThread):
* wtf/Threading.cpp:
(WTF::Thread::create):
(WTF::initialize):
(WTF::initializeThreading): Deleted.
* wtf/Threading.h:
(WTF::Thread::current):

Tools:

* 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/StringUtilities.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

6 weeks ago[iOS] Clean up visible position comparisons in WebPage::requestDocumentEditingContext()
dbates@webkit.org [Sun, 28 Jun 2020 19:16:05 +0000 (19:16 +0000)]
[iOS] Clean up visible position comparisons in WebPage::requestDocumentEditingContext()
https://bugs.webkit.org/show_bug.cgi?id=213701

Reviewed by Geoffrey Garen.

Use std::min and std::max when the result needs to be copied instead of doing the comparison
by hand to make the code a tiny bit more clear. Also, don't copy a VisiblePosition when doing
the min/max in-place. Both of these things are unlikely to effect code generation. If they do,
the latter makes things a tiny bit more efficient.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext):

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

6 weeks agoMediaRecorder stopRecorder() returns empty Blob after first use
youenn@apple.com [Sun, 28 Jun 2020 15:11:59 +0000 (15:11 +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/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::fetchData):
* 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@263633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 weeks agoUnreviewed GTK/WPE Debug build fix after r263589.
philn@webkit.org [Sun, 28 Jun 2020 11:49:47 +0000 (11:49 +0000)]
Unreviewed GTK/WPE Debug build fix after r263589.

* Platform/Logging.h: Define a log category for Memory Pressure.

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

6 weeks ago[LFC][IFC] Replaced inline boxes sit on the baseline with their margins
zalan@apple.com [Sun, 28 Jun 2020 05:26:28 +0000 (05:26 +0000)]
[LFC][IFC] Replaced inline boxes sit on the baseline with their margins
https://bugs.webkit.org/show_bug.cgi?id=213679

Reviewed by Antti Koivisto.

Source/WebCore:

Take the margin box into account when computing the top position of a baseline aligned replaced inline box.

Test: fast/layoutformattingcontext/replaced-box-with-margin-on-baseline.html

* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignContentVertically):

LayoutTests:

* fast/layoutformattingcontext/replaced-box-with-margin-on-baseline-expected.html: Added.
* fast/layoutformattingcontext/replaced-box-with-margin-on-baseline.html: Added.

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

6 weeks agoRevert r262654 because it caused <rdar://problem/64664156>.
dbates@webkit.org [Sat, 27 Jun 2020 22:59:30 +0000 (22:59 +0000)]
Revert r262654 because it caused <rdar://problem/64664156>.
Moreover it is no longer necessary as the embedding client
changes selection through a different SPI after focusing.

Source/WebKit:

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView _focusTextInputContext:placeCaretAt:completionHandler:]):

Tools:

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

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

6 weeks agocompare-results should be able to parse multiple JSONs at once by merging them
keith_miller@apple.com [Sat, 27 Jun 2020 22:18:41 +0000 (22:18 +0000)]
compare-results should be able to parse multiple JSONs at once by merging them
https://bugs.webkit.org/show_bug.cgi?id=213685

Reviewed by Saam Barati.

This patch improves the compare-results script to enable it to
merge JSON output files. This is handy when running scripts by
hand where you'll get many a and b JSONs.  To do the merging this
patch moves the logic of merge-result-jsons into a shared library.

compare-results can take multiple files sequentally or by passing
the '-a'/'-b' flags multiple times. e.g. `/compare-results -a
OG-1.json -a OG-2.json -a OG-3.json -a OG-4.json -b MC-1.json
MC-2.json MC-3.json MC-4.json` will behave as you'd expect;
combining all the OG JSONs and the MC JSONs before computing the
result.

Lastly, the benchmark_results script now can handle duplicates of
an aggregator in the aggregator list. This is useful because
otherwise the logic of merging JSONs is significantly more
complicated.

* Scripts/compare-results:
(getOptions):
(main):
* Scripts/merge-result-jsons:
(readJSONFile):
(deepAppend): Deleted.
(mergeJSONs): Deleted.
* Scripts/webkitpy/benchmark_runner/benchmark_json_merge.py: Copied from Tools/Scripts/merge-result-jsons.
(deepAppend):
(mergeJSONs):
* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults._aggregate_results_for_test):
(BenchmarkResults._lint_subtest_results):
* Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:

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

6 weeks agoFix missing exception check in createIDBKeyFromValue().
mark.lam@apple.com [Sat, 27 Jun 2020 22:14:05 +0000 (22:14 +0000)]
Fix missing exception check in createIDBKeyFromValue().
https://bugs.webkit.org/show_bug.cgi?id=213681
<rdar://problem/64804893>

Reviewed by Chris Dumez.

Source/WebCore:

Test: storage/indexeddb/missing-exception-check-in-IDBKey.html

Also fixed up miscellaneous other exception check related code to enable the
new test to run with exception check validation.

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/js/JSDOMBindingSecurity.cpp:
(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::updateDocument):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::defineOwnProperty):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initScriptForWindowProxy):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttrGetter):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionOverloadedMethodOverloadDispatcher):
* bridge/objc/WebScriptObject.mm:
(-[WebScriptObject _isSafeScript]):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):

LayoutTests:

* storage/indexeddb/missing-exception-check-in-IDBKey-expected.txt: Added.
* storage/indexeddb/missing-exception-check-in-IDBKey.html: Added.

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

6 weeks agoiOS Safari incorrectly reports "AppleCoreMedia" as UA string
jer.noble@apple.com [Sat, 27 Jun 2020 19:31:17 +0000 (19:31 +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@263627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 weeks agoUpdate web-platform-tests/cors from upstream
cdumez@apple.com [Sat, 27 Jun 2020 17:36:43 +0000 (17:36 +0000)]
Update web-platform-tests/cors from upstream
https://bugs.webkit.org/show_bug.cgi?id=213668

Reviewed by Sam Weinig.

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

LayoutTests/imported/w3c:

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

LayoutTests:

* tests-options.json:

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

6 weeks agoMigrate run-minibrowser to webkitpy
commit-queue@webkit.org [Sat, 27 Jun 2020 17:00:49 +0000 (17:00 +0000)]
Migrate run-minibrowser to webkitpy
https://bugs.webkit.org/show_bug.cgi?id=213431

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-27
Reviewed by Jonathan Bedard.

The perl version was renamed to old-run-minibrowser and remains used by the Mac ports.
run-minibrowser is now a Python script hooking into webkitpy and the Port infrastructure.
Both WPE and GTK ports will now use the pure python implementation.

* Scripts/old-run-minibrowser: Copied from Tools/Scripts/run-minibrowser.
* Scripts/run-minibrowser:
* Scripts/webkitpy/minibrowser/run_minibrowser.py: Added.
(main):
(parse_args):
* Scripts/webkitpy/port/base.py:
(Port.run_minibrowser_arguments):
(Port):
(Port.run_minibrowser):
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.environment_for_api_tests):
(DarwinPort):
(DarwinPort.run_minibrowser_arguments):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.show_results_html_file):
(GtkPort.configuration_for_upload):
(GtkPort):
(GtkPort.run_minibrowser):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.show_results_html_file):
(WPEPort.configuration_for_upload):
(WPEPort):
(WPEPort.run_minibrowser):

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

6 weeks agoRequire <form> to be connected
commit-queue@webkit.org [Sat, 27 Jun 2020 16:44:03 +0000 (16:44 +0000)]
Require <form> to be connected
https://bugs.webkit.org/show_bug.cgi?id=177356

Patch by Rob Buis <rbuis@igalia.com> on 2020-06-27
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Update improved test result.

* web-platform-tests/html/semantics/forms/form-submission-0/submission-checks.window-expected.txt:

Source/WebCore:

Implement step 1 of [1], i.e. do not submit form if it
is not connected.

Test: imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/submission-checks.html

[1] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#concept-form-submit

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit):

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

6 weeks agoLog capture device information in case of getUserMedia failing to select a device
youenn@apple.com [Sat, 27 Jun 2020 16:20:26 +0000 (16:20 +0000)]
Log capture device information in case of getUserMedia failing to select a device
https://bugs.webkit.org/show_bug.cgi?id=213643

Reviewed by Eric Carlson.

Log constraints and device in case of a failing getUserMedia call.
No obserable change, logging addition.

* platform/mediastream/mac/CoreAudioCaptureDevice.cpp:
(WebCore::getDeviceInfo):
(WebCore::CoreAudioCaptureDevice::deviceClock):
* platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
(WebCore::isValidCaptureDevice):
* platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::log const):
(WebCore::BooleanConstraint::logAsBoolean const):
(WebCore::DoubleConstraint::logAsDouble const):
(WebCore::IntConstraint::logAsInt const):
* platform/mediastream/MediaConstraints.h:
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::supportsSizeAndFrameRate):
(WebCore::RealtimeMediaSource::selectSettings):
* platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::validateRequestConstraints):
* platform/mediastream/RealtimeVideoCaptureSource.cpp:
(WebCore::RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate):
* platform/mediastream/VideoPreset.h:
(WebCore::VideoPreset::log const):

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

6 weeks agoProtect SWServer::claim from a registration without active worker
youenn@apple.com [Sat, 27 Jun 2020 16:13:56 +0000 (16:13 +0000)]
Protect SWServer::claim from a registration without active worker
https://bugs.webkit.org/show_bug.cgi?id=213597

Reviewed by Chris Dumez.

SWServerWorker might be active while being terminated.
If terminated as part of SWServerRegistration::clear, the registration no longer has a service worker.
SWServer::claim should therefore check for registration active worker.
This is difficult to test as one needs to claim at the time the service worker is being terminated but not yet terminated.

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

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

6 weeks agoUpdate web-platform-tests/common from upstream
cdumez@apple.com [Sat, 27 Jun 2020 16:08:59 +0000 (16:08 +0000)]
Update web-platform-tests/common from upstream
https://bugs.webkit.org/show_bug.cgi?id=213665

Reviewed by Sam Weinig.

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

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

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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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