⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

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:
Note: See TracTimeline for information about the timeline view.