Timeline



May 7, 2022:

10:50 PM Changeset in webkit [293955] by rniwa@webkit.org
  • 7 edits in trunk/Source/WebCore

Add helper functions to queue task on Node with GCReachableRef
https://bugs.webkit.org/show_bug.cgi?id=240204

Reviewed by Chris Dumez.

Added Node::queueTaskKeepingThisNodeAlive, which queues a task to the event loop while keeping "this" Node
and its JS wrapper alive, and Node::queueTaskToDispatchEvent, which queues a task to the event loop to
dispatch an event on "this" Node while keeping it and its JS wrapper alive, and deployed them in elements.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::setSourceURL): Need to disambiguate which queueTaskToDispatchEvent to use
between Node and ActiveDOMObject.
(WebCore::HTMLModelElement::notifyFinished): Ditto.

  • dom/Node.cpp:

(WebCore::Node::queueTaskKeepingThisNodeAlive): Added.
(WebCore::Node::queueTaskToDispatchEvent): Added.

  • dom/Node.h:
  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::parseAttribute): Use newly added functions.

  • html/HTMLDialogElement.cpp:

(WebCore::HTMLDialogElement::close): Ditto.
(WebCore::HTMLDialogElement::queueCancelTask): Ditto.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::scheduleSelectEvent): Ditto.

9:19 PM Changeset in webkit [293954] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Do WebKitAdditions header replacement only when a specific environment variable is set
https://bugs.webkit.org/show_bug.cgi?id=240210
<rdar://92885915>

Reviewed by Tim Horton.

  • Source/WebKit/Configurations/WebKit.xcconfig:
  • Source/WebKit/mac/replace-webkit-additions-includes.py:

(check_should_do_replacement):
(main):
(is_supported_os): Deleted.

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

8:47 PM Changeset in webkit [293953] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Use an OptionSet iterator to skip directly to GraphicsContextState::Change bits to handle
https://bugs.webkit.org/show_bug.cgi?id=239954
<rdar://problem/92593424>

Patch by Cameron McCormack <Cameron McCormack> on 2022-05-07
Reviewed by Simon Fraser.

It would be rare for display list SetState items to have many Change
bits set on them. Instead of checking for all 15 bits in mergeChanges,
we can use OptionSet's iterator to skip directly to each changed bit.

Using ctz to turn the Change bit into a bit position helps the
compiler generate compact code to jump to each case in the switch
statement.

On an iPad I tested with, this is a ~2% win on the MotionMark Design
subtest, 5.5% on Leaves, and 1.4% overall.

  • platform/graphics/GraphicsContextState.cpp:

(WebCore::toIndex):
(WebCore::GraphicsContextState::mergeChanges):

7:41 PM Changeset in webkit [293952] by mark.lam@apple.com
  • 2 edits in trunk/Source/bmalloc

Force PAS_ASSERT to generate different crash sites for each assertion.
https://bugs.webkit.org/show_bug.cgi?id=240209

Reviewed by Yusuke Suzuki.

Clang currently optimizes all crash sites into one in each function. Hence, if we
get a crash address at the 1 crash site, we don't know which failed assertion got
us there. This patch uses an asm statement to force Clang to emit a different
crash site for each assertion.

Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.

Size-wise, there is some increase. The following is the "size" output on
JavaScriptCore on M1:

TEXT. DATA OBJC others dec hex

old 19628032 180224 0 18792448 38600704 24d0000
new 19644416 180224 0 19251200 39075840 2544000

diff 16384 0 0 458752 475136

The increase in the "others" categories are mostly in the String Table, Symbol
Table, and Function Start Addresses. These take up disk space but should not
impact RAM usage unless they are accessed by a a debugger.

  • libpas/src/libpas/pas_utils.h:

(pas_assertion_failed):

4:34 PM Changeset in webkit [293951] by Cameron McCormack
  • 13 edits
    2 adds in trunk

Don't propagate GraphicsContextState change bits into TextPainter's glyph display list recorder
https://bugs.webkit.org/show_bug.cgi?id=239952
<rdar://problem/92635604>

Source/WebCore:

Reviewed by Said Abou-Hallawa and Antti Koivisto.

In FontCascade::displayListForTextRun, we create a
DisplayList::Recorder, then call drawGlyphBuffer. We initialize the
DisplayList::Recorder with the GraphicsContextState of the
GraphicsContext we're drawing to. Just before this, we will have set the
current fill color on that GraphicsContext.

When GPUP DOM rendering is disabled, GraphicsContextCG responds to
setFillColor etc. by updating GraphicsContextState, including setting
the Change flag, then immediately updating the CGContext, and clearing
the Change flag.

But when GPUP DOM rendering is enabled, the GraphicsContext is a
DisplayList::Recorder for the layer we're painting in to. Because
DisplayList::Recorder applies its state changes lazily, it can be in the
situation where its GraphicsContextState has had the fill brush changed,
and the Change flag is still set. So DisplayList::Recorder starts off
with a GraphicsContextState with unapplied changes in it. We end up in
DisplayList::Recorder::drawGlyphsAndCacheFont, which calls
appendStateChangeItemIfNecessary, which sees that the Change bit is set,
and generates a SetInlineFillColor display list item, which is
recorded and then replayed the next time the same text is painted.
This recorded fill color then may be wrong for the next TextPainter
that wants to reuse the cached glyph display list.

Display list recorders should never be initialized with a
GraphicsContextState that has change flags set on it. We can assert
this, then make FontCascade explicitly clear those flags on the state
object it passes in to the DisplayList::Recorder.

Test: fast/text/glyph-display-list-color.html

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::displayListForTextRun const):

  • platform/graphics/GraphicsContextState.cpp:

(WebCore::GraphicsContextState::cloneForRecording const):

  • platform/graphics/GraphicsContextState.h:
  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::Recorder):

Add setForceUseGlyphDisplayListForTesting and
cachedGlyphDisplayListsForTextNode functions on Internal for the
test to use:

  • rendering/GlyphDisplayListCache.h:

(WebCore::GlyphDisplayListCache::getIfExists):

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::shouldUseGlyphDisplayList):
(WebCore::TextPainter::setForceUseGlyphDisplayListForTesting):
(WebCore::TextPainter::cachedGlyphDisplayListsForTextNodeAsText):

  • rendering/TextPainter.h:

(WebCore::TextPainter::glyphDisplayListIfExists):

  • testing/Internals.cpp:

(WebCore::Internals::setForceUseGlyphDisplayListForTesting):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Reviewed by Antti Koivisto.

  • fast/text/glyph-display-list-color-expected.txt: Added.
  • fast/text/glyph-display-list-color.html: Added.
11:15 AM Changeset in webkit [293950] by rniwa@webkit.org
  • 2 edits in trunk

Explain now node reference counting works in Introduction.md
https://bugs.webkit.org/show_bug.cgi?id=240202

Unreviewed. Fix an obvious typo.

  • Introduction.md:
10:58 AM Changeset in webkit [293949] by rniwa@webkit.org
  • 2 edits in trunk

Explain now node reference counting works in Introduction.md
https://bugs.webkit.org/show_bug.cgi?id=240202

Reviewed by Chris Dumez.

Added explanation on how Node reference counting works.

  • Introduction.md:
10:34 AM Changeset in webkit [293948] by Chris Dumez
  • 8 edits in trunk/Source

Modernize / Optimize HTMLInputElement a bit
https://bugs.webkit.org/show_bug.cgi?id=240194

Reviewed by Darin Adler.

  • Source/WebCore/html/ColorInputType.h:
  • Source/WebCore/html/FileInputType.cpp:

(WebCore::FileInputType::firstElementPathForInputValue const):
(WebCore::FileInputType::files): Deleted.
(WebCore::FileInputType::canSetValue): Deleted.
(WebCore::FileInputType::getTypeSpecificValue): Deleted.

  • Source/WebCore/html/FileInputType.h:
  • Source/WebCore/html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::endEditing):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::accessKeyAction):
(WebCore::HTMLInputElement::initializeInputType):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::finishParsingChildren):
(WebCore::HTMLInputElement::appendFormData):
(WebCore::HTMLInputElement::reset):
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):
(WebCore::HTMLInputElement::value const):
(WebCore::HTMLInputElement::valueWithDefault const):
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::acceptMIMETypes const):
(WebCore::HTMLInputElement::acceptFileExtensions const):
(WebCore::HTMLInputElement::setShowAutoFillButton):
(WebCore::HTMLInputElement::files):
(WebCore::HTMLInputElement::setFiles):
(WebCore::HTMLInputElement::onSearch):
(WebCore::HTMLInputElement::prepareForDocumentSuspension):
(WebCore::HTMLInputElement::valueAsColor const):
(WebCore::HTMLInputElement::selectColor):
(WebCore::HTMLInputElement::suggestedColors const):
(WebCore::HTMLInputElement::dataList const):
(WebCore::HTMLInputElement::updateValueIfNeeded):
(WebCore::HTMLInputElement::isInRequiredRadioButtonGroup):
(WebCore::HTMLInputElement::radioButtonGroup const):
(WebCore::HTMLInputElement::checkedRadioButtonForGroup const):
(WebCore::HTMLInputElement::size const): Deleted.
(WebCore::HTMLInputElement::setValueForUser): Deleted.
(WebCore::HTMLInputElement::acceptMIMETypes): Deleted.
(WebCore::HTMLInputElement::acceptFileExtensions): Deleted.
(WebCore::HTMLInputElement::canReceiveDroppedFiles const): Deleted.

  • Source/WebCore/html/HTMLInputElement.h:

(WebCore::HTMLInputElement::size const):
(WebCore::HTMLInputElement::setValueForUser):
(WebCore::HTMLInputElement::hasDirtyValue const):
(WebCore::HTMLInputElement::hasAutoFillStrongPasswordButton const):
(WebCore::HTMLInputElement::canReceiveDroppedFiles const):

  • Source/WebCore/html/InputType.cpp:

(WebCore::InputType::files): Deleted.
(WebCore::InputType::setFiles): Deleted.
(WebCore::InputType::getTypeSpecificValue): Deleted.
(WebCore::InputType::canSetValue): Deleted.
(WebCore::InputType::valueAsColor const): Deleted.
(WebCore::InputType::selectColor): Deleted.
(WebCore::InputType::suggestedColors const): Deleted.

  • Source/WebCore/html/InputType.h:

(WebCore::InputType::supportsValidation const):
(WebCore::InputType::InputType):
(WebCore::InputType::canHaveTypeSpecificValue const): Deleted.

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

May 6, 2022:

10:27 PM Changeset in webkit [293947] by Megan Gardner
  • 11 edits in trunk

Fix flakey test by using the old API on old systems.
https://bugs.webkit.org/show_bug.cgi?id=240195

Reviewed by Tim Horton.

Source/WebKit:

Turn fast/images/text-recognition/ios/show-data-detector-context-menu.html back on.

  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKActionSheetAssistant contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKContentView contextMenuInteraction:configuration:dismissalPreviewForItemWithIdentifier:contextMenuInteraction:previewForDismissingMenuWithConfiguration:]):
(-[WKContentView contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.
(-[WKContentView contextMenuInteraction:configuration:dismissalPreviewForItemWithIdentifier:]): Deleted.

  • UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:

(-[WKDataListSuggestionsDropdown contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKDataListSuggestionsDropdown contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.

  • UIProcess/ios/forms/WKDateTimeInputControl.mm:

(-[WKDateTimePicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKDateTimePicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKFileUploadPanel contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKSelectPicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKSelectPicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.

Source/WTF:

  • wtf/PlatformHave.h:

LayoutTests:

  • platform/ios/TestExpectations:
9:16 PM Changeset in webkit [293946] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Block-style image overlay containers should have lighter shadows
https://bugs.webkit.org/show_bug.cgi?id=240198
rdar://92890194

Reviewed by Tim Horton.

Make some minor adjustments to the style of block-style image overlays. The short and long box-shadows
underneath these boxes should be much lighter, and the font-weight should be normal (400) instead of bold.

  • html/shadow/imageOverlay.css:

(div.image-overlay-block):

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

9:02 PM Changeset in webkit [293945] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Fix another internal build
https://bugs.webkit.org/show_bug.cgi?id=240201
<rdar://92859012>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.

Bug 240184 introduced a classic "but I have spaces in my path" bug.

  • Configurations/adattributiond.xcconfig:
7:17 PM Changeset in webkit [293944] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WebXR] Update color format used for the multisample render buffer
https://bugs.webkit.org/show_bug.cgi?id=240179

Patch by Ada Chan <adachan@apple.com> on 2022-05-06
Reviewed by Dean Jackson.

  • Modules/webxr/WebXROpaqueFramebuffer.cpp:

(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):

7:07 PM Changeset in webkit [293943] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Optimize shouldApplyContainment methods
https://bugs.webkit.org/show_bug.cgi?id=240164

Reviewed by Alan Bujtas.

Based on a patch by Rob Buis.

Optimize shouldApplyContainment methods by allowing OptionSet as a parameter.
Also restrict the principal box checks to a single location.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeIntrinsicLogicalWidths const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths const):

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainFixedPositionObjects const):
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
(WebCore::RenderElement::shouldApplyLayoutOrPaintContainment const):
(WebCore::RenderElement::shouldApplySizeOrStyleContainment const):
(WebCore::RenderElement::shouldApplyLayoutContainment const):
(WebCore::RenderElement::shouldApplyPaintContainment const):
(WebCore::RenderElement::shouldApplySizeContainment const):
(WebCore::RenderElement::shouldApplyInlineSizeContainment const):
(WebCore::RenderElement::shouldApplyStyleContainment const):
(WebCore::RenderElement::shouldApplyAnyContainment const):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat const):

6:52 PM Changeset in webkit [293942] by Ross Kirsling
  • 5 edits in trunk

Temporal.Duration#toString should never ignore fractionalSecondDigits
https://bugs.webkit.org/show_bug.cgi?id=240193

Reviewed by Yusuke Suzuki.

This patch implements the spec correction of https://github.com/tc39/proposal-temporal/pull/1956:
new Temporal.Duration.from(1).toString({ fractionalSecondDigits: 2 }) should be P1Y0.00S, not just P1Y.

  • stress/temporal-duration.js: Add a test case.
  • test262/expectations.yaml: Mark two test cases as passing.
  • runtime/TemporalDuration.cpp:

(JSC::TemporalDuration::toString):

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

6:41 PM Changeset in webkit [293941] by commit-queue@webkit.org
  • 21 edits
    6 adds in trunk/Source

Unreviewed, reverting r293824.
https://bugs.webkit.org/show_bug.cgi?id=240197

Speedometer2/Angular2-TypeScript-TodoMVC 8% regression

Reverted changeset:

"SWOriginStore is no longer needed"
https://bugs.webkit.org/show_bug.cgi?id=240003
https://commits.webkit.org/r293824

6:38 PM Changeset in webkit [293940] by Patrick Griffis
  • 3 edits
    2 adds in trunk

CSP: Fix script-src-elem policies in workers
https://bugs.webkit.org/show_bug.cgi?id=239840

Reviewed by Kate Cheney.

Source/WebCore:

Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript const):

LayoutTests:

CSP: Fix script-src-elem policies in workers

  • http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html: Added.
6:32 PM Changeset in webkit [293939] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

Use dynamicDowncast in getPathFromPathOperation()
https://bugs.webkit.org/show_bug.cgi?id=240190

Reviewed by Chris Dumez.

Small cleanup.

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertPathOperation):

6:15 PM Changeset in webkit [293938] by Wenson Hsieh
  • 12 edits in trunk

Don't show "Markup Image" item for images that have already been marked up
https://bugs.webkit.org/show_bug.cgi?id=240133
rdar://92064534

Reviewed by Aditya Keerthi.

Source/WebKit:

Add some logic to avoid showing the "Markup Image" menu item on both macOS (in the context menu) and iOS (in the
callout bar or editing context menu) for image elements that were created and inserted in the process of
invoking "Markup Image". See below for more details.

Tests: ImageAnalysisTests.AllowImageAnalysisMarkupOnce

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::shouldAllowImageMarkup):

Add an async reply IPC message that the UI process uses to determine whether or not we should enable image
markup for an element corresponding to the given ElementContext.

  • UIProcess/WebPageProxy.h:

Also move the declaration of replaceImageWithMarkupResults into the ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
section.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView doAfterComputingImageAnalysisResultsForMarkup:]):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::appendMarkupItemToControlledImageMenuIfNeeded):

Consult shouldAllowImageMarkup() before triggering image analysis when determining whether or not we should
include the "Markup Image" item.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::replaceImageWithMarkupResults):

Keep track of image elements that were created to replace existing images when performing image markup. To
achieve this, we scan the selection range before the caret after replacing the image to find the newly inserted
image and add it to m_elementsToExcludeFromMarkup.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

Clear out the m_imageElementsToExcludeFromMarkup vector.

(WebKit::WebPage::shouldAllowImageMarkup const):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Add an API test to verify that the option to Markup Image goes away after invoking Markup Image on an image
element.

  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::runMarkupTest):
(TestWebKitAPI::TEST):

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

5:48 PM Changeset in webkit [293937] by mmaxfield@apple.com
  • 4 edits
    1 add in trunk/Source/WebGPU

[WebGPU] Fix build on downlevel OSes in Apple's build system
https://bugs.webkit.org/show_bug.cgi?id=240159
<rdar://problem/92524485>

Reviewed by Alexey Proskuryakov.

Some variables from WebKitTargetConditionals.xcconfig and
PlatformSupport.xcconfig are used, so we have to make sure
we include them. Also refactor the INSTALL_PATH variable a
bit.

  • Configurations/Base.xcconfig:
  • Configurations/WebGPU.xcconfig:
  • Configurations/WebKitTargetConditionals.xcconfig: Added.
  • WebGPU.xcodeproj/project.pbxproj:
5:41 PM Changeset in webkit [293936] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Fix adattributiond build in internal build on older macOS
https://bugs.webkit.org/show_bug.cgi?id=240184
<rdar://92859012>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.

We need to search for WK_OVERRIDE_FRAMEWORKS_DIR to find the right frameworks

  • Configurations/adattributiond.xcconfig:
5:15 PM Changeset in webkit [293935] by Ross Kirsling
  • 4 edits in trunk

ISO8601::Duration should guard against -0
https://bugs.webkit.org/show_bug.cgi?id=240185

Reviewed by Yusuke Suzuki.

Currently, when we parse a negative ISO duration string or negate a positive Duration object,
we end up storing -0 for the zero fields. This patch ensures that we always store +0 instead.

  • test262/expectations.yaml:

Mark 32 test cases as passing.

  • runtime/ISO8601.h:

Add guards for zero cases.

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

5:10 PM Changeset in webkit [293934] by Stephanie Lewis
  • 1 edit in trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py

Enable field trial configs when testing Chrome Betas
https://bugs.webkit.org/show_bug.cgi?id=240187

Reviewed by Saam Barati.

  • Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:

(OSXChromeDriverBase):
(OSXChromeDriverBase.launch_args_with_url):
(OSXChromeDriverBase.launch_url):
(OSXChromeCanaryDriver.launch_args_with_url):
(OSXChromeBetaDriver.launch_args_with_url):
(OSXChromeDevDriver._set_chrome_binary_location):
(OSXChromeDevDriver):
(OSXChromeDevDriver.launch_args_with_url):

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

5:08 PM Changeset in webkit [293933] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Use correct document as root for lazy image observer
https://bugs.webkit.org/show_bug.cgi?id=240083

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-06
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Add a test for scrolling a lazy loaded image into view in an iframe.

  • web-platform-tests/html/semantics/embedded-content/the-img-element/scrolling-below-viewport-image-lazy-loading-in-iframe-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/scrolling-below-viewport-image-lazy-loading-in-iframe.html: Added.

Source/WebCore:

Use correct document as root for lazy image observer, meaning
elements in the main frame will use the main frame document and
elements in iframes will use the iframe document as root.

Test: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/scrolling-below-viewport-image-lazy-loading-in-iframe.html

  • html/LazyLoadImageObserver.cpp:

(WebCore::LazyLoadImageObserver::intersectionObserver):

5:04 PM Changeset in webkit [293932] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.12.1

Tag WebKit-7614.1.12.1.

5:01 PM Changeset in webkit [293931] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS] Content filter blocking shield is not displayed
https://bugs.webkit.org/show_bug.cgi?id=240178
<rdar://91586177>

Reviewed by Geoffrey Garen.

This is a regression from moving content filtering from the WebContent process to the Network process in r291630.
After r291630, the function to determine if a blocked request can be unblocked, is called in the Network process,
but it is not handling the case where the function to unblock the request is not set. This is causing the load
for blocked URLs to never finish, since the decision handler provided to the unblock request function is never
called. This patch addresses this by calling the decisionhandler with the blocked flag set in this case.

  • platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:

(WebCore::ContentFilterUnblockHandler::requestUnblockAsync const):

4:17 PM Changeset in webkit [293930] by Jonathan Bedard
  • 4 edits in trunk/Tools

[git-webkit] Forward environment to git commit
https://bugs.webkit.org/show_bug.cgi?id=240191
<rdar://problem/92885927>

Reviewed by Stephanie Lewis.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.create_commit): Pass caller's environment.

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

4:10 PM Changeset in webkit [293929] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS] HTTP traffic is not filtered in the parental controls filter
https://bugs.webkit.org/show_bug.cgi?id=240180
<rdar://problem/92875540>

Reviewed by Geoffrey Garen.

Traditionally, we have not filtered HTTP in the parental controls filter on macOS, since other parts of the system
has taken care of this. This appears to have changed now, and WebKit should also filter HTTP in addition to HTTPS.

  • platform/cocoa/ParentalControlsContentFilter.mm:

(WebCore::canHandleResponse):

3:33 PM Changeset in webkit [293928] by Brent Fulgham
  • 5 edits in trunk/Source

Remove unused ApplePayRemoteUIEnabled preference
https://bugs.webkit.org/show_bug.cgi?id=240177

Reviewed by Devin Rousso.

Remove the internal WKPreference for ApplePayRemoteUIEnabled now that
we always use the high-security remote ApplePay UI.

Source/WebKit:

  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::networkProcessConnectionClosed):
(WebKit::WebPaymentCoordinator::messageSenderConnection const):
(WebKit::WebPaymentCoordinator::remoteUIEnabled const): Deleted.

  • WebProcess/ApplePay/WebPaymentCoordinator.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:
3:20 PM Changeset in webkit [293927] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[Gardening] REGRESSION (r293117): [ iOS ] fast/innerHTML/001.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=240170

Unreviewed test gardening.

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

3:06 PM Changeset in webkit [293926] by Manuel Rego Casasnovas
  • 3 edits
    2 adds in trunk

[selectors] Double script focus after mouse click shouldn't match :focus-visible
https://bugs.webkit.org/show_bug.cgi?id=239472
<rdar://problem/92301472>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/css/selectors/focus-visible-script-focus-020-expected.txt: Added.
  • web-platform-tests/css/selectors/focus-visible-script-focus-020.html: Added.

Source/WebCore:

When you do the second script focus, we were setting
m_latestFocusTrigger to FocusTrigger::Bindings, that makes us lose the
information about the previous element that was focused via mouse
click and start matching :focus-visible on that case.

Test: imported/w3c/web-platform-tests/css/selectors/focus-visible-script-focus-020.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement): We avoid setting
m_latestFocusTrigger if we come from script focus. That way we know if
the previous focused element was focused via mouse click after several
script focus.

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

[JSC] Add more information about MarkedBlock assertion
https://bugs.webkit.org/show_bug.cgi?id=240176

Reviewed by Mark Lam and Saam Barati.

Collect more information about assertion via CRASH_WITH_INFO.

  • Source/JavaScriptCore/heap/MarkedBlockInlines.h:

(JSC::MarkedBlock::Handle::specializedSweep):

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

2:51 PM Changeset in webkit [293924] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[Gardening][ iOS ] fast/innerHTML/001.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=240170

Reviewed by Jonathan Bedard.

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

2:10 PM Changeset in webkit [293923] by Brent Fulgham
  • 7 edits in trunk/Source

Remove abandoned WKPreference for SelectionPaintingWithoutSelectionGaps
https://bugs.webkit.org/show_bug.cgi?id=240129

Reviewed by Alan Bujtas.

Remove the abandoned WKPreference 'SelectionPaintingWithoutSelectionGaps', which was added to support
the EFL port. As the EFL port is no longer buildable, and this code is never used outside of EFL, we
should remove this dead code.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::shouldPaintSelectionGaps const):

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetSelectionPaintingWithoutSelectionGapsEnabled): Deleted.
(WKPreferencesGetSelectionPaintingWithoutSelectionGapsEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:
2:03 PM Changeset in webkit [293922] by gnavamarino@apple.com
  • 2 edits in trunk/Source/WebCore

null ptr deref in WebCore::Frame::setPrinting
https://bugs.webkit.org/show_bug.cgi?id=240173

Reviewed by Wenson Hsieh.

Check m_doc in Frame::setPrinting before access, as it is a RefPtr that can become null.

  • page/Frame.cpp:

(WebCore::Frame::setPrinting):

1:26 PM Changeset in webkit [293921] by Ben Nham
  • 26 edits
    2 adds in trunk

Add support for Notification objects with custom data
https://bugs.webkit.org/show_bug.cgi?id=240153

Reviewed by Chris Dumez.

This adds support for the data attribute in Notification. This holds an arbitrary structured
cloneable object passed through the constructor. The accessor is marked SameObject, which we
implement via CachedAttribute. The wire form of the data is serialized and deserialized in
NotificationData so that persistent notifications properly support this property.

  • Modules/notifications/Notification.cpp:

(WebCore::createSerializedNotificationData):
(WebCore::Notification::create):
(WebCore::Notification::createForServiceWorker):
(WebCore::Notification::Notification):
(WebCore::Notification::dataForBindings):

  • Modules/notifications/Notification.h:
  • Modules/notifications/Notification.idl:
  • Modules/notifications/NotificationData.cpp:

(WebCore::NotificationData::isolatedCopy const):
(WebCore::NotificationData::isolatedCopy):

  • Modules/notifications/NotificationData.h:

(WebCore::NotificationData::encode const):
(WebCore::NotificationData::decode):

  • Modules/notifications/NotificationDataCocoa.mm:

(WebCore::NotificationData::fromDictionary):
(WebCore::NotificationData::dictionaryRepresentation const):

  • Modules/notifications/NotificationOptions.idl:
  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::showNotification):

LayoutTests/imported/w3c:

  • web-platform-tests/notifications/idlharness.https.any-expected.txt:
  • web-platform-tests/notifications/idlharness.https.any.serviceworker-expected.txt:
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any-expected.txt:

LayoutTests:

  • http/tests/notifications/notification-expected.txt:
  • http/tests/notifications/notification.html:
  • http/tests/workers/service/getnotifications-expected.txt:
  • http/tests/workers/service/getnotifications-stop-expected.txt:
  • http/tests/workers/service/getnotifications-stop.html:
  • http/tests/workers/service/getnotifications.html:
  • http/tests/workers/service/openwindow-from-notification-click.html:
  • http/tests/workers/service/resources/shownotification-openwindow-worker.js:

(async tryShow):
(async getNotes):

  • http/tests/workers/service/resources/shownotification-worker.js:

(async event):
(async tryShow):
(async tryShowInvalidData.try.data):
(async tryShowInvalidData):
(async getNotes):

  • http/tests/workers/service/shownotification-allowed-document-expected.txt:
  • http/tests/workers/service/shownotification-allowed-document.html:
  • http/tests/workers/service/shownotification-allowed.html:
  • http/tests/workers/service/shownotification-invalid-data-expected.txt: Added.
  • http/tests/workers/service/shownotification-invalid-data.html:

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

12:55 PM Changeset in webkit [293920] by Ben Nham
  • 3 edits in trunk/Source/WebKit

Improve Mac webpushd sandbox
https://bugs.webkit.org/show_bug.cgi?id=240110

Reviewed by Per Arne Vollan.

This tightens the webpushd sandbox to only allow essential operations.

The first ~280 lines or so are similar to the other WebKit sandboxes, although I removed
many of the lines in this prelude as most of the services listed in the other profiles
have no use in webpushd.

The last ~50 lines of the profile (starting with the comment about SQLite) allows the
operations necessary for functioning of the daemon:

  • Communicating with the push service daemon
  • Waking up processes in response to a push
  • Persisting subscriptions to the PushDatabase

I've also switched webpushd to read CF preferences directly like the other daemons, since our
sandbox profiles expect this.

  • webpushd/WebPushDaemonMain.mm:
  • webpushd/mac/com.apple.WebKit.webpushd.sb.in:

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

12:41 PM Changeset in webkit [293919] by Brent Fulgham
  • 19 edits in trunk/Source

Remove internal WKPreference for non-iTunesAVOutput now that all platform support it
https://bugs.webkit.org/show_bug.cgi?id=240141

Reviewed by Eric Carlson.

WebKit on macOS has used a different AV Output target than IOS_FAMILY targets because those platforms lacked
the AVOutput option. Now that all platforms share this target, we can consolidate on the correct endpoint and
remove this preference code.

Source/WebCore:

  • Modules/airplay/WebMediaSessionManager.cpp:

(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):

  • Modules/airplay/WebMediaSessionManagerClient.h:

(WebCore::WebMediaSessionManagerClient::alwaysOnLoggingAllowed const):
(WebCore::WebMediaSessionManagerClient::useiTunesAVOutputContext const): Deleted.

  • platform/graphics/MediaPlaybackTargetPicker.h:
  • platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h:
  • platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h:
  • platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm:

(WebCore::AVRoutePickerViewTargetPicker::outputContextInternal):
(WebCore::AVRoutePickerViewTargetPicker::showPlaybackTargetPicker):

  • platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
  • platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:

(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):

Source/WebKit:

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::useiTunesAVOutputContext const): Deleted.

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:
12:26 PM Changeset in webkit [293918] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

[IDL] Drop redundant [AtomString] on attributes marked as [Reflect] already
https://bugs.webkit.org/show_bug.cgi?id=240152

Reviewed by Darin Adler.

Drop redundant [AtomString] on attributes marked as [Reflect] already. All
attributes of string types and marked as [Reflect] now use AtomString
automatically, without having to specify it in the IDL.

  • Source/WebCore/accessibility/AccessibilityRole.idl:
  • Source/WebCore/accessibility/AriaAttributes.idl:
  • Source/WebCore/dom/Element.idl:
  • Source/WebCore/html/HTMLAnchorElement.idl:
  • Source/WebCore/html/HTMLHtmlElement.idl:

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

12:13 PM Changeset in webkit [293917] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r290718 - Fix deprecations for ERB.new in GenerateSettings.rb
https://bugs.webkit.org/show_bug.cgi?id=237237

Reviewed by Don Olmstead.

Ruby 3.1.0 reported the following warning:

GenerateSettings.rb:283: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
GenerateSettings.rb:283: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.

r290104 and r290331 fixed the same problem for
GeneratePreferences.rb, but forgot GenerateSettings.rb.

  • Scripts/GenerateSettings.rb: Use the keyword argument for ERB.new for Ruby 2.6+.
12:07 PM Changeset in webkit [293916] by gnavamarino@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT in WebCore::StyleProperties::getGridTemplateValue
https://bugs.webkit.org/show_bug.cgi?id=240172

Reviewed by Dean Jackson.

Update StyleProperties::getGridTemplateValue with a more thorough check
as it is currently only checking the grid:none/grid:initial special keyword.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getGridTemplateValue const):

12:06 PM Changeset in webkit [293915] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

[Nicosia] Images in webkit.org/blog/ don't show up with threaded rendering
https://bugs.webkit.org/show_bug.cgi?id=238259

Patch by Miguel Gomez <magomez@igalia.com> on 2022-05-06
Reviewed by Carlos Garcia Campos.

Implement Nicosia::CairoOperationRecorder::drawFilteredImageBuffer(), which is required
to render images that have CSS filters applied.

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:

(Nicosia::CairoOperationRecorder::drawFilteredImageBuffer):

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
12:06 PM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
12:06 PM Changeset in webkit [293914] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r293826 - REGRESSION(249114@main) [GTK] Crashes on shutdown if the display is not set
https://bugs.webkit.org/show_bug.cgi?id=239767

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-05-05
Reviewed by Michael Catanzaro.

Handle the case of PlatformDisplay created with a nullptr GdkDisplay.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::PlatformDisplay):

  • platform/graphics/wayland/PlatformDisplayWayland.cpp:

(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):

  • platform/graphics/x11/PlatformDisplayX11.cpp:

(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):

12:00 PM Changeset in webkit [293913] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WTF

Merge r290331 - Ruby ERB.new compatibility fix
https://bugs.webkit.org/show_bug.cgi?id=237035

Reviewed by Fujii Hironori.

ERB.new has changed its calling convention in newer ruby versions.
This was exposed by https://commits.webkit.org/247450@main, which
tried to silence the warning emitted by newer ruby versions.
Unfortunately, this resulted in failures with older ruby versions
(e.g.
https://build.webkit.org/#/builders/46/builds/11387/steps/8/logs/stdio).

Use the compatibility hack suggested by RuboCop to get this working
across ruby versions (without any warnings).

  • Scripts/GeneratePreferences.rb:
11:59 AM Changeset in webkit [293912] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit

Merge r292265 - GTK doesn't compile with ENABLE_ACCESSIBILITY=0
https://bugs.webkit.org/show_bug.cgi?id=238669

Reviewed by Michael Catanzaro.

Fix GTK compilation with ENABLE_ACCESSIBILITY=0

No new tests.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose):
(webkit_web_view_base_class_init):

11:53 AM Changeset in webkit [293911] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r293441 - [GTK] Initialize m_eglDisplay in PlatformDisplay::PlatformDisplay(GdkDisplay*)
https://bugs.webkit.org/show_bug.cgi?id=239760

Patch by Xi Ruoyao <xry111@mengyan1223.wang> on 2022-04-26
Reviewed by Michael Catanzaro.

No new tests because there is no behavior change.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::PlatformDisplay):
initialize m_eglDisplay to EGL_NO_DISPLAY.

11:37 AM Changeset in webkit [293910] by Justin Michaud
  • 3 edits in trunk/Tools

Update PGO profile collection scripts to include MotionMark
https://bugs.webkit.org/show_bug.cgi?id=240171

Reviewed by Mark Lam.

  • Scripts/build-and-collect-pgo-profiles:
  • Scripts/pgo-profile:
11:09 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
10:59 AM Changeset in webkit [293909] by Alan Coon
  • 2 edits in branches/safari-7614.1.12-branch/Source/WebKit

Cherry-pick r293818. rdar://problem/92751323

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.

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

10:59 AM Changeset in webkit [293908] by Alan Coon
  • 2 edits
    2 adds in branches/safari-7614.1.12-branch/Source/WebKit

Cherry-pick r293716. rdar://problem/92644672

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.

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

10:59 AM Changeset in webkit [293907] by J Pascoe
  • 2 edits in trunk/Source/WebKit

[WebAuthn] Get rid of ASCAgentProxy instance after success/error/cancel
https://bugs.webkit.org/show_bug.cgi?id=240143
rdar://problem/92825715

Reviewed by Brent Fulgham.

For internal reasons, the ASCAgentProxy instance cannot be reused, so we
should clear it after a request or cancellation.

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
10:56 AM Changeset in webkit [293906] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.34.7/webkit-2.34

WPE WebKit 2.34.7

10:55 AM Changeset in webkit [293905] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.34

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.7 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.34.7
10:39 AM Changeset in webkit [293904] by Ross Kirsling
  • 5 edits in trunk/Source/JavaScriptCore

Temporal.Duration should handle -0 properly
https://bugs.webkit.org/show_bug.cgi?id=240145

Reviewed by Yusuke Suzuki.

r250284 broke a new test262 test which verifies that -0 is normalized to 0 in cases like
new Temporal.Duration(-0) and Temporal.Duration.from({years: -0 }).
This patch properly aligns these paths with the spec.

  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::toIntegerWithoutRounding const): Added.
(JSC::JSValue::toIntegerOrInfinity const):

  • runtime/TemporalDuration.cpp:

(JSC::TemporalDuration::fromDurationLike):

  • runtime/TemporalDurationConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

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

10:32 AM Changeset in webkit [293903] by Brent Fulgham
  • 18 edits in trunk

Remove the viewportFitEnabled WKPreference now that it is always on
https://bugs.webkit.org/show_bug.cgi?id=240147

Reviewed by Tim Horton.

Remove the WKPreference 'ViewportFitEnabled' now that it is always enabled on all platforms, and
we do not wish to turn it off in testing or in other debugging circumstances.

Source/WebCore:

  • dom/ViewportArguments.cpp:

(WebCore::setViewportFeature):

  • dom/ViewportArguments.h:

Source/WebKit:

  • UIProcess/API/ios/WKWebViewIOS.mm:

(viewportArgumentsFromDictionary):
(-[WKWebView _overrideViewportWithArguments:]):

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences viewportFitEnabled]): Deleted.
(-[WebPreferences setViewportFitEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:

LayoutTests:

  • fast/css/variables/env/ios/safe-area-inset-env-set-expected.html:
  • fast/css/variables/env/ios/safe-area-inset-env-set.html:
  • fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html:
  • fast/viewport/ios/viewport-fit-auto.html:
  • fast/viewport/ios/viewport-fit-contain.html:
  • fast/viewport/ios/viewport-fit-cover.html:
10:25 AM Changeset in webkit [293902] by Alan Coon
  • 9 edits in branches/safari-7614.1.12-branch/Source

Versioning.

WebKit-7614.1.12.1

10:23 AM Changeset in webkit [293901] by Kate Cheney
  • 2 edits in trunk

Unreviewed, add github info to contributors.json.

  • metadata/contributors.json:
10:10 AM Changeset in webkit [293900] by Simon Fraser
  • 30 edits in trunk/Source/WebCore

Make the various shouldApplyContainment() functions member functions on RenderElement
https://bugs.webkit.org/show_bug.cgi?id=240156

Reviewed by Alan Bujtas.

These were free functions, but make more sense as member functions on RenderElement
since most callers passed *this. Just one call site needs to downcast<> to
RenderElement.

No behavior change.

  • rendering/GridTrackSizingAlgorithm.cpp:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeIntrinsicLogicalWidths const):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
(WebCore::RenderBlock::firstLineBaseline const):
(WebCore::RenderBlock::inlineBlockBaseline const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths const):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::adjustSizeContainmentChildForPagination):
(WebCore::RenderBlockFlow::firstLineBaseline const):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateLogicalHeight):
(WebCore::RenderBox::isUnsplittableForPagination const):
(WebCore::RenderBox::layoutOverflowRectForPropagation const):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::updateFromStyle):

  • rendering/RenderButton.cpp:

(WebCore::RenderButton::baselinePosition const):

  • rendering/RenderCounter.cpp:

(WebCore::makeCounterNode):
(WebCore::RenderCounter::rendererSubtreeAttached):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths const):

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainFixedPositionObjects const):
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
(WebCore::RenderElement::shouldApplyLayoutContainment const):
(WebCore::RenderElement::shouldApplySizeContainment const):
(WebCore::RenderElement::shouldApplyInlineSizeContainment const):
(WebCore::RenderElement::shouldApplyStyleContainment const):
(WebCore::RenderElement::shouldApplyPaintContainment const):
(WebCore::RenderElement::shouldApplyAnyContainment const):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths const):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const):
(WebCore::RenderFlexibleBox::firstLineBaseline const):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat const):
(WebCore::RenderGrid::firstLineBaseline const):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation const):

  • rendering/RenderInline.h:
  • rendering/RenderLayer.cpp:

(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::shouldBeCSSStackingContext const):
(WebCore::RenderLayer::setAncestorChainHasSelfPaintingLayerDescendant):
(WebCore::RenderLayer::setAncestorChainHasVisibleDescendant):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::computeIntrinsicLogicalWidths const):
(WebCore::RenderListBox::baselinePosition const):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::computeIntrinsicLogicalWidths const):

  • rendering/RenderObject.cpp:

(WebCore::objectIsRelayoutBoundary):
(WebCore::shouldApplyLayoutContainment): Deleted.
(WebCore::shouldApplySizeContainment): Deleted.
(WebCore::shouldApplyInlineSizeContainment): Deleted.
(WebCore::shouldApplyStyleContainment): Deleted.
(WebCore::shouldApplyPaintContainment): Deleted.
(WebCore::shouldApplyAnyContainment): Deleted.

  • rendering/RenderObject.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox const):
(WebCore::RenderReplaced::computeIntrinsicRatioInformation const):

  • rendering/RenderReplaced.h:
  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::computeIntrinsicLogicalWidths const):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::firstLineBaseline const):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::computeIntrinsicLogicalWidths const):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::calculateIntrinsicSize):

  • rendering/RenderView.cpp:

(WebCore::RenderView::rendererForRootBackground const):

  • rendering/svg/LegacyRenderSVGRoot.cpp:

(WebCore::LegacyRenderSVGRoot::computeIntrinsicRatioInformation const):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation const):

  • style/ContainerQueryEvaluator.cpp:

(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):

9:49 AM Changeset in webkit [293899] by jer.noble@apple.com
  • 7 edits
    4 adds in trunk

[Cocoa] Seeking into a xHE-AAC track backed by a SourceBuffer can stall playback
https://bugs.webkit.org/show_bug.cgi?id=239750
<rdar://91922569>

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-mp4-xhe-aac.html

xHE-AAC audio has the concept of an "independant sample", which behaves similarly to an
i-frame in a video codec. This sample is a prerequisite for decoding all samples that
come after it.

When such a track is parsed, those samples are marked as "sync", meaning they, as well as all
subsequent samples before the playhead, will be enqueued as "non-displaying". However, the
AVSampleBufferAudioRenderer does not use the DoNotDisplay sample attachment to control this
behavior. Instead, it relies on the TrimDurationAtStart (which has the effect of setting the
duration of the sample to zero, rendering it inaudible). Without this attachment, the renderer
will get "stuck" waiting for playback to clear out it's queue of samples.

Adopt this TrimDurationAtStart attachment if a given CMSampleBuffer is of the Audio type.

  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::createNonDisplayingCopy const):

Source/WebCore/PAL:

Fix a spelling error in the CoreMediaSoftLink macros.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h:

LayoutTests:

  • media/media-source/content/test-xhe-aac-manifest.json: Added.
  • media/media-source/content/test-xhe-aac.m4a: Added.
  • media/media-source/media-mp4-xhe-aac-expected.txt: Added.
  • media/media-source/media-mp4-xhe-aac.html: Added.
9:43 AM Changeset in webkit [293898] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/innerHTML/001.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=240170

Unreviewed test gardening.

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

9:40 AM Changeset in webkit [293897] by Patrick Griffis
  • 3 edits
    2 adds in trunk

CSP: Fix incorrect blocked-uri for inline scripts and strict-dynamic policies
https://bugs.webkit.org/show_bug.cgi?id=240136

Reviewed by Kate Cheney.

Source/WebCore:

Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-inline-report.py

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-inline-report-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-inline-report.py: Added.
9:29 AM Changeset in webkit [293896] by jer.noble@apple.com
  • 4 edits
    3 adds in trunk

Video playback fails when using postMessage() during a User Gesture
https://bugs.webkit.org/show_bug.cgi?id=239781
<rdar://91281385>

Reviewed by Eric Carlson.

Source/WebCore:

Test: workers/worker-user-gesture.html

Certain frameworks handle user gestures by sending messages through postMessage() to
to a non-shared worker, where the message is processed and a response is sent back
to the page. In the case of APIs which require a user gesture, this gesture is lost
during the response event, even if it was present in the originating postMessage().
Other web APIs, such as Fetch, have been modified to forward this user gesture through
to the resulting event handlers. This change will expand that forwarding behavior to
include postMessage() to a non-shared Worker context.

When a message is sent to a WorkerContext, the current UserGestureToken is saved inside
a thread-safe RefCounted utility class WorkerUserGestureForwarder. This forwarder is
saved into an ivar of WorkerMessagingProxy, where it can be read during the handling
of a WorkerContext-originated postMessage(). The ivar is cleared immediately after sending
the initial postMessage(). The effect is that all calls to workerScope.postMessage()
made during the handling of a worker.postMessage() event will inherit the user gesture
of that initial call.

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerUserGestureForwarder::create):
(WebCore::WorkerUserGestureForwarder::~WorkerUserGestureForwarder):
(WebCore::WorkerUserGestureForwarder::userGestureToForward const):
(WebCore::WorkerUserGestureForwarder::WorkerUserGestureForwarder):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):

  • workers/WorkerMessagingProxy.h:

LayoutTests:

  • workers/worker-user-gesture-expected.txt: Added.
  • workers/worker-user-gesture.html: Added.
  • workers/worker-user-gesture.js: Added.
9:26 AM Changeset in webkit [293895] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add lambda for fragmented flow state change handling
https://bugs.webkit.org/show_bug.cgi?id=240165

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-06
Reviewed by Alan Bujtas.

Add lambda for fragmented flow state change handling
and call it in the case where the parent is affected.

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):

9:09 AM Changeset in webkit [293894] by jer.noble@apple.com
  • 4 edits in trunk/Source

[iOS] Infinite recursion at -[WKFullScreenWindowController _exitFullscreenImmediately]
https://bugs.webkit.org/show_bug.cgi?id=239744
<rdar://74201964>

Reviewed by Eric Carlson.

Source/WebCore:

Even after fullscreen is correctly torn down during an immediate exit, fullscreen can never again
be entered for the lifetime of the page. This is due to the ivar m_pendingExitFullscreen being set
to true with no opportunity for that state to be cleared. This occurs because the callbacks for
exiting fullscreen are performed before the lambda form FullscreenManager::exitFullscreen() is
called.

Set m_pendingExitFullscreen inside exitFullscreen(), rather than the lambda, and clear it explicitly
in the cases where fullscreen exiting is not actually necessary.

The mock behavior of Fullscreen inside DumpRenderTree and WebKitTestRunner are not able to exercise
this same path. Track improvements to this mock in bug #239747.

  • dom/FullscreenManager.cpp:

(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::exitFullscreen):
(WebCore::FullscreenManager::setAnimatingFullscreen):
(WebCore::FullscreenManager::setFullscreenControlsHidden):

Source/WebKit:

When exiting fullscreen immediately, we trigger the correct state transition by calling
-[self exitFullScreen]. However, when no fullscreen manager exists (as may happen during
navigation), -exitFullscreen may itself call -_exitFullscreenImmediately, which causes an
infinite recursion and stack overflow.

Unroll the implementation by performing all the same pieces as would have been done by
-exitFullScreen, but inline. Refactor out common behavior into -_reinsertWebViewUnderPlaceholder,
and call that both from -_exitFullscreenImmediately and _completedExitFullScreen.

Unfortunately, no API tests are possible here because TestWebKitAPI is not an actual iOS UI
application.

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController _reinsertWebViewUnderPlaceholder]):
(-[WKFullScreenWindowController _completedExitFullScreen]):
(-[WKFullScreenWindowController _exitFullscreenImmediately]):

8:58 AM Changeset in webkit [293893] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Create reports for long process launch times
https://bugs.webkit.org/show_bug.cgi?id=240127

Reviewed by Yusuke Suzuki.

We have reports that it can take a long time to launch WebKit processes in some cases. This is the time
it takes from the XPC message is sent until the XPC reply is received. Add reporting when this happens
in order to help diagnose the issue.

  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::connect):
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):

  • UIProcess/AuxiliaryProcessProxy.h:
8:23 AM Changeset in webkit [293892] by pvollan@apple.com
  • 4 edits in trunk/Source/WebKit

[WP] Wait for Launch Services database after Network process connection has been established
https://bugs.webkit.org/show_bug.cgi?id=240125
<rdar://92107043>

Reviewed by Geoffrey Garen.

Since the Launch Services database is provided to the WebContent process by the Network process, it makes sense
to wait for the database when we're certain that the Network process is running. This should fix main thread hangs
in the cases where we before started waiting for the database before the Network process had launched. To support
this move, we also need to delay the initialization of accessibility in NSApplication, since that depends on having
the database available. This is now being done in WebPage::platformInitializeAccessibility, which is a natural
place for this initialization to take place.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformInitializeAccessibility):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureNetworkProcessConnection):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

8:21 AM Changeset in webkit [293891] by Jonathan Bedard
  • 3 edits in trunk/Tools

[ews-build.webkit.org] Do not block EWS queues for merging-blocked label
https://bugs.webkit.org/show_bug.cgi?id=240169
<rdar://problem/92860451>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(ValidateChange.validate_github): merging-blocked label should only block merge-queue.

  • Tools/CISupport/ews-build/steps_unittest.py:

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

8:13 AM Changeset in webkit [293890] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

GPU Process crash under IPC::Connection::open() ASSERTION FAILED: m_sendPort
https://bugs.webkit.org/show_bug.cgi?id=240146

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-06
Reviewed by Chris Dumez.

If WP creates connection to GPUP but then exits, the
sent mach send right for communication comes out as MACH_PORT_DEAD_NAME in GPUP.
This will prevent proper initialization of IPC::Connection. This will
later assert in IPC::Connection::open().

Fix by checking identifierIsValid(). This will succeed only if the
listening port was alive at the time the send port was received.

Speculative fix.
Regression from r293829.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::createGPUConnectionToWebProcess):

8:02 AM Changeset in webkit [293889] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak SDK] Include port / build type in shell prompt
https://bugs.webkit.org/show_bug.cgi?id=240166

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-06
Reviewed by Adrian Perez de Castro.

This might help avoiding confusions like running debug tools in a release shell, or wpe
things in a gtk shell.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.run_in_sandbox):

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

7:50 AM Changeset in webkit [293888] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS Release ] fast/css-custom-paint/animate-repaint.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240167

Unreviewed test gardening.

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

7:45 AM Changeset in webkit [293887] by Adrian Perez de Castro
  • 2 edits
    2 adds in trunk/Tools/buildstream

Update mold to version 1.2.1 https://bugs.webkit.org/show_bug.cgi?id=240162

Reviewed by Philippe Normand.

Update Mold to version 1.2.1, which now properly supports --gdb-index and Clang's
ThinLTO (on top of regular LTO support). The copy of libtbb bundled with the Mold
sources does no longer build with the rest of tooling from the SDK, so this patch
adds Buildstream elements for it and its hwloc dependency; both these two packages
are built with the minimal set of options needed to build Mold.

  • elements/sdk/hwloc.bst: Added.
  • elements/sdk/mold.bst: Updated to version 1.2.1
  • elements/sdk/tbb.bst: Added.

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

5:55 AM WebKitFlatpakSDK/DebugWithRR edited by Manuel Rego Casasnovas
(diff)
2:52 AM Changeset in webkit [293886] by youenn@apple.com
  • 19 edits
    1 copy in trunk/Source

Allow MediaPlayerPrivateMediaStreamAVFObjC to avoid pixel conformers if IOSurfaces are not allowed
https://bugs.webkit.org/show_bug.cgi?id=240113
rdar://92629845

Reviewed by Eric Carlson.

Source/WebCore:

Add a callback in MediaPlayerPrivateMediaStreamAVFObjC to allow use a custom way to create a NativeImage from a VideoFrame.
Small refactoring in PixelBufferConformerCV to share more code with WebKit.
Make sure that SharedVideoFrameReader/Writer support kCVPixelFormatType_420YpCbCr10BiPlanarFullRange.
Covered by existing tests.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/cocoa/SharedVideoFrameInfo.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
  • platform/graphics/cv/CVUtilities.h:
  • platform/graphics/cv/PixelBufferConformerCV.cpp:
  • platform/graphics/cv/PixelBufferConformerCV.h:

Source/WebKit:

Implement VideoFrame conversion to BGRA by sending IPC to GPUProcess, use pixel conformer in GPUProcess and send back the results to WebProcess.
This goes through RemoteVideoFrameObjectHeapProxy/RemoteVideoFrameObjectHeapProxyProcessor which exchanges with RemoteVideoFrameObjectHeap.
Make use of this conversion code path for MediaPlayerPrivateMediaStreamAVFObjC by setting MediaPlayerPrivateMediaStreamAVFObjC nativeImageCreator callback.

  • GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
  • GPUProcess/media/RemoteVideoFrameObjectHeap.h:
  • GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in:
  • GPUProcess/media/RemoteVideoFrameObjectHeap.mm: Added.
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxy.h:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.h:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.messages.in:
2:30 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
1:44 AM Changeset in webkit [293885] by youenn@apple.com
  • 10 edits in trunk/Source

Remove usage of PixelBufferConformer in RealtimeOutgoingVideoSourceCocoa
https://bugs.webkit.org/show_bug.cgi?id=240118

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Add a routine to convert RGB CVPixelBuffer to YUV webrtc VideoFrameBuffer.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

(webrtc::convertBGRAToYUV):

Source/WebCore:

Remove RealtimeOutgoingVideoSourceCocoa::convertToYUV, instead use libyuv based converter routine.
Covered by existing canvas -> peer connection tests.

  • platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
  • platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.h:
  • platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
1:18 AM Changeset in webkit [293884] by ysuzuki@apple.com
  • 2 edits in trunk/Source/WebCore

Make readArrayBufferViewImpl defensive
https://bugs.webkit.org/show_bug.cgi?id=240154
rdar://92113248

Reviewed by Mark Lam.

Check deserialized value's type before starting using it as JSArrayBuffer*.

  • Source/WebCore/bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::readArrayBufferViewImpl):

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

12:43 AM Changeset in webkit [293883] by magomez@igalia.com
  • 3 edits in trunk/Source/WebCore

[Nicosia] Images in webkit.org/blog/ don't show up with threaded rendering
https://bugs.webkit.org/show_bug.cgi?id=238259

Reviewed by Carlos Garcia Campos.

Implement Nicosia::CairoOperationRecorder::drawFilteredImageBuffer(), which is required
to render images that have CSS filters applied.

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:

(Nicosia::CairoOperationRecorder::drawFilteredImageBuffer):

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
12:26 AM Changeset in webkit [293882] by Fujii Hironori
  • 7 edits in trunk/Source/JavaScriptCore

builtins-generator-tests are failing after 250242@main
https://bugs.webkit.org/show_bug.cgi?id=239792
<rdar://problem/92532725>

Unreviewed resetting the results.
Tools/Scripts/run-builtins-generator-tests --reset-results

  • Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result:

May 5, 2022:

9:44 PM Changeset in webkit [293881] by commit-queue@webkit.org
  • 62 edits in trunk/Source

[EME] CDM and friends should be using SharedBuffer rather FragmentedSharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=240111
rdar://92780561

Patch by Jean-Yves Avenard <jean-yves.avenard@apple.com> on 2022-05-05
Reviewed by Eric Carlson.

Source/WebCore:

By using SharedBuffer directly we can simplify the code.
The change while extensive is rather trivial as the SharedBuffer used
were already contiguous.

No change in observable behaviour

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::sanitizeInitData):
(WebCore::CDM::supportsInitData):
(WebCore::CDM::sanitizeResponse):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMClient.h:
  • Modules/encryptedmedia/InitDataRegistry.cpp:

(WebCore::extractKeyIDsKeyids):
(WebCore::sanitizeKeyids):
(WebCore::InitDataRegistry::extractPsshBoxesFromCenc):
(WebCore::InitDataRegistry::extractKeyIDsCenc):
(WebCore::InitDataRegistry::sanitizeCenc):
(WebCore::sanitizeWebM):
(WebCore::extractKeyIDsWebM):
(WebCore::InitDataRegistry::sanitizeInitData):
(WebCore::InitDataRegistry::extractKeyIDs):

  • Modules/encryptedmedia/InitDataRegistry.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::remove):
(WebCore::MediaKeySession::enqueueMessage):
(WebCore::MediaKeySession::sendMessage):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeyStatusMap.cpp:

(WebCore::keyIdsMatch):

  • Modules/encryptedmedia/MediaKeyStatusMap.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::unrequestedInitializationDataReceived):

  • Modules/encryptedmedia/MediaKeys.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::cdmClientUnrequestedInitializationDataReceived):

  • html/HTMLMediaElement.h:
  • platform/encryptedmedia/CDMInstance.h:
  • platform/encryptedmedia/CDMInstanceSession.h:
  • platform/encryptedmedia/CDMPrivate.h:
  • platform/encryptedmedia/CDMProxy.h:

(WebCore::KeyHandle::idAsSharedBuffer const):

  • platform/encryptedmedia/CDMUtilities.cpp:

(WebCore::CDMUtilities::parseJSONObject):

  • platform/encryptedmedia/CDMUtilities.h:
  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::extractKeyidsLocationFromCencInitData):
(WebCore::isCencInitData):
(WebCore::extractKeyidsFromCencInitData):
(WebCore::extractKeyIdFromWebMInitData):
(WebCore::CDMPrivateClearKey::supportsInitData const):
(WebCore::CDMPrivateClearKey::sanitizeResponse const):
(WebCore::CDMInstanceClearKey::setServerCertificate):
(WebCore::CDMInstanceSessionClearKey::requestLicense):
(WebCore::CDMInstanceSessionClearKey::updateLicense):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):

  • platform/encryptedmedia/clearkey/CDMClearKey.h:
  • platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::extractSinfData):
(WebCore::extractSchemeAndKeyIdFromSinf):
(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSinf):
(WebCore::CDMPrivateFairPlayStreaming::sanitizeSinf):
(WebCore::CDMPrivateFairPlayStreaming::sanitizeSkd):
(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSkd):
(WebCore::CDMPrivateFairPlayStreaming::supportsInitData const):
(WebCore::CDMPrivateFairPlayStreaming::sanitizeResponse const):

  • platform/graphics/avfoundation/CDMFairPlayStreaming.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::initializationDataForRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData):
(WebCore::parseJSONValue):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setServerCertificate):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForKeyIDs const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::isEqual):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::closeSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequests):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::attemptToDecryptWithInstance):

  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::copyKeyIDs):

  • platform/graphics/gstreamer/eme/CDMThunder.cpp:

(WebCore::CDMPrivateThunder::supportsInitData const):
(WebCore::CDMPrivateThunder::sanitizeResponse const):
(WebCore::CDMInstanceThunder::setServerCertificate):
(WebCore::ParsedResponseMessage::ParsedResponseMessage):
(WebCore::ParsedResponseMessage::payload const):
(WebCore::ParsedResponseMessage::payload):
(WebCore::CDMInstanceSessionThunder::challengeGeneratedCallback):
(WebCore::CDMInstanceSessionThunder::errorCallback):
(WebCore::CDMInstanceSessionThunder::requestLicense):
(WebCore::CDMInstanceSessionThunder::updateLicense):
(WebCore::CDMInstanceSessionThunder::loadSession):
(WebCore::CDMInstanceSessionThunder::removeSessionData):

  • platform/graphics/gstreamer/eme/CDMThunder.h:
  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::hasSessionWithID):
(WebCore::MockCDMFactory::removeSessionWithID):
(WebCore::MockCDMFactory::addKeysToSessionWithID):
(WebCore::MockCDMFactory::removeKeysFromSessionWithID):
(WebCore::MockCDMFactory::keysForSessionWithID const):
(WebCore::MockCDM::supportsInitData const):
(WebCore::MockCDM::sanitizeResponse const):
(WebCore::MockCDMInstance::setServerCertificate):
(WebCore::MockCDMInstanceSession::requestLicense):
(WebCore::MockCDMInstanceSession::updateLicense):
(WebCore::MockCDMInstanceSession::removeSessionData):

  • testing/MockCDMFactory.h:

Source/WebKit:

Remove the use of IPC::SharedBufferCopy objects to send data over IPC;
it adds no value here as SharedBuffer are fully serialisable.

  • GPUProcess/media/RemoteCDMInstanceProxy.cpp:

(WebKit::RemoteCDMInstanceProxy::unrequestedInitializationDataReceived):
(WebKit::RemoteCDMInstanceProxy::setServerCertificate):

  • GPUProcess/media/RemoteCDMInstanceProxy.h:
  • GPUProcess/media/RemoteCDMInstanceProxy.messages.in:
  • GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:

(WebKit::RemoteCDMInstanceSessionProxy::requestLicense):
(WebKit::RemoteCDMInstanceSessionProxy::updateLicense):
(WebKit::RemoteCDMInstanceSessionProxy::removeSessionData):
(WebKit::RemoteCDMInstanceSessionProxy::sendMessage):

  • GPUProcess/media/RemoteCDMInstanceSessionProxy.h:
  • GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in:
  • GPUProcess/media/RemoteCDMProxy.cpp:

(WebKit::RemoteCDMProxy::supportsInitData):
(WebKit::RemoteCDMProxy::sanitizeResponse):

  • GPUProcess/media/RemoteCDMProxy.h:
  • GPUProcess/media/RemoteLegacyCDMProxy.h:
  • GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp:

(WebKit::convertToUint8Array):
(WebKit::convertToOptionalSharedBuffer):
(WebKit::RemoteLegacyCDMSessionProxy::generateKeyRequest):
(WebKit::RemoteLegacyCDMSessionProxy::update):

  • GPUProcess/media/RemoteLegacyCDMSessionProxy.h:
  • GPUProcess/media/RemoteLegacyCDMSessionProxy.messages.in:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::encode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::decode):

  • WebProcess/GPU/media/RemoteCDM.cpp:

(WebKit::RemoteCDM::supportsInitData const):
(WebKit::RemoteCDM::sanitizeResponse const):

  • WebProcess/GPU/media/RemoteCDM.h:
  • WebProcess/GPU/media/RemoteCDMInstance.cpp:

(WebKit::RemoteCDMInstance::unrequestedInitializationDataReceived):
(WebKit::RemoteCDMInstance::setServerCertificate):

  • WebProcess/GPU/media/RemoteCDMInstance.h:
  • WebProcess/GPU/media/RemoteCDMInstance.messages.in:
  • WebProcess/GPU/media/RemoteCDMInstanceSession.cpp:

(WebKit::RemoteCDMInstanceSession::requestLicense):
(WebKit::RemoteCDMInstanceSession::updateLicense):
(WebKit::RemoteCDMInstanceSession::removeSessionData):
(WebKit::RemoteCDMInstanceSession::sendMessage):

  • WebProcess/GPU/media/RemoteCDMInstanceSession.h:
  • WebProcess/GPU/media/RemoteCDMInstanceSession.messages.in:
  • WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:

(WebKit::convertToArrayBuffer):
(WebKit::convertToUint8Array):
(WebKit::convertToSharedBuffer):
(WebKit::RemoteLegacyCDMSession::generateKeyRequest):
(WebKit::RemoteLegacyCDMSession::update):
(WebKit::RemoteLegacyCDMSession::cachedKeyForKeyID const):
(WebKit::RemoteLegacyCDMSession::sendMessage):

  • WebProcess/GPU/media/RemoteLegacyCDMSession.h:
  • WebProcess/GPU/media/RemoteLegacyCDMSession.messages.in:

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

9:10 PM Changeset in webkit [293880] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Reduce the number of calls to canContainFixedPositionObjects()
https://bugs.webkit.org/show_bug.cgi?id=240150

Reviewed by Alan Bujtas.

canContainFixedPositionObjects() isn't super cheap, so only call it when we need to remove
the IsFixed bit.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::mapAbsoluteToLocalPoint const):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::mapLocalToContainer const):

7:34 PM Changeset in webkit [293879] by Chris Dumez
  • 28 edits in trunk/Source

Identifier::string() should return an AtomString
https://bugs.webkit.org/show_bug.cgi?id=240122

Reviewed by Yusuke Suzuki.

Identifier::string() should return an AtomString instead of a String, since
it holds an AtomString internally.

Also add some overloads to jsString() to resolve ambiguity for some callers.

  • Source/JavaScriptCore/API/JSContext.mm:

(-[JSContext dependencyIdentifiersForModuleJSScript:]):

  • Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:

(JSC::processClauseList):

  • Source/JavaScriptCore/dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::functionDetails):

  • Source/JavaScriptCore/jsc.cpp:

(JSC_DEFINE_HOST_FUNCTION):

  • Source/JavaScriptCore/runtime/Error.cpp:

(JSC::addErrorInfo):

  • Source/JavaScriptCore/runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

  • Source/JavaScriptCore/runtime/ErrorPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • Source/JavaScriptCore/runtime/FunctionExecutable.cpp:

(JSC::FunctionExecutable::toStringSlow):

  • Source/JavaScriptCore/runtime/Identifier.h:

(JSC::Identifier::string const):
(JSC::Identifier::atomString const): Deleted.

  • Source/JavaScriptCore/runtime/IdentifierInlines.h:

(JSC::identifierToJSValue):
(JSC::identifierToSafePublicJSValue):

  • Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::format const):
(JSC::IntlDateTimeFormat::formatRange):

  • Source/JavaScriptCore/runtime/IntlDisplayNames.cpp:

(JSC::IntlDisplayNames::of const):

  • Source/JavaScriptCore/runtime/IntlListFormat.cpp:

(JSC::IntlListFormat::format const):

  • Source/JavaScriptCore/runtime/IntlRelativeTimeFormat.cpp:

(JSC::IntlRelativeTimeFormat::format const):

  • Source/JavaScriptCore/runtime/JSFunction.cpp:

(JSC::JSFunction::reifyName):

  • Source/JavaScriptCore/runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::requestImportModule):

  • Source/JavaScriptCore/runtime/JSString.h:

(JSC::jsString):

  • Source/JavaScriptCore/runtime/JSStringInlines.h:

(JSC::repeatCharacter):

  • Source/JavaScriptCore/runtime/StringPrototype.cpp:

(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
(JSC::toLocaleCase):
(JSC::normalize):

  • Source/JavaScriptCore/runtime/SymbolPrototype.cpp:

(JSC::JSC_DEFINE_CUSTOM_GETTER):

  • Source/WTF/wtf/PrintStream.cpp:

(WTF::printInternal):

  • Source/WTF/wtf/PrintStream.h:
  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::processKeyframeLikeObject):

  • Source/WebCore/inspector/WebInjectedScriptHost.cpp:

(WebCore::WebInjectedScriptHost::getInternalProperties):

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

7:23 PM Changeset in webkit [293878] by jer.noble@apple.com
  • 5 edits
    2 adds in trunk

Removing x-webkit-wirelessvideoplaybackdisabled attribute from video does not enable AirPlay.
https://bugs.webkit.org/show_bug.cgi?id=239031

Reviewed by Jer Noble.

  • Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::setWirelessVideoPlaybackDisabled):

  • Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::setWirelessVideoPlaybackDisabled):
Test: media/airplay-wirelessvideoplaybackdisabled.html

  • Source/WebCore/html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::attributeChanged):

  • Source/WebCore/html/HTMLMediaElement.h:
  • Source/WebCore/html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::parseAttribute):

  • LayoutTests/media/airplay-wirelessvideoplaybackdisabled-expected.txt: Added.
  • LayoutTests/media/airplay-wirelessvideoplaybackdisabled.html: Added.

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

6:28 PM Changeset in webkit [293877] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore/platform/graphics/avfoundation/objc

[Cocoa] QueuedVideoOutput constructor missing nil check
https://bugs.webkit.org/show_bug.cgi?id=240149

Reviewed by Eric Carlson.

Covered by existing tests.

  • Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.h:
  • Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm:

(WebCore::QueuedVideoOutput::create):
(WebCore::QueuedVideoOutput::QueuedVideoOutput):
(WebCore::QueuedVideoOutput::valid):

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

5:59 PM Changeset in webkit [293876] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/images/exif-orientation-background-image-repeat.html is a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240148

Unreviewed test gardening.

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

5:49 PM Changeset in webkit [293875] by Jonathan Bedard
  • 7 edits in trunk/Tools

[git-webkit] Automatically file bug
https://bugs.webkit.org/show_bug.cgi?id=240139
<rdar://problem/92818331>

Reviewed by Dewei Zhu.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:

(Branch.main): If a project has defined bug trackers and the user provides a bug title instead of a bug
url or branch name (determined by spaces in the provided string), walk the user through bug creation.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:

(TestBranch): Add mock issues, rebase prompts.
(TestBranch.test_create_bug): Added.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:

(TestRevert.test_github): Add mock issues, rebase prompts.
(TestRevert.test_modified): Ditto.

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

5:24 PM Changeset in webkit [293874] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1

Tag WebKit-7613.3.1.

5:12 PM Changeset in webkit [293873] by pvollan@apple.com
  • 2 edits in trunk

Add GitHub user name
https://bugs.webkit.org/show_bug.cgi?id=240144

Unreviewed, add github user name to contributors.json.

  • metadata/contributors.json:
5:03 PM Changeset in webkit [293872] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.11.7

Tag WebKit-7614.1.11.7.

5:01 PM Changeset in webkit [293871] by Alan Coon
  • 9 edits in branches/safari-614.1.11-branch/Source

Versioning.

WebKit-7614.1.11.7

4:50 PM Changeset in webkit [293870] by Nikos Mouchtaris
  • 3 edits in trunk/Source/WebCore

Add check if referenced element is SVG for clip-path
https://bugs.webkit.org/show_bug.cgi?id=240096

Reviewed by Simon Fraser.

Add check when creating new ReferencePathOperation that it is referencing
an svg element.

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertPathOperation):

4:43 PM Changeset in webkit [293869] by keith_miller@apple.com
  • 2 edits in trunk/JSTests

Rebaseline icu tests to public sdk's icu
https://bugs.webkit.org/show_bug.cgi?id=240142

Reviewed by Yusuke Suzuki.

  • test262/expectations.yaml:
4:28 PM Changeset in webkit [293868] by Alan Coon
  • 9 edits in branches/safari-613-branch/Source

Versioning.

WebKit-7613.3.1

4:15 PM Changeset in webkit [293867] by Cameron McCormack
  • 5 edits in trunk/Source/WebCore

Avoid using WebCore::Colors created with out-of-line components in DrawGlyphsRecorder
https://bugs.webkit.org/show_bug.cgi?id=235604
rdar://88345680

Reviewed by Simon Fraser.

Source/WebCore:

In DrawGlyphsRecorder::recordDrawGlyphs we interrogate the CGContext's
state to find out the current fill and stroke color. This needed to
record color font glyphs correctly. When we're not using a color font,
the CGColors for the fill and stroke will be the same as we set them
in prepareInternalContext.

Those CGColors we create in prepareInternalContext from the
WebCore::Colors (created by calling cachedCGColor) don't record the
exact form the original colors had. CGColors only expose float
components, so Color::createAndPreserveColorSpace conservatively
creates a Color with out-of-line components to store those float
values, even if the original Color the CGColor was created from had
uint8_t components.

Color::operator== treats colors of different forms as being different,
which means we generate additional, unnecessary SetState display list
items changing say the fill color from Color(255, 255, 255) (inline) to
Color(1.0, 1.0, 1.0) (out of line).

We can avoid this by checking whether the context state's fill and
stroke CGColors are the same object as the ones we set in
prepareInternalContext, and if so, set the current fill/stroke brush
based on m_originalState.fillBrush/strokeBrush. In the common case of
a non-color glyph, this brush change will be detected as the same as
the current value, and the SetState item generation will be avoided.

This improves the MotionMark design subtest by 2.4%, and the overall
score by 0.7%, when GPUP DOM rendering is enabled.

  • platform/graphics/DrawGlyphsRecorder.h:
  • platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:

(WebCore::DrawGlyphsRecorder::recordInitialColors):
(WebCore::DrawGlyphsRecorder::prepareInternalContext):
(WebCore::DrawGlyphsRecorder::updateFillColor):
(WebCore::DrawGlyphsRecorder::updateStrokeColor):

Source/WebCore/PAL:

  • pal/spi/cg/CoreGraphicsSPI.h: Add CGContextGetStrokeColorAsColor.
4:11 PM Changeset in webkit [293866] by Alan Coon
  • 18 edits in branches/safari-613-branch

Revert r293850. rdar://problem/88904160

This reverts a patch application at r293850.

4:11 PM Changeset in webkit [293865] by Alan Coon
  • 5 edits in branches/safari-613-branch/Source/WebKit

Revert r293851. rdar://problem/88904160

This reverts a patch application at r293851.

4:10 PM Changeset in webkit [293864] by Alan Coon
  • 4 edits in branches/safari-613-branch/Source/WebKit

Revert r293852. rdar://problem/88904160

This reverts a patch application at r293852.

3:42 PM Changeset in webkit [293863] by Brent Fulgham
  • 8 edits in trunk/Source

Remove abandoned WKPreference for AlwaysUseAcceleratedOverflowScroll
https://bugs.webkit.org/show_bug.cgi?id=240130

Reviewed by Simon Fraser.

The preference 'AlwaysUseAcceleratedOverflowScroll' and related code are no longer used. We should remove this dead code.

Source/WebCore:

  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::canUseCompositedScrolling const):

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences _setAlwaysUseAcceleratedOverflowScroll:]): Deleted.
(-[WebPreferences _alwaysUseAcceleratedOverflowScroll]): Deleted.

  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:
3:27 PM Changeset in webkit [293862] by Megan Gardner
  • 2 edits in trunk

Add github info for myself to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240140

Unreviewed metadata addition.

  • metadata/contributors.json:
3:14 PM Changeset in webkit [293861] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r293697.

Mergred to branch, not needed on trunk

Reverted changeset:

"Revert all use of
_setPrivacyProxyFailClosedForUnreachableNonMainHosts"
https://bugs.webkit.org/show_bug.cgi?id=239977
https://commits.webkit.org/r293697

2:40 PM Changeset in webkit [293860] by Manuel Rego Casasnovas
  • 19 edits in trunk

ARIA reflection for Element attributes
https://bugs.webkit.org/show_bug.cgi?id=239852

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Small fix on the test and update test results with the new PASS.
Add new test case to cover elements moved to a different document.

  • web-platform-tests/dom/nodes/aria-element-reflection.tentative-expected.txt:
  • web-platform-tests/dom/nodes/aria-element-reflection.tentative.html:

Source/WebCore:

Implement ARIA reflection for attributes that refer to a single Element:
aria-activedescendant & aria-errormessage.
For the properties names this patch uses "Element" suffix:
ariaActiveDescendantElement & ariaErrorMessageElement;
this matches Chromium implementation and AOM explainer, but not AOM spec:
https://github.com/w3c/aria/issues/1732

This implementation is done following the proposed spec text defined at:
https://github.com/whatwg/html/pull/3917

  • accessibility/AriaAttributes.idl: Add ariaActiveDescendantElement &

ariaErrorMessageElement.

  • bindings/scripts/CodeGenerator.pm:

(GetterExpression): Add function for Element attributes.
(SetterExpression): Ditto.

  • bindings/scripts/test/JS/JSTestObj.cpp: Add tests for element

attribute reflection.
(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::jsTestObj_reflectedElementAttrGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::setJSTestObj_reflectedElementAttrSetter):
(WebCore::JSC_DEFINE_CUSTOM_SETTER):

  • bindings/scripts/test/TestObj.idl: Add reflectedElementAttr

attribute.

  • dom/Element.cpp:

(WebCore::isElementReflectionAttribute): Utility function to identify
Element reflection attributes.
(WebCore::Element::attributeChanged): If an element reflection
attribute has changed we need to synchronize the map entry by removing
it as it'll be properly updated in setElementAttribute() when needed.
(WebCore::Element::explicitlySetAttrElementsMap): Kind of getter
for the ExplicitlySetAttrElementsMap but that creates the map if it
doesn't exist yet.
(WebCore::Element::explicitlySetAttrElementsMapIfExists const):
Getter for the map.
(WebCore::Element::getElementAttribute const): Implement getter for
element attribute.
(WebCore::Element::setElementAttribute): Implement setter for
element attribute.

  • dom/Element.h: Add new method headers and defines the

ExplicitlySetAttrElementsMap, which so far only stores one Element in
the Vector, but uses a Vector in preparation for supporting
FrozenArray<Element> reflection in the future.

  • dom/ElementRareData.cpp: Update size of SameSizeAsElementRareData to

include the new pointer.

  • dom/ElementRareData.h: Add m_explicitlySetAttrElementsMap attribute.

(WebCore::ElementRareData::explicitlySetAttrElementsMap): Getter.
(WebCore::ElementRareData::useTypes const):Include
ExplicitlySetAttrElementsMap.

  • dom/Node.cpp:

(WebCore::stringForRareDataUseType): Add ExplicitlySetAttrElementsMap.

  • dom/NodeRareData.h: Ditto.

Source/WTF:

Add new runtime flag AriaReflectionForElementReferencesEnabled.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

Update test to include the new reflected attributes.

  • accessibility/ARIA-reflection-expected.txt:
  • accessibility/ARIA-reflection.html:
2:10 PM Changeset in webkit [293859] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ][ Monterey Release wk2 ] imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-url-in-main-window-self-navigate-inherits.sub.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239568

Unreviewed test gardening.

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

12:44 PM Changeset in webkit [293858] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, partial revert of r293813 because of proposal's issue.
https://bugs.webkit.org/show_bug.cgi?id=240102

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):

11:58 AM Changeset in webkit [293857] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unnecessary calls to CachedResource::updateBuffer and CachedResource::updateData
https://bugs.webkit.org/show_bug.cgi?id=240126

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

It adds a function call that does nothing but a redundant assert.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::updateBufferInternal):
(WebCore::CachedImage::updateBuffer):
(WebCore::CachedImage::updateData):

11:54 AM Changeset in webkit [293856] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.1.9

Tag WebKit-7613.2.7.1.9.

11:50 AM Changeset in webkit [293855] by Alan Coon
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.9

11:42 AM Changeset in webkit [293854] by Robert Jenner
  • 1 edit
    5 deletes in trunk/LayoutTests

Remove and cleanup platform expectations folders
https://bugs.webkit.org/show_bug.cgi?id=240131

Unreviewed test gardening.

  • platform/mac-catalina-wk1/TestExpectations: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/anchor-element-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attrib-string-colors-with-color-filter-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attribute-string-for-copy-with-color-filter-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-1-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-2-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-3-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-4-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-5-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-1-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-for-typing-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/basic-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/comment-cdata-section-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/font-size-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/font-weight-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/letter-spacing-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/text-decorations-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/mac/attributed-string/vertical-align-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/selection/select-across-readonly-input-4-expected.txt: Removed.
  • platform/mac-catalina-wk1/editing/selection/select-across-readonly-input-5-expected.txt: Removed.
  • platform/mac-catalina-wk1/http/tests/cookies/js-get-and-set-http-only-cookie-expected.txt: Removed.
  • platform/mac-catalina-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Removed.
  • platform/mac-catalina-wk2/fast/events/contextmenu-lookup-action-for-image-expected.txt: Removed.
  • platform/mac-catalina-wk2/http/tests/websocket/tests/hybi/send-object-tostring-check-expected.txt: Removed.
  • platform/mac-catalina-wk2/http/tests/workers/service/serviceworker-websocket.https-expected.txt: Removed.
  • platform/mac-catalina-wk2/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Removed.
  • platform/mac-catalina-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https-expected.txt: Removed.
  • platform/mac-catalina-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket.https-expected.txt: Removed.
  • platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any-expected.txt: Removed.
  • platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any.worker-expected.txt: Removed.
  • platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/remove-own-iframe-during-onerror.window-expected.txt: Removed.
  • platform/mac-catalina/TestExpectations: Removed.
  • platform/mac-catalina/editing/input/reveal-caret-of-multiline-input-expected.txt: Removed.
  • platform/mac-catalina/editing/pasteboard/pasting-tabs-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/3690703-2-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/3690703-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/3690719-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/select-from-textfield-outwards-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-backward-br-mixed-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-backward-p-mixed-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-forward-br-mixed-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt: Removed.
  • platform/mac-catalina/editing/selection/vertical-rl-rtl-extend-line-forward-p-mixed-expected.txt: Removed.
  • platform/mac-catalina/fast/block/basic/001-expected.txt: Removed.
  • platform/mac-catalina/fast/block/float/float-avoidance-expected.txt: Removed.
  • platform/mac-catalina/fast/css/apple-system-control-colors-expected.txt: Removed.
  • platform/mac-catalina/fast/css/continuationCrash-expected.txt: Removed.
  • platform/mac-catalina/fast/css/rtl-ordering-expected.txt: Removed.
  • platform/mac-catalina/fast/css/text-overflow-input-expected.txt: Removed.
  • platform/mac-catalina/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/basic-inputs-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/basic-textareas-quirks-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/box-shadow-override-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/button-positioned-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/button-sizes-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/date/date-input-rendering-basic-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/form-element-geometry-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/hidpi-textfield-background-bleeding-expected.html: Removed.
  • platform/mac-catalina/fast/forms/input-appearance-height-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-appearance-preventDefault-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-appearance-spinbutton-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-appearance-spinbutton-up-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-button-sizes-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-disabled-color-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-placeholder-visibility-1-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-placeholder-visibility-3-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-readonly-dimmed-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-table-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-text-word-wrap-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-value-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/listbox-bidi-align-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/listbox-width-change-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/option-text-clip-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/plaintext-mode-2-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/range/input-appearance-range-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/range/slider-padding-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/range/slider-thumb-shared-style-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/search-rtl-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/search/search-zoom-computed-style-height-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/select-change-listbox-to-popup-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/select-change-popup-to-listbox-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/select-selected-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/select-visual-hebrew-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/select/optgroup-rendering-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/textAreaLineHeight-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/textarea-placeholder-visibility-1-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/textarea-placeholder-visibility-2-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/textfield-outline-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/time/time-input-rendering-basic-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/visual-hebrew-text-field-expected.txt: Removed.
  • platform/mac-catalina/fast/parser/document-write-option-expected.txt: Removed.
  • platform/mac-catalina/fast/parser/entity-comment-in-textarea-expected.txt: Removed.
  • platform/mac-catalina/fast/parser/open-comment-in-textarea-expected.txt: Removed.
  • platform/mac-catalina/fast/repaint/block-inputrange-repaint-expected.txt: Removed.
  • platform/mac-catalina/fast/repaint/slider-thumb-drag-release-expected.txt: Removed.
  • platform/mac-catalina/fast/sandbox/mac/sandbox-mach-lookup-expected.txt: Removed.
  • platform/mac-catalina/fast/text/backslash-to-yen-sign-euc-expected.txt: Removed.
  • platform/mac-catalina/fast/text/basic/014-expected.txt: Removed.
  • platform/mac-catalina/fast/text/capitalize-boundaries-expected.txt: Removed.
  • platform/mac-catalina/fast/text/drawBidiText-expected.txt: Removed.
  • platform/mac-catalina/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Removed.
  • platform/mac-catalina/fast/text/hyphenate-character-expected.txt: Removed.
  • platform/mac-catalina/fast/text/hyphenate-first-word-expected.txt: Removed.
  • platform/mac-catalina/fast/text/hyphenate-limit-before-after-expected.txt: Removed.
  • platform/mac-catalina/fast/text/hyphenate-limit-lines-expected.txt: Removed.
  • platform/mac-catalina/fast/text/hyphenate-locale-expected.txt: Removed.
  • platform/mac-catalina/fast/text/hyphens-expected.txt: Removed.
  • platform/mac-catalina/fast/text/indic-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/bidi-fallback-font-weight-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/bidi-linebreak-001-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/bidi-linebreak-002-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/bidi-linebreak-003-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/danda-space-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-en-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-es-MX-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-es-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-fr-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-hi-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/navigator-language/navigator-language-ru-expected.txt: Removed.
  • platform/mac-catalina/fast/text/international/system-language/system-font-punctuation-expected.txt: Removed.
  • platform/mac-catalina/fast/text/justify-ideograph-leading-expansion-expected.txt: Removed.
  • platform/mac-catalina/fast/text/midword-break-after-breakable-char-expected.txt: Removed.
  • platform/mac-catalina/fast/text/vertical-rl-rtl-linebreak-expected.txt: Removed.
  • platform/mac-catalina/fast/text/vertical-rl-rtl-linebreak-mixed-expected.txt: Removed.
  • platform/mac-catalina/http/tests/navigation/javascriptlink-frames-expected.txt: Removed.
  • platform/mac-catalina/http/tests/xmlhttprequest/methods-async-expected.txt: Removed.
  • platform/mac-catalina/http/tests/xmlhttprequest/methods-expected.txt: Removed.
  • platform/mac-catalina/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Removed.
  • platform/mac-catalina/http/tests/xmlhttprequest/workers/methods-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/fetch/redirect-navigate/preserve-fragment-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/resize-during-playback-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-getting-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-async-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-expected.txt: Removed.
  • platform/mac-catalina/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt: Removed.
  • platform/mac-catalina/inspector/css/get-system-fonts-expected.txt: Removed.
  • platform/mac-catalina/media/media-can-play-webm-expected.txt: Removed.
  • platform/mac-catalina/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt: Removed.
  • platform/mac-catalina/platform/mac/fast/text/bidi-fallback-font-weight-expected.txt: Removed.
  • platform/mac-catalina/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Removed.
  • platform/mac-catalina/platform/mac/fast/text/international/bidi-fallback-font-weight-expected.txt: Removed.
  • platform/mac-catalina/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Removed.
  • platform/mac-catalina/svg/custom/svg-fonts-without-missing-glyph-expected.txt: Removed.
  • platform/mac-catalina/svg/text/bidi-tspans-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/bugs/bug18359-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/bugs/bug2479-3-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/bugs/bug26178-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/bugs/bug30692-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/bugs/bug33855-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/bugs/bug60749-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/bugs/bug7342-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla/other/wa_table_tr_align-expected.txt: Removed.
  • platform/mac-catalina/transforms/2d/zoom-menulist-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/anchor-element-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attrib-string-colors-with-color-filter-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attribute-string-for-copy-with-color-filter-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-1-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-2-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-3-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-4-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-5-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-1-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-for-typing-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/basic-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/comment-cdata-section-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/font-size-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/font-weight-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/letter-spacing-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/text-decorations-expected.txt: Removed.
  • platform/mac-mojave-wk1/editing/mac/attributed-string/vertical-align-expected.txt: Removed.
  • platform/mac-mojave-wk1/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Removed.
  • platform/mac-mojave-wk1/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Removed.
  • platform/mac-mojave/css1/basic/inheritance-expected.txt: Removed.
  • platform/mac-mojave/css2.1/t0602-c13-inh-underlin-00-e-expected.txt: Removed.
  • platform/mac-mojave/css2.1/t0805-c5522-brdr-02-e-expected.txt: Removed.
  • platform/mac-mojave/css2.1/t1202-counter-09-b-expected.txt: Removed.
  • platform/mac-mojave/css2.1/t1202-counters-09-b-expected.txt: Removed.
  • platform/mac-mojave/editing/input/reveal-caret-of-multiline-input-expected.txt: Removed.
  • platform/mac-mojave/editing/mac/selection/context-menu-select-editability-expected.txt: Removed.
  • platform/mac-mojave/editing/selection/3690703-2-expected.txt: Removed.
  • platform/mac-mojave/editing/selection/3690703-expected.txt: Removed.
  • platform/mac-mojave/editing/selection/3690719-expected.txt: Removed.
  • platform/mac-mojave/fast/block/basic/001-expected.txt: Removed.
  • platform/mac-mojave/fast/block/float/float-avoidance-expected.txt: Removed.
  • platform/mac-mojave/fast/css-generated-content/014-expected.png: Removed.
  • platform/mac-mojave/fast/css-generated-content/014-expected.txt: Removed.
  • platform/mac-mojave/fast/css/apple-system-control-colors-expected.txt: Removed.
  • platform/mac-mojave/fast/css/continuationCrash-expected.txt: Removed.
  • platform/mac-mojave/fast/css/css3-nth-child-expected.txt: Removed.
  • platform/mac-mojave/fast/css/line-height-font-order-expected.png: Removed.
  • platform/mac-mojave/fast/css/line-height-font-order-expected.txt: Removed.
  • platform/mac-mojave/fast/css/rtl-ordering-expected.txt: Removed.
  • platform/mac-mojave/fast/css/text-overflow-input-expected.txt: Removed.
  • platform/mac-mojave/fast/dom/34176-expected.txt: Removed.
  • platform/mac-mojave/fast/dom/clone-node-dynamic-style-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/basic-inputs-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/button-positioned-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/button-sizes-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/date/date-input-rendering-basic-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/input-appearance-spinbutton-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/input-button-sizes-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/input-disabled-color-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/input-readonly-dimmed-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/input-text-word-wrap-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/listbox-bidi-align-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/listbox-width-change-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/option-text-clip-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/plaintext-mode-2-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/search-rtl-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/select-change-listbox-to-popup-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/select-change-popup-to-listbox-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/select-selected-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/select/optgroup-rendering-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/textfield-outline-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/time/time-input-rendering-basic-expected.txt: Removed.
  • platform/mac-mojave/fast/images/image-controls-basic-expected.png: Removed.
  • platform/mac-mojave/fast/indic-expected.txt: Removed.
  • platform/mac-mojave/fast/invalid/003-expected.txt: Removed.
  • platform/mac-mojave/fast/invalid/004-expected.txt: Removed.
  • platform/mac-mojave/fast/invalid/nestedh3s-expected.txt: Removed.
  • platform/mac-mojave/fast/overflow/007-expected.png: Removed.
  • platform/mac-mojave/fast/overflow/007-expected.txt: Removed.
  • platform/mac-mojave/fast/parser/document-write-option-expected.txt: Removed.
  • platform/mac-mojave/fast/sandbox/mac/sandbox-mach-lookup-expected.txt: Removed.
  • platform/mac-mojave/fast/selectors/018-expected.txt: Removed.
  • platform/mac-mojave/fast/table/frame-and-rules-expected.txt: Removed.
  • platform/mac-mojave/fast/text/atsui-multiple-renderers-expected.txt: Removed.
  • platform/mac-mojave/fast/text/bidi-embedding-pop-and-push-same-expected.txt: Removed.
  • platform/mac-mojave/fast/text/font-weights-expected.txt: Removed.
  • platform/mac-mojave/fast/text/font-weights-zh-expected.txt: Removed.
  • platform/mac-mojave/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Removed.
  • platform/mac-mojave/fast/text/hyphenate-character-expected.png: Removed.
  • platform/mac-mojave/fast/text/hyphenate-character-expected.txt: Removed.
  • platform/mac-mojave/fast/text/hyphens-expected.png: Removed.
  • platform/mac-mojave/fast/text/hyphens-expected.txt: Removed.
  • platform/mac-mojave/fast/text/indic-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/bidi-fallback-font-weight-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/bidi-mirror-he-ar-expected.png: Removed.
  • platform/mac-mojave/fast/text/international/bidi-mirror-he-ar-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/danda-space-expected.png: Removed.
  • platform/mac-mojave/fast/text/international/danda-space-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-419-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-MX-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-fr-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-hi-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-ja-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-ru-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-zh-HK-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-zh-Hant-HK-expected.txt: Removed.
  • platform/mac-mojave/fast/text/international/system-language/system-font-punctuation-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
  • platform/mac-mojave/http/tests/inspector/network/resource-sizes-network-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/cors/access-control-expose-headers-parsing.window-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/cors/origin-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/css/css-fonts/generic-family-keywords-001-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/css/css-pseudo/text-selection-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/fetch/content-type/script.window-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/fetch/nosniff/parsing-nosniff.window-actual.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/fetch/nosniff/parsing-nosniff.window-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/xhr/getallresponseheaders-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/xhr/getresponseheader.any-expected.txt: Removed.
  • platform/mac-mojave/imported/w3c/web-platform-tests/xhr/getresponseheader.any.worker-expected.txt: Removed.
  • platform/mac-mojave/platform/mac/fast/text/international/bidi-fallback-font-weight-expected.txt: Removed.
  • platform/mac-mojave/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: Removed.
  • platform/mac-mojave/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: Removed.
  • platform/mac-mojave/svg/batik/text/textStyles-expected.txt: Removed.
  • platform/mac-mojave/svg/custom/glyph-selection-arabic-forms-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/bugs/bug10296-1-expected.png: Removed.
  • platform/mac-mojave/tables/mozilla/bugs/bug10296-1-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/bugs/bug139524-2-expected.png: Removed.
  • platform/mac-mojave/tables/mozilla/bugs/bug139524-2-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/bugs/bug2479-3-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/bugs/bug30692-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/bugs/bug33855-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/other/wa_table_tr_align-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png: Removed.
  • platform/mac-mojave/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Removed.

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

11:37 AM Changeset in webkit [293853] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Allow hw.cpu64bit_capable sysctl-read in network process sandbox on iOS
https://bugs.webkit.org/show_bug.cgi?id=240124
<rdar://92797350>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-05
Reviewed by Per Arne Vollan.

It's used on watchOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
11:36 AM Changeset in webkit [293852] by Alan Coon
  • 4 edits in branches/safari-613-branch/Source/WebKit

Apply patch. rdar://problem/88904160

11:35 AM Changeset in webkit [293851] by Alan Coon
  • 5 edits in branches/safari-613-branch/Source/WebKit

Apply patch. rdar://problem/88904160

11:35 AM Changeset in webkit [293850] by Alan Coon
  • 18 edits in branches/safari-613-branch

Apply patch. rdar://problem/88904160

11:31 AM Changeset in webkit [293849] by Jonathan Bedard
  • 2 edits in trunk/Websites/bugs.webkit.org

[bugs.webkit.org] Replace svn.webkit.org in committers autocomplete
https://bugs.webkit.org/show_bug.cgi?id=240090
<rdar://problem/92758558>

Reviewed by Aakash Jain.

  • Websites/bugs.webkit.org/committers-autocomplete.js: Replace

svn.webkit.org with raw.githubusercontent.com.

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

11:28 AM Changeset in webkit [293848] by Alan Coon
  • 6 edits in branches/safari-613-branch/Source/WebKit

Revert r293791. rdar://problem/88904160

This reverts the application of a patch landed at r293791.

11:26 AM Changeset in webkit [293847] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Clean up StructureID related data
https://bugs.webkit.org/show_bug.cgi?id=240114

Reviewed by Mark Lam.

This patch moves structureHeapAddressSize to StructureID. And define it only when we use it.
We also use decontaminate() in ADDRESS32 tryDecode. Strictly speaking, it is not necessary
for now since 32bit environment does not have concurrent GC & concurrent JIT compiler, but
it can have that.

  • Source/JavaScriptCore/runtime/JSCConfig.h:
  • Source/JavaScriptCore/runtime/StructureID.h:

(JSC::StructureID::tryDecode const):

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

11:00 AM Changeset in webkit [293846] by Said Abou-Hallawa
  • 10 edits
    1 add in trunk/Source

[GPU Process] NativeImage should share the ShareableBitmap data when it's sent to GPU Process
https://bugs.webkit.org/show_bug.cgi?id=239874
rdar://92031359

Reviewed by Simon Fraser.

Source/WebCore:

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/BackingStoreCopy.h: Added.
  • platform/graphics/ImageBufferBackend.h:

(): Deleted.

Source/WebKit:

Instead of allocating a new memory buffer in GPUProcess and copying the
ShareableBitmap data to it, we can create a PlatformImage that directly
references this data. This will make all the NativeImages data be attributed
to WebProcess.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):

  • Shared/ShareableBitmap.h:

(WebKit::ShareableBitmap::createPlatformImage):

  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::ShareableBitmap::makeCGImage):
(WebKit::ShareableBitmap::createPlatformImage):
(WebKit::ShareableBitmap::createCGImage const):
(WebKit::ShareableBitmap::releaseDataProviderData): Deleted.

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::copyNativeImage const):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
10:27 AM Changeset in webkit [293845] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ Catalina EWS ] webgl/2.0.0/* tests are flaky crashing ASSERTION FAILED: !needsLayout()
https://bugs.webkit.org/show_bug.cgi?id=229580

Unreviewed test gardening. Skip WebGL tests on mac-wk1.

  • platform/mac-wk1/TestExpectations:

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

10:13 AM Changeset in webkit [293844] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.12

Tag WebKit-7614.1.12.

9:52 AM Changeset in webkit [293843] by Russell Epstein
  • 2 edits in branches/safari-7614.1.12-branch/Source/WebCore

Cherry-pick r293825. rdar://problem/92635752

[GPU Process] [iOS] REGRESSION(r293570): Snapshot rendering is not scaled with the device scale factor
https://bugs.webkit.org/show_bug.cgi?id=240100
rdar://92635752

Reviewed by Simon Fraser.

The scaling factor is not set in the GraphicsContext of the
ImageBufferShareableBitmapBackend.

To fix this bug is to make snapshotFrameRectWithClip() handle the scaling
outside the ImageBuffer creation. This is similar to what we do in
GraphicsContext::createAlignedImageBuffer() where we scale the size and
create the ImageBuffer with scaleFactor = 1.

  • page/FrameSnapshotting.cpp: (WebCore::snapshotFrameRectWithClip):

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

9:40 AM Changeset in webkit [293842] by sihui_liu@apple.com
  • 5 edits
    1 add in trunk

SuspendableWorkQueue::suspend should invoke callback immediately when queue is suspended
https://bugs.webkit.org/show_bug.cgi?id=240070

Reviewed by Chris Dumez.

Source/WTF:

With current implementation, if suspend() is called when queue is suspended, the completionHandler is not
invoked unitl the queue is resumed and suspended again. This might cause confusion for callers. To fix it,
now SuspendableWorkQueue will invoke callback immediately when queue is already suspended.

API test: WTF_SuspendableWorkQueue.SuspendTwice

  • wtf/SuspendableWorkQueue.cpp:

(WTF::SuspendableWorkQueue::suspend):
(WTF::SuspendableWorkQueue::resume):
(WTF::SuspendableWorkQueue::dispatchSync):
(WTF::SuspendableWorkQueue::suspendIfNeeded):

  • wtf/SuspendableWorkQueue.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/SuspendableWorkQueue.cpp: Added.

(TestWebKitAPI::TEST):

9:34 AM Changeset in webkit [293841] by Chris Dumez
  • 7 edits
    1 add in trunk

BroadcastChannel instance in data URL dedicated worker can communicate with creator context
https://bugs.webkit.org/show_bug.cgi?id=240016

Reviewed by Youenn Fablet.

For workers, we used to dispatch to the loader document and then get the origin from that loader document.
This normally works because the worker usually inherits the origin from its loader document. However, when
the worker is loaded from a data URL, its origin is opaque:

To address the issue, we now get the security origin directly from the BroadcastChannel's
ScriptExecutionContext, before dispatching to the main thread.

This led to one issue though because I now have to call isolatedCopy() on the SecurityOrigin to pass it to
the main thread. In particular, 2 BroadcastChannels from the same opaque origin should be able to talk to
each other. This used to work because the SecurityOrigin objects would have the same pointers and
SecurityOrigin::isSameOriginAs() would check for pointer equality. However, now that I call isolatedCopy(),
we get new & different pointers so this wouldn't work anymore. To address this, I replaced the m_isUnique
boolean data member on SecurityOrigin with a global uniqueOriginIdentifier and we check this identifier
to see if 2 opaque/unique SecurityOrigin objects are for the same opaque/unique origin. This means the
check will still work if the SecurityOrigin objects are isolated-copied or even IPC'd.

  • LayoutTests/imported/w3c/web-platform-tests/webmessaging/broadcastchannel/opaque-origin-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/webmessaging/broadcastchannel/opaque-origin.html:

Resync to get test coverage from upstream WPT.

  • Source/WebCore/dom/BroadcastChannel.cpp:

(WebCore::BroadcastChannel::MainThreadBridge::registerChannel):

  • Source/WebCore/page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::isSameOriginAs const):
(WebCore::SecurityOrigin::equal const):

  • Source/WebCore/page/SecurityOrigin.h:

(WebCore::SecurityOrigin::isUnique const):
(WebCore::SecurityOrigin::encode const):
(WebCore::SecurityOrigin::decode):

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

9:29 AM Changeset in webkit [293840] by Karl Rackler
  • 3 edits in trunk/LayoutTests

[ iOS ][ macOS ] imported/w3c/web-platform-tests/webrtc/protocol/rtp-clockrate.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240123

Unreviewed test gardening.

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

9:13 AM Changeset in webkit [293839] by jer.noble@apple.com
  • 12 edits in trunk/Source

[WK2][Cocoa] Remove use of CVPixelBufferConformer from WebContent process in MediaPlayerPrivateRemote::nativeImageForCurrentTime()
https://bugs.webkit.org/show_bug.cgi?id=240108
<rdar://problem/92773611>

Reviewed by Simon Fraser.

Source/WebCore:

No longer pass a CVPixelBufferRef up through onNewVideoFrameMetadata().

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::onNewVideoFrameMetadata):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerOnNewVideoFrameMetadata):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::checkNewVideoFrameMetadata):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::checkNewVideoFrameMetadata):

Source/WebKit:

CVPixelBufferConformer makes use of hardware acceleration to perform colorspace conversions,
and these calls fail when IOKit access is blocked from the WebContent sandbox. The use of
CVPixelBufferConformer (via PixelBufferConformerCV) in nativeImageForCurrentTime() is a
convenince when a web page is using rVFC() to avoid a call into the GPU process when that
callback results in a video->canvas paint. However, this convenience is not strictly necessary,
and by reverting this optimization, the conformance of the resulting pixel buffer is
performed upon request in the GPU process instead.

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:

(WebKit::RemoteMediaPlayerProxy::mediaPlayerOnNewVideoFrameMetadata):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::stopVideoFrameMetadataGathering):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
  • WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:

(WebKit::MediaPlayerPrivateRemote::pushVideoFrameMetadata):
(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):

9:02 AM Changeset in webkit [293838] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk/Tools/buildstream

[Flatpak SDK] Bump to GStreamer 1.20.2
https://bugs.webkit.org/show_bug.cgi?id=240121

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-05
Reviewed by Adrian Perez de Castro.

  • elements/sdk/gst-libav.bst:
  • elements/sdk/gst-plugins-bad.bst:
  • elements/sdk/gst-plugins-base.bst:
  • elements/sdk/gst-plugins-good.bst:
  • elements/sdk/gst-plugins-ugly.bst:
  • elements/sdk/gstreamer.bst:
  • patches/gstreamer-0001-typefind-Skip-parsing-of-data-URIs.patch: Removed.
  • patches/gstreamer-0002-uri-Build-doubly-linked-list-by-prepending-items.patch: Removed.

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

8:55 AM Changeset in webkit [293837] by Simon Fraser
  • 3 edits in trunk/Source/WebKit

Optimize IPC Decoding for primitive types
https://bugs.webkit.org/show_bug.cgi?id=240106

Reviewed by Cameron McCormack.

Calls to memmove() showed up on profiles under Decoder::decodeFixedLengthData() for
primitive types. Allow the compiler to optimize these away by inlining Decoder::decodeFixedLengthData()
and related functions.

  • Platform/IPC/Decoder.cpp:

(IPC::roundUpToAlignment): Deleted.
(IPC::alignedBufferIsLargeEnoughToContain): Deleted.
(IPC::Decoder::alignBufferPosition): Deleted.
(IPC::Decoder::bufferIsLargeEnoughToContain const): Deleted.
(IPC::Decoder::decodeFixedLengthData): Deleted.

  • Platform/IPC/Decoder.h:

(IPC::roundUpToAlignment):
(IPC::alignedBufferIsLargeEnoughToContain):
(IPC::Decoder::alignBufferPosition):
(IPC::Decoder::bufferIsLargeEnoughToContain const):
(IPC::Decoder::decodeFixedLengthData):

8:48 AM Changeset in webkit [293836] by Jonathan Bedard
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/watchlist

Add myself (Youssef Soliman) to watchlist for Media
https://bugs.webkit.org/show_bug.cgi?id=240101

Reviewed by Eric Carlson.

  • Tools/Scripts/webkitpy/common/config/watchlist:

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

8:36 AM Changeset in webkit [293835] by Kate Cheney
  • 5 edits
    1 add in trunk

Right click using trackpad crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=240030
rdar://91786269

Reviewed by Tim Horton.

Source/WebCore:

Trackpad on iOS should mimic mac selection behavior and block context
menu clicks that are not made on a text node.

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectClosestContextualWordOrLinkFromHitTestResult):
(WebCore::EventHandler::sendContextMenuEvent):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/emptyTable.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:

(TEST):

8:18 AM Changeset in webkit [293834] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[Gardening]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.

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

8:15 AM Changeset in webkit [293833] by youenn@apple.com
  • 4 edits in trunk/Source

Add SharedVideoFrameReader/SharedVideoFrameWriter logging for error cases
https://bugs.webkit.org/show_bug.cgi?id=236066
<rdar://problem/88424960>

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

  • platform/cocoa/SharedVideoFrameInfo.mm:

(WebCore::SharedVideoFrameInfo::writePixelBuffer):

Source/WebKit:

  • WebProcess/GPU/webrtc/SharedVideoFrame.cpp:

(WebKit::SharedVideoFrameWriter::prepareWriting):
(WebKit::SharedVideoFrameReader::readBufferFromSharedMemory):
(WebKit::SharedVideoFrameReader::readBuffer):

8:04 AM Changeset in webkit [293832] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitbugspy] Include mocks in package
https://bugs.webkit.org/show_bug.cgi?id=240098
<rdar://problem/92763124>

Reviewed by Aakash Jain.

  • Scripts/libraries/webkitbugspy/setup.py:
  • Scripts/libraries/webkitbugspy/webkitbugspy/init.py:

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

8:01 AM Changeset in webkit [293831] by Jonathan Bedard
  • 5 edits in trunk/Tools

[git-webkit] Fetch alternate remotes when adding remote
https://bugs.webkit.org/show_bug.cgi?id=240066
<rdar://problem/92733391>

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/mocks/local/git.py: Mock git fetch

for non-fork remotes.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:

(Setup._add_remote): Optionally fetch remote after adding it.
(Setup.git):

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

7:45 AM Changeset in webkit [293830] by Ziran Sun
  • 7 edits
    1 copy
    1 add in trunk

<input type=color> should have box-sizing: border-box in UA stylesheet
https://bugs.webkit.org/show_bug.cgi?id=197878

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

  • web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt:

Source/WebCore:

As discussed at [1], We should have box-sizing: border-box for <input type=color>, the same
as buttons. WebKit currently has content-box. This patch is to change it to box-box.

Since <input type=color> is disabled with WebKitLegacy [2], this fix doesn't apply to it. Hence,
for mac-wk1 platform, the test expectation for html/rendering/non-replaced-elements/form-controls/resets.html
stays as it is.

[1] https://github.com/whatwg/html/issues/4281
[2] https://webkit-search.igalia.com/webkit/source/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml#425-437

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::colorInputStyleSheet const):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::colorInputStyleSheet const):

LayoutTests:

  • platform/glib/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt.
6:42 AM Changeset in webkit [293829] by commit-queue@webkit.org
  • 22 edits
    1 delete in trunk/Source/WebKit

Connecting to GPU process may hang if UI process sends sync message simultaneously
https://bugs.webkit.org/show_bug.cgi?id=239905

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-05
Reviewed by Chris Dumez.

Previously, establishing GPU process connection would be a sync message:

  1. WP -> UI sync GetGPUProcessConnection
  2. UI -> GPUP async CreateGPUConnectionToWebProcess
  3. GPUP -> UI async reply CreateGPUConnectionToWebProcess
  4. UI -> WP sync reply GetGPUProcessConnection

If UI would send a message to WP after step 3 and wait for reply, this
would never come as WP would be waiting for the sync reply for GetGPUProcessConnection.

This would happen for example with requestAutocorrectionContextWithCompletionHandler,
which would send HandleAutocorrectionContextRequest and wait for
Messages::WebPageProxy::HandleAutocorrectionContext messages.

Mitigate this by creating the GPU connection in WP and sending
that to GPUP through UI in an async message. This way WP does not block on the GPUP
connection initialization. Send the GPUP connection initialization result, audit token and
vp9 HW decoder presence, as the first user message through the new connection.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::create):
(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/GPUProcess.cpp:

(WebKit::asConnectionIdentifier):
(WebKit::GPUProcess::createGPUConnectionToWebProcess):

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/GPUProcessConnectionInitializationParameters.h:

(WebKit::GPUProcessConnectionInitializationParameters::decode):

  • Shared/GPUProcessConnectionParameters.h:

(WebKit::GPUProcessConnectionParameters::encode const):
(WebKit::GPUProcessConnectionParameters::decode):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::createGPUProcessConnection):

  • UIProcess/GPU/GPUProcessProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createGPUProcessConnection):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createGPUProcessConnection):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/GPU/GPUProcessConnection.cpp:

(WebKit::getGPUProcessConnectionParameters):
(WebKit::GPUProcessConnection::create):
(WebKit::GPUProcessConnection::GPUProcessConnection):
(WebKit::GPUProcessConnection::auditToken):
(WebKit::GPUProcessConnection::invalidate):
(WebKit::GPUProcessConnection::didInitialize):
(WebKit::GPUProcessConnection::waitForDidInitialize):
(WebKit::GPUProcessConnection::hasVP9HardwareDecoder):

  • WebProcess/GPU/GPUProcessConnection.h:
  • WebProcess/GPU/GPUProcessConnection.messages.in:
  • WebProcess/GPU/GPUProcessConnectionInfo.h:

(WebKit::GPUProcessConnectionInfo::encode const):
(WebKit::GPUProcessConnectionInfo::decode):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureGPUProcessConnection):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:
5:12 AM Changeset in webkit [293828] by Diego Pino Garcia
  • 2 edits in trunk/Source/JavaScriptCore

[GCC] REGRESSION(r293605): error: cannot convert ‘<brace-enclosed initializer list>’ to ‘unsigned char:3’ in initialization
https://bugs.webkit.org/show_bug.cgi?id=239897

Reviewed by Yusuke Suzuki.

  • bytecode/MethodOfGettingAValueProfile.h: Move initialization of 'm_kind' to class constructor.
2:48 AM Changeset in webkit [293827] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

replaceTrack with different constraints stops sending packets
https://bugs.webkit.org/show_bug.cgi?id=239978
<rdar://problem/92624773>

Reviewed by Eric Carlson.

We should always reconfigure the microphone processor even if we are not using it,
as VPIO expects that input and output formats should match.

Manually tested with https://bugs.webkit.org/show_bug.cgi?id=239978 and https://jsfiddle.net/72qsLw9a/.
A follow-up should allow to put more common code between CoreAudioSharedUnit and MockAudioSharedUnit
so that we can write a regression test.

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:
1:50 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
1:33 AM Changeset in webkit [293826] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

REGRESSION(249114@main) [GTK] Crashes on shutdown if the display is not set
https://bugs.webkit.org/show_bug.cgi?id=239767

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-05-05
Reviewed by Michael Catanzaro.

Handle the case of PlatformDisplay created with a nullptr GdkDisplay.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::PlatformDisplay):

  • platform/graphics/wayland/PlatformDisplayWayland.cpp:

(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):

  • platform/graphics/x11/PlatformDisplayX11.cpp:

(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):

1:19 AM Changeset in webkit [293825] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

[GPU Process] [iOS] REGRESSION(r293570): Snapshot rendering is not scaled with the device scale factor
https://bugs.webkit.org/show_bug.cgi?id=240100
rdar://92635752

Reviewed by Simon Fraser.

The scaling factor is not set in the GraphicsContext of the
ImageBufferShareableBitmapBackend.

To fix this bug is to make snapshotFrameRectWithClip() handle the scaling
outside the ImageBuffer creation. This is similar to what we do in
GraphicsContext::createAlignedImageBuffer() where we scale the size and
create the ImageBuffer with scaleFactor = 1.

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

12:38 AM Changeset in webkit [293824] by youenn@apple.com
  • 21 edits
    6 deletes in trunk/Source

SWOriginStore is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=240003

Reviewed by Chris Dumez.

Source/WebCore:

Covered by existing tests.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoader.cpp:
  • workers/service/SWClientConnection.h:
  • workers/service/WorkerSWClientConnection.cpp:
  • workers/service/WorkerSWClientConnection.h:
  • workers/service/server/SWOriginStore.cpp: Removed.
  • workers/service/server/SWOriginStore.h: Removed.
  • workers/service/server/SWServer.cpp:
  • workers/service/server/SWServer.h:

Source/WebKit:

No observable change, we remove the SWOrigin optimization as its main remaining use
is to optimize the case of a page being loaded by service worker instead of app cache which is a tiny edge case.

  • NetworkProcess/NetworkSession.cpp:
  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/ServiceWorker/WebSWOriginStore.cpp: Removed.
  • NetworkProcess/ServiceWorker/WebSWOriginStore.h: Removed.
  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Storage/WebSWClientConnection.cpp:
  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
  • WebProcess/Storage/WebSWOriginTable.cpp: Removed.
  • WebProcess/Storage/WebSWOriginTable.h: Removed.

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):

Note: See TracTimeline for information about the timeline view.