Timeline



May 4, 2022:

11:38 PM Changeset in webkit [293823] by commit-queue@webkit.org
  • 11 edits in trunk/Source

SharedMemory::systemPageSize is redundant function
https://bugs.webkit.org/show_bug.cgi?id=240057

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-04
Reviewed by Antti Koivisto.

Source/WebKit:

Remove SharedMemory::systemPageSize().
Use WTF::pageSize() from PageBlock.h.

  • Platform/SharedMemory.h:
  • Platform/cocoa/SharedMemoryCocoa.cpp:
  • Platform/unix/SharedMemoryUnix.cpp:
  • Platform/win/SharedMemoryWin.cpp:
  • Shared/SharedStringHashStore.cpp:

(WebKit::tableSizeForKeyCount):

  • UIProcess/linux/MemoryPressureMonitor.cpp:

(WebKit::calculateMemoryAvailable):

  • mac/WebKit2.order:

Source/WTF:

  • wtf/PageBlock.cpp:

(WTF::systemPageSize):
Remove pointless static variable from OS(WINDOWS) variant.

  • wtf/linux/CurrentProcessMemoryStatus.cpp:

(WTF::currentProcessMemoryStatus):
Remove another redundant implementation.

11:36 PM Changeset in webkit [293822] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Empty remote backing store collection prepare starts up GPU process
https://bugs.webkit.org/show_bug.cgi?id=240067

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-04
Reviewed by Simon Fraser.

Avoid starting up GPU process by using an early return if
prepareBuffersForDisplay input array is empty.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::prepareBuffersForDisplay):

10:48 PM Changeset in webkit [293821] by Chris Dumez
  • 11 edits in trunk/Source

Optimize some convertToASCIIUppercase() call sites
https://bugs.webkit.org/show_bug.cgi?id=240095

Reviewed by Darin Adler.

Optimize some convertToASCIIUppercase() call sites. Also rename lowercase(StringView)
/ uppercase(StringView) to asASCIILowercase(StringView) / asASCIIUppercase(StringView)
for clarity, given that they only work with ASCII case.

  • Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::handleForWebPageProxy):
(WebKit::WebAutomationSession::handleForWebFrameID):

  • Source/WTF/wtf/text/StringConcatenate.h:

(WTF::asASCIILowercase):
(WTF::asASCIIUppercase):
(WTF::lowercase): Deleted.
(WTF::uppercase): Deleted.

  • Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:

(WebCore::hostName):

  • Source/WebCore/css/ContainerQueryParser.cpp:

(WebCore::consumeFeatureName):

  • Source/WebCore/css/MediaQueryExpression.cpp:

(WebCore::MediaQueryExpression::serialize const):

  • Source/WebCore/css/parser/CSSParserSelector.cpp:

(WebCore::CSSParserSelector::parsePseudoElementSelector):
(WebCore::CSSParserSelector::parsePseudoClassSelector):

  • Source/WebCore/dom/TextDecoder.cpp:

(WebCore::TextDecoder::encoding const):

  • Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::languageIdentifier):

  • Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp:

(WebCore::extractLocaleFromDictionaryFileName):
(WebCore::canHyphenate):
(WebCore::lastHyphenLocation):

  • Source/WebCore/xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::getAllResponseHeaders const):

Canonical link: https://commits.webkit.org/250294@main

9:56 PM Changeset in webkit [293820] by Devin Rousso
  • 6 edits
    2 adds in trunk

[Apple Pay] REGRESSION(r291588): appearance: -apple-pay-button doesn't work with border-width: 0
https://bugs.webkit.org/show_bug.cgi?id=240087
<rdar://problem/92559095>

Reviewed by Kate Cheney.

Source/WebCore:

As of r291588, all appearance values now correspond to a specific element (or form control)
with the exception of -apple-pay-button, which can be applied to any element. Add logic to
specifically allow for this behavior.

Test: fast/css/appearance-apple-pay-button-border-width.html

  • rendering/RenderTheme.cpp:

(WebCore::isAppearanceAllowedForAllElements): Added.
(WebCore::RenderTheme::adjustStyle):

LayoutTests:

  • fast/css/appearance-apple-pay-button-border-width.html: Added.
  • fast/css/appearance-apple-pay-button-border-width-expected-mismatch.html: Added.
  • TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
9:45 PM Changeset in webkit [293819] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Crash in WindowProxy::setDOMWindow
https://bugs.webkit.org/show_bug.cgi?id=232763

Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-04
Reviewed by Chris Dumez.

Source/WebCore:

Add a few null checks here and there.

Test: fast/dom/set-dom-window-without-page.html

  • bindings/js/WindowProxy.cpp:

(WebCore::WindowProxy::setDOMWindow):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::findFrameForNavigation):

LayoutTests:

  • fast/dom/set-dom-window-without-page-expected.txt: Added.
  • fast/dom/set-dom-window-without-page.html: Added.
9:23 PM Changeset in webkit [293818] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r293716): macCatalyst WebKit build fails; overlapping content at /System/Library/FeatureFlags/Domain/WebKit.plist
https://bugs.webkit.org/show_bug.cgi?id=240099
<rdar://92751323>

Reviewed by Chris Dumez.

  • WebKit.xcodeproj/project.pbxproj:

Avoid copying the feature flags plist for macCatalyst, since it installs into the same place as macOS.

8:42 PM Changeset in webkit [293817] by Chris Dumez
  • 2 edits in trunk/Source

Annotate more String member functions with WARN_UNUSED_RETURN
https://bugs.webkit.org/show_bug.cgi?id=240078

Reviewed by Darin Adler.

  • Source/WTF/wtf/text/WTFString.h:

Canonical link: https://commits.webkit.org/250290@main

8:22 PM Changeset in webkit [293816] by Chris Dumez
  • 136 edits in trunk/Source

Mark the AtomString(const String&) constructor as explicit
https://bugs.webkit.org/show_bug.cgi?id=239950

Reviewed by Darin Adler.

Mark the AtomString(const String&) constructor as explicit to help identify
inefficient patterns in our code base.

  • Source/WebKit/GPUProcess/media/RemoteMediaDescription.h:

(WebKit::MediaDescriptionInfo::decode):

  • Source/WebKit/Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<AtomString>::decode):

  • Source/WebKit/Shared/SessionState.h:
  • Source/WebKit/Shared/WebFoundTextRange.h:
  • Source/WebKit/Shared/WebUserContentControllerDataTypes.cpp:

(WebKit::WebScriptMessageHandlerData::decode):

  • Source/WebKit/Shared/WebUserContentControllerDataTypes.h:
  • Source/WebKit/UIProcess/Downloads/DownloadProxy.messages.in:
  • Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.cpp:

(WebKit::WebScriptMessageHandler::create):
(WebKit::WebScriptMessageHandler::WebScriptMessageHandler):

  • Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.h:

(WebKit::WebScriptMessageHandler::name const):

  • Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:

(WebKit::WebAutomationSessionProxy::resolveChildFrameWithName):

  • Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameSetAccessibleName):

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::initialize):
(WebKit::PDFPlugin::clickedLink):

  • Source/WebKit/WebProcess/Plugins/PluginController.h:
  • Source/WebKit/WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::URLRequest::target const):
(WebKit::PluginView::loadURL):

  • Source/WebKit/WebProcess/Plugins/PluginView.h:
  • Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserMessageHandlerDescriptorProxy::create):
(WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy):
(WebKit::WebUserContentController::addUserScriptMessageHandlerInternal):

  • Source/WebKit/WebProcess/UserContent/WebUserContentController.h:
  • Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createFrame):

  • Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp:

(WebKit::WebFoundTextRangeController::findTextRangesForStringMatches):
(WebKit::WebFoundTextRangeController::documentForFoundTextRange const):

  • Source/WebKit/WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::initWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):
(WebKit::WebFrame::setAccessibleName):

  • Source/WebKit/WebProcess/WebPage/WebFrame.h:
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPage::insertAttachment):
(WebKit::WebPage::updateAttachmentAttributes):

  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeAudioSource.cpp:

(WebKit::RemoteRealtimeAudioSource::create):
(WebKit::RemoteRealtimeAudioSource::RemoteRealtimeAudioSource):

  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeAudioSource.h:
  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp:

(WebKit::RemoteRealtimeMediaSource::RemoteRealtimeMediaSource):
(WebKit::RemoteRealtimeMediaSource::createRemoteMediaSource):

  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h:
  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:

(WebKit::RemoteRealtimeVideoSource::RemoteRealtimeVideoSource):
(WebKit::RemoteRealtimeVideoSource::clone):

  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.h:
  • Source/WebKitLegacy/mac/Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]):

  • Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h:
  • Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createFrame):

  • Source/WebKitLegacy/mac/WebView/WebFrame.mm:

(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
(+[WebFrame _createSubframeWithOwnerElement:frameName:frameView:]):
(-[WebFrame setAccessibleName:]):

  • Source/WebKitLegacy/mac/WebView/WebFrameInternal.h:
  • Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::createFrame):

  • Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h:
  • Source/WTF/wtf/text/AtomString.h:
  • Source/WebCore/loader/EmptyClients.cpp:

(WebCore::EmptyFrameLoaderClient::createFrame):

  • Source/WebCore/loader/EmptyFrameLoaderClient.h:
  • Source/WebCore/loader/FrameLoaderClient.h:
  • Source/WebCore/loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::loadSubframe):

  • Source/WebCore/loader/SubframeLoader.h:

Canonical link: https://commits.webkit.org/250289@main

7:47 PM Changeset in webkit [293815] by Simon Fraser
  • 3 edits in trunk/Source/WebKit

Fix crash in RemoteRenderingBackendProxy::prepareBuffersForDisplay()
https://bugs.webkit.org/show_bug.cgi?id=240089
<rdar://91444900>

Reviewed by Tim Horton.

We keep WebContent processes alive after a GPU Process crash, so having a RELEASE_ASSERT
when IPC with the GPU Process fails is the wrong approach. Instead, just behave as if all
the returned buffers are null, and need full display.

In testing, I saw a single instance of a crash in RemoteLayerBackingStore::drawInContext(),
probably because m_backBuffer.imageBuffer was null.
SwapBuffersDisplayRequirement::NeedsFullDisplay should mean that we don't hit this, but
null-check the back buffer just in case.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::prepareBuffersForDisplay):

7:37 PM Changeset in webkit [293814] by Simon Fraser
  • 7 edits in trunk

Improve logging of display list items in IPC messages
https://bugs.webkit.org/show_bug.cgi?id=240053

Reviewed by Cameron McCormack.

Source/WebCore:

In order for IPC arguments to show up in IPCMessages logging, the stream operators
for display list items have to be visible to WebKit2 code. So export them all from
WebCore, but only if !LOG_DISABLED, to avoid code bloat.

  • platform/graphics/Font.cpp:

(WebCore::operator<<):

  • platform/graphics/Font.h:
  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::FillPath::apply const):
(WebCore::DisplayList::operator<<):

  • platform/graphics/displaylists/DisplayListItems.h:

LayoutTests:

Now that display list logging is debug only, these tests will only work in debug builds.

  • platform/mac/TestExpectations:
7:21 PM Changeset in webkit [293813] by ysuzuki@apple.com
  • 4 edits in trunk

[JSC] Intl.NumberFormat lacks some validation for rounding-increment
https://bugs.webkit.org/show_bug.cgi?id=240102

Reviewed by Ross Kirsling.

This patch adds some validations added in Intl.NumberFormat v3[1].
Important thing is one is TypeError and one is RangeError.
Both are tested in test262.

[1]: https://tc39.es/proposal-intl-numberformat-v3/out/numberformat/proposed.html#sec-initializenumberformat

  • JSTests/test262/expectations.yaml:
  • Source/JavaScriptCore/runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):

Canonical link: https://commits.webkit.org/250286@main

6:53 PM Changeset in webkit [293812] by Aditya Keerthi
  • 5 edits
    2 adds in trunk

Indeterminate, checked checkboxes do not render correctly on iOS, GTK, and Windows
https://bugs.webkit.org/show_bug.cgi?id=240015
rdar://92645056

Reviewed by Cameron McCormack.

Source/WebCore:

Checkboxes can have the indeterminate and checked attributes set to
true at the same time. In this scenario, an indeterminate appearance
should be rendered. Reorder logic to ensure that the indeterminate
attribute has precedence when deciding what to draw. This approach
aligns with the macOS logic in ThemeMac.

Test: fast/forms/checkbox-checked-indeterminate.html

  • platform/adwaita/ThemeAdwaita.cpp:

(WebCore::ThemeAdwaita::paintCheckbox):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintCheckbox):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::determineState):

LayoutTests:

Added a reference test to to verify that indeterminate, checked
checkboxes have the same appearance as indeterminate checkboxes.

  • fast/forms/checkbox-checked-indeterminate-expected.html: Added.
  • fast/forms/checkbox-checked-indeterminate.html: Added.
6:34 PM Changeset in webkit [293811] by Ross Kirsling
  • 4 edits in trunk

Temporal.Duration constructor should throw on non-integers
https://bugs.webkit.org/show_bug.cgi?id=240094

Reviewed by Yusuke Suzuki.

Belated implementation for https://github.com/tc39/proposal-temporal/pull/1872 --
this patch makes new Temporal.Duration(1.1) throw just as Temporal.Duration.from({ years: 1.1 }) does.

  • test262/expectations.yaml:

Mark two test cases as passing.

  • runtime/TemporalDurationConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

Canonical link: https://commits.webkit.org/250284@main

6:14 PM Changeset in webkit [293810] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/text/international/system-language/navigator-language/navigator-language-fr.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240104

Unreviewed test gardening.

Canonical link: https://commits.webkit.org/250283@main

6:01 PM Changeset in webkit [293809] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS] ScreenCaptureKitCaptureSource should stop content sharing session when capture ends
https://bugs.webkit.org/show_bug.cgi?id=240086
rdar://91008087

Reviewed by Jer Noble.

Tested manually.

  • platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:

(WebCore::ScreenCaptureKitCaptureSource::~ScreenCaptureKitCaptureSource): Call
-[SCContentSharingSession end].
(WebCore::ScreenCaptureKitCaptureSource::sessionDidEnd): Ditto.

5:51 PM Changeset in webkit [293808] by ysuzuki@apple.com
  • 4 edits
    1 add in trunk

[JSC] Temporal.Instant since/until should not accept year / month / day / week units
https://bugs.webkit.org/show_bug.cgi?id=240097

Reviewed by Ross Kirsling.

Temporal.Instant.{since,until} should not accept year / month / day / week units as smallestUnit / largestUnit
according to the spec [1,2]. But we missed that and crashing with the attached test. This patch fixes it.

[1]: https://tc39.es/proposal-temporal/#sec-temporal.instant.prototype.until
[2]: https://tc39.es/proposal-temporal/#sec-temporal.instant.prototype.since

  • JSTests/stress/temporal-instant-since-and-until-with-year-month-week-day.js: Added.

(shouldThrow):
(let.smallestUnit.of.units.shouldThrow):
(let.largestUnit.of.units.shouldThrow):

  • Source/JavaScriptCore/runtime/TemporalInstant.cpp:

Canonical link: https://commits.webkit.org/250281@main

5:44 PM Changeset in webkit [293807] by Chris Dumez
  • 1 edit in trunk/Source/WTF/wtf/text/StringView.cpp

Optimize / simplify slow case in StringView::convertASCIILowercaseAtom() https://bugs.webkit.org/show_bug.cgi?id=240082

Reviewed by Darin Adler.

Optimize / simplify slow case in StringView::convertASCIILowercaseAtom() where the input string
is not already lowercase. We now call makeAtomString(lowercase(input)) which simplifies the
code a lot and is actually more efficient because makeAtomString() has an optimization that
avoids a StringImpl allocation when the string is relatively small (< 64 characters) and is
already part of the AtomStringTable already.

I validated the implementation by running it in a loop with the String "BODY" and got a
~35% speedup.

  • Source/WTF/wtf/text/StringView.cpp:

(WTF::convertASCIILowercaseAtom):

Canonical link: https://commits.webkit.org/250280@main

5:20 PM Changeset in webkit [293806] by Jonathan Bedard
  • 1 edit in trunk/metadata/contributors.json

Add myself (Youssef Soliman) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240084

Reviewed by Jer Noble.

  • metadata/contributors.json:

Canonical link: https://commits.webkit.org/250279@main

5:11 PM Changeset in webkit [293805] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp

Unreviewed build fix. rdar://problem/91446377

./layout/formattingContexts/inline/InlineLineBuilder.cpp:933:33: error: use of undeclared identifier 'isFirstLine'

5:02 PM Changeset in webkit [293804] by Chris Dumez
  • 12 edits
    1 add in trunk/Source

Crash under WebCore: WebCore::CachedResourceClientWalker<WebCore::CachedImageClient>::next()
https://bugs.webkit.org/show_bug.cgi?id=240072
<rdar://92717726>

Reviewed by Geoff Garen.

Have CachedResource and CachedResourceClientWalker hold the clients via WeakPtrs instead of
raw pointers and null check them before usage. This is a lot safer.

  • Source/WTF/WTF.xcodeproj/project.pbxproj:
  • Source/WTF/wtf/WeakHashCountedSet.h: Added.

(WTF::WeakHashCountedSet::begin):
(WTF::WeakHashCountedSet::end):
(WTF::WeakHashCountedSet::begin const):
(WTF::WeakHashCountedSet::end const):
(WTF::WeakHashCountedSet::find):
(WTF::WeakHashCountedSet::find const):
(WTF::WeakHashCountedSet::contains const):
(WTF::WeakHashCountedSet::computeSize const):
(WTF::WeakHashCountedSet::clear):
(WTF::Counter>::add):
(WTF::Counter>::remove):

  • Source/WebCore/html/HTMLLinkElement.h:
  • Source/WebCore/loader/DocumentThreadableLoader.h:
  • Source/WebCore/loader/ImageLoader.h:
  • Source/WebCore/loader/LinkLoader.h:
  • Source/WebCore/loader/cache/CachedImage.cpp:

(WebCore::CachedImage::addClientWaitingForAsyncDecoding):

  • Source/WebCore/loader/cache/CachedResource.cpp:

(WebCore::CachedResource::didAddClient):
(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::switchClientsToRevalidatedResource):

  • Source/WebCore/loader/cache/CachedResource.h:

(WebCore::CachedResource::hasClients const):
(WebCore::CachedResource::hasClient):
(WebCore::CachedResource::numberOfClients const):

  • Source/WebCore/loader/cache/CachedResourceClient.h:
  • Source/WebCore/loader/cache/CachedResourceClientWalker.h:

(WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
(WebCore::CachedResourceClientWalker::next):

  • Source/WebCore/rendering/RenderObject.h:

Canonical link: https://commits.webkit.org/250278@main

4:51 PM Changeset in webkit [293803] by Chris Dumez
  • 3 edits in trunk

WebKit should only reload WebViews automatically on crash if the view is visible
https://bugs.webkit.org/show_bug.cgi?id=240079
<rdar://92442052>

Reviewed by Geoffrey Garen and Darin Adler.

If the client app doesn't override WKNavigationDelegate.webViewWebContentProcessDidTerminate,
WebKit would previously reload the web view automatically. However, for some apps with a lot
of non-visible WebViews, this could cause a lot of churn when coming back to the foreground,
after many of these WebContent processes were jetsammed in the background.

To address this, WebKit now delays the automatic web view reload until the view becomes
visible (still reloads right away when the view is visible when the crash occurs).

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:

(TEST):

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::launchProcess):
(WebKit::WebPageProxy::activityStateDidChange):
(WebKit::WebPageProxy::viewIsBecomingVisible):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):

  • Source/WebKit/UIProcess/WebPageProxy.h:

Canonical link: https://commits.webkit.org/250277@main

4:27 PM Changeset in webkit [293802] by Chris Dumez
  • 2 edits in trunk/Tools

REGRESSION(r293703):[ BigSur+ iOS ] TestWTF.WTF_URLExtras.URLExtras_ParsingError (API-Test) is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=240049
<rdar://problem/92704160>

Unreviewed follow-up to r293761 because I dropped an item the std::array but failed to update its size.

  • TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:

(TestWebKitAPI::TEST):

4:25 PM Changeset in webkit [293801] by Karl Rackler
  • 1 edit in trunk/LayoutTests/ChangeLog

[Gardening]REGRESSION(r293038):[ iOS ] fast/forms/auto-fill-button/input-auto-fill-button.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240065

Unreviewed test gardening.

Canonical link: https://commits.webkit.org/250275@main

4:17 PM Changeset in webkit [293800] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed revert
This reverts commit 250254@main because test is no longer failing after rebaseline
https://bugs.webkit.org/show_bug.cgi?id=240065

Canonical link: https://commits.webkit.org/250273@main

4:17 PM Changeset in webkit [293799] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Use decontaminate in StructureID::decode
https://bugs.webkit.org/show_bug.cgi?id=240088

Reviewed by Saam Barati and Mark Lam.

We have a bug that ENABLE(STRUCTURE_ID_WITH_SHIFT) and CPU(ADDRESS32) version of StructureID::decode
does not have decontaminate() call. It is wrong since these ID can be decoded concurrently. This patch fixes it.

  • Source/JavaScriptCore/runtime/StructureID.h:

(JSC::StructureID::decode const):

Canonical link: https://commits.webkit.org/250273@main

4:14 PM Changeset in webkit [293798] by Robert Jenner
  • 2 edits in trunk/Tools

[ Gardening ] REGRESSION(r293671): [ iOS ] 2 TestWebKitAPI.MediaLoading.RangeRequestSynthesis (API-Tests) are constant failures
https://bugs.webkit.org/show_bug.cgi?id=240033

Unreviewed test gardening. Disabling API-tests on iOS.

  • TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:

(TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/250272@main

4:10 PM Changeset in webkit [293797] by keith_miller@apple.com
  • 306 edits
    6 copies
    2 moves
    1018 adds
    60 deletes in trunk/JSTests

May 2022 test262 update
https://bugs.webkit.org/show_bug.cgi?id=240076

Reviewed by Yusuke Suzuki.

  • test262/harness/propertyHelper.js:
  • test262/harness/regExpUtils.js:

(testPropertyEscapes):

  • test262/harness/temporalHelpers.js:

(TemporalHelpers.assertPlainYearMonth):
(TemporalHelpers.calendarFromFieldsUndefinedOptions.CalendarFromFieldsUndefinedOptions):
(TemporalHelpers.calendarFromFieldsUndefinedOptions.CalendarFromFieldsUndefinedOptions.prototype.toString):
(TemporalHelpers.calendarFromFieldsUndefinedOptions.CalendarFromFieldsUndefinedOptions.prototype.dateFromFields):
(TemporalHelpers.calendarFromFieldsUndefinedOptions.CalendarFromFieldsUndefinedOptions.prototype.yearMonthFromFields):
(TemporalHelpers.calendarFromFieldsUndefinedOptions.CalendarFromFieldsUndefinedOptions.prototype.monthDayFromFields):
(TemporalHelpers.OneShiftTimeZone.prototype.getPossibleInstantsFor):
(TemporalHelpers.checkFractionalSecondDigitsOptionWrongType): Deleted.

  • test262/latest-changes-summary.txt:
  • test262/test/built-ins/Array/prototype/Symbol.unscopables/array-find-from-last.js: Added.
  • test262/test/built-ins/Array/prototype/Symbol.unscopables/array-grouping.js: Added.
  • test262/test/built-ins/Array/prototype/Symbol.unscopables/value.js:
  • test262/test/built-ins/Array/prototype/concat/create-species-non-ctor.js:
  • test262/test/built-ins/Array/prototype/filter/create-species-non-ctor.js:
  • test262/test/built-ins/Array/prototype/map/create-species-non-ctor.js:
  • test262/test/built-ins/Array/prototype/slice/create-species-non-ctor.js:
  • test262/test/built-ins/Array/prototype/splice/create-species-non-ctor.js:
  • test262/test/built-ins/Date/parse/year-zero.js: Added.
  • test262/test/built-ins/Date/year-zero.js: Added.
  • test262/test/built-ins/Error/constructor.js:
  • test262/test/built-ins/Function/prototype/bind/instance-length-tointeger.js:
  • test262/test/built-ins/Number/S15.7.1.1_A1.js:
  • test262/test/built-ins/RegExp/prototype/toString/S15.10.6.4_A6.js:
  • test262/test/built-ins/RegExp/prototype/toString/S15.10.6.4_A7.js:
  • test262/test/built-ins/ShadowRealm/WrappedFunction/throws-typeerror-on-revoked-proxy.js: Added.

(const.fn.r.evaluate.globalThis.revocable.Proxy.revocable):

  • test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-ordinary-object.js: Added.

(catch):

  • test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-orginary-object.js: Removed.
  • test262/test/built-ins/ShadowRealm/prototype/evaluate/throws-typeerror-wrap-throwing.js: Added.

(r.evaluate.const.revocable.Proxy.revocable):
(r.evaluate.const.fn):

  • test262/test/built-ins/String/prototype/localeCompare/15.5.4.9_CE.js:

(i.pair.0.localeCompare):
(string_appeared_here.localeCompare): Deleted.
(else.i.pair.0.localeCompare): Deleted.

  • test262/test/built-ins/Temporal/Calendar/from/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/from/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/from/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Calendar.from):
(description.of.typeErrorTests.Temporal.Calendar.from):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.Duration):
(description.of.typeErrorTests.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-string-with-utc-designator.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.Duration):
(description.of.typeErrorTests.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/dateAdd/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateFromFields/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateFromFields/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDate):
(description.of.rangeErrorTests.instance.dateUntil.new.Temporal.PlainDate):
(description.of.typeErrorTests.new.Temporal.PlainDate):
(description.of.typeErrorTests.instance.dateUntil.new.Temporal.PlainDate):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDate):
(description.of.rangeErrorTests.instance.dateUntil.new.Temporal.PlainDate):
(description.of.typeErrorTests.new.Temporal.PlainDate):
(description.of.typeErrorTests.instance.dateUntil.new.Temporal.PlainDate):

  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dateUntil/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/day/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/day/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/day/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/day/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.day):
(description.of.typeErrorTests.instance.day):

  • test262/test/built-ins/Temporal/Calendar/prototype/day/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/day/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/day/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.day):
(description.of.typeErrorTests.instance.day):

  • test262/test/built-ins/Temporal/Calendar/prototype/day/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/day/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/day/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.dayOfWeek):
(description.of.typeErrorTests.instance.dayOfWeek):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.dayOfWeek):
(description.of.typeErrorTests.instance.dayOfWeek):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfWeek/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.dayOfYear):
(description.of.typeErrorTests.instance.dayOfYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.dayOfYear):
(description.of.typeErrorTests.instance.dayOfYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/dayOfYear/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.daysInMonth):
(description.of.typeErrorTests.instance.daysInMonth):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.daysInMonth):
(description.of.typeErrorTests.instance.daysInMonth):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInMonth/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.daysInWeek):
(description.of.typeErrorTests.instance.daysInWeek):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.daysInWeek):
(description.of.typeErrorTests.instance.daysInWeek):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInWeek/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.daysInYear):
(description.of.typeErrorTests.instance.daysInYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.daysInYear):
(description.of.typeErrorTests.instance.daysInYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/daysInYear/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.inLeapYear):
(description.of.typeErrorTests.instance.inLeapYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-string.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.inLeapYear):
(description.of.typeErrorTests.instance.inLeapYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/basic.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/branding.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/inLeapYear/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/mergeFields/basic.js: Added.

(assert.deepEqual.cal.mergeFields):

  • test262/test/built-ins/Temporal/Calendar/prototype/mergeFields/iso8601-calendar-month-monthCode.js: Added.

(assert.deepEqual.cal.mergeFields):

  • test262/test/built-ins/Temporal/Calendar/prototype/mergeFields/non-string-properties.js: Added.

(assert.deepEqual.cal.mergeFields):

  • test262/test/built-ins/Temporal/Calendar/prototype/month/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/month/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/month/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/month/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.month):
(description.of.typeErrorTests.instance.month):

  • test262/test/built-ins/Temporal/Calendar/prototype/month/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/month/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/month/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.month):
(description.of.typeErrorTests.instance.month):

  • test262/test/built-ins/Temporal/Calendar/prototype/month/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/month/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/month/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.monthCode):
(description.of.typeErrorTests.instance.monthCode):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.monthCode):
(description.of.typeErrorTests.instance.monthCode):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthCode/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/basic.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/fields-missing-properties.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/fields-not-object.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/monthcode-invalid.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-constrain.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-reject.js: Added.

(9995.forEach):
(999.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthDayFromFields/reference-year-1972.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.monthsInYear):
(description.of.typeErrorTests.instance.monthsInYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-string.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.monthsInYear):
(description.of.typeErrorTests.instance.monthsInYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/basic.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/branding.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/monthsInYear/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-plaindate.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-plaindatetime.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.weekOfYear):
(description.of.typeErrorTests.instance.weekOfYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-string.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.weekOfYear):
(description.of.typeErrorTests.instance.weekOfYear):

  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/branding.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/weekOfYear/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/year/argument-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/year/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/year/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/year/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.year):
(description.of.typeErrorTests.instance.year):

  • test262/test/built-ins/Temporal/Calendar/prototype/year/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/year/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/year/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.year):
(description.of.typeErrorTests.instance.year):

  • test262/test/built-ins/Temporal/Calendar/prototype/year/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/year/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/year/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/basic.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/branding.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/fields-missing-properties.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/fields-not-object.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/monthcode-invalid.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/options-not-object.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-constrain.js: Added.
  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-reject.js: Added.

(9995.forEach):

  • test262/test/built-ins/Temporal/Duration/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/call-builtin.js: Added.

(Number.isFinite):
(Math.sign):

  • test262/test/built-ins/Temporal/Duration/compare/argument-cast.js: Added.

(assert.sameValue.Temporal.Duration.compare.new.Temporal.Duration):
(Temporal.Duration.compare.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/compare/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/compare/calendar-dateadd-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Duration/compare/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Duration/compare/relativeto-hour.js: Added.
  • test262/test/built-ins/Temporal/Duration/compare/relativeto-month.js: Added.
  • test262/test/built-ins/Temporal/Duration/compare/relativeto-propertybag-invalid.js: Added.
  • test262/test/built-ins/Temporal/Duration/compare/relativeto-year.js: Added.
  • test262/test/built-ins/Temporal/Duration/compare/timezone-string-leap-second.js: Added.

(new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/compare/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Duration/compare/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.Duration):
(description.of.typeErrorTests.new.Temporal.Duration):
(new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/compare/twenty-five-hour-day.js: Added.
  • test262/test/built-ins/Temporal/Duration/days-undefined.js:
  • test262/test/built-ins/Temporal/Duration/from/argument-duration.js: Added.
  • test262/test/built-ins/Temporal/Duration/from/argument-existing-object.js:
  • test262/test/built-ins/Temporal/Duration/from/argument-object-invalid.js: Added.
  • test262/test/built-ins/Temporal/Duration/from/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/Duration/from/argument-string.js: Added.
  • test262/test/built-ins/Temporal/Duration/hours-undefined.js:
  • test262/test/built-ins/Temporal/Duration/microseconds-undefined.js:
  • test262/test/built-ins/Temporal/Duration/milliseconds-undefined.js:
  • test262/test/built-ins/Temporal/Duration/minutes-undefined.js:
  • test262/test/built-ins/Temporal/Duration/mixed.js: Added.
  • test262/test/built-ins/Temporal/Duration/months-undefined.js:
  • test262/test/built-ins/Temporal/Duration/nanoseconds-undefined.js:
  • test262/test/built-ins/Temporal/Duration/prototype/abs/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/abs/new-object.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/argument-object-invalid.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/argument-string.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/options-undefined.js:
  • test262/test/built-ins/Temporal/Duration/prototype/add/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-leap-second.js: Added.

(const.result1.instance.add.new.Temporal.Duration):
(const.result2.instance.add.new.Temporal.Duration):
(const.result3.instance.add.new.Temporal.Duration):
(const.result4.instance.add.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-month.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-number.js: Added.

(const.result.instance.add.new.Temporal.Duration):
(const.relativeTo.of.numbers.instance.add.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-order.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-calendar-number.js: Added.

(const.result1.instance.add.new.Temporal.Duration):
(const.result2.instance.add.new.Temporal.Duration):
(const.calendar.of.numbers.instance.add.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.add.new.Temporal.Duration):
(description.of.typeErrorTests.instance.add.new.Temporal.Duration):
(instance.add.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-required.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.add.new.Temporal.Duration):
(description.of.typeErrorTests.instance.add.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-year.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/add/timezone-string-leap-second.js: Added.

(instance.add.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/add/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/add/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.add.new.Temporal.Duration):
(description.of.typeErrorTests.instance.add.new.Temporal.Duration):
(instance.add.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/blank/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/negated/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/calendar-dateadd-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/largestunit-smallestunit-default.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/largestunit-smallestunit-mismatch.js: Added.

(largestIdx.smallestIdx.d.round):

  • test262/test/built-ins/Temporal/Duration/prototype/round/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-number.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.round):
(description.of.typeErrorTests.instance.round):

  • test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.round):
(description.of.typeErrorTests.instance.round):

  • test262/test/built-ins/Temporal/Duration/prototype/round/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/Duration/prototype/round/roundto-invalid-string.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/smallestunit-disallowed-units-string.js: Removed.
  • test262/test/built-ins/Temporal/Duration/prototype/round/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Duration/prototype/round/smallestunit.js: Added.

(expected.of.Object.entries):

  • test262/test/built-ins/Temporal/Duration/prototype/round/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/round/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/round/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.round):
(description.of.typeErrorTests.instance.round):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/argument-object-invalid.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/argument-string.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/options-undefined.js:
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-leap-second.js: Added.

(const.result1.instance.subtract.new.Temporal.Duration):
(const.result2.instance.subtract.new.Temporal.Duration):
(const.result3.instance.subtract.new.Temporal.Duration):
(const.result4.instance.subtract.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-month.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-number.js: Added.

(const.result.instance.subtract.new.Temporal.Duration):
(const.relativeTo.of.numbers.instance.subtract.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-order.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-calendar-number.js: Added.

(const.result1.instance.subtract.new.Temporal.Duration):
(const.result2.instance.subtract.new.Temporal.Duration):
(const.calendar.of.numbers.instance.subtract.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.subtract.new.Temporal.Duration):
(description.of.typeErrorTests.instance.subtract.new.Temporal.Duration):
(instance.subtract.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-required.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.subtract.new.Temporal.Duration):
(description.of.typeErrorTests.instance.subtract.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-year.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/subtract/timezone-string-leap-second.js: Added.

(instance.subtract.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/subtract/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.subtract.new.Temporal.Duration):
(description.of.typeErrorTests.instance.subtract.new.Temporal.Duration):
(instance.subtract.new.Temporal.Duration):

  • test262/test/built-ins/Temporal/Duration/prototype/toJSON/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toJSON/options.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/balance.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-auto.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-invalid-string.js:
  • test262/test/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-number.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-out-of-range.js:
  • test262/test/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-undefined.js:

(expected.of.tests.const.lambda.duration.toString):

  • test262/test/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-wrong-type.js:
  • test262/test/built-ins/Temporal/Duration/prototype/toString/negative-components.js:
  • test262/test/built-ins/Temporal/Duration/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/roundingmode-ceil.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/roundingmode-floor.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/roundingmode-halfExpand.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/Duration/prototype/toString/roundingmode-trunc.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/toString/smallestunit-fractionalseconddigits.js: Added.

(expected.of.tests.const.string.duration.toString.get fractionalSecondDigits):
(duration.toString.get fractionalSecondDigits):

  • test262/test/built-ins/Temporal/Duration/prototype/toString/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Duration/prototype/toString/smallestunit-valid-units.js:

(test):
(notValid.forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/total/calendar-dateadd-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/total/options-wrong-type.js:

(values.forEach): Deleted.

  • test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-number.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.total):
(description.of.typeErrorTests.instance.total):

  • test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.total):
(description.of.typeErrorTests.instance.total):

  • test262/test/built-ins/Temporal/Duration/prototype/total/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/total/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/total/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.total):
(description.of.typeErrorTests.instance.total):

  • test262/test/built-ins/Temporal/Duration/prototype/valueOf/basic.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/with/all-negative.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/with/all-positive.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/with/argument-invalid-prop.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/with/argument-mixed-sign.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/with/argument-object-wrong-shape.js: Added.

(let.d.new.Temporal.Duration):
(forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/with/argument-sign-prop.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/with/argument-wrong-type.js: Added.

(forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/with/branding.js:
  • test262/test/built-ins/Temporal/Duration/prototype/with/partial-positive.js: Added.
  • test262/test/built-ins/Temporal/Duration/prototype/with/sign-conflict-throws-rangeerror.js: Added.

(fields.forEach):

  • test262/test/built-ins/Temporal/Duration/prototype/with/sign-replace.js: Added.
  • test262/test/built-ins/Temporal/Duration/seconds-undefined.js:
  • test262/test/built-ins/Temporal/Duration/weeks-undefined.js:
  • test262/test/built-ins/Temporal/Duration/years-undefined.js:
  • test262/test/built-ins/Temporal/Instant/compare/argument-object-tostring.js: Added.

(arg.toString):

  • test262/test/built-ins/Temporal/Instant/compare/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Instant.compare):
(description.of.typeErrorTests.Temporal.Instant.compare):

  • test262/test/built-ins/Temporal/Instant/compare/instant-string-sub-minute-offset.js: Added.
  • test262/test/built-ins/Temporal/Instant/compare/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/compare/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Instant/from/argument-instant.js: Added.
  • test262/test/built-ins/Temporal/Instant/from/argument-object-tostring.js: Added.

(arg.toString):

  • test262/test/built-ins/Temporal/Instant/from/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Instant.from):
(description.of.typeErrorTests.Temporal.Instant.from):

  • test262/test/built-ins/Temporal/Instant/from/basic.js: Added.
  • test262/test/built-ins/Temporal/Instant/from/instant-string-sub-minute-offset.js: Added.
  • test262/test/built-ins/Temporal/Instant/from/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/from/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/add/basic.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/add/branding.js:
  • test262/test/built-ins/Temporal/Instant/prototype/add/disallowed-duration-units.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/add/result-out-of-range.js:

(fields.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/equals/argument-object-tostring.js: Added.

(arg.toString):

  • test262/test/built-ins/Temporal/Instant/prototype/equals/argument-wrong-type.js:

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/Instant/prototype/equals/instant-string-sub-minute-offset.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/equals/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/equals/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/round/options-wrong-type.js:
  • test262/test/built-ins/Temporal/Instant/prototype/round/rounding-direction.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/round/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/round/roundto-invalid-string.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/round/smallestunit-disallowed-units.js: Removed.
  • test262/test/built-ins/Temporal/Instant/prototype/round/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/since/argument-object-tostring.js: Added.

(arg.toString):

  • test262/test/built-ins/Temporal/Instant/prototype/since/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/Instant/prototype/since/instant-string-sub-minute-offset.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/since/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/since/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/since/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/since/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/since/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/since/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/subtract/basic.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/subtract/branding.js:
  • test262/test/built-ins/Temporal/Instant/prototype/subtract/disallowed-duration-units.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/subtract/result-out-of-range.js:

(fields.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/toJSON/year-format.js: Added.

(epochNsInYear):

  • test262/test/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-auto.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-non-integer.js:
  • test262/test/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-number.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-out-of-range.js:
  • test262/test/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-undefined.js:

(expected.of.tests.const.lambda.instant.toString):

  • test262/test/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-wrong-type.js:
  • test262/test/built-ins/Temporal/Instant/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/rounding-cross-midnight.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/rounding-direction.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/roundingmode-ceil.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/roundingmode-floor.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/roundingmode-halfExpand.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/toString/roundingmode-trunc.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/smallestunit-fractionalseconddigits.js: Added.

(expected.of.tests.const.string.instant.toString.get fractionalSecondDigits):
(instant.toString.get fractionalSecondDigits):

  • test262/test/built-ins/Temporal/Instant/prototype/toString/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/toString/smallestunit-valid-units.js:

(test):
(notValid.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/toString/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toString/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/toString/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toString):
(description.of.typeErrorTests.instance.toString):

  • test262/test/built-ins/Temporal/Instant/prototype/toString/year-format.js: Added.

(epochNsInYear):

  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTime/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTime/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTime/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTime):
(description.of.typeErrorTests.instance.toZonedDateTime):

  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTime/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTime/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTime/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTime):
(description.of.typeErrorTests.instance.toZonedDateTime):

  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTimeISO):
(description.of.typeErrorTests.instance.toZonedDateTimeISO):

  • test262/test/built-ins/Temporal/Instant/prototype/until/argument-object-tostring.js: Added.

(arg.toString):

  • test262/test/built-ins/Temporal/Instant/prototype/until/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/Instant/prototype/until/instant-string-sub-minute-offset.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/until/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/until/leap-second.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/until/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/Instant/prototype/until/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/until/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/Instant/prototype/until/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/plainDate/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDate/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDate/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.plainDate):
(description.of.typeErrorTests.Temporal.Now.plainDate):

  • test262/test/built-ins/Temporal/Now/plainDate/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDate/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/plainDate/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.plainDate):
(description.of.typeErrorTests.Temporal.Now.plainDate):

  • test262/test/built-ins/Temporal/Now/plainDateISO/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDateISO/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/plainDateISO/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.plainDateISO):
(description.of.typeErrorTests.Temporal.Now.plainDateISO):

  • test262/test/built-ins/Temporal/Now/plainDateTime/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDateTime/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDateTime/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.plainDateTime):
(description.of.typeErrorTests.Temporal.Now.plainDateTime):

  • test262/test/built-ins/Temporal/Now/plainDateTime/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDateTime/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/plainDateTime/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.plainDateTime):
(description.of.typeErrorTests.Temporal.Now.plainDateTime):

  • test262/test/built-ins/Temporal/Now/plainDateTimeISO/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/plainDateTimeISO/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/plainDateTimeISO/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.plainDateTimeISO):
(description.of.typeErrorTests.Temporal.Now.plainDateTimeISO):

  • test262/test/built-ins/Temporal/Now/plainTimeISO/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/plainTimeISO/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/plainTimeISO/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.plainTimeISO):
(description.of.typeErrorTests.Temporal.Now.plainTimeISO):

  • test262/test/built-ins/Temporal/Now/zonedDateTime/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/Now/zonedDateTime/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/zonedDateTime/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.zonedDateTime):
(description.of.typeErrorTests.Temporal.Now.zonedDateTime):

  • test262/test/built-ins/Temporal/Now/zonedDateTime/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/zonedDateTime/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/zonedDateTime/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.zonedDateTime):
(description.of.typeErrorTests.Temporal.Now.zonedDateTime):

  • test262/test/built-ins/Temporal/Now/zonedDateTimeISO/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/Now/zonedDateTimeISO/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/Now/zonedDateTimeISO/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.Now.zonedDateTimeISO):
(description.of.typeErrorTests.Temporal.Now.zonedDateTimeISO):

  • test262/test/built-ins/Temporal/PlainDate/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDate):
(description.of.typeErrorTests.new.Temporal.PlainDate):

  • test262/test/built-ins/Temporal/PlainDate/compare/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/compare/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/compare/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/compare/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDate):
(description.of.rangeErrorTests.Temporal.PlainDate.compare.new.Temporal.PlainDate):
(description.of.typeErrorTests.new.Temporal.PlainDate):
(description.of.typeErrorTests.Temporal.PlainDate.compare.new.Temporal.PlainDate):

  • test262/test/built-ins/Temporal/PlainDate/compare/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/compare/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/compare/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDate):
(description.of.rangeErrorTests.Temporal.PlainDate.compare.new.Temporal.PlainDate):
(description.of.typeErrorTests.new.Temporal.PlainDate):
(description.of.typeErrorTests.Temporal.PlainDate.compare.new.Temporal.PlainDate):

  • test262/test/built-ins/Temporal/PlainDate/compare/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/compare/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/compare/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/from/argument-number.js:
  • test262/test/built-ins/Temporal/PlainDate/from/argument-plaindate.js:
  • test262/test/built-ins/Temporal/PlainDate/from/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/from/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/from/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainDate.from):
(description.of.typeErrorTests.Temporal.PlainDate.from):

  • test262/test/built-ins/Temporal/PlainDate/from/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/from/argument-string-invalid.js:

(const.object.get overflow): Deleted.

  • test262/test/built-ins/Temporal/PlainDate/from/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainDate.from):
(description.of.typeErrorTests.Temporal.PlainDate.from):

  • test262/test/built-ins/Temporal/PlainDate/from/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/from/observable-get-overflow-argument-string-invalid.js: Copied from JSTests/test262/test/built-ins/Temporal/PlainDate/from/argument-string-invalid.js.

(const.object.get overflow):

  • test262/test/built-ins/Temporal/PlainDate/from/observable-get-overflow-argument-string.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDate/from/argument-string-overflow.js.
  • test262/test/built-ins/Temporal/PlainDate/from/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/from/overflow-invalid-string.js:

(validItems.forEach): Deleted.

  • test262/test/built-ins/Temporal/PlainDate/from/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/add/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/add/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/argument-wrong-type.js:

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/equals/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/since/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/PlainDate/prototype/since/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/since/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/PlainDate/prototype/since/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/largestunit-default.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/largestunit-higher-units.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/since/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/subtract/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/subtract/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/toJSON/year-format.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toPlainDateTime):
(description.of.typeErrorTests.instance.toPlainDateTime):

  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/limits.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/year-zero.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/calendar-monthdayfromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toString/year-format.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTime):
(description.of.typeErrorTests.instance.toZonedDateTime):

  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTime):
(description.of.typeErrorTests.instance.toZonedDateTime):

  • test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/year-zero.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/until/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/PlainDate/prototype/until/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/largestunit-default.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/largestunit-higher-units.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/until/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDate/prototype/with/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/with/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDate/prototype/withCalendar/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/withCalendar/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDate/prototype/withCalendar/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withCalendar):
(description.of.typeErrorTests.instance.withCalendar):

  • test262/test/built-ins/Temporal/PlainDateTime/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDateTime):
(description.of.typeErrorTests.new.Temporal.PlainDateTime):

  • test262/test/built-ins/Temporal/PlainDateTime/compare/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/compare/argument-object-insufficient-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/compare/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/compare/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/compare/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDateTime):
(description.of.rangeErrorTests.Temporal.PlainDateTime.compare.new.Temporal.PlainDateTime):
(description.of.typeErrorTests.new.Temporal.PlainDateTime):
(description.of.typeErrorTests.Temporal.PlainDateTime.compare.new.Temporal.PlainDateTime):

  • test262/test/built-ins/Temporal/PlainDateTime/compare/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/compare/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainDateTime):
(description.of.rangeErrorTests.Temporal.PlainDateTime.compare.new.Temporal.PlainDateTime):
(description.of.typeErrorTests.new.Temporal.PlainDateTime):
(description.of.typeErrorTests.Temporal.PlainDateTime.compare.new.Temporal.PlainDateTime):

  • test262/test/built-ins/Temporal/PlainDateTime/compare/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/compare/calendar-ignored.js: Added.

(const.calendar1.toString):
(const.calendar2.toString):

  • test262/test/built-ins/Temporal/PlainDateTime/compare/cast.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/compare/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/compare/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/constructor-full.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/datetime-math.js: Added.

(units.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-object-month.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-plaindatetime.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainDateTime.from):
(description.of.typeErrorTests.Temporal.PlainDateTime.from):

  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-comma-decimal-separator.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-invalid.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-minus-sign.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-offset.js: Added.

(strs.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-optional-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-out-of-range.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-subsecond.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-time-separators.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string-timezone.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-string.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainDateTime.from):
(description.of.typeErrorTests.Temporal.PlainDateTime.from):

  • test262/test/built-ins/Temporal/PlainDateTime/from/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/limits.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/from/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/overflow-default-constrain.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/overflow-invalid-string.js:

(validValues.forEach): Deleted.

  • test262/test/built-ins/Temporal/PlainDateTime/from/overflow-reject.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/from/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/hour-undefined.js:
  • test262/test/built-ins/Temporal/PlainDateTime/limits.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/microsecond-undefined.js:
  • test262/test/built-ins/Temporal/PlainDateTime/millisecond-undefined.js:
  • test262/test/built-ins/Temporal/PlainDateTime/minute-undefined.js:
  • test262/test/built-ins/Temporal/PlainDateTime/nanosecond-undefined.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/ambiguous-date.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/argument-duration.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/argument-object-insufficient-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/argument-plain-object-mixed-signs.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/hour-overflow.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/limits.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/negative-duration.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/options-empty.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/options-invalid.js: Added.

(badOptions.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/add/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/dayOfWeek/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/dayOfYear/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/daysInMonth/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/daysInWeek/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/daysInYear/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-object-insufficient-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-wrong-type.js:

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/calendar-checked.js: Added.

(const.calendar4.toString):
(const.calendar5.toString):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/cast.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/equals/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/monthsInYear/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/balance.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/limits.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/rounding-direction.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-divides.js: Added.

(12.forEach):
(string_appeared_here.forEach):
(Object.entries.nextIncrements.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-does-not-divide.js: Added.

(units.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-one-day.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-ceil-basic.js: Added.

(Object.entries.incrementOneCeil.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-floor-basic.js: Added.

(Object.entries.incrementOneFloor.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-halfexpand-basic.js: Added.

(Object.entries.incrementOneNearest.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-halfexpand-is-default.js: Added.

(Object.entries.units.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-trunc-basic.js: Added.

(Object.entries.incrementOneFloor.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/roundto-invalid-string.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-disallowed-units.js: Removed.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/throws-argument-object-insufficient-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/throws-argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/throws-no-argument.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/round/throws-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-string.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/different-calendars-throws.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/no-unnecessary-units.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/options-empty.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/options-invalid.js: Added.

(badOptions.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/returns-days.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/round-relative-to-receiver.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-cleanly-divides.js: Added.

(12.forEach):
(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-does-not-divide.js: Added.

(Object.entries.badIncrements.forEach):
(Object.entries.fullIncrements.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-ceil-basic.js: Added.

(incrementOneCeil.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-floor-basic.js: Added.

(incrementOneFloor.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-halfexpand-basic.js: Added.

(ensureUnsignedZero):
(incrementOneNearest.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-halfexpand-default-changes.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-trunc-basic.js: Added.

(ensureUnsignedZero):
(incrementOneTrunc.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-trunc-is-default.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/subseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/weeks-months-mutually-exclusive.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/since/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/ambiguous-date.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-duration.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-object-insufficient-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-plain-object-mixed-signs.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/hour-overflow.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/limits.js: Added.

(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/negative-duration.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/options-empty.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/options-invalid.js: Added.

(badOptions.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toJSON/year-format.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/calendar-monthdayfromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toPlainTime/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-always.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-auto.js: Added.

(const.customCal.toString):
(const.fakeISO8601Cal.toString):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-invalid-string.js:

(invalidCals.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-never.js: Added.

(const.cal.toString):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-auto.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-non-integer.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-out-of-range.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-undefined.js:

(expected.of.tests.const.lambda.datetime.toString):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-wrong-type.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/rounding-cross-midnight.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/rounding-direction.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-ceil.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-floor.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-halfExpand.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-trunc.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-fractionalseconddigits.js: Added.

(expected.of.tests.const.string.datetime.toString.get fractionalSecondDigits):
(datetime.toString.get fractionalSecondDigits):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-valid-units.js:

(test):
(notValid.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toString/year-format.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/disambiguation-invalid-string.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/invalid-instant.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/multiple-instants.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/options-object.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTime):
(description.of.typeErrorTests.instance.toZonedDateTime):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-string.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/balance-negative-duration.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/balance.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/casts-argument.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/different-calendars-throws.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/inverse.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/no-unnecessary-units.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/options-empty.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/options-invalid.js: Added.

(badOptions.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/returns-days.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/round-relative-to-receiver.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-cleanly-divides.js: Added.

(12.forEach):
(string_appeared_here.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-does-not-divide.js: Added.

(Object.entries.nondivisibleUnits.forEach):
(Object.entries.equalDivisibleUnits.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-ceil-basic.js: Added.

(incrementOneCeil.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-floor-basic.js: Added.

(incrementOneFloor.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-halfexpand-basic.js: Added.

(ensureUnsignedZero):
(incrementOneNearest.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-halfexpand-default-changes.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-trunc-basic.js: Added.

(ensureUnsignedZero):
(incrementOneTrunc.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-trunc-is-default.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/subseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/units-changed.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/weeks-months-mutually-exclusive.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/until/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/valueOf/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/weekOfYear/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/argument-not-object.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/argument-object-insufficient-data.js: Added.

(units.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/calendar-options.js: Added.

(Calendar):
(Calendar.prototype.dateFromFields):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/calendar-temporal-object-throws.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/calendar-throws.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/month-and-monthcode-must-agree.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/multiple-unrecognized-properties-ignored.js: Added.

(units.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/options-empty.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/options-invalid.js: Added.

(badOptions.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/order-of-operations.js:

(const.options.get overflow):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/string-throws.js: Added.

(baddies.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/with/timezone-throws.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withCalendar/argument-string.js: Added.

(const.calendar.toString):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withCalendar/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-temporal-object.js:

(TemporalHelpers.checkToTemporalCalendarFastPath):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withCalendar):
(description.of.typeErrorTests.instance.withCalendar):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-object-insufficient-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar-noniso.js: Added.

(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar-same-id.js: Added.

(const.cal1.toString):
(const.cal2.toString):
(const.cal2.year):
(const.cal2.month):
(const.cal2.monthCode):
(const.cal2.day):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar-same-object.js: Added.

(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar.js: Added.

(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withPlainDate):
(description.of.typeErrorTests.instance.withPlainDate):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-string-iso-calendar.js: Added.

(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-string.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withPlainDate):
(description.of.typeErrorTests.instance.withPlainDate):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/non-compatible-calendars-throw.js: Added.

(const.cal.toString):
(const.anotherCal.toString):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-object-insufficient-data.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-string-without-time-designator.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-time.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withPlainTime):
(description.of.typeErrorTests.instance.withPlainTime):

  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/no-argument-default-to-midnight.js: Added.
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/year-zero.js:
  • test262/test/built-ins/Temporal/PlainDateTime/second-undefined.js:
  • test262/test/built-ins/Temporal/PlainMonthDay/calendar-always.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainMonthDay):
(description.of.typeErrorTests.new.Temporal.PlainMonthDay):

  • test262/test/built-ins/Temporal/PlainMonthDay/from/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/from/argument-plainmonthday.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainMonthDay.from):
(description.of.typeErrorTests.Temporal.PlainMonthDay.from):

  • test262/test/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainMonthDay/from/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainMonthDay.from):
(description.of.typeErrorTests.Temporal.PlainMonthDay.from):

  • test262/test/built-ins/Temporal/PlainMonthDay/from/calendar-monthdayfromfields-called-with-options-undefined.js: Added.

(Temporal.Calendar.prototype.monthDayFromFields):

  • test262/test/built-ins/Temporal/PlainMonthDay/from/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/from/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/from/overflow-invalid-string.js:

(validValues.forEach): Deleted.

  • test262/test/built-ins/Temporal/PlainMonthDay/from/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-wrong-type.js:

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/calendar-monthdayfromfields-called-with-options-undefined.js: Added.

(Temporal.Calendar.prototype.monthDayFromFields):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/equals/year-zero.js:
  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/toJSON/year-format.js: Added.

(NotISO):
(NotISO.prototype.toString):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/toString/calendarname-always.js:

(toString):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/toString/year-format.js: Added.

(NotISO):
(NotISO.prototype.toString):

  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/with/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainMonthDay/prototype/with/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/compare/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/compare/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/compare/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainTime):
(description.of.rangeErrorTests.Temporal.PlainTime.compare.new.Temporal.PlainTime):
(description.of.typeErrorTests.new.Temporal.PlainTime):
(description.of.typeErrorTests.Temporal.PlainTime.compare.new.Temporal.PlainTime):

  • test262/test/built-ins/Temporal/PlainTime/compare/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/compare/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/PlainTime/compare/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/from/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/argument-object-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/argument-plaintime.js:
  • test262/test/built-ins/Temporal/PlainTime/from/argument-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/from/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainTime.from):
(description.of.typeErrorTests.Temporal.PlainTime.from):

  • test262/test/built-ins/Temporal/PlainTime/from/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/observable-get-overflow-argument-string-invalid.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainTime/from/argument-string-invalid.js.
  • test262/test/built-ins/Temporal/PlainTime/from/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/overflow-constrain.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/overflow-invalid-string.js:

(validValues.forEach): Deleted.

  • test262/test/built-ins/Temporal/PlainTime/from/overflow-reject.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/from/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/negative-zero.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/add/argument-duration.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/add/argument-higher-units.js: Added.

(new.Temporal.Duration):

  • test262/test/built-ins/Temporal/PlainTime/prototype/add/argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/equals/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/equals/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/equals/argument-wrong-type.js:

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainTime/prototype/equals/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/equals/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/equals/year-zero.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/rounding-cross-midnight.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-hours.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-microseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-milliseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-minutes.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-nanoseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-seconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-ceil.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-floor.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-halfExpand.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-trunc.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-undefined.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/roundto-invalid-string.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/smallestunit-disallowed-units.js: Removed.
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/round/smallestunit-missing.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/argument-cast.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/since/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/PlainTime/prototype/since/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/largestunit.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/result-sub-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-hours.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-microseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-milliseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-minutes.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-nanoseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-seconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingmode-ceil.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingmode-floor.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingmode-halfExpand.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingmode-trunc.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/roundingmode-undefined.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/since/year-zero.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/subtract/argument-duration.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/subtract/argument-higher-units.js: Added.

(new.Temporal.Duration):

  • test262/test/built-ins/Temporal/PlainTime/prototype/subtract/argument-object.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toPlainDateTime):
(description.of.typeErrorTests.instance.toPlainDateTime):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toPlainDateTime):
(description.of.typeErrorTests.instance.toPlainDateTime):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/limits.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-auto.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-non-integer.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-number.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-out-of-range.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-undefined.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-wrong-type.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/rounding-cross-midnight.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-ceil.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-floor.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-halfExpand.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-trunc.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-fractionalseconddigits.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-valid-units.js:

(test):
(notValid.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTime):
(description.of.typeErrorTests.instance.toZonedDateTime):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-string-with-utc-designator.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.toZonedDateTime):
(description.of.typeErrorTests.instance.toZonedDateTime):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.plainDate.new.Temporal.PlainDate):
(description.of.typeErrorTests.plainDate.new.Temporal.PlainDate):

  • test262/test/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/until/argument-cast.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/PlainTime/prototype/until/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/PlainTime/prototype/until/basic.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/largestunit.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/result-sub-second.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-hours.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-invalid.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-microseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-milliseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-minutes.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-nanoseconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-seconds.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-ceil.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-floor.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-halfExpand.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-trunc.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-undefined.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/until/year-zero.js:
  • test262/test/built-ins/Temporal/PlainTime/prototype/with/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainTime/prototype/with/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/calendar-always.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainYearMonth):
(description.of.typeErrorTests.new.Temporal.PlainYearMonth):

  • test262/test/built-ins/Temporal/PlainYearMonth/compare/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/compare/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/compare/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainYearMonth):
(description.of.rangeErrorTests.Temporal.PlainYearMonth.compare.new.Temporal.PlainYearMonth):
(description.of.typeErrorTests.new.Temporal.PlainYearMonth):
(description.of.typeErrorTests.Temporal.PlainYearMonth.compare.new.Temporal.PlainYearMonth):

  • test262/test/built-ins/Temporal/PlainYearMonth/compare/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainYearMonth/compare/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.PlainYearMonth):
(description.of.rangeErrorTests.Temporal.PlainYearMonth.compare.new.Temporal.PlainYearMonth):
(description.of.typeErrorTests.new.Temporal.PlainYearMonth):
(description.of.typeErrorTests.Temporal.PlainYearMonth.compare.new.Temporal.PlainYearMonth):

  • test262/test/built-ins/Temporal/PlainYearMonth/compare/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.

(Temporal.Calendar.prototype.yearMonthFromFields):

  • test262/test/built-ins/Temporal/PlainYearMonth/compare/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/compare/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainYearMonth/from/argument-number.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/from/argument-plainyearmonth.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainYearMonth.from):
(description.of.typeErrorTests.Temporal.PlainYearMonth.from):

  • test262/test/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainYearMonth/from/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.PlainYearMonth.from):
(description.of.typeErrorTests.Temporal.PlainYearMonth.from):

  • test262/test/built-ins/Temporal/PlainYearMonth/from/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.

(Temporal.Calendar.prototype.yearMonthFromFields):

  • test262/test/built-ins/Temporal/PlainYearMonth/from/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/from/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/from/overflow-invalid-string.js:

(validValues.forEach): Deleted.

  • test262/test/built-ins/Temporal/PlainYearMonth/from/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainYearMonth/limits.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-datefromfields-called.js: Added.

(CustomCalendar):
(CustomCalendar.prototype.year):
(CustomCalendar.prototype.month):
(CustomCalendar.prototype.monthCode):
(CustomCalendar.prototype.day):
(CustomCalendar.prototype.daysInMonth):
(CustomCalendar.prototype._dateFromFieldsImpl):
(CustomCalendar.prototype.dateFromFields):
(CustomCalendar.prototype.yearMonthFromFields):
(CustomCalendar.prototype.monthDayFromFields):
(CustomCalendar.prototype.dateAdd):
(CustomCalendar.prototype.toString):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/add/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/add/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-wrong-type.js:

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.

(Temporal.Calendar.prototype.yearMonthFromFields):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/equals/year-zero.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.

(Temporal.Calendar.prototype.yearMonthFromFields):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/year-zero.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-datefromfields-called.js: Added.

(CustomCalendar):
(CustomCalendar.prototype.year):
(CustomCalendar.prototype.month):
(CustomCalendar.prototype.monthCode):
(CustomCalendar.prototype.day):
(CustomCalendar.prototype.daysInMonth):
(CustomCalendar.prototype._dateFromFieldsImpl):
(CustomCalendar.prototype.dateFromFields):
(CustomCalendar.prototype.yearMonthFromFields):
(CustomCalendar.prototype.monthDayFromFields):
(CustomCalendar.prototype.dateAdd):
(CustomCalendar.prototype.toString):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/toJSON/year-format.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-always.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/toString/year-format.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.

(Temporal.Calendar.prototype.yearMonthFromFields):

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/leap-second.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/year-zero.js:
  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/with/options-wrong-type.js:

(values.forEach): Deleted.

  • test262/test/built-ins/Temporal/PlainYearMonth/prototype/with/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/TimeZone/from/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/from/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/from/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.TimeZone.from):
(description.of.typeErrorTests.Temporal.TimeZone.from):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-number.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.getInstantFor):
(description.of.typeErrorTests.instance.getInstantFor):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.getInstantFor):
(description.of.typeErrorTests.instance.getInstantFor):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getInstantFor/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getNextTransition/leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getNextTransition/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-object-tostring.js: Added.

(arg.toString):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.getPlainDateTimeFor):
(description.of.typeErrorTests.instance.getPlainDateTimeFor):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.getPlainDateTimeFor.new.Temporal.Instant):
(description.of.typeErrorTests.instance.getPlainDateTimeFor.new.Temporal.Instant):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/instant-string-sub-minute-offset.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/limits.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-number.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.getPossibleInstantsFor):
(description.of.typeErrorTests.instance.getPossibleInstantsFor):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.getPossibleInstantsFor):
(description.of.typeErrorTests.instance.getPossibleInstantsFor):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/leap-second.js: Added.
  • test262/test/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.ZonedDateTime):
(description.of.typeErrorTests.new.Temporal.ZonedDateTime):

  • test262/test/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.ZonedDateTime.compare):
(description.of.typeErrorTests.Temporal.ZonedDateTime.compare):

  • test262/test/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/compare/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.ZonedDateTime.compare):
(description.of.typeErrorTests.Temporal.ZonedDateTime.compare):

  • test262/test/built-ins/Temporal/ZonedDateTime/compare/leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/compare/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/compare/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/compare/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.ZonedDateTime.compare):
(description.of.typeErrorTests.Temporal.ZonedDateTime.compare):

  • test262/test/built-ins/Temporal/ZonedDateTime/compare/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.ZonedDateTime.from):
(description.of.typeErrorTests.Temporal.ZonedDateTime.from):

  • test262/test/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/from/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.ZonedDateTime.from):
(description.of.typeErrorTests.Temporal.ZonedDateTime.from):

  • test262/test/built-ins/Temporal/ZonedDateTime/from/argument-zoneddatetime.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/from/leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/from/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/from/overflow-invalid-string.js:

(validValues.forEach): Deleted.

  • test262/test/built-ins/Temporal/ZonedDateTime/from/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/from/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/from/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.Temporal.ZonedDateTime.from):
(description.of.typeErrorTests.Temporal.ZonedDateTime.from):

  • test262/test/built-ins/Temporal/ZonedDateTime/from/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/add/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/add/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.equals):
(description.of.typeErrorTests.instance.equals):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/round/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/round/rounding-direction.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/round/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/round/roundto-invalid-string.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/round/smallestunit-disallowed-units.js: Removed.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/round/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/calendar-dateadd-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.since):
(description.of.typeErrorTests.instance.since):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/subtract/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/subtract/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toJSON/year-format.js: Added.

(epochNsInYear):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-monthdayfromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-yearmonthfromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-auto.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-non-integer.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-out-of-range.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-undefined.js:

(expected.of.tests.const.lambda.datetime.toString):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-wrong-type.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/rounding-cross-midnight.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/rounding-direction.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-ceil.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-floor.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-halfExpand.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-trunc.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-fractionalseconddigits.js: Added.

(expected.of.tests.const.string.datetime.toString.get fractionalSecondDigits):
(datetime.toString.get fractionalSecondDigits):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-valid-units.js:

(test):
(notValid.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/year-format.js: Added.

(epochNsInYear):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/calendar-dateadd-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/largestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/roundingmode-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/smallestunit-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.until):
(description.of.typeErrorTests.instance.until):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/with/options-wrong-type.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/with/overflow-invalid-string.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/calendar-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withCalendar):
(description.of.typeErrorTests.instance.withCalendar):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-propertybag-calendar-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withPlainDate):
(description.of.typeErrorTests.instance.withPlainDate):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-string-invalid.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withPlainDate):
(description.of.typeErrorTests.instance.withPlainDate):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/year-zero.js:

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-number.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-time-designator-required-for-disambiguation.js:

(ambiguousStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withPlainTime):
(description.of.typeErrorTests.instance.withPlainTime):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/year-zero.js:
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/timezone-string-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.withTimeZone):
(description.of.typeErrorTests.instance.withTimeZone):

  • test262/test/built-ins/Temporal/ZonedDateTime/timezone-string-leap-second.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/timezone-string-multiple-offsets.js: Added.
  • test262/test/built-ins/Temporal/ZonedDateTime/timezone-wrong-type.js: Added.

(description.of.rangeErrorTests.new.Temporal.ZonedDateTime):
(description.of.typeErrorTests.new.Temporal.ZonedDateTime):

  • test262/test/built-ins/TypedArray/prototype/set/BigInt/array-arg-targetbuffer-detached-on-get-src-value-throws.js: Removed.
  • test262/test/built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-get-src-value-no-throw.js: Added.

(testWithTypedArrayConstructors.):
(testWithTypedArrayConstructors.get let):

  • test262/test/built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-get-src-value-throws.js: Removed.
  • test262/test/built-ins/TypedArray/prototype/sort/BigInt/detached-buffer-comparefn.js: Removed.
  • test262/test/built-ins/TypedArray/prototype/sort/detached-buffer-comparefn-coerce.js: Removed.
  • test262/test/built-ins/TypedArray/prototype/sort/detached-buffer-comparefn.js: Removed.
  • test262/test/built-ins/TypedArray/prototype/sort/sort-tonumber.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/detached-when-species-retrieved-different-type.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/detached-when-species-retrieved-same-type.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-access-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-custom-species.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-not-object-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-species-access-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-species-not-ctor-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-species-prototype-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-access-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-custom.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-not-ctor.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-prototype-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/no-species.js: Added.

(GrossBuffer):
(GrossBuffer.get Symbol):

  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/detached-when-species-retrieved-different-type.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/detached-when-species-retrieved-same-type.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-access-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-custom-species.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-not-object-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-access-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-not-ctor-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-null.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-prototype-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-undefined.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-different-type.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-same-type.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-access-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-custom.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-not-ctor.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-prototype-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-throws.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js: Removed.
  • test262/test/built-ins/parseInt/15.1.2.2-2-1.js:
  • test262/test/harness/temporalHelpers-one-shift-time-zone.js: Added.

(checkTimeZoneArithmetic):

  • test262/test/intl402/DurationFormat/constructor-locales-invalid.js: Added.

(expectedError.of.getInvalidLocaleArguments):

  • test262/test/intl402/DurationFormat/constructor-locales-valid.js: Added.

(name.of.tests.matchers.forEach):

  • test262/test/intl402/DurationFormat/constructor-options-defaults.js: Added.
  • test262/test/intl402/DurationFormat/constructor-options-fractionalDigits-invalid.js: Added.
  • test262/test/intl402/DurationFormat/constructor-options-fractionalDigits-valid.js: Added.
  • test262/test/intl402/DurationFormat/constructor-options-invalid.js: Added.
  • test262/test/intl402/DurationFormat/constructor-options-localeMatcher-invalid.js: Added.

(const.localeMatcher.of.invalidOptions.new.Intl.DurationFormat):

  • test262/test/intl402/DurationFormat/constructor-options-localeMatcher-valid.js: Added.
  • test262/test/intl402/DurationFormat/constructor-options-numberingSystem-invalid.js: Added.
  • test262/test/intl402/DurationFormat/constructor-options-numberingSystem-valid.js: Added.
  • test262/test/intl402/DurationFormat/constructor-options-order.js: Added.

(const.options.get localeMatcher):
(const.options.get numberingSystem):
(const.options.get style):

  • test262/test/intl402/DurationFormat/constructor-options-style-invalid.js: Added.

(const.invalidOption.of.invalidOptions.new.Intl.DurationFormat):

  • test262/test/intl402/DurationFormat/constructor-options-style-valid.js: Added.

(toString):

  • test262/test/intl402/DurationFormat/extensibility.js: Renamed from JSTests/test262/test/intl402/DurationFormat/instance/extensibility.js.
  • test262/test/intl402/DurationFormat/length.js: Renamed from JSTests/test262/test/intl402/DurationFormat/instance/length.js.
  • test262/test/intl402/DurationFormat/name.js: Renamed from JSTests/test262/test/intl402/DurationFormat/instance/name.js.
  • test262/test/intl402/DurationFormat/newtarget-undefined.js: Added.
  • test262/test/intl402/DurationFormat/prop-desc.js: Renamed from JSTests/test262/test/intl402/DurationFormat/instance/prop-desc.js.
  • test262/test/intl402/DurationFormat/prototype.js: Renamed from JSTests/test262/test/intl402/DurationFormat/instance/prototype.js.
  • test262/test/intl402/DurationFormat/supportedLocalesOf/basic.js: Added.
  • test262/test/intl402/DurationFormat/supportedLocalesOf/branding.js: Added.
  • test262/test/intl402/DurationFormat/supportedLocalesOf/length.js: Added.
  • test262/test/intl402/DurationFormat/supportedLocalesOf/locales-empty.js: Added.
  • test262/test/intl402/DurationFormat/supportedLocalesOf/locales-invalid.js: Added.

(expectedError.of.getInvalidLocaleArguments):

  • test262/test/intl402/DurationFormat/supportedLocalesOf/locales-specific.js: Added.
  • test262/test/intl402/DurationFormat/supportedLocalesOf/name.js: Added.
  • test262/test/intl402/DurationFormat/supportedLocalesOf/prop-desc.js: Added.
  • test262/test/intl402/Intl/DateTimeFormat/prototype/formatRange/fails-on-distinct-temporal-types.js: Added.

(Object.entries.instances.forEach):

  • test262/test/intl402/Intl/DateTimeFormat/prototype/formatRangeToParts/fails-on-distinct-temporal-types.js: Added.

(Object.entries.instances.forEach):

  • test262/test/intl402/NumberFormat/constructor-roundingIncrement-invalid.js:
  • test262/test/intl402/NumberFormat/constructor-roundingIncrement.js:

(expected.of.values.get roundingIncrement):

  • test262/test/intl402/NumberFormat/prototype/format/format-max-min-fraction-significant-digits.js: Added.

(nfTestMatrix.forEach):

  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-10.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-100.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-1000.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-2.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-20.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-200.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-2000.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-25.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-250.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-2500.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-5.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-50.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-500.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-increment-5000.js:
  • test262/test/intl402/NumberFormat/prototype/format/format-rounding-priority-more-precision.js:
  • test262/test/intl402/NumberFormat/prototype/formatRange/x-greater-than-y-throws.js:
  • test262/test/intl402/NumberFormat/prototype/formatRangeToParts/x-greater-than-y-throws.js:
  • test262/test/intl402/Temporal/Calendar/prototype/era/argument-number.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/era/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/era/argument-propertybag-calendar-number.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/era/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.era):
(description.of.typeErrorTests.instance.era):

  • test262/test/intl402/Temporal/Calendar/prototype/era/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/intl402/Temporal/Calendar/prototype/era/argument-string-invalid.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/era/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.era):
(description.of.typeErrorTests.instance.era):

  • test262/test/intl402/Temporal/Calendar/prototype/era/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/era/leap-second.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/era/year-zero.js:

(invalidStrings.forEach):

  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/argument-number.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/argument-propertybag-calendar-leap-second.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/argument-propertybag-calendar-number.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/argument-propertybag-calendar-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.eraYear):
(description.of.typeErrorTests.instance.eraYear):

  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/argument-propertybag-calendar-year-zero.js: Added.

(invalidStrings.forEach):

  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/argument-string-invalid.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/argument-wrong-type.js: Added.

(description.of.rangeErrorTests.instance.eraYear):
(description.of.typeErrorTests.instance.eraYear):

  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/calendar-datefromfields-called-with-options-undefined.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/leap-second.js: Added.
  • test262/test/intl402/Temporal/Calendar/prototype/eraYear/year-zero.js:

(invalidStrings.forEach):

  • test262/test/intl402/Temporal/Duration/compare/relativeto-hour.js: Added.
  • test262/test/intl402/Temporal/Instant/prototype/toString/timezone-offset.js: Added.

(test):

  • test262/test/intl402/Temporal/PlainDateTime/prototype/toString/calendarname-always.js: Added.
  • test262/test/intl402/Temporal/PlainDateTime/prototype/toString/calendarname-auto.js: Added.
  • test262/test/intl402/Temporal/PlainDateTime/prototype/toString/calendarname-never.js: Added.
  • test262/test/intl402/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar-noniso.js: Added.

(const.cal.era):
(const.cal.eraYear):
(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/intl402/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar-same-id.js: Added.

(const.cal1.toString):
(const.cal2.era):
(const.cal2.eraYear):
(const.cal2.toString):
(const.cal2.year):
(const.cal2.month):
(const.cal2.monthCode):
(const.cal2.day):

  • test262/test/intl402/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar-same-object.js: Added.

(const.cal.era):
(const.cal.eraYear):
(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/intl402/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate-calendar.js: Added.

(const.cal.era):
(const.cal.eraYear):
(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/intl402/Temporal/PlainDateTime/prototype/withPlainDate/argument-string-calendar.js: Added.
  • test262/test/intl402/Temporal/PlainDateTime/prototype/withPlainDate/argument-string-iso-calendar.js: Added.

(const.cal.era):
(const.cal.eraYear):
(const.cal.toString):
(const.cal.year):
(const.cal.month):
(const.cal.monthCode):
(const.cal.day):

  • test262/test/intl402/Temporal/TimeZone/etc-timezone.js: Added.

(14.forEach):
(9.forEach):
(12.forEach):

  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-and.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-nullish.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-or.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-and.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-nullish.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-or.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-method-and.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-method-nullish.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-method-or.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-and.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-nullish.js: Removed.
  • test262/test/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-or.js: Removed.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-and.js: Added.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-nullish.js: Added.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-or.js: Added.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-short-circuit-and.js: Added.

(doNotCall):
(C.prototype.get field):
(C.prototype.set field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-short-circuit-nullish.js: Added.

(doNotCall):
(C.prototype.get field):
(C.prototype.set field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-short-circuit-or.js: Added.

(doNotCall):
(C.prototype.get field):
(C.prototype.set field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-and.js: Added.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-nullish.js: Added.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-or.js: Added.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-short-circuit-and.js: Added.

(doNotCall):
(C.prototype.compoundAssignment):
(C.prototype.fieldValue):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-short-circuit-nullish.js: Added.

(doNotCall):
(C.prototype.compoundAssignment):
(C.prototype.fieldValue):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-short-circuit-or.js: Added.

(doNotCall):
(C.prototype.compoundAssignment):
(C.prototype.fieldValue):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-method-and.js: Added.
  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-method-short-circuit-nullish.js: Added.

(doNotCall):
(C.prototype.compoundAssignment):
(C.prototype.getPrivateMethodFunctionObject):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-method-short-circuit-or.js: Added.

(doNotCall):
(C.prototype.compoundAssignment):
(C.prototype.getPrivateMethodFunctionObject):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-and.js: Added.

(C.prototype.get field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-nullish.js: Added.

(C.prototype.get field):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-or.js: Added.

(C.prototype.get field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-short-circuit-and.js: Added.

(doNotCall):
(C.prototype.get field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-short-circuit-nullish.js: Added.

(doNotCall):
(C.prototype.get field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-short-circuit-or.js: Added.

(doNotCall):
(C.prototype.get field):
(C.prototype.compoundAssignment):
(C):

  • test262/test/language/expressions/unary-plus/S11.4.6_A3_T3.js:

(new.Number):
(isNaN):

  • test262/test/language/statements/for-in/S12.6.4_A7_T2.js:

(erasator_T_1000):
(accum.indexOf.string_appeared_here.1.accum.indexOf): Deleted.
(accum.indexOf): Deleted.

  • test262/test262-Revision.txt:
3:47 PM Changeset in webkit [293796] by Karl Rackler
  • 3 edits in trunk/LayoutTests

[ iOS ][ macOS Debug wk1 ] webaudio/AudioBuffer/huge-buffer.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240081

Unreviewed test gardening.

Canonical link: https://commits.webkit.org/250270@main

3:03 PM Changeset in webkit [293795] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS][GPUP] Grant read access to font directory
https://bugs.webkit.org/show_bug.cgi?id=240080

Reviewed by Brent Fulgham.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
2:55 PM Changeset in webkit [293794] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] WebCore should search system content path for nested Frameworks
https://bugs.webkit.org/show_bug.cgi?id=240063

Reviewed by Alexey Proskuryakov.

Changed nested frameworks directory to be below where WebCore will be installed
when building with the system content path.

  • Configurations/WebCore.xcconfig:
2:23 PM Changeset in webkit [293793] by Alan Coon
  • 6 edits in branches/safari-613-branch/Source/WebKit

Apply patch. rdar://problem/88904160

2:23 PM Changeset in webkit [293792] by Alan Coon
  • 48 edits in branches/safari-613-branch/Source/WebCore

Apply patch. rdar://problem/75450208

2:23 PM Changeset in webkit [293791] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r291299. rdar://problem/91446377

Line Builder and Content Breaker out of sync
https://bugs.webkit.org/show_bug.cgi?id=237903

Reviewed by Simon Fraser.

Line builder and content breaker could become out of sync in the case where
the first line style was different than following styles. This could result
in issues with wrapping later on.

  • layout/formattingContexts/inline/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::handleInlineContent):

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

2:18 PM Changeset in webkit [293790] by Kate Cheney
  • 5 edits in trunk

REGRESSION (r293427): [ iOS ] http/tests/quicklook/same-origin-xmlhttprequest-allowed.html is a constant crash and failure (240024)
https://bugs.webkit.org/show_bug.cgi?id=240024
rdar://92678727

Reviewed by Wenson Hsieh.

Source/WebCore:

No new tests, this will fix a failing test.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::isLoadingRemoteArchive):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::scheduleArchiveLoad):

  • loader/DocumentLoader.h:

LayoutTests:

  • platform/ios/TestExpectations:
1:59 PM Changeset in webkit [293789] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.11.6

Tag WebKit-7614.1.11.6.

1:41 PM Changeset in webkit [293788] by Russell Epstein
  • 9 edits in branches/safari-614.1.11-branch/Source

Versioning.

WebKit-7614.1.11.6

1:36 PM Changeset in webkit [293787] by Karl Rackler
  • 3 edits in trunk/LayoutTests

[Gardening][iOS Mac ] imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/same-hash.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=237552

Unreviewed test gardening.

Canonical link: https://commits.webkit.org/250266@main

1:28 PM Changeset in webkit [293786] by J Pascoe
  • 3 edits in trunk/Source/WebKit

[WebAuthn] Remove user gesture requirement for mediation=conditional assertions
https://bugs.webkit.org/show_bug.cgi?id=240038
rdar://92137603

Reviewed by Brent Fulgham.

Conditional assertions are non-modal and already require a gesture to complete via
a different mechanism.

Tested manually on device.

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:

(WebKit::configurationAssertionRequestContext):

  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:

(WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):

1:22 PM Changeset in webkit [293785] by Brent Fulgham
  • 33 edits in trunk

Remove deprecated 'JavaEnabled' feature flag and related code
https://bugs.webkit.org/show_bug.cgi?id=240044

Reviewed by Darin Adler.

We removed support for Java Plug-Ins in macOS 10.15, but never removed the preference. To reduce code complexity
and build times we should remove this unused preference, leaving non-functional stubs to avoid breaking binaries
that expect to call their accessor methods.

Source/WebCore:

  • loader/ResourceLoadStatistics.cpp:

(WebCore::navigatorAPIEnumToString):

  • loader/ResourceLoadStatistics.h:
  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::pluginIsLoadable):

  • page/Navigator.cpp:

(WebCore::Navigator::javaEnabled const): Deleted.

  • page/Navigator.h:

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetJavaEnabled):
(WKPreferencesGetJavaEnabled):
(WKPreferencesSetJavaEnabledForLocalFiles):
(WKPreferencesGetJavaEnabledForLocalFiles):

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences encodeWithCoder:]):
(-[WKPreferences initWithCoder:]):
(-[WKPreferences javaEnabled]):
(-[WKPreferences setJavaEnabled:]):
(-[WKPreferences _setJavaEnabledForLocalFiles:]):
(-[WKPreferences _javaEnabledForLocalFiles]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/glib/WebKitSettings.cpp:
  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::createWithLegacyDefaults):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController init]):

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences isJavaEnabled]):
(-[WebPreferences setJavaEnabled:]):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openLocalFrontend):

  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::isJavaEnabled):
(WebPreferences::setJavaEnabled):

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:

Tools:

  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::defaults):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/Coding.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/Copying.mm:

(TEST):

1:20 PM Changeset in webkit [293784] by Jonathan Bedard
  • 12 edits in trunk/Tools

[git-webkit] Populate commit message with bug details
https://bugs.webkit.org/show_bug.cgi?id=240022
<rdar://problem/92674438>

Reviewed by Dewei Zhu.

  • Tools/Scripts/hooks/prepare-commit-msg: Pull title and bugs from environment variables.
  • Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py:

(PopenBase.init): Support environment variables.
(PopenBase.poll): Ditto.
(Popen.init): Ditto.

  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/subprocess.py:

(Subprocess.CommandRoute.init): Support environment variables.
(Subprocess.CommandRoute.matches): Ditto
(Subprocess.CommandRoute.call): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: Pull title and bugs from

environment variables.
(Branch.main): Pass bug title and URLs to caller via args.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.create_commit): Pass title and bug urls to git commit.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:

Canonical link: https://commits.webkit.org/250263@main

12:20 PM Changeset in webkit [293783] by Robert Jenner
  • 4 edits in trunk/Tools

REGRESSION(r287574-r287580): [ iOS ] 3 TestWebKitAPI.WebKitLegacy.* tests are constantly crashing (ScrollingDoesNotPauseMedia, PreemptVideoFullscreen, AudioSessionCategoryIOS)
https://bugs.webkit.org/show_bug.cgi?id=237125>

Unreviewed test gardening. Disabling API-tests for iOS.

  • TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitLegacy/ios/PreemptVideoFullscreen.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:

(TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/250262@main

12:03 PM Changeset in webkit [293782] by Ben Nham
  • 4 edits in trunk/Source/WebKit

Add push service result logging
https://bugs.webkit.org/show_bug.cgi?id=240035

Reviewed by Geoffrey Garen.

This adds logging to make it easier to debug certain errors we have seen internally (e.g.
unexpectedly missing subscriptions and service workers that aren't spawning to service push
events):

  1. In some cases, it appears that a push event is coming in, but the service worker to handle the event never spawns. This can happen if we think an origin doesn't have permission to show a notification in UIProcess and we bail out early. Currently we don't have logging for this case.

To fix this, I removed the early bail-out in NetworkProcessProxy::processPushMessage
entirely. Instead, we always IPC the message to NetworkProcess::processPushMessage.

This will trigger existing logging around whether a service worker spawns to handle the
push event on the NetworkProcess side. The optimization to not spawn NetworkProcess in
the permission-denied case will not be used in the long run, because we plan to move the
subscription to the ignore list in this case (see the FIXME in
NetworkProcess::processPushMessage), which requires spawning NetworkProcess to message
webpushd anyway.

  1. For push service requests that produce a result, we additionally log whether or not the result exists (e.g. to know if a push subscription exists or not).
  1. Add logging for the cases where WebKit explicitly asks webpushd to bulk-remove subscriptions.
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::processPushMessage):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::processPushMessage):

  • webpushd/PushService.mm:

(WebPushD::PushServiceRequestImpl::fulfill):
(WebPushD::PushService::removeRecordsForBundleIdentifier):
(WebPushD::PushService::removeRecordsForBundleIdentifierAndOrigin):

Canonical link: https://commits.webkit.org/250261@main

11:14 AM Changeset in webkit [293781] by Karl Rackler
  • 3 edits in trunk/LayoutTests

REGRESSION (r293506): [ iOS ][ macOS ] imported/w3c/web-platform-tests/service-workers/service-worker/registration-updateviacache.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240074

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:

Canonical link: https://commits.webkit.org/250260@main

10:47 AM Changeset in webkit [293780] by Jonathan Bedard
  • 3 edits in trunk/Tools

[ews.webkit.org] Hide sensitive content for alternate remotes
https://bugs.webkit.org/show_bug.cgi?id=239988
<rdar://problem/92639150>

Reviewed by Aakash Jain.

  • CISupport/ews-build/steps.py:

(ConfigureBuild.add_pr_details): PRs targeting alternate hosts are sensitive.
(DetermineLandedIdentifier.start): Hide step for sensitive PRs.
(AddReviewerToChangeLog.hideStepIf): Ditto.
(ValidateCommitMessage): Implement with steps.ShellSequence
(ValidateCommitMessage.init):
(ValidateCommitMessage.run): Use grep to search for appropriate commit message string and hide
the content of the commit message itself.
(ValidateCommitMessage.start): Logic moved to ValidateCommitMessage.run.
(ValidateCommitMessage.evaluateCommand): Ditto.

  • CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/250259@main

10:44 AM Changeset in webkit [293779] by mark.lam@apple.com
  • 22 edits in trunk/Source

Use IterationStatus in more places.
https://bugs.webkit.org/show_bug.cgi?id=239864

Reviewed by Saam Barati.

Source/JavaScriptCore:

There's no need for a StackVisitor::Status and a VMInspector::FunctorStatus which
represent the same idea.

  • API/JSContextRef.cpp:

(BacktraceFunctor::operator() const):

  • bytecode/CodeBlock.cpp:

(JSC::RecursionCheckFunctor::operator() const):

  • debugger/DebuggerCallFrame.cpp:

(JSC::LineAndColumnFunctor::operator() const):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::CreateScriptCallStackFunctor::operator() const):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::callerSourceOrigin):
(JSC::CallFrame::globalObjectOfClosestCodeBlock):

  • interpreter/CallFrame.h:
  • interpreter/Interpreter.cpp:

(JSC::GetStackTraceFunctor::operator() const):
(JSC::Interpreter::getStackTrace):
(JSC::GetCatchHandlerFunctor::operator() const):
(JSC::UnwindFunctor::operator() const):

  • interpreter/ShadowChicken.cpp:

(JSC::ShadowChicken::update):

  • interpreter/StackVisitor.h:

(JSC::StackVisitor::visit):
(JSC::CallerFunctor::operator() const):

  • jsc.cpp:

(FunctionJSCStackFunctor::operator() const):
(startTimeoutTimer):

  • runtime/Error.cpp:

(JSC::FindFirstCallerFrameWithCodeblockFunctor::operator() const):

  • runtime/FunctionPrototype.cpp:

(JSC::RetrieveArgumentsFunctor::operator() const):
(JSC::RetrieveCallerFunctionFunctor::operator() const):

  • runtime/JSGlobalObject.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/NullSetterFunction.cpp:

(JSC::GetCallerStrictnessFunctor::operator() const):

  • tools/HeapVerifier.cpp:

(JSC::HeapVerifier::checkIfRecorded):

  • tools/JSDollarVM.cpp:

(JSC::CallerFrameJITTypeFunctor::operator() const):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • tools/VMInspector.cpp:

(JSC::VMInspector::forEachVM):
(JSC::VMInspector::isValidExecutableMemory):
(JSC::VMInspector::codeBlockForMachinePC):
(JSC::VMInspector::codeBlockForFrame):
(JSC::DumpFrameFunctor::operator() const):
(JSC::VMInspector::dumpRegisters):

  • tools/VMInspector.h:

(JSC::VMInspector::WTF_REQUIRES_LOCK):

Source/WebCore:

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::callerGlobalObject):

  • testing/Internals.cpp:

(WebCore::GetCallerCodeBlockFunctor::operator() const):

10:21 AM Changeset in webkit [293778] by Ben Nham
  • 1 edit in trunk/metadata/contributors.json

Unreviewed, add my GitHub account name to contributors.json

  • metadata/contributors.json:
10:11 AM Changeset in webkit [293777] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[Rebaseline] REGRESSION (r293038):[ iOS ] fast/forms/auto-fill-button/input-auto-fill-button.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240065

Unreviewed test gardening.

  • LayoutTests/platform/ios/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:

Canonical link: https://commits.webkit.org/250256@main

9:24 AM Changeset in webkit [293776] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/css/continuationCrash.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240069

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250255@main

8:35 AM Changeset in webkit [293775] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/forms/auto-fill-button/input-auto-fill-button.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240065

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250254@main

8:25 AM Changeset in webkit [293774] by Jonathan Bedard
  • 3 edits in trunk/Tools

[ews-build.webkit.org] Cache contributors by default
https://bugs.webkit.org/show_bug.cgi?id=240040
<rdar://problem/92695239>

Reviewed by Aakash Jain.

On-disk contributor record can get stale quickly. Rely on the network by default.

  • Tools/CISupport/ews-build/steps.py:

(GitHub.email_for_owners): Rely on the network contributors.json by default.
(Contributors.load): Force reload contributors every 4 hours. Use disk or remote if specifically
requested, otherwise default to remote. Use cache if not expired.
(ValidateCommitterAndReviewer.start): Rely on the network contributors.json by default.
(AddReviewerMixin.gitCommitEnvironment): Ditto.
(AddAuthorToCommitMessage.author): Ditto.

Canonical link: https://commits.webkit.org/250253@main

7:48 AM Changeset in webkit [293773] by Ziran Sun
  • 10 edits
    1 copy in trunk

[InputElement] Selection after type change needs to follow HTML specification
https://bugs.webkit.org/show_bug.cgi?id=237361

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra-expected.txt:

Source/WebCore:

As per spec at https://html.spec.whatwg.org/multipage/input.html#input-type-change,
following step 7-9, if the previous type doesn't support Selection API and the new type
does, selectionStart and selectionEnd should be 0, selectionDirection should be set to "none".

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::initializeInputType):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
7:23 AM Changeset in webkit [293772] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WTF

Unreviewed. Remove the build warning below since r293729.
warning: redundant move in return statement [-Wredundant-move]

  • wtf/DateMath.cpp:

(WTF::validateTimeZone):

3:43 AM Changeset in webkit [293771] by commit-queue@webkit.org
  • 8 edits in trunk

[GStreamer] Mediastream mock audio interruption fixes after r290985
https://bugs.webkit.org/show_bug.cgi?id=239926

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-04
Reviewed by Chris Dumez.

Similarly to mock video sources, the GStreamer mock audio sources are now cached in a
hashset, which is used to dispatch interruption requests.

  • platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:

(WebCore::GStreamerAudioCaptureSource::interrupted const): Avoid runtime critical GObject
warnings that would happen if this method is called before the pipeline has been created.

  • platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp: Cache mock sources in a hashset.

(WebCore::MockRealtimeAudioSourceGStreamer::~MockRealtimeAudioSourceGStreamer):

  • platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.h:
  • platform/mock/MockRealtimeAudioSource.cpp: Dispatch interruption requests to currently

cached GStreamer mock audio sources.
(WebCore::MockRealtimeAudioSource::setIsInterrupted):

  • platform/mock/MockRealtimeVideoSource.cpp: Switch to MainThreadNeverDestroyed<T> for caching sources.

(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
(WebCore::MockRealtimeVideoSource::~MockRealtimeVideoSource):

LayoutTests:

  • platform/glib/TestExpectations: Unflag mediastream tests now passing.

Canonical link: https://commits.webkit.org/250250@main

3:31 AM Changeset in webkit [293770] by commit-queue@webkit.org
  • 12 edits in trunk

DisplayList::Recorder has redundant, unused flushContext
https://bugs.webkit.org/show_bug.cgi?id=239999

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-04
Reviewed by Simon Fraser.

Remove DisplayList::Recorder::flushContext(GraphicsContextFlushIdentifier)
It was unused.
Source/WebCore:

"Flush context" is not a display list item. It is a command for the graphics
context, issued a underlying resource is being used outside the graphics context
abstraction. As display list is working inside the abstraction, there's nothing
that could possibly use the underlying resources between flush and the next
item.

GraphicsContextFlushIdentifier cannot possibly be constructed in sensible way
at WebCore level.

  • platform/graphics/displaylists/DisplayListItems.h:
  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/displaylists/DisplayListRecorderImpl.h:

Source/WebKit:

It has wrong signature for proper operation for the concrete classes.

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
3:12 AM Changeset in webkit [293769] by youenn@apple.com
  • 5 edits
    1 delete in trunk/Source/WebKit

LibWebRTCCodecs does no longer need a pixel conformer
https://bugs.webkit.org/show_bug.cgi?id=240004

Reviewed by Eric Carlson.

Removing no longer used code.
No change of behavior.
Unified build fix.

  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.mm: Removed.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
2:30 AM Changeset in webkit [293768] by ysuzuki@apple.com
  • 3 edits in trunk/Source/WTF

[WTF] Initialize emptyString and nullString data at compile time
https://bugs.webkit.org/show_bug.cgi?id=240054

Reviewed by Mark Lam.

As we did for AtomString in r293757, we can initialize emptyString() and nullString()
data at compile time. This patch does that for WTF::String.

  • Source/WTF/wtf/text/WTFString.cpp:

(WTF::emptyString): Deleted.
(WTF::nullString): Deleted.

  • Source/WTF/wtf/text/WTFString.h:

(WTF::StaticString::StaticString):
(WTF::nullString):
(WTF::emptyString):

Canonical link: https://commits.webkit.org/250247@main

2:12 AM Changeset in webkit [293767] by commit-queue@webkit.org
  • 4 edits in trunk

Web Inspector: Update jsmin to 3.0.1
https://bugs.webkit.org/show_bug.cgi?id=239924

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-04
Reviewed by Yusuke Suzuki.

Updated jsmin from upstream version, applying a few style changes suggested by
check-webkit-style. This new version is Python3-only and also much faster. Old:

time python /app/webkit/Source/JavaScriptCore/Scripts/jsmin.py < /app/webkit/WebKitBuild/Release/WebInspectorUI/DerivedSources/Main.js > foo.js

real 1m21.234s
user 0m59.580s
sys 0m21.253s

New:

time python /app/webkit/Source/JavaScriptCore/Scripts/jsmin.py < /app/webkit/WebKitBuild/Release/WebInspectorUI/DerivedSources/Main.js > foo.js

real 0m3.933s
user 0m3.899s
sys 0m0.018s

  • Scripts/jsmin.py:

(jsmin):
(JavascriptMinify.init):
(JavascriptMinify.minify.write):
(JavascriptMinify.minify):
(JavascriptMinify):
(JavascriptMinify.regex_literal):
(JavascriptMinify.regex_literal.cannot):
(JavascriptMinify.line_comment):
(JavascriptMinify.block_comment):
(JavascriptMinify.newline):
(JavascriptMinify.minify.read): Deleted.

LayoutTests:

  • platform/gtk/inspector/timeline/line-column-expected.txt:

Canonical link: https://commits.webkit.org/250246@main

1:33 AM Changeset in webkit [293766] by Megan Gardner
  • 4 edits in trunk/Source

Enable TextCheckingType::Correction on MacCatalyst.
https://bugs.webkit.org/show_bug.cgi?id=240036

Reviewed by Wenson Hsieh.

Add TextCheckingType::Correction to Catalyst to bring consistency to macOS.

Source/WebCore:

  • editing/Editor.cpp:

(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::resolveTextCheckingTypeMask):

Source/WebKit:

  • UIProcess/ios/TextCheckerIOS.mm:

(WebKit::TextChecker::checkTextOfParagraph):

1:31 AM Changeset in webkit [293765] by Fujii Hironori
  • 3 edits in trunk/Source/WebCore

[WinCairo] Crash during MediaPlayerPrivateMediaFoundation::removeListener in the async callback thread
https://bugs.webkit.org/show_bug.cgi?id=239485

Reviewed by Don Olmstead.

WinCairo debug layout tests were observing a random crash while
MediaPlayerPrivateMediaFoundation::AsyncCallback was destructing.

m_mediaPlayer was being accessed without locking m_mutex in
~AsyncCallback.

m_mediaPlayer can be replaced with using a WeakPtr.

There is one more multi-threading problem. IMFAsyncCallback should
use InterlockedIncrement and InterlockedDecrement for
ref-counting.
Implementing the Asynchronous Callback - Win32 apps | Microsoft Docs
<https://docs.microsoft.com/en-us/windows/win32/medfound/implementing-the-asynchronous-callback>

This change re-implemented AsyncCallback with a WeakPtr, Function,
QISearch and Interlocked{In,De}crement.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AsyncCallback):
(WebCore::beginGetEvent):
(WebCore::MediaPlayerPrivateMediaFoundation::createSession):
(WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::onNetworkStateChanged):
(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::~AsyncCallback): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::QueryInterface): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AddRef): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Release): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::GetParameters): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke): Deleted.
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted): Deleted.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
12:14 AM Changeset in webkit [293764] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

RemoteImageBuffer ThreadSafeImageBufferFlusher hangs if GPU process crashes
https://bugs.webkit.org/show_bug.cgi?id=240007

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-04
Reviewed by Geoffrey Garen.

RemoteResourceCacheProxy clears the RemoteImageBuffer backend when the
GPUP is lost. Mark the flush as completed in this case, so that any pending
off-thread flush waits can proceed.

Make sure RemoteResourceCacheProxy clears the backends on destruction too,
so that any pending flushes proceed in this case too.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::clearImageBufferBackends):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
12:02 AM Changeset in webkit [293763] by Chris Dumez
  • 10 edits in trunk

Drop StringImpl::createFromLiteral()
https://bugs.webkit.org/show_bug.cgi?id=239792

Reviewed by Darin Adler.

Drop StringImpl::createFromLiteral().

Call sites that have an ASCIILiteral can now simply call StringImpl::create(ASCIILiteral).
Call sites that have raw characters can call the existing StringImpl::createWithoutCopying().

This simplifies our API a bit.

Also inline part of the createWithoutCopying() functions so that the 0-length check is
inline. This allows the compiler to optimize the check out when the length is known at
compile time (which is often the case with literals).

  • Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

  • Source/JavaScriptCore/API/JSScriptRef.cpp:
  • Source/JavaScriptCore/Scripts/wkbuiltins/builtins_templates.py:
  • Source/JavaScriptCore/builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::BuiltinExecutables):

  • Source/JavaScriptCore/runtime/IntlObject.cpp:

(JSC::availableUnits):

  • Source/WTF/wtf/text/StringImpl.cpp:

(WTF::StringImpl::createWithoutCopyingNonEmpty):
(WTF::StringImpl::createFromLiteral): Deleted.
(WTF::StringImpl::createWithoutCopying): Deleted.

  • Source/WTF/wtf/text/StringImpl.h:

(WTF::StringImpl::create):
(WTF::StringImpl::createWithoutCopying):
(WTF::StringImpl::createFromLiteral): Deleted.

  • Source/WTF/wtf/text/WTFString.h:

(WTF::String::String):

  • Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::updateFromElement):

Canonical link: https://commits.webkit.org/250242@main

May 3, 2022:

11:25 PM Changeset in webkit [293762] by Chris Dumez
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp

REGRESSION(r293285): ASSERTION FAILED: m_isConstructed /Volumes/Data/worker/Apple-Monterey-Debug-Build/build/WebKitBuild/Debug/usr/local/include/wtf/NeverDestroyed.h(152) : ..... [T = const WTF::AtomString, AccessTraits = WTF::MainThreadAccessTraits]
https://bugs.webkit.org/show_bug.cgi?id=240051

Reviewed by Yusuke Suzuki.

Make sure the tests initialize CommonAtomStrings since the implementation being tested seems
to rely on them.

  • Tools/TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp:

(TestWebKitAPI::createDocument):

Canonical link: https://commits.webkit.org/250241@main

11:19 PM Changeset in webkit [293761] by Chris Dumez
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm

REGRESSION(r293703):[ BigSur+ iOS ] TestWTF.WTF_URLExtras.URLExtras_ParsingError (API-Test) is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=240049

Reviewed by Yusuke Suzuki.

We need to pass the length of the string, which is the number of characters without the null terminator.
However, we were passing utf16.size(), which was one too many since the utf16 array contains the null
terminator at the end.

  • Tools/TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:

(TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/250239@main

11:18 PM Changeset in webkit [293760] by Chris Dumez
  • 15 edits in trunk/Source

Replace String::remove() by a makeStringByRemoving() free function
https://bugs.webkit.org/show_bug.cgi?id=239995

Reviewed by Yusuke Suzuki.

Replace String::remove() by a makeStringByRemoving() free function. This is a
step towards making String immutable.

  • Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::lastCNAMEDomain):

  • Source/WebKit/UIProcess/Inspector/win/InspectorResourceURLSchemeHandler.cpp:

(WebKit::InspectorResourceURLSchemeHandler::platformStartTask):

  • Source/WTF/wtf/URL.cpp:

(WTF::URL::remove):

  • Source/WTF/wtf/text/WTFString.cpp:

(WTF::makeStringByRemoving):
(WTF::String::removeInternal): Deleted.
(WTF::String::remove): Deleted.

  • Source/WTF/wtf/text/WTFString.h:
  • Source/WebCore/Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::playNextTone):

  • Source/WebCore/dom/CharacterData.cpp:

(WebCore::CharacterData::deleteData):

  • Source/WebCore/dom/FragmentDirectiveParser.cpp:

(WebCore::FragmentDirectiveParser::parseFragmentDirective):

  • Source/WebCore/dom/Range.cpp:

(WebCore::processContentsBetweenOffsets):

  • Source/WebCore/editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::deleteInsignificantText):

  • Source/WebCore/inspector/InspectorOverlayLabel.cpp:

(WebCore::InspectorOverlayLabel::draw):

  • Source/WebCore/inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::deleteRule):

  • Source/WebCore/platform/graphics/gstreamer/mse/GStreamerMediaDescription.cpp:

(WebCore::GStreamerMediaDescription::extractCodecName):

  • Source/WebCore/platform/network/curl/CookieJarDB.cpp:

(WebCore::CookieJarDB::deleteCookie):

  • Source/WebCore/platform/text/win/LocaleWin.cpp:

(WebCore::LocaleWin::shortTimeFormat):

Canonical link: https://commits.webkit.org/250239@main

11:14 PM Changeset in webkit [293759] by zan@falconsigh.net
  • 3 edits in trunk/Source/JavaScriptCore

[RISCV64] Implement MacroAssemblerRISCV64 move-conditionally methods
https://bugs.webkit.org/show_bug.cgi?id=239998

Reviewed by Yusuke Suzuki.

Provide implementations for the variants of the move-conditionally
operation in MacroAssemblerRISCV64. These are true macro operations,
often requiring scratch registers and branches to implement the
behavior since the RISC-V ISA doesn't provide appropriate instructions
out-of-the-box.

Test cases in testmasm are also enabled, including some additional
guards to avoid unused-variable warnings at build-time.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::moveConditionally32):
(JSC::MacroAssemblerRISCV64::moveConditionally64):
(JSC::MacroAssemblerRISCV64::moveConditionallyFloat):
(JSC::MacroAssemblerRISCV64::moveConditionallyDouble):
(JSC::MacroAssemblerRISCV64::moveConditionallyTest32):
(JSC::MacroAssemblerRISCV64::moveConditionallyTest64):
(JSC::MacroAssemblerRISCV64::moveDoubleConditionally32):
(JSC::MacroAssemblerRISCV64::moveDoubleConditionally64):
(JSC::MacroAssemblerRISCV64::moveDoubleConditionallyFloat):
(JSC::MacroAssemblerRISCV64::moveDoubleConditionallyDouble):
(JSC::MacroAssemblerRISCV64::moveDoubleConditionallyTest32):
(JSC::MacroAssemblerRISCV64::moveDoubleConditionallyTest64):
(JSC::MacroAssemblerRISCV64::branchForMoveConditionally):

  • assembler/testmasm.cpp:

(JSC::testProbeModifiesStackPointer):
(JSC::testProbeModifiesStackValues):

8:17 PM Changeset in webkit [293758] by pvollan@apple.com
  • 5 edits in trunk/Source/WebKit

Add logging related to Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=240032

Reviewed by Geoffrey Garen.

We have reports indicating that it can sometime take unexpectedly long time for the Network process to provide
the Launch Services database to the WebContent and GPU process. Add some logging to help diagnose the issue.
There are also some related selector response checks that can be removed now.

  • NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:

(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):
(WebKit::databaseContext): Deleted.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::didFinishLaunching):

  • UIProcess/Network/NetworkProcessProxyCocoa.mm:

(WebKit::NetworkProcessProxy::sendXPCEndpointToProcess):

  • WebProcess/cocoa/LaunchServicesDatabaseManager.mm:

(WebKit::LaunchServicesDatabaseManager::handleEvent):

7:27 PM Changeset in webkit [293757] by ysuzuki@apple.com
  • 9 edits in trunk/Source

[JSC] Initialize empty and null AtomString at compile time
https://bugs.webkit.org/show_bug.cgi?id=240031

Reviewed by Mark Lam.

Because they are initialized from static data, we can just initialize them
at compile time, and we do not need to have AtomString::init.

  • Source/WebKit/WebAuthnProcess/WebAuthnProcess.cpp:

(WebKit::WebAuthnProcess::initializeWebAuthnProcess):

  • Source/WTF/wtf/Threading.cpp:

(WTF::initialize):

  • Source/WTF/wtf/text/AtomString.cpp:

(WTF::AtomString::init): Deleted.

  • Source/WTF/wtf/text/AtomString.h:

(WTF::StaticAtomString::StaticAtomString):
(WTF::nullAtom):
(WTF::emptyAtom):

  • Source/WebCore/dom/make_names.pl:

(printInit):

Canonical link: https://commits.webkit.org/250236@main

6:44 PM Changeset in webkit [293756] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

webgl/1.0.3/conformance/state/gl-object-get-calls.html times out after turning WebGL in GPUP on by default
https://bugs.webkit.org/show_bug.cgi?id=238691
<rdar://problem/91191670>

Unreviewed test gardening.

Patch by Dan Glastonbury <djg@apple.com> on 2022-05-03

  • webgl/TestExpectations:
5:40 PM Changeset in webkit [293755] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 143

Added a tag for Safari Technology Preview release 143.

5:40 PM Changeset in webkit [293754] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 132

Added a tag for Safari Technology Preview release 132.

5:39 PM Changeset in webkit [293753] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 131

Added a tag for Safari Technology Preview release 131.

5:39 PM Changeset in webkit [293752] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 130

Added a tag for Safari Technology Preview release 130.

5:37 PM Changeset in webkit [293751] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 129

Added a tag for Safari Technology Preview release 129.

5:37 PM Changeset in webkit [293750] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 128

Added a tag for Safari Technology Preview release 128.

5:36 PM Changeset in webkit [293749] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 127

Added a tag for Safari Technology Preview release 127.

5:36 PM Changeset in webkit [293748] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 126

Added a tag for Safari Technology Preview release 126.

5:36 PM Changeset in webkit [293747] by Alan Coon
  • 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 125

Added a tag for Safari Technology Preview release 125.

4:27 PM Changeset in webkit [293746] by ysuzuki@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

[JSC] Extend Structure heap size from 1GB to 4GB
https://bugs.webkit.org/show_bug.cgi?id=240028

Reviewed by Saam Barati.

1GB was much smaller compared to StructureIDTable (which allowed 7GB).
This patch extends 1GB to 4GB, that's maximum limit of the current encoding scheme (we can
extend it further to 64GB if we introduce shift based on alignment, but currently not used).
We use this 4GB on platforms which has enough virtual address space.

  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • Source/JavaScriptCore/jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitNonNullDecodeStructureID):

  • Source/JavaScriptCore/runtime/JSCConfig.h:

Canonical link: https://commits.webkit.org/250234@main

4:02 PM Changeset in webkit [293745] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Some layout tests are failing on EWS but not post commit testing due to a OS difference
https://bugs.webkit.org/show_bug.cgi?id=239564

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250233@main

3:55 PM Changeset in webkit [293744] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

Unreviewed, reverting r293743.
https://bugs.webkit.org/show_bug.cgi?id=240042

Introduced debug assert

Reverted changeset:

"Add logging related to Launch Services database"
https://bugs.webkit.org/show_bug.cgi?id=240032
https://commits.webkit.org/r293743

3:23 PM Changeset in webkit [293743] by pvollan@apple.com
  • 5 edits in trunk/Source/WebKit

Add logging related to Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=240032

Reviewed by Geoffrey Garen.

We have reports indicating that it can sometime take unexpectedly long time for the Network process to provide
the Launch Services database to the WebContent and GPU process. Add some logging to help diagnose the issue.
There are also some related selector response checks that can be removed now.

  • NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:

(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):
(WebKit::databaseContext): Deleted.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::didFinishLaunching):

  • UIProcess/Network/NetworkProcessProxyCocoa.mm:

(WebKit::NetworkProcessProxy::sendXPCEndpointToProcess):

  • WebProcess/cocoa/LaunchServicesDatabaseManager.mm:

(WebKit::LaunchServicesDatabaseManager::handleEvent):

3:10 PM Changeset in webkit [293742] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[macOS] Make a couple of grammar checking tests more robust to system spell checker changes
https://bugs.webkit.org/show_bug.cgi?id=240034
rdar://92689657

Reviewed by Aditya Keerthi.

In some versions of macOS, feeding the following sentence to NSSpellChecker:

"the the adlj adaasj sdklj. there there"

...no longer yields grammar errors at "the the" and "there there", due to presence of duplicated "the" and
"there", which causes a couple of layout tests to time out.

This patch works around the system changes by swizzling out spell checking results, such that we don't need to
rely on the default NSSpellChecker always tagging "the the" and "there there" as grammar errors.

  • editing/spelling/inline-spelling-markers-hidpi.html:
  • editing/spelling/inline-spelling-markers.html:

Canonical link: https://commits.webkit.org/250230@main

2:55 PM Changeset in webkit [293741] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Rebase fast/forms/select-list-box-with-height.html and fast/forms/control-restrict-line-height.html
https://bugs.webkit.org/show_bug.cgi?id=240039

Unreviewed test gardening.

  • LayoutTests/platform/ios/fast/forms/control-restrict-line-height-expected.txt:
  • LayoutTests/platform/ios/fast/forms/select-list-box-with-height-expected.txt:

Canonical link: https://commits.webkit.org/250229@main

2:22 PM Changeset in webkit [293740] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/LayoutTests

Fix rebase from 250225@main
https://bugs.webkit.org/show_bug.cgi?id=239569

Unreviewed test gardening.

  • LayoutTests/platform/ios/tables/mozilla/bugs/bug2479-3-expected.txt:
  • LayoutTests/tables/mozilla/bugs/bug2479-3-expected.txt: Removed.

Canonical link: https://commits.webkit.org/250228@main

2:18 PM Changeset in webkit [293739] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS ] css3/background/background-repeat-space-content.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=240037

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250227@main

2:01 PM Changeset in webkit [293738] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION (r293427): [ iOS ] http/tests/quicklook/same-origin-xmlhttprequest-allowed.html is a constant failure and crash
https://bugs.webkit.org/show_bug.cgi?id=240024

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250226@main

1:54 PM Changeset in webkit [293737] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Rebase tables/mozilla/bugs/bug2479-3.html
https://bugs.webkit.org/show_bug.cgi?id=239569

Unreviewed test gardening.

  • LayoutTests/tables/mozilla/bugs/bug2479-3-expected.txt: Added.

Canonical link: https://commits.webkit.org/250225@main

1:18 PM Changeset in webkit [293736] by sihui_liu@apple.com
  • 3 edits
    3 adds in trunk

StorageMap::removeItem may fail to remove item from map
https://bugs.webkit.org/show_bug.cgi?id=239982
rdar://80891555

Reviewed by Chris Dumez.

Source/WebCore:

We may have updated m_impl, but we don't update iterator for removal. In this case, item is not removed from
map, but currentSize is updated. The mismatch between currentSize and actual size of the map may lead to
underflow and overflow in currentSize when item is added or removed later.

Test: storage/domstorage/sessionstorage/window-open-remove-item.html

  • storage/StorageMap.cpp:

(WebCore::StorageMap::removeItem):

LayoutTests:

  • storage/domstorage/sessionstorage/resources/window-open-remove-item.html: Added.
  • storage/domstorage/sessionstorage/window-open-remove-item-expected.txt: Added.
  • storage/domstorage/sessionstorage/window-open-remove-item.html: Added.
12:15 PM Changeset in webkit [293735] by Chris Dumez
  • 7 edits in trunk

REGRESSION (r293703): 358 JSC tests failing
https://bugs.webkit.org/show_bug.cgi?id=240023

Reviewed by Yusuke Suzuki.

Make sure WTF::initialize() calls AtomString::init() given that JSC now relies on
emptyAtom().

  • Tools/TestWebKitAPI/TestsController.cpp:

(TestWebKitAPI::TestsController::TestsController):

  • Source/WTF/wtf/Threading.cpp:

(WTF::initialize):

  • Source/WTF/wtf/text/AtomString.cpp:

(WTF::AtomString::init):

  • Source/WebCore/platform/CommonAtomStrings.cpp:

(WebCore::initializeCommonAtomStrings):

Canonical link: https://commits.webkit.org/250223@main

11:47 AM Changeset in webkit [293734] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS][WP] Only block IOKit access if all GPUP features are enabled
https://bugs.webkit.org/show_bug.cgi?id=240010

Reviewed by Tim Horton.

Only block IOKit access in the WebContent process' sandbox on iOS if all GPUP features are enabled.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_appHighlightsVisible):

11:25 AM Changeset in webkit [293733] by pvollan@apple.com
  • 5 edits in trunk/Source/WebKit

[iOS][GPUP] Remove Mach sandbox extensions for non browser clients
https://bugs.webkit.org/show_bug.cgi?id=240008

Reviewed by Geoffrey Garen.

Remove Mach sandbox extensions for clients that are not browsers in the GPU process on iOS. The same set of extensions
has recently been removed from the WebContent process. We also block these in the GPU process' sandbox, so there should
be no change in behavior.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::initializeGPUProcess):

  • GPUProcess/GPUProcessCreationParameters.cpp:

(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):

  • GPUProcess/GPUProcessCreationParameters.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::GPUProcessProxy):
(WebKit::nonBrowserServices): Deleted.

11:23 AM Changeset in webkit [293732] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS][WP] Remove obsolete message filter
https://bugs.webkit.org/show_bug.cgi?id=240012

Reviewed by Geoffrey Garen.

Remove obsolete message filter in the WebContent process on iOS. This filtering is now enabled by the
GPU restricted entitlement we have added for the WebContent process.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
11:06 AM Changeset in webkit [293731] by Robert Jenner
  • 5 edits in trunk/LayoutTests

[ Test Gardening ] Batch remove expectations no longer needed
https://bugs.webkit.org/show_bug.cgi?id=240021

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:

Canonical link: https://commits.webkit.org/250219@main

10:37 AM Changeset in webkit [293730] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[iOS] The "Copy Cropped Image" context menu action should be gated on cropped image results
https://bugs.webkit.org/show_bug.cgi?id=240013
rdar://88941787

Reviewed by Tim Horton.

Only show this item in the context menu when long pressing in the case where requestImageAnalysisMarkup
computes a non-null result for the given image bitmap. This gating logic runs alongside existing gating logic
for both the visual search item ("Look Up") and "Show Text" actions. See below for more details.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _setUpImageAnalysis]):
(-[WKContentView _tearDownImageAnalysis]):

Introduce a _croppedImageResult ivar to cache the CGImage result after running image analysis over the image
corresponding to the element for which we're showing the context menu. This is reset in the same lifecycle as
the extant _hasVisualSearchResults and _hasSelectableTextInImage flags which are used for the same purpose.

(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView _completeImageAnalysisRequestForContextMenu:requestIdentifier:hasTextResults:]):

This is the codepath that currently prevents us from showing the context menu until we know whether or not there
are relevant visual search results, such that we can conditionally show the "Look Up" context menu item. Adjust
this so that it calls -_invokeAllActionsToPerformAfterPendingImageAnalysis: only after we've also determined
whether or not there is a non-null cropped image result, so that we can also conditionally show the "Copy
Cropped Image" item.

To achieve this, we move the call to -_invokeAllActionsToPerformAfterPendingImageAnalysis: into a
WTF::CallbackAggregator, and ref/deref the aggregator when invoking both of the async image analysis
operations. When the callback aggregator is destroyed (i.e., after both async image analysis operations are
complete), we proceed with showing the context menu.

(-[WKContentView imageAnalysisGestureDidTimeOut:]):

Implement similar logic as above, but for the scenario where we show the context menu after the user continues
to long press after selecting text inside of an image.

(-[WKContentView actionSheetAssistantShouldIncludeCopyCroppedImageAction:]):

Only show the item if _croppedImageResult is non-null.

(-[WKContentView actionSheetAssistant:copyCroppedImage:sourceMIMEType:]):

Instead of running image analysis and writing the resulting image to the clipboard, simply transcode the cached
image in _croppedImageResult.

Canonical link: https://commits.webkit.org/250218@main

10:06 AM Changeset in webkit [293729] by yurys@chromium.org
  • 29 edits
    1 add in trunk

[WK2] Add API to allow embedder to set a timezone override
https://bugs.webkit.org/show_bug.cgi?id=213884

Source/JavaScriptCore:

Reviewed by Yusuke Suzuki.

  • runtime/DateConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/DateConversion.cpp:

(JSC::formatDateTime): Format the overridden timezone if it's enabled.

  • runtime/DateConversion.h:
  • runtime/DatePrototype.cpp:

(JSC::formateDateInstance):

  • runtime/JSDateMath.cpp:

(JSC::toICUTimeZone):
(JSC::toOpaqueICUTimeZone):
(JSC::OpaqueICUTimeZoneDeleter::operator()):
(JSC::DateCache::calculateLocalTimeOffset):
(JSC::DateCache::defaultTimeZone):
(JSC::DateCache::timeZoneDisplayNameOverride):
(JSC::DateCache::timeZoneCacheSlow): Apply timezone override if it is set.
(JSC::DateCache::resetIfNecessary):

  • runtime/JSDateMath.h:

Source/WebKit:

Reviewed by Yusuke Suzuki.

This patch adds:

  • new Cocoa API
  • new Glib API (targetting both WPE and GTK ports)
  • new C API (for the win port)

that allows the embedder to set a timezone override for the underlying PageConfiguration.
Since this API is not exposed in glib ports, a new contruct-time-only property was added to
the WebKitWebContext API. It would also allow fine-grained control over multiple pages, for
instance it's not possible currently to have two pages in different timezones.

No new layout tests, this change is covered by new API tests.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyTimeZoneOverride):
(WKContextConfigurationSetTimeZoneOverride):

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration timeZoneOverride]):
(-[_WKProcessPoolConfiguration setTimeZoneOverride:]):

  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkitWebContextGetProperty):
(webkitWebContextSetProperty):
(webkitWebContextConstructed):
(webkit_web_context_class_init):
(webkit_web_context_set_time_zone_override):
(webkit_web_context_get_time_zone_override):

  • UIProcess/API/gtk/WebKitWebContext.h:
  • UIProcess/API/wpe/WebKitWebContext.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Apply timezone override if any on process start.

Source/WTF:

Reviewed by Yusuke Suzuki.

  • wtf/DateMath.cpp: New APIs to control and query the timezone override.

(WTF::innerTimeZoneOverride): Static storage of the override informations.
(WTF::WTF_REQUIRES_LOCK):
(WTF::validateTimeZone): New function allowing to check if a timezone identifier is valid according to ICU's database and covert it
to UChar buffer suitable for passing to ucal.
(WTF::isTimeZoneValid):
(WTF::setTimeZoneOverride): New API to set the timezone override, this is meant to be
used on newly created WebProcesses. In addition to providing alternative name for the code
that calls into ICU library, on POSIX systems writes new timezone to "TZ" environement
variable to adjust result of strftime (called in formatDateTime).
(WTF::getTimeZoneOverride): Query the timezone override.

  • wtf/DateMath.h:

Tools:

Reviewed by Yusuke Suzuki.

Add API tests for the timezone configuration API. The GTK and WPE MiniBrowsers also gained
new runtime options allowing to exercise this new API.

  • MiniBrowser/gtk/main.c:

(activate):

  • MiniBrowser/wpe/main.cpp:

(main):

  • TestWebKitAPI/SourcesCocoa.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/TimeZoneOverride.mm: Added.

(TimeZoneOverrideTest::runScriptAndExecuteCallback):
(TimeZoneOverrideTest::callAsyncFunctionBody):
(TEST_F):

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:

(testWebContextTimeZoneOverride):
(testWebContextTimeZoneOverrideInWorker):
(beforeAll):

  • TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:

(main):

  • TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:

(runJavaScriptReadyCallback):
(WebViewTest::runJavaScriptAndWaitUntilFinished):

  • TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
  • flatpak/flatpakutils.py:

(WebkitFlatpak.run_in_sandbox):

9:09 AM Changeset in webkit [293728] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Fix buggy assert in CoreAudioSharedUnit::configureSpeakerProc
https://bugs.webkit.org/show_bug.cgi?id=240001

Reviewed by Eric Carlson.

Manually tested.

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

Initialize the sampleRate field before using it.

9:02 AM Changeset in webkit [293727] by Patrick Angle
  • 7 edits in trunk

Web Inspector: Importing a timeline leaves timeline overview non-scrollable/non-zoomable until windows is resized
https://bugs.webkit.org/show_bug.cgi?id=239880

Reviewed by Devin Rousso.

Source/WebInspectorUI:

Cancelling an in-progress layout (or the layout of a child of a view in middle of laying out) led to
_dirtyDescendantsCount being in an inconsistent state. Views had their _dirtyDescendantsCount cleared before
they are laid out, so every non-zero _dirtyDescendantsCount of a view in the process of being laid out meant
that during layout needsLayout() was called to dirty that view or one of its children. In this case, a
previous cancellation meant that the TimelineOverview ended up in an inconsistent state where its parent view
tree was not aware that it needed layout because it reached a zero _dirtyDescendantsCount while walking down
the view hierarchy, which meant that the TimelineOverview was perpetually stuck until the entire view hierarchy
needed re-laid out due to a window resize or similar event.

Our current accounting for _dirtyDescendantsCount in View makes assumptions that are not always true during
layout. Specifically that parents of views undergoing layout will have a non-zero _dirtyDescendantsCount still
from which to subtract in _cancelScheduledLayoutForView. This wasn't always true because as soon as we began
laying out a parent view, we cleared both the _dirty flag as well as zeroed out _dirtyDescendantsCount. In
the case of cancelling a layout from within a layout, the cancellation wouldn't actually take effect anyways,
and since cancelLayout was only ever invoked from updateLayout, the relevant layout flags should instead be
cleared as part of actually performing the layout. cancelLayout at most saved us a rAF callback only to
realize we no longer have any views in need of layout, but this benefit was negligible, and in general we should
prefer not to be calling updateLayout for performance reasons anyways.

This patch improves the accounting around _dirtyDescendantsCount, making sure to decrement it as we perform
layout, instead of all at once. This reduces our reliance on assumptions about who will modify the
_dirtyDescendantsCount and at what times relative to layout.

The only time in this patch that we do not do a +1/-1 adjustment to the layout count is in the special case of
attaching/detaching a view. In that case, the parent tree from which we are detaching the view will have the
_dirtyDescendantsCount of the detached parent adjusted by the _dirtyDescendantsCount of the former child
view. This is done by _setSelfAndDescendantsNotDirty, which allows us to avoid an exponential walking of the
tree for this otherwise self-contained operation (we don't call into any overridable functions that could modify
the _dirty flag or _dirtyDescendantsCount).

After we have cleaned up the former parent branch of the tree, we mark the newly attached view as needing
layout, which will then ensure the child view gets laid out again by marking it as dirty and incrementing its
new parent branch of the tree's _dirtyDescendantsCount.

  • UserInterface/Views/View.js:

(WI.View.prototype.insertSubviewBefore):

  • Add assertion that the view is not currently a child of a different view in addition to the existing check

that a view is not already a child of the target view.

(WI.View.prototype._setDirty):

  • New utility method through which (almost) all marking of dirty/not dirty should be done in order to ensure

that _dirtyDescendantsCount is correctly adjusted.

(WI.View.prototype._didMoveToParent):

  • Mark the view and all subviews as not dirty before removing it from its previous parent in order to adjust

_dirtyDescendantsCount appropriately, and then mark the view as dirty once attached to its new parent.

  • Inline the logic from WI.View.prototype._didMoveToWindow in order to also handle marking children as not dirty

and having a zeroed _dirtyDescendantsCount.

  • This method contains the exception to the rule that _dirtyDescendantsCount is always incremented/decremented

by one. Here we are able to optimize away the need to walk the entire parent tree for each subview/subviews of
subviews/etc. because the operation takes place all at once with no overridable function being called where we
have to worry about mutations to _dirty/_dirtyDescendantsCount.

(WI.View.prototype._layoutSubtree):
(WI.View._visitViewTreeForLayout):

  • Don't zero out the _dirtyDescendantsCount, and instead use the new _setDirty helper.

(WI.View._scheduleLayoutForView):

  • Don't zero out the _dirtyDescendantsCount, and instead use the new _setDirty helper.
  • Mark the view as dirty after checking if its attached a view so that detached views have no dirty state until

they are attached, at which point the root of the previous detached subtree will be marked as dirty.

  • Drive-by change to use a for-loop instead of a while-loop to avoid Array.prototype.shift().

(WI.View.prototype.updateLayout):
(WI.View.prototype.cancelLayout): Deleted.
(WI.View._cancelScheduledLayoutForView): Deleted.

  • Remove the concept of "canceling" layout, since it is only used by updateLayout, and the call to

_layoutSubtree in updateLayout will cause the view, dirty or not, to be marked as not dirty.

LayoutTests:

  • inspector/view/asynchronous-layout-expected.txt:
  • inspector/view/asynchronous-layout.html:
  • Added test case for calls to updateLayout() during asynchronous layout().
  • Remove test case for removed View.prototype.cancelLayout.
  • inspector/view/basics-expected.txt:
  • inspector/view/basics.html:
  • Added test case to verify that _dirtyDescendantsCount is an expected value at various points of

attaching/detaching views.

9:00 AM Changeset in webkit [293726] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

AudioMediaStreamTrackRendererUnit::updateRenderSourcesIfNecessary can free memory
https://bugs.webkit.org/show_bug.cgi?id=240002

Reviewed by Eric Carlson.

Manually tested.

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:

Overwriting the source vector may lead to freeing AudioSampleDataSources.
This is ok as this happens rarely, add DisableMallocRestrictionsForCurrentThreadScope for that purpose.

8:45 AM Changeset in webkit [293725] by Antti Koivisto
  • 6 edits
    2 adds in trunk

[CSS Cascade Layers] Endless recursion with revert-layer in other tree context
https://bugs.webkit.org/show_bug.cgi?id=239967
<rdar://92449950>

Reviewed by Alan Bujtas.

Source/WebCore:

We should only revert within a tree context (scope).

Adding more comprehensive WPTs separately.

Test: fast/css/revert-layer-tree-context-stack-overflow.html

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):

Pass the property tree scope to the rollback cascade.

(WebCore::Style::PropertyCascade::addMatch):

Don't include properties from lower priority tree scopes to rollback cascade.
Reverse the logic for clarity.

  • style/PropertyCascade.h:

(WebCore::Style::PropertyCascade::PropertyCascade):

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::ensureRollbackCascadeForRevert):
(WebCore::Style::Builder::ensureRollbackCascadeForRevertLayer):
(WebCore::Style::Builder::makeRollbackCascadeKey):

Include tree scope to the key.

  • style/StyleBuilder.h:

LayoutTests:

  • fast/css/revert-layer-tree-context-stack-overflow-expected.html: Added.
  • fast/css/revert-layer-tree-context-stack-overflow.html: Added.
7:31 AM Changeset in webkit [293724] by msaboff@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

WebInspectorUI is missing a symlink to system content path
https://bugs.webkit.org/show_bug.cgi?id=239971

Reviewed by Alexey Proskuryakov.

Enabled script execution for install headers phase.
Added checks to run Copy User Interface Resources script only during the install phase.

  • Configurations/WebInspectorUIFramework.xcconfig:
  • WebInspectorUI.xcodeproj/project.pbxproj:
7:16 AM Changeset in webkit [293723] by commit-queue@webkit.org
  • 28 edits
    2 adds in trunk

IPC stream connection sends should fail immediately when connection closes
https://bugs.webkit.org/show_bug.cgi?id=238253

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-03
Reviewed by Simon Fraser.

Source/WebKit:

Send the StreamClientConnection client wait semaphore from
StreamServerConnection. This way the client will fail the wait
when the server crashes.

Test: ipc/stream-sync-crash-no-timeout.html

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::workQueueInitialize):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::startListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteGPU.cpp:

(WebKit::RemoteGPU::workQueueInitialize):

  • Platform/IPC/StreamClientConnection.cpp:

(IPC::StreamClientConnection::setSemaphores):
(IPC::StreamClientConnection::wakeUpServer):

  • Platform/IPC/StreamClientConnection.h:

(IPC::StreamClientConnection::tryAcquire):
(IPC::StreamClientConnection::tryAcquireAll):

  • Platform/IPC/StreamConnectionBuffer.cpp:

(IPC::StreamConnectionBuffer::StreamConnectionBuffer):
(IPC::StreamConnectionBuffer::operator=):
(IPC::StreamConnectionBuffer::encode const):
(IPC::StreamConnectionBuffer::decode):

  • Platform/IPC/StreamConnectionBuffer.h:

(IPC::StreamConnectionBuffer::dataSize const):

  • Platform/IPC/StreamServerConnection.cpp:

(IPC::StreamServerConnection::release):
(IPC::StreamServerConnection::releaseAll):

  • Platform/IPC/StreamServerConnection.h:
  • Shared/IPCStreamTester.cpp:

(WebKit::IPCStreamTester::initialize):
(WebKit::IPCStreamTester::syncCrashOnZero):

  • Shared/IPCStreamTester.h:
  • Shared/IPCStreamTester.messages.in:
  • Shared/IPCStreamTesterProxy.h:
  • Shared/IPCStreamTesterProxy.messages.in:
  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::wasCreated):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.messages.in:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::streamConnection):
(WebKit::RemoteRenderingBackendProxy::didInitialize):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:

(WebKit::RemoteGPUProxy::wasCreated):

  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.messages.in:
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::setSemaphores):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::staticFunctions):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::sendIPCStreamTesterSyncCrashOnZero):

LayoutTests:

The test works on minibrowser but GPUP startup code fails in run-webkit-tests,
thus disabled.

  • TestExpectations:
  • ipc/stream-sync-crash-no-timeout-expected.txt: Added.
  • ipc/stream-sync-crash-no-timeout.html: Added.
  • ipc/stream-sync-reply-shared-memory.html: Adjust after API change.
6:42 AM Changeset in webkit [293722] by Angelos Oikonomopoulos
  • 2 edits in trunk/JSTests

Skip test currently failing on ARM
https://bugs.webkit.org/show_bug.cgi?id=240005

Unreviewed gardening.

  • stress/exception-in-to-property-key-should-be-handled-early.js:
1:17 AM Changeset in webkit [293721] by Russell Epstein
  • 9 edits in trunk/Source

Versioning.

WebKit-7614.1.13

1:07 AM Changeset in webkit [293720] by Russell Epstein
  • 1 copy in branches/safari-7614.1.12-branch

New branch.

1:06 AM Changeset in webkit [293719] by youenn@apple.com
  • 6 edits in trunk

ServiceWorkerRegistration update should fail if called from an installing service worker context
https://bugs.webkit.org/show_bug.cgi?id=239962

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/update-not-allowed.https-expected.txt:

Source/WebCore:

Implement step 4 of https://w3c.github.io/ServiceWorker/#service-worker-registration-update.
Covered by rebased test.

  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::update):

LayoutTests:

12:47 AM Changeset in webkit [293718] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebGPU

[WebGPU] Device creation should not always fail if supported features are requested
https://bugs.webkit.org/show_bug.cgi?id=239955

Reviewed by Kimmo Kinnunen.

Somehow a block of code was remaining from before we implemented optional features.

Test: webgpu/api/validation/createTexture

  • WebGPU/Adapter.mm:

(WebGPU::Adapter::requestDevice):

  • WebGPU/Instance.mm:

(WebGPU::Instance::requestAdapter):

May 2, 2022:

11:11 PM Changeset in webkit [293717] by youenn@apple.com
  • 5 edits in trunk

URL.createObjectURL should not be exposed in service worker contexts
https://bugs.webkit.org/show_bug.cgi?id=239972

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/interface-requirements-sw.https-expected.txt:

Source/WebCore:

Covered by rebased test.

  • bindings/scripts/CodeGeneratorJS.pm:

Add support for DedicatedWorker and SharedWorker in binding generator for function scope expsure.
(GenerateRuntimeEnableConditionalStringForExposeScope):

  • html/DOMURL.idl:

Update WebIDL as per spec.

10:26 PM Changeset in webkit [293716] by timothy_horton@apple.com
  • 2 edits
    2 adds in trunk/Source/WebKit

REGRESSION (r292351): Processes no longer get the right jetsam priority on iOS
https://bugs.webkit.org/show_bug.cgi?id=239992
<rdar://problem/92644672>

Reviewed by Chris Dumez.

  • FeatureFlags/WebKit.plist: Added.
  • WebKit.xcodeproj/project.pbxproj:

Temporarily reinstate RB_full_manage_WK_jetsam, since it is being
read by a different project.

10:19 PM Changeset in webkit [293715] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ Monterey wk1 GuardMalloc ] fast/borders/hidpi-3x-input-hairline-border.html is timing out
<rdar://problem/81996454>

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:

Canonical link: https://commits.webkit.org/250204@main

10:07 PM Changeset in webkit [293714] by ysuzuki@apple.com
  • 23 edits
    1 add in trunk

[JSC] Introduce unlinked version of invalidation
https://bugs.webkit.org/show_bug.cgi?id=239887

Reviewed by Saam Barati.

This patch makes invalidation mechanism unlinked for unlinked DFG.

  1. We always use CheckTraps instead of InvalidationPoint with VMTraps so that we do not need

to repatch existing code.

  1. We introduce load-and-branch based InvalidationPoint for unlinked DFG so that we do not need

to repatch it to jump to OSR exit when watchpoint fires. We store this condition in DFG::JITData
so that code can quickly access to that.

  1. We make isStillValid conditions in DFG::CommonData always true for unlinked DFG code. Instead,

we check isJettisoned() condition of CodeBlock since it will become eventually per CodeBlock
information (while this CodeBlock gets invalidated, unlinked DFG code itself can be used for
the other CodeBlock).

After this change, now, jumpReplacements for unlinked DFG becomes empty. We no longer repatch these invalidation points.

  • Source/JavaScriptCore/bytecode/CodeBlock.cpp:

(JSC::CodeBlock::jettison):
(JSC::CodeBlock::hasInstalledVMTrapsBreakpoints const):
(JSC::CodeBlock::canInstallVMTrapBreakpoints const):
(JSC::CodeBlock::installVMTrapBreakpoints):
(JSC::CodeBlock::hasInstalledVMTrapBreakpoints const): Deleted.

  • Source/JavaScriptCore/bytecode/CodeBlock.h:
  • Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • Source/JavaScriptCore/dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::invalidate):
(JSC::DFG::CommonData::~CommonData):
(JSC::DFG::CommonData::installVMTrapBreakpoints):
(JSC::DFG::CommonData::isVMTrapBreakpoint):

  • Source/JavaScriptCore/dfg/DFGCommonData.h:

(JSC::DFG::CommonData::CommonData):
(JSC::DFG::CommonData::hasInstalledVMTrapsBreakpoints const):
(JSC::DFG::CommonData::isStillValid const):

  • Source/JavaScriptCore/dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • Source/JavaScriptCore/dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::JITCode):

  • Source/JavaScriptCore/dfg/DFGJITCode.h:
  • Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • Source/JavaScriptCore/dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):
(JSC::DFG::prepareCatchOSREntry):

  • Source/JavaScriptCore/dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalize):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileInvalidationPoint):
(JSC::DFG::SpeculativeJIT::compileCheckTraps):
(JSC::DFG::SpeculativeJIT::emitInvalidationPoint): Deleted.

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • Source/JavaScriptCore/ftl/FTLJITCode.cpp:

(JSC::FTL::JITCode::JITCode):

  • Source/JavaScriptCore/ftl/FTLJITCode.h:

(JSC::FTL::JITCode::isUnlinked const):

  • Source/JavaScriptCore/ftl/FTLOSREntry.cpp:

(JSC::FTL::prepareOSREntry):

  • Source/JavaScriptCore/jit/JITCode.cpp:

(JSC::JITCode::isUnlinked const):

  • Source/JavaScriptCore/jit/JITCode.h:
  • Source/JavaScriptCore/runtime/VMTraps.cpp:

(JSC::VMTraps::tryInstallTrapBreakpoints):
(JSC::VMTraps::handleTraps):

Canonical link: https://commits.webkit.org/250203@main

9:38 PM Changeset in webkit [293713] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ iOS macOS wk2 ]compositing/video/video-bo rder-radius-clipping.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=224690

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/250202@main

9:15 PM Changeset in webkit [293712] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ iOS macOS wk2 ]compositing/video/video-bo rder-radius-clipping.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=224690

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/250201@main

8:43 PM Changeset in webkit [293711] by Yijia Huang
  • 2 edits in trunk

Update yijia's info in constributors
https://bugs.webkit.org/show_bug.cgi?id=239994

Unreviewed.

  • metadata/contributors.json:
8:02 PM Changeset in webkit [293710] by ysuzuki@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

[JSC] Introduce shifting Structure encoding
https://bugs.webkit.org/show_bug.cgi?id=239957

Reviewed by Mark Lam.

For platforms which have limited amount of virtual address space (<= 36 bits), this patch introduces
shifting Structure encoding. We align Structure on a 32-bytes boundary instead of 16 bytes so that
we can ensure that lower 5 bits are zero. Then, we can use 1 bit for nuke, and shifting 4 bits to
convert 36 bit address to 32 bit StructureID. By using this mechanism, we do not need to allocate
large virtual address space for these platforms. If we an address can have more than 36 bits, then
we should just reserve a larger address region since we have enough address space. Current Structure
size is 112 bytes, which is 3.5 atoms at 32 bytes / atom. Hence, this alignment costs us 16 bytes per
Structure.
Relanding with debug build failure & crash on static atomSize assumption in IsoSubspace.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • heap/Heap.cpp:
  • heap/IsoSubspace.h:

(JSC::GCClient::IsoSubspace::allocatorFor):

  • heap/IsoSubspaceInlines.h:

(JSC::GCClient::IsoSubspace::allocate):

  • heap/StructureAlignedMemoryAllocator.cpp:

(JSC::StructureMemoryManager::StructureMemoryManager):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitNonNullDecodeStructureID):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::JSCell):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):

  • runtime/Structure.h:
  • runtime/StructureID.h:

(JSC::StructureID::decode const):
(JSC::StructureID::tryDecode const):
(JSC::StructureID::encode):

  • tools/IntegrityInlines.h:

(JSC::Integrity::auditStructureID):

7:08 PM Changeset in webkit [293709] by Chris Dumez
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WTF/Ref.cpp

Add API tests for ref-counting churn in static_reference_cast<>()
https://bugs.webkit.org/show_bug.cgi?id=239987

Reviewed by Darin Adler.

Add API tests for ref-counting churn in static_reference_cast<>().
This covers the fix made in r293682.

  • Tools/TestWebKitAPI/Tests/WTF/Ref.cpp:

(TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/250198@main

6:55 PM Changeset in webkit [293708] by ysuzuki@apple.com
  • 8 edits in trunk

[JSC] Add ISO8601 based Temporal.PlainDate getters
https://bugs.webkit.org/show_bug.cgi?id=239949

Reviewed by Ross Kirsling and Dean Jackson.

This patch adds missing getters of Temporal.PlainDate. Currently, we are not querying to Calendar.
It will be wired once we bake Calendar completely.

  • JSTests/stress/temporal-plaindate.js:

(print):
(shouldBe):

  • Source/JavaScriptCore/runtime/ISO8601.cpp:

(JSC::ISO8601::dayOfWeek):
(JSC::ISO8601::dayOfYear):
(JSC::ISO8601::weekOfYear):
(JSC::ISO8601::daysInMonth):
(JSC::ISO8601::monthCode):

  • Source/JavaScriptCore/runtime/ISO8601.h:
  • Source/JavaScriptCore/runtime/TemporalPlainDate.cpp:

(JSC::TemporalPlainDate::from):
(JSC::TemporalPlainDate::monthCode const):
(JSC::TemporalPlainDate::dayOfWeek const):
(JSC::TemporalPlainDate::dayOfYear const):
(JSC::TemporalPlainDate::weekOfYear const):

  • Source/JavaScriptCore/runtime/TemporalPlainDate.h:
  • Source/JavaScriptCore/runtime/TemporalPlainDatePrototype.cpp:

(JSC::JSC_DEFINE_CUSTOM_GETTER):

Canonical link: https://commits.webkit.org/250197@main

6:32 PM Changeset in webkit [293707] by gnavamarino@apple.com
  • 2 edits in trunk/Source/WebKit

Crash in WebKit::ModelElementController::modelElementCreateRemotePreview
https://bugs.webkit.org/show_bug.cgi?id=239985

Reviewed by Dean Jackson.

Add a check before using m_modelElementController, as it's not guaranteed
to be initialized in the constructor, and can be invalidated in WebPageProxy::resetState.

Test: fast/html/model-element-controller-crash.html

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::modelElementGetCamera):
(WebKit::WebPageProxy::modelElementSetCamera):
(WebKit::WebPageProxy::modelElementIsPlayingAnimation):
(WebKit::WebPageProxy::modelElementSetAnimationIsPlaying):
(WebKit::WebPageProxy::modelElementIsLoopingAnimation):
(WebKit::WebPageProxy::modelElementSetIsLoopingAnimation):
(WebKit::WebPageProxy::modelElementAnimationDuration):
(WebKit::WebPageProxy::modelElementAnimationCurrentTime):
(WebKit::WebPageProxy::modelElementSetAnimationCurrentTime):
(WebKit::WebPageProxy::modelElementHasAudio):
(WebKit::WebPageProxy::modelElementIsMuted):
(WebKit::WebPageProxy::modelElementSetIsMuted):
(WebKit::WebPageProxy::takeModelElementFullscreen):
(WebKit::WebPageProxy::modelElementSetInteractionEnabled):
(WebKit::WebPageProxy::modelElementCreateRemotePreview):
(WebKit::WebPageProxy::modelElementLoadRemotePreview):
(WebKit::WebPageProxy::modelElementDestroyRemotePreview):
(WebKit::WebPageProxy::modelElementSizeDidChange):
(WebKit::WebPageProxy::handleMouseDownForModelElement):
(WebKit::WebPageProxy::handleMouseMoveForModelElement):
(WebKit::WebPageProxy::handleMouseUpForModelElement):
(WebKit::WebPageProxy::modelInlinePreviewUUIDs):

5:59 PM Changeset in webkit [293706] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

WebInspector: Improve rendering of GLbitfield in WebGL canvas recordings.
https://bugs.webkit.org/show_bug.cgi?id=239589

Patch by Dan Glastonbury <djg@apple.com> on 2022-05-02
Reviewed by Devin Rousso.

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction.bitfieldNamesForParameter.test_and_clear_bit):
(WI.RecordingAction.bitfieldNamesForParameter): Split known
bitfields into an array of valid named representation for each
bit. Unknown bits are returned as hexadecimal formatted string.

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM.createParameterElement):
(WI.RecordingActionTreeElement._generateDOM): If param has a
non-null, array of strings, render the array as
context.FIELD1|context.FIELD2

Canonical link: https://commits.webkit.org/250195@main

5:55 PM Changeset in webkit [293705] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.0.7

Tag WebKit-7613.2.7.0.7.

5:53 PM Changeset in webkit [293704] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.1.8

Tag WebKit-7613.2.7.1.8.

5:37 PM Changeset in webkit [293703] by Chris Dumez
  • 22 edits in trunk

Drop some unused StringImpl / AtomStringImpl / AtomString API
https://bugs.webkit.org/show_bug.cgi?id=239912

Reviewed by Yusuke Suzuki.

Simplifies our API a bit and encourages people to write more efficient
code.

  • Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:

(TestWebKitAPI::TEST):

  • Source/JavaScriptCore/API/JSValue.mm:

(createStructHandlerMap):

  • Source/JavaScriptCore/runtime/CachedTypes.cpp:

(JSC::CachedUniquedStringImplBase::decode const):

  • Source/JavaScriptCore/runtime/Identifier.cpp:

(JSC::Identifier::addLiteral): Deleted.

  • Source/JavaScriptCore/runtime/Identifier.h:

(JSC::Identifier::Identifier):
(JSC::Identifier::add):

  • Source/JavaScriptCore/runtime/ObjectPrototype.cpp:

(JSC::inferBuiltinTag):
(JSC::objectPrototypeToString):

  • Source/JavaScriptCore/runtime/SmallStrings.cpp:

(JSC::SmallStrings::initializeCommonStrings):
(JSC::SmallStrings::initialize):

  • Source/JavaScriptCore/runtime/SmallStrings.h:
  • Source/WTF/wtf/text/AtomString.h:

(WTF::AtomString::AtomString):

  • Source/WTF/wtf/text/AtomStringImpl.cpp:

(WTF::CStringTranslator::hash): Deleted.
(WTF::CStringTranslator::equal): Deleted.
(WTF::CStringTranslator::translate): Deleted.

  • Source/WTF/wtf/text/AtomStringImpl.h:
  • Source/WTF/wtf/text/StringImpl.cpp:
  • Source/WTF/wtf/text/StringImpl.h:

(WTF::StringImpl::create):
(WTF::StringImpl::createFromCString):
(WTF::lengthOfNullTerminatedString): Deleted.

  • Source/WTF/wtf/text/WTFString.cpp:

(WTF::String::String):

  • Source/WTF/wtf/text/WTFString.h:
  • Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::updateFromElement):

Canonical link: https://commits.webkit.org/250194@main

5:04 PM Changeset in webkit [293702] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ iOS ][ macOS ] css3/calc/transitions-dependent.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239990

Unreviewed test gardening.

  • LayoutTests/platform/ios-simulator/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:

Canonical link: https://commits.webkit.org/250193@main

5:01 PM Changeset in webkit [293701] by Chris Dumez
  • 31 edits in trunk/Source

Move starAtom() / xmlAtom() / xmlnsAtom() from WTF to WebCore https://bugs.webkit.org/show_bug.cgi?id=239969

Reviewed by Darin Adler.

Move starAtom() / xmlAtom() / xmlnsAtom() from WTF to WebCore since
they are not useful outside WebCore.

  • Source/WTF/wtf/text/AtomString.cpp:

(WTF::AtomString::init):

  • Source/WTF/wtf/text/AtomString.h:

(WTF::emptyAtom):
(WTF::starAtom): Deleted.
(WTF::xmlAtom): Deleted.
(WTF::xmlnsAtom): Deleted.

  • Source/WebCore/css/CSSPageRule.cpp:
  • Source/WebCore/css/CSSSelector.cpp:
  • Source/WebCore/css/CSSSelectorList.cpp:
  • Source/WebCore/css/SelectorChecker.cpp:
  • Source/WebCore/css/SelectorFilter.cpp:
  • Source/WebCore/css/StyleSheetContents.cpp:
  • Source/WebCore/css/parser/CSSSelectorParser.cpp:
  • Source/WebCore/cssjit/SelectorCompiler.cpp:
  • Source/WebCore/dom/Attr.cpp:
  • Source/WebCore/dom/Attribute.h:
  • Source/WebCore/dom/ContainerNode.cpp:
  • Source/WebCore/dom/Node.cpp:
  • Source/WebCore/dom/NodeRareData.h:
  • Source/WebCore/dom/QualifiedName.cpp:
  • Source/WebCore/dom/SelectorQuery.cpp:
  • Source/WebCore/dom/TagCollection.h:
  • Source/WebCore/editing/MarkupAccumulator.cpp:
  • Source/WebCore/html/LabelableElement.cpp:
  • Source/WebCore/html/LabelsNodeList.cpp:
  • Source/WebCore/html/parser/HTMLTreeBuilder.cpp:
  • Source/WebCore/platform/CommonAtomStrings.h:
  • Source/WebCore/style/PageRuleCollector.cpp:
  • Source/WebCore/style/RuleData.cpp:
  • Source/WebCore/style/RuleFeature.h:
  • Source/WebCore/style/RuleSet.cpp:
  • Source/WebCore/xml/NativeXPathNSResolver.cpp:
  • Source/WebCore/xml/XPathStep.cpp:
  • Source/WebCore/xml/parser/XMLDocumentParser.cpp:
  • Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:

Canonical link: https://commits.webkit.org/250192@main

4:33 PM Changeset in webkit [293700] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[Quirks] REGRESSION (r286874): Menu is Cut Off After Pressing Search Icon on Hotels.com
https://bugs.webkit.org/show_bug.cgi?id=239980
<rdar://91992835>

Reviewed by Simon Fraser.

Disable resolution media query on www.hotels.com.

  • css/MediaQueryEvaluator.cpp:

(WebCore::resolutionEvaluate):

  • page/Quirks.cpp:

(WebCore::Quirks::shouldUseResolutionMedia const):

  • page/Quirks.h:
4:25 PM Changeset in webkit [293699] by Alan Coon
  • 3 edits in branches/safari-613-branch/Source/WebKit

Apply patch. rdar://problem/92617943

4:11 PM Changeset in webkit [293698] by Alan Coon
  • 3 edits in branches/safari-613.2.7.1-branch/Source/WebKit

Apply patch. rdar://problem/92617943

4:04 PM Changeset in webkit [293697] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

Revert all use of _setPrivacyProxyFailClosedForUnreachableNonMainHosts
https://bugs.webkit.org/show_bug.cgi?id=239977
<rdar://92617943>

Reviewed by John Wilander.

Due to what is likely confusion about internal integration processes,
the powers that be have decided that the best course of action for now
is to restore the status quo and accept any consequences that may entail.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::createWebSocketTask):

4:04 PM Changeset in webkit [293696] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.11.5

Tag WebKit-7614.1.11.5.

4:01 PM Changeset in webkit [293695] by Alan Coon
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.8

4:01 PM Changeset in webkit [293694] by Russell Epstein
  • 9 edits in branches/safari-614.1.11-branch/Source

Versioning.

WebKit-7614.1.11.5

3:58 PM Changeset in webkit [293693] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix ASan crash due to CString ownership
https://bugs.webkit.org/show_bug.cgi?id=239981

Reviewed by Darin Adler and Mark Lam.

We need to ensure that CString is kept alive.

  • runtime/JSDateMath.cpp:

(JSC::DateCache::timeZoneDisplayName):

Canonical link: https://commits.webkit.org/250189@main

3:49 PM Changeset in webkit [293692] by Russell Epstein
  • 3 edits in branches/safari-613.2.7.0-branch/Source/WebKit

Apply patch. rdar://problem/92617943

3:48 PM Changeset in webkit [293691] by achristensen@apple.com
  • 8 edits in trunk/LayoutTests/imported/w3c

Update some wpt tests with control characters in cookies
https://bugs.webkit.org/show_bug.cgi?id=239966
<rdar://92300855>

Reviewed by Chris Dumez.

This reflects a change in https://github.com/httpwg/http-extensions/issues/1531

  • web-platform-tests/cookies/name/name-ctl-expected.txt:
  • web-platform-tests/cookies/name/name-ctl.html:
  • web-platform-tests/cookies/resources/cookie-test.js:
  • web-platform-tests/cookies/value/value-ctl-expected.txt:
  • web-platform-tests/cookies/value/value-ctl.html:
  • web-platform-tests/html/dom/documents/resource-metadata-management/document-cookie-expected.txt:
  • web-platform-tests/html/dom/documents/resource-metadata-management/document-cookie.html:
3:46 PM Changeset in webkit [293690] by Russell Epstein
  • 9 edits in branches/safari-613.2.7.0-branch/Source

Versioning.

WebKit-7613.2.7.0.7

3:35 PM Changeset in webkit [293689] by Oriol Brufau
  • 11 edits in trunk

[cssom] Don't index 'all' shorthand in computed styles
https://bugs.webkit.org/show_bug.cgi?id=239669

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update test expectations.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

Computed styles should provide getters for both longhands and shorthands,
but only the former should be indexed.

However, the 'all' shorthand was being indexed as if it was a longhand.

Tests: imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html

imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html

  • css/makeprop.pl:

(skippedFromComputedStyle):

LayoutTests:

Update test expectations.

  • platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
3:33 PM Changeset in webkit [293688] by Justin Michaud
  • 4 edits in trunk/Source

Add option to JSC shell to wait for a USR2 signal before exiting to aid in collection of vmmaps
https://bugs.webkit.org/show_bug.cgi?id=239919

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • jsc.cpp:

(main):

Source/WTF:

  • wtf/threads/Signals.h:

(WTF::toSystemSignal):

3:22 PM Changeset in webkit [293687] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.11.4

Tag WebKit-7614.1.11.4.

3:19 PM Changeset in webkit [293686] by Russell Epstein
  • 9 edits in branches/safari-614.1.11-branch/Source

Versioning.

WebKit-7614.1.11.4

2:56 PM Changeset in webkit [293685] by commit-queue@webkit.org
  • 13 edits in trunk/Source/JavaScriptCore

Unreviewed, reverting r293680.
https://bugs.webkit.org/show_bug.cgi?id=239983

crash on iOS

Reverted changeset:

"[JSC] Introduce shifting Structure encoding"
https://bugs.webkit.org/show_bug.cgi?id=239957
https://commits.webkit.org/r293680

2:52 PM Changeset in webkit [293684] by Devin Rousso
  • 4 edits
    3 adds in trunk

[Modern Media Controls] REGRESSION(?) tapping a video to start playing for the first time doesn't start playing
https://bugs.webkit.org/show_bug.cgi?id=239918
<rdar://problem/91329117>

Reviewed by Jer Noble.

Source/WebCore:

This happens on iOS because the <video> has a GestureRecognizer that will attempt to
play(), and then the PlayPauseButton (which also has a GestureRecognizer) will attempt
to togglePlayback() (via PlaybackSupport), which will pause() because the <video> is
not paused.

When a <video> is play() for the first time, it may not actually start playing for a
moment (e.g. buffering) even though it will say it's paused.

Test: media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-shows-start-button.html

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController.prototype.togglePlayback):
Also check hasPlayed to decide whether to play() or pause(), as it's set when the first
"play" event is handled, as until then we're still not playing yet and should play().

This could also be fixed in PlaybackSupport (and/or StartSupport), but doing it in
togglePlayback is a more general solution that fixes all present (and future) callsites.

LayoutTests:

  • media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-shows-start-button.html: Added.
  • media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-shows-start-button-expected.txt: Added.
2:18 PM Changeset in webkit [293683] by Chris Dumez
  • 8 edits
    1 add in trunk/Source/WebKit

Use a strongly typed identifier for requests to mark surfaces as volatile
https://bugs.webkit.org/show_bug.cgi?id=239974

Reviewed by Simon Fraser.

  • Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::markSurfacesVolatile):

  • Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
  • Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • Source/WebKit/Scripts/webkit/messages.py:

(types_that_cannot_be_forward_declared):

  • Source/WebKit/Shared/MarkSurfacesAsVolatileRequestIdentifier.h: Added.
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::markSurfacesVolatile):
(WebKit::RemoteRenderingBackendProxy::didMarkLayersAsVolatile):

  • Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:

Canonical link: https://commits.webkit.org/250183@main

1:31 PM Changeset in webkit [293682] by Chris Dumez
  • 1 edit in trunk/Source/WTF/wtf/Ref.h

static_reference_cast(const Ref<X, Y>&) causes unnecessary ref-counting churn
https://bugs.webkit.org/show_bug.cgi?id=239970

Reviewed by Geoffrey Garen.

This function was calling copyRef() to get a non-const Ref<> and then calling Ref::get() to construct a
new Ref<> of the destination type. The copyRef() would increase the ref count by 1, constructing the
new destination Ref<> would increase the ref count by 1 again and then the temporary Ref going out of
scope would decrease the ref count by one.

We now call static_reference_cast(Ref<X, Y>&&) with the result of the copyRef(), which will leak
the pointer from the Ref<> and adopt it in the destination Ref, thus avoiding unnecessary churn.

Also drop the static_reference_cast(Ref<X, Y>&) overload as it is no longer more efficient than the
static_reference_cast(const Ref<X, Y>&) one.

  • Source/WTF/wtf/Ref.h:

(WTF::static_reference_cast):

Canonical link: https://commits.webkit.org/250182@main

1:29 PM Changeset in webkit [293681] by Wenson Hsieh
  • 10 edits
    1 add in trunk

[macOS] The "Markup Image" services menu item should be gated on image analysis results
https://bugs.webkit.org/show_bug.cgi?id=239933
rdar://92348202

Reviewed by Kate Cheney.

Source/WebKit:

Adjust some macOS-specific logic for appending the "Markup Image" menu item in the services menu, such that we
only add this new item in the case where the relevant image analysis APIs come back with a valid cropped image
result. See below for more details.

Test: ImageAnalysisTests.MarkupImageItemInServicesMenu

  • UIProcess/WebContextMenuProxy.h:

(WebKit::WebContextMenuProxy::croppedImageResult const):

Move m_croppedImageForContextMenu into WebContextMenuProxyMac as m_croppedImageResult, so that it can be
easily used for both the new "Copy Cropped Image" and "Markup Image" items. This also allows us to simplify some
logic for resetting this cached image result since the whole m_activeContextMenu is always destroyed upon
presenting a context menu, so there's no need to separately clear out m_croppedImageResult.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::showContextMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebContextMenuProxyMac.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu):
(WebKit::WebContextMenuProxyMac::appendMarkupItemToControlledImageMenuIfNeeded):

Pull this logic out into a separate helper method, and change it so that:

  • We run the image analysis prior to creating and adding the item.
  • Only add the item if the image analysis returned a non-null CGImageRef.
  • Store the CGImageRef on m_croppedImageResult, for use if the menu item is invoked.

(WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage):
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage):
(WebKit::WebPageProxy::setCroppedImageForContextMenu): Deleted.

Tools:

Add an API test to simulate clicking on the services menu button in an attachment-backed image element while
swizzling the relevant image analysis APIs to return a valid CGImageRef; verify that the "Markup Image" menu
item eventually shows up.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::createWebViewWithTextRecognitionEnhancements):
(TestWebKitAPI::iconImage):

Make this testing helper function work on both macOS and iOS.

(TestWebKitAPI::TEST):
(TestWebKitAPI::runMarkupTest):

  • TestWebKitAPI/Tests/WebKitCocoa/image-controls.html: Added.
1:15 PM Changeset in webkit [293680] by ysuzuki@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

[JSC] Introduce shifting Structure encoding
https://bugs.webkit.org/show_bug.cgi?id=239957

Reviewed by Mark Lam.

For platforms which have limited amount of virtual address space (<= 36 bits), this patch introduces
shifting Structure encoding. We align Structure on a 32-bytes boundary instead of 16 bytes so that
we can ensure that lower 5 bits are zero. Then, we can use 1 bit for nuke, and shifting 4 bits to
convert 36 bit address to 32 bit StructureID. By using this mechanism, we do not need to allocate
large virtual address space for these platforms. If we an address can have more than 36 bits, then
we should just reserve a larger address region since we have enough address space. Current Structure
size is 112 bytes, which is 3.5 atoms at 32 bytes / atom. Hence, this alignment costs us 16 bytes per
Structure.

  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • Source/JavaScriptCore/heap/Heap.cpp:
  • Source/JavaScriptCore/heap/StructureAlignedMemoryAllocator.cpp:
  • Source/JavaScriptCore/jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitNonNullDecodeStructureID):

  • Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h:
  • Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:
  • Source/JavaScriptCore/runtime/JSCConfig.h:
  • Source/JavaScriptCore/runtime/JSCell.h:

(JSC::JSCell::atomSize):

  • Source/JavaScriptCore/runtime/Structure.h:

(JSC::Structure::atomSize):

  • Source/JavaScriptCore/runtime/StructureID.h:

(JSC::StructureID::decode const):
(JSC::StructureID::tryDecode const):
(JSC::StructureID::encode):

  • Source/JavaScriptCore/tools/IntegrityInlines.h:

(JSC::Integrity::auditStructureID):

Canonical link: https://commits.webkit.org/250179@main

1:15 PM Changeset in webkit [293679] by youenn@apple.com
  • 12 edits in trunk

Cancel response stream if load is being cancelled by the web page
https://bugs.webkit.org/show_bug.cgi?id=239968

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-readable-stream.https-expected.txt:

Source/WebCore:

Add a cancel callback and use it to get the fetch client cancelling notification
to cancel the response body stream or response body load.

Covered by rebased test.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::cancelStream):

  • Modules/fetch/FetchResponse.h:
  • bindings/js/ReadableStream.cpp:

(WebCore::ReadableStream::cancel):

  • bindings/js/ReadableStream.h:
  • workers/service/context/ServiceWorkerFetch.cpp:

(WebCore::ServiceWorkerFetch::processResponse):

  • workers/service/context/ServiceWorkerFetch.h:

Source/WebKit:

Use the cancel callback to pipe the order to cancel the stream.

  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

(WebKit::WebServiceWorkerFetchTaskClient::cancel):
(WebKit::WebServiceWorkerFetchTaskClient::setCancelledCallback):

  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
1:06 PM Changeset in webkit [293678] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.11.3

Tag WebKit-7614.1.11.3.

12:56 PM Changeset in webkit [293677] by Russell Epstein
  • 9 edits in branches/safari-614.1.11-branch/Source

Versioning.

WebKit-7614.1.11.3

12:46 PM Changeset in webkit [293676] by youenn@apple.com
  • 6 edits in trunk

PWA in iOS use old assets after publish new servicerWorker/assets
https://bugs.webkit.org/show_bug.cgi?id=199110
<rdar://problem/51992077>

Reviewed by Chris Dumez.

Source/WebCore:

In case a service worker is updated, its state will be waiting until activated.
In case we suspend clients and network process, the newly installed service worker wil remain waiting.
We will wait for the service worker to get activated when network process gets unsuspended, which might not happen if the network process gets stopped by the OS.
To prevent this, we now update the service worker registration as soon as the service worker install job is finished.
The migration from waiting to activated upon network process crash is not ideal: in theory we should fire an activate event on the waiting service worker.
That said, this is still somehow allowed, as failing to activate (say if service worker process is crashing when handling the event) is allowed.

Covered by new API test.

  • workers/service/server/SWServer.cpp:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • TestWebKitAPI/cocoa/HTTPServer.h:
  • TestWebKitAPI/cocoa/HTTPServer.mm:
12:44 PM Changeset in webkit [293675] by achristensen@apple.com
  • 2 edits in trunk/Source/WebGPU

Fix tvOS build
https://bugs.webkit.org/show_bug.cgi?id=239973
<rdar://problem/92599361>

  • WebGPU/HardwareCapabilities.mm:
12:15 PM Changeset in webkit [293674] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebGPU

[WebGPU] [tvOS] Neither MTLGPUFamilyApple6 nor MTLGPUFamilyApple7 exist on tvOS
https://bugs.webkit.org/show_bug.cgi?id=239973
<rdar://problem/92599361>

Unreviewed build fix.

  • WebGPU/HardwareCapabilities.mm:

(WebGPU::rawHardwareCapabilities):

12:12 PM Changeset in webkit [293673] by Ziran Sun
  • 5 edits in trunk

[selection] Set correct selection range for TEXTAREA when updating default value
https://bugs.webkit.org/show_bug.cgi?id=237525

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra-expected.txt:

Source/WebCore:

Updating defaultValue should keep selectionStart/End. We need clamp them if the new value is shorter than the
selectionStart/End. This change is to be in line with [1] & [2].

[1] https://html.spec.whatwg.org/multipage/form-elements.html#the-textarea-element:dom-textarea-defaultvalue-2
[2] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#textFieldSelection:concept-textarea/input-relevant-value

Part of this change is an import of Chromium CL at
https://github.com/chromium/chromium/commit/bb27a500d07f8b3c567e84857a40c3ce42fa454a

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::childrenChanged):
(WebCore::HTMLTextAreaElement::setValueCommon):

  • html/HTMLTextFormControlElement.h:
12:01 PM Changeset in webkit [293672] by Fujii Hironori
  • 3 edits
    2 adds in trunk

HTML Parser: Wrong column number in CR-LF line ending style (DOS EOL style) HTML files
https://bugs.webkit.org/show_bug.cgi?id=239947

Reviewed by Myles C. Maxfield.

Source/WebCore:

JS stack trace reported wrong column numbers in CR-LF line ending
HTML files. m_numberOfCharactersConsumedPriorToCurrentLine was the
number of characters included the preceding CR but the following
LF in those files.

In SegmentedString::advance, startNewLine() is called after
decrementing m_currentSubstring.length. In
SegmentedString::advancePastNewline, however, startNewLine() was
called before calling decrementAndCheckLength(). startNewLine()
should be called after decrementing.

Test: js/dom/line-column-numbers-cr-lf.html

  • platform/text/SegmentedString.h:

(WebCore::SegmentedString::advancePastNewline):
Call startNewLine() after decrementAndCheckLength() is called.

LayoutTests:

  • js/dom/line-column-numbers-cr-lf-expected.txt: Added.
  • js/dom/line-column-numbers-cr-lf.html: Added.
11:35 AM Changeset in webkit [293671] by eric.carlson@apple.com
  • 4 edits
    1 add in trunk

[Cocoa] Allow more mime types in captive portal mode
https://bugs.webkit.org/show_bug.cgi?id=239859
rdar://91830683

Reviewed by Brent Fulgham.

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKit/cocoa/start-offset.ts: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:

(TestWebKitAPI::runVideoTest):
(TestWebKitAPI::testTransportStreamBytes):
(TestWebKitAPI::TEST):

11:05 AM Changeset in webkit [293670] by Oriol Brufau
  • 13 edits
    1 delete in trunk

[cssom] Enumerate all logical longhands in the computed style
https://bugs.webkit.org/show_bug.cgi?id=239910

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update test expectations.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

Bug 210695 made computed styles enumerate most logical longhands, but
only the ones thefined in the css-logical spec were included. Other
specs, like css-scroll-snap, can also define logical longhands.

This patch fixes the logic, and instead of checking the spec, it checks
the "logical-property-group" field.

Tests: imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html

imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html

  • css/makeprop.pl:

(isLogical):

LayoutTests:

Update test expectations.
all-prop-initial-xml-expected.txt for ios was clearly outdated, so just
removing it.

  • platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
10:21 AM Changeset in webkit [293669] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.11.2

Tag WebKit-7614.1.11.2.

10:15 AM Changeset in webkit [293668] by Russell Epstein
  • 9 edits in branches/safari-614.1.11-branch/Source

Versioning.

WebKit-7614.1.11.2

9:57 AM Changeset in webkit [293667] by Jonathan Bedard
  • 4 edits in trunk/Tools

[git-webkit] log should support ranges
https://bugs.webkit.org/show_bug.cgi?id=239510
<rdar://problem/92031167>

Reviewed by Ryan Haddad.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:

(FilteredCommand.replace): Break logic converting a substring into a revision or hash into a function.
(FilteredCommand.main): If an argument can be split by ..., convert it's substrings into revisions/hashes.

Canonical link: https://commits.webkit.org/250171@main

9:52 AM Changeset in webkit [293666] by Angelos Oikonomopoulos
  • 2 edits in trunk/JSTests

new-largeish-contiguous-array-with-size.js: pick up leakFactor
https://bugs.webkit.org/show_bug.cgi?id=239963

Unreviewed gardening.

The @ directives are implemented imperatively, so requireOptions
only has any effect if it precedes the run* statement. Also,
s/var leakFactor/leakFactor/ to avoid running into this:

Exception: SyntaxError: Can't create duplicate variable: 'leakFactor'

With this fix, the leakFactor works as intended -- no failures in 200+
iterations.

  • stress/new-largeish-contiguous-array-with-size.js:
9:29 AM Changeset in webkit [293665] by youenn@apple.com
  • 7 edits in trunk

Register shared workers as service worker clients
https://bugs.webkit.org/show_bug.cgi?id=239846

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt:

Source/WebCore:

Make sure to register shared workers as service worker clients at launch time or when recreating the network process connection.

Covered by rebased test.

  • workers/shared/context/SharedWorkerThread.cpp:
  • workers/shared/context/SharedWorkerThreadProxy.cpp:
  • workers/shared/context/SharedWorkerThreadProxy.h:
9:15 AM Changeset in webkit [293664] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

VPIO requires the same sample rate for microphone and speaker formats
https://bugs.webkit.org/show_bug.cgi?id=239956

Reviewed by Eric Carlson.

VPIO requires the speaker sample rate and microphone sample rate to be the same.
This is not guaranteed to be true : getUserMedia/applyConstraints may set the microphone sample rate to different values.
If audio rendering already started at capture start time, we use the audio rendering sample rate.
This is not strictly compliant, given required constraints but they are not widely used.
Applications that want to make sure to use a specific sample rate would need to pause audio rendering when starting to capture.
We reset exposed settings when starting to capture to expose the actual sample rate to JavaScript through MediaStreamTrack.getSettings().

Manually tested.

  • platform/mediastream/mac/BaseAudioSharedUnit.h:
  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:
8:55 AM Changeset in webkit [293663] by Wenson Hsieh
  • 8 edits in trunk

[iOS] Add support for the "Markup Image" action when right clicking an image in editable content
https://bugs.webkit.org/show_bug.cgi?id=239948
rdar://92064672

Reviewed by Tim Horton.

Source/WebKit:

Insert a "Markup Image" menu action when right clicking an editable image element on iPad via trackpad, but only
when the image has relevant image analysis markup results. See below for more details.

Test: ImageAnalysisTests.MarkupImageUsingContextMenu

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView prepareSelectionForContextMenuWithLocationInView:completionHandler:]):

In the case where a single image is selected in editable content, make this method additionally wait until we've
finished analyzing the selected image, such that the subsequent call to -buildMenuForWebViewWithBuilder: which
populates items in the right click context menu will include the "Markup Image" item if there are relevant
results.

(-[WKContentView buildMenuForWebViewWithBuilder:]):

Also move the location of this item to before the Format (B/I/U) menu items in both the callout bar and the
editing context menu.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::prepareSelectionForContextMenuWithLocationInView):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::prepareSelectionForContextMenuWithLocationInView):

In the case where an image element is clicked, just select the image element instead of trying to detect a
nearby word or link. We also immediately send a full editor state update here, such that the editor state's
selectedEditableImage will be up to date when the completion handler in the UI process is invoked.

Tools:

Add an API test to verify that the "Markup Image" is included in the context menu when right clicking an image
element inside an editable web view.

  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::simulateEditContextMenuAppearance):
(TestWebKitAPI::TEST):

8:08 AM Changeset in webkit [293662] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

REGRESSION: fast/css/stylesheet-candidate-nodes-crash.xhtml is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=239960
rdar://92293472

Reviewed by Alan Bujtas.

XML parser update has changed error reporting output slightly.
Remove the error report from the test output since testing that is not the purpose of this test.

  • fast/css/stylesheet-candidate-nodes-crash-expected.txt:
  • fast/css/stylesheet-candidate-nodes-crash.xhtml:
3:56 AM Changeset in webkit [293661] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer][Debug] media-recorder tests hitting an ASSERT
https://bugs.webkit.org/show_bug.cgi?id=239942

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-02
Reviewed by Xabier Rodriguez-Calvar.

Delay the track observing stopping until InternalSources are destroyed. Doing so during
PAUSED->READY was not safe in MediaRecording pipelines, because the transcoder changes its
state from a secondary thread.

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

(webkitMediaStreamSrcChangeState):

Canonical link: https://commits.webkit.org/250165@main

2:31 AM Changeset in webkit [293660] by commit-queue@webkit.org
  • 4 edits in trunk

[GLib] Make WebKitSettings XSS auditor functions no-op
https://bugs.webkit.org/show_bug.cgi?id=239651

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-02
Reviewed by Adrian Perez de Castro.

  • Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:

(testWebKitSettings):

  • Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):

Canonical link: https://commits.webkit.org/250164@main

May 1, 2022:

10:46 PM Changeset in webkit [293659] by Said Abou-Hallawa
  • 15 edits in trunk/Source

REGRESSION(r282117): RemoteRenderingBackend::willDestroyImageBuffer() can crash if the RemoteRenderingBackend has already been destroyed
https://bugs.webkit.org/show_bug.cgi?id=239107
rdar://91608298

Reviewed by Darin Adler.

Source/WebCore:

-- IOSurfacePool will be RefCounted.

-- ImageBufferIOSurfaceBackend::create() will pass the surfacePool

of the CreationContext to ImageBufferIOSurfaceBackend constructor.

-- ImageBufferIOSurfaceBackend will hold a RefPtr<IOSurfacePool>.

-- ImageBufferIOSurfaceBackend destructor will call IOSurface::moveToPool()

to return its surface to the IOSurfacePool if it was set.

  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::releaseGraphicsContext):
(WebCore::ImageBufferBackend::releaseBufferToPool): Deleted.

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::create):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::create):
(WebCore::ImageBufferIOSurfaceBackend::ImageBufferIOSurfaceBackend):
(WebCore::ImageBufferIOSurfaceBackend::~ImageBufferIOSurfaceBackend):
(WebCore::ImageBufferIOSurfaceBackend::releaseBufferToPool): Deleted.

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:

Source/WebKit:

After r282117, the assumption that RemoteRenderingBackend will outlive
all its RemoteImageBuffers became wrong. The RemoteRenderingBackend can
get destroyed under GPUConnectionToWebProcess::didClose() before the
callOnMainThread() of the ThreadSafeRefcounted image buffers have run.

This solution is to make the ImageBufferIOSurfaceBackend be responsible
of returning its IOSurface to the IOSurfacePool. So no need to call
willDestroyImageBuffer() from the RemoteImageBuffer destructor.

  • GPUProcess/graphics/RemoteGraphicsContextGL.h:
  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::RemoteImageBuffer):
(WebKit::RemoteImageBuffer::m_renderingResourcesRequest):
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::willDestroyImageBuffer): Deleted.

  • GPUProcess/graphics/RemoteRenderingBackend.h:

(WebKit::RemoteRenderingBackend::ioSurfacePool const):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::Buffer::discard):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):

6:48 PM Changeset in webkit [293658] by Devin Rousso
  • 4 edits in trunk/Source/WebCore

[Modern Media Controls] the overflow button sometimes flickers
https://bugs.webkit.org/show_bug.cgi?id=239921
<rdar://problem/91329468>

Reviewed by Eric Carlson.

There are two things that control the visibility of the OverflowButton:

  1. whether any of the "default" actions (e.g. playback speed, chapters, etc.) are possible
  2. if any other buttons that have contextMenuOptions are dropped (i.e. there's not enough

room for it because the <video> is narrow or there are already too many buttons)

(1) is recalculated for most JS media events (e.g. whenever tracks are changed, if
the readyState changes, etc.).

(2) is recalculated in layout of MediaControls, which is (relatively) less frequent.

In the case that the only contextmenu options are provided by (2) (i.e. none of the "default"
actions are possible), the frequent recalculation of (1) will combined with the fact that
layout uses a requestAnimationFrame to delay/batch work will cause there to be a short
period of time after the recalculation of (1) and before the recalculation of (2) where
there are no contextmenu options, resulting in the OverflowButton being hidden.

  • Modules/modern-media-controls/controls/overflow-button.js:

(OverflowButton):
(OverflowButton.prototype.set visible):
(OverflowButton.prototype.set visible.isEmpty): Added.
(OverflowButton.prototype.get contextMenuOptions):
(OverflowButton.prototype.addExtraContextMenuOptions): Renamed from addContextMenuOptions.
(OverflowButton.prototype.clearExtraContextMenuOptions): Renamed from clearContextMenuOptions.
(OverflowButton.prototype.set defaultContextMenuOptions):

  • Modules/modern-media-controls/controls/inline-media-controls.js:

(InlineMediaControls.prototype.layout):

  • Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:

(MacOSFullscreenMediaControls.prototype.layout):
Instead of having a single _contextMenuOptions that is modified by both (1) and (2), have
a separate member variable for each. This way, the recalculation of (1) doesn't also clear
the state left over from the last time (2) was calculated (which will be recalculated by (2)
shortly thereafter). Use both member variables to decide whether the OverflowButton should
be visible, allowing (1) and (2) to update independent of eachother.

6:17 PM Changeset in webkit [293657] by ysuzuki@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

[JSC] Revive JSC's guard against speculation collection
https://bugs.webkit.org/show_bug.cgi?id=239939

Reviewed by Mark Lam.

r288815 dropped JSC's guard against structures in speculation collection, but this is wrong.
This patch reverts it back.

  • Source/JavaScriptCore/bytecode/SpeculatedType.cpp:

(JSC::speculationFromCell):

  • Source/JavaScriptCore/heap/StructureAlignedMemoryAllocator.cpp:

(JSC::StructureMemoryManager::StructureMemoryManager):
(JSC::StructureMemoryManager::tryMallocStructureBlock):
(JSC::StructureMemoryManager::freeStructureBlock):
(JSC::StructureAlignedMemoryAllocator::initializeStructureAddressSpace):

  • Source/JavaScriptCore/runtime/JSCConfig.h:
  • Source/JavaScriptCore/runtime/StructureID.h:

(JSC::StructureID::tryDecode const):

Canonical link: https://commits.webkit.org/250161@main

5:17 PM Changeset in webkit [293656] by Chris Dumez
  • 178 edits in trunk/Source

Prepare the rest of WebCore for making the AtomString(const String&) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=239917

Reviewed by Darin Adler.

Prepare the rest of WebCore for making the AtomString(const String&) constructor explicit.
This helps find suboptimal patterns in our code base, where we may be doing unnecessary
String allocations.

  • Source/WebCore/PAL/pal/FileSizeFormatter.cpp:

(PAL::fileSizeDescription):

  • Source/WebCore/PAL/pal/FileSizeFormatter.h:
  • Source/WebCore/PAL/pal/cocoa/FileSizeFormatterCocoa.mm:

(PAL::fileSizeDescription):

  • Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl:
  • Source/WebCore/Modules/encryptedmedia/MediaKeyMessageEvent.idl:
  • Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl:
  • Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl:
  • Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl:
  • Source/WebCore/Modules/mediarecorder/MediaRecorderErrorEvent.idl:
  • Source/WebCore/Modules/mediastream/MediaStreamTrackEvent.idl:
  • Source/WebCore/Modules/mediastream/OverconstrainedErrorEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCErrorEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCPeerConnectionIceErrorEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCPeerConnectionIceEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCRtpSFrameTransformErrorEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCTrackEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCTransformEvent.idl:
  • Source/WebCore/Modules/notifications/NotificationEvent.idl:
  • Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.idl:
  • Source/WebCore/Modules/paymentrequest/PaymentMethodChangeEvent.idl:
  • Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.idl:
  • Source/WebCore/Modules/speech/SpeechRecognitionErrorEvent.idl:
  • Source/WebCore/Modules/speech/SpeechRecognitionEvent.idl:
  • Source/WebCore/Modules/speech/SpeechSynthesisEvent.idl:
  • Source/WebCore/Modules/webxr/XRInputSourceEvent.idl:
  • Source/WebCore/Modules/webxr/XRInputSourcesChangeEvent.idl:
  • Source/WebCore/Modules/webxr/XRReferenceSpaceEvent.idl:
  • Source/WebCore/Modules/webxr/XRSessionEvent.idl:
  • Source/WebCore/bindings/IDLTypes.h:

(WebCore::IDLString::isNullValue):

  • Source/WebCore/bindings/js/JSDOMConvertStrings.h:

(WebCore::propertyNameToString):
(WebCore::Converter<IDLLegacyNullToEmptyAtomStringAdaptor<T>>::convert):
(WebCore::JSConverter<IDLLegacyNullToEmptyAtomStringAdaptor<T>>::convert):
(WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert):
(WebCore::JSConverter<IDLAtomStringAdaptor<IDLUSVString>>::convert):

  • Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GetAnnotatedIDLType):

  • Source/WebCore/bindings/scripts/test/TestPromiseRejectionEvent.idl:
  • Source/WebCore/css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/DOMCSSCustomPropertyDescriptor.h:
  • Source/WebCore/css/DOMCSSCustomPropertyDescriptor.idl:
  • Source/WebCore/css/MediaQueryExpression.cpp:

(WebCore::consumeFirstValue):

  • Source/WebCore/css/MediaQueryListEvent.idl:
  • Source/WebCore/css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::setCustomProperty):

  • Source/WebCore/css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • Source/WebCore/css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):

  • Source/WebCore/css/parser/CSSPropertyParser.h:
  • Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeFamilyNameRaw):

  • Source/WebCore/dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocumentType):
(WebCore::DOMImplementation::createDocument):

  • Source/WebCore/dom/DOMImplementation.h:
  • Source/WebCore/dom/DOMImplementation.idl:
  • Source/WebCore/dom/Document+HTMLObsolete.idl:
  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::createElementNS):
(WebCore::Document::formElementsState const):
(WebCore::Document::setStateForNewFormElements):
(WebCore::Document::parseQualifiedName):
(WebCore::Document::createAttributeNS):
(WebCore::Document::getCachedLocale):
(WebCore::Document::setBgColor):
(WebCore::Document::setFgColor):
(WebCore::Document::setAlinkColor):
(WebCore::Document::setLinkColorForBindings):
(WebCore::Document::setVlinkColor):

  • Source/WebCore/dom/Document.h:
  • Source/WebCore/dom/Document.idl:
  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::toggleAttribute):
(WebCore::Element::didAddAttribute):
(WebCore::Element::didModifyAttribute):
(WebCore::Element::didRemoveAttribute):

  • Source/WebCore/dom/KeyboardEvent.idl:
  • Source/WebCore/dom/MutationObserver.h:
  • Source/WebCore/dom/MutationObserver.idl:
  • Source/WebCore/dom/QualifiedName.h:

(WebCore::QualifiedName::toAtomString const):

  • Source/WebCore/dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestModuleScript):

  • Source/WebCore/editing/ApplyStyleCommand.cpp:

(WebCore::joinWithSpace):

  • Source/WebCore/editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::inputEventTypeName const):

  • Source/WebCore/editing/CompositeEditCommand.h:
  • Source/WebCore/editing/CreateLinkCommand.cpp:

(WebCore::CreateLinkCommand::doApply):

  • Source/WebCore/editing/EditCommand.cpp:

(WebCore::inputTypeNameForEditingAction):

  • Source/WebCore/editing/EditCommand.h:
  • Source/WebCore/editing/EditingStyle.cpp:

(WebCore::StyleChange::extractTextStyles):

  • Source/WebCore/editing/EditingStyle.h:

(WebCore::StyleChange::fontColor):
(WebCore::StyleChange::fontFace):
(WebCore::StyleChange::fontSize):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::Editor::applyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::insertAttachment):
(WebCore::Editor::styleForSelectionStart):

  • Source/WebCore/editing/Editor.h:
  • Source/WebCore/editing/EditorCommand.cpp:

(WebCore::executeFormatBlock):
(WebCore::executeInsertHorizontalRule):
(WebCore::executeInsertImage):

  • Source/WebCore/editing/MarkupAccumulator.cpp:

(WebCore::shouldAddNamespaceElement):
(WebCore::MarkupAccumulator::generateUniquePrefix):

  • Source/WebCore/editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::replace):

  • Source/WebCore/editing/TypingCommand.cpp:

(WebCore::TypingCommand::inputEventTypeName const):

  • Source/WebCore/editing/TypingCommand.h:
  • Source/WebCore/editing/WebContentReader.h:
  • Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::createFragmentForImageAttachment):
(WebCore::replaceRichContentWithAttachments):
(WebCore::createFragmentAndAddResources):
(WebCore::sanitizeMarkupWithArchive):
(WebCore::attachmentForFilePath):
(WebCore::attachmentForData):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readDataBuffer):

  • Source/WebCore/editing/markup.cpp:

(WebCore::AttributeChange::AttributeChange):
(WebCore::completeURLs):
(WebCore::replaceSubresourceURLs):
(WebCore::StyledMarkupAccumulator::appendCustomAttributes):
(WebCore::createFragmentForImageAndURL):

  • Source/WebCore/history/HistoryItem.cpp:

(WebCore::HistoryItem::setDocumentState):
(WebCore::HistoryItem::documentState const):

  • Source/WebCore/history/HistoryItem.h:
  • Source/WebCore/html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::createTDForFilename):

  • Source/WebCore/html/FileInputType.cpp:

(WebCore::FileInputType::saveFormControlState const):

  • Source/WebCore/html/FormController.cpp:

(WebCore::StringVectorReader::consumeString):
(WebCore::StringVectorReader::consumeSubvector):
(WebCore::appendSerializedFormControlState):
(WebCore::FormController::formElementsState const):
(WebCore::FormController::setStateForNewFormElements):
(WebCore::FormController::parseStateVector):
(WebCore::FormController::referencedFilePaths):

  • Source/WebCore/html/FormController.h:
  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • Source/WebCore/html/HTMLAreaElement.idl:
  • Source/WebCore/html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::setFile):
(WebCore::HTMLAttachmentElement::updateAttributes):
(WebCore::HTMLAttachmentElement::updateEnclosingImageWithData):

  • Source/WebCore/html/HTMLAttachmentElement.h:
  • Source/WebCore/html/HTMLBaseElement.idl:
  • Source/WebCore/html/HTMLButtonElement.idl:
  • Source/WebCore/html/HTMLCollection.cpp:

(WebCore::HTMLCollection::isSupportedPropertyName):

  • Source/WebCore/html/HTMLCollection.h:
  • Source/WebCore/html/HTMLFormControlElementWithState.h:
  • Source/WebCore/html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::namedItemOrItems const):

  • Source/WebCore/html/HTMLFormControlsCollection.h:
  • Source/WebCore/html/HTMLFormElement.idl:
  • Source/WebCore/html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::openURL):

  • Source/WebCore/html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::shouldLoadFrameLazily):

  • Source/WebCore/html/HTMLIFrameElement.idl:
  • Source/WebCore/html/HTMLImageElement.idl:
  • Source/WebCore/html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):

  • Source/WebCore/html/HTMLInputElement.idl:
  • Source/WebCore/html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::parseAttribute):

  • Source/WebCore/html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setPreload):

  • Source/WebCore/html/HTMLMediaElement.h:
  • Source/WebCore/html/HTMLMediaElement.idl:
  • Source/WebCore/html/HTMLOrForeignElement.idl:
  • Source/WebCore/html/HTMLSelectElement.idl:
  • Source/WebCore/html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::saveFormControlState const):

  • Source/WebCore/html/HTMLTextAreaElement.idl:
  • Source/WebCore/html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::HTMLVideoElement):

  • Source/WebCore/html/HiddenInputType.cpp:

(WebCore::HiddenInputType::saveFormControlState const):
(WebCore::HiddenInputType::restoreFormControlState):
(WebCore::HiddenInputType::setValue):

  • Source/WebCore/html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):

  • Source/WebCore/html/InputType.cpp:

(WebCore::InputType::saveFormControlState const):

  • Source/WebCore/html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • Source/WebCore/html/ModelDocument.cpp:

(WebCore::ModelDocumentParser::createDocumentStructure):

  • Source/WebCore/html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):

  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createAutoFillButton):
(WebCore::TextFieldInputType::updateAutoFillButton):

  • Source/WebCore/html/canvas/WebGLContextEvent.idl:
  • Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::HTMLMetaCharsetParser::processMeta):
(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):

  • Source/WebCore/html/parser/HTMLMetaCharsetParser.h:
  • Source/WebCore/html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • Source/WebCore/html/parser/HTMLTreeBuilder.cpp:

(WebCore::createForeignAttributesMap):

  • Source/WebCore/html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldCancelButtonElement::create):

  • Source/WebCore/html/track/AudioTrack.cpp:

(WebCore::AudioTrack::updateKindFromPrivate):

  • Source/WebCore/html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::LoadableTextTrack):
(WebCore::LoadableTextTrack::create):

  • Source/WebCore/html/track/LoadableTextTrack.h:
  • Source/WebCore/html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::setId):

  • Source/WebCore/html/track/TextTrackCue.h:

(WebCore::TextTrackCue::id const):

  • Source/WebCore/html/track/TextTrackCue.idl:
  • Source/WebCore/html/track/TrackEvent.idl:
  • Source/WebCore/html/track/VideoTrack.cpp:

(WebCore::VideoTrack::updateKindFromPrivate):

  • Source/WebCore/html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::collectWebVTTBlock):
(WebCore::WebVTTParser::collectCueId):
(WebCore::WebVTTParser::resetCueValues):

  • Source/WebCore/html/track/WebVTTParser.h:
  • Source/WebCore/inspector/DOMEditor.cpp:

(WebCore::DOMEditor::setAttribute):
(WebCore::DOMEditor::removeAttribute):

  • Source/WebCore/inspector/DOMEditor.h:
  • Source/WebCore/inspector/InspectorAuditAccessibilityObject.cpp:

(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):

  • Source/WebCore/inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::drawRulers):

  • Source/WebCore/inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheetForInlineStyle::setStyleText):

  • Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setAttributeValue):
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::removeAttribute):
(WebCore::InspectorDOMAgent::setNodeName):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::interceptWithResponse):
(WebCore::InspectorNetworkAgent::interceptRequestWithResponse):

  • Source/WebCore/loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):

  • Source/WebCore/loader/HistoryController.cpp:

(WebCore::FrameLoader::HistoryController::recursiveSetProvisionalItem):

  • Source/WebCore/loader/PolicyChecker.cpp:

(WebCore::FrameLoader::PolicyChecker::checkNewWindowPolicy):

  • Source/WebCore/loader/PolicyChecker.h:
  • Source/WebCore/page/PageSerializer.cpp:

(WebCore::isCharsetSpecifyingNode):

  • Source/WebCore/platform/Pasteboard.h:

(WebCore::PasteboardWebContentReader::readDataBuffer):

  • Source/WebCore/platform/graphics/InbandGenericCue.h:

(WebCore::GenericCueData::GenericCueData):
(WebCore::GenericCueData::decode):
(WebCore::InbandGenericCue::id const):
(WebCore::InbandGenericCue::setId):

  • Source/WebCore/platform/graphics/avfoundation/objc/InbandChapterTrackPrivateAVFObjC.mm:

(WebCore::InbandChapterTrackPrivateAVFObjC::processChapters):

  • Source/WebCore/platform/graphics/iso/ISOVTTCue.cpp:

(WebCore::ISOWebVTTCue::ISOWebVTTCue):
(WebCore::ISOWebVTTCue::parse):

  • Source/WebCore/platform/graphics/iso/ISOVTTCue.h:
  • Source/WebCore/platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::read):

  • Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp:

(WebCore::RealtimeVideoCaptureSource::RealtimeVideoCaptureSource):

  • Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.h:
  • Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):

  • Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
  • Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSource::create):
(WebCore::MockRealtimeVideoSourceMac::createForMockDisplayCapturer):
(WebCore::MockRealtimeVideoSourceMac::MockRealtimeVideoSourceMac):

  • Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockDisplayCapturer::MockDisplayCapturer):

  • Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::create):
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):

  • Source/WebCore/platform/mock/MockRealtimeVideoSource.h:
  • Source/WebCore/style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertStringOrAutoAtom):
(WebCore::Style::BuilderConverter::convertStringOrNoneAtom):

  • Source/WebCore/style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyValueContent):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::shadowPseudoId):
(WebCore::Internals::setShadowPseudoId):
(WebCore::Internals::formControlStateOfPreviousHistoryItem):
(WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::highlightPseudoElementColor):

  • Source/WebCore/testing/Internals.h:
  • Source/WebCore/testing/Internals.idl:
  • Source/WebCore/testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::setSupportedRobustness): Deleted.

  • Source/WebCore/testing/MockCDMFactory.h:

(WebCore::MockCDMFactory::setSupportedRobustness):

  • Source/WebCore/testing/MockCDMFactory.idl:

Canonical link: https://commits.webkit.org/250160@main

1:16 PM Changeset in webkit [293655] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GLIB] Update test expectations. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=239945

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-05-01

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
8:08 AM Changeset in webkit [293654] by zan@falconsigh.net
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Implement MacroAssembler::probe(), ctiMasmProbeTrampoline
https://bugs.webkit.org/show_bug.cgi?id=239938

Reviewed by Yusuke Suzuki.

Implement MacroAssembler::probe() for RISCV64, along with the
ctiMasmProbeTrampoline operation. The implementation follows the process
of implementations for other platforms, with incoming, outgoing and
return-address-restoration records used to store register values during
setup and breakdown of the probe.

Going into the probe and back out of it, the general-purpose and
floating-point registers are stored, with the exception of global and
thread registers (x3 and x4). After the probe, if the probe state on the
stack is broken, the complete state is re-established before the
registers are reloaded, with the stack pointer and return address
registers set up last.

Covered by probing-related unit tests in testmasm.

  • assembler/MacroAssemblerRISCV64.cpp:

(JSC::MacroAssembler::probe):

8:05 AM Changeset in webkit [293653] by zan@falconsigh.net
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Enable testmasm execution
https://bugs.webkit.org/show_bug.cgi?id=239937

Reviewed by Yusuke Suzuki.

In testmasm, enable some additional sets of tests for RISCV64 that cover
already-functioning behavior. In isSpecialGPR(), the function returns
true under CPU(RISCV64) for the appropriate registers.

In invoke(), when targeting RISCV64 and invoking JIT-produced code whose
return type is a 32-bit integer, the resulting value is manually
sign-extended to paper over the mismatch between zero-extended 32-bit
values that are used and produced in JSC JIT and the sign-extended
32-bit values that are expected in the RV64 calling convention.

  • assembler/testmasm.cpp:

(JSC::isSpecialGPR):
(JSC::invoke):
(JSC::testProbePreservesGPRS):
(JSC::testLoadBaseIndex):
(JSC::testStoreBaseIndex):

7:18 AM Changeset in webkit [293652] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/LayoutTests

[GStreamer] tests gardening
https://bugs.webkit.org/show_bug.cgi?id=239943

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-01
Unreviewed, update a couple media-recorder and media-capabilities expectations.

  • platform/glib/TestExpectations:
  • platform/wpe/http/wpt/mediarecorder/MediaRecorder-dataavailable-expected.txt: Removed.
  • platform/wpe/http/wpt/mediarecorder/MediaRecorder-mock-dataavailable-expected.txt: Removed.

Canonical link: https://commits.webkit.org/250156@main

1:51 AM Changeset in webkit [293651] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WPE][GTK] Built product archives include old library files
https://bugs.webkit.org/show_bug.cgi?id=239928

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-01
Reviewed by Adrian Perez de Castro.

  • CISupport/built-product-archive: Exclude old WPE/GTK files from built product zip archives.

Canonical link: https://commits.webkit.org/250155@main

Apr 30, 2022:

7:42 PM Changeset in webkit [293650] by Andres Gonzalez
  • 15 edits in trunk/Source/WebCore

Code cleanup in preparation for refactoring of computing relationships between AXObjects.
https://bugs.webkit.org/show_bug.cgi?id=239848
<rdar://problem/92455544>

Reviewed by Chris Fleizach and Tyler Wilcock.

No new functionality.

AccessibilityObject::ariaElementsFromAttribute() and
ariaElementsReferencedByAttribute() are the methods that currently
compute the relationships between objects. These methods now return a
vector of the related objects instead of taking an out parameter.
In addition, all ariaXXXElements and ariaXXXReferencingElements methods
are renamed to better reflect the relationships they retrieve. Note that
the prefix aria is removed from all method names because ARIA is one way
of establishing relationships between objects, but not necessarily the
only way. These changes make the code more concise and clearer.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::textUnderElement const):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::ariaTreeRows):
(WebCore::AccessibilityObject::ariaElementsFromAttribute const):
(WebCore::AccessibilityObject::ariaElementsReferencedByAttribute const):
(WebCore::AccessibilityObject::isActiveDescendantOfFocusedContainer const):
(WebCore::AccessibilityObject::activeDescendantOfObjects const):
(WebCore::AccessibilityObject::controlledObjects const):
(WebCore::AccessibilityObject::controllers const):
(WebCore::AccessibilityObject::describedByObjects const):
(WebCore::AccessibilityObject::descriptionForObjects const):
(WebCore::AccessibilityObject::detailedByObjects const):
(WebCore::AccessibilityObject::detailsForObjects const):
(WebCore::AccessibilityObject::errorMessageObjects const):
(WebCore::AccessibilityObject::errorMessageForObjects const):
(WebCore::AccessibilityObject::flowToObjects const):
(WebCore::AccessibilityObject::flowFromObjects const):
(WebCore::AccessibilityObject::labelledByObjects const):
(WebCore::AccessibilityObject::labelForObjects const):
(WebCore::AccessibilityObject::ownedObjects const):
(WebCore::AccessibilityObject::owners const):
(WebCore::AccessibilityObject::ariaActiveDescendantReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaControlsElements const): Deleted.
(WebCore::AccessibilityObject::ariaControlsReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaDescribedByElements const): Deleted.
(WebCore::AccessibilityObject::ariaDescribedByReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaDetailsElements const): Deleted.
(WebCore::AccessibilityObject::ariaDetailsReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaErrorMessageElements const): Deleted.
(WebCore::AccessibilityObject::ariaErrorMessageReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaFlowToElements const): Deleted.
(WebCore::AccessibilityObject::ariaFlowToReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaLabelledByElements const): Deleted.
(WebCore::AccessibilityObject::ariaLabelledByReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaOwnsElements const): Deleted.
(WebCore::AccessibilityObject::ariaOwnsReferencingElements const): Deleted.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::linkedUIElements const):
(WebCore::AccessibilityRenderObject::targetElementForActiveDescendant const):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::columnHeaders):
(WebCore::AccessibilityTableCell::ariaOwnedByParent const):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::addChildren):

  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::relationMap const):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::activeDescendantOfObjects const):
(WebCore::AXIsolatedObject::controllers const):
(WebCore::AXIsolatedObject::describedByObjects const):
(WebCore::AXIsolatedObject::descriptionForObjects const):
(WebCore::AXIsolatedObject::detailsForObjects const):
(WebCore::AXIsolatedObject::errorMessageForObjects const):
(WebCore::AXIsolatedObject::flowFromObjects const):
(WebCore::AXIsolatedObject::labelledByObjects const):
(WebCore::AXIsolatedObject::labelForObjects const):
(WebCore::AXIsolatedObject::owners const):
(WebCore::AXIsolatedObject::ariaActiveDescendantReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaControlsReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaDescribedByElements const): Deleted.
(WebCore::AXIsolatedObject::ariaDescribedByReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaDetailsReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaErrorMessageReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaFlowToReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaLabelledByElements const): Deleted.
(WebCore::AXIsolatedObject::ariaLabelledByReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaOwnsReferencingElements const): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

9:57 AM Changeset in webkit [293649] by commit-queue@webkit.org
  • 3 edits in trunk

[WPE][GTK] Enable MEDIA_SESSION by default
https://bugs.webkit.org/show_bug.cgi?id=239931

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-30
Reviewed by Michael Catanzaro.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Canonical link: https://commits.webkit.org/250153@main

9:50 AM Changeset in webkit [293648] by commit-queue@webkit.org
  • 6 edits in trunk

REGRESSION(r283437) a number of media tests fail/timeout on the test bots
https://bugs.webkit.org/show_bug.cgi?id=231811
<rdar://problem/84552871>

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-30
Reviewed by Michael Catanzaro.

Disable DBus MPRIS notifications when running the tests, these leak to the host when running
on desktop and trigger timeouts on under-powered bots.

  • platform/audio/glib/MediaSessionGLib.cpp:

(WebCore::MediaSessionGLib::create):
(WebCore::MediaSessionGLib::MediaSessionGLib):
(WebCore::MediaSessionGLib::emitPositionChanged):
(WebCore::MediaSessionGLib::updateNowPlaying):
(WebCore::MediaSessionGLib::playbackStatusChanged):

  • platform/audio/glib/MediaSessionManagerGLib.h:

(WebCore::MediaSessionManagerGLib::setDBusNotificationsEnabled):
(WebCore::MediaSessionManagerGLib::areDBusNotificationsEnabled const):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

LayoutTests:

  • platform/glib/TestExpectations: Unflag tests now passing.

Canonical link: https://commits.webkit.org/250152@main

9:30 AM Changeset in webkit [293647] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Only stretch the percent height <body> when it is the document element's child
https://bugs.webkit.org/show_bug.cgi?id=239932
<rdar://92257660>

Reviewed by Antti Koivisto.

This IE quirk should only be applied to when the body is actually the document element's child (stretching case).

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight const):

  • rendering/RenderBox.h:

(WebCore::RenderBox::parentBox const):

8:30 AM Changeset in webkit [293646] by Alan Bujtas
  • 5 edits
    2 adds in trunk

ASSERTION FAILED: *trailingRunIndex >= overflowingRunIndex in WebCore::Layout::InlineContentBreaker::tryBreakingNextOverflowingRuns
https://bugs.webkit.org/show_bug.cgi?id=239838
<rdar://problem/92455051>

Reviewed by Antti Koivisto.

Source/WebCore:

Take partial text overflow into account when computing intrinsic width.

Test: fast/inline/overflowing-content-inside-inline-box-crash.html

  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::computedIntrinsicWidth):

  • layout/formattingContexts/inline/InlineLineBuilder.h:

LayoutTests:

  • fast/inline/overflowing-content-inside-inline-box-crash-expected.txt: Added.
  • fast/inline/overflowing-content-inside-inline-box-crash.html: Added.
6:11 AM Changeset in webkit [293645] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Introduce LineBuilder::PartialContent
https://bugs.webkit.org/show_bug.cgi?id=239886

Reviewed by Antti Koivisto.

This patch is in preparation for adding partial content support for intrinsic width computation.

  1. Use a dedicated PartialContent structure to store partial overflowing information (output of current line breaking, input to next line).
  2. Decouple partial overflowing width (see above) and the "let's not measure the wrapped content again on the next line as leading content" cached value.
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::lineLayout):

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::initialize):

  • layout/formattingContexts/inline/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::PartialContent::PartialContent):

6:01 AM Changeset in webkit [293644] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] Do not wrap </span> to the next line when it is preceded by overflowing text
https://bugs.webkit.org/show_bug.cgi?id=239879
<rdar://problem/92497176>

Reviewed by Antti Koivisto.

Source/WebCore:

This patch makes sure that inline content run(s) ("X") followed by inline box end run(s) (</span></span>)
don't get separated when they overflow the line (e.g. width: 0px).

Test: fast/inline/overflowing-content-inside-inline-box.html

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):

LayoutTests:

  • fast/inline/overflowing-content-inside-inline-box-expected.html: Added.
  • fast/inline/overflowing-content-inside-inline-box.html: Added.
12:26 AM Changeset in webkit [293643] by jer.noble@apple.com
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

[Mac] VTVideoDecoderClass object pointers can become unaligned on x86
https://bugs.webkit.org/show_bug.cgi?id=239916
<rdar://92445366>

Reviewed by Eric Carlson.

Both the base class and the derived class must be 4-byte aligned on x86, or there
is a chance that a pointer member of that struct will cross a page boundary, and
dereferencing that pointer will fail.

  • Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp:
  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
Note: See TracTimeline for information about the timeline view.