Skip to content
Permalink
main
Switch branches/tags

Commits on Aug 16, 2022

  1. Add a "LazyLoading" Log channel

    https://bugs.webkit.org/show_bug.cgi?id=243972
    
    Reviewed by Myles C. Maxfield.
    
    Add a "LazyLoading" WebCore log channel and add some logging for lazy image loading
    (helpful when debugging webkit.org/b/237703).
    
    Had to move the LazyImageLoadState enum outside the class so it is loggable.
    
    * Source/WebCore/loader/ImageLoader.cpp:
    (WebCore::operator<<):
    (WebCore::ImageLoader::clearImageWithoutConsideringPendingLoadEvent):
    (WebCore::ImageLoader::updateFromElement):
    (WebCore::ImageLoader::didUpdateCachedImage):
    (WebCore::ImageLoader::notifyFinished):
    * Source/WebCore/loader/ImageLoader.h:
    * Source/WebCore/loader/cache/CachedResourceLoader.cpp:
    (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
    * Source/WebCore/platform/Logging.h:
    
    Canonical link: https://commits.webkit.org/253472@main
    smfr committed Aug 16, 2022
  2. [ews] Do not clobber status-bubble from other repos

    https://bugs.webkit.org/show_bug.cgi?id=243964
    
    Reviewed by Ryan Haddad.
    
    * Tools/CISupport/ews-app/ews/common/github.py:
    (GitHubEWS.add_or_update_comment_for_change_id):
    
    Canonical link: https://commits.webkit.org/253471@main
    aj062 committed Aug 16, 2022
  3. Unreviewed, rebaseline imported/w3c/web-platform-tests/FileAPI/url/sa…

    …ndboxed-iframe.html after 253469@main
    
    https://bugs.webkit.org/show_bug.cgi?id=243995
    
    * LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt:
    
    Canonical link: https://commits.webkit.org/253470@main
    cdumez committed Aug 16, 2022
  4. Fetch Request object should keep its Blob URL alive

    https://bugs.webkit.org/show_bug.cgi?id=243935
    
    Reviewed by Geoffrey Garen.
    
    Fetch Request object should keep its Blob URL alive. This means that creating a
    Fetch Request from a Blob URL, then revoking said Blob URL then triggering a
    fetch() for this request should succeed, like it does in Blink.
    
    * LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt:
    Rebaseline tests that are now passing.
    
    * Source/WebCore/Modules/fetch/FetchRequest.cpp:
    (WebCore::FetchRequest::initializeWith):
    (WebCore::FetchRequest::stop):
    * Source/WebCore/Modules/fetch/FetchRequest.h:
    (WebCore::FetchRequest::FetchRequest):
    
    Canonical link: https://commits.webkit.org/253469@main
    cdumez committed Aug 16, 2022
  5. Unreviewed, rebaseline and unskip imported/w3c/web-platform-tests/Fil…

    …eAPI/url/sandboxed-iframe.html
    
    https://bugs.webkit.org/show_bug.cgi?id=243959
    
    * LayoutTests/TestExpectations:
    * LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt:
    
    Canonical link: https://commits.webkit.org/253468@main
    cdumez committed Aug 16, 2022
  6. [GStreamer][MediaStream] Additional fixes for disabled video track ha…

    …ndling
    
    https://bugs.webkit.org/show_bug.cgi?id=243776
    
    Reviewed by Xabier Rodriguez-Calvar.
    
    The internal audio/video appsrc elements are now named with monotonically increasing id in order to
    ease debugging a bit.
    
    As the element can receive the trackEnabledChanged notification from a non-main thread, we need to
    keep track of the enabled state in a boolean flag, so that we can start pushing black frames as soon
    as the notification was received.
    
    The black frame default size is now fixed to 320x240 unless a size was previously configured, eg.
    when the track was enabled. The previous sample caps can't be used because they might describe an
    RTP payload and not a raw video format.
    
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
    
    Canonical link: https://commits.webkit.org/253467@main
    philn committed Aug 16, 2022
  7. [Gardening]: [ Windows-EWS ] fast/text/punctuation-break-all.html is …

    …a constant image failure
    
    https://bugs.webkit.org/show_bug.cgi?id=243992
    <rdar://98721908>
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/wincairo/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253466@main
    karlrackler committed Aug 16, 2022
  8. REGRESSION(252876@main): Trailing hanging glyphs should not contribut…

    …e to scrollable overflow (unless editable)
    
    https://bugs.webkit.org/show_bug.cgi?id=243939
    <rdar://problem/98673361>
    
    Reviewed by Simon Fraser.
    
    Inline box geometry here should only contribute to vertical overflow (horizontal overflow at this point is already computed).
    
    Canonical link: https://commits.webkit.org/253465@main
    alanbujtas committed Aug 16, 2022
  9. [GTK][WPE] Improve the application icon passed to notification service

    https://bugs.webkit.org/show_bug.cgi?id=243983
    
    Reviewed by Adrian Perez de Castro.
    
    We currently check if the app icon is in the gtk theme to send the name.
    That only works for GTK and apps having an icon in the theme. We can
    also check if the application has a desktop file and get the icon from
    there.
    
    * Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp:
    (WebKit::applicationIcon):
    (WebKit::NotificationService::showNotification):
    
    Canonical link: https://commits.webkit.org/253464@main
    carlosgcampos committed Aug 16, 2022
  10. [MQ4 syntax] Generalize feature parsing and evaluation

    https://bugs.webkit.org/show_bug.cgi?id=243872
    
    Reviewed by Ryosuke Niwa.
    
    Generalise container query feature parsing and evaluation code so it can be later used for media queries too.
    
    * Source/WebCore/Sources.txt:
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * Source/WebCore/css/ContainerQuery.cpp:
    (WebCore::CQ::serialize):
    * Source/WebCore/css/ContainerQuery.h:
    * Source/WebCore/css/ContainerQueryParser.cpp:
    (WebCore::ContainerQueryParser::consumeSizeFeature):
    (WebCore::consumeFeatureName): Deleted.
    (WebCore::ContainerQueryParser::consumePlainSizeFeature): Deleted.
    (WebCore::ContainerQueryParser::consumeRangeSizeFeature): Deleted.
    (WebCore::ContainerQueryParser::consumeValue): Deleted.
    * Source/WebCore/css/ContainerQueryParser.h:
    (WebCore::ContainerQueryParser::ContainerQueryParser):
    * Source/WebCore/css/query/GenericMediaQueryEvaluator.cpp: Added.
    (WebCore::MQ::computeLength):
    (WebCore::MQ::compare):
    (WebCore::MQ::evaluateLengthComparison):
    (WebCore::MQ::GenericMediaQueryEvaluatorBase::evaluateLengthFeature const):
    (WebCore::MQ::evaluateRatioComparison):
    (WebCore::MQ::GenericMediaQueryEvaluatorBase::evaluateRatioFeature const):
    (WebCore::MQ::GenericMediaQueryEvaluatorBase::evaluateDiscreteFeature const):
    * Source/WebCore/css/query/GenericMediaQueryEvaluator.h:
    * Source/WebCore/css/query/GenericMediaQueryParser.cpp: Copied from Source/WebCore/css/ContainerQueryParser.cpp.
    (WebCore::MQ::consumeFeatureName):
    (WebCore::MQ::GenericMediaQueryParserBase::consumeFeature):
    (WebCore::MQ::GenericMediaQueryParserBase::consumeBooleanOrPlainFeature):
    (WebCore::MQ::GenericMediaQueryParserBase::consumeRangeFeature):
    (WebCore::MQ::GenericMediaQueryParserBase::consumeValue):
    * Source/WebCore/css/query/GenericMediaQueryParser.h:
    (WebCore::MQ::GenericMediaQueryParserBase::GenericMediaQueryParserBase):
    (WebCore::MQ::GenericMediaQueryParser::GenericMediaQueryParser):
    * Source/WebCore/css/query/GenericMediaQueryTypes.h:
    * Source/WebCore/style/ContainerQueryEvaluator.cpp:
    (WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
    (WebCore::Style::computeSize): Deleted.
    
    Canonical link: https://commits.webkit.org/253463@main
    anttijk committed Aug 16, 2022
  11. [Flatpak SDK] Update FDO junction 21.08.15

    https://bugs.webkit.org/show_bug.cgi?id=243981
    
    Reviewed by Philippe Normand.
    
    * Tools/buildstream/elements/freedesktop-sdk.bst: Version bump.
    
    Canonical link: https://commits.webkit.org/253462@main
    aperezdc authored and philn committed Aug 16, 2022
  12. WebKit::terminateWithReason() is declared in WebKit/Platform/spi, but…

    … defined in WebKit/Shared
    
    https://bugs.webkit.org/show_bug.cgi?id=243824
    rdar://problem/98506618
    
    Reviewed by Chris Dumez.
    
    Move the WebKit function declaration to WebKit/Platform header and add a implementation file.
    This way the SPI header only declares the SPI.
    This way the WebKit function declaration and implementation are in consistent files.
    This way the function implementation is logically part of WebKit/Platform, where it is also used.
    
    This is a work to be able to compile Source/WebKit/Platform without the rest of Source/WebKit/
    for unit testing purposes.
    
    * Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm:
    * Source/WebKit/Platform/cocoa/XPCUtilities.cpp: Copied from Source/WebKit/Platform/spi/Cocoa/ReasonSPI.h.
    (WebKit::terminateWithReason):
    * Source/WebKit/Platform/cocoa/XPCUtilities.h: Copied from Source/WebKit/Platform/spi/Cocoa/ReasonSPI.h.
    * Source/WebKit/Platform/spi/Cocoa/ReasonSPI.h:
    * Source/WebKit/SourcesCocoa.txt:
    * Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
    (WebKit::terminateWithReason): Deleted.
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    
    Canonical link: https://commits.webkit.org/253461@main
    kkinnunen-apple committed Aug 16, 2022
  13. [GTK][WPE] Add support for showing notification icon

    https://bugs.webkit.org/show_bug.cgi?id=243786
    
    Reviewed by Michael Catanzaro.
    
    Add NotificationResourcesLoader to load the notification resources
    following the spec (https://notifications.spec.whatwg.org/#resources).
    For now only the icon image is loaded since it's the only one actually
    used. Resources are passed to the UI process as an extra parameter to
    ShowNotification message. This patch only adds suport for notification
    icon in the default notifications implementation, but it should also be
    exposed in the public API in a follow up.
    
    * Source/WebCore/Headers.cmake:
    * Source/WebCore/Modules/notifications/Notification.cpp:
    (WebCore::Notification::show):
    (WebCore::Notification::close):
    (WebCore::Notification::stop):
    * Source/WebCore/Modules/notifications/Notification.h:
    * Source/WebCore/Modules/notifications/NotificationResources.h: Added.
    (WebCore::NotificationResources::create):
    (WebCore::NotificationResources::setIcon):
    (WebCore::NotificationResources::icon const):
    * Source/WebCore/Modules/notifications/NotificationResourcesLoader.cpp: Added.
    (WebCore::NotificationResourcesLoader::NotificationResourcesLoader):
    (WebCore::NotificationResourcesLoader::resourceIsSupportedInPlatform):
    (WebCore::NotificationResourcesLoader::start):
    (WebCore::NotificationResourcesLoader::stop):
    (WebCore::NotificationResourcesLoader::didFinishLoadingResource):
    (WebCore::NotificationResourcesLoader::ResourceLoader::ResourceLoader):
    (WebCore::NotificationResourcesLoader::ResourceLoader::~ResourceLoader):
    (WebCore::NotificationResourcesLoader::ResourceLoader::cancel):
    (WebCore::NotificationResourcesLoader::ResourceLoader::didReceiveResponse):
    (WebCore::NotificationResourcesLoader::ResourceLoader::didReceiveData):
    (WebCore::NotificationResourcesLoader::ResourceLoader::didFinishLoading):
    (WebCore::NotificationResourcesLoader::ResourceLoader::didFail):
    * Source/WebCore/Modules/notifications/NotificationResourcesLoader.h: Added.
    * Source/WebCore/Sources.txt:
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.h:
    * Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.messages.in:
    * Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
    (IPC::ArgumentCoder<WebCore::NotificationResources>::encode):
    (IPC::ArgumentCoder<WebCore::NotificationResources>::decode):
    * Source/WebKit/Shared/WebCoreArgumentCoders.h:
    * Source/WebKit/UIProcess/API/APINotificationProvider.h:
    (API::NotificationProvider::show):
    * Source/WebKit/UIProcess/API/glib/WebKitNotificationProvider.cpp:
    (WebKitNotificationProvider::show):
    * Source/WebKit/UIProcess/API/glib/WebKitNotificationProvider.h:
    * Source/WebKit/UIProcess/Notifications/ServiceWorkerNotificationHandler.cpp:
    (WebKit::ServiceWorkerNotificationHandler::showNotification):
    * Source/WebKit/UIProcess/Notifications/ServiceWorkerNotificationHandler.h:
    * Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
    (WebKit::WebNotificationManagerMessageHandler::showNotification):
    * Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.h:
    * Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.cpp:
    (WebKit::WebNotificationManagerProxy::show):
    * Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.h:
    * Source/WebKit/UIProcess/Notifications/WebNotificationProvider.cpp:
    (WebKit::WebNotificationProvider::show):
    * Source/WebKit/UIProcess/Notifications/WebNotificationProvider.h:
    * Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp:
    (WebKit::IconCache::IconCache):
    (WebKit::IconCache::~IconCache):
    (WebKit::IconCache::iconPath):
    (WebKit::IconCache::iconBytes):
    (WebKit::IconCache::unuseIcon):
    (WebKit::IconCache::removeUnusedIcons):
    (WebKit::IconCache::timerFired):
    (WebKit::iconCache):
    (WebKit::NotificationService::showNotification):
    (WebKit::NotificationService::didCloseNotification):
    * Source/WebKit/UIProcess/Notifications/glib/NotificationService.h:
    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::showNotification):
    * Source/WebKit/UIProcess/WebPageProxy.h:
    * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
    (WebKit::WebsiteDataStore::showServiceWorkerNotification):
    * Source/WebKit/WebProcess/Notifications/WebNotificationManager.cpp:
    (WebKit::WebNotificationManager::show):
    
    Canonical link: https://commits.webkit.org/253460@main
    carlosgcampos committed Aug 16, 2022
  14. Group WKWebView state which is per-process into a struct

    https://bugs.webkit.org/show_bug.cgi?id=243704
    
    Reviewed by Chris Dumez.
    
    We often have bugs where we forget to reset state on WKWebView when the web process terminates (the
    same is true on WebPageProxy, which I will fix separately).
    
    To make it harder to create such bugs, group all the data that needs to be reset on web process
    termination into a PerWebProcessState struct. `_processWillSwapOrDidExit` can then just reinitialize
    this struct.
    
    Currently PerWebProcessState is only used for iOS, but it's probable that future refactoring will
    make it apply to all platforms.
    
    * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
    (-[WKWebView _initializeWithConfiguration:]):
    (-[WKWebView _internalDoAfterNextPresentationUpdate:withoutWaitingForPainting:withoutWaitingForAnimatedResize:]):
    (-[WKWebView _setMinimumEffectiveDeviceWidth:]):
    * Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
    * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
    (-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
    (-[WKWebView _willInvokeUIScrollViewDelegateCallback]):
    (-[WKWebView _didInvokeUIScrollViewDelegateCallback]):
    (-[WKWebView _resetCachedScrollViewBackgroundColor]):
    (-[WKWebView _updateScrollViewBackground]):
    (-[WKWebView _processWillSwapOrDidExit]):
    (-[WKWebView _didRelaunchProcess]):
    (-[WKWebView _didCommitLoadForMainFrame]):
    (-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]):
    (-[WKWebView _trackTransactionCommit:]):
    (-[WKWebView _restoreScrollAndZoomStateForTransaction:]):
    (-[WKWebView _didCommitLayerTree:]):
    (-[WKWebView _layerTreeCommitComplete]):
    (-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]):
    (-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
    (-[WKWebView _scrollToContentScrollPosition:scrollOrigin:animated:]):
    (-[WKWebView _zoomToInitialScaleWithOrigin:animated:]):
    (-[WKWebView _initialScaleFactor]):
    (-[WKWebView _allowsDoubleTapGestures]):
    (-[WKWebView _visibleContentRect]):
    (-[WKWebView _dispatchSetViewLayoutSize:]):
    (-[WKWebView _dispatchSetDeviceOrientation:]):
    (-[WKWebView _beginAutomaticLiveResizeIfNeeded]):
    (-[WKWebView _updateLiveResizeTransform]):
    (-[WKWebView _frameOrBoundsChanged]):
    (-[WKWebView _addUpdateVisibleContentRectPreCommitHandler]):
    (-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]):
    (-[WKWebView _shouldDeferGeometryUpdates]):
    (-[WKWebView _updateVisibleContentRects]):
    (-[WKWebView _cancelAnimatedResize]):
    (-[WKWebView _didCompleteAnimatedResize]):
    (-[WKWebView _didStopDeferringGeometryUpdates]):
    (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
    (-[WKWebView _navigationGestureDidBegin]):
    (-[WKWebView _navigationGestureDidEnd]):
    (-[WKWebView _setAvoidsUnsafeArea:]):
    (-[WKWebView _beginLiveResize]):
    (-[WKWebView _endLiveResize]):
    (-[WKWebView _safeAreaShouldAffectObscuredInsets]):
    (-[WKWebView _beginAnimatedResizeWithUpdates:]):
    (-[WKWebView _endAnimatedResize]):
    (-[WKWebView _resizeWhileHidingContentWithUpdates:]):
    (-[WKWebView _addLayerForFindOverlay]):
    (-[WKWebView _removeLayerForFindOverlay]):
    (-[WKWebView _layerForFindOverlay]):
    
    Canonical link: https://commits.webkit.org/253459@main
    smfr committed Aug 16, 2022
  15. Charset of blobs are incorrectly ignored

    https://bugs.webkit.org/show_bug.cgi?id=243953
    
    Reviewed by Geoffrey Garen.
    
    We were failing to set the text encoding name on the ResourceResponse
    based on the charset present in the Content-Type HTTP header.
    Normally, it gets initialized lazily by ResourceResponse::textEncodingName()
    based on the Content-Type header. However, this doesn't happen for Blobs
    because there is no underlying NSURLRequest.
    
    * LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/url-charset.window-expected.txt:
    * Source/WebCore/platform/network/BlobResourceHandle.cpp:
    (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
    * Source/WebCore/platform/network/HTTPParsers.h:
    * Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp:
    (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
    
    Canonical link: https://commits.webkit.org/253458@main
    cdumez committed Aug 16, 2022
  16. Unreviewed. Windows build fix attempt.

    * Source/WebCore/Modules/reporting/ReportBody.h:
    
    Canonical link: https://commits.webkit.org/253457@main
    rniwa committed Aug 16, 2022
  17. Add some style invalidation tests for imperative slot API

    https://bugs.webkit.org/show_bug.cgi?id=243923
    
    Reviewed by Simon Fraser.
    
    Added style invalidation tests for the imperative slot API.
    
    * LayoutTests/fast/shadow-dom/imperative-slot-update-1-expected.html: Added.
    * LayoutTests/fast/shadow-dom/imperative-slot-update-1.html: Added.
    * LayoutTests/fast/shadow-dom/imperative-slot-update-2-expected.html: Added.
    * LayoutTests/fast/shadow-dom/imperative-slot-update-2.html: Added.
    * LayoutTests/fast/shadow-dom/imperative-slot-update-3-expected.html: Added.
    * LayoutTests/fast/shadow-dom/imperative-slot-update-3.html: Added.
    
    Canonical link: https://commits.webkit.org/253456@main
    rniwa committed Aug 16, 2022
  18. Add a mechanism for on-demand logging about where a process is loadin…

    …g its code and resources from
    
    https://bugs.webkit.org/show_bug.cgi?id=243458
    rdar://91325510
    
    Reviewed by Saam Barati.
    
    In order to verify with certainty that WebKit clients are using all the correct content (i.e.
    loading code from the correct framework bundles or DYLD shared cache, and loading resources
    from the correct paths), it can be useful for a process to self-report all these details so
    that automated tests (or manual visual inspection) can validate the coherency of the WebKit
    stack (as well as any other application frameworks that may need to be loaded from a variety
    of potential locations).
    
    To support this, introduce a means by which clients of the WebKit stack (or more precisely,
    users of WTF via JavaScriptCore) can automatically log this information on demand. Upon
    initialization of WTF, processes will observe a distributed notification. Upon receiving this
    notification, the process will introspect the DYLD shared cache, a specified set of dynamic
    libraries, and a specified set of bundles. Information about those items will then be printed
    to a dedicated OS log channel as a series of JSON outout that external tooling can parse for
    consumption by humans or further tooling.
    
    * Source/WTF/WTF.xcodeproj/project.pbxproj:
        Add references to LibraryPathDiagnostics.{h,mm} and CFPrivSPI.h.
    * Source/WTF/wtf/PlatformHave.h:
        Add a few conditional flags for SPI used to gather info to be logged.
    * Source/WTF/wtf/Threading.cpp:
    (WTF::initialize):
        Initialize the new "library path diagnostics" system when setting up WTF.
    * Source/WTF/wtf/darwin/LibraryPathDiagnostics.h: Added.
    * Source/WTF/wtf/darwin/LibraryPathDiagnostics.mm: Added.
    (WTF::LibraryPathDiagnosticsLogger::LibraryPathDiagnosticsLogger):
    (WTF::LibraryPathDiagnosticsLogger::logJSONPayload):
        Logs an individual piece of information by writing the stringification of a JSON payload
        to the associated OS log channel. Examples of payloads could be the UUID/path of the
        process's DYLD shared cache, or the location and version of one loaded bundle with a
        given bundle identifier. The overall compilation of information produced by this logger
        is divided and delivered as multiple JSON payloads because the OS log places a limit on
        the size of a message at 1024 bytes -- a limit that could easily be exceeded if a process
        were to just log the UUIDs and full dylib / bundle paths of every library in the WebKit
        stack. Tooling that wishes to analyze this information must merge all the individual JSON
        payloads read from the system log in order to assemble the complete understanding of a
        process's dynamic library stack.
    (WTF::LibraryPathDiagnosticsLogger::logString):
        Emits a string to the log, at a given "path" of nested objects, e.g. logging "XYZ" at the
        path "Foo", "Bar", "Baz" would print the JSON payload `{"Foo":{"Bar":{"Baz":"XYZ"}}}`.
    (WTF::LibraryPathDiagnosticsLogger::logObject):
        Ditto, but prints an object at a specified path.
    (WTF::LibraryPathDiagnosticsLogger::logError):
        Writes the specified string to the OS log as an error.
    (WTF::LibraryPathDiagnosticsLogger::logExecutablePath):
        Logs the current executable's path, after canonicalizing it by resolving all symlinks.
    (WTF::LibraryPathDiagnosticsLogger::logDYLDSharedCacheInfo):
        Logs the UUID and path on disk of the process's active DYLD shared cache.
    (WTF::isAddressInSharedRegion):
    (WTF::LibraryPathDiagnosticsLogger::logDynamicLibraryInfo):
        Logs information about a particular dynamic library, specified by the install name. Using
        `dlopen()` to grab a handle to the library (only if it's already loaded), read the UUID,
        the path "on disk" to the library, and determine whether or not the library (referred to
        by its mach header) is present in the shared cache.
    (WTF::LibraryPathDiagnosticsLogger::logBundleInfo):
        Logs information about a particular (Core)Foundation bundle, specified by bundle identifier.
        Look up the bundle and log its version and path on disk (after resolving all symlinks).
    (WTF::LibraryPathDiagnosticsLogger::logCryptexCanaryInfo):
        Use chirp to look up canary info for the OS and App cryptexes.
    (WTF::LibraryPathDiagnosticsLogger::log):
        Invoke each of the respective methods to log the various categories of information.
    (WTF::initializeLibraryPathDiagnostics):
        Register for the distributed notification that triggers the process to log its library info.
    (WTF::logLibraryPathDiagnostics):
    * Source/WTF/wtf/spi/cf/CFPrivSPI.h: Added.
    * Source/WTF/wtf/spi/darwin/dyldSPI.h:
    
    Canonical link: https://commits.webkit.org/253455@main
    davidquesada committed Aug 16, 2022
  19. Re-import css/css-ui WPTs

    https://bugs.webkit.org/show_bug.cgi?id=243900
    
    Reviewed by Tim Nguyen.
    
    Upstream commit: web-platform-tests/wpt@45ec8cb
    
    * LayoutTests/TestExpectations:
    * LayoutTests/imported/w3c/resources/resource-files.json:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-ui/**/*: Update WPTs.
    * LayoutTests/platform/glib/TestExpectations:
    * LayoutTests/platform/ios-wk2/TestExpectations:
    * LayoutTests/platform/mac/TestExpectations:
    * LayoutTests/platform/mac-wk1/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253454@main
    pxlcoder committed Aug 16, 2022
  20. Unreviewed, another build fix after 253443main

    https://bugs.webkit.org/show_bug.cgi?id=243970
    
    * Source/WebCore/Modules/reporting/ReportingObserver.cpp:
    
    Canonical link: https://commits.webkit.org/253452@main
    cdumez committed Aug 16, 2022
  21. Speculative PlayStation build fix following 253447@main

    https://bugs.webkit.org/show_bug.cgi?id=243968
    
    Unreviewed, add missing include.
    
    * Source/WebCore/Modules/reporting/ReportingObserver.cpp:
    
    Canonical link: https://commits.webkit.org/253451@main
    rkirsling committed Aug 16, 2022
  22. Unreviewed build fix after 253443@main

    https://bugs.webkit.org/show_bug.cgi?id=243967
    
    * Source/WebCore/Modules/reporting/ReportingObserver.h:
    
    Canonical link: https://commits.webkit.org/253450@main
    cdumez committed Aug 16, 2022
  23. WebProcessProxy should keep WebsiteDataStore alive

    https://bugs.webkit.org/show_bug.cgi?id=243960
    <rdar://98313174>
    
    Reviewed by Chris Dumez.
    
    This effectively reverts bug 238892 because it caused rdar://98313174
    Tasks such as the one scheduled in WorkerSWClientConnection::unregisterServiceWorkerClient
    need a connection to the network process, and if the network process has crashed
    then they need a WebsiteDataStore to restart that network process, so a WebProcessProxy
    needs to keep a WebsiteDataStore alive.
    
    * Source/WebKit/UIProcess/WebProcessProxy.cpp:
    (WebKit::m_webPermissionController):
    (WebKit::WebProcessProxy::setWebsiteDataStore):
    (WebKit::WebProcessProxy::isDummyProcessProxy const):
    (WebKit::WebProcessProxy::addExistingWebPage):
    (WebKit::WebProcessProxy::getNetworkProcessConnection):
    (WebKit::WebProcessProxy::sessionID const):
    (WebKit::WebProcessProxy::websiteDataStore const): Deleted.
    * Source/WebKit/UIProcess/WebProcessProxy.h:
    (WebKit::WebProcessProxy::websiteDataStore const):
    
    Canonical link: https://commits.webkit.org/253449@main
    achristensen07 committed Aug 16, 2022
  24. Unreviewed non-unified build fix following 253447@main

    https://bugs.webkit.org/show_bug.cgi?id=243965
    
    * Source/WebCore/Modules/reporting/ReportingObserver.h: Add missing include.
    
    Canonical link: https://commits.webkit.org/253448@main
    rkirsling committed Aug 16, 2022
  25. Add support to the Permissions API for dedicated workers

    https://bugs.webkit.org/show_bug.cgi?id=243805
    
    Reviewed by Chris Dumez and Sihui Liu.
    
    Permissions::query() should be exposed for both window and workers. Currently,
    it is only exposed for window. This patch is the first step in exposing it for
    all of the workers.
    
    * LayoutTests/http/tests/notifications/permission/worker-permission-query-expected.txt: Added.
    * LayoutTests/http/tests/notifications/permission/worker-permission-query.html: Added.
    * LayoutTests/http/tests/notifications/permission/worker-permission-query.js: Added.
    (onmessage):
    * LayoutTests/imported/w3c/web-platform-tests/permissions/all-permissions-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/permissions/idlharness.any.worker-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/storage/permission-query.https.any.worker-expected.txt:
    * Source/WebCore/CMakeLists.txt:
    * Source/WebCore/DerivedSources-input.xcfilelist:
    * Source/WebCore/DerivedSources-output.xcfilelist:
    * Source/WebCore/DerivedSources.make:
    * Source/WebCore/Headers.cmake:
    * Source/WebCore/Modules/permissions/NavigatorPermissions.cpp:
    (WebCore::NavigatorPermissions::permissions):
    * Source/WebCore/Modules/permissions/NavigatorPermissions.h:
    * Source/WebCore/Modules/permissions/PermissionController.h:
    * Source/WebCore/Modules/permissions/PermissionStatus.cpp:
    (WebCore::PermissionStatus::PermissionStatus):
    (WebCore::PermissionStatus::~PermissionStatus):
    (WebCore::PermissionStatus::stateChanged):
    * Source/WebCore/Modules/permissions/PermissionStatus.h:
    * Source/WebCore/Modules/permissions/PermissionStatus.idl:
    * Source/WebCore/Modules/permissions/PermissionStatusIdentifier.h: Added.
    * Source/WebCore/Modules/permissions/Permissions.cpp:
    (WebCore::Permissions::create):
    (WebCore::Permissions::Permissions):
    (WebCore::Permissions::navigator):
    (WebCore::Permissions::query):
    * Source/WebCore/Modules/permissions/Permissions.h:
    * Source/WebCore/Modules/permissions/Permissions.idl:
    * Source/WebCore/Modules/permissions/WorkerNavigator+Permissions.idl: Copied from Source/WebCore/Modules/permissions/Permissions.idl.
    * Source/WebCore/Modules/permissions/WorkerNavigatorPermissions.cpp: Copied from Source/WebCore/Modules/permissions/NavigatorPermissions.cpp.
    (WebCore::WorkerNavigatorPermissions::WorkerNavigatorPermissions):
    (WebCore::WorkerNavigatorPermissions::permissions):
    (WebCore::WorkerNavigatorPermissions::from):
    (WebCore::WorkerNavigatorPermissions::supplementName):
    * Source/WebCore/Modules/permissions/WorkerNavigatorPermissions.h: Copied from Source/WebCore/Modules/permissions/NavigatorPermissions.h.
    * Source/WebCore/Sources.txt:
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:
    (WebKit::WebPermissionController::addObserver):
    (WebKit::WebPermissionController::removeObserver):
    (WebKit::WebPermissionController::permissionChanged):
    * Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.h:
    
    Canonical link: https://commits.webkit.org/253447@main
    RupinMittal authored and cdumez committed Aug 16, 2022

Commits on Aug 15, 2022

  1. [Gardening]: REGRESSION(253327@main): [ iOS ] 2X imported/w3c/web-pla…

    …tform-tests/css/css-pseudo/(Layout Tests) are almost constant failures
    
    https://bugs.webkit.org/show_bug.cgi?id=243962
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ios/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253446@main
    HerculesH committed Aug 15, 2022
  2. Non-unified build fix after 253416@main

    Unreviewed non-unified build fix.
    
    * Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp:
    * Source/WebCore/Modules/mediasource/MediaSourceRegistry.h:
    
    Canonical link: https://commits.webkit.org/253445@main
    lauromoura committed Aug 15, 2022
  3. [Gardening]: [ iOS ] Run tests in fast/forms/ios by default in EWS

    https://bugs.webkit.org/show_bug.cgi?id=229656
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ipad/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253444@main
    HerculesH committed Aug 15, 2022
  4. Implement stubs for Reporting API

    https://bugs.webkit.org/show_bug.cgi?id=243908
    <rdar://problem/98594486>
    
    Reviewed by Sam Weinig and Ryosuke Niwa.
    
    This implements a set of stubs for the Reporting API, updates our copy of the WPT reporting tests to current revision, and updates our results to reflect the new results with these changes.
    
    WPT was synced with https://github.com/web-platform-tests/wpt/tree/33bbf4ec8b807077ec61df829cffa86254a1f954
    
    * LayoutTests/TestExpectations:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/README.md: Added.
    * LayoutTests/imported/w3c/web-platform-tests/reporting/document-reporting-default-endpoint.https.sub.html:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/document-reporting-path-absolute.https.sub.html:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/generateTestReport-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/idlharness.any-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/idlharness.any.worker-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/path-absolute-endpoint.https.sub-expected.txt: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/reporting/path-absolute-endpoint.https.sub.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/reporting/path-absolute-endpoint.https.sub.html.sub.headers: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/reporting/resources/generate-report-once.py:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/resources/generate-report.https.sub.html:
    * LayoutTests/imported/w3c/web-platform-tests/reporting/w3c-import.log:
    * Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
    * Source/WebCore/CMakeLists.txt:
    * Source/WebCore/DerivedSources-input.xcfilelist:
    * Source/WebCore/DerivedSources-output.xcfilelist:
    * Source/WebCore/DerivedSources.make:
    * Source/WebCore/Headers.cmake:
    * Source/WebCore/Modules/reporting/Report.cpp: Added.
    (WebCore::Report::create):
    (WebCore::Report::Report):
    * Source/WebCore/Modules/reporting/Report.h: Added.
    (WebCore::Report::type const):
    (WebCore::Report::url const):
    (WebCore::Report::body):
    * Source/WebCore/Modules/reporting/Report.idl: Added.
    * Source/WebCore/Modules/reporting/ReportBody.h: Added.
    (WebCore::ReportBody::create):
    * Source/WebCore/Modules/reporting/ReportBody.idl: Added.
    * Source/WebCore/Modules/reporting/ReportingObserver.cpp: Added.
    (WebCore::ReportingObserver::create):
    (WebCore::ReportingObserver::ReportingObserver):
    (WebCore::ReportingObserver::~ReportingObserver):
    (WebCore::ReportingObserver::disconnect):
    (WebCore::ReportingObserver::observe):
    (WebCore::ReportingObserver::takeRecords):
    * Source/WebCore/Modules/reporting/ReportingObserver.h: Added.
    * Source/WebCore/Modules/reporting/ReportingObserver.idl: Added.
    * Source/WebCore/Modules/reporting/ReportingObserverCallback.h: Added.
    * Source/WebCore/Modules/reporting/ReportingObserverCallback.idl: Added.
    * Source/WebCore/Modules/reporting/ReportingObserverOptions.idl: Added.
    * Source/WebCore/Sources.txt:
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * Source/WebCore/bindings/js/JSReportBodyCustom.cpp: Added.
    (WebCore::JSReportBody::toJSON):
    * Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
    * Source/WebCore/features.json:
    
    Canonical link: https://commits.webkit.org/253443@main
    brentfulgham authored and Brent Fulgham committed Aug 15, 2022
  5. [ews] Mirror GitHub Status-bubbles in PR description

    https://bugs.webkit.org/show_bug.cgi?id=243951
    
    Reviewed by Jonathan Bedard.
    
    * Tools/CISupport/ews-app/ews/common/github.py:
    (GitHub.update_or_leave_comment_on_pr):
    (GitHub.update_pr_description_with_status_bubble):
    (GitHubEWS):
    (GitHubEWS.generate_updated_pr_description):
    (GitHubEWS.add_or_update_comment_for_change_id):
    
    Canonical link: https://commits.webkit.org/253442@main
    aj062 committed Aug 15, 2022
  6. [REBASLINE] imported/w3c/web-platform-tests/css/cssom/getComputedStyl…

    …e-detached-subtree.html is a constant failure on IOS
    
    https://bugs.webkit.org/show_bug.cgi?id=243958
    
    Unreviewed rebasline.
    
    * LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
    
    Canonical link: https://commits.webkit.org/253441@main
    Smackteo committed Aug 15, 2022
  7. background-repeat is incorrectly exposed through inline style

    https://bugs.webkit.org/show_bug.cgi?id=243915
    
    Reviewed by Antti Koivisto.
    
    Remove the hack that treated `background-repeat` and `mask-repeat` as shorthands
    for -x and -y longhands, since no such longhands are specified. This hack leaked
    out via `element.style.length`: setting a `background-repeat` value would internally
    set `background-repeat-x` and `background-repeat-y`, but then we'd consider those
    internal, and end up reporting `element.style.length` as zero. This broke the mechanism
    used by https://css3test.com/ to detect support for style properties.
    
    `background-repeat` has custom serialization behavior: `repeat no-repeat` is serialized
    as `repeat-x` for example. To support this, introduce a new CSSValue type CSSBackgroundRepeatValue.
    
    CSSPropertyBackgroundRepeatX/Y and CSSPropertyMaskRepeatX/Y are gone, and various bits of
    code treating CSSPropertyBackgroundRepeat and CSSPropertyMaskRepeat as shorthands is removed.
    
    FillLayer stores a FillRepeatXY struct with x and y members.
    
    * LayoutTests/fast/backgrounds/repeat/parsing-background-repeat-expected.txt:
    * LayoutTests/fast/backgrounds/repeat/parsing-background-repeat.html: Add some tests for `style.length`. Adjust for new serialization behavior.
    * LayoutTests/fast/css/background-layers-initial-size.html: Apply style to just the test div.
    * LayoutTests/fast/css/remove-shorthand-expected.txt: Ordering changed.
    * LayoutTests/fast/masking/parsing-mask-expected.txt:
    * LayoutTests/fast/masking/parsing-mask-repeat.html: Added.
    * LayoutTests/fast/masking/parsing-mask.html: Remove unnecessary font size style. `repeat no-repeat` serializes as `repeat-x` now.
    * LayoutTests/fast/masking/parsing-webkit-mask-expected.txt:
    * LayoutTests/fast/masking/parsing-webkit-mask.html: Remove unnecessary font size style. `repeat no-repeat` serializes as `repeat-x` now.
    * Source/WebCore/Sources.txt:
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * Source/WebCore/animation/CSSPropertyAnimation.cpp:
    (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
    * Source/WebCore/css/CSSBackgroundRepeatValue.cpp: Added.
    (WebCore::CSSBackgroundRepeatValue::CSSBackgroundRepeatValue):
    (WebCore::CSSBackgroundRepeatValue::customCSSText const):
    (WebCore::CSSBackgroundRepeatValue::equals const):
    * Source/WebCore/css/CSSBackgroundRepeatValue.h: Added.
    * Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
    (WebCore::fillRepeatToCSSValue):
    (WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
    * Source/WebCore/css/CSSProperties.json:
    * Source/WebCore/css/CSSToStyleMap.cpp:
    (WebCore::CSSToStyleMap::mapFillRepeat):
    (WebCore::CSSToStyleMap::mapFillRepeatX): Deleted.
    (WebCore::CSSToStyleMap::mapFillRepeatY): Deleted.
    * Source/WebCore/css/CSSToStyleMap.h:
    * Source/WebCore/css/CSSValue.cpp:
    (WebCore::CSSValue::equals const):
    (WebCore::CSSValue::cssText const):
    (WebCore::CSSValue::destroy):
    * Source/WebCore/css/CSSValue.h:
    (WebCore::CSSValue::isBackgrouneRepeatValue const):
    * Source/WebCore/css/StyleProperties.cpp:
    (WebCore::StyleProperties::getPropertyValue const):
    (WebCore::StyleProperties::getLayeredShorthandValue const):
    (WebCore::StyleProperties::asTextInternal const):
    * Source/WebCore/css/parser/CSSParserFastPaths.cpp:
    (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
    * Source/WebCore/css/parser/CSSPropertyParser.cpp:
    (WebCore::consumeRepeatStyleComponent):
    (WebCore::consumeRepeatStyle):
    (WebCore::consumeBackgroundComponent):
    (WebCore::CSSPropertyParser::parseSingleValue):
    (WebCore::CSSPropertyParser::consumeBackgroundShorthand):
    (WebCore::CSSPropertyParser::parseShorthand):
    * Source/WebCore/display/css/DisplayFillLayerImageGeometry.cpp:
    (WebCore::Display::geometryForLayer):
    * Source/WebCore/page/FrameView.cpp:
    (WebCore::FrameView::calculateExtendedBackgroundMode const):
    * Source/WebCore/rendering/RenderBoxModelObject.cpp:
    (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry const):
    * Source/WebCore/rendering/style/FillLayer.cpp:
    (WebCore::FillLayer::FillLayer):
    (WebCore::FillLayer::operator=):
    (WebCore::FillLayer::operator== const):
    (WebCore::FillLayer::fillUnsetProperties):
    (WebCore::FillLayer::hasRepeatXY const):
    (WebCore::operator<<):
    * Source/WebCore/rendering/style/FillLayer.h:
    (WebCore::FillRepeatXY::operator== const):
    (WebCore::FillLayer::repeat const):
    (WebCore::FillLayer::isRepeatSet const):
    (WebCore::FillLayer::setRepeat):
    (WebCore::FillLayer::clearRepeat):
    (WebCore::FillLayer::initialFillRepeat):
    (WebCore::FillLayer::repeatX const): Deleted.
    (WebCore::FillLayer::repeatY const): Deleted.
    (WebCore::FillLayer::isRepeatXSet const): Deleted.
    (WebCore::FillLayer::isRepeatYSet const): Deleted.
    (WebCore::FillLayer::setRepeatX): Deleted.
    (WebCore::FillLayer::setRepeatY): Deleted.
    (WebCore::FillLayer::clearRepeatX): Deleted.
    (WebCore::FillLayer::clearRepeatY): Deleted.
    (WebCore::FillLayer::initialFillRepeatX): Deleted.
    (WebCore::FillLayer::initialFillRepeatY): Deleted.
    * Source/WebCore/rendering/style/RenderStyle.cpp:
    (WebCore::RenderStyle::isIdempotentTextAutosizingCandidate const):
    * Source/WebCore/rendering/style/RenderStyle.h:
    (WebCore::RenderStyle::backgroundRepeat const):
    (WebCore::RenderStyle::maskRepeat const):
    (WebCore::RenderStyle::setBackgroundRepeat):
    (WebCore::RenderStyle::setMaskRepeat):
    (WebCore::RenderStyle::backgroundRepeatX const): Deleted.
    (WebCore::RenderStyle::backgroundRepeatY const): Deleted.
    (WebCore::RenderStyle::maskRepeatX const): Deleted.
    (WebCore::RenderStyle::maskRepeatY const): Deleted.
    (WebCore::RenderStyle::setBackgroundRepeatX): Deleted.
    (WebCore::RenderStyle::setBackgroundRepeatY): Deleted.
    (WebCore::RenderStyle::setMaskRepeatX): Deleted.
    (WebCore::RenderStyle::setMaskRepeatY): Deleted.
    
    Canonical link: https://commits.webkit.org/253440@main
    smfr committed Aug 15, 2022
  8. [Gardening]: REGRESSION(253309@main?): [ iOS ] imported/w3c/web-platf…

    …orm-tests/html/semantics/forms/form-submission-0/implicit-submission.optional.html is a constant failure
    
    https://bugs.webkit.org/show_bug.cgi?id=243946
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ios/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253433@main
    HerculesH authored and webkit-early-warning-system committed Aug 15, 2022
  9. [ iOS ] fast/canvas/image-object-in-canvas.html is a flaky timeout on…

    … iOS (243558)
    
    <rdar://98147510>
    https://bugs.webkit.org/show_bug.cgi?id=243558
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ios/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253438@main
    Smackteo committed Aug 15, 2022
Older