Timeline



May 19, 2022:

11:51 PM Changeset in webkit [294534] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore/css

CSSMotionPathEnabled setting does not prevent parsing of CSS Motion Path properties
https://bugs.webkit.org/show_bug.cgi?id=240594
<rdar://93522039>

Patch by Antoine Quint <Antoine Quint> on 2022-05-19
Reviewed by Antti Koivisto.

  • Source/WebCore/css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/parser/CSSParserContext.cpp:

(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):

  • Source/WebCore/css/parser/CSSParserContext.h:
  • Source/WebCore/css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):

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

11:39 PM Changeset in webkit [294533] by ntim@apple.com
  • 1 edit in trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp

Add revert-layer to isUniversalKeyword
https://bugs.webkit.org/show_bug.cgi?id=234674

Reviewed by Antti Koivisto.

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

(WebCore::isUniversalKeyword):

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

11:19 PM Changeset in webkit [294532] by commit-queue@webkit.org
  • 2 edits in trunk/Tools/Scripts

Tests with an '-e' parameters in requireOptions fail with bytecode cache enabled
https://bugs.webkit.org/show_bug.cgi?id=218703

Patch by Xan López <Xan Lopez> on 2022-05-19
Reviewed by Yusuke Suzuki.

Do not try to further tokenize the command parameters to the test run
in the bytecode cache helper script. This will just mess up things
like the '-e "foo bar"' extra options, and it's not needed.

  • Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh: do not tokenize the arguments to the script.
  • Scripts/run-jsc-stress-tests: also run the bytecode cache tests on MIPS.

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

10:49 PM Changeset in webkit [294531] by Simon Fraser
  • 3 edits in trunk/Source

ASSERT(status == U_ZERO_ERROR) under SearchBuffer::search() when typing in the url bar in the iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=240699
<rdar://92182174>

Reviewed by Tim Horton.

Replace status == U_ZERO_ERROR tests with U_SUCCESS(status).

  • Source/WebCore/PAL/pal/text/TextCodecICU.cpp:

(PAL::ErrorCallbackSetter::ErrorCallbackSetter):
(PAL::ErrorCallbackSetter::~ErrorCallbackSetter):

  • Source/WebKit/UIProcess/Cocoa/ModalContainerControlClassifier.mm:

(WebKit::SpoofChecker::checker):

  • Source/WebCore/editing/TextIterator.cpp:

(WebCore::createSearcher):
(WebCore::SearchBuffer::SearchBuffer):
(WebCore::SearchBuffer::~SearchBuffer):
(WebCore::SearchBuffer::search):

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

10:27 PM Changeset in webkit [294530] by Simon Fraser
  • 1 edit
    4 adds in trunk

REGRESSION (r293126): Gmail formatting menu/panel in compose view becomes blank/empty while scrolling
https://bugs.webkit.org/show_bug.cgi?id=240625
<rdar://92984518>

Reviewed by Alan Bujtas.

Gmail uses the css clip property with negative offsets, which is surprising, and revealed a bug in
the compositing code for clipping.

When a stacking-context layer has overflow:hidden or clip:, we assume that the clip encloses all the
descendants, so make a GraphicsLayer with masksToBounds as a parent of the child layers. When the
layer has border-radius with uneven corners, we implement that with a shape layer which acts as a
mask on that clipping GraphicsLayer.

The content in question had CSS clip with negative offsets and border-radius, so the shape layer
mask would clip out any content outside the border shape.

So if the clip rect extends beyond the border, we need to follow a different code path, which pushes
the clipping layers onto descendants; this code path is used for non-stacking context clipping, and
for mix-blend-mode which needs to avoid the creation of the intermediate clipping layer.

So generalize the isolatesCompositedBlending() code path to also be used in the scenario of CSS
clip which extends outside the border box.

Tests: compositing/clipping/css-clip-and-border-radius.html

compositing/clipping/css-clip-non-stacking.html

  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::canUseDescendantClippingLayer):
(WebCore::RenderLayerCompositor::clippedByAncestor const):
(WebCore::RenderLayerCompositor::computeAncestorClippingStack const):
(WebCore::RenderLayerCompositor::clipsCompositingDescendants):

  • LayoutTests/compositing/clipping/css-clip-and-border-radius-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-and-border-radius.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking.html: Added.

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

9:52 PM Changeset in webkit [294529] by Jenner@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests/platform/ios-wk2

[ Gardening ]REBASELINE [ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=231266

Unreviewed test gardening. Rebaseline for iOS.

  • LayoutTests/platform/ios-wk2/TestExpectations:
  • LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-rotation-expected.txt: Added.

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

9:03 PM Changeset in webkit [294528] by Diego Pino Garcia
  • 1 edit in trunk/Source/WebCore/rendering/PathOperation.h

Unreviewed, non-unified build fixes after 250776@main

8:46 PM Changeset in webkit [294527] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Remove unused memory capacity output value in calculateURLCacheSizes
https://bugs.webkit.org/show_bug.cgi?id=240577

Patch by Olivier Blin <Olivier Blin> on 2022-05-19
Reviewed by Darin Adler.

Source/WebKit:

calculateURLCacheSizes() had a urlCacheMemoryCapacity output value
since its creation in r203857, which was passed to platformSetURLCacheSize().

But the implementation has been removed for the soup platform in
r205556 when switching to the WebKit network cache, and for the Cocoa
platform in r232201 when dropping NSURLCache support.

urlCacheMemoryCapacity is now unused.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::computeCapacity):

  • Shared/CacheModel.cpp:

(WebKit::calculateURLCacheSizes):

  • Shared/CacheModel.h:

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

8:38 PM Changeset in webkit [294526] by Darin Adler
  • 48 edits
    3 deletes in trunk/Source

Remove a first bit of unused plug-in code
https://bugs.webkit.org/show_bug.cgi?id=240309

Reviewed by Chris Dumez.

  • Source/WebKit/Sources.txt: Removed Plugin.cpp.

Removed unneeded @no-unify for PluginView.cpp and WebPluginInfoProvider.cpp.

  • Source/WebKit/UIProcess/WebProcessProxy.cpp: Removed unneeded include

of PDFPlugin.h.

  • Source/WebKit/WebKit.xcodeproj/project.pbxproj: Removed Plugin.cpp,

Plugin.h, and PluginController.h, and turned off non-unified building
for PluginView.cpp and WebPluginInfoProvider.cpp.

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

(WKBundleFrameHandlesPageScaleGesture): Deprecate, and always return false.

  • Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.mm:

(WKBundlePageGetPDFDocumentInFrame): Moved code inside #if ENABLE(PDFKIT_PLUGIN)
and also removed some unneeded local variables and includes.

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h: Updated includes,

removing uneeeded ones, and adding others that previously were inherited
from Plugin.h. Similarly, added and removed forward declarations.
Changed the class to inherit from ThreadSafeRefCounted directly, eliminating
the Plugin base class. Removed the unneeded WebFrame argument from the create
function. Moved functions here from Plugin. Made handlesPageScalFactor,
convertFromPDFViewToRootView frameForHUD, and ensureDataBufferLength private.
Made isFullFramePlugin public. Added deviceScaleFactor. Made the virtual
function overrides just normal functions. Also tweaked arguments and return
values on some of them so they are the minimum needed to do the job.
Replaced the old weak pointer to the plug-in controller with a weak ponter
to the plug-in view; the two are the same object. Removed the isPDFPlugin
function and the type traits for downcast, since this is no longer derived
from a Plugin base class.

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

Removed the "requestID" since now loading the main resource of the plug-in
is done without using general purpose "stream-loading" machinery.
(WebKit::PDFPlugin::create): Take fewer arguments.
(WebKit::PDFPlugin::PDFPlugin): Use WebFrame::fromCoreFrame to find the
frame so we don't have to pass it in. No need for null checks, though, because
PluginView does all those. Refactor and tweak a bit.
(WebKit::PDFPlugin::getResourceBytesAtPosition): Get URL from m_view.
(WebKit::PDFPlugin::updateScrollbars): Use m_view.
(WebKit::PDFPlugin::pluginView): Deleted.
(WebKit::PDFPlugin::pluginView const): Deleted.
(WebKit::PDFPlugin::createScrollbar): Use m_view.
(WebKit::PDFPlugin::convertFromScrollbarToContainingView const): Ditto.
(WebKit::PDFPlugin::convertFromContainingViewToScrollbar const): Ditto.
(WebKit::PDFPlugin::handleScroll): Deleted.
(WebKit::PDFPlugin::scrollCornerRect const): Use m_view.
(WebKit::PDFPlugin::scrollableAreaBoundingBox const): Ditto.
(WebKit::PDFPlugin::addArchiveResource): Ditto. Also get URL from m_vie
since we no longer have m_sourceURL.
(WebKit::PDFPlugin::streamDidFinishLoading): Merged with
documentDataDidFinishLoading and manualStreamDidFinishLoading, and removed
the streamID argument since we only use one stream, to load PDF document data.
(WebKit::PDFPlugin::installPDFDocument): Use m_view.
(WebKit::PDFPlugin::streamDidReceiveResponse): Merged with setSuggestedFilename
and manualStreamDidReceiveResponse, and removed the streamID argument.
(WebKit::PDFPlugin::streamDidReceiveData): Merged with manualStreamDidReceiveData,
and removed the streamID argument.
(WebKit::PDFPlugin::streamDidFail): Merged with manualStreamDidFail, and removed
the streamID argument.
(WebKit::PDFPlugin::deviceScaleFactor const): Added. Gets the device scale factor
from the WebCore Page, which is something we have to do twice. The old code used
to go through the controller to do this.
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Use m_view. This change
looks confusing because what the controller called contentsScaleFactor was the
device scale factor from the WebCore::Page. Better to call that deviceScaleFactor.
(WebKit::PDFPlugin::initialize): Deleted. Moved all this code into
PluginView::initializePlugin.
(WebKit::PDFPlugin::setView): Added. Used to initialize.
(WebKit::PDFPlugin::destroy): Merged with destroyPlugin and with Plugin::destroy.
(WebKit::PDFPlugin::snapshot): Use deviceScaleFactor. See note above.
(WebKit::PDFPlugin::pluginLayer): Use CALayer for the return type.
(WebKit::PDFPlugin::geometryDidChange): Use m_view.
(WebKit::PDFPlugin::frameDidFinishLoading): Deleted.
(WebKit::PDFPlugin::frameDidFail): Deleted.
(WebKit::PDFPlugin::didEvaluateJavaScript): Deleted.
(WebKit::PDFPlugin::handleEditingCommand): Removed unused argument, use StringView.
(WebKit::PDFPlugin::isEditingCommandEnabled): Use StringView.
(WebKit::PDFPlugin::isFullFramePlugin const): Use m_view.
(WebKit::PDFPlugin::notifyContentScaleFactorChanged): Ditto.
(WebKit::PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest const): Deleted.
(WebKit::PDFPlugin::openWithNativeApplication): Use isNull.
(WebKit::PDFPlugin::nextMatchForString): Use bool.

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

(WebKit::PluginView::URLRequest): Deleted.
(WebKit::PluginView::Stream::create): Remove streamID.
(WebKit::PluginView::Stream::streamID const): Deleted.
(WebKit::PluginView::Stream::Stream): Remove streamID.
(WebKit::PluginView::Stream::start): Use PluginView::frame.
(WebKit::PluginView::Stream::continueLoad): Removed unneeded assertion.
(WebKit::buildHTTPHeaders): Deleted.
(WebKit::lastModifiedDateMS): Deleted.
(WebKit::PluginView::Stream::willSendRequest): Removed call to
streamWillSendRequest.
(WebKit::PluginView::Stream::didReceiveResponse): Removed most of the
arguments to streamDidReceiveResponse.
(WebKit::PluginView::Stream::didReceiveData): Removed the streamID
argument to streamDidReceiveData.
(WebKit::PluginView::Stream::didFail): Removed the arguments to
streamDidFail, and the call to removeStream, since we can do that here.
(WebKit::PluginView::Stream::didFinishLoading): Removed the
streamID argument to stringDidFinishLoading, and the call to removeStream,
since we can do that here.
(WebKit::webPage): Deleted.
(WebKit::PluginView::create): Moved the code to map from element to WebPage
in here, changed the arguments to take all the parameters instead of
a Parameters struct, and moved the call to shouldUsePDFPlugin here
from WebPage::createPlugin.
(WebKit::PluginView::PluginView): Take individual parameters instead of
a Parameters struct. Also update for name changes.
(WebKit::PluginView::~PluginView): Removed most of the code, leaving
only call to cancel the stream and destroy the plug-in.
(WebKit::PluginView::destroyPluginAndReset): Deleted.
(WebKit::PluginView::setLayerHostingMode): Deleted.
(WebKit::PluginView::manualLoadDidReceiveResponse): Removed null check
of m_plugin, and most of the arguments to manualStreamDidReceiveResponse,
calling streamDidReceiveResponse instead.
(WebKit::PluginView::manualLoadDidReceiveData): Removed null check
of m_plugin, and call streamDidReceiveData instead of a separate
manualStreamDidReceiveData.
(WebKit::PluginView::manualLoadDidFinishLoading): Removed null check
of m_plugin, and call streamDidFinishLoading instead of a separate
manualStreamDidFinishLoading.
(WebKit::PluginView::manualLoadDidFail): Removed null check
of m_plugin, handling of specific stream errors, and call streamDidFail
without a specific error instead of a separate manualStreamDidFail.
(WebKit::PluginView::setPageScaleFactor): Removed unused IntPoint argument.
(WebKit::PluginView::handlesPageScaleFactor const): Deleted.
(WebKit::PluginView::requiresUnifiedScaleFactor const): Deleted.
(WebKit::PluginView::activityStateDidChange): Deleted.
(WebKit::PluginView::setDeviceScaleFactor): Removed null check of m_plugin.
(WebKit::PluginView::accessibilityAssociatedPluginParentForElement const):
(WebKit::PluginView::windowAndViewFramesChanged): Deleted.
(WebKit::PluginView::accessibilityAssociatedPluginParentForElement const):
Removed null check of m_plugin.
(WebKit::PluginView::accessibilityObject const): Ditto.
(WebKit::PluginView::initializePlugin): Merged with didInitializePlugin
removed null check of m_plugin, code to call addMediaCanStartListener,
code to call addAudioProducer, call Plugin::setView instead of calling
Plugin::initialize, call loadMainResource if needed, which was previously
done by Plugin::initialize. Removed the calls to windowAndViewFramesChanged
Plugin::setFocus. windowVisibilityChanged, windowFocusChanged, and
wantsWheelEvents. Fixed a bug in handling of non-full-frame plug-ins
in the main frame by only sending
MainFramePluginHandlesPageScaleGestureDidChange when it is full frame.
(WebKit::PluginView::platformLayer const): Removed null check of m_plugin.
(WebKit::PluginView::storageBlockingStateChanged): Deleted.
(WebKit::PluginView::scroll): Ditto.
(WebKit::PluginView::horizontalScrollbar): Ditto.
(WebKit::PluginView::verticalScrollbar): Ditto.
(WebKit::PluginView::wantsWheelEvents): Return true.
(WebKit::PluginView::paint): Removed null check of m_plugin and the
call to Plugin::paint.
(WebKit::PluginView::countFindMatches): Removed null check of m_plugin.
(WebKit::PluginView::findString): Ditto.
(WebKit::PluginView::getSelectionString const): Ditto.
(WebKit::PluginView::createWebEvent const): Deleted. Calling this
eventually resulted in calling Plugin::convertToRootView and would then
hit ASSSERT_NOT_REACHED.
(WebKit::PluginView::handleEvent): Removed the call to createWebEvent.
Updated since m_pluginElement is a Ref instead of RefPtr. Removed the
call to wantsWheelEvents, which is now always true.
(WebKit::PluginView::handleEditingCommand): Removed null check of
m_plugin and stop passing the argument to Plugin::handleEditingCommand.
(WebKit::PluginView::isEditingCommandEnabled): Removed null check of
m_plugin.
(WebKit::PluginView::shouldAllowScripting): Deleted.
(WebKit::PluginView::shouldAllowNavigationFromDrags const): Return true.
(WebKit::PluginView::willDetachRenderer): Removed null check of m_plugin.
(WebKit::PluginView::liveResourceData const): Ditto.
(WebKit::PluginView::performDictionaryLookupAtLocation): Ditto.
(WebKit::PluginView::existingSelectionContainsPoint const): Ditto.
(WebKit::PluginView::viewGeometryDidChange): Ditto.
(WebKit::PluginView::viewVisibilityDidChange): Removed code to calculate
the clip rect and don't pass a clip rect to Plugin::geometryDidChange.
(WebKit::PluginView::clipRectInWindowCoordinates const): Update since
m_pluginElement is a Ref.
(WebKit::PluginView::focusPluginElement): Ditto.
(WebKit::PluginView::pendingResourceRequestTimerFired): Renamed from
pendingURLRequestsTimerFired. Simplified code since we can only have
one pending resource request and we don't want to support JavaScript URLs.
(WebKit::PluginView::performURLRequest): Deleted.
(WebKit::PluginView::performFrameLoadURLRequest): Deleted.
(WebKit::PluginView::performJavaScriptURLRequest): Deleted.
(WebKit::PluginView::addStream): Deleted.
(WebKit::PluginView::removeStream): Deleted.
(WebKit::PluginView::cancelAllStreams): Deleted.
(WebKit::PluginView::redeliverManualStream): Removed error argument
for manualLoadDidFail function.
(WebKit::PluginView::invalidateRect): Removed null check of m_plugin.
(WebKit::PluginView::setFocus): Deleted.
(WebKit::PluginView::mediaCanStart): Deleted.
(WebKit::PluginView::pageMutedStateDidChange): Deleted.
(WebKit::PluginView::loadMainResource): Renamed from loadURL.
Removed all the arguments, since it always loads the same URL in the
same way. Removed most of the code since most arguments are defaults.
(WebKit::PluginView::contentsScaleFactor): Deleted.
(WebKit::PluginView::didFinishLoad): Deleted.
(WebKit::PluginView::didFailLoad): Deleted.
(WebKit::PluginView::shouldCreateTransientPaintingSnapshot const):
Removed null check of m_plugin.
(WebKit::PluginView::isBeingDestroyed const): Moved out of
PluginView.h so it does not have to include PDFPlugin.h.
(WebKit::PluginView::pdfDocumentForPrinting const): Ditto.
(WebKit::PluginView::pdfDocumentSizeForPrinting const): Added.
(WebKit::PluginView::accessibilityHitTest const): Moved out of
PluginView.h so it does not have to include PDFPlugin.h.
(WebKit::PluginView::rectForSelectionInRootView const): Added.
(WebKit::PluginView::contentScaleFactor const): Added.

  • Source/WebKit/WebProcess/Plugins/PluginView.h: Wrapped the

entire file in #if ENABLE(PDFKIT_PLUGIN) since this is no longer
a general purpose plug-in view. Removed many includes and an
obsolete comment about moving this whole class to WebCore.
Changed PluginView to no longer derive from PluginController,
MediaCanStartListener, LoadListener, or MediaProducer.
Removed most arguments to PluginView::create and the constructor,
added in the logic about whether to create a PDF view or not, so
it can now return nullptr. Moved isBeingDestroyed out of the header.
Removed the argument to manualLoadDidFail. Removed activityStateDidChange,
setLayerHostingMode, windowAndViewFramesChanged, initialParameters,
handlesPageScaleFactor, requiresUnifiedScaleFactor, shouldAllowScripting,
performURLRequest, performFrameLoadURLRequest, performJavaScriptURLRequest,
addStream, removeStream, cancelAllStreams, mediaCanStart, mediaState,
pageMutedStateDidChange, contentsScaleFactor, didInitializePlugin,
destroyPluginAndReset, didFinishLoad, didFailLoad, createWebEvent,
m_parameters, m_isWaitingUntilMediaCanStart, m_mainResourceURL,
m_mainResourceContentType, m_shouldUseManualLoader, m_pendingFrameLoads,
m_streams, m_manualStreamError, and m_pluginIsPlayingAudio.
Added pdfDocumentSizeForPrinting, mainResourceURL, lookupTextAtLocation,
rectForSelectionInRootView, contentScaleFactor, and m_stream.
Removed unused origin argument to setPageScaleFactor. Renamed
pendingURLRequestsTimerFired to pendingResourceRequestTimerFired,
m_pendingURLRequests to m_pendingResourceRequest,
m_pendingURLRequestsTimer to m_pendingResourceRequestTimer, and
loadURL to loadMainResource. Changed m_pluginElement and m_plugin
from RefPtr to Ref since neither can be null.

  • Source/WebKit/WebProcess/Plugins/WebPluginInfoProvider.cpp:

Removed most includes.
(WebKit::WebPluginInfoProvider::WebPluginInfoProvider): Deleted.
(WebKit::WebPluginInfoProvider::~WebPluginInfoProvider): Deleted.
(WebKit::pluginInfoVector): Added. Factors out common code.
(WebKit::WebPluginInfoProvider::pluginInfo): Removed everything
except the call to pluginInfoVector.
(WebKit::WebPluginInfoProvider::webVisiblePluginInfo): Ditto.

  • Source/WebKit/WebProcess/Plugins/WebPluginInfoProvider.h:

Removed unnneded include and tweaked coding style a bit.

  • Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp:

Added a missing FrameDestructionObserverInlines.h include.

  • Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print): Call pdfDocumentSizeForPrinting
on the view, not the plug-in. Fixed the #if that was incorrectly
doing PLATFORM(COCOA) when it means ENABLE(PDFKIT_PLUGIN).

  • Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::hasPlugInView const): Added.
(WebKit::WebFrameLoaderClient::setMainDocumentError): Moved
plug-in-specific code inside ENABLE(PDFKIT_PLUGIN).
(WebKit::WebFrameLoaderClient::committedLoad): Call hasPlugInView
and moved plug-in-specific code inside ENABLE(PDFKIT_PLUGIN).
(WebKit::WebFrameLoaderClient::finishedLoading): Ditto.
(WebKit::WebFrameLoaderClient::createPlugin): Ditto. Also pass in
the arguments individually instead of a Parameters struct.
(WebKit::WebFrameLoaderClient::redirectDataToPlugin): Ditto.
(WebKit::WebFrameLoaderClient::allowScript): Always return false
for frames with plug-in views.

  • Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Added hasPlugInView. Moved m_pluginView and m_hasSentResponseToPluginView
inside ENABLE(PDFKIT_PLUGIN).

  • Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Put the plug-in
code inside ENABLE(PDFKIT_PLUGIN) and use mainFramePlugIn.
(WebKit::WebPage::getPDFFirstPageSize): Ditto. Also call the
pdfDocumentSizeForPrinting function on the plug-in view rather than
the plug-in. Also removed unneeded null check of WebCore frame before
calling pluginViewForFrame.

  • Source/WebKit/WebProcess/WebPage/FindController.cpp: Added include

needed now that other headers don't pull in as many.
(WebKit::FindController::mainFramePlugIn): Added.
(WebKit::FindController::countStringMatches): Put code inside
(WebKit::FindController::updateFindUIAfterPageScroll): Ditto.
(WebKit::FindController::findString): Ditto.
(WebKit::FindController::hideFindUI): Ditto.

  • Source/WebKit/WebProcess/WebPage/FindController.h: Added mainFramePlugIn.
  • Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
Update since handlesPageScaleGesture is now a WebPage function rather than a
WebFrame function.
(WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture): Ditto.

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

(WebKit::WebFrame::handlesPageScaleGesture const): Deleted.
(WebKit::WebFrame::requiresUnifiedScaleFactor const): Deleted.

  • Source/WebKit/WebProcess/WebPage/WebFrame.h: Updated for the above.
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::~WebPage): Put plug-in code inside #if ENABLE(PDFKIT_PLUGIN).
(WebKit::WebPage::editorState const): Ditto.
(WebKit::WebPage::createPlugin): Deleted.
(WebKit::WebPage::pluginViewForFrame): Use dynamicDowncast.
(WebKit::WebPage::mainFramePlugIn): Added.
(WebKit::WebPage::executeEditingCommand): Put plug-in code inside

#if ENABLE(PDFKIT_PLUGIN).

(WebKit::WebPage::isEditingCommandEnabled): Ditto.
(WebKit::WebPage::textZoomFactor const): Updated since all plug-ins
use "unified scale factor" and all main-frame plug-ins "handle page scale factor".
(WebKit::WebPage::setTextZoomFactor): Ditto.
(WebKit::WebPage::pageZoomFactor const): Ditto.
(WebKit::WebPage::setPageZoomFactor): Ditto.
(WebKit::WebPage::setPageAndTextZoomFactors): Ditto.
(WebKit::WebPage::scalePage): Removed original argument to setPageScaleFactor
and put plug-in code inside #if ENABLE(PDFKIT_PLUGIN).
(WebKit::WebPage::totalScaleFactor const): Updated since all main-frame
plug-ins "handle page scale factor" and put code in #if ENABLE.
(WebKit::WebPage::validateCommand): Put code in #if ENABLE.
(WebKit::WebPage::setTopContentInset): Ditto.
(WebKit::WebPage::getMainResourceDataOfFrame): Ditto.
(WebKit::WebPage::mainFrameView const): Ditto.
(WebKit::WebPage::setActivityState): Removed call to PluginView::activityStateDidChange.
(WebKit::WebPage::setLayerHostingMode): Removed call to PluginView::setLayerHostingMode.
(WebKit::WebPage::addPluginView): Removed code to set m_hasSeenPlugin.
(WebKit::WebPage::windowAndViewFramesChanged): Removed call to
PluginView::windowAndViewFramesChanged.
(WebKit::WebPage::handlesPageScaleGesture const): Added. Returns true if
we have a main-frame plug-in.

  • Source/WebKit/WebProcess/WebPage/WebPage.h: Removed include of Plugin.h,

createPlugin, and m_hasSeenPlugin. Changed argument to the
dictionaryPopupInfoForSelectionInPDFPlugin from PDFPlugin to PluginView.
Put all members that involve PluginView inside #if statements.
Added handlesPageScaleGesture and mainFramePlugIn functions.

(WebKit::WebPage::accessibilityObjectForMainFramePlugin): Just return nil
since we don't have any plug-ins in iOS at this time.

  • Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]): Removed call to
pluginHandlesContentOffsetForAccessibilityHitTest, and use mainFramePlugIn.

  • Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::accessibilityObjectForMainFramePlugin): Use mainFramePlugIn.
(WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin): Update since
the plug-in view function is named contentScaleFactor, not just scaleFactor
as the PDF plug-in functino was named.
(WebKit::WebPage::performImmediateActionHitTestAtLocation): Call
lookupTextAtLocation on the plug-in view, not the plug-in.

  • Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper associatedPluginParent]): Use dynamicDowncast,
and remove some other casts that are not needed any more.

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

(WebCore::pluginScriptObject): Use dynamicDowncast and removed the plug-in
element argument to DOMTimer::scriptDidInteractWithPlugin.

  • Source/WebCore/bindings/js/ScriptController.cpp: Removed include of

PluginViewBase.h.
(WebCore::ScriptController::createScriptInstanceForWidget): Always return
nullptr; this function is only used on platforms that do not support scripting
with widgets at all.

  • Source/WebCore/html/HTMLObjectElement.cpp: Removed include of PluginViewBase.h.
  • Source/WebCore/html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::pluginWidget const): Return PluginViewBase* instead
of Widget*.
(WebCore::HTMLPlugInElement::isKeyboardFocusable const): Return false.
(WebCore::HTMLPlugInElement::isUserObservable const): Deleted.
(WebCore::HTMLPlugInElement::isBelowSizeThreshold const): Deleted.

  • Source/WebCore/html/HTMLPlugInElement.h: Updated for the above.
  • Source/WebCore/html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willDetachRenderers): Removed unneeded
type castss now that pluginWidget returns a PluginViewBase.

  • Source/WebCore/html/PluginDocument.cpp:

(WebCore::PluginDocument::pluginWidget): Return PluginViewBase* instead
of Widget*.

  • Source/WebCore/html/PluginDocument.h: Updated for the above.
  • Source/WebCore/inspector/PageDebugger.cpp:

(WebCore::PageDebugger::setJavaScriptPaused): Removed calls to plug-in views.

  • Source/WebCore/loader/FrameLoaderClient.h: Removed forward

declaration of PluginViewBase.

  • Source/WebCore/page/DOMTimer.cpp:

(WebCore::DOMTimer::scriptDidInteractWithPlugin): Removed the plug-in
element argument, because all were always returning true for isUserObservable.

  • Source/WebCore/page/DOMTimer.h: Updated for the above.
  • Source/WebCore/page/DragController.cpp:

(WebCore::DragController::operationForLoad): Removed unneeded dynamicDowncast.

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::pluginViews): Deleted.
(WebCore::Page::storageBlockingStateChanged): Removed calls to plug-in views.

  • Source/WebCore/page/Page.h: Updated for the above.
  • Source/WebCore/platform/ScrollableArea.h:

(WebCore::ScrollableArea::isPDFPlugin const): Deleted.

  • Source/WebCore/platform/Widget.h:

(WebCore::Widget::isPluginView const): Deleted.

  • Source/WebCore/plugins/PluginViewBase.h: Removed storageBlockingStateChanged,

supportsKeyboardFocus, audioHardwareActivity, setJavaScriptPaused,
and bindingInstance. Made isPluginViewBase private and final.

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::pluginIsBelowSizeThreshold): Deleted.

  • Source/WebCore/testing/Internals.cpp: Updated for the above.
  • Source/WebCore/testing/Internals.idl: Ditto. No test was using this.

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

7:55 PM Changeset in webkit [294525] by mmaxfield@apple.com
  • 3 edits in trunk/Source/ThirdParty/ANGLE/Configurations

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

7:32 PM Changeset in webkit [294524] by Sam Sneddon
  • 1 edit in trunk/Tools/Scripts/hooks/prepare-commit-msg

prepare-commit-msg should be no-op with --no-edit
https://bugs.webkit.org/show_bug.cgi?id=240689

Reviewed by Jonathan Bedard.

  • Tools/Scripts/hooks/prepare-commit-msg:

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

7:14 PM Changeset in webkit [294523] by Brandon
  • 36 edits
    1 copy
    4 adds in trunk

Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=224471

Reviewed by Ryosuke Niwa.

This patch is based on a set of patches made by Sergio Villar Senin
and Gabriel Nava Marino.

Executing some editing commands in a text area might force the recomputation of things
like caret or the visible selection position and extent. Under some circumstances (like
when the text area has no content and children) we might end up trying to update layout
when it is not safe as a side effect of updating the caret.

In order to fix that, we can switch to a model in which we update the selection asynchronously
in the case of having a non-user triggered change. That way we don't do it inside
a restricted layout scope.

The App Highlight restoration code had to be tuned as well (when restoring and scrolling to reveal
a Quick Note on iOS MacOS). It uses TemporarySelectionChange to select and scroll to reveal the highlight
range; the code assumed that this scrolling happens synchronously, since it reverts the selection to
the original range at the end of AppHighlightStorage::attemptToRestoreHighlightAndScroll when the
TemporarySelectionChange falls out of scope. That is however no longer the case. Actually no scrolling
happened after this patch because we end up only scheduling the appearance update timer before setting
the selection back to the original state with SelectionRevealMode::DoNotReveal. Since this only happens
when the user interacts in the Notes app, it seems sensible to consider it as a user triggered event.

Layout Tests

Moved some tests out of the text-based-repaint.js model because selection is now updated
and revealed asynchronously in the case of non-user triggered changes. The problem is that
by the time the repaint rects are queried the update has not happened yet. That's why
the tests were modified so that we wait until the repaint happens.

Same situation for other tests that do not involve repaint rects but trigger accesibility
tree updates. We must ensure that we let the notification be thrown before checking whether or
not has been emited. As it's done asynchronously we must let the main thread run before checking.

Last but not least, some of the tests are using setTimeout() instead of requestAnimationFrame()
because the results with the latter were not as reliable under stress/debug conditions.

  • Source/WebCore/Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::TemporarySelectionChange::setSelection):

  • Source/WebCore/editing/Editor.h:
  • Source/WebCore/editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateSelectionAppearanceNow):
(WebCore::FrameSelection::absoluteCaretBounds):
(WebCore::FrameSelection::setCaretVisibility):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Deleted.
(WebCore::FrameSelection::selectionBounds const): Deleted.

  • Source/WebCore/editing/FrameSelection.h:
  • Source/WebCore/page/EventHandler.cpp:

(WebCore::setSelectionIfNeeded):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::doAfterUpdateRendering):

  • LayoutTests/accessibility/mac/selection-boundary-userinfo.html:
  • LayoutTests/accessibility/mac/selection-change-userinfo.html:
  • LayoutTests/accessibility/mac/selection-value-changes-for-aria-textbox.html:
  • LayoutTests/editing/selection-with-absolute-positioned-empty-content.html:
  • LayoutTests/fast/forms/textarea-scrolled-endline-caret.html:
  • LayoutTests/fast/repaint/selection-gap-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-fixed-child.html:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child.html:
  • LayoutTests/fast/repaint/selection-paint-invalidation-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl.html:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden.html:
  • LayoutTests/fast/text/incorrect-deselection-across-multiple-elements.html:
  • LayoutTests/platform/gtk/TestExpectations:
  • LayoutTests/platform/gtk/fast/repaint/selection-ruby-rl-expected.txt: Copied from LayoutTests/fast/repaint/selection-ruby-rl-expected.txt.
  • LayoutTests/platform/gtk/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/mac-wk1/accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt:
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/win/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/win/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/platform/win/fast/repaint/text-selection-overflow-hidden-expected.txt:

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

7:05 PM Changeset in webkit [294522] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.7

Tag WebKit-7614.1.14.0.7.

6:26 PM Changeset in webkit [294521] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/webkitpy

[webkit-patch] Fix revert workflow
https://bugs.webkit.org/show_bug.cgi?id=240684
<rdar://93602151>

Reviewed by Dewei Zhu.

  • Tools/Scripts/webkitpy/common/checkout/checkout.py:

(_changelog_data_for_revision): Use git commit message instead of ChangeLog.
(changelog_entries_for_revision): Deleted.

  • Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py:

(CheckoutTest.test_changelog_entries_for_revision): Deleted.
(CheckoutTest.test_commit_info_for_revision): Deleted.
(CheckoutTest.test_bug_id_for_revision): Deleted.
(CheckoutTest.test_suggested_reviewers): Deleted.

  • Tools/Scripts/webkitpy/common/config/committers.py:

(Contributor.email): Match webkitscmpy's API.

  • Tools/Scripts/webkitpy/tool/commands/download.py:

(AbstractRevertPrepCommand._prepare_state): Use email instead of bugzilla_email.

  • Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:

(PrepareChangeLogForRevert.run): Replace with a git commit -a -m.

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

6:22 PM Changeset in webkit [294520] by Nikos Mouchtaris
  • 6 edits in trunk

Implement contain flag for ray() in offset path
https://bugs.webkit.org/show_bug.cgi?id=240259
<rdar://93374029>

Reviewed by Simon Fraser.

Implement contain flag for ray(). Contains purpose is to have the entire box
being animated be contained within the path. "Contained within the path" is
defined as having the box remain within a circle with the radius of the path
length and positioned at the offset anchor. This solution is adapted from the
repository of the spec writer: https://github.com/ewilligers/petrogale-purpureicollis.

The way this solution works is that you construct a coordinate system with the origin
being the offset anchor. You then calculate the position of each vertex of the box.
Then, rotate the vertices based on the angles difference from the x-axis. Next, using
the circle equation, we want to find an offset such that (x + offset)2 + y2 = r2.
This results in a lower and upper bound for offset: -x - sqrt(r
2 - y2) <= offset <=
-x + sqrt(r
2 + y2). Finally we choose the minimal value of these upper and lower
bounds to get the final clamped offset.

This patch currently doesn't take into account if it is not possible to fit the box
within the path, as this will be completed in a seperate patch. Currently, test 4 is
failing due to rounding error, and test 5 is failing due to the unimplemented part.

  • Source/WebCore/platform/graphics/GeometryUtilities.cpp:

(WebCore::toRelatedAcuteAngle):
(WebCore::distanceOfPointToSidesOfRect):
(WebCore::verticesForBox):

  • Source/WebCore/platform/graphics/GeometryUtilities.h:
  • Source/WebCore/rendering/PathOperation.cpp:

(WebCore::RayPathOperation::lengthForContainPath const):
(WebCore::RayPathOperation::pathForReferenceRect const):

  • Source/WebCore/rendering/PathOperation.h:
  • Source/WebCore/rendering/style/RenderStyle.cpp:

(WebCore::getPathFromPathOperation):
(WebCore::RenderStyle::applyMotionPathTransform const):

  • LayoutTests/TestExpectations:

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

6:17 PM Changeset in webkit [294519] by Elliott Williams
  • 47 edits in trunk/Source

Revert "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK"

This reverts commit ae2e942111f9f4f1a80c749a3f51ab0ae83b013a.

Seeing some new failures on internal post-commit builders.

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

6:15 PM Changeset in webkit [294518] by Diego Pino Garcia
  • 1 edit in trunk/Source/WebCore/css/typedom/numeric/CSSNumericType.cpp

Unreviewed, non-unified build fixes after 250765@main

5:59 PM Changeset in webkit [294517] by basuke.suzuki@sony.com
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WTF/Bitmap.cpp

Fix boolean operation in WTF/BitMap test.
https://bugs.webkit.org/show_bug.cgi?id=240668

Reviewed by Adrian Perez de Castro.

Clang 14 starts complaining about using logical operators to boolean:
`
webkit/Tools/TestWebKitAPI/Tests/WTF/Bitmap.cpp:1172:32: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]

EXPECT_EQ(temp.get(i), bitmap1.get(i) | bitmap2.get(i));


`

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

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

Tag WebKit-7614.1.14.1.7.

5:04 PM Changeset in webkit [294515] by Kate Cheney
  • 3 edits in trunk

Mail: dragged in attachments are shown as rich icons in compose but are received as generic icons
https://bugs.webkit.org/show_bug.cgi?id=240679
<rdar://93513798>

Reviewed by Wenson Hsieh.

Render the thumbnail for iWork files when the file wrapper is set for
attachments that are not added via the pasteboard.

Confirmed this also fixes the issue for Notes.

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

(testiWorkAttachmentFileURL):
(testiWorkAttachmentData):
(-[AttachmentUIDelegate _webView:didInsertAttachment:withSource:]):
(TestWebKitAPI::TEST):

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateAttachmentAttributes):

  • Source/WebCore/rendering/RenderThemeMac.mm:

(WebCore::shouldDrawIcon):
(WebCore::paintAttachmentIcon):
There's a small delay while we wait for the file wrapper for the
attachment to be set so we can retrieve the thumbnail. In order to avoid a
flicker from the generic icon to the thumbnail, we should avoid painting
iWork file icons until the thumbnail is retrieved.

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

5:00 PM Changeset in webkit [294514] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore/editing

Avoid injected bundle delegate calls when text fields are focused and blurred without user interaction
https://bugs.webkit.org/show_bug.cgi?id=240614

Reviewed by Chris Dumez.

Add a mechanism to throttle calls to injected bundle form client via textFieldDidBeginEditing, in
the case where the focused element is in a subframe that has never handled an editing command or
user interaction. This yields a small win on Speedometer 2, on M1 MacBookPro:

`


| subtest | ms | ms | b / a | pValue |


| Angular2-TypeScript-TodoMVC |30.651667 |28.456667 |0.928389 | 0.000000 (significant) |
| AngularJS-TodoMVC |109.733333 |111.623333 |1.017224 | 0.000000 (significant) |
| BackboneJS-TodoMVC |31.371667 |33.988333 |1.083409 | 0.000000 (significant) |
| Elm-TodoMVC |96.818333 |96.893333 |1.000775 | 0.760078 |
| EmberJS-Debug-TodoMVC |292.241667 |292.628333 |1.001323 | 0.530967 |
| EmberJS-TodoMVC |99.671667 |98.963333 |0.992893 | 0.040683 |
| Flight-TodoMVC |43.815000 |50.915000 |1.162045 | 0.000000 (significant) |
| Inferno-TodoMVC |46.633333 |44.911667 |0.963081 | 0.000000 (significant) |
| Preact-TodoMVC |11.636667 |11.673333 |1.003151 | 0.862258 |
| React-Redux-TodoMVC |121.411667 |120.096667 |0.989169 | 0.000000 (significant) |
| React-TodoMVC |69.908333 |69.885000 |0.999666 | 0.944581 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |47.750000 |46.223333 |0.968028 | 0.000000 (significant) |
| Vanilla-ES2015-TodoMVC |48.721667 |48.323333 |0.991824 | 0.001202 (significant) |
| VanillaJS-TodoMVC |40.218333 |38.231667 |0.950603 | 0.000000 (significant) |
| VueJS-TodoMVC |18.420000 |16.793333 |0.911690 | 0.000000 (significant) |
| jQuery-TodoMVC |188.831667 |186.908333 |0.989815 | 0.000005 (significant) |


a mean = 343.48012
b mean = 344.99902
pValue = 0.0027314347
(Bigger means are better.)
1.004 times better
Results ARE significant
`

See below for more details.

  • Source/WebCore/editing/Editor.cpp:

(WebCore::Editor::Editor):
(WebCore::Editor::stopTextFieldDidBeginEditingTimer):

Stop the textFieldDidBeginEditing timer if needed, and return true if and only if it was active.

(WebCore::Editor::textFieldDidBeginEditingTimerFired):

Dispatch the deferred EditorClient call using the currently focused element.

(WebCore::Editor::textFieldDidBeginEditing):

If we're inside of a subframe that has never handled user interaction or editing, then don't eagerly
notify the injected bundle about the newly focused text field; instead, schedule a newly added timer
(m_textFieldDidBeginEditingTimer) to perform this call after a short delay.

(WebCore::Editor::textFieldDidEndEditing):

If editing ends (i.e. the text field is blurred) while the textFieldDidBeginEditing timer is still
scheduled, then simply elide this call to textFieldDidBeginEditing and textFieldDidEndEditing
altogether. This prevents us from repeatedly calling into the injected bundle if a page frequently
programmatically focuses and blurs text fields.

(WebCore::Editor::textDidChangeInTextField):
(WebCore::Editor::doTextFieldCommandFromEvent):
(WebCore::Editor::textWillBeDeletedInTextField):
(WebCore::Editor::textDidChangeInTextArea):

If any of these other injected bundle form client hooks are invoked while there is a scheduled
textFieldDidBeginEditing timer, then stop the timer and immediately inform the injected bundle
client about the focused text field.

(WebCore::Editor::isInSubframeWithoutUserInteraction const):
(WebCore::Editor::respondToChangedSelection):

Use the new helper function above.

  • Source/WebCore/editing/Editor.h:

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

4:46 PM Changeset in webkit [294513] by Sam Sneddon
  • 1 edit in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py

Handle cases where origin/HEAD doesn't exist in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=240693

Reviewed by Jonathan Bedard.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.default_branch):

This makes several changes to default_branch:

  • We attempt origin/HEAD, origin/main, and origin/master before trying to guess based on all branches.
  • When guessing based on all branches, prefer main over master.

Additionally, this changes the searching to use --symbolic-full-ref,
as we only ever want refs to be returned, and this takes away the
guesswork parsing.

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

4:42 PM Changeset in webkit [294512] by Patrick Angle
  • 4 edits in trunk

Web Inspector: Getting style data via WebCore::InspectorCSSAgent::getMatchedStylesForNode for a detached node crashes
https://bugs.webkit.org/show_bug.cgi?id=240608
rdar://93473674

Reviewed by Devin Rousso.

Added test case to inspector/css/node-styles-refreshed.html

Previously it was possible under at least two different circumstances that
WebCore::InspectorCSSAgent::getMatchedStylesForNode could be called with the NodeId of a detached node, which means
that computedStyle for that Node will be nullptr, and calls to Style::Scope::forNode will fail.

The first failure state is timing based. If the Inspector frontend makes a request for updated styles for a node, the
node may already have been detached by some other means (webpage JS, for example). In this case by the time
getMatchedStylesForNode is invoked the computedStyle is no longer available.

The second failure state is easier to get into. In a DOM tree with elements A, B, and C, each a child of the
previous such that A is the parent of B and B is the parent of C, imagine C is the selected DOM node. Now if
we right click and delete A from the DOM tree, we will have removed all three elements from the tree (both the
frontend representation as well as the actual tree in the backend). Previously C remained the selected node in the
tree, which means that we continue to show the Styles sidebar panel, where the user could then attempt to edit the style
of the node. These style changes trigger the need to refresh the frontend's style information, at which point we will
call getMatchedStylesForNode with a detached node id.

The fix to the underlying problem is to check in the backend that a node is actually attached before determining its
style information. Additionally, we should always update the selection of a TreeOutline when the current selection is
part of the subtree being removed from the tree. This prevents the user being able to easily get into the state in the
first place as well as prevents folks from getting confused about what the open sidebars are showing information for,
since visually no node _appears_ selected.

  • Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):

  • Guard the functions that will eventually use computedStyle or Style::Scope::forNode, both of which only work for

"connected" (in Web Inspector parlance "attached") nodes. Note there are a few other uses in our code where
computedStyle is used without this check, but we do explicitly check the result of computed styles in those cases,
which also works since computedStyle returns early if the node is not connected.

(WebCore::InspectorCSSAgent::buildObjectForRule):

  • Add an assertion that we never call buildObjectForRule with a disconnected Element.
  • Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype.removeChildAtIndex):

  • Fix selection updating to account for the fact the selected node may be part of the descendants tree of the removed

item, in which case we would still want to update the selection to something else.

  • LayoutTests/inspector/css/node-styles-refreshed-expected.txt:
  • LayoutTests/inspector/css/node-styles-refreshed.html:
  • Add test case to try getting styles of a detached node, and update other test cases with a new helper function instead

of relying on a "global" nodeStyles.

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

4:00 PM Changeset in webkit [294511] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

Add sys call MSC_iokit_user_client_trap to the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=240685
<rdar://93600722>

Reviewed by Chris Dumez.

  • Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:

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

3:47 PM Changeset in webkit [294510] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

[git-webkit] Use --date=unix in log commands
https://bugs.webkit.org/show_bug.cgi?id=240537
<rdar://93464544>

Reviewed by Stephanie Lewis.

Override any local configuration for git log's date format,
use a simpler date format.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.Cache.populate): Use --date=unix.
(Git.commit): Ditto.
(Git._args_from_content): Parse --date=unix.
(Git.commits): Use --date=unix.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_log):

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

3:43 PM Changeset in webkit [294509] by basuke.suzuki@sony.com
  • 1 edit in trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp

[Curl] Suppress warning of unused enum value in switch statement.
https://bugs.webkit.org/show_bug.cgi?id=240672

Reviewed by Fujii Hironori.

Just after the request object creation, the state is WaitingForStart. It is better
the code explicitly takes care of this fact. Also moving the assignment to the state
inside the switch statement denotes the state is changing to the response of previous
state.

No new tests. Covered by existing tests.

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::start):

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

3:37 PM Changeset in webkit [294508] by achristensen@apple.com
  • 9 edits
    1 add in trunk

Implement unit checks of CSSNumericValue.{min,max}
https://bugs.webkit.org/show_bug.cgi?id=240559

Reviewed by Chris Dumez.

This is part of an off-by-default experimental feature.
This is in the spec but not implemented in Chrome yet.
Covered by an addition to WPT tests at https://github.com/web-platform-tests/wpt/pull/34103

  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/css/typedom/CSSNumericValue.cpp:
  • Source/WebCore/css/typedom/CSSNumericValue.h:
  • Source/WebCore/css/typedom/numeric/CSSMathProduct.cpp:
  • Source/WebCore/css/typedom/numeric/CSSMathSum.cpp:
  • Source/WebCore/css/typedom/numeric/CSSNumericType.cpp:
  • Source/WebCore/css/typedom/numeric/CSSNumericType.h:

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

3:08 PM Changeset in webkit [294507] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[ macOS Debug wk2 iOS ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=240670
<rdar://93589033>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:49 PM Changeset in webkit [294506] by Razvan Caliman
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js

Web Inspector: Computed Panel: Assertion Failed: Cannot remove view which isn't a subview. ComputedStyleSection
https://bugs.webkit.org/show_bug.cgi?id=240644

Reviewed by Patrick Angle.

The root cause for this failed assertion is an accumulation of orphaned WI.ComputedStyleSection view instances in
WI.ComputedStyleDetailsPanel._detailsSectionByStyleSectionMap.

When WI.ComputedStyleDetailsPanel.layout() is called to reflect the latest selected node's variables, the previous WI.ComputedStyleSection view instance for ungrouped
variables is accidentally kept around. When attempting to remove this view on the next layout() run, this orphaned instance has no
host node that belongs to the parent view so the assertion fails. The issue gets progressively worse on each layout() run by accumulating more orphans.

  • Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js: (WI.ComputedStyleDetailsPanel.prototype.layout):

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

2:44 PM Changeset in webkit [294505] by Devin Rousso
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

media/modern-media-controls tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=231187
<rdar://problem/83846919>

Unreviewed.

The tests in media/modern-media-controls/overflow-support and media/modern-media-controls/tracks-support
require "touch*" (really "pointer*") events on iOS, so skip for OpenSource and unskip internally.

  • LayoutTests/platform/ios/TestExpectations:

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

1:57 PM Changeset in webkit [294504] by commit-queue@webkit.org
  • 9 edits
    1 move
    1 add in trunk

[WPE][GTK] Improve dependency tracking of PDF.js files (and other GResources)
https://bugs.webkit.org/show_bug.cgi?id=240535

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-19
Reviewed by Adrian Perez de Castro.

This commit does two things. First, for each use of
glib-compile-resources, it adds the --dependency-file argument in order
to make the build command depend on the files included in the GResource
manifest, to ensure the resource is automatically recompiled whenever
any of its source files change. Second, for PDF.js only, it replaces the
GLOB_RECURSE command with a list of source files. The
generate-pdfjs-gresource-manifest.py script is adapted to create CMake
file lists in addition to GResource manifests, and renamed from
-gresource-manifest.py to -resource-manifest.py. The web inspector
GResource would benefit from similar work, but that will be a problem
for another day.

  • Tools/TestWebKitAPI/glib/CMakeLists.txt:
  • Tools/glib/generate-pdfjs-resource-manifest.py: Renamed from Tools/glib/generate-pdfjs-gresource-manifest.py.

(get_filenames):
(get_filenames.resource_name):
(is_compressible):
(write_cmake_file):
(write_gresource_manifest):

  • Source/ThirdParty/pdfjs/PdfJSFiles.cmake: Added.
  • Source/ThirdParty/pdfjs/README.webkit:
  • Source/WebKit/InspectorGResources.cmake:
  • Source/WebKit/PdfJSGResources.cmake:
  • Source/WebKit/PlatformGTK.cmake:
  • Source/WebKit/PlatformWPE.cmake:
  • CMakeLists.txt:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

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

12:57 PM Changeset in webkit [294503] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp

Changing text color and removing line-clamp on hover causes text to disappear permanently
https://bugs.webkit.org/show_bug.cgi?id=240410

Reviewed by Darin Adler.

Address post-landing review comment.

  • Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::styleWillChange):

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

12:54 PM Changeset in webkit [294502] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.7

12:53 PM Changeset in webkit [294501] by Jonathan Bedard
  • 1 edit in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py

git webkit setup pauses between questions to install modules
https://bugs.webkit.org/show_bug.cgi?id=240487
<rdar://93522052>

Reviewed by Alexey Proskuryakov.

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

(Setup.main): Pre-install jinja.

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

12:53 PM Changeset in webkit [294500] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.7

12:22 PM Changeset in webkit [294499] by Tyler Wilcock
  • 1 edit in trunk/Source/WebCore/accessibility/AXLogger.cpp

AX: Logging outerHTML in streamAXCoreObject is not truncated
https://bugs.webkit.org/show_bug.cgi?id=240523
<rdar://93429407>

Reviewed by Chris Fleizach.

outerHTML can be a very, very big string, and we don't truncate it at all.
This can cause debug builds to perform even worse than they already do, and
is almost always too much noise in the logs.

In this change, we truncate outerHTML to 150 characters.

  • Source/WebCore/accessibility/AXLogger.cpp:

(WebCore::streamAXCoreObject):

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

12:18 PM Changeset in webkit [294498] by Chris Dumez
  • 6 edits in trunk/Source/WebCore/html/track

TextTrackCue should get its document for its ActiveDOMObject base class
https://bugs.webkit.org/show_bug.cgi?id=240660
<rdar://93512736>

Reviewed by Eric Carlson.

TextTrackCue should get its document for its ActiveDOMObject base class instead
of requiring an extra data member to store it.

  • Source/WebCore/html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::scriptExecutionContext const):
(WebCore::TextTrackCue::document const):
(WebCore::TextTrackCue::getCueAsHTML):
(WebCore::TextTrackCue::rebuildDisplayTree):

  • Source/WebCore/html/track/TextTrackCue.h:

(WebCore::TextTrackCue::ownerDocument): Deleted.

  • Source/WebCore/html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::createDisplayTree):
(WebCore::TextTrackCueGeneric::setFontSize):

  • Source/WebCore/html/track/TextTrackCueGeneric.h:
  • Source/WebCore/html/track/VTTCue.cpp:

(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::initialize):
(WebCore::VTTCue::createDisplayTree):
(WebCore::VTTCue::displayTreeInternal):
(WebCore::VTTCue::createWebVTTNodeTree):
(WebCore::VTTCue::getCueAsHTML):
(WebCore::VTTCue::createCueRenderingTree):
(WebCore::VTTCue::getDisplayTree):
(WebCore::VTTCue::removeDisplayTree):

  • Source/WebCore/html/track/VTTCue.h:

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

11:42 AM Changeset in webkit [294497] by graouts@webkit.org
  • 1 edit in trunk/Source/WebCore/animation/KeyframeEffect.cpp

Need to keep the document alive in KeyframeEffect::processKeyframes()
https://bugs.webkit.org/show_bug.cgi?id=240677
<rdar://93513759>

Reviewed by Saam Barati.

Since the Document is used throughout KeyframeEffect::processKeyframes and it's provided
as a simple reference, we must ensure we keep it alive with a Ref since JS code in a custom
iterator for the keyframes object could cause it to be torn down.

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::processKeyframes):

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

11:32 AM Changeset in webkit [294496] by Elliott Williams
  • 47 edits in trunk/Source

[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK
https://bugs.webkit.org/show_bug.cgi?id=240408

Reviewed by Alexey Proskuryakov.

When building with WK_OVERRIDE_FRAMEWORKS_DIR, we assume that WebKit is
being built as part of a self-contained application, e.g. Safari
Technology Preview. This means that most content is installed to the
override directory, instead of the normal /System/Library/Frameworks
directory.

However, static library content (e.g. headers and archives
for bmalloc, webrtc, WTF) is _not_ installed to the override directory,
as it is not needed at runtime. It was being installed to the default
/usr/local prefix, where it would merge with and overwrite whatever
WebKit content was already present.

To prevent overwrites and other sorts of conflict with the
system-provided WebKit, introduce WK_LIBRARY_HEADERS_FOLDER_PATH and
WK_LIBRARY_INSTALL_PATH, which expand to /usr/local/include/safari-sdk
and /usr/local/lib/safari-sdk respectively when building in this mode.
Static library headers and archives are built to these locations, where
they're still in the expected SDK location, but won't clobber system
WebKit.

  • Source/bmalloc/Configurations/Base.xcconfig:
  • Source/bmalloc/Configurations/bmalloc.xcconfig:
  • Source/bmalloc/Configurations/mbmalloc.xcconfig:
  • Source/JavaScriptCore/Configurations/Base.xcconfig:
  • Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
  • Source/JavaScriptCore/DerivedSources.make:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
  • Source/JavaScriptCore/offlineasm/config.rb:
  • Source/JavaScriptCore/offlineasm/parser.rb:
  • Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/boringssl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libabsl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libsrtp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebm.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libyuv.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/usrsctp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig:
  • Source/WebCore/PAL/Configurations/Base.xcconfig:
  • Source/WebCore/PAL/Configurations/PAL.xcconfig:
  • Source/WebGPU/Configurations/Base.xcconfig:
  • Source/WebGPU/Configurations/WGSL.xcconfig:
  • Source/WebGPU/Configurations/WGSLUnitTests.xcconfig:
  • Source/WebGPU/Configurations/WebGPU.xcconfig:
  • Source/WebKit/Configurations/Base.xcconfig:
  • Source/WebKit/Configurations/BaseTarget.xcconfig:
  • Source/WebKit/Configurations/SandboxProfiles.xcconfig:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKitLegacy/scripts/generate-unified-sources.sh:
  • Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
  • Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
  • Source/WTF/Configurations/Base.xcconfig:
  • Source/WTF/Configurations/WTF.xcconfig:
  • Source/WTF/Configurations/icu.xcconfig:
  • Source/WebCore/Configurations/Base.xcconfig:
  • Source/WebCore/Configurations/WebCore.xcconfig:
  • Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
  • Source/WebCore/DerivedSources.make:
  • Source/WebCore/Scripts/generate-unified-sources.sh:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:

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

11:18 AM Changeset in webkit [294495] by timothy_horton@apple.com
  • 5 edits
    4 deletes in trunk/Source/WebKit

Delete WKHoverPlatter
https://bugs.webkit.org/show_bug.cgi?id=240623

Reviewed by Wenson Hsieh.

  • Source/WebKit/SourcesCocoa.txt:
  • Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _allowsDoubleTapGestures]):

  • Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
  • Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _createAndConfigureHighlightLongPressGestureRecognizer]):
(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _locationForGesture:]):
(-[WKContentView _startPointForGesture:]):
(-[WKContentView _longPressRecognized:]):
(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView _shouldUseContextMenus]):
(-[WKContentView setUpDragAndDropInteractions]):
(-[WKContentView mouseGestureRecognizerChanged:]):
(-[WKContentView positionInformationForHoverPlatter:withRequest:completionHandler:]): Deleted.
(-[WKContentView interactionRegionsForHoverPlatter:inRect:completionHandler:]): Deleted.

  • Source/WebKit/UIProcess/ios/WKHoverPlatter.h: Removed.
  • Source/WebKit/UIProcess/ios/WKHoverPlatter.mm: Removed.
  • Source/WebKit/UIProcess/ios/WKHoverPlatterParameters.h: Removed.
  • Source/WebKit/UIProcess/ios/WKHoverPlatterParameters.mm: Removed.
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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

11:05 AM Changeset in webkit [294494] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[ iOS macOS Debug wk2 ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=240670
<rdar://93589033>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

10:50 AM Changeset in webkit [294493] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore/runtime

Build fix for Release ASAN builds.
https://bugs.webkit.org/show_bug.cgi?id=240667

Reviewed by Yusuke Suzuki.

JSC::ptrTagName() should also be defined for CPU(ARM64E) when ENABLE(DISASSEMBLER)
is true because it is used to support disassembly now.

  • Source/JavaScriptCore/runtime/JSCPtrTag.cpp:
  • Source/JavaScriptCore/runtime/JSCPtrTag.h:

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

10:40 AM Changeset in webkit [294492] by achristensen@apple.com
  • 3 edits in trunk/Tools/TestWebKitAPI

Begin using coroutines in testing code
https://bugs.webkit.org/show_bug.cgi?id=235730

Reviewed by Darin Adler.

co_await is nicer than nested lambdas.
This begins WebKit's use of C++ coroutines in a small, incomplete, and low-risk way by using it with test code.

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

10:13 AM Changeset in webkit [294491] by aboya@igalia.com
  • 4 edits in trunk/Tools/Scripts/libraries

git-webkit setup: Fix various pitfalls with credentials input
https://bugs.webkit.org/show_bug.cgi?id=240574

Reviewed by Jonathan Bedard.

Yesterday I tried to run git webkit setup.

To put it mildly, it wasn't a smooth ride. I ended up having to debug the
tooling for hours just to be able to get it running.

This patch fixes several issues I found during the process, so that the next
unlucky person doesn't have to go through this again.

  1. Whenever a request failed, the response from the server was not shown in

anyway, instead printing an unhelpful generic message. This patch adds code to
write to the screen the responses obtained from the GitHub API, so that the
next person having problems with it doesn't need to add debugging code to know
what is wrong.

  1. When copying and pasting tokens from the browser it's very easy to

accidentally grab some leading or trailing whitespace. This is especially easy
to miss for the blind terminal key prompt. This patch adds code to trim these
fields. This is generally good UX practice since leading and trailing spaces
are virtually always accidental. [1]

  1. The validation code for GitHub username and token was not run under `git

webkit setup`. Looking at the code it's clear the intention was for that
validation to be done to check (1) a plain GitHub username is used instead of
an email address associated to that account and (2) that a test log-in
succeeds. But because the credentials function is called in many places, the
first instance that actually gets called happens to not set validate=True in
the arguments.

Validating passwords that have just been input for the first time should not

be an optional feature that is disabled by default. Otherwise any mistake in
the credentials input can cause cryptic errors and the user is left on their
own to figure out what is going on, and eventually, how to manually interact
with the keychain to remove or edit the bogus username and/or token. This patch
makes changes so that validation is made whenever the user is prompt for
username and token, no matter in what codepath this becomes necessary.

[1] https://tonyshowoff.com/articles/should-you-trim-passwords/

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:

(Tracker.credentials):

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:

(credentials):

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

(Setup.github):

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

10:10 AM Changeset in webkit [294490] by Razvan Caliman
  • 1 edit in trunk/metadata/contributors.json

Add Razvan Caliman's GitHub username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240663

Reviewed by Jonathan Bedard.

Adding my GitHub username to contributors.json

  • metadata/contributors.json:

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

10:07 AM Changeset in webkit [294489] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

git webkit setup ignores configured editor (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=240529
<rdar://93521972>

Reviewed by Alexey Proskuryakov.

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

(Git): Allow whitespace in config keys.

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

(Setup.git): Pull editor from environment variables, if available.

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

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

9:43 AM Changeset in webkit [294488] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[ iOS Debug ] fast/text/isolate-ignore.html is a consistent crash
https://bugs.webkit.org/show_bug.cgi?id=240659
<rdar://93582407>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

9:28 AM Changeset in webkit [294487] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk

importedScript service worker loads should not have ServiceWorker headers
https://bugs.webkit.org/show_bug.cgi?id=240571

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-19
Reviewed by Chris Dumez.

In case of update, we were reloading imported scripts with ServiceWorker header.
Prevent this as this is not as per spec.

Test: http/wpt/service-workers/update-with-importScripts.html

  • Source/WebCore/workers/service/ServiceWorkerJob.cpp:

(WebCore::scriptResourceRequest):
(WebCore::ServiceWorkerJob::ImportedScriptsLoader::load):
(WebCore::ServiceWorkerJob::fetchScriptWithContext):

  • Source/WebCore/workers/service/server/SWServer.cpp:

(WebCore::SWServer::createScriptRequest):
(WebCore::SWServer::startScriptFetch):

  • LayoutTests/http/wpt/service-workers/resources/update-with-importScripts-script.py: Added.

(main):

  • LayoutTests/http/wpt/service-workers/resources/update-with-importScripts-worker.js: Added.
  • LayoutTests/http/wpt/service-workers/update-with-importScripts-expected.txt: Added.
  • LayoutTests/http/wpt/service-workers/update-with-importScripts.html: Added.
  • LayoutTests/platform/mac/TestExpectations:

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

9:06 AM Changeset in webkit [294486] by mark.lam@apple.com
  • 1 edit in trunk/Source/WTF/wtf/PlatformEnable.h

Debug assertion on launch when using an ASAN build on macOS Apple Silicon.
https://bugs.webkit.org/show_bug.cgi?id=240655

Reviewed by Chris Dumez.

Temporarily disabling ENABLE(JIT_OPERATION_DISASSEMBLY) on ASAN builds as a workaround.

  • Source/WTF/wtf/PlatformEnable.h:

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

8:46 AM Changeset in webkit [294485] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r294291): Nullptr crash with :first-letter
https://bugs.webkit.org/show_bug.cgi?id=240631
<rdar://93495868>

Reviewed by Alan Bujtas.

Test: fast/css/first-letter-multicol-crash.html

  • Source/WebCore/rendering/RenderObject.h:
  • Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp:

With multicol there can be multiple levels of anonymous ancestors. Search for the
nearest non-anonymous ancestor to find the first-letter style.

(WebCore::styleForFirstLetter):

  • LayoutTests/fast/css-generated-content/first-letter-in-nested-before-table-expected.html:

Update expected results. The new results match Chrome behavior.

  • LayoutTests/fast/css/first-letter-multicol-crash-expected.txt: Added.
  • LayoutTests/fast/css/first-letter-multicol-crash.html: Added.

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

8:40 AM Changeset in webkit [294484] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

REGRESSION (r294452): [ iOS ] ImageBufferIOSurfaceBackend - nine tests are a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240654
<rdar://93578166>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

8:36 AM Changeset in webkit [294483] by aboya@igalia.com
  • 1 edit in trunk/metadata/contributors.json

Link Alicia Boya Garcia's GitHub to contributors.json

Reviewed by Jonathan Bedard.

  • metadata/contributors.json:

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

8:28 AM Changeset in webkit [294482] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/workers/service/context/SWContextManager.cpp

REGRESSION (250635@main): TestWebKitAPI.PushAPI.pushEventsAndInspectedServiceWorker is failing
https://bugs.webkit.org/show_bug.cgi?id=240612
rdar://problem/93537478

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-19
Reviewed by Chris Dumez.

The test was failing as the injection of internals in a ServiceWorkerGlobalScope might happen after firing a push event.
To prevent this, we now do the injection by posting a task to the service worker right after starting the service worker thread
instead of after the script has been executed.

  • Source/WebCore/workers/service/context/SWContextManager.cpp:

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

8:13 AM Changeset in webkit [294481] by Manuel Rego Casasnovas
  • 2 edits in trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes

Update WPT dom/nodes/aria-element-reflection.tentative.html test
https://bugs.webkit.org/show_bug.cgi?id=240641

Reviewed by Chris Dumez.

Update test and expectations.
The new failure is due to https://webkit.org/b/240563.

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

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

7:55 AM Changeset in webkit [294480] by Jonathan Bedard
  • 3 edits in trunk/Tools/Scripts/libraries/webkitcorepy

git webkit setup ignores configured editor (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=240529
<rdar://93521972>

Reviewed by Alexey Proskuryakov.

  • Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py:

(Editor):
(Editor.bbedit): Added.
(Editor.programs): Add bbedit, VSCode should have higher precedence than default installed
editors.

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

7:28 AM Changeset in webkit [294479] by Antti Koivisto
  • 1 edit in trunk/LayoutTests/TestExpectations

accessibility/visible-character-range-scrolling.html is timing out on debug
https://bugs.webkit.org/show_bug.cgi?id=240643

Unreviewed test gardening.

  • LayoutTests/TestExpectations:

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

6:08 AM Changeset in webkit [294478] by graouts@webkit.org
  • 6 edits
    2 adds in trunk

[web-animations] dynamically toggle acceleration of offset animations depending on ability of animations in the effect stack to be accelerated
https://bugs.webkit.org/show_bug.cgi?id=236712
<rdar://89030146>

Reviewed by Dean Jackson.

We implement CSS Motion Path by using it as another input for the matrix computed
in RenderStyle::applyCSSTransform(). This means that if we were to run an accelerated
animation for a transform-related property, we'd clobber a motion path set either
on the underlying style or via another animation on this element.

For transforms and motion paths to co-exist, we opt out of acceleration for all
effects in a stack associated with an element that has a motion set using the
underlying style or containing an effect animating one of the CSS Motion Path
properties.

This is done simply by adding those checks to KeyframeEffect::preventsAcceleration().

But we also need to determine when the underlying style may have changed to either
newly contain a motion path or no longer contain one. To do this, we message from
ElementAnimationRareData::setLastStyleChangeEventStyle() down to all effects on the
associated stack and check in KeyframeEffect::lastStyleChangeEventStyleDidChange()
whether the motion path state changed.

Test: webanimations/accelerated-animations-and-motion-path.html

  • Source/WebCore/animation/ElementAnimationRareData.cpp:

(WebCore::ElementAnimationRareData::setLastStyleChangeEventStyle):

  • Source/WebCore/animation/ElementAnimationRareData.h:

(WebCore::ElementAnimationRareData::setLastStyleChangeEventStyle): Deleted.

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::preventsAcceleration const):
(WebCore::KeyframeEffect::lastStyleChangeEventStyleDidChange):

  • Source/WebCore/animation/KeyframeEffect.h:
  • Source/WebCore/animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::lastStyleChangeEventStyleDidChange):

  • Source/WebCore/animation/KeyframeEffectStack.h:
  • LayoutTests/webanimations/accelerated-animations-and-motion-path-expected.txt: Added.
  • LayoutTests/webanimations/accelerated-animations-and-motion-path.html: Added.

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

6:03 AM Changeset in webkit [294477] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/audio/cocoa/AudioSampleDataConverter.mm

Add some logging in AudioSampleDataConverter::updateBufferedAmount
https://bugs.webkit.org/show_bug.cgi?id=240632

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-19
Reviewed by Eric Carlson.

This can help debugging audio related issues like echo cancellation.
No change of behavior.

  • Source/WebCore/platform/audio/cocoa/AudioSampleDataConverter.mm:

(WebCore::AudioSampleDataConverter::updateBufferedAmount):

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

4:42 AM Changeset in webkit [294476] by Ziran Sun
  • 2 edits in trunk

Fix input type email visible value update.

This is an import of Chromium CL at
https://chromium-review.googlesource.com/c/chromium/src/+/3299014
For email type, when the visible value is different from the sanitized value, we need to update it.

https://bugs.webkit.org/show_bug.cgi?id=235522

Reviewed by Chris Dumez.

  • LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/email-set-value-expected.txt:
  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::setValue):

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

4:37 AM Changeset in webkit [294475] by Ziran Sun
  • 2 edits in trunk

Make sure :active is removed on keyup for radios.

When the radio input is checked, we need to make sure that the active flag is
set to false on keyup in order to to prevent the radio from being stuck in the
active state.

This is an import of Chromium CL at
https://chromium-review.googlesource.com/c/chromium/src/+/2466297

https://bugs.webkit.org/show_bug.cgi?id=235530

Reviewed by Chris Dumez.

  • LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-double-activate-pseudo-expected.txt:
  • Source/WebCore/html/RadioInputType.cpp:

(WebCore::RadioInputType::handleKeyupEvent):

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

3:54 AM Changeset in webkit [294474] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r291602 - Fix bug in Relationship::mergeImpl
https://bugs.webkit.org/show_bug.cgi?id=238183
<rdar://89822922>

Reviewed by Yusuke Suzuki.

  • dfg/DFGIntegerRangeOptimizationPhase.cpp:
3:37 AM Changeset in webkit [294473] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r291601 - AirFixObviousSpills needs to consider a PreIndex and PostIndex as clobbering the Reg used for indexing
https://bugs.webkit.org/show_bug.cgi?id=238178
<rdar://87345895>

Reviewed by Mark Lam.

Inside AirFixObviousSpills, we run a basic alias analysis for StackSlots and
registers. For example, when we overwrite a register, we clear anything
it's aliased with. However, the way we were doing this was by looking at
each Arg that was Defd. However, this iteration was missing that
PostIndex/PreIndex mutate the register that feeds into the address Arg.
This patch fixes the issue by walking the instruction in such a way that
we visit all the Defs we care about, both Regs and StackSlots.

  • b3/air/AirFixObviousSpills.cpp:
2:44 AM Changeset in webkit [294472] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r290999 - UniqueIDBDatabase::didFireVersionChangeEvent should capture identifier of UniqueIDBDatabaseConnection
https://bugs.webkit.org/show_bug.cgi?id=236950
rdar://problem/89218299

Reviewed by Chris Dumez.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::didFireVersionChangeEvent):

2:16 AM Changeset in webkit [294471] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp

Remove dead code in handling of GridTrackEntryAutoRepeat in canInterpolate
https://bugs.webkit.org/show_bug.cgi?id=240620

Patch by Kiet Ho <Kiet Ho> on 2022-05-19
Reviewed by Tim Nguyen.

No new tests, no changes in behavior.

  • Source/WebCore/animation/CSSPropertyAnimation.cpp:

(WebCore::canInterpolate):

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

12:39 AM Changeset in webkit [294470] by Diego Pino Garcia
  • 36 edits in trunk/Source

Unreviewed, non-unified build fixes after 250693@main

May 18, 2022:

11:24 PM Changeset in webkit [294469] by sihui_liu@apple.com
  • 7 edits in trunk/Source/WebKit/UIProcess

Move directories from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=240609

Reviewed by Chris Dumez.

Moving directories out of WebProcessPool because WebsiteDataStore usually decides where to store things. It is confusing
in current implementation that WebsiteDataStore gets the paths from WebProcessPool, and then WebProcessPool query paths
from WebsiteDataStore.

  • Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::cacheDirectoryInContainerOrHomeDirectory): Deleted.
(WebKit::WebProcessPool::cookieStorageDirectory): Deleted.
(WebKit::WebProcessPool::parentBundleDirectory): Deleted.
(WebKit::WebProcessPool::networkingCachesDirectory): Deleted.
(WebKit::WebProcessPool::webContentCachesDirectory): Deleted.
(WebKit::WebProcessPool::containerTemporaryDirectory): Deleted.

  • Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::gpuProcessCachesDirectory):
(WebKit::GPUProcessProxy::GPUProcessProxy):

  • Source/WebKit/UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::webProcessDataStoreParameters):

  • Source/WebKit/UIProcess/WebProcessPool.h:
  • Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::cacheDirectoryInContainerOrHomeDirectory):
(WebKit::WebsiteDataStore::cookieStorageDirectory):
(WebKit::WebsiteDataStore::containerCachesDirectory):
(WebKit::WebsiteDataStore::parentBundleDirectory):
(WebKit::WebsiteDataStore::networkingCachesDirectory):
(WebKit::WebsiteDataStore::containerTemporaryDirectory):

  • Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::parameters):

  • Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::cookieStorageDirectory const): Deleted.
(WebKit::WebsiteDataStore::containerCachesDirectory const): Deleted.
(WebKit::WebsiteDataStore::containerTemporaryDirectory const): Deleted.

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

10:53 PM Changeset in webkit [294468] by Chris Dumez
  • 40 edits in trunk

Add find()/reverseFind()/contains() overloads takes an ASCIILiteral to our String types https://bugs.webkit.org/show_bug.cgi?id=240247
https://bugs.webkit.org/show_bug.cgi?id=240247

Reviewed by Darin Adler.

Add find()/reverseFind()/contains() overloads takes an ASCIILiteral to our String types.
These versions are more efficient when the call sites have an ASCIILiteral as they have
less branching.

  • Source/JavaScriptCore/runtime/ExceptionHelpers.cpp:

(JSC::notAFunctionSourceAppender):
(JSC::invalidParameterInSourceAppender):
(JSC::invalidParameterInstanceofSourceAppender):
(JSC::invalidPrototypeSourceAppender):

  • Source/JavaScriptCore/runtime/IntlObject.cpp:

(JSC::canonicalizeUnicodeExtensionsAfterICULocaleCanonicalization):
(JSC::lookupMatcher):

  • Source/JavaScriptCore/tools/FunctionOverrides.cpp:

(JSC::initializeOverrideInfo):

  • Source/WebCore/PAL/pal/text/DecodeEscapeSequences.h:

(PAL::Unicode16BitEscapeSequence::findInString):

  • Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::needsNewCreateTableSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList):

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):

  • Source/WebKit/NetworkProcess/cache/PrefetchCache.cpp:

(WebKit::PrefetchCache::take):

  • Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateTextInputTraits:]):

  • Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::focusedElementInformation):

  • Source/WebKit/WebProcess/WebProcess.cpp:

(WebKit::checkDocumentsCaptureStateConsistency):

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

(-[WebView updateTextTouchBar]):

  • Source/WTF/wtf/text/AtomString.h:
  • Source/WTF/wtf/text/StringImpl.cpp:

(WTF::StringImpl::find):
(WTF::StringImpl::reverseFind):

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

(WTF::StringImpl::find):
(WTF::StringImpl::reverseFind):

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

(WTF::StringView::find const):
(WTF::StringView::reverseFind const):

  • Source/WTF/wtf/text/StringView.h:
  • Source/WTF/wtf/text/WTFString.h:
  • Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::FetchBodyConsumer::packageFormData):

  • Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::validateSDP const):
(WebCore::PeerConnectionBackend::newICECandidate):

  • Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):

  • Source/WebCore/dom/DataTransfer.cpp:

(WebCore::DataTransfer::types const):

  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::createCDATASection):
(WebCore::Document::createProcessingInstruction):

  • Source/WebCore/editing/cocoa/HTMLConverter.mm:

(HTMLConverter::computedAttributesForElement):

  • Source/WebCore/editing/libwpe/EditorLibWPE.cpp:

(WebCore::createFragmentFromPasteboardData):

  • Source/WebCore/editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::shouldPreserveMSOListStyleForElement):
(WebCore::StyledMarkupAccumulator::appendNodeToPreserveMSOList):
(WebCore::shouldPreserveMSOLists):

  • Source/WebCore/html/track/VTTRegion.cpp:

(WebCore::VTTRegion::parseSettingValue):

  • Source/WebCore/html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::collectWebVTTBlock):
(WebCore::WebVTTParser::checkAndRecoverCue):
(WebCore::WebVTTParser::checkAndCreateRegion):
(WebCore::WebVTTParser::checkAndStoreRegion):
(WebCore::WebVTTParser::checkStyleSheet):
(WebCore::WebVTTParser::checkAndStoreStyleSheet):
(WebCore::WebVTTParser::collectCueId):
(WebCore::WebVTTParser::collectCueText):
(WebCore::WebVTTParser::ignoreBadCue):

  • Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::ElementFactories::hasElementForMediaType const):

  • Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

  • Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:

(WebCore::ExtensionsGLOpenGLCommon::ExtensionsGLOpenGLCommon):

  • Source/WebCore/platform/graphics/texmap/TextureMapperContextAttributes.cpp:

(WebCore::TextureMapperContextAttributes::get):

  • Source/WebCore/platform/ios/UserAgentIOS.mm:

(WebCore::deviceNameForUserAgent):

  • Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:

(WebCore::isValidCaptureDevice):

  • Source/WebCore/rendering/style/GridPositionsResolver.cpp:

(WebCore::NamedLineCollectionBase::NamedLineCollectionBase):

  • Source/WebCore/style/StyleScope.cpp:

(WebCore::Style::Scope::collectActiveStyleSheets):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::isVP9VTBDeccoderUsed):

  • Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:

(WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):

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

9:09 PM Changeset in webkit [294467] by timothy_horton@apple.com
  • 2 edits in trunk/Source

REGRESSION (r294160): Occasional infinite loops under updateLayersForInteractionRegions
https://bugs.webkit.org/show_bug.cgi?id=240610
<rdar://problem/93507791>

Reviewed by Wenson Hsieh.

  • Source/WebCore/page/InteractionRegion.cpp:

(WebCore::regionForElement):
Avoid emitting empty rects for interaction regions, and avoid emitting the region
at all if this results in an empty set of rects.

  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:

(WebKit::updateLayersForInteractionRegions):
Never re-use a layer with empty bounds; we should never get here, but I'd rather
re-create the layer if we do than corrupt the hash table.

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

9:08 PM Changeset in webkit [294466] by Lauro Moura
  • 1 edit in trunk/Source/WebKit/WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp

Unreviewed, fix WPE build 250693@main

  • WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp: Add missing inlines.h include.

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

9:03 PM Changeset in webkit [294465] by Chris Dumez
  • 1 edit in trunk/Source/WTF/wtf/text/WTFString.h

Drop operator==() overload for comparing a String and a LChar*
https://bugs.webkit.org/show_bug.cgi?id=240611

Reviewed by Darin Adler.

Drop operator==() overload for comparing a String and a LChar*, as it is unused.

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

(WTF::operator==):
(WTF::operator!=):

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

8:50 PM Changeset in webkit [294464] by Wenson Hsieh
  • 19 edits in trunk/Source

Use references instead of pointers when passing elements through several editor client hooks
https://bugs.webkit.org/show_bug.cgi?id=240603

Reviewed by Chris Dumez.

Change Element* to Element& in several WebEditorClient (and injected bundle form client) codepaths
that currently expect non-null pointers, anyways. No change in behavior.

  • Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

  • Source/WebKit/WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:

(API::InjectedBundle::FormClient::didFocusTextField):
(API::InjectedBundle::FormClient::textFieldDidBeginEditing):
(API::InjectedBundle::FormClient::textFieldDidEndEditing):
(API::InjectedBundle::FormClient::textDidChangeInTextField):
(API::InjectedBundle::FormClient::textDidChangeInTextArea):
(API::InjectedBundle::FormClient::shouldPerformActionInTextField):

  • Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:

(WebKit::InjectedBundlePageFormClient::didFocusTextField):
(WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
(WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
(WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
(WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
(WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):

  • Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
  • Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::focusedElementChanged):

  • Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):

  • Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h:
  • Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.h:
  • Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm:

(dynamicDowncastToKit):

Also add a helper method here to make it easier to safely downcast an Element to a
given WebCore type, and then return an Objective-C DOMElement wrapper for the
element, if it matches the type.

(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):

  • Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):

  • Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.h:
  • Source/WebCore/editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::doApply):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::Editor::textFieldDidBeginEditing):
(WebCore::Editor::textFieldDidEndEditing):
(WebCore::Editor::textDidChangeInTextField):
(WebCore::Editor::doTextFieldCommandFromEvent):
(WebCore::Editor::textWillBeDeletedInTextField):
(WebCore::Editor::textDidChangeInTextArea):

  • Source/WebCore/editing/Editor.h:
  • Source/WebCore/html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::endEditing):

  • Source/WebCore/html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::subtreeHasChanged):

  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::didSetValueByUserEdit):

  • Source/WebCore/loader/EmptyClients.cpp:
  • Source/WebCore/page/EditorClient.h:

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

8:05 PM Changeset in webkit [294463] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout

Add support for simple 'flex-grow'
https://bugs.webkit.org/show_bug.cgi?id=240561

Reviewed by Antti Koivisto.

This is a basic "flex grow" implementation ignoring min/max values.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:

(WebCore::LayoutIntegration::FlexLayout::updateRenderers const):

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

7:29 PM Changeset in webkit [294462] by Fujii Hironori
  • 1 edit in trunk/Source/JavaScriptCore/CMakeLists.txt

PrivateHeaders/JavaScriptCore/InspectorProtocolObjects.h isn't regenerated in incremental builds
https://bugs.webkit.org/show_bug.cgi?id=240540

Reviewed by Don Olmstead.

In CMake Visual Studio generator builds, InspectorProtocolObjects.h
was not copied to the private headers directory as expected in
incremental builds.

${JavaScriptCore_DERIVED_SOURCES_DIR}/inspector/InspectorProtocolObjects.h
was added to both JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS and
JavaScriptCore_HEADERS. This caused the incremental build problem.
Don't add such headers to JavaScriptCore_HEADERS.

  • Source/JavaScriptCore/CMakeLists.txt:

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

7:28 PM Changeset in webkit [294461] by Fujii Hironori
  • 1 edit in trunk/Source/JavaScriptCore/CMakeLists.txt

JavaScriptCore/DerivedSources/Bytecodes.h is generated twice both in Bytecodes.vcxproj in LLIntSettingsExtractor.vcxproj
https://bugs.webkit.org/show_bug.cgi?id=240556

Reviewed by Don Olmstead.

In CMake Visual Studio generator builds, Bytecodes.h was generated
twice both in Bytecodes.vcxproj in LLIntSettingsExtractor.vcxproj.

The fundamental problem of this bug was fixed in CMake v3.12.
<https://gitlab.kitware.com/cmake/cmake/-/commit/5a6c6292898fe238f3a5105133b8904209fbedaf>

LLIntSettingsExtractor target needs to have a direct or indirect
dependency to Bytecodes target for CMake Visual Studio generator to
eliminate duplicated custom commands.

  • Source/JavaScriptCore/CMakeLists.txt:

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

7:12 PM Changeset in webkit [294460] by Chris Dumez
  • 65 edits
    1 copy
    1 add
    2 deletes in trunk/Source/WebKit

Regression(r294190) GPUProcess is unable to launch on certain builds
https://bugs.webkit.org/show_bug.cgi?id=240615
<rdar://93533749>

Unreviewed, revert r294190 to adddress the issue.

  • Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):

  • Source/WebKit/GPUProcess/media/RemoteCDMInstanceProxy.h:
  • Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:

(WebKit::RemoteImageDecoderAVFProxy::createDecoder):
(WebKit::RemoteImageDecoderAVFProxy::setData):

  • Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:

(WebKit::RemoteMediaResourceManager::RemoteMediaResourceManager):
(WebKit::RemoteMediaResourceManager::dataReceived):

  • Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
  • Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.messages.in:
  • Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::append):

  • Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
  • Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):

  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp:

(WebKit::ServiceWorkerDownloadTask::didReceiveData):

  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.messages.in:
  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::didReceiveData):
(WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):

  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
  • Source/WebKit/Platform/IPC/SharedBufferReference.cpp: Removed.
  • Source/WebKit/Platform/IPC/SharedBufferReference.h: Removed.
  • Source/WebKit/Platform/SharedMemory.cpp:

(WebKit::SharedMemory::Handle::takeOwnershipOfMemory const):
(WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): Deleted.

  • Source/WebKit/Platform/SharedMemory.h:
  • Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp:

(WebKit::SharedMemory::Handle::takeOwnershipOfMemory const):
(WebKit::machProtection):
(WebKit::SharedMemory::map):
(WebKit::changeOwnershipOfMemory): Deleted.
(WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): Deleted.

  • Source/WebKit/Platform/unix/SharedMemoryUnix.cpp:

(WebKit::accessModeMMap):
(WebKit::SharedMemory::map):

  • Source/WebKit/Scripts/process-entitlements.sh:
  • Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:

(WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):

  • Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):

  • Source/WebKit/Shared/WebCoreArgumentCoders.cpp:

(IPC::encodeSharedBuffer):
(IPC::decodeSharedBuffer):

  • Source/WebKit/Sources.txt:
  • Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView createPDFWithConfiguration:completionHandler:]):

  • Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::platformRegisterAttachment):

  • Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::getPasteboardBufferForType):
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):

  • Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::sendAudioComponentRegistrations):

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::CompletionHandler<void):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::drawToPDF):
(WebKit::WebPageProxy::getLoadDecisionForIcon):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::registerAttachmentIdentifierFromData):
(WebKit::WebPageProxy::platformRegisterAttachment):

  • Source/WebKit/UIProcess/WebPageProxy.h:
  • Source/WebKit/UIProcess/WebPageProxy.messages.in:
  • Source/WebKit/UIProcess/WebPasteboardProxy.cpp:

(WebKit::WebPasteboardProxy::readBufferFromPasteboard):

  • Source/WebKit/UIProcess/WebPasteboardProxy.h:
  • Source/WebKit/UIProcess/WebPasteboardProxy.messages.in:
  • Source/WebKit/UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::didReceiveData):

  • Source/WebKit/UIProcess/gtk/WebPasteboardProxyGtk.cpp:

(WebKit::WebPasteboardProxy::readBuffer):

  • Source/WebKit/UIProcess/ios/WKContentView.mm:

(-[WKContentView _wk_pageCountForPrintFormatter:]):

  • Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::drawToPDFiOS):

  • Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::dataSelectionForPasteboard):

  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKit/WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:

(WebKit::RemoteImageDecoderAVF::setData):

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

(WebKit::RemoteImageDecoderAVFManager::createImageDecoder):

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

(WebKit::RemoteMediaResourceProxy::dataReceived):

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

(WebKit::SourceBufferPrivateRemote::append):

  • Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveData):

  • Source/WebKit/WebProcess/Network/WebResourceLoader.h:
  • Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in:
  • Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::writeItemsToPasteboard):

  • Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):

  • Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::registerAttachmentIdentifier):

  • Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::setBufferForType):
(WebKit::WebPlatformStrategies::readBufferFromClipboard):
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):

  • Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::declareAndWriteDragImage):

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

(WebKit::WebPage::getContentsAsMHTMLData):
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getMainResourceDataOfFrame):
(WebKit::WebPage::getResourceDataFromFrame):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit::WebPage::getAccessibilityTreeData):
(WebKit::WebPage::drawToPDF):
(WebKit::WebPage::drawPagesToPDF):
(WebKit::WebPage::didGetLoadDecisionForIcon):
(WebKit::WebPage::urlSchemeTaskDidReceiveData):
(WebKit::WebPage::updateAttachmentAttributes):

  • Source/WebKit/WebProcess/WebPage/WebPage.h:
  • Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
  • Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getDataSelectionForPasteboard):
(WebKit::WebPage::performActionOnElement):
(WebKit::WebPage::drawToPDFiOS):
(WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):

  • Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::getDataSelectionForPasteboard):

  • Source/WebKit/WebProcess/WebProcess.h:
  • Source/WebKit/WebProcess/WebProcess.messages.in:
  • Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::consumeAudioComponentRegistrations):

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

7:08 PM Changeset in webkit [294459] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.0.6

Tag WebKit-7614.1.14.0.6.

7:06 PM Changeset in webkit [294458] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.1.6

Tag WebKit-7614.1.14.1.6.

7:04 PM Changeset in webkit [294457] by Russell Epstein
  • 66 edits
    1 copy
    1 add
    2 deletes in branches/safari-7614.1.14.1-branch/Source/WebKit

Revert r294190. rdar://problem/93533749

6:59 PM Changeset in webkit [294456] by Russell Epstein
  • 66 edits
    1 copy
    1 add
    2 deletes in branches/safari-7614.1.14.0-branch/Source/WebKit

Revert r294190. rdar://problem/93533749

6:47 PM Changeset in webkit [294455] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

REGRESSION (r294317): [ iOS ] Thirteen layout tests are flaky or consistent timeouts
https://bugs.webkit.org/show_bug.cgi?id=240616
<rdar://93541706>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

6:40 PM Changeset in webkit [294454] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.6

6:40 PM Changeset in webkit [294453] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.6

5:41 PM Changeset in webkit [294452] by Robert Jenner
  • 12 edits in trunk/Source

Unreviewed, reverting r294317.

Broke multiple layout-tests, and 2 api-tests.

Reverted changeset:

"ImageBufferIOSurfaceBackend context setup and teardown
functions are redundant and error-prone"
https://bugs.webkit.org/show_bug.cgi?id=240452
https://commits.webkit.org/r294317

5:01 PM Changeset in webkit [294451] by Kate Cheney
  • 3 edits
    1 add in trunk

Copy-pasted attachments in mail show up as generic file icons
https://bugs.webkit.org/show_bug.cgi?id=240586
rdar://91067102

Reviewed by Wenson Hsieh.

Generate QuickLook previews for attachments that are copy-pasted as
webarchives, such as pages, keynote and numbers docs.

  • Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

(testiWorkAttachmentFileURL):
(testiWorkAttachmentData):
(TestWebKitAPI::TEST):
(TestWebKitAPI::_generateBestRepresentationForRequest):
Swizzle QLThumbnailGenerator code to make sure we hit image generation.
This is not an ideal test but ensures we at least hit the right code
path since we are unable to directly compare icons.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/test.pages: Added.
  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::registerAttachmentsFromSerializedData):

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

3:57 PM Changeset in webkit [294450] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.3.2

Tag WebKit-7614.1.14.3.2.

3:51 PM Changeset in webkit [294449] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.3-branch/Source

Versioning.

WebKit-7614.1.14.3.2

3:48 PM Changeset in webkit [294448] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.2.2

Tag WebKit-7614.1.14.2.2.

3:42 PM Changeset in webkit [294447] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.2-branch/Source

Versioning.

WebKit-7614.1.14.2.2

3:34 PM Changeset in webkit [294446] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.5

Tag WebKit-7614.1.14.1.5.

3:32 PM Changeset in webkit [294445] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.5

Tag WebKit-7614.1.14.0.5.

3:29 PM Changeset in webkit [294444] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.5

3:29 PM Changeset in webkit [294443] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.5

3:22 PM Changeset in webkit [294442] by Jonathan Bedard
  • 4 edits in trunk/Tools/Scripts/libraries/webkitscmpy

[git-webkit] Remove space in radar URLs
https://bugs.webkit.org/show_bug.cgi?id=240592
<rdar://problem/93519659>

Reviewed by Chris Dumez.

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

(PullRequest):
(PullRequest.escape_html):

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

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

3:16 PM Changeset in webkit [294441] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

PROGRESSION(r294272): Correction to guard in Platform file caused multiple tests failures
https://bugs.webkit.org/show_bug.cgi?id=240579
<rdar://93504716>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

3:12 PM Changeset in webkit [294440] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.11.9.1

Tag WebKit-7614.1.11.9.1.

3:00 PM Changeset in webkit [294439] by Russell Epstein
  • 47 edits in branches/safari-7614.1.11.9-branch/Source

Apply patch. rdar://problem/93068926

2:58 PM Changeset in webkit [294438] by J Pascoe
  • 38 edits
    9 deletes in trunk

[WebAuthn] Clean up WebAuthenticationModern and WebAuthnProcess
https://bugs.webkit.org/show_bug.cgi?id=240318
<rdar://93130490>

The WebAuthenticationModern flag and WebAuthnProcess are no longer used
and can be removed. This patch removes all references to both the flag
and the process.

Reviewed by Brent Fulgham.

Covered by existing tests and manual testing on macOS / iOS.

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

(TestWebKitAPI::TEST):
(TestWebKitAPI::WebCore::webAuthenticationModernExperimentalFeature): Deleted.

  • Source/WebKit/Configurations/WebAuthnService.xcconfig: Removed.
  • Source/WebKit/Configurations/WebKit.xcconfig:
  • Source/WebKit/DerivedSources.make:
  • Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h:
  • Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Removed.
  • Source/WebKit/Scripts/process-entitlements.sh:
  • Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm:

(WebKit::isInWebKitChildProcess):

  • Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
  • Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

  • Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::processStorageClass):
(WebKit::sandboxDirectory):

  • Source/WebKit/Sources.txt:
  • Source/WebKit/SourcesCocoa.txt:
  • Source/WebKit/UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebAuthenticationModernEnabled): Deleted.
(WKPreferencesGetWebAuthenticationModernEnabled): Deleted.

  • Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:
  • Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:

(+[WKProcessPool _webAuthnProcessIdentifier]): Deleted.

  • Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::getLaunchOptions):

  • Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::notifyPreferencesChanged):

  • Source/WebKit/UIProcess/Launcher/ProcessLauncher.h:
  • Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:

(WebKit::serviceName):
(WebKit::shouldLeakBoost):

  • Source/WebKit/UIProcess/WebAuthentication/Authenticator.h:

(WebKit::Authenticator::requestData const):
(WebKit::Authenticator::setWebAuthenticationModernEnabled): Deleted.
(WebKit::Authenticator::webAuthenticationModernEnabled const): Deleted.
(): Deleted.

  • Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::authenticatorAdded):
(WebKit::AuthenticatorManager::enableModernWebAuthentication): Deleted.

  • Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h:
  • Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
  • Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy): Deleted.

  • Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp: Removed.
  • Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h: Removed.
  • Source/WebKit/UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::getWebAuthnProcessConnection): Deleted.

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

(WebKit::WebProcessProxy::getWebAuthnProcessConnection): Deleted.

  • Source/WebKit/UIProcess/WebProcessProxy.h:
  • Source/WebKit/UIProcess/WebProcessProxy.messages.in:
  • Source/WebKit/WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-OSX.plist: Removed.
  • Source/WebKit/WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-iOS.plist: Removed.
  • Source/WebKit/WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnServiceEntryPoint.mm: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.h: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.messages.in: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnProcess.cpp: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnProcess.h: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnProcess.messages.in: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.cpp: Removed.
  • Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.h: Removed.
  • Source/WebKit/WebAuthnProcess/ios/WebAuthnProcessIOS.mm: Removed.
  • Source/WebKit/WebAuthnProcess/mac/WebAuthnProcessMac.mm: Removed.
  • Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in: Removed.
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:

(WebKit::WebAuthenticatorCoordinator::makeCredential):
(WebKit::WebAuthenticatorCoordinator::getAssertion):
(WebKit::WebAuthenticatorCoordinator::isUserVerifyingPlatformAuthenticatorAvailable):

  • Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnection.cpp: Removed.
  • Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnection.h: Removed.
  • Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnection.messages.in: Removed.
  • Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnectionInfo.h: Removed.
  • Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::setMockWebAuthenticationConfiguration):

  • Source/WebKit/WebProcess/WebProcess.cpp:

(WebKit::getWebAuthnProcessConnection): Deleted.
(WebKit::WebProcess::ensureWebAuthnProcessConnection): Deleted.
(WebKit::WebProcess::webAuthnProcessConnectionClosed): Deleted.

  • Source/WebKit/WebProcess/WebProcess.h:

(WebKit::WebProcess::existingWebAuthnProcessConnection): Deleted.

  • Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
  • Source/WebCore/page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebAuthenticationModernEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webAuthenticationModernEnabled const): Deleted.

  • Source/WebCore/platform/RuntimeApplicationChecks.cpp:

(WebCore::processTypeDescription):

  • Source/WebCore/platform/RuntimeApplicationChecks.h:

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

2:57 PM Changeset in webkit [294437] by basuke.suzuki@sony.com
  • 1 edit in trunk/Source/WebCore/editing/libwpe/EditorLibWPE.cpp

[LibWPE] Fix build failure when enabling LAYOUT_FORMATTING_CONTEXT
https://bugs.webkit.org/show_bug.cgi?id=240602

Unreviewed, fix libwpe build with the flag after r294399

  • editing/libwpe/EditorLibWPE.cpp:

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

2:57 PM Changeset in webkit [294436] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.4

Tag WebKit-7614.1.14.1.4.

2:47 PM Changeset in webkit [294435] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.4

Tag WebKit-7614.1.14.0.4.

2:28 PM Changeset in webkit [294434] by J Pascoe
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm

REGRESSION (442fcb1ea6f?): TestWebKitAPI.WebAuthenticationPanel.ExportImportDuplicateCredential is failing
https://bugs.webkit.org/show_bug.cgi?id=240534
rdar://93267243

Reviewed by Brent Fulgham.

The default for a flag relevant to syncing has changed in test infrastructure. This change fixes this test
by using the sync=1 flag as set by default when importing credentials.

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

(TestWebKitAPI::TEST):

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

2:27 PM Changeset in webkit [294433] by ysuzuki@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/assembler/SecureARM64EHashPinsInlines.h

Unreviewed, build fix after r294429
https://bugs.webkit.org/show_bug.cgi?id=240587

  • Source/JavaScriptCore/assembler/SecureARM64EHashPinsInlines.h:

(JSC::SecureARM64EHashPins::forEachPage):

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

2:19 PM Changeset in webkit [294432] by Russell Epstein
  • 9 edits in branches/safari-7614.1.11.9-branch/Source

Versioning.

WebKit-7614.1.11.9.1

2:05 PM Changeset in webkit [294431] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Drop unnecessary EventTarget::isFiringEventListeners()
https://bugs.webkit.org/show_bug.cgi?id=240578

Reviewed by Geoffrey Garen.

Drop unnecessary EventTarget::isFiringEventListeners() flag. This flag was checked by
our GC logic to avoid collecting wrappers while they are firing events. However, those
checks are in hot code paths and it should be up to the code dispatching the event
to keep the wrapper alive, either via ActiveDOMObject or GCReachableRef.

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

(WebCore::JSAbortSignalOwner::isReachableFromOpaqueRoots):

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

(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • Source/WebCore/dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • Source/WebCore/dom/EventTarget.h:

(WebCore::EventTarget::isFiringEventListeners const): Deleted.

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

2:04 PM Changeset in webkit [294430] by Russell Epstein
  • 1 copy in branches/safari-7614.1.11.9-branch

New branch.

1:43 PM Changeset in webkit [294429] by mark.lam@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/assembler/SecureARM64EHashPinsInlines.h

Small clean ups in SecureARM64EHashPins.
https://bugs.webkit.org/show_bug.cgi?id=240587

Reviewed by Yusuke Suzuki.

  1. In SecureARM64EHashPins::keyForCurrentThread(), there's no need to add 1 to the value retrieve from TPIDRRO_EL0. TPIDRRO_EL0 is a pointer to valid memory and can never be 0. Also, we already code in multiple other places where we expect to load from it without a null check.
  1. SecureARM64EHashPins::forEachPage() should use a do-while loop instead of a for loop. This is because we are guaranteed to at least have 1 page at start up if the JIT is enabled. If the JIT is not enabled, this code will never be called.
  • Source/JavaScriptCore/assembler/SecureARM64EHashPinsInlines.h:

(JSC::SecureARM64EHashPins::keyForCurrentThread):
(JSC::SecureARM64EHashPins::forEachPage):

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

1:39 PM Changeset in webkit [294428] by pvollan@apple.com
  • 5 edits in trunk/Source/WebKit/UIProcess

Audit token for font sandbox extension is sometimes wrong
https://bugs.webkit.org/show_bug.cgi?id=240547

Reviewed by Chris Dumez.

Audit token for font sandbox extension is sometimes wrong. We must get the audit token from the correct WebProcessProxy.

(WebKit::WebPageProxy::switchFromStaticFontRegistryToUserFontRegistry):
(WebKit::WebPageProxy::fontdMachExtensionHandle): Deleted.

  • Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::fontdMachExtensionHandle):

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • Source/WebKit/UIProcess/WebPageProxy.h:
  • Source/WebKit/UIProcess/WebProcessProxy.h:

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

1:01 PM Changeset in webkit [294427] by Devin Rousso
  • 6 edits in trunk

Feature Request: Regular Expression Groups in Request Override Redirects
https://bugs.webkit.org/show_bug.cgi?id=240477
<rdar://problem/73779368>

Reviewed by Patrick Angle.

This allows developers to create generic "catch all" request local overrides that can redirect
multiple URLs with a single local override (e.g. https://example.org/(.*) -> localhost/$1).

  • Source/WebInspectorUI/UserInterface/Models/LocalResourceOverride.js:

(WI.LocalResourceOverride):
(WI.LocalResourceOverride.prototype.generateRequestRedirectURL): Added.
(WI.LocalResourceOverride.prototype.matches):
(WI.LocalResourceOverride.prototype.get _urlRegex): Added.
Instead of directly using the URL of the WI.LocalResource as the redirect URL, derive it based on
the regex created to check if the WI.LocalResourceOverride matches the original request.

  • Source/WebInspectorUI/UserInterface/Models/Resource.js:

(WI.Resource.prototype.async createLocalResourceOverride):

  • Source/WebInspectorUI/UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.async requestIntercepted):
(WI.NetworkManager.prototype.async responseIntercepted):

  • Source/WebInspectorUI/UserInterface/Views/LocalResourceOverridePopover.js:

(WI.LocalResourceOverridePopover.prototype.get serializedData):
Drive-by: Move WI.urlWithoutFragment to WI.LocalResourceOverride so that every callsite doesn't

have to decide/remember to use it.

  • LayoutTests/http/tests/inspector/network/intercept-request-properties.html:
  • LayoutTests/http/tests/inspector/network/intercept-request-properties-expected.txt:

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

12:48 PM Changeset in webkit [294426] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/rendering

Unreviewed, fix build after 250680@main (again)

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-18
https://bugs.webkit.org/show_bug.cgi?id=240416

  • Source/WebCore/rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • Source/WebCore/rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const):

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

12:39 PM Changeset in webkit [294425] by Brent Fulgham
  • 3 edits in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa

REGRESSION (r294272): TestWebKitAPI Failures after compile guard change
https://bugs.webkit.org/show_bug.cgi?id=240530

Reviewed by Youenn Fablet.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:

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

12:34 PM Changeset in webkit [294424] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.0-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92916514

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

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

12:21 PM Changeset in webkit [294423] by Antti Koivisto
  • 7 edits in trunk

Invalidation fails if the mutated elements subtree has been marked invalid
https://bugs.webkit.org/show_bug.cgi?id=240581

Reviewed by Alan Bujtas.

:has() can affect elements outside the subtree so we can't use this optimization if it is present.

  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-ancestor-position-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-parent-position-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-sibling-position-expected.txt:
  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::needsStyleInvalidation const):

Don't skip invalidation for a locally invalid subtree if :has() is present.
Add a new check for document element subtree being invalid (this covers some of the same cases and works with :has()).

  • Source/WebCore/style/StyleScope.cpp:

(WebCore::Style::Scope::forNode):

Add const version.

  • Source/WebCore/style/StyleScope.h:

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

12:19 PM Changeset in webkit [294422] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.4

12:19 PM Changeset in webkit [294421] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.3.1

Tag WebKit-7614.1.14.3.1.

12:15 PM Changeset in webkit [294420] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.3-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92916514

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

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

12:13 PM Changeset in webkit [294419] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.3-branch/Source

Versioning.

WebKit-7614.1.14.3.1

12:12 PM Changeset in webkit [294418] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.2.1

Tag WebKit-7614.1.14.2.1.

12:11 PM Changeset in webkit [294417] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.2-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92916514

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

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

12:07 PM Changeset in webkit [294416] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.2-branch/Source

Versioning.

WebKit-7614.1.14.2.1

11:57 AM Changeset in webkit [294415] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.1-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92916514

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

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

11:51 AM Changeset in webkit [294414] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.4

11:40 AM Changeset in webkit [294413] by achristensen@apple.com
  • 2 edits
    15 adds in trunk

REGRESSION (STP): WebSocket.bufferedAmount does not get updated in some cases
https://bugs.webkit.org/show_bug.cgi?id=240311

Reviewed by Youenn Fablet.

This reverts the functional part of r290995 for OSes what don't have an NSURLSession WebSocket implementation we can use.
The rest of r290995 was just moving UTF-8 encoding to a different location in the pipeline, which has no observable behavior change.

It is unfortunate, but our old implementation of WebSockets that uses CFWriteStreamWrite thinks it has written immediately,
so if I make SocketStreamHandleImpl::platformSend call m_client.didUpdateBufferedAmount even when bytesWritten >= length,
I don't have the bufferent amount updated synchronously like Chrome, Firefox, and the NSURLSession-based implementation have.
If I leave it as it is now, the buffered amount never goes back down to zero sometimes after writing to the stream.

It was broken before, it is differently broken now, and this restores the status quo on Big Sur. This is why we can't have nice things.

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::send):

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

11:37 AM Changeset in webkit [294412] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex

Move visual/logical code to dedicated functions
https://bugs.webkit.org/show_bug.cgi?id=240560

Reviewed by Antti Koivisto.

This is in preparation for adding more pre/post core layout logic.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
(): Deleted.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:

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

11:33 AM Changeset in webkit [294411] by msaboff@apple.com
  • 3 edits in trunk

WTF::CrashOnOverflow::crash() with /((a{100000000})*b{2100000000})+/.test();
https://bugs.webkit.org/show_bug.cgi?id=240552

Reviewed by Yusuke Suzuki and Alex Christensen.

Replaced a crashing checked add in the YARR JIT code generator with a reporting add so we can
catch the overflow. When we do overflow, we terminate the JIT genration with an error.
We'll fallback to the YARR interpreter, which already exits with an error on a similar overflow.

  • JSTests/stress/regexp-large-quantifier.js:

(testRegExp):

  • Source/JavaScriptCore/yarr/YarrJIT.cpp:

(JSC::Yarr::dumpCompileFailure):

  • Source/JavaScriptCore/yarr/YarrJIT.h:

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

11:17 AM Changeset in webkit [294410] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.100.2

Tag WebKit-7614.1.14.100.2.

11:13 AM Changeset in webkit [294409] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.100-branch/Source

Versioning.

WebKit-7614.1.14.100.2

11:12 AM Changeset in webkit [294408] by Nikos Mouchtaris
  • 1 edit in trunk/metadata/contributors.json

Add nmoucht to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240588

Reviewed by Tim Nguyen.

  • metadata/contributors.json:

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

11:07 AM Changeset in webkit [294407] by Jonathan Bedard
  • 1 edit in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py

[git-webkit] Support non-members updating PRs
https://bugs.webkit.org/show_bug.cgi?id=240550
<rdar://93460889>

Reviewed by Brent Fulgham.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:

(GitHub.PRGenerator.update):

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

10:59 AM Changeset in webkit [294406] by Jenner@apple.com
  • 2 edits in trunk/LayoutTests/platform

[ Gardening ] REGRESSION(r294272): [ iOS ] Four http/tests/workers/service/shownotification tests are a consistent failures
https://bugs.webkit.org/show_bug.cgi?id=240579

Unreviewed test gardening.

  • LayoutTests/platform/ios-wk2/TestExpectations:
  • LayoutTests/platform/ios/TestExpectations:

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

10:51 AM Changeset in webkit [294405] by sihui_liu@apple.com
  • 8 edits
    2 adds in trunk/Source/WebKit

Monitor process state and send prepareToSuspend based on that
https://bugs.webkit.org/show_bug.cgi?id=240359

Reviewed by Chris Dumez.

Currently UI process sends PrepareToSuspend when a process has no activity that needs an assertion, or when
assertion will be invalidated due to timeout (when assertionWillInvalidate is called). On receiving PrepareToSuspend,
process will perform necessary actions, such as suspending storage threads for network process. According to crashes in
rdar://problem/92228190, the message is not received by process before suspension, or process gets suspended while
processing the message. To fix the crash, we need to ensure the message gets processed before process suspension.

This patch introduces ProcessStateMonitor that tracks when UI process will be suspended, and notifies WebProcessPools
when remaining running time is less than 15s. On receiving the notification, ProcessThrottlers of web processes will
invalidate activities and send out PrepareToSuspend messages to web processes. These processes are not allowed to take
new background assertion until ProcessStateMonitor finds process becomes running without timeout, or ProcessStateMonitor
is destroyed. ProcessStateMonitor is created when UI process enters background, and destroyed when UI process enters
foreground, to avoid getting receiving too many unnecessary updates from runningboardd.

  • Source/WebKit/Platform/spi/ios/RunningBoardServicesSPI.h:

(+[RBSProcessPredicate predicateMatchingHandle:]):

  • Source/WebKit/SourcesCocoa.txt:
  • Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::setProcessesShouldSuspend):

  • Source/WebKit/UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::addActivity):
(WebKit::ProcessThrottler::setAllowsActivities):

  • Source/WebKit/UIProcess/ProcessThrottler.h:

(WebKit::ProcessThrottler::Activity::Activity):
(WebKit::ProcessThrottler::Activity::name const):
(WebKit::ProcessThrottler::Activity::isQuietActivity const):

  • Source/WebKit/UIProcess/WebProcessPool.h:
  • Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):

  • Source/WebKit/UIProcess/ios/ProcessStateMonitor.h: Added.
  • Source/WebKit/UIProcess/ios/ProcessStateMonitor.mm: Added.

(WebKit::ProcessStateMonitor::ProcessStateMonitor):
(WebKit::ProcessStateMonitor::~ProcessStateMonitor):
(WebKit::ProcessStateMonitor::processDidBecomeRunning):
(WebKit::ProcessStateMonitor::processWillBeSuspended):
(WebKit::ProcessStateMonitor::processWillBeSuspendedImmediately):
(WebKit::ProcessStateMonitor::suspendTimerFired):
(WebKit::ProcessStateMonitor::checkRemainingRunTime):

  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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

10:28 AM Changeset in webkit [294404] by Alan Bujtas
  • 1 edit in trunk/metadata/contributors.json

Add github account to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240583

Reviewed by Antti Koivisto.

  • metadata/contributors.json:

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

10:26 AM Changeset in webkit [294403] by Jonathan Bedard
  • 2 edits in trunk/Tools/CISupport/ews-build

[Commit-Queue] Forbid ChangeLog modification (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=240461
<rdar://93351783>

Reviewed by Alexey Proskuryakov.

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

(CleanGitRepo.run): Abort any in progress git am commands.

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

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

10:01 AM Changeset in webkit [294402] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/Shared/AuxiliaryProcess.h

Fix comment about termination in AuxiliaryProcess
https://bugs.webkit.org/show_bug.cgi?id=240580

Patch by Olivier Blin <Olivier Blin> on 2022-05-18
Reviewed by Chris Dumez.

enableTermination is the one needed to re-enable process termination.
Typo present from initial introduction in r83767.

  • Shared/AuxiliaryProcess.h:

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

9:58 AM Changeset in webkit [294401] by Brent Fulgham
  • 1 edit in trunk/metadata/contributors.json

Update contributors.json with GitHub account
https://bugs.webkit.org/show_bug.cgi?id=240584

Reviewed by Tim Nguyen.

Add my GitHub account to the contributors.json file.

  • metadata/contributors.json:

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

9:55 AM Changeset in webkit [294400] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening]: REGRESSION(r294272): [ iOS ] Four http/tests/workers/service/shownotification tests are a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240579

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

9:00 AM Changeset in webkit [294399] by Chris Dumez
  • 57 edits
    1 copy in trunk/Source

Inline FrameDestructionObserver::frame()
https://bugs.webkit.org/show_bug.cgi?id=240506

Reviewed by Ryosuke Niwa.

Inline FrameDestructionObserver::frame() and it is a trivial getter and it shows on Speedometer
profiles.

  • Source/WebKit/Shared/WebsitePoliciesData.cpp:
  • Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
  • Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
  • Source/WebKit/WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
  • Source/WebKitLegacy/mac/DOM/DOMInternal.mm:
  • Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm:
  • Source/WebCore/Modules/applepay/PaymentSession.cpp:
  • Source/WebCore/Modules/beacon/NavigatorBeacon.cpp:
  • Source/WebCore/Modules/indexeddb/IDBFactory.cpp:
  • Source/WebCore/Modules/mediastream/MediaDevices.cpp:
  • Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:
  • Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
  • Source/WebCore/Modules/notifications/Notification.cpp:
  • Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:
  • Source/WebCore/Modules/permissions/PermissionStatus.cpp:
  • Source/WebCore/Modules/speech/SpeechRecognition.cpp:
  • Source/WebCore/Modules/speech/SpeechSynthesis.cpp:
  • Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
  • Source/WebCore/Modules/websockets/WebSocket.cpp:
  • Source/WebCore/Modules/websockets/WebSocketChannel.cpp:
  • Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/css/FontFaceSet.cpp:
  • Source/WebCore/dom/DataTransfer.cpp:
  • Source/WebCore/dom/DataTransferMac.mm:
  • Source/WebCore/dom/Document.h:

(WebCore::Document::hasBrowsingContext const): Deleted.

  • Source/WebCore/dom/DocumentInlines.h:

(WebCore::Document::hasBrowsingContext const):

  • Source/WebCore/dom/FullscreenManager.h:
  • Source/WebCore/dom/ViewportArguments.cpp:
  • Source/WebCore/html/HTMLMediaElement.cpp:
  • Source/WebCore/html/parser/HTMLConstructionSite.cpp:
  • Source/WebCore/inspector/InspectorAuditResourcesObject.cpp:
  • Source/WebCore/inspector/agents/page/PageNetworkAgent.cpp:
  • Source/WebCore/loader/ApplicationManifestLoader.cpp:
  • Source/WebCore/loader/ResourceLoader.cpp:
  • Source/WebCore/page/FrameDestructionObserver.cpp:

(WebCore::FrameDestructionObserver::frame const): Deleted.

  • Source/WebCore/page/FrameDestructionObserver.h:
  • Source/WebCore/page/FrameDestructionObserverInlines.h: Copied from Source/WebCore/page/FrameDestructionObserver.h.

(WebCore::FrameDestructionObserver::frame const):

  • Source/WebCore/page/UserMessageHandlersNamespace.cpp:
  • Source/WebCore/rendering/RenderObject.h:
  • Source/WebCore/style/StyleBuilderConverter.h:
  • Source/WebCore/testing/js/WebCoreTestSupport.cpp:
  • Source/WebCore/workers/service/ServiceWorkerClientData.cpp:
  • Source/WebCore/xml/XMLTreeViewer.cpp:
  • Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:

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

8:49 AM Changeset in webkit [294398] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

REGRESSION (r294272): [ iOS ] Four http/tests/workers/service/shownotification tests are a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240579

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

8:45 AM Changeset in webkit [294397] by pvollan@apple.com
  • 15 edits in trunk/Source

Add WebKit API to turn off the URL scheme check when linkifying through Data Detectors
https://bugs.webkit.org/show_bug.cgi?id=239900
<rdar://92026172>

Reviewed by Geoffrey Garen.

This will enable us to block the Mach service com.apple.lsd.open in the WebContent process for all clients.
The URL scheme check is disabled by default for all clients that are not Web browsers. This choice was made
because we know that com.apple.lsd.open can be blocked for Web browsers without disabling the check, since
we already have blocked it there for quite some time without observing any issues. We also have a couple of
examples of other apps, which are not Mail clients, that would need this to be the default behavior.

  • Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.h:
  • Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.mm:
  • Source/WebCore/PAL/pal/spi/cocoa/DataDetectorsCoreSPI.h:
  • Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Source/WebKit/Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Source/WebKit/Shared/WebProcessCreationParameters.h:
  • Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _disableURLSchemeCheckInDataDetectors]):

  • Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::disableURLSchemeCheckInDataDetectors const):

  • Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::nonBrowserServices): Deleted.

  • Source/WebKit/UIProcess/WebPageProxy.h:
  • Source/WebKit/WebProcess/WebProcess.h:
  • Source/WebKit/WebProcess/WebProcess.messages.in:
  • Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::disableURLSchemeCheckInDataDetectors const):

  • Source/WTF/wtf/PlatformHave.h:

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

7:55 AM Changeset in webkit [294396] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/fast/css/continuationCrash-expected.txt

[Gardening]: Rebaseline-[ iOS ] fast/css/continuationCrash.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240069

Unreviewed test gardening.

  • LayoutTests/platform/ios/fast/css/continuationCrash-expected.txt:

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

6:48 AM Changeset in webkit [294395] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore/wasm

[WASM-GC] Rtt types are represented as 64-bit values

Patch by Geza Lore <Geza Lore> on 2022-05-18
https://bugs.webkit.org/show_bug.cgi?id=239493

Reviewed by Yusuke Suzuki.

Rtt types are 64-bit reference-like values, so represent them as
B3::Int64.

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::gRtt):
(JSC::Wasm::AirIRGenerator::tmpForType):
(JSC::Wasm::AirIRGenerator::addRttCanon):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addRttCanon):

  • wasm/wasm.json:

# Please populate the above commit message. Lines starting
# with '#' will be ignored

# On branch eng/WASM-GC-Introduce-rtt-types
# Changes to be committed:
# (use "git restore --staged <file>..." to unstage)
# modified: Source/JavaScriptCore/ChangeLog
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# .clion.source.upload.marker
# clion-remote-release/
#

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

6:10 AM Changeset in webkit [294394] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp

CoreAudioSharedInternalUnit::set should pass the value pointer directly
https://bugs.webkit.org/show_bug.cgi?id=240565
rdar://93364609

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-18
Reviewed by Eric Carlson.

Manually tested by verifying that https://webrtc.github.io/samples/src/content/getusermedia/audio/ can play the microphone stream

  • Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp:

(WebCore::CoreAudioSharedInternalUnit::set):
Pass the pointer to the audio unit and not the pointer's address.

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

6:06 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
6:05 AM Changeset in webkit [294393] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.36/Source/ThirdParty/ANGLE

Merge r292765 - [GTK][WPE] Build ANGLE with the EGL_NO_PLATFORM_SPECIFIC_TYPES define
https://bugs.webkit.org/show_bug.cgi?id=239039

Reviewed by Adrian Perez de Castro.

Specify the EGL_NO_PLATFORM_SPECIFIC_TYPES define when building ANGLE
subproject for the GTK and WPE ports. This should avoid searching for
platform-specific headers that might not be available at all during
build, e.g. the X11 headers which are used by default on UNIX platforms.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
5:59 AM Changeset in webkit [294392] by graouts@webkit.org
  • 1 edit
    12 adds in trunk

[web-animations] ensure that animations using offset properties correctly run on a composited layer
https://bugs.webkit.org/show_bug.cgi?id=236709
<rdar://problem/89029756>

Reviewed by Dean Jackson.

Add all the CSS properties related to the CSS Motion Path feature to
RenderLayerCompositor::requiresCompositingForAnimation() in order to
ensure that an element's renderer is composited when one of those
properties is animated.

Tests: webanimations/offset-anchor-animation-yields-compositing.html

webanimations/offset-distance-animation-yields-compositing.html
webanimations/offset-path-animation-yields-compositing.html
webanimations/offset-position-animation-yields-compositing.html
webanimations/offset-rotate-animation-yields-compositing.html
webanimations/offset-shorthand-animation-yields-compositing.html

  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation const):

  • LayoutTests/webanimations/offset-anchor-animation-yields-compositing-expected.txt: Added.
  • LayoutTests/webanimations/offset-anchor-animation-yields-compositing.html: Added.
  • LayoutTests/webanimations/offset-distance-animation-yields-compositing-expected.txt: Added.
  • LayoutTests/webanimations/offset-distance-animation-yields-compositing.html: Added.
  • LayoutTests/webanimations/offset-path-animation-yields-compositing-expected.txt: Added.
  • LayoutTests/webanimations/offset-path-animation-yields-compositing.html: Added.
  • LayoutTests/webanimations/offset-position-animation-yields-compositing-expected.txt: Added.
  • LayoutTests/webanimations/offset-position-animation-yields-compositing.html: Added.
  • LayoutTests/webanimations/offset-rotate-animation-yields-compositing-expected.txt: Added.
  • LayoutTests/webanimations/offset-rotate-animation-yields-compositing.html: Added.
  • LayoutTests/webanimations/offset-shorthand-animation-yields-compositing-expected.txt: Added.
  • LayoutTests/webanimations/offset-shorthand-animation-yields-compositing.html: Added.

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

5:54 AM Changeset in webkit [294391] by graouts@webkit.org
  • 8 edits in trunk

[web-animations] dynamically toggle acceleration of composition animations depending on ability of animations in the effect stack to be accelerated
https://bugs.webkit.org/show_bug.cgi?id=236708
<rdar://89029577>

Reviewed by Dean Jackson.

We currently don't have support for composite operations at the GraphicsLayerCA level. There are many situations
under which an effect depends on another effect lower in the effect stack, and if that effect fails to run accelerated,
such as due to a non-replace composite operation, we should not run any other effect for that property using
acceleration.

While we could add logic to correctly determine the cases where we actually can run effects using acceleration,
it is a relatively involved task and a simpler, less error-prone approach is to correctly run a whole effect
stack containing some non-replace composite operations without any acceleration.

We already did something similar for cases where we'd fail to run an effect targeting a transform property because
GraphicsLayerCA::addAnimation() would return false. Such situations include using a steps() timing function, a
playback rate other than 1 or providing fewer than 2 animation values.

We now use a single mechanism to deal not only with the case of animations that fail to run using GraphicsLayerCA,
but also with animations that we know GraphicsLayerCA cannot handle, such as non-replace composite operations.

To do this, we change the RunningAccelerated enum to have both "Prevented" and "Failed" values instead of the
single No value to determine the reason why an effect does not accelerated. The "Prevented" value indicates that
the effect stack or the effect itself prevented the effect from running accelerated, while the "Failed" value
indicates that while we attempted to run the animation accelerated through GraphicsLayerCA, we failed to.

We now account for the "Failed" value in preventsAcceleration() to determine that an effect should prevent other
effects from running accelerated. This method is used by KeyframeEffectStack to check that all of its effects
are able to run accelerated and to toggle acceleration based on this value.

As an effect's composite operation or keyframes is set, or when pending accelerated actions are applied, we now
instantiate a CanBeAcceleratedMutationScope which will automatically detect if the preventsAcceleration() value
changes before and after such mutations, and informs the effect stack if that is the case to make sure the effect
stack knows whether it is newly able to run or not run using acceleration.

Finally, to be able to correctly interact with GraphicsLayerCA, we must make sure to reuse the same key when creating
keyframes passed to its animation APIs, so we add a m_keyframesName member.

  • Source/WebCore/animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::applyPendingAcceleratedAnimations):

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::KeyframeEffect):
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::setBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
(WebCore::KeyframeEffect::preventsAcceleration const):
(WebCore::KeyframeEffect::updateAcceleratedActions):
(WebCore::KeyframeEffect::addPendingAcceleratedAction):
(WebCore::KeyframeEffect::animationDidChangeTimingProperties):
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
(WebCore::KeyframeEffect::setComposite):
(WebCore::KeyframeEffect::effectStackNoLongerPreventsAcceleration):
(WebCore::KeyframeEffect::effectStackNoLongerAllowsAcceleration):
(WebCore::KeyframeEffect::abilityToBeAcceleratedDidChange):
(WebCore::KeyframeEffect::CanBeAcceleratedMutationScope::CanBeAcceleratedMutationScope):
(WebCore::KeyframeEffect::CanBeAcceleratedMutationScope::~CanBeAcceleratedMutationScope):
(WebCore::KeyframeEffect::stopAcceleratingTransformRelatedProperties): Deleted.

  • Source/WebCore/animation/KeyframeEffect.h:
  • Source/WebCore/animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::addEffect):
(WebCore::KeyframeEffectStack::removeEffect):
(WebCore::KeyframeEffectStack::effectAbilityToBeAcceleratedDidChange):
(WebCore::KeyframeEffectStack::allowsAcceleration const):
(WebCore::KeyframeEffectStack::startAcceleratedAnimationsIfPossible):
(WebCore::KeyframeEffectStack::stopAcceleratedAnimations):
(WebCore::KeyframeEffectStack::stopAcceleratingTransformRelatedProperties): Deleted.
(WebCore::KeyframeEffectStack::containsEffectThatPreventsAccelerationOfEffect): Deleted.

  • Source/WebCore/animation/KeyframeEffectStack.h:
  • Source/WebCore/animation/WebAnimationTypes.h:
  • LayoutTests/webanimations/accelerated-animations-and-composite-expected.txt:
  • LayoutTests/webanimations/accelerated-animations-and-composite.html:

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

5:47 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
4:24 AM Changeset in webkit [294390] by commit-queue@webkit.org
  • 563 adds in trunk/LayoutTests/platform

[LBSE] Run layout tests with LBSE activated
https://bugs.webkit.org/show_bug.cgi?id=239764

Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-05-18
Reviewed by Rob Buis.

This patch adds two new baselines, that are helpful for LBSE development.

The intention of the patch is to be able to

a) Run pixel tests with legacy SVG engine that pass 100% (... on my machine; no intention to

get pixel tests running' globablly, but it's very helpful for that kind of SVG development).

--> Generate svg/W3C-SVG-1.1 pixel test baseline using my M1 machine running latest macOS Monterey

and only add the *expected.png* files as new 'mac-monterey-wk2-pixel' baseline

$ run-webkit-tests --new-baseline --pixel-tests svg/W3C-SVG-1.1
$ mv LayoutTests/platform/mac-monterey-wk2 LayoutTests/platform/mac-monterey-wk2-pixel

b) Run pixel tests wtih LBSE

LBSE does not need a new pixel test baseline, instead we should match what the legacy engine
produces, only the text dumps are different, due to inherit differences between legacy/LBSE,
such as an additional RenderLayer structure that's now included in the text dumps.

--> Generate svg/W3C-SVG-1.1 text baseline using my M1 machine running latest macOS Monterey

and *LBSE activated* and make them available as new 'mac-monterey-wk2-lbse-text' baseline.

$ run-webkit-tests --new-baseline --internal-feature=LayerBasedSVGEngineEnabled=true svg/W3C-SVG-1.1
$ mv LayoutTests/platform/mac-monterey-wk2 LayoutTests/platform/mac-monterey-wk2-lbse-text

Armed with the new baselines we can now perform testing in three combinations:

  1. Run pixel tests using legacy SVG engine

$ run-webkit-tests --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-pixel \

--pixel-tests --tolerance=0 svg/W3C-SVG-1.1

By construction, this should succeed.

  1. Run pixel tests using LBSE

$ run-webkit-tests --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-pixel \

--additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-lbse-text \
--additional-expectations=$PWD/LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations \
--pixel-tests --tolerance=0 --internal-feature=LayerBasedSVGEngineEnabled=true svg/W3C-SVG-1.1

The 'TestExpectations' file shall reflect the curent state of LBSE, thus this is always expected to succeed.

  1. Run A/B testing legacy SVG engine. vs LBSE

$ run-webkit-tests --self-compare-with-header=LayerBasedSVGEngineEnabled=true svg/W3C-SVG-1.1

The new very helpful A/B testing, reveals that LBSE matches 66/278 tests pixel perfect of the SVG 1.1 test suite.
It ignores all existing test expectations and allows us to cross-check the TestExpectations file is correct:

$ cat LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations | grep -v "\[ Pass \]" | grep -v '#' | wc -l

212

$ cat LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations | grep "\[ Pass \]" | wc -l

66

That perfectly matches the expectations.

Evertything is ready to run tests on dedicated bots and integrate LBSE in upstream CI.

  • LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-52-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-84-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-85-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-coord-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-coord-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-07-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-05-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-07-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-08-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-09-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-10-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-04-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-05-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-06-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-04-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-05-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-06-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-08-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-path-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-03-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-04-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-05-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-06-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-07-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-08-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-07-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-09-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-10-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-12-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-13-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-14-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-15-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-16-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-17-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-18-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-19-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-20-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-21-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-23-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-25-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-26-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-27-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-28-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-29-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-30-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-31-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-32-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-33-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-34-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-37-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-44-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-46-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-52-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-61-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-63-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-64-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-65-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-66-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-67-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-68-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-69-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-70-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-77-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-78-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-80-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-83-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-84-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/animate-elem-85-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/color-prof-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/color-prop-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/color-prop-02-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/color-prop-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-coord-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-coord-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-trans-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-trans-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-trans-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-trans-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-trans-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-trans-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-units-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-units-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-units-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-color-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-example-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-image-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-light-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-light-04-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/interact-dom-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/interact-events-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/interact-order-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/interact-order-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/interact-order-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-a-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-a-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-a-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-a-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-a-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-a-07-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-path-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-path-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-path-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-path-04-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/masking-path-05-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/metadata-example-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-fill-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-fill-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-fill-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-fill-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-fill-05-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-marker-01-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-marker-02-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-marker-03-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-render-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-03-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-07-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-08-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-09-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-10-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-12-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-13-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-14-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/paths-data-15-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-elems-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-elems-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-elems-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-elems-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-elems-07-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-elems-08-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-groups-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/render-groups-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/script-handle-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/script-handle-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/script-handle-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/script-handle-04-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-line-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-cond-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-cond-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-cond-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-defs-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-dom-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-dom-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-dom-06-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-frag-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-frag-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-frag-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-frag-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-frag-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-group-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-group-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-group-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-05-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-07-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-08-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-09-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-image-10-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-use-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-use-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/struct-use-05-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-css-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-css-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-css-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-css-04-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-css-05-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-css-06-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/styling-pres-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-align-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-align-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-align-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-align-04-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-align-05-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-align-06-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-align-08-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-deco-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-fonts-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-fonts-03-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-intro-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-intro-02-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-intro-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-intro-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-path-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-text-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-text-03-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-text-04-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-text-05-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-text-06-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-text-07-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-text-08-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-tref-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-tselect-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-tspan-01-b-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-ws-01-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/text-ws-02-t-expected.png: Added.
  • LayoutTests/platform/mac-monterey-wk2-pixel/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.png: Added.

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

4:23 AM Changeset in webkit [294389] by commit-queue@webkit.org
  • 2 edits in trunk/Source

ENABLE_LAYER_BASED_SVG_ENGINE needs to match for iOS and macOS
https://bugs.webkit.org/show_bug.cgi?id=239877
<rdar://problem/92829309>

Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-05-18
Reviewed by Simon Fraser.

Switch on ENABLE_LAYER_BASED_SVG_ENGINE for all Cocoa based platforms.

This only works after fixing one build issue:
hasTransform() now needs hasSVGTransform(), when in turn uses rareData(), which
is not exported by WebCore at present breaking tvOS/watchOS/iOS builds, fix that.

Covered by existing tests, no change in behaviour.

  • Source/WTF/wtf/PlatformEnableCocoa.h:
  • Source/WebCore/rendering/RenderObject.h:
3:43 AM Changeset in webkit [294388] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.36.2

WPE WebKit 2.36.2

3:43 AM Changeset in webkit [294387] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36

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

.:

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

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.36.2.
2:01 AM Changeset in webkit [294386] by commit-queue@webkit.org
  • 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations

[ macOS wk1 ] http/wpt/fetch/navigation-post-to-get-origin.html hits a flaky assertion in invokeReadableStreamDefaultControllerFunction
https://bugs.webkit.org/show_bug.cgi?id=230693

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-18
Unreviewed.

  • LayoutTests/platform/mac-wk1/TestExpectations:

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

1:47 AM Changeset in webkit [294385] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Activate text rendering, by re-using RenderSVGText
https://bugs.webkit.org/show_bug.cgi?id=239743

Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-05-18
Reviewed by Rob Buis.

Adapt RenderSVGText to be usable at the same time from legacy SVG engine (as
it is right now) and from LBSE. This requires minimal effort, since RenderSVGText
already inherited from RenderLayerModelObject, so there's no need for the creation
of LegacyRenderSVGText / RenderSVGText as separated legacy/LBSE implementations.

Most SVG 1.1 <text> testcases already pass out of the box with this change.
The next patch after text support will add a new 'macos-wk2-lbse-xxx' specific
platform baseline, so that we can run tests LBSE againt iself (finally we can
include the progressions in the form of TestExpectation file changes, once a certain
patch implements a new feature in LBSE. This makes sense now as enough is upstreamed
that a considerable amount of the SVG 1.1 testsuite already passes pixel perfect.

Covered by existing tests, no change in behaviour. (However testability for LBSE is ready soon!).

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::computeVisibleRectInSVGContainer const):

  • rendering/RenderObject.cpp:

(WebCore::objectIsRelayoutBoundary):

  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::updateFromStyle):
(WebCore::RenderSVGBlock::absoluteRects const):
(WebCore::RenderSVGBlock::absoluteQuads const):
(WebCore::RenderSVGBlock::styleDidChange):
(WebCore::RenderSVGBlock::computeOverflow):
(WebCore::RenderSVGBlock::clippedOverflowRect const):
(WebCore::RenderSVGBlock::computeVisibleRectInContainer const):
(WebCore::RenderSVGBlock::computeFloatVisibleRectInContainer const):
(WebCore::RenderSVGBlock::pushMappingToContainer const):
(WebCore::RenderSVGBlock::offsetFromContainer const):
(WebCore::RenderSVGBlock::nodeAtPoint): Deleted.

  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::RenderSVGText):
(WebCore::RenderSVGText::layout):
(WebCore::RenderSVGText::nodeAtFloatPoint):
(WebCore::RenderSVGText::nodeAtPoint):
(WebCore::RenderSVGText::paint):
(WebCore::RenderSVGText::repaintRectInLocalCoordinates const):
(WebCore::RenderSVGText::updatePositionAndOverflow):
(WebCore::RenderSVGText::absoluteQuads const): Deleted.

  • rendering/svg/RenderSVGText.h:
  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::renderSVGText const):
(WebCore::SVGRootInlineBox::paint):
(WebCore::SVGRootInlineBox::layoutRootBox):
(WebCore::SVGRootInlineBox::renderSVGText): Deleted.

  • rendering/svg/SVGRootInlineBox.h:
  • svg/SVGElement.cpp:

(WebCore::createSVGLayerAwareElementSet):

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

12:18 AM Changeset in webkit [294384] by Diego Pino Garcia
  • 1 edit in trunk/Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp

Unreviewed, non-unified build fixes after r294166

May 17, 2022:

11:26 PM Changeset in webkit [294383] by Antti Koivisto
  • 13 edits in trunk/Source/WebCore

Template TextBoxPainter on line layout path
https://bugs.webkit.org/show_bug.cgi?id=240416

Reviewed by Alan Bujtas.

Painting currently goes via a line layout path agnostic iterator.
This is inefficient since we always know what sort of layout we are painting.

  • Source/WebCore/layout/integration/inline/InlineIteratorBox.cpp:

(WebCore::InlineIterator::Box::visualRect const):

  • Source/WebCore/layout/integration/inline/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::containingBlock const):
(WebCore::InlineIterator::Box::visualRect const): Deleted.

  • Source/WebCore/layout/integration/inline/InlineIteratorBoxLegacyPath.h:

(WebCore::InlineIterator::BoxLegacyPath::containingBlock const):
(WebCore::InlineIterator::BoxLegacyPath::direction const):
(WebCore::InlineIterator::BoxLegacyPath::isFirstLine const):

  • Source/WebCore/layout/integration/inline/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::containingBlock const):
(WebCore::InlineIterator::BoxModernPath::direction const):
(WebCore::InlineIterator::BoxModernPath::isFirstLine const):
(WebCore::InlineIterator::BoxModernPath::renderText const):

  • Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

  • Source/WebCore/rendering/GlyphDisplayListCache.h:

(WebCore::GlyphDisplayListCache::singleton):

  • Source/WebCore/rendering/InlineBoxPainter.cpp:

(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):

  • Source/WebCore/rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::addTextBoxVisualOverflow):

  • Source/WebCore/rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::paint):

  • Source/WebCore/rendering/LegacyInlineTextBox.h:
  • Source/WebCore/rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • Source/WebCore/rendering/TextBoxPainter.cpp:

(WebCore::LegacyTextBoxPainter::LegacyTextBoxPainter):
(WebCore::ModernTextBoxPainter::ModernTextBoxPainter):
(WebCore::TextBoxPainter<TextBoxPath>::TextBoxPainter):
(WebCore::TextBoxPainter<TextBoxPath>::~TextBoxPainter):
(WebCore::TextBoxPainter<TextBoxPath>::makeIterator const):
(WebCore::TextBoxPainter<TextBoxPath>::paint):
(WebCore::TextBoxPainter<TextBoxPath>::createMarkedTextFromSelectionInBox):
(WebCore::TextBoxPainter<TextBoxPath>::paintBackground):
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundAndDecorations):
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionBackground):
(WebCore::TextBoxPainter<TextBoxPath>::paintForeground):
(WebCore::TextBoxPainter<TextBoxPath>::createDecorationPainter):
(WebCore::TextBoxPainter<TextBoxPath>::paintBackgroundDecorations):
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundDecorations):
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderlines):
(WebCore::TextBoxPainter<TextBoxPath>::textPosition):
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderline):
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarkers):
(WebCore::LegacyTextBoxPainter::calculateUnionOfAllDocumentMarkerBounds):
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarker):
(WebCore::TextBoxPainter<TextBoxPath>::computePaintRect):
(WebCore::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter<TextBoxPath>::computeHaveSelection const):
(WebCore::TextBoxPainter<TextBoxPath>::fontCascade const):
(WebCore::TextBoxPainter<TextBoxPath>::textOriginFromPaintRect const):
(WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const):
(WebCore::TextBoxPainter::TextBoxPainter): Deleted.
(WebCore::TextBoxPainter::~TextBoxPainter): Deleted.
(WebCore::TextBoxPainter::paint): Deleted.
(WebCore::TextBoxPainter::createMarkedTextFromSelectionInBox): Deleted.
(WebCore::TextBoxPainter::paintBackground): Deleted.
(WebCore::TextBoxPainter::paintForegroundAndDecorations): Deleted.
(WebCore::TextBoxPainter::paintCompositionBackground): Deleted.
(WebCore::TextBoxPainter::paintForeground): Deleted.
(WebCore::TextBoxPainter::createDecorationPainter): Deleted.
(WebCore::TextBoxPainter::paintBackgroundDecorations): Deleted.
(WebCore::TextBoxPainter::paintForegroundDecorations): Deleted.
(WebCore::TextBoxPainter::paintCompositionUnderlines): Deleted.
(WebCore::textPosition): Deleted.
(WebCore::TextBoxPainter::paintCompositionUnderline): Deleted.
(WebCore::TextBoxPainter::paintPlatformDocumentMarkers): Deleted.
(WebCore::TextBoxPainter::calculateUnionOfAllDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter::paintPlatformDocumentMarker): Deleted.
(WebCore::TextBoxPainter::computePaintRect): Deleted.
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter::computeHaveSelection const): Deleted.
(WebCore::TextBoxPainter::fontCascade const): Deleted.
(WebCore::TextBoxPainter::textOriginFromPaintRect const): Deleted.
(WebCore::TextBoxPainter::debugTextShadow const): Deleted.

  • Source/WebCore/rendering/TextBoxPainter.h:

(WebCore::TextBoxPainter::textBox const):

9:47 PM Changeset in webkit [294382] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Add jgriego to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240525

Patch by Joseph Griego <jgriego@igalia.com> on 2022-05-17
Reviewed by Tim Nguyen.

  • metadata/contributors.json:

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

8:23 PM Changeset in webkit [294381] by sihui_liu@apple.com
  • 12 edits in trunk/Source/WebKit/UIProcess

WebProcessProxy should not hold WebsiteDataStore alive when there is no page
https://bugs.webkit.org/show_bug.cgi?id=238892
<rdar://problem/91715517>

Reviewed by Youenn Fablet.

WebProcessProxy can outlive WebPageProxy, and because WebProcessProxy holds strong reference to WebsiteDataStore,
WebsiteDataStore will be kept alive even when it's not used by any page and will not be used by any page.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::createGPUProcessConnection):

  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):

  • UIProcess/ProvisionalPageProxy.h:
  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::findReusableSuspendedPageProcess):

  • UIProcess/WebBackForwardCache.cpp:

(WebKit::WebBackForwardCache::removeEntriesForSession):

  • UIProcess/WebLockRegistryProxy.cpp:

(WebKit::WebLockRegistryProxy::requestLock):
(WebKit::WebLockRegistryProxy::releaseLock):
(WebKit::WebLockRegistryProxy::abortLockRequest):
(WebKit::WebLockRegistryProxy::snapshot):
(WebKit::WebLockRegistryProxy::clientIsGoingAway):
(WebKit::WebLockRegistryProxy::processDidExit):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::swapToProvisionalPage):
(WebKit::WebPageProxy::commitProvisionalPage):

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::canCacheProcess const):
(WebKit::WebProcessCache::takeProcess):
(WebKit::WebProcessCache::clearAllProcessesForSession):
(WebKit::WebProcessCache::CachedProcess::CachedProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::m_webLockRegistry):
(WebKit::WebProcessProxy::websiteDataStore const):
(WebKit::WebProcessProxy::setWebsiteDataStore):
(WebKit::WebProcessProxy::isDummyProcessProxy const):
(WebKit::WebProcessProxy::updateRegistrationWithDataStore):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
(WebKit::WebProcessProxy::sessionID const):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::websiteDataStore const): Deleted.

  • UIProcess/glib/WebProcessProxyGLib.cpp:

(WebKit::WebProcessProxy::platformGetLaunchOptions):

7:19 PM Changeset in webkit [294380] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Add myself (Asumu Takikawa) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240546

Patch by Asumu Takikawa <asumu@igalia.com> on 2022-05-17
Reviewed by Yusuke Suzuki.

  • metadata/contributors.json:

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

6:45 PM Changeset in webkit [294379] by commit-queue@webkit.org
  • 1 edit in trunk/Tools/glib/generate-pdfjs-gresource-manifest.py

[WPE][GTK] generate-pdfjs-gresource-manifest.py should be more careful about unknown files
https://bugs.webkit.org/show_bug.cgi?id=240536

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-17
Reviewed by Adrian Perez de Castro.

Instead of silently ignoring unexpected files, let's create a list of
all files that we do not want to include in the resource manifest.
Anything unexpected will result in a build failure so that there are no
mistakes.

Also, change the lists at the top of the script into sets. Adrian
noticed that they do not need to be ordered.

  • Tools/glib/generate-pdfjs-gresource-manifest.py:

(get_filenames):
(get_filenames.should_ignore_resource): Deleted.

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

6:43 PM Changeset in webkit [294378] by ap@apple.com
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

Reverting https://trac.webkit.org/r294367, as some of our automation hosts don't
have the --date=unix option.

Reviewed by NOBODY (OOPS!).

  • Scripts/libraries/webkitscmpy/setup.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.Cache.populate):
(Git.commit):
(Git._args_from_content):
(Git.commits):

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_log):

6:42 PM Changeset in webkit [294377] by basuke.suzuki@sony.com
  • 1 edit in trunk/Source/WebCore/page/win/ResourceUsageThreadWin.cpp

[WinCairo] Add memory usage of LibcMalloc category
https://bugs.webkit.org/show_bug.cgi?id=239660

Reviewed by Ross Kirsling.

WinCairo's memory timeline just displays JavaScript memory usage. Adding
this info shows also Page
memory usage.

  • page/win/ResourceUsageThreadWin.cpp:

(WebCore::ResourceUsageThread::platformCollectMemoryData):

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

6:37 PM Changeset in webkit [294376] by zhifei_fang@apple.com
  • 3 edits in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy

[git-webkit] Make git-webkit revert a two step workflow
https://bugs.webkit.org/show_bug.cgi?id=240192
rdar://92875608

Reviewed by Jonathan Bedard.

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

(PullRequest.create_pull_request):
(PullRequest.add_comment_to_reverted_commit_bug_tracker):
(PullRequest.is_revert_commit):

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

(Revert):
(Revert.parser):
(Revert.revert_commit):
(Revert.main):

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

(TestRevert.test_github):
(test_update):

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

6:20 PM Changeset in webkit [294375] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.100.1

Tag WebKit-7614.1.14.100.1.

6:17 PM Changeset in webkit [294374] by yurys@chromium.org
  • 9 edits
    3 adds in trunk

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

Reviewed by Devin Rousso.

  • http/tests/inspector/network/eventsource-type-expected.txt: Added.
  • http/tests/inspector/network/eventsource-type.html: Added.
  • http/tests/inspector/network/resources/event-source.py: Added.

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

  • inspector/protocol/Page.json: added EventSource resource type.

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

Network requests initiated by EventSource now have their own requester
type which allows to distinguish them from other requests.

Test: http/tests/inspector/network/eventsource-type.html

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJSON):
(WebCore::InspectorPageAgent::inspectorResourceType):

  • inspector/agents/InspectorPageAgent.h:
  • page/EventSource.cpp:

(WebCore::EventSource::connect):

  • platform/network/ResourceRequestBase.h:

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

EventSource initiated requests are now displayed with their own type
in the network panel.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.canBeOverridden):

  • UserInterface/Models/Resource.js:

(WI.Resource.displayNameForType):

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.displayNameForResource):

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

6:09 PM Changeset in webkit [294373] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore/Modules/WebGPU

[WebGPU] Work around https://bugs.webkit.org/show_bug.cgi?id=240219
https://bugs.webkit.org/show_bug.cgi?id=240441

https://bugs.webkit.org/show_bug.cgi?id=240219 is about a bug where we can't
say "optional thingy = 0" in an IDL file. This patch works around that in WebGPU
by replacing it with "optional thingy" and then "thingy.value_or(0)" in the C++
code. This is temporary, until https://bugs.webkit.org/show_bug.cgi?id=240219 is
fixed.

No new tests because there is no behavior change.

  • Modules/WebGPU/GPUBuffer.cpp:

(WebCore::GPUBuffer::mapAsync):
(WebCore::GPUBuffer::getMappedRange):

  • Modules/WebGPU/GPUBuffer.h:
  • Modules/WebGPU/GPUBuffer.idl:

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

5:59 PM Changeset in webkit [294372] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.11.2

Tag WebKit-7614.1.14.11.2.

5:55 PM Changeset in webkit [294371] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

Private relay should fail closed for third party loads if the main resource was loaded over private relay
https://bugs.webkit.org/show_bug.cgi?id=240483
<rdar://92697007>

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

This re-lands the change from r293861 along with r293481 which should fix problems related to rdar://92336270
along with r293591 which should fix performance regressions related to rdar://92458995 but was insufficient.
During a basic browsing test, I found two more places where we were making a NetworkDataTask without setting the
parameters' top origin, one in the SpeculativeLoad constructor and another in WebLoaderStrategy::preconnectTo.

  • Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::startPreflight):

  • Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

  • Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(WebKit::NetworkSessionCocoa::createWebSocketTask):

  • Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::preconnectTo):

5:50 PM Changeset in webkit [294370] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.11-branch/Source

Versioning.

WebKit-7614.1.14.11.2

5:37 PM Changeset in webkit [294369] by Chris Dumez
  • 1 edit in trunk/Source/WebCore/platform/graphics/FontCascade.cpp

Stop using ASCIILiteral::fromLiteralUnsafe() in FontCascade.cpp https://bugs.webkit.org/show_bug.cgi?id=240548

Reviewed by Myles C. Maxfield.

Stop using ASCIILiteral::fromLiteralUnsafe() in FontCascade.cpp and use ASCIILiteral
directly.

  • Source/WebCore/platform/graphics/FontCascade.cpp:

(WebCore::useBackslashAsYenSignForFamily):

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

5:27 PM Changeset in webkit [294368] by Alan Coon
  • 9 edits in branches/safari-7614.1.12-branch/Source

Versioning.

WebKit-7614.1.12.5

5:20 PM Changeset in webkit [294367] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

[git-webkit] Use --date=unix in log commands
https://bugs.webkit.org/show_bug.cgi?id=240537

Reviewed by Stephanie Lewis.

Override any local configuration for git log's date format,
use a simpler date format.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.Cache.populate): Use --date=unix.
(Git.commit): Ditto.
(Git._args_from_content): Parse --date=unix.
(Git.commits): Use --date=unix.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_log):

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

5:05 PM Changeset in webkit [294366] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.3

Tag WebKit-7614.1.14.0.3.

4:58 PM Changeset in webkit [294365] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.3

Tag WebKit-7614.1.14.1.3.

4:54 PM Changeset in webkit [294364] by basuke.suzuki@sony.com
  • 1 edit in trunk/Source/bmalloc/libpas/src/libpas/pas_utils.c

[libpas] Suppress warnings for %llu format specifier for uint64_t.
https://bugs.webkit.org/show_bug.cgi?id=240541

Reviewed by Yusuke Suzuki.

Use PRIu64 instead.

  • libpas/src/libpas/pas_utils.c:

(pas_assertion_failed_no_inline_with_extra_detail):

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

4:50 PM Changeset in webkit [294363] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening]: REGRESSION (r294215): [ iOS ] Nine focus ring tests are a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240495

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

4:45 PM Changeset in webkit [294362] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

[macOS][WP] Add required methods to graphics filters
https://bugs.webkit.org/show_bug.cgi?id=240398
<rdar://92460835>

Reviewed by Geoffrey Garen.

Add required methods to graphics filters. These have been observed being used in telemetry.

  • Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:

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

4:23 PM Changeset in webkit [294361] by Patrick Angle
  • 3 edits in trunk/Source/JavaScriptCore/inspector/remote

[Cocoa] Web Driver: RemoteAutomationTargets marked for termination and targets that have never been paired may briefly be indistinguishable in application target listing
https://bugs.webkit.org/show_bug.cgi?id=240524
<rdar://93430106>

Reviewed by BJ Burg and Devin Rousso.

A RemoteAutomationTarget has multiple possible entries it may provide in an application listing to webinspectord,
which are then interpreted by webinspectord to determine the current state of that target. The key pieces for this bug
are that a WIRConnectionIdentifierKey which when present is taken to mean that the target is no longer pristine and
WIRAutomationTargetIsPairedKey which when true indicates that the target is paired. When a connection identifier is
present and we are no longer paired, the connection is considered terminated.

There exists a race condition where webinspectord preemptively set the targets state to "Terminated" upon sending a
close request in order to make sure that the target is no longer used. Upon receiving the close message for the target
the connection identifier is removed from the map of known connection identifiers before scheduling the actual target to
be torn down asyncronously. In most cases this works fine, but sometimes an application listing is created and sent
between removing the identifier from the map of known connections and actually tearing down the target, and that is
where this issue occurs. We will in that case send a listing for the automation target with no connection identifier
(since we removed it from the map already), which is then interpreted as a listing for a pristine automation target. At
that point, it is possible that automation sessions that are being rapidly created and destroyed will attempt to pair
with the seemingly pristine existing session, even though that session is about to be torn down.

  • Source/JavaScriptCore/inspector/remote/RemoteAutomationTarget.h:
  • Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteConnectionToTarget::close):

  • Source/JavaScriptCore/inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::listingForAutomationTarget const):

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

4:19 PM Changeset in webkit [294360] by Adrian Perez de Castro
  • 1 copy in releases/WebKitGTK/webkit-2.36.2

WebKitGTK 2.36.2

4:17 PM Changeset in webkit [294359] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.36.2 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.36.2.
4:17 PM Changeset in webkit [294358] by Adrian Perez de Castro
  • 1 edit in trunk/Tools/Scripts/check-for-invalid-symbols-in-version-script

[Python3] Fix Tools/Scripts/check-for-invalid-symbols-in-version-script
https://bugs.webkit.org/show_bug.cgi?id=240543

Reviewed by Michael Catanzaro.

  • Tools/Scripts/check-for-invalid-symbols-in-version-script: Change shebang to use "python3", and pass an "encoding" argument to the Popen constructor to read strings instead of bytes from the subprocess pipe.

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

4:17 PM Changeset in webkit [294357] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Tools

Fix Tools/Scripts/check-for-invalid-symbols-in-version-script
https://bugs.webkit.org/show_bug.cgi?id=240543

Unreviewed build fix.

  • Tools/Scripts/check-for-invalid-symbols-in-version-script: Change

shebang to use "python3", and pass an "encoding" argument to the Popen
constructor to read strings instead of bytes from the subprocess pipe.

4:17 PM Changeset in webkit [294356] by Adrian Perez de Castro
  • 7 edits in releases/WebKitGTK/webkit-2.36/Tools

Merge r290799 - [Python3] Switch a few more glib scripts to Python3
https://bugs.webkit.org/show_bug.cgi?id=237442

Reviewed by Adrian Perez de Castro.

  • Scripts/check-for-global-bss-symbols-in-webkitgtk-libs: Update

shebang.
(bss_symbols): Decode Popen bytes output.

  • gtk/jhbuildrc: Update shebang.
  • gtk/ycm_extra_conf.py: Ditto.
  • jhbuild/jhbuild-wrapper: Ditto.

(jhbuild_at_expected_revision): Decode Popen bytes output.

  • jhbuild/jhbuildrc_common.py: Remove uneeded shebang.
  • wpe/jhbuildrc: Update shebang.
3:41 PM Changeset in webkit [294355] by Matt Woodrow
  • 1 edit in trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h

Don't synchronously flush when destroying RemoteImageBufferProxy

Reviewed by Said Abou-Hallawa.

No correctness tests added, since this should just be a performance improvement.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):

3:31 PM Changeset in webkit [294354] by Karl Rackler
  • 1 delete in trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints

[Gardening]: REGRESSION (r294317): [ iOS ] Eight imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation are a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240538

Unreviewed test gardening.

  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.

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

3:11 PM Changeset in webkit [294353] by yurys@chromium.org
  • 2 edits in trunk/Tools/Scripts/webkitpy/style/checkers

check-webkit-style: allow all upper case value in ResourceRequestBase::Requester
https://bugs.webkit.org/show_bug.cgi?id=240532

Reviewed by Devin Rousso.

  • Tools/Scripts/webkitpy/style/checkers/cpp.py:add style checker exception for

ResourceRequestBase::Requester enum as it contains XHR value which is all
upper case.

  • Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:

(NoNonVirtualDestructorsTest):

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

3:08 PM Changeset in webkit [294352] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.12.4

Tag WebKit-7614.1.12.4.

3:00 PM Changeset in webkit [294351] by yurys@chromium.org
  • 2 edits in trunk/Tools/Scripts/webkitpy/style/checkers

check-webkit-style: validate enums declared with explicit type
https://bugs.webkit.org/show_bug.cgi?id=240478

Reviewed by Devin Rousso.

check-webkit-style now validates case of the enums delcared with explicit
type specifier.

  • Tools/Scripts/webkitpy/style/checkers/cpp.py:

(_EnumState.process_clean_line):

  • Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:

(NoNonVirtualDestructorsTest):

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

2:34 PM Changeset in webkit [294350] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.1-branch/Source/WebCore/accessibility/isolatedtree

Cherry-pick r294328. rdar://problem/92822756

AX: Lazily retrieve AXPropertyName::SupportsPressAction, AXPropertyName::ColumnHeaders, and AXPropertyName::RowHeaders
https://bugs.webkit.org/show_bug.cgi?id=240473

Reviewed by Chris Fleizach.

These properties can be expensive to compute up-front, so retrieve them
lazily.

No test because there is no user-facing behavior change.

  • accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::initializeProperties): (WebCore::AXIsolatedObject::getOrRetrievePropertyValue): (WebCore::AXIsolatedObject::columnHeaders): (WebCore::AXIsolatedObject::rowHeaders): (WebCore::AXIsolatedObject::supportsPressAction const):
  • accessibility/isolatedtree/AXIsolatedObject.h:

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

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

2:34 PM Changeset in webkit [294349] by Alan Coon
  • 7 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294285. rdar://problem/93385094

Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI
https://bugs.webkit.org/show_bug.cgi?id=240494
rdar://93385094

Reviewed by Tim Horton.

This method was only intended for use in MiniBrowser, and should ship as public API on WKWebView. Move the
declaration and implementation of this over to WKWebViewPrivateForTestingMac.h and WKWebViewTestingMac.mm
(respectively), and additionally prefix this testing-only SPI with an underscore.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView retrieveAccessibilityTreeData:]): Deleted.
  • UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
  • UIProcess/API/mac/WKWebViewTestingMac.mm: (-[WKWebView _retrieveAccessibilityTreeData:]): Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI https://bugs.webkit.org/show_bug.cgi?id=240494 rdar://93385094

Reviewed by Tim Horton.

See WebKit/ChangeLog for more details.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController logAccessibilityTrees:]):

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

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

2:34 PM Changeset in webkit [294348] by Alan Coon
  • 66 edits
    2 adds
    2 deletes in branches/safari-7614.1.14.1-branch/Source/WebKit

Cherry-pick r294190. rdar://problem/91006582

SharedBuffer should be copied and then attributed back to WebContent
https://bugs.webkit.org/show_bug.cgi?id=240223
rdar://91006582

Patch by Jean-Yves Avenard <jean-yves.avenard@apple.com> on 2022-05-14
Reviewed by Jer Noble.

Ideally, when mapping an IPCHandle we would prefer to use Copy On Write.
However, there's no support for COW with explicitly-owned memory such as
those created with VM_FLAGS_PURGABLE flag.
As such, when calling mach_vm_map with copy=true argument is set the
entire page will be copied.
It is therefore more performant to manually create a new buffer and copy
the actual content.
The memory can then be blamed on a particular process.

Rework FragmentedSharedBuffer/SharedBuffer IPC's serializer to perform
a copy, partially reverting changes made in bug 233401.

We replace the unnecessary use of SharedMemory::IPCHandle and directly
send SharedBuffer in clipboard and PDF related methods.
Rename SharedBufferCopy to SharedBufferReference to more accurately
describe what it does.

Make new use of the SharedBufferReference class, replacing the use of IPCHandle
in RemoteSourceBufferProxy and RemoteMediaResourceManager.

Rename SharedBufferReference::buffer() into
SharedBufferReference::unsafeBuffer() to give better clarity that accessing
SharedBuffer and SharedMemory should be treated with care.

SharedBuffer sent from trusted processes such as network process should
prefer the use of SharedBufferReference over directly using IPCHandle or
SharedBuffer, it makes optimisation easier and avoid duplicating code.

No observable change, covered by existing tests.

  • GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
  • GPUProcess/media/RemoteCDMInstanceProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp: (WebKit::RemoteImageDecoderAVFProxy::createDecoder): (WebKit::RemoteImageDecoderAVFProxy::setData):
  • GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • GPUProcess/media/RemoteMediaResourceManager.cpp: (WebKit::RemoteMediaResourceManager::RemoteMediaResourceManager): (WebKit::RemoteMediaResourceManager::dataReceived):
  • GPUProcess/media/RemoteMediaResourceManager.h:
  • GPUProcess/media/RemoteMediaResourceManager.messages.in:
  • GPUProcess/media/RemoteSourceBufferProxy.cpp: (WebKit::RemoteSourceBufferProxy::append):
  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::bufferingTimerFired): (WebKit::NetworkResourceLoader::sendBuffer): (WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp: (WebKit::ServiceWorkerDownloadTask::didReceiveData):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.messages.in:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::didReceiveData): (WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
  • Platform/IPC/SharedBufferCopy.cpp: Removed.
  • Platform/IPC/SharedBufferCopy.h: Removed.
  • Platform/IPC/SharedBufferReference.cpp: Added. (IPC::SharedBufferReference::encode const): (IPC::SharedBufferReference::decode): (IPC::SharedBufferReference::unsafeBuffer const): (IPC::SharedBufferReference::data const): (IPC::SharedBufferReference::bufferWithOwner const):
  • Platform/IPC/SharedBufferReference.h: Added. (IPC::SharedBufferReference::SharedBufferReference): (IPC::SharedBufferReference::size const): (IPC::SharedBufferReference::isEmpty const): (IPC::SharedBufferReference::isNull const):
  • Platform/SharedMemory.cpp: (WebKit::transferOwnershipOfMemory const):
  • Platform/SharedMemory.h:
  • Platform/cocoa/SharedMemoryCocoa.cpp: (WebKit::changeOwnershipOfMemory): (WebKit::SharedMemory::Handle::takeOwnershipOfMemory const): (WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): (WebKit::machProtection): (WebKit::SharedMemory::map):
  • Scripts/process-entitlements.sh:
  • Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp: (WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
  • Shared/WebCoreArgumentCoders.cpp: (IPC::encodeSharedBuffer): (IPC::decodeSharedBuffer):
  • Sources.txt:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView createPDFWithConfiguration:completionHandler:]):
  • UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: (WebKit::WebPasteboardProxy::getPasteboardBufferForType): (WebKit::WebPasteboardProxy::setPasteboardBufferForType): (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::sendAudioComponentRegistrations):
  • UIProcess/WebPageProxy.cpp: (WebKit::CompletionHandler<void): (WebKit::WebPageProxy::drawPagesToPDF): (WebKit::WebPageProxy::drawToPDF): (WebKit::WebPageProxy::getLoadDecisionForIcon): (WebKit::WebPageProxy::updateAttachmentAttributes): (WebKit::WebPageProxy::registerAttachmentIdentifierFromData): (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPasteboardProxy.cpp: (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPasteboardProxy.messages.in:
  • UIProcess/WebURLSchemeTask.cpp: (WebKit::WebURLSchemeTask::didReceiveData):
  • UIProcess/gtk/WebPasteboardProxyGtk.cpp: (WebKit::WebPasteboardProxy::readBuffer):
  • UIProcess/ios/WKContentView.mm: (-[WKContentView _wk_pageCountForPrintFormatter:]):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::drawToPDFiOS):
  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::dataSelectionForPasteboard):
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp: (WebKit::RemoteImageDecoderAVF::setData):
  • WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp: (WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
  • WebProcess/GPU/media/RemoteMediaResourceProxy.cpp: (WebKit::RemoteMediaResourceProxy::dataReceived):
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp: (WebKit::SourceBufferPrivateRemote::append):
  • WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveData):
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::writeItemsToPasteboard):
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp: (WebKit::WebServiceWorkerFetchTaskClient::didReceiveData): (WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::registerAttachmentIdentifier):
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::bufferForType): (WebKit::WebPlatformStrategies::setBufferForType): (WebKit::WebPlatformStrategies::readBufferFromClipboard): (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: (WebKit::WebDragClient::declareAndWriteDragImage):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::getContentsAsMHTMLData): (WebKit::WebPage::getSelectionAsWebArchiveData): (WebKit::WebPage::getMainResourceDataOfFrame): (WebKit::WebPage::getResourceDataFromFrame): (WebKit::WebPage::getWebArchiveOfFrame): (WebKit::WebPage::getAccessibilityTreeData): (WebKit::WebPage::drawToPDF): (WebKit::WebPage::drawPagesToPDF): (WebKit::WebPage::didGetLoadDecisionForIcon): (WebKit::WebPage::urlSchemeTaskDidReceiveData): (WebKit::WebPage::updateAttachmentAttributes):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getDataSelectionForPasteboard): (WebKit::WebPage::performActionOnElement): (WebKit::WebPage::drawToPDFiOS): (WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):
  • WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getDataSelectionForPasteboard):
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::consumeAudioComponentRegistrations):

# Please populate the above commit message. Lines starting
# with '#' will be ignored

# 13 Tim Horton <timothy_horton@apple.com>
#
# ApplePayLogoSystemImage needlessly loads PassKit in WebKit child processes on iOS
# https://bugs.webkit.org/show_bug.cgi?id=240404
# <rdar://93070349>
#
# Reviewed by Chris Dumez.
#
# * UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
# (WebKit::ProcessLauncher::launchProcess): Adopt the WTF implementation of systemDirectoryPath.
# (WebKit::systemDirectoryPath): Moved to WTF.
#
# 13 Wenson Hsieh <Wenson Hsieh>
#
# ImageAnalysisQueue should reanalyze image elements whose image sources have changed
# https://bugs.webkit.org/show_bug.cgi?id=240371
# rdar://93175651
#
# Reviewed by Tim Horton.
#
# To aid with debugging similar issues in the future, plumb the image URL through to
# requestImageAnalysisWithIdentifier, which (if an engineering default is specified) will additionally reveal
# the URL in system logs.
#
# * Platform/cocoa/ImageAnalysisUtilities.h:
# * UIProcess/Cocoa/WebViewImpl.mm:
# (WebKit::WebViewImpl::requestTextRecognition):
# * UIProcess/ios/WKContentViewInteraction.mm:
# (-[WKContentView requestTextRecognition:imageData:identifier:completionHandler:]):
#
# 13 Aditya Keerthi <Aditya Keerthi>
#
# [iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
# https://bugs.webkit.org/show_bug.cgi?id=240393
# rdar://91441895
#
# Reviewed by Wenson Hsieh.
#
# Some WebKit clients use SPI on WKWebView to support "find from selection"
# functionality (the Cmd+E shortcut). However, to support general
# find functionality, they use new find API that uses a different codepath
# to draw highlights. Mixing use of the API and SPI can currently result
# in two highlights showing up.
#
# To fix, ensure SPI highlights are removed once the API is being used.
# The long term solution is for clients to adopt API for the
# "find from selection" functionality, but in the short term the SPI
# should remain supported.
#
# * WebProcess/WebPage/WebPage.cpp:
# (WebKit::WebPage::clearAllDecoratedFoundText):
#
# 13 Kimmo Kinnunen <kkinnunen@apple.com>
#
# IPC cannot encode, decode Ref<>, causing duplicate code
# https://bugs.webkit.org/show_bug.cgi?id=240160
#
# Reviewed by Antti Koivisto.
#
# Consider reference counted type T:
# Encoding is of signature encode(const T&)
# Decoding is of signature std::optional<Ref<T>> decode()
# This is usable for both RefPtr and Ref use-cases.
#
# Add Ref<T> encoder that is polymorphic to T.
# This way clients do not need to write encoders for
# Ref<T>, RefPtr<T>. They just need one encoder, for T.
#
# When clients do not need to write RefPtr<T>, they make less
# bugs. These will be corrected in future patches.
#
# Having Ref<T> encoders allows clients to use Vector<Ref<T>> encoding
# via Vector<U> encoder, and they would not need to duplicate that
# logic, making less bugs. These will be corrected in future patches.
#
# Remove most IPC::ArgumentCoder<Ref<..>> in favor of IPC::ArgumentCoder<..>.
# In the cases where removal was done, remove also redundant
# IPC::ArgumentCoder<RefPtr<..>>.
#
# * Platform/IPC/ArgumentCoders.h:
# (IPC::ArgumentCoder<RefPtr<T>>::decode):
# (IPC::ArgumentCoder<Ref<T>>::encode):
# (IPC::ArgumentCoder<Ref<T>>::decode):
# * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
# (IPC::ArgumentCoder<WebCore::Font>::encodePlatformData):
# (IPC::ArgumentCoder<WebCore::Font>::decodePlatformData):
# * Shared/WebCoreArgumentCoders.cpp:
# (IPC::ArgumentCoder<WebCore::Font>::encode):
# (IPC::ArgumentCoder<Font>::decode):
# (IPC::ArgumentCoder<SystemImage>::encode):
# (IPC::ArgumentCoder<SystemImage>::decode):
# * Shared/WebCoreArgumentCoders.h:
# * Shared/playstation/WebCoreArgumentCodersPlayStation.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/soup/WebCoreArgumentCodersSoup.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/win/WebCoreArgumentCodersWin.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
#
# 13 Tim Horton <timothy_horton@apple.com>
#
# Add UI-side layers for optionally indicating interaction regions
# https://bugs.webkit.org/show_bug.cgi?id=240372
# <rdar://problem/87170289>
#
# Reviewed by Dean Jackson.
#
# * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
# (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
# (WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates):
# Allow RemoteLayerTreeInteractionRegionLayers to add and maintain layers for interaction regions.
#
# * SourcesCocoa.txt:
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h: Added.
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: Added.
# (configureLayerForInteractionRegion):
# (WebKit::interactionRegionForLayer):
# (WebKit::isInteractionRegionLayer):
# (WebKit::setInteractionRegion):
# Box WebCore::InteractionRegion in a Objective-C object and store it on the layer.
# Use this as a key to indicate that a given layer is an interaction region.
#
# (WebKit::appendInteractionRegionLayersForLayer):
# Make sure that interaction region layers are always at the end of the layer's sublayers array.
#
# (WebKit::updateLayersForInteractionRegions):
# Add new layers for interaction regions.
# Maintain the same layer for regions that cover the same area.
# Add a green wash if the default WKInteractionRegionDebugFill is set.
#
# * WebKit.xcodeproj/project.pbxproj:
#
# 13 Simon Fraser <Simon Fraser>
#
# Simplify the usage of DrawGlyphsRecorder
# https://bugs.webkit.org/show_bug.cgi?id=240363
#
# Reviewed by Myles Maxfield.
#
# Move the DeconstructDrawGlyphs switch from inside DrawGlyphsRecorder to
# DisplayList::Recorder, so that DrawGlyphsRecorder is only ever used when deconstructing
# glyphs.
#
# Also, ensure that the only time that glyph deconstruction is enabled is when
# recording display lists via RemoteDisplayListRecorderProxy. There's no reason for
# paintAttachmentText() to need glyph deconstruction.
#
# This is a small perf improvement on the MotionMark Design subtest.
#
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
# (WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
# (WebKit::m_renderingBackend):
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
#
# it takes from the XPC message is sent until the XPC reply is received. Add reporting when this happens

# On branch bz/240223
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git restore --staged <file>..." to unstage)
# modified: Source/WebKit/ChangeLog
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# 0001-SharedBuffer-should-be-copied-and-then-attributed-ba.patch
#

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

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

2:31 PM Changeset in webkit [294347] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.1-branch/Source/WebKit

Cherry-pick r294175. rdar://problem/91441895

[iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
https://bugs.webkit.org/show_bug.cgi?id=240393
rdar://91441895

Reviewed by Wenson Hsieh.

Some WebKit clients use SPI on WKWebView to support "find from selection"
functionality (the Cmd+E shortcut). However, to support general
find functionality, they use new find API that uses a different codepath
to draw highlights. Mixing use of the API and SPI can currently result
in two highlights showing up.

To fix, ensure SPI highlights are removed once the API is being used.
The long term solution is for clients to adopt API for the
"find from selection" functionality, but in the short term the SPI
should remain supported.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::clearAllDecoratedFoundText):

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

2:24 PM Changeset in webkit [294346] by Chris Dumez
  • 91 edits in trunk/Source

Use ASCIILiteral for JSC::HashTableValue::m_key
https://bugs.webkit.org/show_bug.cgi?id=240492

Reviewed by Geoffrey Garen.

Use ASCIILiteral for JSC::HashTableValue::m_key since the key is always a string literal. This
allows JSC::reifyStaticProperties() to call a more optimal Identifier::fromString(VM&, ASCIILiteral)
overload.

  • Source/JavaScriptCore/create_hash_table:
  • Source/JavaScriptCore/runtime/Lookup.h:

(JSC::HashTable::ConstIterator::key const):
(JSC::HashTable::ConstIterator::skipInvalidKeys):
(JSC::reifyStaticProperties):

  • Source/JavaScriptCore/tools/JSDollarVM.cpp:
  • Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:

(GenerateHashTableValueArray):

  • Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSExposedStar.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp:

(WebCore::JSTestCallTracerDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:

(WebCore::JSTestConditionalIncludesDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:

(WebCore::JSTestConditionallyReadWriteDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDomainSecurity.cpp:

(WebCore::JSTestDomainSecurityDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::JSTestEnabledBySettingDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceDOMConstructor::construct):

  • Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:

(WebCore::JSTestLegacyNoInterfaceObjectPrototype::finishCreation):

  • Source/WebCore/bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:

(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:

(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestNamespaceConst.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjDOMConstructor::construct):

  • Source/WebCore/bindings/scripts/test/JS/JSTestOperationConditional.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsDOMConstructor::construct):

  • Source/WebCore/bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:

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

2:23 PM Changeset in webkit [294345] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.3

2:18 PM Changeset in webkit [294344] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.3

2:12 PM Changeset in webkit [294343] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.2

Tag WebKit-7614.1.14.1.2.

2:11 PM Changeset in webkit [294342] by yurys@chromium.org
  • 1 edit in trunk/metadata/contributors.json

Add my github username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240539

Reviewed by Jonathan Bedard.

  • metadata/contributors.json: add my github username.

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

1:42 PM Changeset in webkit [294341] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.11.1

Tag WebKit-7614.1.14.11.1.

1:37 PM Changeset in webkit [294340] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.11-branch/Source

Versioning.

WebKit-7614.1.14.11.1

1:22 PM Changeset in webkit [294339] by Jenner@apple.com
  • 1 edit in trunk/LayoutTests/platform/ios-wk2/TestExpectations

[ Gardening ] REGRESSION (250413@main): [ iOS ] system-preview/badge.html is a consistent image failure (240352)
https://bugs.webkit.org/show_bug.cgi?id=240352

Unreviewed test gardening.

  • LayoutTests/platform/ios-wk2/TestExpectations:

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

1:15 PM Changeset in webkit [294338] by Russell Epstein
  • 1 copy in branches/safari-7614.1.14.11-branch

New branch.

1:12 PM Changeset in webkit [294337] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.2

Tag WebKit-7614.1.14.0.2.

1:10 PM Changeset in webkit [294336] by Jonathan Bedard
  • 2 edits in trunk/Tools/CISupport/ews-build

Forbid ChangeLog modification (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=240461
<rdar://93351783>

Reviewed by Aakash Jain.

Run Canonicalize on committed patches.

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

(Canonicalize.doStepIf): Deleted.
(Canonicalize.hideStepIf): Deleted.

  • Tools/CISupport/ews-build/steps_unittest.py:
12:58 PM Changeset in webkit [294335] by Russell Epstein
  • 9 edits in branches/safari-7614.1.13-branch/Source

Versioning.

WebKit-7614.1.13.5

12:46 PM Changeset in webkit [294334] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm

MockAudioSharedInternalUnit::render should return kAudio_ParamError if input buffer is too small
https://bugs.webkit.org/show_bug.cgi?id=240518
rdar://93409662

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-17
Reviewed by Eric Carlson.

The input buffer given to render should be large enough to copy enough frameCount samples.
If that is not the case, mimick what the real audio unit is doing and return kAudio_ParamError.
We also more closely mimick the real audio unit by sending chunks of at most AudioSession::sharedSession().bufferSize().

Covered by existing tests.

  • Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedInternalUnit::generateSampleBuffers):
(WebCore::MockAudioSharedInternalUnit::render):

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

12:39 PM Changeset in webkit [294333] by ap@apple.com
  • 1 edit in trunk/ReadMe.md

Clearly recommend checking out from GitHub using https
https://bugs.webkit.org/show_bug.cgi?id=240528

Reviewed by Jonathan Bedard.

  • ReadMe.md:

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

12:09 PM Changeset in webkit [294332] by J Pascoe
  • 3 edits in trunk

[WebAuthn] Add SPI to update platform credential's displayName
https://bugs.webkit.org/show_bug.cgi?id=240471
<rdar://93362894>

Reviewed by Brent Fulgham.

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

(TestWebKitAPI::TEST):
Updated API test.

  • Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
  • Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithGroupAndID:credential:username:]):
(+[_WKWebAuthenticationPanel setDisplayNameForLocalCredentialWithGroupAndID:credential:displayName:]):
This change introduces setDisplayNameForLocalCredentialWithGroupAndID, which will supercede
the existing setUsernameForLocalCredentialWithGroupAndID once all callers are updated.

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

12:02 PM Changeset in webkit [294331] by J Pascoe
  • 2 edits in trunk

[WebAuthn] Set displayName in AuthenticatorAssertionResponse for platform authenticator
https://bugs.webkit.org/show_bug.cgi?id=240459
<rdar://93350479>

Reviewed by Brent Fulgham.

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

(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):
Updated API test to account for displayName.

  • Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticatorInternal::getExistingCredentials):

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

10:53 AM Changeset in webkit [294330] by commit-queue@webkit.org
  • 66 edits
    2 adds
    2 deletes in trunk/Source

Update to PDF.js v2.14.305
https://bugs.webkit.org/show_bug.cgi?id=240482

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-17
Reviewed by Tim Nguyen.

Besides updating the upstream sources, this commit also adds a
README.webkit to explain the update procedure, and adds
CONFIGURE_DEPENDS to the GLOB_RECURSE command in PdfJSGResources.cmake
to force make/ninja to watch for changes to the files and rerun cmake if
needed, to keep incremental builds happy. Downside: this is probably
slow, and the CMake documentation explicitly warns against doing so. We
may want to generate a .cmake file that manually lists all files instead.

  • Source/ThirdParty/pdfjs/README.webkit: Added.
  • Source/ThirdParty/pdfjs/build/pdf.js:

(webpackUniversalModuleDefinition):
(return.):
(return):

  • Source/ThirdParty/pdfjs/build/pdf.sandbox.js:

(webpackUniversalModuleDefinition):
(return.):

  • Source/ThirdParty/pdfjs/build/pdf.worker.js:

(webpackUniversalModuleDefinition):
(return.):

  • Source/ThirdParty/pdfjs/web/debugger.css: Added.

(#PDFBug):
(#PDFBug .controls):
(#PDFBug .panels):
(#PDFBug .panels > div):
(#PDFBug button.active):
(.debuggerShowText,):
(#PDFBug .stats):
(#PDFBug .stats .title):
(#PDFBug table):
(#PDFBug table.showText):
(#PDFBug table.showText,):
(#PDFBug table.showText td.advance):
(#viewer.textLayer-visible .textLayer):
(#viewer.textLayer-visible .canvasWrapper):
(#viewer.textLayer-visible .canvasWrapper canvas):
(#viewer.textLayer-visible .textLayer span):
(#viewer.textLayer-hover .textLayer span:hover):
(#viewer.textLayer-shadow .textLayer span):

  • Source/ThirdParty/pdfjs/web/debugger.js:

(const.FontInspector.FontInspectorClosure.textLayerClick):
(const.FontInspector.FontInspectorClosure.return.properties):
(const.FontInspector):
(const.StepperManager):
(const.Stepper.StepperClosure.Stepper.prototype.updateOperatorList):
(const.Stepper.StepperClosure.Stepper.prototype.getNextBreakPoint):
(const.Stepper.StepperClosure.Stepper.prototype.goTo):
(const.Stepper.StepperClosure.Stepper):
(const.Stepper):
(const.Stats.Stats.getStatIndex):
(const.Stats):
(const.PDFBug):
(FontInspector.FontInspectorClosure.removeSelection): Deleted.
(FontInspector.FontInspectorClosure.resetSelection): Deleted.
(FontInspector.FontInspectorClosure.selectFont): Deleted.
(FontInspector.FontInspectorClosure.textLayerClick): Deleted.
(FontInspector.FontInspectorClosure.return.init): Deleted.
(FontInspector.FontInspectorClosure.return.cleanup): Deleted.
(FontInspector.FontInspectorClosure.return.get active): Deleted.
(FontInspector.FontInspectorClosure.return.set active): Deleted.
(FontInspector.FontInspectorClosure.return.properties): Deleted.
(FontInspector.FontInspectorClosure.return.fontAdded): Deleted.
(FontInspector): Deleted.
(StepperManager.StepperManagerClosure.return.init): Deleted.
(StepperManager.StepperManagerClosure.return.cleanup): Deleted.
(StepperManager.StepperManagerClosure.return.create): Deleted.
(StepperManager.StepperManagerClosure.return.selectStepper): Deleted.
(StepperManager.StepperManagerClosure.return.saveBreakPoints): Deleted.
(StepperManager): Deleted.
(Stats.Stats): Deleted.
(Stats.Stats.getStatIndex): Deleted.
(Stats): Deleted.
(window.PDFBug): Deleted.

  • Source/ThirdParty/pdfjs/web/images/grab.cur: Removed.
  • Source/ThirdParty/pdfjs/web/images/grabbing.cur: Removed.
  • Source/ThirdParty/pdfjs/web/locale/be/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ca/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/cs/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/cy/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/da/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/de/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/dsb/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/el/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/en-CA/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/en-GB/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/en-US/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/eo/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-AR/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-CL/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-ES/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-MX/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/et/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/eu/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/fr/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/fy-NL/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ga-IE/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/gn/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hr/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hsb/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hu/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hye/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ia/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/id/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/is/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/it/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ja/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ka/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/kab/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/kk/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ko/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/nb-NO/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/nl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/nn-NO/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/oc/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pa-IN/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pt-BR/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pt-PT/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/rm/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ru/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sat/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sc/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sk/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sv-SE/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/szl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/tg/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/th/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/tr/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/uk/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/vi/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/zh-CN/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/zh-TW/viewer.properties:
  • Source/ThirdParty/pdfjs/web/viewer.css:

(.textLayer):
(:root):
(.pdfViewer .dummyPage):
([dir="rtl"]:root):
(@media (prefers-color-scheme: dark) :root):
(@media screen and (forced-colors: active) :root):
(html,):
(body):
(.hidden,):
([dir="ltr"] #sidebarContainer):
([dir="rtl"] #sidebarContainer):
(#sidebarContainer):
([dir="ltr"] #outerContainer.sidebarOpen #sidebarContainer):
([dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer):
(#outerContainer.sidebarOpen #sidebarContainer):
([dir="ltr"] #sidebarContent):
([dir="rtl"] #sidebarContent):
(#sidebarContent):
(#viewerContainer):
([dir="ltr"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode)):
([dir="rtl"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode)):
(#outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode)):
(#toolbarSidebar):
([dir="ltr"] #sidebarResizer):
([dir="rtl"] #sidebarResizer):
(#sidebarResizer):
([dir="ltr"] #loadingBar):
([dir="rtl"] #loadingBar):
(#loadingBar):
([dir="ltr"] #outerContainer.sidebarOpen #loadingBar):
([dir="rtl"] #outerContainer.sidebarOpen #loadingBar):
(#outerContainer.sidebarOpen #loadingBar):
(#loadingBar .progress):
(#loadingBar .progress.indeterminate):
(#outerContainer.sidebarResizing #sidebarContainer,):
(.findbar,):
([dir="ltr"] .findbar):
([dir="rtl"] .findbar):
(.findbar):
(.findbar > div):
([dir="ltr"] .findbar > div#findbarInputContainer):
([dir="rtl"] .findbar > div#findbarInputContainer):
(.findbar > div#findbarInputContainer):
(.findbar.wrapContainers > div,):
(.findbar.wrapContainers > div#findbarMessageContainer):
(.findbar label:hover,):
(#findInput[data-status="pending"]):
([dir="ltr"] .secondaryToolbar):
([dir="rtl"] .secondaryToolbar):
(.secondaryToolbar):
(#secondaryToolbarButtonContainer):
(.doorHanger:after,):
([dir="ltr"] .doorHanger:after):
([dir="rtl"] .doorHanger:after):
(.doorHanger:after):
([dir="ltr"] .doorHangerRight:after):
([dir="rtl"] .doorHangerRight:after):
(.doorHangerRight:after):
([dir="ltr"] .doorHanger:before):
([dir="rtl"] .doorHanger:before):
(.doorHanger:before):
([dir="ltr"] .doorHangerRight:before):
([dir="rtl"] .doorHangerRight:before):
(.doorHangerRight:before):
(#findResultsCount:empty,):
([dir="ltr"] #toolbarViewerLeft,[dir="ltr"]):
([dir="rtl"] #toolbarViewerLeft,[dir="rtl"]):
(#toolbarViewerLeft,):
([dir="ltr"] #toolbarViewerRight,[dir="ltr"]):
([dir="rtl"] #toolbarViewerRight,[dir="rtl"]):
(#toolbarViewerRight,):
([dir="ltr"] #toolbarViewerLeft > *,[dir="ltr"]):
([dir="rtl"] #toolbarViewerLeft > *,[dir="rtl"]):
(#toolbarViewerLeft > *,):
([dir="ltr"] #toolbarViewerLeft):
([dir="rtl"] #toolbarViewerLeft):
(#toolbarViewerLeft):
([dir="ltr"] #toolbarViewerRight):
([dir="rtl"] #toolbarViewerRight):
(#toolbarViewerRight):
([dir="ltr"] #toolbarSidebarRight):
([dir="rtl"] #toolbarSidebarRight):
(#toolbarSidebarRight):
(.splitToolbarButton):
([dir="ltr"] .splitToolbarButton > .toolbarButton):
([dir="rtl"] .splitToolbarButton > .toolbarButton):
(.splitToolbarButton > .toolbarButton):
(.toolbarButton,):
(.dialogButton:hover,):
(.dialogButton:hover > span,):
(.toolbarButton[disabled],):
(.splitToolbarButton > .toolbarButton:hover,):
([dir="ltr"] #toolbarSidebar .splitToolbarButton > .toolbarButton):
([dir="rtl"] #toolbarSidebar .splitToolbarButton > .toolbarButton):
(#toolbarSidebar .splitToolbarButton > .toolbarButton):
([dir="ltr"] .splitToolbarButtonSeparator):
([dir="rtl"] .splitToolbarButtonSeparator):
(.splitToolbarButtonSeparator):
(.toolbarButton:hover,):
(.secondaryToolbarButton:hover,):
(.toolbarButton.toggled::before,):
(.dropdownToolbarButton):
([dir="ltr"] .dropdownToolbarButton::after):
([dir="rtl"] .dropdownToolbarButton::after):
(.dropdownToolbarButton::after):
([dir="ltr"] .dropdownToolbarButton > select):
([dir="rtl"] .dropdownToolbarButton > select):
(.dropdownToolbarButton > select):
(.dropdownToolbarButton > select:hover,):
(.toolbarButton::before,):
(.dropdownToolbarButton:hover::after,):
(.toolbarButton:hover::before,):
([dir="ltr"] .secondaryToolbarButton::before):
([dir="rtl"] .secondaryToolbarButton::before):
(.secondaryToolbarButton::before):
(#sidebarToggle::before):
(#secondaryToolbarToggle::before):
(#findPrevious::before):
(#findNext::before):
(#previous::before):
(#next::before):
(#zoomOut::before):
(#zoomIn::before):
(#presentationMode::before,):
(#print::before,):
(#openFile::before,):
(#download::before,):
(a.secondaryToolbarButton):
(a.toolbarButton[href="#"],):
(#viewBookmark::before,):
(#viewThumbnail::before):
(#viewOutline::before):
(#viewAttachments::before):
(#viewLayers::before):
(#currentOutlineItem::before):
(#viewFind::before):
([dir="ltr"] .pdfSidebarNotification::after):
([dir="rtl"] .pdfSidebarNotification::after):
(.pdfSidebarNotification::after):
([dir="ltr"] .secondaryToolbarButton):
([dir="rtl"] .secondaryToolbarButton):
(.secondaryToolbarButton):
([dir="ltr"] .secondaryToolbarButton > span):
([dir="rtl"] .secondaryToolbarButton > span):
(.secondaryToolbarButton > span):
(#firstPage::before):
(#lastPage::before):
(#pageRotateCcw::before):
(#pageRotateCw::before):
(#cursorSelectTool::before):
(#cursorHandTool::before):
(#scrollPage::before):
(#scrollVertical::before):
(#scrollHorizontal::before):
(#scrollWrapped::before):
(#spreadNone::before):
(#spreadOdd::before):
(#spreadEven::before):
(#documentProperties::before):
(.verticalToolbarSeparator):
(.horizontalToolbarSeparator):
(.toolbarField):
([dir="ltr"] .toolbarField[type="checkbox"]):
([dir="rtl"] .toolbarField[type="checkbox"]):
(.toolbarField[type="checkbox"]):
(#pageNumber):
(#pageNumber.visiblePageIsLoading):
(#pageNumber::-webkit-inner-spin-button):
([dir="ltr"] #numPages.toolbarLabel):
([dir="rtl"] #numPages.toolbarLabel):
(#numPages.toolbarLabel):
(#thumbnailView,):
(#thumbnailView):
([dir="ltr"] .thumbnail):
([dir="rtl"] .thumbnail):
(.thumbnail):
(#thumbnailView > a:last-of-type > .thumbnail):
([dir="ltr"] .treeWithDeepNesting > .treeItem,[dir="ltr"]):
([dir="rtl"] .treeWithDeepNesting > .treeItem,[dir="rtl"]):
(.treeWithDeepNesting > .treeItem,):
([dir="ltr"] .treeItem > a):
([dir="rtl"] .treeItem > a):
(.treeItem > a):
([dir="ltr"] #layersView .treeItem > a > label):
([dir="rtl"] #layersView .treeItem > a > label):
(#layersView .treeItem > a > label):
([dir="ltr"] .treeItemToggler):
([dir="rtl"] .treeItemToggler):
(.treeItemToggler):
([dir="ltr"] .treeItemToggler::before):
([dir="rtl"] .treeItemToggler::before):
(.treeItemToggler::before):
(.treeItemToggler.treeItemsHidden::before):
(.treeItemToggler.treeItemsHidden ~ .treeItems):
(#errorWrapper):
(#errorMessageLeft):
(#errorSpacer):
(.dialogButton):
(dialog):
(dialog::-webkit-backdrop):
(dialog::backdrop):
(dialog > .row):
(dialog > .row > *):
(dialog .toolbarField):
(dialog .separator):
(dialog .buttonRow):
(dialog :link):
(#passwordDialog):
(#passwordDialog .toolbarField):
(#documentPropertiesDialog):
([dir="ltr"] #documentPropertiesDialog .row > *):
([dir="rtl"] #documentPropertiesDialog .row > *):
(#documentPropertiesDialog .row > *):
(#documentPropertiesDialog .row > span):
(#documentPropertiesDialog .row > p):
(#documentPropertiesDialog .buttonRow):
(.grab-to-pan-grab):
(.grab-to-pan-grab:active,):
(@media print body):
(@media all and (max-width: 840px) [dir="ltr"] #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 840px) [dir="rtl"] #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 840px) #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 640px) [dir="ltr"] .findbar):
(@media all and (max-width: 640px) [dir="rtl"] .findbar):
(@media all and (max-width: 640px) .findbar):
(html): Deleted.
(.hidden): Deleted.
([hidden]): Deleted.
(html[dir="ltr"] #sidebarContainer): Deleted.
(html[dir="rtl"] #sidebarContainer): Deleted.
(#outerContainer.sidebarResizing #sidebarContainer): Deleted.
(html[dir="ltr"] #outerContainer.sidebarOpen #sidebarContainer): Deleted.
(html[dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer): Deleted.
(html[dir="ltr"] #sidebarContent): Deleted.
(html[dir="rtl"] #sidebarContent): Deleted.
(#outerContainer.sidebarResizing #viewerContainer): Deleted.
(html[dir="ltr"]): Deleted.
(html[dir="rtl"]): Deleted.
(html[dir="ltr"] #toolbarSidebar): Deleted.
(html[dir="rtl"] #toolbarSidebar): Deleted.
(html[dir="ltr"] #toolbarSidebar .toolbarButton): Deleted.
(html[dir="rtl"] #toolbarSidebar .toolbarButton): Deleted.
(html[dir="ltr"] #toolbarSidebarRight .toolbarButton): Deleted.
(html[dir="rtl"] #toolbarSidebarRight .toolbarButton): Deleted.
(html[dir="ltr"] #sidebarResizer): Deleted.
(html[dir="rtl"] #sidebarResizer): Deleted.
(html[dir="ltr"] #loadingBar): Deleted.
(html[dir="rtl"] #loadingBar): Deleted.
(html[dir="ltr"] #outerContainer.sidebarOpen #loadingBar): Deleted.
(html[dir="rtl"] #outerContainer.sidebarOpen #loadingBar): Deleted.
(#outerContainer.sidebarResizing #loadingBar): Deleted.
(.findbar.wrapContainers > div): Deleted.
(html[dir="ltr"] .findbar): Deleted.
(html[dir="rtl"] .findbar): Deleted.
(.findbar .splitToolbarButton): Deleted.
(html[dir="ltr"] .findbar .splitToolbarButton): Deleted.
(html[dir="rtl"] .findbar .splitToolbarButton): Deleted.
(.findbar .splitToolbarButton > .toolbarButton): Deleted.
(.findbar .splitToolbarButton > .toolbarButton::before): Deleted.
(.findbar .splitToolbarButton > .findNext): Deleted.
(html[dir="ltr"] .findbar .splitToolbarButton > .findNext): Deleted.
(html[dir="rtl"] .findbar .splitToolbarButton > .findNext): Deleted.
(html[dir="ltr"] #findInput): Deleted.
(html[dir="rtl"] #findInput): Deleted.
(html[dir="rtl"] #findInput[data-status="pending"]): Deleted.
(html[dir="ltr"] .secondaryToolbar): Deleted.
(html[dir="rtl"] .secondaryToolbar): Deleted.
(html[dir="ltr"] .doorHanger:after,): Deleted.
(html[dir="ltr"] .doorHanger:before,): Deleted.
(html[dir="rtl"] .doorHanger:after,): Deleted.
(html[dir="rtl"] .doorHanger:before,): Deleted.
(#findMsg:empty): Deleted.
(html[dir="ltr"] #toolbarViewerLeft,): Deleted.
(html[dir="ltr"] #toolbarViewerRight,): Deleted.
(html[dir="ltr"] #toolbarViewerLeft > *,): Deleted.
(html[dir="rtl"] #toolbarViewerLeft > *,): Deleted.
(html[dir="ltr"] .splitToolbarButton > .toolbarButton): Deleted.
(html[dir="rtl"] .splitToolbarButton > .toolbarButton): Deleted.
(.overlayButton:hover,): Deleted.
(.overlayButton:hover > span,): Deleted.
(.splitToolbarButton.toggled .toolbarButton): Deleted.
(html[dir="ltr"] .splitToolbarButton > .toolbarButton:first-child,): Deleted.
(html[dir="ltr"] .splitToolbarButton > .toolbarButton:last-child,): Deleted.
(.findbar .splitToolbarButtonSeparator): Deleted.
(html[dir="ltr"] .splitToolbarButtonSeparator): Deleted.
(html[dir="rtl"] .splitToolbarButtonSeparator): Deleted.
(html[dir="ltr"] #toolbarViewerLeft > .toolbarButton:first-child,): Deleted.
(html[dir="ltr"] #toolbarViewerRight > .toolbarButton:last-child,): Deleted.
(.secondaryToolbarButton.toggled::before): Deleted.
(.toolbarButton.toggled::before): Deleted.
(html[dir="ltr"] .dropdownToolbarButton::after): Deleted.
(html[dir="rtl"] .dropdownToolbarButton::after): Deleted.
(html[dir="ltr"] .dropdownToolbarButton > select): Deleted.
(html[dir="rtl"] .dropdownToolbarButton > select): Deleted.
(#customScaleOption): Deleted.
(#pageWidthOption): Deleted.
(html[dir="ltr"] .secondaryToolbarButton::before): Deleted.
(html[dir="rtl"] .secondaryToolbarButton::before): Deleted.
(.toolbarButton#sidebarToggle::before): Deleted.
(html[dir="rtl"] .toolbarButton#sidebarToggle::before): Deleted.
(.toolbarButton#secondaryToolbarToggle::before): Deleted.
(html[dir="rtl"] .toolbarButton#secondaryToolbarToggle::before): Deleted.
(.toolbarButton.findPrevious::before): Deleted.
(.toolbarButton.findNext::before): Deleted.
(.toolbarButton.pageUp::before): Deleted.
(.toolbarButton.pageDown::before): Deleted.
(.toolbarButton.zoomOut::before): Deleted.
(.toolbarButton.zoomIn::before): Deleted.
(.toolbarButton.presentationMode::before,): Deleted.
(.toolbarButton.print::before,): Deleted.
(.toolbarButton.openFile::before,): Deleted.
(.toolbarButton.download::before,): Deleted.
(.secondaryToolbarButton.bookmark): Deleted.
(.bookmark[href="#"]): Deleted.
(.toolbarButton.bookmark::before,): Deleted.
(#viewThumbnail.toolbarButton::before): Deleted.
(#viewOutline.toolbarButton::before): Deleted.
(html[dir="rtl"] #viewOutline.toolbarButton::before): Deleted.
(#viewAttachments.toolbarButton::before): Deleted.
(#viewLayers.toolbarButton::before): Deleted.
(#currentOutlineItem.toolbarButton::before): Deleted.
(html[dir="rtl"] #currentOutlineItem.toolbarButton::before): Deleted.
(#viewFind.toolbarButton::before): Deleted.
(.toolbarButton.pdfSidebarNotification::after): Deleted.
(html[dir="ltr"] .toolbarButton.pdfSidebarNotification::after): Deleted.
(html[dir="rtl"] .toolbarButton.pdfSidebarNotification::after): Deleted.
(html[dir="ltr"] .secondaryToolbarButton): Deleted.
(html[dir="rtl"] .secondaryToolbarButton): Deleted.
(html[dir="ltr"] .secondaryToolbarButton > span): Deleted.
(html[dir="rtl"] .secondaryToolbarButton > span): Deleted.
(.secondaryToolbarButton.firstPage::before): Deleted.
(.secondaryToolbarButton.lastPage::before): Deleted.
(.secondaryToolbarButton.rotateCcw::before): Deleted.
(.secondaryToolbarButton.rotateCw::before): Deleted.
(.secondaryToolbarButton.selectTool::before): Deleted.
(.secondaryToolbarButton.handTool::before): Deleted.
(.secondaryToolbarButton.scrollPage::before): Deleted.
(.secondaryToolbarButton.scrollVertical::before): Deleted.
(.secondaryToolbarButton.scrollHorizontal::before): Deleted.
(.secondaryToolbarButton.scrollWrapped::before): Deleted.
(.secondaryToolbarButton.spreadNone::before): Deleted.
(.secondaryToolbarButton.spreadOdd::before): Deleted.
(.secondaryToolbarButton.spreadEven::before): Deleted.
(.secondaryToolbarButton.documentProperties::before): Deleted.
(html[dir="ltr"] .verticalToolbarSeparator): Deleted.
(html[dir="rtl"] .verticalToolbarSeparator): Deleted.
(html[dir="ltr"] .toolbarField[type="checkbox"]): Deleted.
(html[dir="rtl"] .toolbarField[type="checkbox"]): Deleted.
(.toolbarField.pageNumber): Deleted.
(.toolbarField.pageNumber.visiblePageIsLoading): Deleted.
(.toolbarField.pageNumber::-webkit-inner-spin-button,): Deleted.
(html[dir="ltr"] #numPages.toolbarLabel): Deleted.
(html[dir="rtl"] #numPages.toolbarLabel): Deleted.
(html[dir="ltr"] .thumbnail): Deleted.
(html[dir="rtl"] .thumbnail): Deleted.
(#outlineView,): Deleted.
(html[dir="ltr"] .treeWithDeepNesting > .treeItem,): Deleted.
(html[dir="rtl"] .treeWithDeepNesting > .treeItem,): Deleted.
(html[dir="ltr"] .treeItem > a): Deleted.
(html[dir="rtl"] .treeItem > a): Deleted.
(html[dir="ltr"] #layersView .treeItem > a > label): Deleted.
(html[dir="rtl"] #layersView .treesItem > a > label): Deleted.
(html[dir="rtl"] .treeItemToggler.treeItemsHidden::before): Deleted.
(html[dir="ltr"] .treeItemToggler): Deleted.
(html[dir="rtl"] .treeItemToggler): Deleted.
(html[dir="ltr"] .treeItemToggler::before): Deleted.
(html[dir="rtl"] .treeItemToggler::before): Deleted.
(.overlayButton): Deleted.
(#overlayContainer): Deleted.
(#overlayContainer > *): Deleted.
(#overlayContainer > .container): Deleted.
(#overlayContainer > .container > .dialog): Deleted.
(.dialog > .row): Deleted.
(.dialog > .row > *): Deleted.
(.dialog .toolbarField): Deleted.
(.dialog .separator): Deleted.
(.dialog .buttonRow): Deleted.
(.dialog :link): Deleted.
(#passwordOverlay > .dialog): Deleted.
(#passwordOverlay .toolbarField): Deleted.
(#documentPropertiesOverlay > .dialog): Deleted.
(#documentPropertiesOverlay .row > *): Deleted.
(html[dir="ltr"] #documentPropertiesOverlay .row > *): Deleted.
(html[dir="rtl"] #documentPropertiesOverlay .row > *): Deleted.
(#documentPropertiesOverlay .row > span): Deleted.
(#documentPropertiesOverlay .row > p): Deleted.
(#documentPropertiesOverlay .buttonRow): Deleted.
(.clearBoth): Deleted.
(.fileInput): Deleted.
(#PDFBug): Deleted.
(#PDFBug .controls): Deleted.
(#PDFBug .panels): Deleted.
(#PDFBug .panels > div): Deleted.
(#PDFBug button.active): Deleted.
(.debuggerShowText): Deleted.
(.debuggerHideText:hover): Deleted.
(#PDFBug .stats): Deleted.
(#PDFBug .stats .title): Deleted.
(#PDFBug table): Deleted.
(#PDFBug table.showText): Deleted.
(#PDFBug table.showText,): Deleted.
(#PDFBug table.showText td.advance): Deleted.
(#viewer.textLayer-visible .textLayer): Deleted.
(#viewer.textLayer-visible .canvasWrapper): Deleted.
(#viewer.textLayer-visible .canvasWrapper canvas): Deleted.
(#viewer.textLayer-visible .textLayer span): Deleted.
(#viewer.textLayer-hover .textLayer span:hover): Deleted.
(#viewer.textLayer-shadow .textLayer span): Deleted.
(@media print #sidebarContainer,): Deleted.
(@media print #viewerContainer): Deleted.
(@media print #mainContainer,): Deleted.
(@media print .page): Deleted.
(@media print .page[data-loaded]): Deleted.
(@media print .fileInput): Deleted.
(@media all and (max-width: 840px) html[dir="ltr"] #outerContainer.sidebarOpen #viewerContainer): Deleted.
(@media all and (max-width: 840px) html[dir="rtl"] #outerContainer.sidebarOpen #viewerContainer): Deleted.
(@media all and (max-width: 840px) #outerContainer .hiddenLargeView,): Deleted.
(@media all and (max-width: 840px) #outerContainer .visibleLargeView,): Deleted.
(@media all and (max-width: 640px) html[dir="ltr"] .findbar): Deleted.
(@media all and (max-width: 640px) html[dir="rtl"] .findbar): Deleted.

  • Source/ThirdParty/pdfjs/web/viewer.html:
  • Source/ThirdParty/pdfjs/web/viewer.js:

(webpack_require.const.PDFViewerApplication.async initialize):
(webpack_require.const.PDFViewerApplication.async _parseHashParameters):
(webpack_require.const.PDFViewerApplication.async _initializeViewerComponents):
(webpack_require.const.PDFViewerApplication.get supportsFullscreen):
(webpack_require.const.PDFViewerApplication.async close):
(webpack_require.):
(webpack_require):
(exports.checkOnBlobSupport): Deleted.
(webpack_require.DefaultExternalServices.async fallback): Deleted.

  • Source/WebKit/PdfJSGResources.cmake:

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

10:49 AM Changeset in webkit [294329] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/rendering/RenderElement.h

Remove some RenderElement API
https://bugs.webkit.org/show_bug.cgi?id=240520

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

Remove some unused RenderElement API, instead attachRendererInternal/detachRendererInternal are used.

  • Source/WebCore/rendering/RenderElement.h:

(WebCore::RenderElement::setFirstChild): Deleted.
(WebCore::RenderElement::setLastChild): Deleted.

10:47 AM Changeset in webkit [294328] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore/accessibility/isolatedtree

AX: Lazily retrieve AXPropertyName::SupportsPressAction, AXPropertyName::ColumnHeaders, and AXPropertyName::RowHeaders
https://bugs.webkit.org/show_bug.cgi?id=240473

Reviewed by Chris Fleizach.

These properties can be expensive to compute up-front, so retrieve them
lazily.

No test because there is no user-facing behavior change.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::getOrRetrievePropertyValue):
(WebCore::AXIsolatedObject::columnHeaders):
(WebCore::AXIsolatedObject::rowHeaders):
(WebCore::AXIsolatedObject::supportsPressAction const):

  • accessibility/isolatedtree/AXIsolatedObject.h:

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

10:35 AM Changeset in webkit [294327] by Jonathan Bedard
  • 4 edits in trunk/Tools/CISupport/ews-build

Forbid ChangeLog modification
https://bugs.webkit.org/show_bug.cgi?id=240461
<rdar://93351783>

Rubber-stamped by Aakash Jain.

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

(CommitQueueFactory.init): Only accept patches with commit messages,
respect those commit messages.
(MergeQueueFactoryBase.init): Use commit author in commit.

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

(TestExpectedBuildSteps.test_all_expected_steps):

  • CISupport/ews-build/steps.py:

(CommitPatch): Add step which commits a patch, including it's commit message.
(PushCommitToWebKitRepo.evaluateCommand): Use GitHub checkout on Commit-Queue.
(ValidateSquashed.start): Support committed patches.
(AddReviewerToCommitMessage.start): Ditto.
(DetermineAuthor): Extract author from local commit.
(AddAuthorToCommitMessage): Use 'author' property as set by 'DetermineAuthor'.
(ValidateCommitMessage._files): Support patches.
(ValidateCommitMessage.run): Support committed patches.
(ValidateCommitMessage.getResultSummary): Support patches.
(Canonicalize.run): Support committed patches.
(ValidateSquashed.doStepIf): Deleted.
(ValidateSquashed.hideStepIf): Deleted.
(AddAuthorToCommitMessage.author): Deleted.
(ValidateCommitMessage.doStepIf): Deleted.
(ValidateCommitMessage.hideStepIf): Deleted.

  • Tools/CISupport/ews-build/steps_unittest.py:
10:31 AM Changeset in webkit [294326] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp

Unreviewed, fix typo in comment

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-17

  • Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:

(WebKit::ProcessLauncher::launchProcess):

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

9:38 AM Changeset in webkit [294325] by Wenson Hsieh
  • 23 edits in trunk

Refactor ImageAnalysisQueue to take source and target identifier strings
https://bugs.webkit.org/show_bug.cgi?id=240485
rdar://93280471

Reviewed by Tim Horton.

Plumb a source identifier string alongside the existing target identifier string when kicking off the image
analysis queue. See WebKit changes for more details.

  • html/shadow/imageOverlay.css:

(div.image-overlay-block):

Drive-by fix: tweak some styles in the image overlay, related to block-style image overlays installed by the
image analysis queue.

  • page/ImageAnalysisQueue.cpp:

(WebCore::ImageAnalysisQueue::enqueueAllImages):
(WebCore::ImageAnalysisQueue::resumeProcessing):
(WebCore::ImageAnalysisQueue::clear):

  • page/ImageAnalysisQueue.h:
  • platform/TextRecognitionOptions.h:

Change -[WKWebView _startImageAnalysis:] to -[WKWebView _startImageAnalysis:target:], and have it take
separate source and target identifier strings. We pass these strings through to the page and store them on
ImageAnalysisQueue, where they eventually bubble back up to the UI process when trigger batch image analysis,
via the new source and target arguments on requestTextRecognition().

No change in behavior; covered by adjusting existing API tests to use the adjusted SPI.

  • Platform/cocoa/ImageAnalysisUtilities.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _startImageAnalysis:target:]):
(-[WKWebView _startImageAnalysis:]): Deleted.

Rename this SPI entirely; this is safe to rename because the only existing client of this method (apart from API
tests) will simultaneously adopt the new SPI method with both source and target arguments.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::requestTextRecognition):

  • UIProcess/PageClient.h:

(WebKit::PageClient::requestTextRecognition):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestTextRecognition):
(WebKit::WebPageProxy::startImageAnalysis):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::requestTextRecognition):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView requestTextRecognition:imageData:source:target:completionHandler:]):
(-[WKContentView requestTextRecognition:imageData:identifier:completionHandler:]): Deleted.

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::requestTextRecognition):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::requestTextRecognition):
(WebKit::WebPage::startImageAnalysis):

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

See WebKit changes for more information.

  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::TEST):

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

8:40 AM Changeset in webkit [294324] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp

[GTK] Fix build after 250633@main
https://bugs.webkit.org/show_bug.cgi?id=240521

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-17
Unreviewed, fix GTK build.

  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

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

7:10 AM Changeset in webkit [294323] by Jonathan Bedard
  • 5 edits in trunk/Tools

[Merge-Queue] Forbid ChangeLog modification
https://bugs.webkit.org/show_bug.cgi?id=239413
<rdar://problem/91839553>

Reviewed by Aakash Jain.

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

(MergeQueueFactoryBase.init): Remove AddReviewerToChangeLog and ValidateChangeLogAndReviewer.

  • CISupport/ews-build/factories_unittest.py:

(TestExpectedBuildSteps):

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

(PushCommitToWebKitRepo.evaluateCommand): Remove AddReviewerToChangeLog.
(ValidateCommitMessage._files): List all modified files.
(ValidateCommitMessage.evaluateCommand): Fail step if no ChangeLog modified.
(AddReviewerToChangeLog): Deleted.

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

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

6:22 AM Changeset in webkit [294322] by Chris Lord
  • 15 edits in trunk/Source/WebKit

[WPE] Use new libwpe API to synchronise display refreshes fully to the screen refresh rate
https://bugs.webkit.org/show_bug.cgi?id=240453

Reviewed by Adrian Perez de Castro.

Use new libwpe API to track the target refresh rate and use it in
ThreadedDisplayRefreshMonitor for DisplayUpdate objects.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::targetRefreshRateDidChange):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:

(WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor):
(WebKit::ThreadedDisplayRefreshMonitor::setTargetRefreshRate):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::m_backend):

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:

(WebKit::DrawingAreaProxyCoordinatedGraphics::targetRefreshRateDidChange):

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h:
  • UIProcess/DrawingAreaProxy.h:
  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::targetRefreshRateDidChange):

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::targetRefreshRateDidChange):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::targetRefreshRateDidChange):

  • WebProcess/WebPage/DrawingArea.messages.in:
6:22 AM Changeset in webkit [294321] by commit-queue@webkit.org
  • 2 edits in trunk

[GTK] Build MiniBrowser by default
https://bugs.webkit.org/show_bug.cgi?id=240515

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-17
Reviewed by Philippe Normand.

  • Source/cmake/OptionsGTK.cmake:

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

6:13 AM Changeset in webkit [294320] by aakash_jain@apple.com
  • 1 edit in trunk/Tools/CISupport/ews-build/config.json

[ews] Move few bots from mac wk1 queues to wk2 queue
https://bugs.webkit.org/show_bug.cgi?id=240513

Reviewed by Jonathan Bedard.

  • Tools/CISupport/ews-build/config.json:

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

5:12 AM Changeset in webkit [294319] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Always have non nullptr for WebAssembly.Memory buffer
https://bugs.webkit.org/show_bug.cgi?id=240510

Reviewed by Mark Lam.

This patch adds CagedUniquePtr to allocate a pointer for that.

  • Source/JavaScriptCore/runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::makeShared):

  • Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::buffer):

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

4:05 AM Changeset in webkit [294318] by ntim@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

[iOS] Rebaseline 2 tests in imported/w3c/web-platform-tests/html/semantics/forms/
https://bugs.webkit.org/show_bug.cgi?id=240512

Unreviewed test gardening.

  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/beforeinput.tentative-expected.txt: Added.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-whitespace-expected.txt: Added.

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

2:47 AM Changeset in webkit [294317] by commit-queue@webkit.org
  • 12 edits in trunk/Source

ImageBufferIOSurfaceBackend context setup and teardown functions are redundant and error-prone
https://bugs.webkit.org/show_bug.cgi?id=240452

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

Source/WebCore:

Remove ImageBuffer::releaseGraphicsContext().
It only made sense to be used before ImageBuffer::setVolatile().
The call setVolatile only made sense after releaseGraphicsContext().
Instead, make releasing the graphics context part of the
setVolatile() contract.

ImageBufferBackend::applyBaseTransformToContext() invoked a virtual
function context(). This was called from the middle of the inheritance chain,
from a constructor.
If a class later in the inheritance chain would override context(), the
call would not be invoked correctly. Currently no class suffered from this, but
in future some might.
ImageBufferIOSurfaceBackend call to applyBaseTransformToContext() would also
recurse through context() back to applyBaseTransformToContext() in non-intuitive
way through overridden ::context() which would re-enter applyBaseTransformToContext().
Based on current knowledge doubly invoking the logic did not cause any harm.

  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::applyBaseTransform):
(WebCore::ImageBufferBackend::applyBaseTransformToContext const): Deleted.

  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::isInUse const):
(WebCore::ImageBufferBackend::releaseGraphicsContext): Deleted.

  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::ImageBufferCGBitmapBackend):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::ImageBufferIOSurfaceBackend):
(WebCore::ImageBufferIOSurfaceBackend::context const):
(WebCore::ImageBufferIOSurfaceBackend::setVolatile):
(WebCore::ImageBufferIOSurfaceBackend::setNonVolatile):
(WebCore::ImageBufferIOSurfaceBackend::initializeContext):
(WebCore::ImageBufferIOSurfaceBackend::releaseGraphicsContext): Deleted.

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:

Source/WebKit:

Adjust after removing ImageBuffer::releaseGraphicsContext().

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::markSurfacesVolatile):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::setBufferVolatile):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
2:08 AM Changeset in webkit [294316] by Ziran Sun
  • 11 edits
    5 deletes in trunk/LayoutTests

tidy up some test expectations files after resync html/semantics/forms tests
https://bugs.webkit.org/show_bug.cgi?id=240451

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:

LayoutTests:

This is to tidy up some test expectation files are WPT upstream resync at bug 240301.

  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.
1:38 AM Changeset in webkit [294315] by commit-queue@webkit.org
  • 3 edits in trunk

Allow Service Workers to run for a little longer in case of functional events
https://bugs.webkit.org/show_bug.cgi?id=240454

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-17
Reviewed by Chris Dumez.

Functional events should usually trigger opening a new web page on the same origin as the service worker.
There are good chances that the service worker will control the new web page, it is thus potentially useful to
keep the service worker around for a bit, to not pay the cost of stopping and restarting it.
To do so, we introduce a timer in SWServerWorker that handles the termination in case of functional events/debugger.

Covered by updated API test.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
  • Source/WebCore/workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::startTermination):
(WebCore::SWServerWorker::shouldBeTerminated const):
(WebCore::SWServerWorker::terminateIfPossible):
(WebCore::SWServerWorker::terminationIfPossibleTimerFired):

  • Source/WebCore/workers/service/server/SWServerWorker.h:

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

May 16, 2022:

11:18 PM Changeset in webkit [294314] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.0-branch/Source/WTF

Cherry-pick r294272. rdar://problem/93118830

Correct erroneous guard in Platform file
https://bugs.webkit.org/show_bug.cgi?id=240469
<rdar://problem/93358873>

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

11:18 PM Changeset in webkit [294313] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.0-branch/Source/WTF

Cherry-pick r294265. rdar://problem/93118830

Remove abandoned WebKitAdditionsFeature1 flag (240462)
https://bugs.webkit.org/show_bug.cgi?id=240462
<rdar://93353298>

Reviewed by Alex Christensen.

Remove the abandoned WebKitAdditionsFeature1 preference, since
it ended up not being needed and now just complicates the build
and generated preferences.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/ExperimentalFeatureNames.h:

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

11:17 PM Changeset in webkit [294312] by Alan Coon
  • 18 edits in branches/safari-7614.1.14.0-branch

Cherry-pick r294264. rdar://problem/93118830

Remove abandoned UseScreenCaptureKit preference
https://bugs.webkit.org/show_bug.cgi?id=240460
<rdar://problem/93351960>

Reviewed by Youenn Fablet.

We no longer need this switch to activate ScreenCaptureKit, and this code is no
longer used. We should remove it to simplify the build and reduce complexity.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceCenter.h: (WebCore::RealtimeMediaSourceCenter::useScreenCaptureKit const): Deleted. (WebCore::RealtimeMediaSourceCenter::setUseScreenCaptureKit): Deleted.

Source/WebKit:

  • GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::setUseScreenCaptureKit): Deleted.
  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultScreenCaptureKitEnabled): Deleted.
  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _useScreenCaptureKit]): Deleted. (-[WKPreferences _setUseScreenCaptureKit:]): Deleted.
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::updatePreferences):
  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm: (TestWebKitAPI::TEST):

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

11:17 PM Changeset in webkit [294311] by Alan Coon
  • 10 edits in branches/safari-7614.1.14.0-branch

Cherry-pick r294208. rdar://problem/93118830

AX: Remove CSSDisplayContentsAXSupportEnabled flag
https://bugs.webkit.org/show_bug.cgi?id=240409

Reviewed by Chris Fleizach.

Source/WebCore:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setCSSDisplayContentsAXSupportEnabled): Deleted. (WebCore::RuntimeEnabledFeatures::cssDisplayContentsAXSupportEnabled const): Deleted.

Source/WebKitLegacy/mac:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences cssDisplayContentsAXSupportEnabled]): Deleted. (-[WebPreferences setCSSDisplayContentsAXSupportEnabled:]): Deleted.
  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

  • DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults):

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

11:17 PM Changeset in webkit [294310] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.1-branch/Source/WTF

Cherry-pick r294272. rdar://problem/93118830

Correct erroneous guard in Platform file
https://bugs.webkit.org/show_bug.cgi?id=240469
<rdar://problem/93358873>

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

11:17 PM Changeset in webkit [294309] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.1-branch/Source/WTF

Cherry-pick r294265. rdar://problem/93118830

Remove abandoned WebKitAdditionsFeature1 flag (240462)
https://bugs.webkit.org/show_bug.cgi?id=240462
<rdar://93353298>

Reviewed by Alex Christensen.

Remove the abandoned WebKitAdditionsFeature1 preference, since
it ended up not being needed and now just complicates the build
and generated preferences.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/ExperimentalFeatureNames.h:

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

11:17 PM Changeset in webkit [294308] by Alan Coon
  • 18 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294264. rdar://problem/93118830

Remove abandoned UseScreenCaptureKit preference
https://bugs.webkit.org/show_bug.cgi?id=240460
<rdar://problem/93351960>

Reviewed by Youenn Fablet.

We no longer need this switch to activate ScreenCaptureKit, and this code is no
longer used. We should remove it to simplify the build and reduce complexity.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceCenter.h: (WebCore::RealtimeMediaSourceCenter::useScreenCaptureKit const): Deleted. (WebCore::RealtimeMediaSourceCenter::setUseScreenCaptureKit): Deleted.

Source/WebKit:

  • GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::setUseScreenCaptureKit): Deleted.
  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultScreenCaptureKitEnabled): Deleted.
  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _useScreenCaptureKit]): Deleted. (-[WKPreferences _setUseScreenCaptureKit:]): Deleted.
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::updatePreferences):
  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm: (TestWebKitAPI::TEST):

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

11:17 PM Changeset in webkit [294307] by Alan Coon
  • 10 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294208. rdar://problem/93118830

AX: Remove CSSDisplayContentsAXSupportEnabled flag
https://bugs.webkit.org/show_bug.cgi?id=240409

Reviewed by Chris Fleizach.

Source/WebCore:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setCSSDisplayContentsAXSupportEnabled): Deleted. (WebCore::RuntimeEnabledFeatures::cssDisplayContentsAXSupportEnabled const): Deleted.

Source/WebKitLegacy/mac:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences cssDisplayContentsAXSupportEnabled]): Deleted. (-[WebPreferences setCSSDisplayContentsAXSupportEnabled:]): Deleted.
  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

  • DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults):

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

11:17 PM Changeset in webkit [294306] by Ross Kirsling
  • 6 edits in trunk

ISO8601::parseCalendarTime must throw in cases of time/date ambiguity
https://bugs.webkit.org/show_bug.cgi?id=240498

Reviewed by Yusuke Suzuki.

The CalendarTime production (https://tc39.es/proposal-temporal/#prod-CalendarTime) goes to a lot of trouble
to ensure that ambiguous parses are not allowed; this patch ensures that our implementation does so too.

In short:

  • CalendarTime is basically TimeDesignator[opt] TimeSpec TimeZone[opt] Calendar[opt].
  • When we don't have a TimeDesignator or a Calendar, we're in danger of ambiguity: YYYY-MM, YYYYMM, MM-DD, MMDD look the same as HHMM-UU, HHMMSS, HH-UU, HHMM (where UU is a UTC offset).
  • The solution is to attempt to reparse the string as one of these date formats and throw if we succeed.
  • stress/temporal-plaintime.js: Adjust expectations.
  • test262/expectations.yaml: Mark 10 test cases as passing.
  • runtime/ISO8601.cpp:

(JSC::ISO8601::isAmbiguousCalendarTime):
(JSC::ISO8601::parseCalendarTime):
(JSC::ISO8601::daysInMonth):

  • runtime/ISO8601.h:

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

11:11 PM Changeset in webkit [294305] by Alan Coon
  • 4 edits
    3 adds in branches/safari-613-branch

Cherry-pick r294012. rdar://problem/92425915

Fix inertness of pseudo-elements
https://bugs.webkit.org/show_bug.cgi?id=239831

Reviewed by Antti Koivisto.

When we adjust style for a pseudo-element, m_element and document().activeModalDialog() are both null. So we accidentally reset inertness to false in those cases.

Fix this by making checking for m_element's existence too.

LayoutTests/imported/w3c:

  • web-platform-tests/inert/inert-pseudo-element-hittest-expected.txt: Added.
  • web-platform-tests/inert/inert-pseudo-element-hittest.html: Added.

Source/WebCore:

Test: imported/w3c/web-platform-tests/inert/inert-pseudo-element-hittest.html

  • style/StyleAdjuster.cpp: (WebCore::Style::Adjuster::adjust const):

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-pseudo-element-hittest-expected.txt: Added.

Canonical link: https://commits.webkit.org/250446@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294012 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:11 PM Changeset in webkit [294304] by Alan Coon
  • 16 edits
    2 adds in branches/safari-613-branch

Cherry-pick r293987. rdar://problem/92775435

Implement CSS :modal pseudo class
https://bugs.webkit.org/show_bug.cgi?id=240109

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Add and extend tests for :modal pseudo-class.

  • web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has-expected.txt: Added.
  • web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-show-modal.html:

Source/WebCore:

Test: imported/w3c/web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html

Renames :-internal-modal-dialog to :modal and adds :has() invalidation support.

  • css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const):
  • css/CSSSelector.h:
  • css/SelectorChecker.cpp: (WebCore::SelectorChecker::checkOne const):
  • css/SelectorCheckerTestFunctions.h: (WebCore::matchesModalPseudoClass): (WebCore::matchesModalDialogPseudoClass): Deleted.
  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • css/dialog.css: (dialog:modal): (dialog:-internal-modal-dialog): Deleted.
  • css/parser/CSSSelectorParser.cpp: (WebCore::CSSSelectorParser::consumePseudo):
  • cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION): (WebCore::SelectorCompiler::addPseudoClassType):
  • html/HTMLDialogElement.cpp: (WebCore::HTMLDialogElement::showModal): (WebCore::HTMLDialogElement::close): (WebCore::HTMLDialogElement::removedFromAncestor): (WebCore::HTMLDialogElement::setIsModal):
  • html/HTMLDialogElement.h:

LayoutTests:

Removes :-internal-modal-dialog from internal pseudo classes.

  • fast/css/pseudo-class-internal-expected.txt:
  • fast/css/pseudo-class-internal.html:

Canonical link: https://commits.webkit.org/250424@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293987 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:11 PM Changeset in webkit [294303] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r293981. rdar://problem/92084291

ASSERT in WebCore::RenderTreeUpdater::updateRenderTree
https://bugs.webkit.org/show_bug.cgi?id=240237

Reviewed by Antti Koivisto.

There are instances where calling findRenderingRoots() in RenderTreeUpdater::commit will
returns two rendering roots, with one of them being an ancestor of the other.

Calling updateRenderTree on the ancestor rendering root could end up removing
the renderer of the descendant rendering root.

This patch merges findRenderingRoots() to RenderTreeUpdater::commit() which, and now we will
ignore the nested root if there is no longer a renderer when it is being processed.

  • rendering/updating/RenderTreeUpdater.cpp:

Canonical link: https://commits.webkit.org/250419@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293981 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294302] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92913312

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

Canonical link: https://commits.webkit.org/250398@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

Cherry-pick r293894. rdar://problem/74201964

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

Canonical link: https://commits.webkit.org/250352@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293894 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294300] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore/platform/graphics/avfoundation/objc

Cherry-pick r293877. rdar://problem/92676179

[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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294299] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r293647. rdar://problem/92257660

Only stretch the percent height <body> when it is the document element's child
https://bugs.webkit.org/show_bug.cgi?id=239932
<rdar://92257660>

Reviewed by Antti Koivisto.

This IE quirk should only be applied to when the body is actually the document element's child (stretching case).

  • rendering/RenderBox.cpp: (WebCore::RenderBox::computeLogicalHeight const):
  • rendering/RenderBox.h: (WebCore::RenderBox::parentBox const):

Canonical link: https://commits.webkit.org/250151@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

Cherry-pick r293433. rdar://problem/91981865

[WebAuthn] Do not pass ASCCredentialRequestTypePlatform... if LocalService unavailable
https://bugs.webkit.org/show_bug.cgi?id=239746
rdar://91981865

Reviewed by Brent Fulgham.

Passing platform in requestTypes breaks the UI in registerations with the syncing platform
authenticator off and local service is unavailable. This patch stops passing it in this case.

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::configureRegistrationRequestContext): (WebKit::WebAuthenticatorCoordinatorProxy::performRequest):

Canonical link: https://commits.webkit.org/249993@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294297] by Alan Coon
  • 9 edits in branches/safari-613-branch

Cherry-pick r293264. rdar://problem/92130849

Web Inspector: Regression(r287684) Resources from the memory cache show empty content in Network, Sources, and Search tabs
https://bugs.webkit.org/show_bug.cgi?id=239667

Reviewed by Devin Rousso.

Source/WebCore:

Updated tests:

  • http/tests/inspector/network/resource-response-source-disk-cache.html
  • http/tests/inspector/network/resource-response-source-memory-cache.html

r287684 introduced a subtle bug when calling InspectorInstrumentation::didReceiveData. We rely
on there being a difference between real, but empty, data buffer and not having a data buffer,
but after r287684 an empty SharedBuffer would be passed in the later case. Instead, we should
continue to pass nullptr if there is no buffer so that InspectorNetworkAgent::didReceiveData
can distiguish between the two.

The bug is the result of having a non-nullptr data in InspectorNetworkAgent::didReceiveData,
which causes us to call maybeAddResourceData, which means by the time
InspectorNetworkAgent::getResponseBody is called, the ResourceData for the request will have
an empty, not non-existant, content(), which means we will return the empty content instead,
since we believe the response had actual content.

  • inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didReceiveDataImpl):
  • inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didReceiveData):
  • loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):

LayoutTests:

Add test steps to ensure that the resource has content, and that the base64Encoded value matches our
expectations. While only the memory cache was affected by this regression, add the test steps to both
the memory and disk caches to defend this functionality.

  • http/tests/inspector/network/resource-response-source-memory-cache-expected.txt:
  • http/tests/inspector/network/resource-response-source-memory-cache.html:
  • http/tests/inspector/network/resource-response-source-disk-cache-expected.txt:
  • http/tests/inspector/network/resource-response-source-disk-cache.html:

Canonical link: https://commits.webkit.org/249905@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294296] by Alan Coon
  • 7 edits in branches/safari-613-branch/Source

Cherry-pick r293220. rdar://problem/91924480

Apply purifyNaN in more places.
https://bugs.webkit.org/show_bug.cgi?id=239619
<rdar://problem/91924480>

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • wasm/js/JSWebAssemblyHelpers.h: (JSC::toJSValue):

Source/WebCore:

  • bindings/js/IDBBindingUtilities.cpp: (WebCore::toJS):
  • bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue):
  • bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::readTerminal):
  • bridge/objc/objc_utility.mm: (JSC::Bindings::convertObjcValueToValue):

Canonical link: https://commits.webkit.org/249889@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294295] by Alan Coon
  • 7 edits
    2 adds in branches/safari-613-branch

Cherry-pick r293170. rdar://problem/91117803

AVSampleBufferRenderSynchronizer timeline sometimes goes backwards when playback begins
https://bugs.webkit.org/show_bug.cgi?id=239471
rdar://91117803

Reviewed by Jer Noble.

Source/WebCore:

Test: media/media-source/media-source-current-time.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Log current time and requested playback rate. (WebCore::HTMLMediaElement::setPausedInternal): Log.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): If time has gone backward, clamp to the most recent seek time. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): Ditto. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime const): Use clampTimeToLastSeekTime. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::clampTimeToLastSeekTime const): New, clamp time value to the most recent seek time. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCurrentTimeDidChangeCallback): Use clampTimeToLastSeekTime. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastPixelBuffer): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableVideoFrame): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged): INFO_LOG -> ALWAYS_LOG

Source/WebKit:

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::currentTimeChanged): Log when time jumps backwards.

LayoutTests:

  • media/media-source/media-source-current-time-expected.txt: Added.
  • media/media-source/media-source-current-time.html: Added.

Canonical link: https://commits.webkit.org/249852@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294294] by Alan Coon
  • 6 edits
    2 moves
    2 adds in branches/safari-613-branch

Cherry-pick r293126. rdar://problem/90483049

REGRESSION (r281913): Map toolbar flickers when dragging the map on https://gis.ee/
https://bugs.webkit.org/show_bug.cgi?id=238589
<rdar://90483049>

Reviewed by Alan Bujtas.
Source/WebCore:

If a layer has negative z-order descendants, and one of those descendants becomes
composited, then that layer also has to composite, because its foreground needs to render in
front of those descendants. But this is tricky, because the compositing toggle is
out-of-order; we only know that the layer has to get composited after processing
descendants.

In particular, this created a problem with the overlap map, which tracks sets of rectangles
in "compositing scopes" via LayerOverlapMap. The delayed compositing toggle of the layer
with negative z-order descendants meant that any layers processed up to that point had their
bounds added in the wrong overlap scope. This resulted in subsequent bad overlap testing,
and a failure to make later layers composited.

The previous fix in this area (r281913) was incorrect. Revert it, and do a better fix, which
is to speculatively push an overlap map entry for the layer with negative z-order
descendants, if necessary. If this layer ends up not getting composited, we unwind the
speculative push, which will merge that scope with its parent scope.

In addition give OverlapMapContainer (an "overlap scope") a RenderLayer& which we can use
for logging, and to assert on correct behavior; it is not otherwise used in release builds.

Tests: compositing/layer-creation/overlap-with-negative-z-layers.html

compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs.html

  • rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::OverlapMapContainer): (WebCore::OverlapMapContainer::scopeLayer const): (WebCore::OverlapMapContainer::dump const): (WebCore::LayerOverlapMap::LayerOverlapMap): (WebCore::LayerOverlapMap::add): (WebCore::LayerOverlapMap::pushCompositingContainer): (WebCore::LayerOverlapMap::popCompositingContainer):
  • rendering/LayerOverlapMap.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): (WebCore::RenderLayerCompositor::updateOverlapMap const):

LayoutTests:

Move subtree-div-overlaps-multiple-negative-z-divs.html into the layer-creation directory.
Add a new test.

  • compositing/layer-creation/overlap-with-negative-z-layers-expected.html: Added.
  • compositing/layer-creation/overlap-with-negative-z-layers.html: Added.
  • compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs-expected.html: Renamed from LayoutTests/compositing/subtree-div-overlaps-multiple-negative-z-divs-expected.html.
  • compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs.html: Renamed from LayoutTests/compositing/subtree-div-overlaps-multiple-negative-z-divs.html.
  • fast/harness/render-tree-as-text-options-expected.txt: Test progressed; update results.

Canonical link: https://commits.webkit.org/249828@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

Cherry-pick r292738. rdar://problem/91295875

Use WebKit::blockedError instead of ResourceLoader::blockedError in WebLoaderStrategy::scheduleLoadFromNetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=239089
<rdar://91295875>

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

The latter dereferences the frame loader which can be null.

  • WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

Canonical link: https://commits.webkit.org/249522@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292738 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294292] by Alan Coon
  • 3 edits
    2 adds in branches/safari-613-branch

Cherry-pick r292350. rdar://problem/90589355

intersectsWithAncestor should take fragmented boxes into account.
https://bugs.webkit.org/show_bug.cgi?id=238648

Reviewed by Dean Jackson.

Source/WebCore:

Test: compositing/backing/backing-store-columns-inside-position-fixed.html

  • rendering/RenderLayerBacking.cpp: (WebCore::intersectsWithAncestor):

Use boundingBox() for intersectsWithAncestor, so that we can explicitly request the box that contains
all fragment boxes.

LayoutTests:

  • compositing/backing/backing-store-columns-inside-position-fixed-expected.txt: Added.
  • compositing/backing/backing-store-columns-inside-position-fixed.html: Added.

Adds new test that scrolls content split into columns until the first column is offscreen, to confirm
that we still have a backing store.

Canonical link: https://commits.webkit.org/249215@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:59 PM Changeset in webkit [294291] by Antti Koivisto
  • 14 edits
    1 copy
    1 add
    11 deletes in trunk

Resolve ::first-letter eagerly
https://bugs.webkit.org/show_bug.cgi?id=239844

Reviewed by Alan Bujtas.

Source/WebCore:

::first-letter pseudo-element should be resolved eagerly during style resolution, similar to ::first-line.
This will clean up the architecture. It also makes ::first-letter animatable.

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::styleDidChange): Deleted.

  • rendering/RenderTextFragment.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::removeCachedPseudoStyle): Deleted.

We always create a new style. There is no need to removed pseudo element styles.

  • rendering/style/RenderStyle.h:
  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::styleForFirstLetter):

Pull first-letter style from the parent style instead of resolving it in the middle of render tree building.

(WebCore::RenderTreeBuilder::FirstLetter::updateAfterDescendants):
(WebCore::RenderTreeBuilder::FirstLetter::updateStyle):

Delete the renderer if we no longer have a style.

(WebCore::RenderTreeBuilder::FirstLetter::createRenderers):

  • rendering/updating/RenderTreeBuilderFirstLetter.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::resolveElement):

Resove first-letter.

(WebCore::Style::TreeResolver::resolvePseudoElement):
(WebCore::Style::TreeResolver::resolveInheritedPseudoElement):

Factor into a function.

(WebCore::Style::isChildInBlockFormattingContext):
(WebCore::Style::TreeResolver::resolveAncestorFirstLinePseudoElement):
(WebCore::Style::TreeResolver::resolveAncestorFirstLetterPseudoElement):

Resolving first-letter is similar to first-line except it is always a leaf and so won't be inherited from.

(WebCore::Style::TreeResolver::makeResolutionContextForPseudoElement):
(WebCore::Style::TreeResolver::makeResolutionContextForInheritedFirstLine):

  • style/StyleTreeResolver.h:

LayoutTests:

  • fast/css-generated-content/first-letter-in-nested-before-expected.html: Added.
  • fast/css-generated-content/first-letter-in-nested-before-expected.png: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-expected.txt: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-table-expected.html: Copied from LayoutTests/fast/css-generated-content/first-letter-in-nested-before-table.html.
  • fast/css-generated-content/first-letter-in-nested-before-table-expected.png: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-table.html:
  • fast/css-generated-content/first-letter-in-nested-before.html:

Make reftest and update the behavior. ::first-letter won't affect ::before/after with display:table,
matching Firefox behavior (and spec logic).

  • platform/glib/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/gtk/fast/css-generated-content/first-letter-in-nested-before-expected.png: Removed.
  • platform/gtk/fast/css-generated-content/first-letter-in-nested-before-table-expected.png: Removed.
  • platform/ios/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/mac/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/win/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/wincairo/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
10:52 PM Changeset in webkit [294290] by zan@falconsigh.net
  • 4 edits in trunk/Source

[GTK][WPE] Current-context enforcement in ANGLE is expensive
https://bugs.webkit.org/show_bug.cgi?id=240392

Reviewed by Adrian Perez de Castro.

Source/WebCore:

ANGLE's current-context operations are relatively heavy and introduce
detectable overhead when executed for each of many WebGL operation. More
specifically, loads of the current-thread data from thread-local
storage are done under both EGL_GetCurrentContext() and
EGL_MakeCurrent() through the general TLS access model, relying on the
tls_get_addr function.

Instead, a static thread-local pointer variable is introduced, with the
initial-exec method, containing the address of the current
GraphicsContextGLANGLE object for a given thread. Instead of dipping
into ANGLE to retrieve the current context, the GraphicsContextGLANGLE
object's address is compared to the value of the thread-local variable
and an early return is done if they match.

This model is applied through the TLS_MODEL_INITIAL_EXEC macro that's
defined appropriately if the compiler is detected to support the
required tls_model attribute. This should be the case when targetting
platforms that use ELF, i.e. Unix-like systems but primarily Linux.

The initial-exec TLS model relies on early understanding from the
dynamic linker about what TLS data is required, which enables more
efficient allocation of and access into the required underlying memory.

Caching the current-context data into a static thread-specific variable
with the initial-exec TLS model is the same approach that's taken in the
Mesa library. More on this and other TLS models can be gathered from the
'ELF Handling For Thread-Local Storage' paper by Ulrich Drepper.

  • platform/graphics/gbm/GraphicsContextGLGBM.cpp:

(WebCore::GraphicsContextGLANGLE::makeContextCurrent):

Source/WTF:

  • wtf/Compiler.h: Define the TLS_MODEL_INITIAL_EXEC macro as the

tls_model attribute with the initial-exec value, to be used on variables
whose TLS model should be adjusted.

10:23 PM Changeset in webkit [294289] by Alan Coon
  • 17 edits
    2 adds in branches/safari-7614.1.14.100-branch/Source

Cherry-pick r294160. rdar://problem/87170289

Add UI-side layers for optionally indicating interaction regions
https://bugs.webkit.org/show_bug.cgi?id=240372
<rdar://problem/87170289>

Reviewed by Dean Jackson.

Source/WebCore:

  • page/DebugPageOverlays.cpp: (WebCore::pathsForRegion): Move inline rect inflation into InteractionRegion so that all clients get it.
  • page/Page.cpp: (WebCore::Page::shouldBuildInteractionRegions const):
  • page/Page.h:
  • page/Frame.cpp: (WebCore::Frame::invalidateContentEventRegionsIfNeeded):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::maintainsEventRegion const): (WebCore::RenderLayerBacking::updateEventRegion): If the ENABLE() and setting are both enabled, update event regions due to possible interaction region changes. We could make this more conservative later, but chances are high that most layers include interaction regions.

For now, compute interaction regions only for the root layer.
In a future patch, we will adopt the normal fake paint mechanism
and maintain them on the layer that owns them.

  • page/InteractionRegion.cpp: (WebCore::regionForElement): Move inline rect inflation into InteractionRegion so that all clients get it. Limit interaction rects to half of the viewport. Ignore regions that are larger.
  • page/InteractionRegion.h: (WebCore::operator==): Added. (WebCore::InteractionRegion::encode const): (WebCore::InteractionRegion::decode): Remove the isInline bit, since we only used it for rect inflation.
  • rendering/EventRegion.cpp: (WebCore::EventRegion::operator== const): (WebCore::EventRegion::translate): (WebCore::EventRegion::uniteInteractionRegions): (WebCore::EventRegion::computeInteractionRegions):
  • rendering/EventRegion.h: (WebCore::EventRegion::interactionRegions const): (WebCore::EventRegion::encode const): (WebCore::EventRegion::decode): Store interaction regions on EventRegion.

Source/WebKit:

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): (WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates): Allow RemoteLayerTreeInteractionRegionLayers to add and maintain layers for interaction regions.
  • SourcesCocoa.txt:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h: Added.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: Added. (configureLayerForInteractionRegion): (WebKit::interactionRegionForLayer): (WebKit::isInteractionRegionLayer): (WebKit::setInteractionRegion): Box WebCore::InteractionRegion in a Objective-C object and store it on the layer. Use this as a key to indicate that a given layer is an interaction region.

(WebKit::appendInteractionRegionLayersForLayer):
Make sure that interaction region layers are always at the end of the layer's sublayers array.

(WebKit::updateLayersForInteractionRegions):
Add new layers for interaction regions.
Maintain the same layer for regions that cover the same area.
Add a green wash if the default WKInteractionRegionDebugFill is set.

  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml: Add a preference to toggle interaction region layers.

Canonical link: https://commits.webkit.org/250529@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:22 PM Changeset in webkit [294288] by Alan Coon
  • 42 edits in branches/safari-7614.1.14.100-branch/Source/WebCore

Cherry-pick r293993. rdar://problem/92993954

Const-ify Node::willRespondTo*Events()
https://bugs.webkit.org/show_bug.cgi?id=240246

Reviewed by Wenson Hsieh.

Constify these four methods, because there's no
reason for them not to be, and because it makes
them usable in a const context in a future patch.

  • dom/EventNames.h: (WebCore::EventNames::isTouchRelatedEventType const):
  • dom/EventTarget.cpp: (WebCore::EventTarget::eventTypes const):
  • dom/EventTarget.h:
  • dom/Node.cpp: (WebCore::Node::willRespondToMouseMoveEvents const): (WebCore::Node::willRespondToTouchEvents const): (WebCore::Node::willRespondToMouseClickEvents const): (WebCore::Node::willRespondToMouseWheelEvents const):
  • dom/Node.h:
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::willRespondToMouseClickEvents const):
  • html/HTMLAnchorElement.h:
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::willRespondToMouseClickEvents const):
  • html/HTMLButtonElement.h:
  • html/HTMLElement.cpp: (WebCore::HTMLElement::willRespondToMouseMoveEvents const): (WebCore::HTMLElement::willRespondToMouseWheelEvents const): (WebCore::HTMLElement::willRespondToMouseClickEvents const):
  • html/HTMLElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::willRespondToMouseClickEvents const):
  • html/HTMLImageElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willRespondToMouseClickEvents const):
  • html/HTMLInputElement.h:
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::willRespondToMouseClickEvents const):
  • html/HTMLLabelElement.h:
  • html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents const):
  • html/HTMLPlugInElement.h:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::willRespondToMouseClickEvents const):
  • html/HTMLSelectElement.h:
  • html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::willRespondToMouseClickEvents const):
  • html/HTMLSummaryElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents const):
  • html/HTMLTextAreaElement.h:
  • html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents const): (WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents const):
  • html/TextFieldInputType.h:
  • html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::willRespondToMouseMoveEvents const): (WebCore::SliderThumbElement::willRespondToMouseClickEvents const):
  • html/shadow/SliderThumbElement.h:
  • html/shadow/SpinButtonElement.cpp: (WebCore::SpinButtonElement::willRespondToMouseMoveEvents const): (WebCore::SpinButtonElement::willRespondToMouseClickEvents const): (WebCore::SpinButtonElement::shouldRespondToMouseEvents const):
  • html/shadow/SpinButtonElement.h:
  • html/shadow/TextControlInnerElements.cpp: (WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents const): (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents const):
  • html/shadow/TextControlInnerElements.h:
  • mathml/MathMLElement.cpp: (WebCore::MathMLElement::willRespondToMouseClickEvents const):
  • mathml/MathMLElement.h:
  • mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::willRespondToMouseClickEvents const):
  • mathml/MathMLSelectElement.h:
  • svg/SVGAElement.cpp: (WebCore::SVGAElement::willRespondToMouseClickEvents const):
  • svg/SVGAElement.h:

Canonical link: https://commits.webkit.org/250430@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:21 PM Changeset in webkit [294287] by mark.lam@apple.com
  • 28 edits in trunk/Source

Add ARM64 disassembler support for symbolic dumping of some well known constants.
https://bugs.webkit.org/show_bug.cgi?id=240443

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  1. Added a Options::needDisassemblySupport() option. This option is true if any of the JSC disassembly options are enabled. This allows us to trivially check if we need to enable additional infrastructure (like those added in this patch) to support disassembly.
  1. Refactor the Disassembler's thunkLabelMap into a more generic labelMap. It can now map a pointer to a CString or a const char* label.
  1. Enable JITOperationList infrastructure when ENABLE(JIT_OPERATION_DISASSEMBLY) is true. This adds a name to the JITOperationAnnotation record. Since this is guarded by ENABLE(JIT_OPERATION_DISASSEMBLY), we can trivially turn this part off later if adding this name adds too much size burden (or if any unexpected issues arise). Turning this off will only disable disassembly of JIT operation names. Disassembly of other constants (see below) will still be supported.

If Options::needDisassemblySupport() is true, the JITOperationList will
register all JIT operations (and the LLInt ones as well) with the Disassembler
labelMap.

  1. Removed the < > brackets around branch target labels except for internal pc index labels (e.g. <716>) and <unknown> (when we don't know what the branch target is). The < > notation takes up space and doesn't add any info. The branch targets now look like this:

<32> 0x1180102c0: b.ne 0x1180101c0 -> thunk: native Tail With Saved Tags Call trampoline
<92> 0x11801c87c: b 0x118008980 -> thunk: LLInt function for call jump to prologue thunk

<3508> 0x1198e16b4: b 0x1198bc1a0 -> JIT PC

Internal pc index labels will still use the < > brackets:

<3476> 0x1198e1694: b.eq 0x1198e16a0 -> <3488>

  1. Added ARM64 disassembler support to compute the value of a constant being loaded into a register using "MoveWide" instructions e.g. movz and movk.

When the disassembler sees a movz or movn or mov (of the MoveWide variety),
the disassembler initializes a m_builtConstant value. With each subsequent
movk instruction with the same destination register, the disassembler splices
in the corresponding 16-bit immediate.

After disassembling a MoveWide instruction, it will check if the next
instruction is also a MoveWide instruction targeting the same destination
register. If so, the constant is still being build: hence, it does nothing and
continues.

If the next instruction is (a) a MoveWide instruction targeting a different
register, (b) not a MoveWide instruction, or (c) we've reached the end of the
LinkBuffer (i.e. there's no next instruction), then the constant building for
the current target register is complete.

  1. Added ARM64 disassembler support for looking up constants (built in (5) above) and printing symbolic info / names of those constants.

With ENABLE(JIT_OPERATION_DISASSEMBLY), we now have JIT operation names e.g.

<176> 0x118010270: movk x3, #0x9f6e, lsl #48 -> 0x102dc8950 operationVMHandleException
<164> 0x1180180a4: movk x8, #0xe5c, lsl #48 -> 0x102db9420 operationVirtualCall

Apart from looking up the constant in the Disassembler labelMap, it also looks
up some commonly used constants e.g.

  1. VM pointers:

<156> 0x11801105c: movk x0, #0x1, lsl #32 -> 0x139435000 vm

  1. Some VM internal pointers (more can be added later as needed):

<24> 0x118014d18: movk x17, #0x1, lsl #32 -> 0x13943ee78 vm +40568: vm.topCallFrame
<76> 0x118014d4c: movk x17, #0x1, lsl #32 -> 0x139441a10 vm +51728: vm.m_exception

<196> 0x118011244: movk x17, #0x1, lsl #32 -> 0x1394417d0 vm +51152: vm.targetMachinePCForThrow
<208> 0x1198e09d0: movk x17, #0x1, lsl #32 -> 0x104432cc0 vm +52416: vm.m_doesGC

  1. VM related pointers (only 1 for now; not VM fields, but hangs off of VM):

<12> 0x11801938c: movk x1, #0x1, lsl #32 -> 0x1052cd3c8 vm scratchBuffer.m_buffer

  1. Well known PtrTags:

<204> 0x11801124c: movz x16, #0x6f9b -> 0x6f9b ExceptionHandlerPtrTag ?
<212> 0x1180150d4: movz x16, #0x593 -> 0x593 JSEntryPtrTag ?
<168> 0x1180183a8: movz lr, #0xb389 -> 0xb389 OperationPtrTag ?

  • the ? is because we cannot be certain that the 16-bit constant is a PtrTag. It may just be a coincidence that the value is the same. However, the user can trivially look at the surrounding disassembled code, and be able to tell if the value is used as a PtrTag.

For constants that are not found in the known sets:

  1. Small 16-bit constant (prints decimal value for convenience):

<200> 0x1198e09c8: movz x17, #0x2cc0 -> 11456

  1. Unknown pointers that aren't in the JIT and LLINT regions will simply print the pointer / constant:

<88> 0x1198e0958: movz x17, #0x2088
<92> 0x1198e095c: movk x17, #0x30d, lsl #16
<96> 0x1198e0960: movk x17, #0x1, lsl #32 -> 0x1030d2088

<unknown> is only used in relative branches.

  1. Enhanced the Integrity::isSanePointer() check to reject pointer values that are less than 4G on CPU(ADDRESS64) targets for OS(DARWIN). No sane pointer should be in the lowest 4G address region.

This also helps the disassembler more quickly filter out constant values that
aren't pointers.

This change affects DFG's speculationFromCell(), which is the only place that
may affect user facing performance. However, I think the impact should be
insignificant (since the added check is cheap).

  • assembler/JITOperationList.cpp:

(JSC::JITOperationList::populatePointersInJavaScriptCore):
(JSC::llintOperations):
(JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt):
(JSC::JITOperationList::addDisassemblyLabels):
(JSC::JITOperationList::populateDisassemblyLabelsInJavaScriptCore):
(JSC::JITOperationList::populateDisassemblyLabelsInJavaScriptCoreForLLInt):
(JSC::JITOperationList::populateDisassemblyLabelsInEmbedder):

  • assembler/JITOperationList.h:

(JSC::JITOperationList::populatePointersInJavaScriptCore):
(JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt):

  • assembler/JITOperationValidation.h:
  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::finalizeCodeWithDisassemblyImpl):

  • b3/testb3_1.cpp:

(main):

  • disassembler/ARM64/A64DOpcode.cpp:

(JSC::ARM64Disassembler::A64DOpcode::appendPCRelativeOffset):
(JSC::ARM64Disassembler::MoveWideFormatTrait::rejectedResult):
(JSC::ARM64Disassembler::MoveWideFormatTrait::acceptedResult):
(JSC::ARM64Disassembler::MoveWideIsValidTrait::rejectedResult):
(JSC::ARM64Disassembler::MoveWideIsValidTrait::acceptedResult):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::handlePotentialDataPointer):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::handlePotentialPtrTag):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::parse):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::format):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::isValid):

  • disassembler/ARM64/A64DOpcode.h:

(JSC::ARM64Disassembler::A64DOpcodeMoveWide::baseFormat):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::formatBuffer):

  • disassembler/Disassembler.cpp:

(JSC::Disassembler::ensureLabelMap):
(JSC::registerLabel):
(JSC::labelFor):
(JSC::ensureThunkLabelMap): Deleted.
(JSC::registerThunkLabel): Deleted.
(JSC::labelForThunk): Deleted.

  • disassembler/Disassembler.h:
  • jsc.cpp:

(jscmain):

  • runtime/Gate.h:
  • runtime/JSCPtrTag.cpp:

(JSC::ptrTagName):

  • runtime/JSCPtrTag.h:
  • runtime/Options.cpp:

(JSC::Options::recomputeDependentOptions):

  • runtime/OptionsList.h:
  • runtime/VM.cpp:

(JSC::VM::isScratchBuffer):

  • runtime/VM.h:
  • tools/Integrity.h:

(JSC::Integrity::isSanePointer):

Source/WebCore:

  • bindings/js/WebCoreJITOperations.cpp:

(WebCore::populateJITOperations):
(WebCore::populateDisassemblyLabels):

  • bindings/js/WebCoreJITOperations.h:

(WebCore::populateDisassemblyLabels):
(WebCore::populateJITOperations):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::populateJITOperations):
(WebCoreTestSupport::populateDisassemblyLabels):

  • testing/js/WebCoreTestSupport.h:

(WebCoreTestSupport::populateDisassemblyLabels):
(WebCoreTestSupport::populateJITOperations):

Source/WTF:

  1. Added a ENABLE(JIT_OPERATION_DISASSEMBLY) flag. Currently, this feature relies on an USE(APPLE_INTERNAL_SDK) for enumerating JIT operations similar to ENABLE(JIT_OPERATION_VALIDATION). It is also restricted to ENABLE(DISASSEMBLER) && CPU(ARM64E).
  • wtf/PlatformCallingConventions.h:
  • wtf/PlatformEnable.h:
8:36 PM Changeset in webkit [294286] by Chris Dumez
  • 2 edits in trunk/Source/WebKit/UIProcess/API/C

Expose Page identifier via WKPageRef SPI
https://bugs.webkit.org/show_bug.cgi?id=240400
<rdar://93269635>

Reviewed by Tim Horton.

  • Source/WebKit/UIProcess/API/C/WKPage.cpp:

(WKPageGetIdentifier):

  • Source/WebKit/UIProcess/API/C/WKPage.h:

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

8:29 PM Changeset in webkit [294285] by Wenson Hsieh
  • 7 edits in trunk

Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI
https://bugs.webkit.org/show_bug.cgi?id=240494
rdar://93385094

Reviewed by Tim Horton.

This method was only intended for use in MiniBrowser, and should ship as public API on WKWebView. Move the
declaration and implementation of this over to WKWebViewPrivateForTestingMac.h and WKWebViewTestingMac.mm
(respectively), and additionally prefix this testing-only SPI with an underscore.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView retrieveAccessibilityTreeData:]): Deleted.

  • UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
  • UIProcess/API/mac/WKWebViewTestingMac.mm:

(-[WKWebView _retrieveAccessibilityTreeData:]):
Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI
https://bugs.webkit.org/show_bug.cgi?id=240494
rdar://93385094

Reviewed by Tim Horton.

See WebKit/ChangeLog for more details.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController logAccessibilityTrees:]):

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

6:34 PM Changeset in webkit [294284] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Move around some NaN handling code
https://bugs.webkit.org/show_bug.cgi?id=240493
<rdar://92111504>

Reviewed by Yusuke Suzuki.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileValueRep):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::purifyNaN):
(JSC::FTL::DFG::LowerDFGToB3::compileValueRep):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

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

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

REGRESSION (r294215): [ iOS ] Nine fast tests are a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240495

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

6:00 PM Changeset in webkit [294282] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in

[macOS] Fix mach syscall sandbox violation in the Network process
https://bugs.webkit.org/show_bug.cgi?id=240466
<rdar://93249176>

Reviewed by Chris Dumez.

Fix mach syscall sandbox violation in the Network process on macOS.

  • Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

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

4:58 PM Changeset in webkit [294281] by gnavamarino@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in WebCore::InsertTextCommand::positionInsideTextNode
https://bugs.webkit.org/show_bug.cgi?id=240480

Reviewed by Ryosuke Niwa.

Calling pushAnchorElementDown in CompositeEditCommand::positionAvoidingSpecialElementBoundary can
end up removing the startPosition's container node which leaves an invalid endingSelection.

InsertTextCommand::doApply requires a real endingSelection, so we should check if this occurred and bail out.

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::doApply):

4:44 PM Changeset in webkit [294280] by Said Abou-Hallawa
  • 8 edits in trunk/Source

REGRESSION(r249162): CanvasRenderingContext2DBase::drawImage() crashes if the image is animated and the first frame cannot be decoded
https://bugs.webkit.org/show_bug.cgi?id=239113
rdar://87980543

Reviewed by Simon Fraser.

Source/WebCore:

CanvasRenderingContext2DBase::drawImage() needs to ensure the first frame
of the animated image can be decoded correctly before creating the temporary
static image. If the first frame can't be decoded, this function should return
immediately. This matches the behavior of this function before r249162.

The animated image decodes its frames asynchronously in a work queue. But
the first frame has to be decoded synchronously in the main run loop. So
to avoid running the image decoder in two different threads we are going
to keep the first and the current frame cached when we receive a memory
pressure warning. This should not increase the memory allocation of the
animated image because the numbers of cached frames increases quickly and
we keep all of them till a memory warning is received. But the memory
pressure warning will be received a little bit more often. This depends
on the memory size of the first frame.

To make the code more robust, make ImageSource take a Ref<NativeImage>
instead of taking a RefPtr<NativeImage>.

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawImage):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::destroyDecodedData):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::destroyDecodedData):
(WebCore::ImageSource::setNativeImage):

  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::create):
(WebCore::ImageSource::isDecoderAvailable const):
(WebCore::ImageSource::destroyAllDecodedData): Deleted.
(WebCore::ImageSource::destroyAllDecodedDataExcludeFrame): Deleted.
(WebCore::ImageSource::destroyDecodedDataBeforeFrame): Deleted.

Source/WebKit:

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::drawSystemImage):

4:40 PM Changeset in webkit [294279] by Simon Fraser
  • 12 edits in trunk/Source/WebCore

rdar://93377867 (WebKit r294204: weird text rendering artifacts while pages are loading)

Revert r294204 and r294262

  • layout/integration/inline/InlineIteratorBox.cpp:

(WebCore::InlineIterator::Box::visualRect const): Deleted.

  • layout/integration/inline/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::visualRect const):
(WebCore::InlineIterator::Box::containingBlock const): Deleted.

  • layout/integration/inline/InlineIteratorBoxLegacyPath.h:

(WebCore::InlineIterator::BoxLegacyPath::containingBlock const): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::direction const): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::isFirstLine const): Deleted.

  • layout/integration/inline/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::direction const):
(WebCore::InlineIterator::BoxModernPath::containingBlock const): Deleted.
(WebCore::InlineIterator::BoxModernPath::isFirstLine const): Deleted.

  • layout/integration/inline/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

  • rendering/InlineBoxPainter.cpp:

(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):

  • rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::addTextBoxVisualOverflow):

  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::paint):

  • rendering/LegacyInlineTextBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::TextBoxPainter):
(WebCore::TextBoxPainter::~TextBoxPainter):
(WebCore::TextBoxPainter::paint):
(WebCore::TextBoxPainter::createMarkedTextFromSelectionInBox):
(WebCore::TextBoxPainter::paintBackground):
(WebCore::TextBoxPainter::paintForegroundAndDecorations):
(WebCore::TextBoxPainter::paintCompositionBackground):
(WebCore::TextBoxPainter::paintForeground):
(WebCore::TextBoxPainter::createDecorationPainter):
(WebCore::TextBoxPainter::paintBackgroundDecorations):
(WebCore::TextBoxPainter::paintForegroundDecorations):
(WebCore::TextBoxPainter::paintCompositionUnderlines):
(WebCore::textPosition):
(WebCore::TextBoxPainter::paintCompositionUnderline):
(WebCore::TextBoxPainter::paintPlatformDocumentMarkers):
(WebCore::TextBoxPainter::calculateUnionOfAllDocumentMarkerBounds):
(WebCore::TextBoxPainter::paintPlatformDocumentMarker):
(WebCore::TextBoxPainter::computePaintRect):
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter::computeHaveSelection const):
(WebCore::TextBoxPainter::fontCascade const):
(WebCore::TextBoxPainter::textOriginFromPaintRect const):
(WebCore::TextBoxPainter::debugTextShadow const):
(WebCore::LegacyTextBoxPainter::LegacyTextBoxPainter): Deleted.
(): Deleted.
(WebCore::ModernTextBoxPainter::ModernTextBoxPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::TextBoxPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::~TextBoxPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::makeIterator const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paint): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::createMarkedTextFromSelectionInBox): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintBackground): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundAndDecorations): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionBackground): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintForeground): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::createDecorationPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintBackgroundDecorations): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundDecorations): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderlines): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::textPosition): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderline): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarkers): Deleted.
(WebCore::LegacyTextBoxPainter::calculateUnionOfAllDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarker): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::computePaintRect): Deleted.
(WebCore::calculateDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::computeHaveSelection const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::fontCascade const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::textOriginFromPaintRect const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const): Deleted.

  • rendering/TextBoxPainter.h:

(WebCore::TextBoxPainter::textBox const):

4:40 PM Changeset in webkit [294278] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/004.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240489

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

4:13 PM Changeset in webkit [294277] by Alan Coon
  • 8 edits
    2 adds in branches/safari-613-branch

Apply patch. rdar://problem/88672183

4:13 PM Changeset in webkit [294276] by Alan Coon
  • 6 edits in branches/safari-613-branch/Source/WebCore

Apply patch. rdar://problem/88408231

4:03 PM Changeset in webkit [294275] by Oriol Brufau
  • 6 edits
    2 adds in trunk

Take intrinsicBorderForFieldset() into account in intrinsically sized fieldset
https://bugs.webkit.org/show_bug.cgi?id=240388

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Add test.

  • web-platform-tests/html/semantics/forms/the-fieldset-element/fieldset-intrinsic-size-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/the-fieldset-element/fieldset-intrinsic-size.html: Added.

Source/WebCore:

With 'box-sizing: content-box', computeIntrinsicLogicalContentHeightUsing
was not taking intrinsicBorderForFieldset() into account. So a fieldset
with 'height: min-content' would ignore the extra space required by the
legend, and the contents would overflow.

This patch adds a RenderBox::adjustIntrinsicLogicalHeightForBoxSizing
method with the logic, and overrides it in RenderBlock to take
intrinsicBorderForFieldset() into account.

Test: imported/w3c/web-platform-tests/html/semantics/forms/the-fieldset-element/fieldset-intrinsic-size.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::adjustIntrinsicLogicalHeightForBoxSizing const):
Take intrinsicBorderForFieldset() into account.

  • rendering/RenderBlock.h:

Override adjustIntrinsicLogicalHeightForBoxSizing.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::adjustIntrinsicLogicalHeightForBoxSizing const):
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
Move logic into a new method so that RenderBlock can override it.

  • rendering/RenderBox.h:

Declare adjustIntrinsicLogicalHeightForBoxSizing as virtual.
No need for computeIntrinsicLogicalContentHeightUsing to be virtual.

3:59 PM Changeset in webkit [294274] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the build after 250556@main

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
Maintain the status quo here, for now, by adopting unsafeBuffer().

3:56 PM Changeset in webkit [294273] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[CMake][VS] PrivateHeaders/WebCore/WebCoreJSBuiltinInternals.h is not updated in incremental build
https://bugs.webkit.org/show_bug.cgi?id=240297

Reviewed by Don Olmstead.

In CMake Visual Studio generator builds,
WebCoreJSBuiltinInternals.h was not copied to the private headers
directory as expected in incremental builds.

${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltinInternals.h was
added to both WebCore_SOURCES and WebCore_PRIVATE_FRAMEWORK_HEADERS.
This caused the incremental build problem. Don't add the headers
to WebCore_SOURCES.

There was another minor problem. ${WebCore_BUILTINS_SOURCES} was
passed to the MAIN_DEPENDENCY argument of add_custom_command.
However, MAIN_DEPENDENCY argument should take a single file. It
should be passed to DEPENDS argument.

  • CMakeLists.txt:
3:43 PM Changeset in webkit [294272] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

Correct erroneous guard in Platform file
https://bugs.webkit.org/show_bug.cgi?id=240469
<rdar://problem/93358873>

3:35 PM Changeset in webkit [294271] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

-Wdangling-pointer warning when building ANGLE with GCC 12
https://bugs.webkit.org/show_bug.cgi?id=239339

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-16
Reviewed by Yusuke Suzuki and Kenneth Russell.

  • Source/ThirdParty/ANGLE/CMakeLists.txt:

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

3:26 PM Changeset in webkit [294270] by Alan Coon
  • 9 edits in branches/safari-613-branch/Source

Versioning.

WebKit-7613.3.2

3:26 PM Changeset in webkit [294269] by Alan Coon
  • 9 edits in branches/safari-613-branch/Source

Revert "Versioning."

This reverts r294068.

3:25 PM Changeset in webkit [294268] by yurys@chromium.org
  • 2 edits in trunk/Source/WebKit

[SOUP2] Compute number of header bytes whe using soup 2
https://bugs.webkit.org/show_bug.cgi?id=240200

Reviewed by Michael Catanzaro.

SOUP 2 lacks methods that allow to get computed head sizes (only present in v3),
calculate the sizes manually when libsoup 2 is used.

No new tests, covered by LayoutTests/http/tests/inspector/network/resource-sizes-network.html
when compiled with SOUP 2.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::addHeaderSizes):
(WebKit::NetworkDataTaskSoup::didGetHeaders):

3:25 PM Changeset in webkit [294267] by ntim@apple.com
  • 4 edits in trunk

[css-ui] Unexpose attachment and borderless-attachment appearance values
https://bugs.webkit.org/show_bug.cgi?id=240447

Reviewed by Tim Horton.

Hide them behind the attachmentElementEnabled setting.

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

LayoutTests:

  • imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Source/WebCore:

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

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

3:18 PM Changeset in webkit [294266] by ntim@apple.com
  • 5 edits in trunk/Source

[css-ui] Update documentation for appearance CSS property
https://bugs.webkit.org/show_bug.cgi?id=240481

Reviewed by Devin Rousso.

Account for r294226, r294187 and r294170.

Source/WebCore:

  • css/CSSProperties.json:

Source/WebInspectorUI:

  • UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • UserInterface/External/CSSDocumentation/CSSDocumentation.js:

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

2:53 PM Changeset in webkit [294265] by Brent Fulgham
  • 3 edits in trunk/Source/WTF

Remove abandoned WebKitAdditionsFeature1 flag (240462)
https://bugs.webkit.org/show_bug.cgi?id=240462
<rdar://93353298>

Reviewed by Alex Christensen.

Remove the abandoned WebKitAdditionsFeature1 preference, since
it ended up not being needed and now just complicates the build
and generated preferences.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/ExperimentalFeatureNames.h:
2:44 PM Changeset in webkit [294264] by Brent Fulgham
  • 18 edits in trunk

Remove abandoned UseScreenCaptureKit preference
https://bugs.webkit.org/show_bug.cgi?id=240460
<rdar://problem/93351960>

Reviewed by Youenn Fablet.

We no longer need this switch to activate ScreenCaptureKit, and this code is no
longer used. We should remove it to simplify the build and reduce complexity.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceCenter.h:

(WebCore::RealtimeMediaSourceCenter::useScreenCaptureKit const): Deleted.
(WebCore::RealtimeMediaSourceCenter::setUseScreenCaptureKit): Deleted.

Source/WebKit:

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::setUseScreenCaptureKit): Deleted.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultScreenCaptureKitEnabled): Deleted.

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _useScreenCaptureKit]): Deleted.
(-[WKPreferences _setUseScreenCaptureKit:]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::updatePreferences):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm:

(TestWebKitAPI::TEST):

2:43 PM Changeset in webkit [294263] by Adrian Perez de Castro
  • 2 edits in trunk/Tools/buildstream

[Flatpak SDK] Update libwpe to version 1.13.2
https://bugs.webkit.org/show_bug.cgi?id=240470

Reviewed by Philippe Normand.

  • elements/sdk/libwpe.bst: Update to version 1.13.2, switch download URL to the

canonical release site while at it.

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

2:41 PM Changeset in webkit [294262] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, fix build after 250565@main
https://bugs.webkit.org/show_bug.cgi?id=240416

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-16

  • Source/WebCore/rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • Source/WebCore/rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const):

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

2:37 PM Changeset in webkit [294261] by Ryan Haddad
  • 9 edits in trunk

Unreviewed, reverting r294238.

Breaks internal builds

Reverted changeset:

"Use _adoptEffectiveConfiguration instead of a separate
NSURLSession without credentials"
https://bugs.webkit.org/show_bug.cgi?id=240362
https://commits.webkit.org/r294238

2:21 PM Changeset in webkit [294260] by Alan Coon
  • 31 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294225. rdar://problem/92978482

Make sure calling showNotification will extend the service worker lifetime
https://bugs.webkit.org/show_bug.cgi?id=240273
<rdar://92978482>

Reviewed by Chris Dumez.

Source/WebCore:

Update NotificationClient API so that show is taking a completion handler.
Make use of this completion handler to resolve the promise when the show notification steps are done, as per spec.
Register push event to ServiceWorkerGlobalScope when the event handlers are called.
When ServiceWorkerRegistration::show is called during one of the push event handlers,
extend the push event lifetime by adding the show notification promise to the push event.

Covered by API test.

  • Modules/notifications/Notification.cpp:
  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationClient.h:
  • dom/ScriptExecutionContext.cpp:
  • dom/ScriptExecutionContext.h:
  • workers/service/ServiceWorkerGlobalScope.cpp:
  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/ServiceWorkerRegistration.cpp:
  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/context/ServiceWorkerThread.cpp:

Source/WebKit:

On WebProcess side, implement the new NoficationClient::show API that takes a callback.
Delay calling this callback until UIProcess tells us so through async IPC.
On UIProcess side, take a callback and call it when the show notification steps are done.

  • NetworkProcess/Notifications/NetworkNotificationManager.cpp:
  • NetworkProcess/Notifications/NetworkNotificationManager.h:
  • Shared/Notifications/NotificationManagerMessageHandler.h:
  • Shared/Notifications/NotificationManagerMessageHandler.messages.in:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.cpp:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.h:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.h:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
  • WebProcess/Notifications/WebNotificationManager.cpp:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:
  • WebProcess/WebCoreSupport/WebNotificationClient.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebNotificationClient.h:
  • WebCoreSupport/WebNotificationClient.mm:

Tools:

  • TestWebKitAPI/TestNotificationProvider.cpp:
  • TestWebKitAPI/TestNotificationProvider.h:
  • TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:

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

2:21 PM Changeset in webkit [294259] by mmaxfield@apple.com
  • 1 edit in trunk/Source/WebCore/css/CSSProperties.json

Fix URL to offset-rotate property in CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=240474

Reviewed by Myles C. Maxfield.

No new tests, not a functional change.

  • Source/WebCore/css/CSSProperties.json:

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

2:21 PM Changeset in webkit [294258] by Alan Coon
  • 8 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294218. rdar://problem/90400867

Right click > "Open Link" should trigger a navigation action with WKNavigationTypeLinkActivated
https://bugs.webkit.org/show_bug.cgi?id=240427
rdar://90400867

Reviewed by Tim Horton.

Add a new linked-on-or-after check to guard this new behavior for apps built against newer SDK versions.

Reviewed by Tim Horton.

Make a couple of minor adjustments to ContextMenuController to ensure that right clicking a link and choosing
"Open Link" or "Open Link in New Window" surfaces a navigation action with WKNavigationTypeLinkActivated,
rather than WKNavigationTypeOther.

Test: ContextMenuTests.NavigationTypeWhenOpeningLink

  • page/ContextMenuContext.cpp: (WebCore::ContextMenuContext::ContextMenuContext):
  • page/ContextMenuContext.h: (WebCore::ContextMenuContext::event const):

Save a reference to the Event of type "contextmenu" that's triggering context menu presentation in the
ContextMenuContext.

  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::maybeCreateContextMenu): (WebCore::openNewWindow):

Plumb the "contextmenu" event through to FrameLoader::loadFrameRequest when opening links via context menu.

(WebCore::ContextMenuController::contextMenuItemSelected):
Right click > "Open Link" should trigger a navigation action with WKNavigationTypeLinkActivated
https://bugs.webkit.org/show_bug.cgi?id=240427
rdar://90400867

Reviewed by Tim Horton.

Add an API test to verify that right clicking a link and selecting "Open Link" triggers a navigation action with
the type WKNavigationTypeLinkActivated.

  • TestWebKitAPI/Tests/mac/ContextMenuTests.mm: (TestWebKitAPI::TEST):

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

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

2:19 PM Changeset in webkit [294257] by Adrian Perez de Castro
  • 5 edits in releases/WebKitGTK/webkit-2.36/Source

Merge r294177 - Non-unified build broken in debug mode
https://bugs.webkit.org/show_bug.cgi?id=240378

Unreviewed non-unified build fixes.

  • heap/StructureAlignedMemoryAllocator.cpp: Include <sys/mman.h> if needed.

Non-unified build broken in debug mode
https://bugs.webkit.org/show_bug.cgi?id=240378

Unreviewed non-unified build fixes.

  • contentextensions/ContentExtensionCompiler.cpp: Add missing wtf/CrossThreadCopier.h header.
  • workers/service/ServiceWorkerClients.cpp: Add missing Logging.h header.

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

2:19 PM Changeset in webkit [294256] by Adrian Perez de Castro
  • 5 edits in releases/WebKitGTK/webkit-2.36/Source

Merge r294154 - Unreviewed, non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=240369

Source/JavaScriptCore:

  • runtime/DateConversion.cpp:

Source/WebCore:

  • Modules/highlight/HighlightRegister.h:
  • rendering/TextPainter.h:
2:15 PM Changeset in webkit [294255] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.2

2:01 PM Changeset in webkit [294254] by ntim@apple.com
  • 1 edit in trunk/metadata/contributors.json

Add myself to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240475

Reviewed by Myles C. Maxfield.

  • metadata/contributors.json:

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

1:45 PM Changeset in webkit [294253] by Alan Coon
  • 66 edits
    2 adds
    2 deletes in branches/safari-7614.1.14.0-branch/Source/WebKit

Cherry-pick r294190. rdar://problem/91006582

SharedBuffer should be copied and then attributed back to WebContent
https://bugs.webkit.org/show_bug.cgi?id=240223
rdar://91006582

Patch by Jean-Yves Avenard <jean-yves.avenard@apple.com> on 2022-05-14
Reviewed by Jer Noble.

Ideally, when mapping an IPCHandle we would prefer to use Copy On Write.
However, there's no support for COW with explicitly-owned memory such as
those created with VM_FLAGS_PURGABLE flag.
As such, when calling mach_vm_map with copy=true argument is set the
entire page will be copied.
It is therefore more performant to manually create a new buffer and copy
the actual content.
The memory can then be blamed on a particular process.

Rework FragmentedSharedBuffer/SharedBuffer IPC's serializer to perform
a copy, partially reverting changes made in bug 233401.

We replace the unnecessary use of SharedMemory::IPCHandle and directly
send SharedBuffer in clipboard and PDF related methods.
Rename SharedBufferCopy to SharedBufferReference to more accurately
describe what it does.

Make new use of the SharedBufferReference class, replacing the use of IPCHandle
in RemoteSourceBufferProxy and RemoteMediaResourceManager.

Rename SharedBufferReference::buffer() into
SharedBufferReference::unsafeBuffer() to give better clarity that accessing
SharedBuffer and SharedMemory should be treated with care.

SharedBuffer sent from trusted processes such as network process should
prefer the use of SharedBufferReference over directly using IPCHandle or
SharedBuffer, it makes optimisation easier and avoid duplicating code.

No observable change, covered by existing tests.

  • GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
  • GPUProcess/media/RemoteCDMInstanceProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp: (WebKit::RemoteImageDecoderAVFProxy::createDecoder): (WebKit::RemoteImageDecoderAVFProxy::setData):
  • GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • GPUProcess/media/RemoteMediaResourceManager.cpp: (WebKit::RemoteMediaResourceManager::RemoteMediaResourceManager): (WebKit::RemoteMediaResourceManager::dataReceived):
  • GPUProcess/media/RemoteMediaResourceManager.h:
  • GPUProcess/media/RemoteMediaResourceManager.messages.in:
  • GPUProcess/media/RemoteSourceBufferProxy.cpp: (WebKit::RemoteSourceBufferProxy::append):
  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::bufferingTimerFired): (WebKit::NetworkResourceLoader::sendBuffer): (WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp: (WebKit::ServiceWorkerDownloadTask::didReceiveData):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.messages.in:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::didReceiveData): (WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
  • Platform/IPC/SharedBufferCopy.cpp: Removed.
  • Platform/IPC/SharedBufferCopy.h: Removed.
  • Platform/IPC/SharedBufferReference.cpp: Added. (IPC::SharedBufferReference::encode const): (IPC::SharedBufferReference::decode): (IPC::SharedBufferReference::unsafeBuffer const): (IPC::SharedBufferReference::data const): (IPC::SharedBufferReference::bufferWithOwner const):
  • Platform/IPC/SharedBufferReference.h: Added. (IPC::SharedBufferReference::SharedBufferReference): (IPC::SharedBufferReference::size const): (IPC::SharedBufferReference::isEmpty const): (IPC::SharedBufferReference::isNull const):
  • Platform/SharedMemory.cpp: (WebKit::transferOwnershipOfMemory const):
  • Platform/SharedMemory.h:
  • Platform/cocoa/SharedMemoryCocoa.cpp: (WebKit::changeOwnershipOfMemory): (WebKit::SharedMemory::Handle::takeOwnershipOfMemory const): (WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): (WebKit::machProtection): (WebKit::SharedMemory::map):
  • Scripts/process-entitlements.sh:
  • Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp: (WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
  • Shared/WebCoreArgumentCoders.cpp: (IPC::encodeSharedBuffer): (IPC::decodeSharedBuffer):
  • Sources.txt:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView createPDFWithConfiguration:completionHandler:]):
  • UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: (WebKit::WebPasteboardProxy::getPasteboardBufferForType): (WebKit::WebPasteboardProxy::setPasteboardBufferForType): (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::sendAudioComponentRegistrations):
  • UIProcess/WebPageProxy.cpp: (WebKit::CompletionHandler<void): (WebKit::WebPageProxy::drawPagesToPDF): (WebKit::WebPageProxy::drawToPDF): (WebKit::WebPageProxy::getLoadDecisionForIcon): (WebKit::WebPageProxy::updateAttachmentAttributes): (WebKit::WebPageProxy::registerAttachmentIdentifierFromData): (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPasteboardProxy.cpp: (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPasteboardProxy.messages.in:
  • UIProcess/WebURLSchemeTask.cpp: (WebKit::WebURLSchemeTask::didReceiveData):
  • UIProcess/gtk/WebPasteboardProxyGtk.cpp: (WebKit::WebPasteboardProxy::readBuffer):
  • UIProcess/ios/WKContentView.mm: (-[WKContentView _wk_pageCountForPrintFormatter:]):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::drawToPDFiOS):
  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::dataSelectionForPasteboard):
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp: (WebKit::RemoteImageDecoderAVF::setData):
  • WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp: (WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
  • WebProcess/GPU/media/RemoteMediaResourceProxy.cpp: (WebKit::RemoteMediaResourceProxy::dataReceived):
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp: (WebKit::SourceBufferPrivateRemote::append):
  • WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveData):
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::writeItemsToPasteboard):
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp: (WebKit::WebServiceWorkerFetchTaskClient::didReceiveData): (WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::registerAttachmentIdentifier):
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::bufferForType): (WebKit::WebPlatformStrategies::setBufferForType): (WebKit::WebPlatformStrategies::readBufferFromClipboard): (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: (WebKit::WebDragClient::declareAndWriteDragImage):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::getContentsAsMHTMLData): (WebKit::WebPage::getSelectionAsWebArchiveData): (WebKit::WebPage::getMainResourceDataOfFrame): (WebKit::WebPage::getResourceDataFromFrame): (WebKit::WebPage::getWebArchiveOfFrame): (WebKit::WebPage::getAccessibilityTreeData): (WebKit::WebPage::drawToPDF): (WebKit::WebPage::drawPagesToPDF): (WebKit::WebPage::didGetLoadDecisionForIcon): (WebKit::WebPage::urlSchemeTaskDidReceiveData): (WebKit::WebPage::updateAttachmentAttributes):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getDataSelectionForPasteboard): (WebKit::WebPage::performActionOnElement): (WebKit::WebPage::drawToPDFiOS): (WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):
  • WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getDataSelectionForPasteboard):
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::consumeAudioComponentRegistrations):

# Please populate the above commit message. Lines starting
# with '#' will be ignored

# 13 Tim Horton <timothy_horton@apple.com>
#
# ApplePayLogoSystemImage needlessly loads PassKit in WebKit child processes on iOS
# https://bugs.webkit.org/show_bug.cgi?id=240404
# <rdar://93070349>
#
# Reviewed by Chris Dumez.
#
# * UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
# (WebKit::ProcessLauncher::launchProcess): Adopt the WTF implementation of systemDirectoryPath.
# (WebKit::systemDirectoryPath): Moved to WTF.
#
# 13 Wenson Hsieh <Wenson Hsieh>
#
# ImageAnalysisQueue should reanalyze image elements whose image sources have changed
# https://bugs.webkit.org/show_bug.cgi?id=240371
# rdar://93175651
#
# Reviewed by Tim Horton.
#
# To aid with debugging similar issues in the future, plumb the image URL through to
# requestImageAnalysisWithIdentifier, which (if an engineering default is specified) will additionally reveal
# the URL in system logs.
#
# * Platform/cocoa/ImageAnalysisUtilities.h:
# * UIProcess/Cocoa/WebViewImpl.mm:
# (WebKit::WebViewImpl::requestTextRecognition):
# * UIProcess/ios/WKContentViewInteraction.mm:
# (-[WKContentView requestTextRecognition:imageData:identifier:completionHandler:]):
#
# 13 Aditya Keerthi <Aditya Keerthi>
#
# [iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
# https://bugs.webkit.org/show_bug.cgi?id=240393
# rdar://91441895
#
# Reviewed by Wenson Hsieh.
#
# Some WebKit clients use SPI on WKWebView to support "find from selection"
# functionality (the Cmd+E shortcut). However, to support general
# find functionality, they use new find API that uses a different codepath
# to draw highlights. Mixing use of the API and SPI can currently result
# in two highlights showing up.
#
# To fix, ensure SPI highlights are removed once the API is being used.
# The long term solution is for clients to adopt API for the
# "find from selection" functionality, but in the short term the SPI
# should remain supported.
#
# * WebProcess/WebPage/WebPage.cpp:
# (WebKit::WebPage::clearAllDecoratedFoundText):
#
# 13 Kimmo Kinnunen <kkinnunen@apple.com>
#
# IPC cannot encode, decode Ref<>, causing duplicate code
# https://bugs.webkit.org/show_bug.cgi?id=240160
#
# Reviewed by Antti Koivisto.
#
# Consider reference counted type T:
# Encoding is of signature encode(const T&)
# Decoding is of signature std::optional<Ref<T>> decode()
# This is usable for both RefPtr and Ref use-cases.
#
# Add Ref<T> encoder that is polymorphic to T.
# This way clients do not need to write encoders for
# Ref<T>, RefPtr<T>. They just need one encoder, for T.
#
# When clients do not need to write RefPtr<T>, they make less
# bugs. These will be corrected in future patches.
#
# Having Ref<T> encoders allows clients to use Vector<Ref<T>> encoding
# via Vector<U> encoder, and they would not need to duplicate that
# logic, making less bugs. These will be corrected in future patches.
#
# Remove most IPC::ArgumentCoder<Ref<..>> in favor of IPC::ArgumentCoder<..>.
# In the cases where removal was done, remove also redundant
# IPC::ArgumentCoder<RefPtr<..>>.
#
# * Platform/IPC/ArgumentCoders.h:
# (IPC::ArgumentCoder<RefPtr<T>>::decode):
# (IPC::ArgumentCoder<Ref<T>>::encode):
# (IPC::ArgumentCoder<Ref<T>>::decode):
# * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
# (IPC::ArgumentCoder<WebCore::Font>::encodePlatformData):
# (IPC::ArgumentCoder<WebCore::Font>::decodePlatformData):
# * Shared/WebCoreArgumentCoders.cpp:
# (IPC::ArgumentCoder<WebCore::Font>::encode):
# (IPC::ArgumentCoder<Font>::decode):
# (IPC::ArgumentCoder<SystemImage>::encode):
# (IPC::ArgumentCoder<SystemImage>::decode):
# * Shared/WebCoreArgumentCoders.h:
# * Shared/playstation/WebCoreArgumentCodersPlayStation.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/soup/WebCoreArgumentCodersSoup.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/win/WebCoreArgumentCodersWin.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
#
# 13 Tim Horton <timothy_horton@apple.com>
#
# Add UI-side layers for optionally indicating interaction regions
# https://bugs.webkit.org/show_bug.cgi?id=240372
# <rdar://problem/87170289>
#
# Reviewed by Dean Jackson.
#
# * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
# (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
# (WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates):
# Allow RemoteLayerTreeInteractionRegionLayers to add and maintain layers for interaction regions.
#
# * SourcesCocoa.txt:
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h: Added.
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: Added.
# (configureLayerForInteractionRegion):
# (WebKit::interactionRegionForLayer):
# (WebKit::isInteractionRegionLayer):
# (WebKit::setInteractionRegion):
# Box WebCore::InteractionRegion in a Objective-C object and store it on the layer.
# Use this as a key to indicate that a given layer is an interaction region.
#
# (WebKit::appendInteractionRegionLayersForLayer):
# Make sure that interaction region layers are always at the end of the layer's sublayers array.
#
# (WebKit::updateLayersForInteractionRegions):
# Add new layers for interaction regions.
# Maintain the same layer for regions that cover the same area.
# Add a green wash if the default WKInteractionRegionDebugFill is set.
#
# * WebKit.xcodeproj/project.pbxproj:
#
# 13 Simon Fraser <Simon Fraser>
#
# Simplify the usage of DrawGlyphsRecorder
# https://bugs.webkit.org/show_bug.cgi?id=240363
#
# Reviewed by Myles Maxfield.
#
# Move the DeconstructDrawGlyphs switch from inside DrawGlyphsRecorder to
# DisplayList::Recorder, so that DrawGlyphsRecorder is only ever used when deconstructing
# glyphs.
#
# Also, ensure that the only time that glyph deconstruction is enabled is when
# recording display lists via RemoteDisplayListRecorderProxy. There's no reason for
# paintAttachmentText() to need glyph deconstruction.
#
# This is a small perf improvement on the MotionMark Design subtest.
#
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
# (WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
# (WebKit::m_renderingBackend):
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
#
# it takes from the XPC message is sent until the XPC reply is received. Add reporting when this happens

# On branch bz/240223
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git restore --staged <file>..." to unstage)
# modified: Source/WebKit/ChangeLog
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# 0001-SharedBuffer-should-be-copied-and-then-attributed-ba.patch
#

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

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

1:43 PM Changeset in webkit [294252] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.0-branch/Source/WebKit

Cherry-pick r294175. rdar://problem/91441895

[iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
https://bugs.webkit.org/show_bug.cgi?id=240393
rdar://91441895

Reviewed by Wenson Hsieh.

Some WebKit clients use SPI on WKWebView to support "find from selection"
functionality (the Cmd+E shortcut). However, to support general
find functionality, they use new find API that uses a different codepath
to draw highlights. Mixing use of the API and SPI can currently result
in two highlights showing up.

To fix, ensure SPI highlights are removed once the API is being used.
The long term solution is for clients to adopt API for the
"find from selection" functionality, but in the short term the SPI
should remain supported.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::clearAllDecoratedFoundText):

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

1:38 PM Changeset in webkit [294251] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.2

1:32 PM Changeset in webkit [294250] by Jonathan Bedard
  • 2 edits in trunk/Websites/bugs.webkit.org

[PrettyPatch] Support commit messages (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=240386
<rdar://problem/93248835>

Unreviewed follow-up fix.

  • Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb: Handle diffs without a header.

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

12:00 PM Changeset in webkit [294249] by Ziran Sun
  • 3 edits
    1 move in trunk

[css-ui] alias appearance <compat-auto> keywords to 'auto' for textfield
https://bugs.webkit.org/show_bug.cgi?id=238551

Reviewed by Tim Nguyen.

Source/WebCore:

This is to add support of aliasing appearance to 'auto' for textfield.
It has improved the following wpt tests
imported/w3c/web-platform-tests/css/css-ui/appearance-textfield-001.html
and
imported/w3c/web-platform-tests/css/css-ui/webkit-appearance-textfield-001.html.

The test failures though, are not fully fixed. The issue left is that the search cancel button
for input type="search" still present while it is expected to disappear (Bug 238751).

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustAppearanceForElement const):

LayoutTests:

Rename test name as the test result now matches the expected.

  • fast/forms/color/color-input-uses-color-well-appearance-expected.html: Renamed from LayoutTests/fast/forms/color/color-input-uses-color-well-appearance-expected-mismatch.html.
11:54 AM Changeset in webkit [294248] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools/buildstream

[Flatpak SDK] Update to pipewire master
https://bugs.webkit.org/show_bug.cgi?id=240428

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

The GStreamer pipewiresrc element from 0.3.36 has bugs that were fixed in the master branch.

  • elements/freedesktop-sdk.bst:
  • patches/fdo-0001-pipewire-base-Track-master-branch.patch: Added.

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

11:35 AM Changeset in webkit [294247] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.100-branch/Source

Versioning.

WebKit-7614.1.14.100.1

11:11 AM Changeset in webkit [294246] by Alan Coon
  • 1 copy in branches/safari-7614.1.14.100-branch

New branch.

10:58 AM Changeset in webkit [294245] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][WPE] Make ANGLE backend EGL context initialization work
https://bugs.webkit.org/show_bug.cgi?id=240313

The platform is not selected correctly by default and the config
can not be chosen in some cases in the current conditions. Maybe
at some point we want something more general in the code for the
platform detection but for testing we have solved it adding the
environment variable (EGL_PLATORM) to make sure the platform
inside mesa is correctly selected when running the tests. If we
don't do it the small environment in the testing driver process
causes to chose the X11 because it is the building default
option. We used wayland because the headless driver we use is a
wayland backed implemented using shared memory.

Patch by Alejandro G. Castro <alex@igalia.com> on 2022-05-16
Reviewed by Žan Doberšek.

No new tests, it fixes the tests for the ANGLE implementation.

  • Scripts/webkitpy/port/headlessdriver.py:

(HeadlessDriver._setup_environ_for_test):

10:57 AM Changeset in webkit [294244] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[Gardening]: REGRESSION (r264117): [ Mac iOS ] imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/blob.https.html
https://bugs.webkit.org/show_bug.cgi?id=214155

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

10:53 AM Changeset in webkit [294243] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r294104): [GStreamer][VideoCapture] Webcam raw streams may hang up the video capture pipeline
https://bugs.webkit.org/show_bug.cgi?id=240456

Patch by Loïc Le Page <llepage@igalia.com> on 2022-05-16
Reviewed by Philippe Normand.

When capturing a raw stream from a webcam, the pipeline may hang up because the decodebin3 cannot fix the upstream caps.
The webcam capsfilter should not only specify the captured mime-type (video/x-raw) but also the capture image dimensions.

Manually tested.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
10:48 AM Changeset in webkit [294242] by J Pascoe
  • 2 edits in trunk/Tools

(REGRESSION(r287957)[ Mac ] TestWebKitAPI.WebAuthenticationPanel.LAGetAssertionNoMockNoUserGesture is a constant timeout)
https://bugs.webkit.org/show_bug.cgi?id=240403
rdar://93271671

Reviewed by Brent Fulgham.

Whenever HAVE(UNIFIED_ASC_AUTH_UI), unmocked calls are passed to ASA, which does not
support calls from TWAPI.

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

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

REGRESSION (250501@main): [ Mac ] 2 TestWebKitAPI.WebAuthenticationPanel.GetAssertionLA tests failing
https://bugs.webkit.org/show_bug.cgi?id=240406
rdar://93267082

Reviewed by Brent Fulgham.

Using the the truthiness of BOOL from attributes doesn't work here, instead compare it to @YES.

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticatorInternal::getExistingCredentials):

10:35 AM Changeset in webkit [294240] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][FFC] Add support for logical ordering
https://bugs.webkit.org/show_bug.cgi?id=240442

Reviewed by Antti Koivisto.

Let's reorder the logicalFlexItemList when the 'order' property has a non-initial value.

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

10:30 AM Changeset in webkit [294239] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/webrtc/RTCRtpSender-replaceTrack.https.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240463

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

9:49 AM Changeset in webkit [294238] by commit-queue@webkit.org
  • 8 edits in trunk

Use _adoptEffectiveConfiguration instead of a separate NSURLSession without credentials
https://bugs.webkit.org/show_bug.cgi?id=240362

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

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::initializeNSURLSessionsInSet):
(WebKit::SessionSet::initializeEphemeralStatelessSessionIfNeeded):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::NetworkSessionCocoa::appBoundSession):
(WebKit::SessionSet::isolatedSession):
(WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet):

9:33 AM Changeset in webkit [294237] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][FFC] Add "flex-direction: column-reverse" basic visual/logical conversion
https://bugs.webkit.org/show_bug.cgi?id=240434

Reviewed by Antti Koivisto.

With "flex-direction: column-reverse" the main axis progression is from visual bottom to top (with default writing mode and all that).

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

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

[Gardening]:[ iOS ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-videoDetectorTest.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240348

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

9:12 AM Changeset in webkit [294235] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm

Canvas generated transparent pixels are not well handled by LocalSampleBufferDisplayLayer
https://bugs.webkit.org/show_bug.cgi?id=230621
rdar://problem/83668394

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-16
Reviewed by Eric Carlson.

Remove black color for root and display layer.
When display layer is hidden but root layer is visible, set root layer background color to black to keep existing behavior.
This allows to render transparent video frames without a black background.

Covered by https://jsfiddle.net/nfu7oL60/ (make sure to switch between tabs after clicking start).
Also covered by https://webrtc.github.io/samples/src/content/peerconnection/pc1/ and muting/unmuting the camera.

  • Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:

(WebCore::LocalSampleBufferDisplayLayer::initialize):
(WebCore::LocalSampleBufferDisplayLayer::updateDisplayMode):

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

8:52 AM Changeset in webkit [294234] by Patrick Angle
  • 8 edits in trunk

Web Inspector: Regression(r266885) Crash sometimes when rehydrating imported audit results
https://bugs.webkit.org/show_bug.cgi?id=240366

Reviewed by Devin Rousso.

Source/JavaScriptCore:

  • inspector/protocol/DOM.json:

Source/WebCore:

Added test cases to inspector/model/dom-node.html

After r266885, there is no path to handle the possibility that there may not be a resulting node for calls to
DOM.querySelector. To correct this, mark the return value as optional (Web Inspector frontend already treats
it as optional) and return early if there was no Element matching the selector.

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::querySelector):

  • inspector/agents/InspectorDOMAgent.h:

LayoutTests:

  • inspector/model/dom-node.html:
  • inspector/model/dom-node-expected.txt:
8:08 AM Changeset in webkit [294233] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][FFC] Add "flex-direction: row-reverse" basic visual/logical conversion
https://bugs.webkit.org/show_bug.cgi?id=240432

Reviewed by Antti Koivisto.

With "flex-direction: row-reverse" the main axis progression is from visual right to left (with default writing mode and all that).

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

6:55 AM Changeset in webkit [294232] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK] Warning in WebKitDOMDocumentGtk.cpp with GCC 12
https://bugs.webkit.org/show_bug.cgi?id=239353

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-16
Reviewed by Yusuke Suzuki.

  • Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:

(webkit_dom_document_create_node_iterator):
(webkit_dom_document_create_tree_walker):

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

6:16 AM Changeset in webkit [294231] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][FFC] Add "flex-direction: column" basic visual/logical conversion
https://bugs.webkit.org/show_bug.cgi?id=240430

Reviewed by Antti Koivisto.

With "flex-direction: column" the main axis progression is based on the margin box height.

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

5:54 AM Changeset in webkit [294230] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm

Rename MockAudioSharedInternalUnit::m_isProducingState to MockAudioSharedInternalUnit::m_internalState
https://bugs.webkit.org/show_bug.cgi?id=240450

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-16
Reviewed by Eric Carlson.

Follow-up to https://bugs.webkit.org/show_bug.cgi?id=240421 review.

No change of behavior.

  • Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedInternalUnit::MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::~MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::start):
(WebCore::MockAudioSharedInternalUnit::stop):
(WebCore::MockAudioSharedInternalUnit::uninitialize):
(WebCore::MockAudioSharedInternalUnit::generateSampleBuffers):

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

5:48 AM Changeset in webkit [294229] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

REGRESSION(r294104): [GStreamer] getUserMedia broken
https://bugs.webkit.org/show_bug.cgi?id=240420

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-16
Reviewed by Xabier Rodriguez-Calvar.

The converter handling logic was modified in order to fix getUserMedia negotiated with raw
video and also getDisplayMedia which is always raw video and thus doesn't require decoding.

This patch also introduces a small optimization, reconfiguration is now done once only,
after setting size and framerate. Before this patch it was done twice, so the pipeline was a
taking more time to produce the first frame.

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::~GStreamerVideoCaptureSource):
(WebCore::GStreamerVideoCaptureSource::settingsDidChange): Trigger capturer reconfiguration after setting both size and framerate.
(WebCore::GStreamerVideoCaptureSource::startProducingData): Ditto.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter): Do not decode display capture streams, these are always raw anyway.
(WebCore::GStreamerVideoCapturer::setSize): Delay reconfiguration.
(WebCore::GStreamerVideoCapturer::setFrameRate): Ditto.
(WebCore::GStreamerVideoCapturer::reconfigure): Keep track of compatible video format. This
is needed to workaround an issue in pipewiresrc caps negotiation.
(WebCore::GStreamerVideoCapturer::adjustVideoSrcMIMEType): Renamed to reconfigure().

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:

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

5:23 AM Changeset in webkit [294228] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Add basic video meta handling in sinks
https://bugs.webkit.org/show_bug.cgi?id=240429

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-16
Reviewed by Xabier Rodriguez-Calvar.

By handling allocation queries and advertising video meta handling to upstream elements, our
video sinks are now more efficient, especially on Raspberry Pi 4 with the v4l2 stateless
H.264 decoder.

  • platform/graphics/gstreamer/GStreamerVideoSinkCommon.cpp:

(webKitVideoSinkSetMediaPlayerPrivate):

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

4:43 AM Changeset in webkit [294227] by commit-queue@webkit.org
  • 1 edit
    8 deletes in trunk/LayoutTests

Remove some custom-element tests
https://bugs.webkit.org/show_bug.cgi?id=240449

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-16
Reviewed by Tim Nguyen.

Remove some custom-element tests since they are now available in WPT.

  • fast/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback-expected.txt: Removed.
  • fast/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html: Removed.
  • fast/custom-elements/perform-microtask-checkpoint-before-construction-expected.txt: Removed.
  • fast/custom-elements/perform-microtask-checkpoint-before-construction.html: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-construct-expected.txt: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions-expected.txt: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html: Removed.
3:27 AM Changeset in webkit [294226] by ntim@apple.com
  • 8 edits
    11 deletes in trunk

[css-ui] Make inner-spin-button/sliderthumb-horizontal/sliderthumb-vertical appearance values internal
https://bugs.webkit.org/show_bug.cgi?id=240448

Reviewed by Antti Koivisto.

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

iOS baseline for appearance-cssom-001-expected.txt is identical to the main one, so remove it.

LayoutTests:

  • fast/forms/range/thumbslider-crash-expected.txt: Removed.
  • fast/forms/range/thumbslider-crash.html: Removed.
  • fast/forms/range/thumbslider-no-parent-slider.html: Removed.
  • platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.png: Removed.
  • platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt: Removed.
  • platform/ios/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/mac/fast/forms/range/thumbslider-no-parent-slider-expected.png: Removed.
  • platform/mac/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/win/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/wincairo/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Source/WebCore:

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • platform/ThemeTypes.h:

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

1:18 AM Changeset in webkit [294225] by youenn@apple.com
  • 31 edits in trunk

Make sure calling showNotification will extend the service worker lifetime
https://bugs.webkit.org/show_bug.cgi?id=240273
<rdar://92978482>

Reviewed by Chris Dumez.

Source/WebCore:

Update NotificationClient API so that show is taking a completion handler.
Make use of this completion handler to resolve the promise when the show notification steps are done, as per spec.
Register push event to ServiceWorkerGlobalScope when the event handlers are called.
When ServiceWorkerRegistration::show is called during one of the push event handlers,
extend the push event lifetime by adding the show notification promise to the push event.

Covered by API test.

  • Modules/notifications/Notification.cpp:
  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationClient.h:
  • dom/ScriptExecutionContext.cpp:
  • dom/ScriptExecutionContext.h:
  • workers/service/ServiceWorkerGlobalScope.cpp:
  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/ServiceWorkerRegistration.cpp:
  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/context/ServiceWorkerThread.cpp:

Source/WebKit:

On WebProcess side, implement the new NoficationClient::show API that takes a callback.
Delay calling this callback until UIProcess tells us so through async IPC.
On UIProcess side, take a callback and call it when the show notification steps are done.

  • NetworkProcess/Notifications/NetworkNotificationManager.cpp:
  • NetworkProcess/Notifications/NetworkNotificationManager.h:
  • Shared/Notifications/NotificationManagerMessageHandler.h:
  • Shared/Notifications/NotificationManagerMessageHandler.messages.in:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.cpp:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.h:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.h:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
  • WebProcess/Notifications/WebNotificationManager.cpp:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:
  • WebProcess/WebCoreSupport/WebNotificationClient.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebNotificationClient.h:
  • WebCoreSupport/WebNotificationClient.mm:

Tools:

  • TestWebKitAPI/TestNotificationProvider.cpp:
  • TestWebKitAPI/TestNotificationProvider.h:
  • TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
1:14 AM Changeset in webkit [294224] by Martin Robinson
  • 17 edits in trunk

Do not allow unitless values for CSS unprefixed perspective property
https://bugs.webkit.org/show_bug.cgi?id=104805
<rdar://problem/77016090>

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • web-platform-tests/quirks/unitless-length/excluded-properties-001-expected.txt:

Source/WebCore:

No new tests. This is tested by an existing WPT test:

web-platform-tests/quirks/unitless-length/excluded-properties-001.html

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumePerspective):
(WebCore::CSSPropertyParser::consumePrefixedPerspective):
(WebCore::CSSPropertyParser::parseShorthand):

  • css/parser/CSSPropertyParser.h:
  • rendering/style/WillChangeData.cpp:

(WebCore::WillChangeData::propertyCreatesStackingContext):

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
12:26 AM Changeset in webkit [294223] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

MockAudioSharedInternalUnit should exit early when being stopped in generateSampleBuffers
https://bugs.webkit.org/show_bug.cgi?id=240421
<rdar://93279260>

Reviewed by Eric Carlson.

We used to always call generateSampleBuffers from main thread.
We are now calling it from background thread with dispatchAfter to mimick a realtime clock.
This broke the dispatchSync call we were calling when stopping the mock unit as the dispatchAfter task would be called
after the dispatchSync and |this| could potentially no longer be valid.
To prevent this, we introduce MockAudioSharedInternalUnitState which allows to safely know whether the unit is stopped or not
at any point in time. If the unit is stopped, dispatchAfter will not call generateSampleBuffers.

Covered by existing tests.

  • platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedInternalUnitState::create):
(WebCore::MockAudioSharedInternalUnitState::isProducingData const):
(WebCore::MockAudioSharedInternalUnitState::setIsProducingData):
(WebCore::MockAudioSharedInternalUnit::MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::~MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::start):
(WebCore::MockAudioSharedInternalUnit::stop):
(WebCore::MockAudioSharedInternalUnit::uninitialize):
(WebCore::MockAudioSharedInternalUnit::generateSampleBuffers):

12:14 AM Changeset in webkit [294222] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Add logging when taking a process assertion synchronously
https://bugs.webkit.org/show_bug.cgi?id=240334

Reviewed by Chris Dumez.

No observable change of behavior.

  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::acquireSync):

May 15, 2022:

11:37 PM Changeset in webkit [294221] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Audio playback rate sped up for few seconds when using createMediaElementSource
https://bugs.webkit.org/show_bug.cgi?id=239696
<rdar://problem/92569332>

Reviewed by Eric Carlson.

We added a way for AudioSampleDataSource to reduce latency due to its audio buffer by reading the audio buffer faster
until the audio buffer size decreases to a reasonnable value.
The reasonnable buffer size was computed in terms of multiple of 10ms as RTC sources are pushing 10 or 20 millisecond chunks.
Other sources may push much bigger chunks (100 milliseconds for instance), in which case it does not make real sense to try to reduce the delay below it.
To prevent this, we will decrease the buffer size if it is above 100 milliseconds (as previously) AND the buffer size is 4 times the size of the pushed audio chunk.
4 times the size of the pushed audio chunk is 40 ms for RTC sources which is a reasonnable buffer size.

Manually tested with https://webaudioapi.com/samples/audio-tag/.

  • platform/audio/cocoa/AudioSampleDataConverter.h:
  • platform/audio/cocoa/AudioSampleDataConverter.mm:

(WebCore::AudioSampleDataConverter::updateBufferedAmount):

  • platform/audio/cocoa/AudioSampleDataSource.mm:

(WebCore::AudioSampleDataSource::pushSamplesInternal):

7:32 PM Changeset in webkit [294220] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

Unreviewed, revert r294214 partially
https://bugs.webkit.org/show_bug.cgi?id=240292

These part is not cold code. We must not use PAS_ASSERT_WITH_DETAIL.

  • libpas/src/libpas/pas_local_allocator_config_kind.h:

(pas_local_allocator_config_kind_create_normal):
(pas_local_allocator_config_kind_create_primordial_partial):
(pas_local_allocator_config_kind_create_bitfit):
(pas_local_allocator_config_kind_get_segregated_page_config_kind):
(pas_local_allocator_config_kind_get_bitfit_page_config_kind):
(pas_local_allocator_config_kind_get_string):

6:44 PM Changeset in webkit [294219] by hironori.fujii@sony.com
  • 3 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=240439

  • platform/wincairo-wk1/TestExpectations:
  • platform/wincairo/TestExpectations:

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

4:21 PM Changeset in webkit [294218] by Wenson Hsieh
  • 8 edits in trunk

Right click > "Open Link" should trigger a navigation action with WKNavigationTypeLinkActivated
https://bugs.webkit.org/show_bug.cgi?id=240427
rdar://90400867

Reviewed by Tim Horton.

Add a new linked-on-or-after check to guard this new behavior for apps built against newer SDK versions.

  • wtf/cocoa/RuntimeApplicationChecksCocoa.h:

Right click > "Open Link" should trigger a navigation action with WKNavigationTypeLinkActivated
https://bugs.webkit.org/show_bug.cgi?id=240427
rdar://90400867

Reviewed by Tim Horton.

Make a couple of minor adjustments to ContextMenuController to ensure that right clicking a link and choosing
"Open Link" or "Open Link in New Window" surfaces a navigation action with WKNavigationTypeLinkActivated,
rather than WKNavigationTypeOther.

Test: ContextMenuTests.NavigationTypeWhenOpeningLink

  • page/ContextMenuContext.cpp:

(WebCore::ContextMenuContext::ContextMenuContext):

  • page/ContextMenuContext.h:

(WebCore::ContextMenuContext::event const):

Save a reference to the Event of type "contextmenu" that's triggering context menu presentation in the
ContextMenuContext.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::openNewWindow):

Plumb the "contextmenu" event through to FrameLoader::loadFrameRequest when opening links via context menu.

(WebCore::ContextMenuController::contextMenuItemSelected):
Right click > "Open Link" should trigger a navigation action with WKNavigationTypeLinkActivated
https://bugs.webkit.org/show_bug.cgi?id=240427
rdar://90400867

Reviewed by Tim Horton.

Add an API test to verify that right clicking a link and selecting "Open Link" triggers a navigation action with
the type WKNavigationTypeLinkActivated.

  • TestWebKitAPI/Tests/mac/ContextMenuTests.mm:

(TestWebKitAPI::TEST):

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

9:53 AM Changeset in webkit [294217] by Alan Bujtas
  • 3 edits
    1 add in trunk/Source/WebCore

[LFC][FFC] Introduce logical direction based flex layout
https://bugs.webkit.org/show_bug.cgi?id=240424

Reviewed by Antti Koivisto.

This is in preparation for ensuring that core flex layout only needs to deal with
one direction for flex content progression (row vs. column vs. reversed etc).

  • WebCore.xcodeproj/project.pbxproj:
  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForFlexLayout):

8:49 AM Changeset in webkit [294216] by Angelos Oikonomopoulos
  • 2 edits in trunk/JSTests

Skip flaky test on ARM
https://bugs.webkit.org/show_bug.cgi?id=240426

Unreviewed gardening.

  • stress/verify-can-gc-node-index.js:
6:30 AM Changeset in webkit [294215] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

WebCore::IOSurface has WebCore::GraphicsContext as its property, it should be the other way around
https://bugs.webkit.org/show_bug.cgi?id=240417

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

Do not store WebCore::GraphicsContext in WebCore::IOSurface.
E.g. graphics context is not the property of the bitmap that
is being drawn to. The backing bitmap is a property of the context.

Instead, store the GraphicsContextCG at the place where the user is,
e.g. in ImageBufferIOSurfaceBackend. This allows the context client
to create the context with the options the client needs.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContextCG::GraphicsContextCG):
(WebCore::GraphicsContextCG::drawNativeImage):

  • platform/graphics/cg/GraphicsContextCG.h:
  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::willAddSurface):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::~ImageBufferIOSurfaceBackend):
(WebCore::ImageBufferIOSurfaceBackend::context const):
(WebCore::ImageBufferIOSurfaceBackend::releaseGraphicsContext):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::create):
(WebCore::IOSurface::releasePlatformGraphicsContext):
(WebCore::IOSurface::ensureGraphicsContext): Deleted.
(WebCore::IOSurface::releaseGraphicsContext): Deleted.

Note: See TracTimeline for information about the timeline view.