Timeline



Oct 13, 2021:

10:29 PM Changeset in webkit [284148] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Determine viewport distances for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=203557

Patch by Rob Buis <rbuis@igalia.com> on 2021-10-13
Reviewed by Simon Fraser.

Determine appropriate lazy image loading viewport distances
for desktop and mobile devices by using a lazy load distance
of one viewport in all directions.

  • html/LazyLoadImageObserver.cpp:

(WebCore::LazyLoadImageObserver::intersectionObserver):

10:14 PM Changeset in webkit [284147] by Jean-Yves Avenard
  • 2 edits in trunk/Source/WebCore

Compilation error: error: definition of implicit copy assignment operator in AppHighlightRangeData.h
https://bugs.webkit.org/show_bug.cgi?id=231717
rdar://problem/84230745

Reviewed by Tim Horton.

Per C++11 and later:
“The generation of the implicitly-defined copy assignment operator is
deprecated if T has a user-declared destructor or user-declared copy
constructor.”
A copy constructor is defined, so we need to declare a copy assignement operator.

  • Modules/highlight/AppHighlightRangeData.h: Add copy assignment operator.
9:09 PM Changeset in webkit [284146] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Use PlatformKeyboardEvent in KeyboardScrollingAnimator to fix a layering violation
https://bugs.webkit.org/show_bug.cgi?id=231711

Reviewed by Beth Dakin.

KeyboardScrollingAnimator lives in platform/ so should not know about dom/KeyboardEvent.
Have it use PlatformKeyboardEvent instead.

  • page/EventHandler.cpp:

(WebCore::EventHandler::stopKeyboardScrolling):
(WebCore::EventHandler::startKeyboardScrolling): Null check the view. Use the platform event.

  • platform/KeyboardScrollingAnimator.cpp:

(WebCore::keyboardScrollingKeyFromEvent):
(WebCore::KeyboardScrollingAnimator::keyboardScrollForKeyboardEvent const):
(WebCore::KeyboardScrollingAnimator::beginKeyboardScrollGesture):

  • platform/KeyboardScrollingAnimator.h:
8:58 PM Changeset in webkit [284145] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, speculative build fix with new clang

Speculative since I cannot install this clang now.

  • b3/B3ValueRep.h:
7:17 PM Changeset in webkit [284144] by timothy_horton@apple.com
  • 2 edits in trunk

Add my GitHub username to contributors.json

Unreviewed.

  • metadata/contributors.json:
7:12 PM Changeset in webkit [284143] by Megan Gardner
  • 8 edits
    2 adds in trunk/Source

Scroll To Text Fragment directive parsing
https://bugs.webkit.org/show_bug.cgi?id=231410

Reviewed by Chris Dumez.

Text directive parsing for
https://wicg.github.io/scroll-to-text-fragment/
Source/WebCore:

Make a new class to handle the parsing of the text directive.
The parsing is defined in the linked spec.
The directive should be stored on Document and in a future
patch the matching algorithm will find the text and scroll
and highlight it.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.h:

(WebCore::Document::setFragmentDirective):
(WebCore::Document::fragmentDirective const):

  • dom/FragmentDirectiveParser.cpp: Added.

(WebCore::FragmentDirectiveParser::create):
(WebCore::FragmentDirectiveParser::FragmentDirectiveParser):
(WebCore::FragmentDirectiveParser::parseFragmentDirective):

  • dom/FragmentDirectiveParser.h: Added.

(WebCore::FragmentDirectiveParser::parsedTextDirectives):
(WebCore::FragmentDirectiveParser::fragmentDirective):
(WebCore::FragmentDirectiveParser::urlFragment):
(WebCore::FragmentDirectiveParser::isValid):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToFragment):

  • platform/Logging.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
6:46 PM Changeset in webkit [284142] by Chris Dumez
  • 194 edits in trunk

Drop makeWeakPtr() and use WeakPtr { } directly
https://bugs.webkit.org/show_bug.cgi?id=231679

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:

(WebCore::FileSystemSyncAccessHandle::truncate):
(WebCore::FileSystemSyncAccessHandle::getSize):
(WebCore::FileSystemSyncAccessHandle::flush):
(WebCore::FileSystemSyncAccessHandle::close):

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):

Source/WebKit:

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):

  • GPUProcess/media/RemoteAudioHardwareListenerProxy.cpp:

(WebKit::RemoteAudioHardwareListenerProxy::RemoteAudioHardwareListenerProxy):

  • GPUProcess/media/RemoteAudioTrackProxy.cpp:

(WebKit::RemoteAudioTrackProxy::RemoteAudioTrackProxy):

  • GPUProcess/media/RemoteCDMFactoryProxy.cpp:

(WebKit::RemoteCDMFactoryProxy::RemoteCDMFactoryProxy):
(WebKit::RemoteCDMFactoryProxy::createCDM):

  • GPUProcess/media/RemoteCDMInstanceProxy.cpp:

(WebKit::RemoteCDMInstanceProxy::RemoteCDMInstanceProxy):
(WebKit::RemoteCDMInstanceProxy::createSession):

  • GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:

(WebKit::RemoteCDMInstanceSessionProxy::create):

  • GPUProcess/media/RemoteCDMProxy.cpp:

(WebKit::RemoteCDMProxy::createInstance):

  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:

(WebKit::RemoteImageDecoderAVFProxy::RemoteImageDecoderAVFProxy):

  • GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp:

(WebKit::RemoteLegacyCDMFactoryProxy::RemoteLegacyCDMFactoryProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::createCDM):

  • GPUProcess/media/RemoteLegacyCDMProxy.cpp:

(WebKit::RemoteLegacyCDMProxy::createSession):

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::RemoteMediaPlayerManagerProxy):

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy):
(WebKit::RemoteMediaPlayerProxy::setLegacyCDMSession):

  • GPUProcess/media/RemoteMediaResource.cpp:

(WebKit::RemoteMediaResource::RemoteMediaResource):

  • GPUProcess/media/RemoteMediaResourceLoader.cpp:

(WebKit::RemoteMediaResourceLoader::RemoteMediaResourceLoader):

  • GPUProcess/media/RemoteMediaSourceProxy.cpp:

(WebKit::RemoteMediaSourceProxy::RemoteMediaSourceProxy):

  • GPUProcess/media/RemoteRemoteCommandListenerProxy.cpp:

(WebKit::RemoteRemoteCommandListenerProxy::RemoteRemoteCommandListenerProxy):

  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::RemoteSourceBufferProxy):

  • GPUProcess/media/RemoteTextTrackProxy.cpp:

(WebKit::RemoteTextTrackProxy::RemoteTextTrackProxy):

  • GPUProcess/media/RemoteVideoTrackProxy.cpp:

(WebKit::RemoteVideoTrackProxy::RemoteVideoTrackProxy):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):

  • NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm:

(-[WKDownloadProgress initWithDownloadTask:download:URL:sandboxExtension:]):

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::NetworkCORSPreflightChecker):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::NetworkDataTask):

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::startWithScheduling):

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::NetworkLoadChecker):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::preconnectTo):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::simulateResourceLoadStatisticsSessionRestart):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendDidReceiveResponsePotentiallyInNewBrowsingContextGroup):

  • NetworkProcess/NetworkSocketChannel.cpp:

(WebKit::NetworkSocketChannel::NetworkSocketChannel):

  • NetworkProcess/NetworkStorageSessionProvider.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClientImpl.cpp:

(WebKit::PCM::ClientImpl::ClientImpl):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:

(WebKit::PCM::ConnectionToMachService::ConnectionToMachService):

  • NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm:

(WebKit::PCM::ConnectionToMachService::initializeConnectionIfNeeded const):

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::start):

  • NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:

(WebKit::ServiceWorkerSoftUpdateLoader::ServiceWorkerSoftUpdateLoader):

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:

(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::registerFetch):

  • NetworkProcess/WebStorage/StorageArea.cpp:

(WebKit::StorageArea::StorageArea):

  • NetworkProcess/WebStorage/StorageManagerSet.cpp:

(WebKit::StorageManagerSet::connectToLocalStorageArea):
(WebKit::StorageManagerSet::connectToTransientLocalStorageArea):
(WebKit::StorageManagerSet::connectToSessionStorageArea):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::Engine):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::swapSessionIfNecessary):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate initWithNetworkSession:wrapper:withCredentials:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(WebKit::NetworkSessionCocoa::createWebSocketTask):
(WebKit::NetworkSessionCocoa::addWebPageNetworkParameters):

  • NetworkProcess/storage/FileSystemStorageHandle.cpp:

(WebKit::FileSystemStorageHandle::FileSystemStorageHandle):

  • NetworkProcess/storage/FileSystemStorageHandleRegistry.cpp:

(WebKit::FileSystemStorageHandleRegistry::registerHandle):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::addMessageObserver):

  • Platform/IPC/MessageReceiverMap.cpp:

(IPC::MessageReceiverMap::addMessageReceiver):

  • Platform/cocoa/WKPaymentAuthorizationDelegate.mm:

(-[WKPaymentAuthorizationDelegate _initWithRequest:presenter:]):

  • Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):

  • Shared/WebSQLiteDatabaseTracker.h:
  • Shared/XR/XRDeviceProxy.cpp:

(WebKit::XRDeviceProxy::XRDeviceProxy):

  • Shared/mac/SecItemShim.cpp:

(WebKit::initializeSecItemShim):

  • UIProcess/API/APIAttachment.cpp:

(API::Attachment::Attachment):

  • UIProcess/API/APIHTTPCookieStore.cpp:

(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::registerObserver):

  • UIProcess/API/APIInspectorExtension.cpp:

(API::InspectorExtension::InspectorExtension):

  • UIProcess/API/APIWebAuthenticationPanel.cpp:

(API::WebAuthenticationPanel::WebAuthenticationPanel):
(API::WebAuthenticationPanel::handleRequest):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _removeDataDetectedLinks:]):

  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKMediaSessionCoordinatorHelper initWithCoordinator:]):

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(-[_WKWebAuthenticationPanel setDelegate:]):

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _detectDataWithTypes:completionHandler:]):

  • UIProcess/Cocoa/GroupActivities/GroupActivitiesCoordinator.mm:

(-[WKGroupActivitiesCoordinatorDelegate initWithParent:]):

  • UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:

(-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::NavigationClient::NavigationClient):
(WebKit::tryInterceptNavigation):
(WebKit::NavigationState::HistoryClient::HistoryClient):

  • UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.mm:

(-[WKSOSecretDelegate initWithSession:]):

  • UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:

(WebKit::SOAuthorizationSession::SOAuthorizationSession):

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
(WebKit::UIDelegate::UIClient::UIClient):
(WebKit::UIDelegate::UIClient::decidePolicyForGeolocationPermissionRequest):
(WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::grantAccess):
(WebKit::WebPasteboardProxy::didModifyContentsOfPasteboard):
(WebKit::WebPasteboardProxy::PasteboardAccessInformation::grantAccess):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::setMediaAccessibilityPreferences):
(WebKit::WebProcessPool::registerNotificationObservers):

  • UIProcess/Cocoa/WebViewImpl.mm:

(-[WKDOMPasteMenuDelegate initWithWebViewImpl:]):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::DownloadProxy):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::getOrCreate):

  • UIProcess/Inspector/InspectorTargetProxy.cpp:

(WebKit::InspectorTargetProxy::create):

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::WebInspectorUIExtensionControllerProxy):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:

(WebKit::RemoteMediaSessionCoordinatorProxy::RemoteMediaSessionCoordinatorProxy):

  • UIProcess/MediaKeySystemPermissionRequestProxy.cpp:

(WebKit::MediaKeySystemPermissionRequestProxy::MediaKeySystemPermissionRequestProxy):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):

  • UIProcess/Network/NetworkProcessProxyCocoa.mm:

(WebKit::NetworkProcessProxy::XPCEventHandler::XPCEventHandler):

  • UIProcess/PDF/WKPDFHUDView.mm:

(-[WKPDFHUDView initWithFrame:pluginIdentifier:page:]):

  • UIProcess/SpeechRecognitionPermissionRequest.h:

(WebKit::SpeechRecognitionPermissionRequest::SpeechRecognitionPermissionRequest):

  • UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:
  • UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp:

(WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::addSource):

  • UIProcess/ViewGestureController.cpp:

(WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):

  • UIProcess/WebAuthentication/Authenticator.h:

(WebKit::Authenticator::setObserver):

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::runPanel):
(WebKit::AuthenticatorManager::dispatchPanelClientCall const):

  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp:

(WebKit::AuthenticatorTransportService::AuthenticatorTransportService):

  • UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm:

(WebKit::AuthenticatorPresenterCoordinator::AuthenticatorPresenterCoordinator):

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm:

(WebKit::NfcConnection::NfcConnection):

  • UIProcess/WebAuthentication/Cocoa/WKASCAuthorizationPresenterDelegate.mm:

(-[WKASCAuthorizationPresenterDelegate initWithCoordinator:]):

  • UIProcess/WebAuthentication/Cocoa/WKNFReaderSessionDelegate.mm:

(-[WKNFReaderSessionDelegate initWithConnection:]):

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:

(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):

  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:

(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):

  • UIProcess/WebAuthentication/fido/FidoService.cpp:

(WebKit::FidoService::getInfo):

  • UIProcess/WebContextMenuListenerProxy.cpp:

(WebKit::WebContextMenuListenerProxy::WebContextMenuListenerProxy):

  • UIProcess/WebContextMenuProxy.cpp:

(WebKit::WebContextMenuProxy::WebContextMenuProxy):

  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):

  • UIProcess/WebDataListSuggestionsDropdown.cpp:

(WebKit::WebDataListSuggestionsDropdown::WebDataListSuggestionsDropdown):

  • UIProcess/WebDateTimePicker.cpp:

(WebKit::WebDateTimePicker::WebDateTimePicker):

  • UIProcess/WebEditCommandProxy.cpp:

(WebKit::WebEditCommandProxy::WebEditCommandProxy):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::WebFrameProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::PageClientProtector::PageClientProtector):
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::addObserver):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::getGPUProcessConnection):
(WebKit::WebProcessPool::getWebAuthnProcessConnection):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::createWebPage):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::createSpeechRecognitionServer):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::WeakOrStrongPtr::WeakOrStrongPtr):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::getNetworkProcessConnection):

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::Surface::attachBuffer):
(WebKit::WaylandCompositor::bindSurfaceToWebPage):

  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager _notifyAssertionsOfImminentSuspension]):

  • UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:

(-[WKDataListSuggestionsControl showSuggestionsDropdown:activationType:]):

  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::setImpl):

  • UIProcess/mac/WKRevealItemPresenter.mm:

(-[WKRevealItemPresenter initWithWebViewImpl:item:frame:menuLocation:]):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):

  • UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:

(-[WKDataListSuggestionsController showSuggestionsDropdown:]):

  • UIProcess/mac/WebDateTimePickerMac.mm:

(-[WKDateTimePicker showPicker:]):

  • WebProcess/Automation/WebAutomationDOMWindowObserver.cpp:

(WebKit::WebAutomationDOMWindowObserver::WebAutomationDOMWindowObserver):

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:

(WebKit::m_renderingBackend):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::RemoteResourceCacheProxy::cacheImageBuffer):
(WebKit::RemoteResourceCacheProxy::recordNativeImageUse):

  • WebProcess/GPU/media/AudioTrackPrivateRemote.cpp:

(WebKit::AudioTrackPrivateRemote::AudioTrackPrivateRemote):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):

  • WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:

(WebKit::MediaSourcePrivateRemote::MediaSourcePrivateRemote):

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:

(WebKit::RemoteAudioDestinationProxy::connection):

  • WebProcess/GPU/media/RemoteAudioHardwareListener.cpp:

(WebKit::RemoteAudioHardwareListener::RemoteAudioHardwareListener):

  • WebProcess/GPU/media/RemoteAudioSession.cpp:

(WebKit::RemoteAudioSession::ensureConnection):

  • WebProcess/GPU/media/RemoteAudioSourceProvider.cpp:

(WebKit::RemoteAudioSourceProvider::RemoteAudioSourceProvider):

  • WebProcess/GPU/media/RemoteCDM.cpp:

(WebKit::RemoteCDM::createInstance):

  • WebProcess/GPU/media/RemoteCDMFactory.cpp:

(WebKit::RemoteCDMFactory::createCDM):

  • WebProcess/GPU/media/RemoteCDMInstance.cpp:

(WebKit::RemoteCDMInstance::createSession):

  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:

(WebKit::RemoteImageDecoderAVF::RemoteImageDecoderAVF):

  • WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp:

(WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
(WebKit::RemoteImageDecoderAVFManager::ensureGPUProcessConnection):

  • WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:

(WebKit::RemoteLegacyCDMFactory::createCDM):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):

  • WebProcess/GPU/media/RemoteRemoteCommandListener.cpp:

(WebKit::RemoteRemoteCommandListener::ensureGPUProcessConnection):

  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::SourceBufferPrivateRemote):

  • WebProcess/GPU/media/TextTrackPrivateRemote.cpp:

(WebKit::TextTrackPrivateRemote::TextTrackPrivateRemote):

  • WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:

(WebKit::VideoTrackPrivateRemote::VideoTrackPrivateRemote):

  • WebProcess/GPU/media/cocoa/VideoLayerRemoteCocoa.mm:

(-[WKVideoLayerRemote setMediaPlayerPrivateRemote:]):

  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:

(WebKit::RemoteMediaSessionHelper::ensureConnection):

  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp:

(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::add):

  • WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:

(WebKit::SampleBufferDisplayLayer::SampleBufferDisplayLayer):

  • WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.cpp:

(WebKit::SampleBufferDisplayLayerManager::createLayer):
(WebKit::SampleBufferDisplayLayerManager::addLayer):

  • WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp:
  • WebProcess/Inspector/WebInspectorUIExtensionController.cpp:

(WebKit::WebInspectorUIExtensionController::WebInspectorUIExtensionController):

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::WebSocketChannel):

  • WebProcess/Network/WebSocketChannelManager.cpp:

(WebKit::WebSocketChannelManager::addChannel):

  • WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp:

(WebKit::RTCDataChannelRemoteManager::RemoteHandlerConnection::connectToSource):

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFPluginAccessibilityObject initWithPDFPlugin:andElement:]):
(WebKit::PDFPlugin::PDFPlugin):

  • WebProcess/Plugins/Plugin.cpp:

(WebKit::Plugin::initialize):

  • WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.cpp:

(WebKit::WebDeviceOrientationUpdateProvider::WebDeviceOrientationUpdateProvider):
(WebKit::WebDeviceOrientationUpdateProvider::deviceOrientationChanged):
(WebKit::WebDeviceOrientationUpdateProvider::deviceMotionChanged):

  • WebProcess/WebCoreSupport/WebPermissionController.cpp:

(WebKit::WebPermissionController::WebPermissionController):

  • WebProcess/WebCoreSupport/WebSpeechRecognitionConnection.cpp:

(WebKit::WebSpeechRecognitionConnection::registerClient):

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::setRemoteObjectRegistry):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::drawRect):

  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPC::JSIPC):
(WebKit::IPCTestingAPI::JSMessageListener::JSMessageListener):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:

(WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::updateDrawingArea):

  • WebProcess/WebPage/WebContextMenu.cpp:

(WebKit::WebContextMenu::WebContextMenu):

  • WebProcess/WebPage/WebFrame.cpp:

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

  • WebProcess/WebPage/WebFrame.h:

(WebKit::WebFrame::setLoadListener):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setActiveDataListSuggestionPicker):
(WebKit::WebPage::setActiveDateTimeChooser):
(WebKit::WebPage::startTextManipulations):
(WebKit::WebPage::requestTextRecognition):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::didFinishContentChangeObserving):
(WebKit::WebPage::selectTextWithGranularityAtPoint):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::createPDFHUD):

  • WebProcess/WebStorage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::StorageAreaImpl):

  • WebProcess/cocoa/AudioSessionRoutingArbitrator.cpp:

(WebKit::AudioSessionRoutingArbitrator::AudioSessionRoutingArbitrator):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):

Source/WebKitLegacy:

  • Storage/InProcessIDBServer.cpp:

(storageQuotaManagerSpaceRequester):

  • WebCoreSupport/PageStorageSessionProvider.h:
  • WebCoreSupport/WebBroadcastChannelRegistry.cpp:

(WebBroadcastChannelRegistry::getOrCreate):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCandidatesForSelection):

Source/WTF:

  • wtf/WeakHashMap.h:
  • wtf/WeakHashSet.h:

(WTF::copyToVector):

  • wtf/WeakPtr.h:

(WTF::makeWeakPtr): Deleted.

Tools:

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_callonmainthread):
(process_line):
(check_makeweakptr): Deleted.

  • TestWebKitAPI/Tests/WTF/Observer.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::makeWeakPtr):

5:57 PM Changeset in webkit [284141] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

ASSERT hit in surrogatePairAwareIndex and surrogatePairAwareStart lambdas for text with unpaired surrogates.
https://bugs.webkit.org/show_bug.cgi?id=231606

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-13
Reviewed by Darin Adler and Myles C. Maxfield.

  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::midWordBreak):
Account for unpaired surrogates in TextUtil::MidWordBreak TextUtil::midWordBreak

5:55 PM Changeset in webkit [284140] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 ] fast/scrolling/ios/click-events-during-momentum-scroll-in-overflow.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231714.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
5:49 PM Changeset in webkit [284139] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

HTTP method in web inspector network tab is not what WebKit actually sent after a redirect from POST to GET
https://bugs.webkit.org/show_bug.cgi?id=222558

Source/WebInspectorUI:

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-10-13
Reviewed by Michael Catanzaro.

Test: http/tests/inspector/network/resource-redirect-request-headers.html

For redirects, use the previous request information combined with the new response information to create a
Redirect record.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.updateForRedirectResponse):

LayoutTests:

Patch by Patrick Angle <Patrick Angle> on 2021-10-13
Reviewed by Michael Catanzaro.

Test that redirect requests and responses have the appropriate method and status code and the correct number of
redirect records were created.

  • http/tests/inspector/network/resource-redirect-request-headers-expected.txt: Added.
  • http/tests/inspector/network/resource-redirect-request-headers.html: Added.
5:41 PM Changeset in webkit [284138] by Megan Gardner
  • 12 edits in trunk

Remove adjustForIOSCaretWhenScrolling() code
https://bugs.webkit.org/show_bug.cgi?id=230454

Reviewed by Simon Fraser.

Source/WebCore:

The "adjustForIOSCaretWhenScrolling" code attempted to over-scroll horizontally at the start
or end of an overflow scroll in order to make space for the caret to show. However, it was
wrong in various ways. It always did this, even for scrollers with no visible caret. It was
web-detectable that the scrollX for a scroller could end up as -2. And removing the code
doesn't result in obviously incorrect behavior.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::revealSelection):

  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::scrollTo):
(WebCore::RenderLayerScrollableArea::updateScrollInfoAfterLayout):

  • rendering/RenderLayerScrollableArea.h:

Source/WebKitLegacy/mac:

The "adjustForIOSCaretWhenScrolling" code attempted to over-scroll horizontally at the start
or end of an overflow scroll in order to make space for the caret to show. However, it was
wrong in various ways. It always did this, even for scrollers with no visible caret. It was
web-detectable that the scrollX for a scroller could end up as -2. And removing the code
doesn't result in obviously incorrect behavior.

  • DOM/DOMHTML.mm:

(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):

  • WebView/WebFrame.mm:

(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):

LayoutTests:

Rebase tests with the unified code path.

  • platform/ios-wk2/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/ios-wk2/fast/layers/scroll-rect-to-visible-expected.txt:
  • platform/ios/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/ios/fast/forms/textfield-outline-expected.txt:
5:39 PM Changeset in webkit [284137] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Clearly distinguish serial from concurrent WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=231418
rdar://problem/84021977

Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-10-13
Reviewed by Chris Dumez.

Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.

  • jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • runtime/Watchdog.cpp:

(JSC::Watchdog::Watchdog):

5:18 PM Changeset in webkit [284136] by Simon Fraser
  • 10 edits
    2 adds in trunk/Source/WebCore

Use a ScrollAnimation for rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=231695

Reviewed by Tim Horton.

The animation that runs when rubber-banding (when you momentum-scroll into an edge,
or stretch and release) was code in updateRubberBandAnimatingState(). Repackage
that code as a ScrollAnimation subclass, which allows it to share code with other
types of scroll animation.

ScrollAnimationRubberBand needs to do non-clamped scrolls, so add a way for ScrollAnimations
to state that they allow this.

Standardize the capitalization of RubberBand.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::scrollTo):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::willDoProgrammaticScroll):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopRubberBandAnimation):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopRubberbandSnapAnimation): Deleted.

  • platform/ScrollAnimation.cpp:

(WebCore::operator<<):

  • platform/ScrollAnimation.h:

(WebCore::ScrollAnimation::clamping const):

  • platform/ScrollingEffectsController.cpp:

(WebCore::ScrollingEffectsController::startMomentumScrollWithInitialVelocity): Need to be sure
to stop() any existing animation.
(WebCore::ScrollingEffectsController::scrollAnimationDidUpdate):
(WebCore::ScrollingEffectsController::scrollAnimationWillStart):
(WebCore::ScrollingEffectsController::scrollAnimationDidEnd):

  • platform/ScrollingEffectsController.h:

(WebCore::ScrollingEffectsControllerClient::willStartRubberBandAnimation):
(WebCore::ScrollingEffectsControllerClient::didStopRubberBandAnimation):
(WebCore::ScrollingEffectsControllerClient::willStartRubberBandSnapAnimation): Deleted.
(WebCore::ScrollingEffectsControllerClient::didStopRubberbandSnapAnimation): Deleted.

  • platform/mac/ScrollAnimationRubberBand.h: Added.
  • platform/mac/ScrollAnimationRubberBand.mm: Added.

(elasticDeltaForTimeDelta):
(WebCore::roundTowardZero):
(WebCore::roundToDevicePixelTowardZero):
(WebCore::ScrollAnimationRubberBand::ScrollAnimationRubberBand):
(WebCore::ScrollAnimationRubberBand::startRubberBandAnimation):
(WebCore::ScrollAnimationRubberBand::retargetActiveAnimation):
(WebCore::ScrollAnimationRubberBand::updateScrollExtents):
(WebCore::ScrollAnimationRubberBand::serviceAnimation):

  • platform/mac/ScrollingEffectsController.mm:

(WebCore::ScrollingEffectsController::handleWheelEvent):
(WebCore::ScrollingEffectsController::updateRubberBandAnimatingState):
(WebCore::ScrollingEffectsController::stopRubberBanding):
(WebCore::ScrollingEffectsController::startRubberBandAnimation):
(WebCore::ScrollingEffectsController::stopRubberBandAnimation):
(WebCore::ScrollingEffectsController::willStartRubberBandAnimation):
(WebCore::ScrollingEffectsController::didStopRubberBandAnimation):
(WebCore::ScrollingEffectsController::startRubberBandAnimationIfNecessary):
(WebCore::elasticDeltaForTimeDelta): Deleted.
(WebCore::roundTowardZero): Deleted.
(WebCore::roundToDevicePixelTowardZero): Deleted.
(WebCore::ScrollingEffectsController::stopRubberbanding): Deleted.
(WebCore::ScrollingEffectsController::startRubberbandAnimation): Deleted.
(WebCore::ScrollingEffectsController::stopRubberbandAnimation): Deleted.
(WebCore::ScrollingEffectsController::startRubberbandAnimationIfNecessary): Deleted.

5:09 PM Changeset in webkit [284135] by Jean-Yves Avenard
  • 39 edits in trunk

Clearly distinguish serial from concurrent WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=231418
rdar://problem/84021977

Reviewed by Chris Dumez.

Source/JavaScriptCore:

Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.

  • jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • runtime/Watchdog.cpp:

(JSC::Watchdog::Watchdog):

Source/WebCore:

Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.

Fly-by fix: make use of NeverDestroyed in some methods.

No change in observable behaviour.

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::decodingQueue):

  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::platformApplySoftware):

  • platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:

(WebCore::LibWebRTCAudioModule::LibWebRTCAudioModule):

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSourceMac::MockRealtimeVideoSourceMac):

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::blobUtilityQueue):

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::decodeQueue):

  • storage/StorageQuotaManager.cpp:

(WebCore::StorageQuotaManager::StorageQuotaManager):

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::registrationDatabaseWorkQueue):

Source/WebKit:

Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::videoMediaStreamTrackRendererQueue):
(WebKit::GPUProcess::libWebRTCCodecsQueue):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::Engine):

  • NetworkProcess/cache/NetworkCacheIOChannel.h:
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):

  • NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):

  • NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSyncInThread):
(WebKit::NetworkCache::IOChannel::write):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::Storage):

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCache::Storage::ioQueue):
(WebKit::NetworkCache::Storage::backgroundIOQueue):

  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::Connection::open):

  • Shared/mac/MediaFormatReader/MediaFormatReader.cpp:

(WebKit::readerQueue):

  • Shared/mac/MediaFormatReader/MediaTrackReader.cpp:

(WebKit::MediaTrackReader::storageQueue):

  • UIProcess/API/APIContentRuleListStore.cpp:

(API::ContentRuleListStore::ContentRuleListStore):

  • UIProcess/API/APIContentRuleListStore.h:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::appBoundDomainQueue):

  • WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:

(WebKit::RemoteAudioSourceProviderManager::RemoteAudioSourceProviderManager):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::LibWebRTCCodecs):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):

  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:

(WebKit::RemoteCaptureSampleManager::RemoteCaptureSampleManager):

Source/WTF:

We split the WorkQueue code so that it becomes either a serial or concurrent one.
A concurrent WorkQueue doesn't guarantee the order in which the queued tasks will run.
That makes for a footgun if a consumer took a WorkQueue and was expecting
it to be a serial one.

WorkQueue (serial) and ConcurrentWorkQueue are made to both inherit from WorkQueueBase.
A class should inherit from either the WorkQueue or the ConcurrentWorkQueue class.

The Storage class present in NetworkCacheStore is the only code that was
using a WorkQueue that could be either. For this class we will pass a
WorkQueueBase; use of the base class directly is discouraged.

No change in observable behaviour.

  • wtf/SuspendableWorkQueue.cpp:

(WTF::SuspendableWorkQueue::SuspendableWorkQueue):

  • wtf/WorkQueue.cpp:

(WTF::WorkQueueBase::create): removed
(WTF::WorkQueueBase::WorkQueueBase):
(WTF::WorkQueueBase::~WorkQueueBase):
(WTF::WorkQueue::create):
(WTF::ConcurrentWorkQueue::create):
(WTF::WorkQueueBase::dispatchSync):
(WTF::ConcurrentWorkQueue:apply):

  • wtf/WorkQueue.h:

(WTF::WorkQueueBase::dispatchQueue const):
(WTF::executeFunction): remove unused method declaration.
(WTF::WorkQueue::runLoop const):
(WTF::WorkQueue::WorkQueue):
(WTF::ConcurrentWorkQueue::ConcurrentWorkQueue):

  • wtf/cocoa/WorkQueueCocoa.cpp:

(WTF::WorkQueueBase::dispatch):
(WTF::WorkQueueBase::dispatchAfter):
(WTF::WorkQueueBase::dispatchSync):
(WTF::WorkQueueBase::WorkQueueBase):
(WTF::WorkQueueBase::platformInitialize):
(WTF::WorkQueueBase::platformInvalidate):
(WTF::WorkQueue::WorkQueue):
(WTF::WorkQueue::constructMainWorkQueue):
(WTF::ConcurrentWorkQueue::apply):

  • wtf/generic/WorkQueueGeneric.cpp:

(WorkQueue::WorkQueue):
(WorkQueueBase::WorkQueueBase):
(WorkQueueBase::platformInitialize):
(WorkQueueBase::platformInvalidate):
(WorkQueueBase::dispatch):
(WorkQueueBase::dispatchAfter):

Tools:

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST):

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

[JSC] Update adjusted thread numbers
https://bugs.webkit.org/show_bug.cgi?id=231696

Reviewed by Saam Barati.

This adjusted numbers were empirically obtained at that time.
But after that, we switched bmalloc to libpas in ARM64 macOS
so that we removed scalability bottleneck in concurrent compilers.

We evaluated and adjusted the configuration again.

It improves Speedometer2 by 0.9% and JetStream2 by 0.7%.


| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |


| Elm-TodoMVC |116.361667 |115.145000 |0.989544 | 0.000869 (significant) |
| VueJS-TodoMVC |23.195000 |22.483333 |0.969318 | 0.002243 (significant) |
| EmberJS-TodoMVC |124.720000 |121.211667 |0.971870 | 0.000000 (significant) |
| BackboneJS-TodoMVC |43.923333 |43.771667 |0.996547 | 0.338425 |
| Preact-TodoMVC |16.791667 |17.013333 |1.013201 | 0.337214 |
| AngularJS-TodoMVC |129.860000 |128.475000 |0.989335 | 0.000838 (significant) |
| Vanilla-ES2015-TodoMVC |61.703333 |61.625000 |0.998730 | 0.534118 |
| Inferno-TodoMVC |62.638333 |62.101667 |0.991432 | 0.045766 |
| Flight-TodoMVC |63.878333 |63.723333 |0.997574 | 0.578999 |
| Angular2-TypeScript-TodoMVC |41.601667 |40.015000 |0.961861 | 0.000070 (significant) |
| VanillaJS-TodoMVC |51.065000 |50.830000 |0.995398 | 0.284824 |
| jQuery-TodoMVC |213.223333 |212.976667 |0.998843 | 0.536898 |
| EmberJS-Debug-TodoMVC |333.051667 |331.588333 |0.995606 | 0.032867 |
| React-TodoMVC |82.665000 |82.540000 |0.998488 | 0.542365 |
| React-Redux-TodoMVC |134.823333 |133.665000 |0.991409 | 0.000002 (significant) |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |59.983333 |59.941667 |0.999305 | 0.700077 |


a mean = 271.53654
b mean = 274.08757
pValue = 0.0000000000
(Bigger means are better.)
1.009 times better
Results ARE significant


| subtest | pts | pts | b / a | pValue (significance using False Discovery Rate) |


| gaussian-blur |545.633826 |544.387097 |0.997715 | 0.632889 |
| HashSet-wasm |47.725969 |53.977426 |1.130986 | 0.014208 |
| gcc-loops-wasm |46.592278 |45.484195 |0.976217 | 0.188166 |
| json-parse-inspector |252.822356 |254.060654 |1.004898 | 0.261381 |
| prepack-wtb |60.534710 |60.580410 |1.000755 | 0.932640 |
| date-format-xparb-SP |445.456679 |450.988456 |1.012418 | 0.563115 |
| WSL |1.814989 |1.806757 |0.995464 | 0.035202 |
| OfflineAssembler |191.018184 |191.527453 |1.002666 | 0.512619 |
| cdjs |194.872003 |197.611972 |1.014060 | 0.006522 |
| UniPoker |522.254384 |520.751124 |0.997122 | 0.738800 |
| json-stringify-inspector |272.090046 |269.563607 |0.990715 | 0.156680 |
| crypto-sha1-SP |788.203441 |786.796976 |0.998216 | 0.889433 |
| Basic |705.357988 |704.506995 |0.998794 | 0.851524 |
| chai-wtb |108.246674 |109.283047 |1.009574 | 0.313095 |
| crypto-aes-SP |716.467647 |722.010176 |1.007736 | 0.589988 |
| Babylon |669.393771 |670.186691 |1.001185 | 0.908244 |
| string-unpack-code-SP |400.848798 |397.690936 |0.992122 | 0.379538 |
| stanford-crypto-aes |448.517790 |450.916593 |1.005348 | 0.421547 |
| raytrace |834.526654 |876.061864 |1.049771 | 0.000000 (significant) |
| multi-inspector-code-load |398.195009 |400.638554 |1.006137 | 0.624663 |
| hash-map |588.390020 |593.336508 |1.008407 | 0.032313 |
| stanford-crypto-pbkdf2 |705.031717 |714.947310 |1.014064 | 0.451490 |
| coffeescript-wtb |41.104563 |41.590079 |1.011812 | 0.104485 |
| Box2D |457.517551 |457.676651 |1.000348 | 0.938025 |
| lebab-wtb |63.284589 |63.746412 |1.007298 | 0.021550 |
| tsf-wasm |121.000104 |116.584889 |0.963511 | 0.566993 |
| base64-SP |627.310289 |631.360337 |1.006456 | 0.380323 |
| navier-stokes |717.211598 |715.546883 |0.997679 | 0.776740 |
| jshint-wtb |52.822264 |53.067727 |1.004647 | 0.265734 |
| regex-dna-SP |444.626036 |444.565652 |0.999864 | 0.981250 |
| async-fs |232.138408 |234.088380 |1.008400 | 0.084059 |
| crypto-md5-SP |738.555352 |739.048809 |1.000668 | 0.936794 |
| first-inspector-code-load |272.911902 |274.186589 |1.004671 | 0.223172 |
| segmentation |53.421830 |53.253527 |0.996850 | 0.488595 |
| typescript |26.619459 |26.404921 |0.991941 | 0.021613 |
| octane-code-load |1229.345392 |1238.504125 |1.007450 | 0.273224 |
| float-mm.c |17.443005 |17.474949 |1.001831 | 0.160549 |
| quicksort-wasm |472.609429 |490.175315 |1.037168 | 0.134603 |
| Air |420.285523 |422.507814 |1.005288 | 0.535574 |
| splay |472.850630 |484.805521 |1.025283 | 0.202943 |
| ai-astar |663.547782 |684.429114 |1.031469 | 0.035910 |
| acorn-wtb |68.978436 |69.675311 |1.010103 | 0.085505 |
| gbemu |159.998563 |154.256612 |0.964112 | 0.052665 |
| richards |957.006036 |970.082604 |1.013664 | 0.080437 |
| 3d-cube-SP |539.329388 |548.346324 |1.016719 | 0.126931 |
| espree-wtb |71.026174 |72.950691 |1.027096 | 0.005430 |
| bomb-workers |100.837095 |102.616328 |1.017645 | 0.024650 |
| tagcloud-SP |293.735729 |295.721652 |1.006761 | 0.604433 |
| mandreel |150.843346 |151.169263 |1.002161 | 0.406810 |
| 3d-raytrace-SP |503.282797 |508.519569 |1.010405 | 0.330728 |
| delta-blue |1064.779647 |1085.099791 |1.019084 | 0.111789 |
| ML |143.453624 |144.404535 |1.006629 | 0.054459 |
| regexp |465.598651 |469.139986 |1.007606 | 0.040131 |
| crypto |1534.715604 |1518.978823 |0.989746 | 0.398916 |
| richards-wasm |144.325337 |144.296964 |0.999803 | 0.993066 |
| earley-boyer |831.216095 |862.902139 |1.038120 | 0.089284 |
| octane-zlib |27.146237 |27.203847 |1.002122 | 0.668749 |
| date-format-tofte-SP |390.913746 |391.453527 |1.001381 | 0.837893 |
| n-body-SP |1142.063928 |1139.347984 |0.997622 | 0.764020 |
| pdfjs |183.711632 |185.851180 |1.011646 | 0.144519 |
| FlightPlanner |908.621057 |901.866743 |0.992566 | 0.434806 |
| uglify-js-wtb |34.644842 |34.797497 |1.004406 | 0.126209 |
| babylon-wtb |82.702004 |83.505631 |1.009717 | 0.092402 |
| stanford-crypto-sha256 |810.898597 |810.480366 |0.999484 | 0.943677 |


a mean = 242.30806
b mean = 243.91901
pValue = 0.0014473755
(Bigger means are better.)
1.007 times better
Results ARE significant

  • runtime/Options.cpp:

(JSC::overrideDefaults):

4:00 PM Changeset in webkit [284133] by Ryan Haddad
  • 8 edits in trunk/Tools

Disable failing API tests
https://bugs.webkit.org/show_bug.cgi?id=231700

Unreviewed test gardening.

  • TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDoesNotLogDuringInitialization.mm:
  • TestWebKitAPI/Tests/ios/WKWebViewPausePlayingAudioTests.mm:
3:52 PM Changeset in webkit [284132] by Adrian Perez de Castro
  • 4 edits in trunk/Source

[GTK] Opening emoji chooser crashes UI process with GTK 3.24.30
https://bugs.webkit.org/show_bug.cgi?id=228664

Reviewed by Michael Catanzaro.

Instead of providing a copy of the emoji chooser widget, use GLib's
introspection features and a little sprinkle of knowledge about how
GTK works in order to obtain the type code of the GtkEmojiChooser
widget included with GTK. This ensures that a working widget is
always used, regardless of the current GTK version.

No new tests needed.

  • UIProcess/API/gtk/WebKitEmojiChooser.cpp:

(webkitEmojiChooserNew):
(): Deleted.
(webkitEmojiChooserAddEmoji): Deleted.
(webkitEmojiChooserAddRecentItem): Deleted.
(emojiActivated): Deleted.
(emojiDataHasVariations): Deleted.
(webkitEmojiChooserShowVariations): Deleted.
(emojiLongPressed): Deleted.
(emojiPressed): Deleted.
(emojiPopupMenu): Deleted.
(verticalAdjustmentChanged): Deleted.
(webkitEmojiChooserSetupSectionBox): Deleted.
(scrollToSection): Deleted.
(webkitEmojiChooserSetupSectionButton): Deleted.
(webkitEmojiChooserSetupRecent): Deleted.
(webkitEmojiChooserEnsureEmptyResult): Deleted.
(webkitEmojiChooserSearchChanged): Deleted.
(webkitEmojiChooserSetupFilters): Deleted.
(webkitEmojiChooserSetupEmojiSections): Deleted.
(webkitEmojiChooserInitializeEmojiMaxWidth): Deleted.
(webkitEmojiChooserConstructed): Deleted.
(webkitEmojiChooserShow): Deleted.
(webkit_emoji_chooser_class_init): Deleted.

  • UIProcess/API/gtk/WebKitEmojiChooser.h:
3:47 PM Changeset in webkit [284131] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WTF

Enable FileSystemAccess and AccessHandle by default
https://bugs.webkit.org/show_bug.cgi?id=231677

Reviewed by Youenn Fablet.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
3:45 PM Changeset in webkit [284130] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ Windows EWS ] js/dom & js/dfg- tests are a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=231703

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:16 PM Changeset in webkit [284129] by commit-queue@webkit.org
  • 20 edits
    3 copies
    4 moves in trunk/Source/WebKit

Prepare adattributiond Connection and IPC code for reuse with webpushd
https://bugs.webkit.org/show_bug.cgi?id=231680

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-13
Reviewed by Brady Eidson.

I move Connection, Encoder, and Decoder out of namespace PCM and into namespace Daemon and keep the PCM parts in PCM::Connection.
I remove an unnecessary memory copy by using a Span instead of a Vector for decoding.
I make ConnectionToMachService a template to be used with a different communication protocol for communicating with webpushd.

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:

(WebKit::PCM::Connection::Connection):
(WebKit::PCM::ConnectionToMachService::ConnectionToMachService): Deleted.
(WebKit::PCM::ConnectionToMachService::send const): Deleted.
(WebKit::PCM::ConnectionToMachService::sendWithReply const): Deleted.

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h:

(WebKit::PCM::Connection::Connection): Deleted.
(WebKit::PCM::Connection::get const): Deleted.

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.cpp:

(WebKit::PCM::MessageInfo::toStringForTesting::encodeReply):
(WebKit::PCM::handlePCMMessage):
(WebKit::PCM::handlePCMMessageSetDebugModeIsEnabled):
(WebKit::PCM::handlePCMMessageWithReply):
(WebKit::PCM::decodeMessageAndSendToManager):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.cpp:

(WebKit::PCM::ManagerProxy::sendMessage const):
(WebKit::PCM::ReplyCaller<>::callReply):
(WebKit::PCM::ReplyCaller<String>::callReply):
(WebKit::PCM::ManagerProxy::sendMessageWithReply const):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.h:
  • NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm:

(WebKit::PCM::Connection::newConnectionWasInitialized const):
(WebKit::PCM::Connection::connectionReceivedEvent const):
(WebKit::PCM::Connection::dictionaryFromMessage const):
(WebKit::PCM::ConnectionToMachService::initializeConnectionIfNeeded const): Deleted.
(WebKit::PCM::ConnectionToMachService::sendDebugModeIsEnabledMessageIfNecessary const): Deleted.
(WebKit::PCM::ConnectionToMachService::checkForDebugMessageBroadcast const): Deleted.
(WebKit::PCM::dictionaryFromMessage): Deleted.
(WebKit::PCM::Connection::send const): Deleted.
(WebKit::PCM::Connection::sendWithReply const): Deleted.
(WebKit::PCM::ConnectionToMachService::send const): Deleted.
(WebKit::PCM::ConnectionToMachService::sendWithReply const): Deleted.

  • Platform/IPC/ArgumentCoders.cpp:
  • Platform/IPC/DaemonConnection.cpp: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementEncoder.cpp.

(WebKit::Daemon::ConnectionToMachService<Traits>::send const):
(WebKit::Daemon::ConnectionToMachService<Traits>::sendWithReply const):

  • Platform/IPC/DaemonConnection.h: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h.

(WebKit::Daemon::Connection::Connection):
(WebKit::Daemon::Connection::get const):
(WebKit::Daemon::ConnectionToMachService::ConnectionToMachService):

  • Platform/IPC/DaemonDecoder.cpp: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDecoder.cpp.
  • Platform/IPC/DaemonDecoder.h: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDecoder.h.

(WebKit::Daemon::Decoder::Decoder):

  • Platform/IPC/DaemonEncoder.cpp: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementEncoder.cpp.
  • Platform/IPC/DaemonEncoder.h: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementEncoder.h.
  • Platform/IPC/cocoa/DaemonConnectionCocoa.mm: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm.

(WebKit::Daemon::Connection::send const):
(WebKit::Daemon::Connection::sendWithReply const):
(WebKit::Daemon::ConnectionToMachService<Traits>::initializeConnectionIfNeeded const):
(WebKit::Daemon::ConnectionToMachService<Traits>::send const):
(WebKit::Daemon::ConnectionToMachService<Traits>::sendWithReply const):

  • Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonConnectionSet.h:
  • Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonConnectionSet.mm:

(WebKit::PCM::DaemonConnectionSet::setConnectedNetworkProcessHasDebugModeEnabled):

  • Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:

(WebKit::connectionEventHandler):

  • Shared/cf/ArgumentCodersCF.cpp:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<WebCore::CertificateInfo>::encode):
(IPC::ArgumentCoder<WebCore::CertificateInfo>::decode):

  • Sources.txt:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
3:09 PM Changeset in webkit [284128] by Jonathan Bedard
  • 11 edits in trunk/Tools

[webkitscmpy] List reviewers for pull-request
https://bugs.webkit.org/show_bug.cgi?id=231577
<rdar://problem/84146807>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:

(BitBucket.request): Add state to created pull-reqest.

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

(GitHub):
(GitHub._users): Vend json representation of user for username.
(GitHub.request): Filter review details, add users endpoint.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.main): Match both closed and opened pull-requests.

  • Scripts/libraries/webkitscmpy/webkitscmpy/pull_request.py:

(PullRequest): Remove state.
(PullRequest.init): Add opened flag, reviewers and generator.
(PullRequest.reviewers): List the users who are reviewing this change.
(PullRequest.approvers): List the users who have aproved this change.
(PullRequest.blockers): List the users that are blocking this change from landing.
(PullRequest.opened): Check the pull-request is opened.
(PullRequest.State): Deleted.

  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:

(BitBucket.PRGenerator.PullRequest): Set opened flag, specify reviewers.
(BitBucket.PRGenerator.find): Filter by opened flag instead of state.
(BitBucket.PRGenerator.update): Set generator.
(BitBucket.PRGenerator.reviewers): Set reviewer lists.

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

(GitHub.PRGenerator.PullRequest): Set opened flag, pass generator.
(GitHub.PRGenerator.find): Filter by opened flag instead of state.
(GitHub.PRGenerator.update): Set generator and opened flag.
(GitHub.PRGenerator._contributor): Find contributor matching username.
(GitHub.PRGenerator.reviewers): Populate lists of reviewers for a pull-request.

  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:

(Scm.PRGenerator.find): Filter via opened flag instead of state.
(Scm.PRGenerator.reviewers): Function which populates reviewer lists for a pull-request.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
2:40 PM Changeset in webkit [284127] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[LFC][IFC] Preserved tab is not a word separator
https://bugs.webkit.org/show_bug.cgi?id=231687

Reviewed by Antti Koivisto.

Source/WebCore:

The 'tab' character is not considered a word separator in the word-spacing sense. When the preserved whitespace sequence
has the mix of word separators (regular space) and non-separators, we use incorrect 'x' position to compute the width of the 'tab' character (tab width is position sensitive).
This patch fixes it by splitting the whitespace sequence at word-separator boundary (e.g [space][space][tab] will produce 2 individual InlineTextItems [space][space] and [tab]).

Test: fast/text/preserved-white-space-with-word-spacing.html

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::candidateContentForLine):

  • layout/formattingContexts/inline/InlineTextItem.cpp:

(WebCore::Layout::moveToNextNonWhitespacePosition):
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):

LayoutTests:

  • fast/text/preserved-white-space-with-word-spacing-expected.html: Added.
  • fast/text/preserved-white-space-with-word-spacing.html: Added.
2:37 PM Changeset in webkit [284126] by Jean-Yves Avenard
  • 5 edits in trunk/LayoutTests

Add mp3 and aac web audio test
https://bugs.webkit.org/show_bug.cgi?id=231643
rdar://problem/84178398

Add MP3 / AAC webaudio decodeAudioData tests.
Existing tests were disabled by default, likely due to
https://bugs.webkit.org/show_bug.cgi?id=230974

Reviewed by Eric Carlson.

  • platform/mac/TestExpectations:
  • platform/wk2/TestExpectations:
  • webaudio/decode-audio-data-basic-expected.txt:
  • webaudio/decode-audio-data-basic.html:
2:33 PM Changeset in webkit [284125] by Kyle Piddington
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Upstream ANGLE: PrimitiveRestart tests fail due to incorrect draw commands
https://bugs.webkit.org/show_bug.cgi?id=231626
<rdar:/problem/84167241>

Primitive restart draw commands were being encoded
incorrectly. Single element ranges were being disregarded,
and a maximum draw size was not being enforced when the
index buffer was aliased / reused.

Cherry-pick from upstream anglebug.com/6535

Reviewed by Kenneth Russell.

  • src/libANGLE/renderer/metal/VertexArrayMtl.mm:

(rx::VertexArrayMtl::getDrawIndices):

1:46 PM Changeset in webkit [284124] by sihui_liu@apple.com
  • 16 edits
    5 adds in trunk

Implement FileSystemHandle move()
https://bugs.webkit.org/show_bug.cgi?id=231676
<rdar://problem/84199823>

Reviewed by Youenn Fablet.

Source/WebCore:

Provide a way to move an existing file to a new place in Origin Private File System.

Tests: storage/filesystemaccess/handle-move-worker.html

storage/filesystemaccess/handle-move.html

  • Modules/filesystemaccess/FileSystemHandle.cpp:

(WebCore::FileSystemHandle::move):

  • Modules/filesystemaccess/FileSystemHandle.h:
  • Modules/filesystemaccess/FileSystemHandle.idl:
  • Modules/filesystemaccess/FileSystemStorageConnection.h:
  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:

(WebCore::WorkerFileSystemStorageConnection::move):

  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:

Source/WebKit:

  • NetworkProcess/storage/FileSystemStorageHandle.cpp:

(WebKit::isValidFileName):
(WebKit::FileSystemStorageHandle::requestCreateHandle):
(WebKit::FileSystemStorageHandle::removeEntry):
(WebKit::FileSystemStorageHandle::move):

  • NetworkProcess/storage/FileSystemStorageHandle.h:
  • NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::move):

  • NetworkProcess/storage/NetworkStorageManager.h:
  • NetworkProcess/storage/NetworkStorageManager.messages.in:
  • WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:

(WebKit::WebFileSystemStorageConnection::move):

  • WebProcess/WebCoreSupport/WebFileSystemStorageConnection.h:

LayoutTests:

  • storage/filesystemaccess/handle-move-expected.txt: Added.
  • storage/filesystemaccess/handle-move-worker-expected.txt: Added.
  • storage/filesystemaccess/handle-move-worker.html: Added.
  • storage/filesystemaccess/handle-move.html: Added.
  • storage/filesystemaccess/resources/handle-move.js: Added.

(finishTest):
(async test):

1:46 PM Changeset in webkit [284123] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:
1:35 PM Changeset in webkit [284122] by Wenson Hsieh
  • 9 edits in trunk/Source

Support both VK and VKC-prefixed SPI when softlinking VisionKitCore classes
https://bugs.webkit.org/show_bug.cgi?id=231683
rdar://83744729

Reviewed by Tim Horton.

Source/WebCore/PAL:

See WebKit/ChangeLog for more details.

  • pal/cocoa/VisionKitCoreSoftLink.h:
  • pal/cocoa/VisionKitCoreSoftLink.mm:

Source/WebKit:

Several SPI classes in VisionKitCore are going to be renamed to be prefixed with VKC- rather than VK-, with a
@compatibility_alias for the existing SPI names. Refactor Live Text support in WebKit to be both binary and
source compatible with this future version of VisionKitCore, by checking for the existence of both class names
when softlinking VKImageAnalyzer and VKImageAnalyzerRequest. See below for more details.

  • Platform/cocoa/TextRecognitionUtilities.h:
  • Platform/cocoa/TextRecognitionUtilities.mm:

(WebKit::hasVisionKitCorePrefixedClasses):
(WebKit::createImageAnalyzer):
(WebKit::createImageAnalyzerRequest):

Instead of calling into PAL softlinking functions to allocate VKImageAnalyzer, put this logic behind a helper
function in TextRecognitionUtilities, which knows how to check for either class.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::ensureImageAnalyzer):
(WebKit::createImageAnalyzerRequest):
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::computeHasImageAnalysisResults):
(WebKit::createImageAnalysisRequest): Deleted.

Use the helper functions declared in TextRecognitionUtilities.h.

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

(-[WKContentView imageAnalyzer]):
(-[WKContentView createImageAnalyzerRequest:image:imageURL:]):
(-[WKContentView createImageAnalyzerRequest:image:]):
(-[WKContentView requestTextRecognition:imageData:completionHandler:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
(-[WKContentView createImageAnalysisRequest:image:imageURL:]): Deleted.
(-[WKContentView createImageAnalysisRequest:image:]): Deleted.

Use the helper functions declared in TextRecognitionUtilities.h, instead of using PAL softlinking directly. We
also refactor this code to pass a CGImageRef instead of a UIImage when initializing the image analyzer request,
such that the helper functions can work across macOS and iOS.

Also rename createImageAnalysisRequest to createImageAnalyzerRequest for consistency with the class name.

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

Skip fallbackFontsForRunWithIterator for empty runs
https://bugs.webkit.org/show_bug.cgi?id=231542

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-13
Reviewed by Alan Bujtas.

  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::fallbackFontsForRun):

12:13 PM Changeset in webkit [284120] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unused ElementTraversal.h include from HTMLDialogElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=231691

Reviewed by Simon Fraser.

Added it with <dialog> focusing steps (bug 227537), forgot to remove when I switched to
descendantsOfType in the same bug.

  • html/HTMLDialogElement.cpp:
12:05 PM Changeset in webkit [284119] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Restrict "darwin-notification-post" to a minimal set in the WP sandbox
https://bugs.webkit.org/show_bug.cgi?id=231594
<rdar://66586792>

Reviewed by Brent Fulgham.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
11:54 AM Changeset in webkit [284118] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

Update test expectations for fast/events/ios/dom-update-on-keydown-quirk.html.
https://bugs.webkit.org/show_bug.cgi?id=230509.

Unreviewed test gardening.

  • platform/ios-14-wk2/TestExpectations:
  • platform/ios-wk2/TestExpectations:
11:39 AM Changeset in webkit [284117] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ Windows EWS ] fast/text/hanging-punctuation-allow-end-basic.html is image failing.
https://bugs.webkit.org/show_bug.cgi?id=231690

Unreviewed test gardening.

  • platform/win/TestExpectations:
11:33 AM Changeset in webkit [284116] by ntim@apple.com
  • 16 edits
    1 add in trunk

Implement <dialog> focusing steps
https://bugs.webkit.org/show_bug.cgi?id=227537

Reviewed by Darin Adler.

https://html.spec.whatwg.org/multipage/interactive-elements.html#dialog-focusing-steps

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-just-once-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-multiple-times-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-input-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-select-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-prevent-autofocus-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/show-modal-focusing-steps-expected.txt:

Source/WebCore:

  • dom/Document.h:

(WebCore::Document::flushAutofocusCandidates):
(WebCore::Document::clearAutofocusCandidates):

  • html/HTMLDialogElement.cpp:

(WebCore::HTMLDialogElement::show):
(WebCore::HTMLDialogElement::showModal):
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::runFocusingSteps):

  • html/HTMLDialogElement.h:

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-select-expected.txt: Added (test_driver.send_keys not working on iOS)
11:28 AM AnalyzingBuildPerformance edited by jer.noble@apple.com
(diff)
11:05 AM Changeset in webkit [284115] by Aditya Keerthi
  • 20 edits
    1 move
    15 adds
    1 delete in trunk

[macOS] Add support for accent-color
https://bugs.webkit.org/show_bug.cgi?id=231464
rdar://84049511

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

Renamed 'not-ref' to 'expected-mismatch' so that the test is run as
expected.

  • web-platform-tests/css/css-ui/accent-color-checkbox-checked-001.tentative-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-ui/accent-color-checkbox-checked-001-notref.html.
  • web-platform-tests/css/css-ui/accent-color-checkbox-checked-001.tentative-expected.html: Removed.

Source/WebCore:

Enable customizing the tint color of checkboxes, radio buttons, select
elements and progress elements using the 'accent-color' property.

accent-color support on macOS is implemented by setting the tintColor
of the current NSAppearance prior to painting controls. This approach
is already used to support dark mode, and is now extended to support
accent-color.

Note that <input type=range> does not support accent-color as the
current style is non-native. In order to support accent-color, the
design of the control must first be updated. Similarly, the <datalist>
indicator is not painted using native API, and does not currently
support accent-color.

Tests: fast/css/accent-color/checkbox.html

fast/css/accent-color/datalist.html
fast/css/accent-color/progress.html
fast/css/accent-color/radio.html
fast/css/accent-color/range.html
fast/css/accent-color/select.html
fast/css/accent-color/text.html

  • platform/Theme.cpp:

(WebCore::Theme::paint):

  • platform/Theme.h:
  • platform/adwaita/ThemeAdwaita.cpp:

(WebCore::ThemeAdwaita::paint):

  • platform/adwaita/ThemeAdwaita.h:
  • platform/mac/LocalDefaultSystemAppearance.h:

(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):

Add a tintColor (optional) parameter to tint the appearance.

  • platform/mac/LocalDefaultSystemAppearance.mm:

(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):

Use NSAppearance SPI to set the tint color of the current appearance.

If the tint color is invalid (accent-color: auto) no tint color is set,
resulting in the system/app default color being used.

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::paint):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):

  • rendering/RenderThemeAdwaita.cpp:

(WebCore::RenderThemeAdwaita::paintMenuList):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::effectiveAccentColor const):

Resolve the specified accent-color to one that is usable by the theme.
'auto' resolves to an invalid color so that the system (or app) default
may be used.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::effectiveAccentColor const):
(WebCore::RenderStyle::accentColor const):
(WebCore::RenderStyle::hasAutoAccentColor const):

Source/WebCore/PAL:

  • pal/spi/mac/NSAppearanceSPI.h:

LayoutTests:

Added ref tests for accent-color. These are not WPT, since the spec does
not specify which controls accent-color applies to.

  • TestExpectations:
  • fast/css/accent-color/checkbox-expected-mismatch.html: Added.
  • fast/css/accent-color/checkbox.html: Added.
  • fast/css/accent-color/datalist-expected-mismatch.html: Added.
  • fast/css/accent-color/datalist.html: Added.
  • fast/css/accent-color/progress-expected-mismatch.html: Added.
  • fast/css/accent-color/progress.html: Added.
  • fast/css/accent-color/radio-expected-mismatch.html: Added.
  • fast/css/accent-color/radio.html: Added.
  • fast/css/accent-color/range-expected-mismatch.html: Added.
  • fast/css/accent-color/range.html: Added.
  • fast/css/accent-color/select-expected-mismatch.html: Added.
  • fast/css/accent-color/select.html: Added.
  • fast/css/accent-color/text-expected.html: Added.
  • fast/css/accent-color/text.html: Added.
  • platform/mac/TestExpectations:
11:04 AM Changeset in webkit [284114] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

[ iOS15 Catalina Debug ] requestidlecallback/requestidlecallback-document-gc.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=231684.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
11:02 AM Changeset in webkit [284113] by Russell Epstein
  • 1 copy in tags/Safari-612.2.9.0.20

Tag Safari-612.2.9.0.20.

11:02 AM Changeset in webkit [284112] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

[LFC][Integration] Move text box logical order cache to the caller
https://bugs.webkit.org/show_bug.cgi?id=231669

Reviewed by Alan Bujtas.

Don't maintain this rarely used cache internally in the iterator. Instead move it to the caller.

Also make the code non-legacy specific so it will work with future IFC BiDi.

  • dom/Position.cpp:

(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
(WebCore::searchAheadForBetterMatch):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::deleteInsignificantText):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextRun):
(WebCore::TextIterator::revertToRemainingTextRun):
(WebCore::TextIterator::handleTextNodeFirstLetter):

  • editing/TextIterator.h:
  • layout/integration/InlineIteratorBoxLegacyPath.h:

(WebCore::InlineIterator::BoxLegacyPath::traverseNextTextBox):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextTextBoxInTextOrder): Deleted.

  • layout/integration/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::traverseNextTextBoxInTextOrder): Deleted.

  • layout/integration/InlineIteratorTextBox.cpp:

(WebCore::InlineIterator::firstTextBoxInLogicalOrderFor):
(WebCore::InlineIterator::nextTextBoxInLogicalOrder):

Traverse using free functions instead of members.

(WebCore::InlineIterator::TextBox::nextTextBoxInTextOrder const): Deleted.
(WebCore::InlineIterator::TextBoxIterator::traverseNextTextBoxInTextOrder): Deleted.
(WebCore::InlineIterator::firstTextBoxInTextOrderFor): Deleted.

  • layout/integration/InlineIteratorTextBox.h:
  • rendering/LegacyInlineTextBox.h:

(WebCore::LegacyInlineTextBox::compareByStart): Deleted.

  • rendering/RenderText.cpp:

(WebCore::containsOffset):

11:02 AM Changeset in webkit [284111] by Russell Epstein
  • 1 delete in tags/Safari-612.2.9.0.20

Delete tag.

11:01 AM Changeset in webkit [284110] by Russell Epstein
  • 8 edits in branches/safari-612.2.9.0-branch/Source

Versioning.

WebKit-7612.2.9.0.20

10:57 AM Changeset in webkit [284109] by Russell Epstein
  • 1 copy in tags/Safari-612.2.9.1.20

Tag Safari-612.2.9.1.20.

10:57 AM Changeset in webkit [284108] by Russell Epstein
  • 1 delete in tags/Safari-612.2.9.1.20

Delete tag.

10:56 AM Changeset in webkit [284107] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

[LFC][Integration] Add concept of integration root and stop using InitialContainingBlock
https://bugs.webkit.org/show_bug.cgi?id=231662

Reviewed by Alan Bujtas.

Stop using InitialContainingBlock in integration as it makes no logical sense.

(WebCore::LayoutIntegration::BoxTree::BoxTree):

Set the IntegrationBlockContainer flag.

(WebCore::LayoutIntegration::BoxTree::updateStyle):
(WebCore::LayoutIntegration::rootBoxStyle): Deleted.

  • layout/integration/LayoutIntegrationBoxTree.h:

(WebCore::LayoutIntegration::BoxTree::rootLayoutBox const):
(WebCore::LayoutIntegration::BoxTree::rootLayoutBox):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::establishesBlockFormattingContext const):

An integration block container without a parent establishes a block formatting context.

(WebCore::Layout::Box::isBlockContainer const):

  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::setIsIntegrationBlockContainer):

Add a flag.

10:55 AM Changeset in webkit [284106] by Russell Epstein
  • 8 edits in branches/safari-612.2.9.1-branch/Source

Versioning.

WebKit-7612.2.9.1.20

10:51 AM Changeset in webkit [284105] by Russell Epstein
  • 1 copy in tags/Safari-612.2.9.0.20

Tag Safari-612.2.9.0.20.

10:50 AM Changeset in webkit [284104] by Russell Epstein
  • 1 copy in tags/Safari-612.2.9.1.20

Tag Safari-612.2.9.1.20.

10:49 AM Changeset in webkit [284103] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC][32bit] Fix wrong branchAdd32 assembly for ARMv7
https://bugs.webkit.org/show_bug.cgi?id=231362

Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-10-13
Reviewed by Yusuke Suzuki.

After the unlinked baseline jit was merged, a new branchAdd32 method
needed to be implemented for ARMv7, however, the first version
submitted by me used the add32 method to perform the add before
branching.

In this patch, we fix the call to add32 by adding a new private method
add32Impl with an optional parameter that selects either add or adds,
make branchAdd32 call the adds version.

(Patch co-authored with Geza Lore)

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::branchAdd32):

10:28 AM Changeset in webkit [284102] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit

WebGL video texture upload is very slow due to excessive transfer of the video pixel buffer
https://bugs.webkit.org/show_bug.cgi?id=231425

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-13
Reviewed by Youenn Fablet.

Typical WebGL content requests the videos to be uploaded to a texture
once per render loop update, even though the video has not changed.
The video pixel buffer is slow to transfer across IPC. It should be transferred
only when it has changed.

MediaPlayerPrivateAVFoundationObjC and MediaPlayerPrivateMediaSourceAVFObjC hold
the last requested pixel buffer ref. They will update it or discard it only
when pixelBufferForCurrentTime() is called.

Cache the pixel buffer to MediaPlayerPrivateRemote (GPUP side proxy)
Cache the pixel buffer to RemoteMediaPlayerProxy (WebP side proxy)

The caches increase the total memory use only during the duration
of the call, since after the ref has been updated, it refers
to the one always held in the original objects (MediaPlayerPrivateAVFoundationObjC
and MediaPlayerPrivateMediaSourceAVFObjC)

No new tests, fixes a perf regression wrt GPUP media.

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::invalidate):

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

(WebKit::RemoteMediaPlayerProxy::nativeImageForCurrentTime):
(WebKit::RemoteMediaPlayerProxy::pixelBufferForCurrentTimeIfChanged):
(WebKit::RemoteMediaPlayerProxy::pixelBufferForCurrentTime): Deleted.

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

(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):

10:20 AM Changeset in webkit [284101] by Chris Dumez
  • 3 edits
    2 adds in trunk

MessagePort messages sent in iframe unload event not received
https://bugs.webkit.org/show_bug.cgi?id=231167
<rdar://problem/84095357>

Reviewed by Alex Christensen.

Source/WebCore:

When removing an iframe from the document, frameDetached() was stopping all ActiveDOMObjects
before firing the "unload" event instead of after. As a result, MessagePorts would be closed
before the "unload" event handler had a chance to run and any attempt to post messages on
MessagePorts then would fail.

Test: fast/frames/message-port-postMessage-unload-event.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::frameDetached):

LayoutTests:

Add layout test coverage.

  • fast/frames/message-port-postMessage-unload-event-expected.txt: Added.
  • fast/frames/message-port-postMessage-unload-event.html: Added.
10:03 AM Changeset in webkit [284100] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS MacOS wk2 Release ] 2 fast/canvas tests are flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=231681

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
10:00 AM Changeset in webkit [284099] by pvollan@apple.com
  • 2 edits
    1 add in trunk/Source/WebKit

[iOS] Stop including 'util.sb' in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=231570
<rdar://problem/84143956>

Reviewed by Brent Fulgham.

This is a step towards being able to test-compile the sandbox on Open Source builders.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Shared/Sandbox/util.sb: Added.
9:59 AM Changeset in webkit [284098] by Aditya Keerthi
  • 39 edits in trunk

Unprefix -webkit-appearance
https://bugs.webkit.org/show_bug.cgi?id=231534
rdar://84112934

Reviewed by Wenson Hsieh.

LayoutTests/imported/w3c:

Mark progressions.

The remaining test failures deal with <compat-auto> keywords and will
be addressed on a case-by-case basis.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • web-platform-tests/css/css-ui/appearance-initial-value-001-expected.txt:
  • web-platform-tests/css/css-ui/appearance-parsing-expected.txt:
  • web-platform-tests/css/css-ui/appearance-property-expected.txt:
  • web-platform-tests/css/css-ui/appearance-serialization-expected.txt:
  • web-platform-tests/css/css-ui/inheritance-expected.txt:
  • web-platform-tests/css/css-ui/webkit-appearance-parsing-expected.txt:
  • web-platform-tests/css/css-ui/webkit-appearance-property-expected.txt:
  • web-platform-tests/css/css-ui/webkit-appearance-serialization-expected.txt:
  • web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:

Source/WebCore:

Make '-webkit-appearance' a parse time alias of 'appearance', as
specified in https://www.w3.org/TR/css-ui-4/#appearance-switching.

The remaining test failures deal with <compat-auto> keywords and
non-standard values. For example, we cannot remove '-apple-pay-button'
as a valid value, since sites use it to render an Apple Pay button.
Remaining failures will be addressed on a case-by-case basis to avoid
compatibility issues. Note that this is an open spec issue (Issue 7 on
the spec linked above).

Most importantly, this change allows authors to use 'appearance: none'
and 'appearance: auto' to control the appearance of widgets.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

LayoutTests:

Mark two tests ref tests as failing. These tests were incorrectly passing
due to lack of support for 'appearance'. The tests use <compat-auto> values
which we do not yet support due to compat risk with internal apps. These
tests will be addressed on a case-by-case basis.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • platform/glib/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/glib/svg/css/getComputedStyle-basic-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
  • platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios/svg/css/getComputedStyle-basic-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/mac/svg/css/getComputedStyle-basic-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
9:54 AM Changeset in webkit [284097] by Simon Fraser
  • 5 edits in trunk

[WK1] Tests for smooth scrolling of a window fail
https://bugs.webkit.org/show_bug.cgi?id=191357

Reviewed by Sam Weinig.
Source/WebCore:

The scrolling functions around ScrollView are a maze of twisty passages, with no clear
bottleneck functions, and aliasing of scroll position between ScrollableArea, ScrollAnimator
and the platform widget in WK1.

Fallout from this was that animation-driven scrolling, which ends up in
ScrollView::scrollTo(), did nothing if there was a platform widget.

In addition, there was no feedback that updated ScrollAnimator's notion of scroll position
when the platform widget scrolled, causing repeated animated scrolls to fail.

Cleaning up the mess will take time; for now, just patch ScrollView::scrollTo() to do
something if there's a platform widget, and have ScrollView::scrollOffsetChangedViaPlatformWidget()
push the new position to the scroll animator.

Tested by tests in imported/w3c/web-platform-tests/css/cssom-view/

  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollOffsetChangedViaPlatformWidget):
(WebCore::ScrollView::scrollTo):
(WebCore::ScrollView::setScrollPosition):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollPositionChanged): Just some auto.

LayoutTests:

Some cssom-view tests pass now in WK1.

  • platform/mac-wk1/TestExpectations:
9:47 AM Changeset in webkit [284096] by ap@apple.com
  • 70 edits in trunk/Source

Invoke build scripts with python3 explicitly
https://bugs.webkit.org/show_bug.cgi?id=231587

Reviewed by Jonathan Bedard.

Much of the work to support Python 3 was done years ago, but we need this to
actually use Python 3 on macOS.

Source/JavaScriptCore:

Python 3 no longer raises ValueError on relative module import failure, so changed
that to the correct ImportError.

  • DerivedSources.make:
  • Scripts/UpdateContents.py:
  • Scripts/cssmin.py:
  • Scripts/generate-combined-inspector-json.py:
  • Scripts/generate-js-builtins.py:
  • Scripts/inline-and-minify-stylesheets-and-scripts.py:
  • Scripts/lazywriter.py:
  • Scripts/make-js-file-arrays.py:
  • Scripts/wkbuiltins/builtins_generate_combined_header.py:
  • Scripts/wkbuiltins/builtins_generate_combined_implementation.py:
  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py:
  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:
  • Scripts/wkbuiltins/builtins_generate_separate_header.py:
  • Scripts/wkbuiltins/builtins_generate_separate_implementation.py:
  • Scripts/wkbuiltins/builtins_generate_wrapper_header.py:
  • Scripts/wkbuiltins/builtins_generate_wrapper_implementation.py:
  • Scripts/wkbuiltins/builtins_generator.py:
  • Scripts/wkbuiltins/builtins_model.py:
  • Scripts/wkbuiltins/builtins_templates.py:
  • disassembler/udis86/ud_opcode.py:

(UdOpcodeTable.entries):
(UdOpcodeTables.addSSE2AVXInsn):
(itemslist): Deleted.

  • inspector/scripts/codegen/cpp_generator.py:
  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:
  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
  • inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:
  • inspector/scripts/codegen/generate_js_backend_commands.py:
  • inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:
  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
  • inspector/scripts/codegen/generate_objc_configuration_header.py:
  • inspector/scripts/codegen/generate_objc_configuration_implementation.py:
  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
  • inspector/scripts/codegen/generate_objc_header.py:
  • inspector/scripts/codegen/generate_objc_internal_header.py:
  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:
  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:
  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
  • inspector/scripts/codegen/generator.py:
  • inspector/scripts/codegen/generator_templates.py:
  • inspector/scripts/codegen/models.py:
  • inspector/scripts/codegen/objc_generator.py:
  • inspector/scripts/codegen/objc_generator_templates.py:
  • inspector/scripts/generate-inspector-protocol-bindings.py:
  • wasm/generateWasm.py:
  • wasm/generateWasmB3IRGeneratorInlinesHeader.py:
  • wasm/generateWasmOpsHeader.py:
  • yarr/create_regex_tables:

(in): Deleted.

  • yarr/generateYarrCanonicalizeUnicode:
  • yarr/generateYarrUnicodePropertyTables.py:
  • yarr/hasher.py:

Source/WebCore:

  • DerivedSources.make:
  • css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
  • css/makeSelectorPseudoElementsMap.py:
  • html/parser/create-html-entity-table:

(convert_entity_to_cpp_name): Deleted.
(convert_value_to_int): Deleted.
(offset_table_entry): Deleted.

  • platform/network/create-http-header-name-table:

(HTTPHeaderName): Deleted.

Source/WebInspectorUI:

  • Scripts/copy-user-interface-resources.pl:

Source/WebKit:

  • DerivedSources.make:
  • Scripts/generate-message-receiver.py:
  • Scripts/postprocess-header-rule:
  • Scripts/webkit/messages_unittest.py:
  • Scripts/webkit/model_unittest.py:
  • Scripts/webkit/parser_unittest.py:
  • Scripts/webkit/tests/Makefile:
9:17 AM Changeset in webkit [284095] by commit-queue@webkit.org
  • 132 edits
    1 delete in trunk

Remove WTF::Variant and WTF::get
https://bugs.webkit.org/show_bug.cgi?id=231675

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-13
Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndInstallWatchpoint):
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndAddWatchpoint):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::branchIfValue):

  • jit/SnippetReg.h:

(JSC::SnippetReg::gpr const):
(JSC::SnippetReg::fpr const):
(JSC::SnippetReg::jsValueRegs const):

  • jsc.cpp:

(JSC_DEFINE_HOST_FUNCTION):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::lexWithoutClearingLineTerminator):

  • parser/VariableEnvironment.cpp:

(JSC::CompactTDZEnvironment::toTDZEnvironmentSlow const):

  • parser/VariableEnvironment.h:

(JSC::CompactTDZEnvironment::toTDZEnvironment const):

  • runtime/CacheUpdate.cpp:

(JSC::CacheUpdate::asGlobal const):
(JSC::CacheUpdate::asFunction const):

  • runtime/CachedTypes.cpp:

(JSC::CachedCompactTDZEnvironment::encode):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::ControlType::isCatch):
(JSC::Wasm::LLIntGenerator::ControlType::targetLabelForBranch const):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addElseToUnreachable):
(JSC::Wasm::LLIntGenerator::addCatchToUnreachable):
(JSC::Wasm::LLIntGenerator::addCatchAllToUnreachable):
(JSC::Wasm::LLIntGenerator::addDelegateToUnreachable):
(JSC::Wasm::LLIntGenerator::addRethrow):

Source/WebCore:

We are now using std::variant and std::get instead.

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::ApplePayPaymentHandler::handlesIdentifier):
(WebCore::ApplePayPaymentHandler::validateMerchant):
(WebCore::ApplePayPaymentHandler::didAuthorizePayment):
(WebCore::ApplePayPaymentHandler::didSelectPaymentMethod):
(WebCore::ApplePayPaymentHandler::didChangeCouponCode):

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::invokeCompletionHandler):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::requestFromInfo):

  • Modules/fetch/FetchBody.h:

(WebCore::FetchBody::blobBody const):
(WebCore::FetchBody::formDataBody):
(WebCore::FetchBody::formDataBody const):
(WebCore::FetchBody::arrayBufferBody const):
(WebCore::FetchBody::arrayBufferViewBody const):
(WebCore::FetchBody::textBody):
(WebCore::FetchBody::textBody const):
(WebCore::FetchBody::urlSearchParamsBody const):

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::fillHeaderMap):

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::create):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):

  • Modules/indexeddb/IDBKey.cpp:

(WebCore::IDBKey::isValid const):
(WebCore::IDBKey::compare const):

  • Modules/indexeddb/IDBKey.h:

(WebCore::IDBKey::array const):
(WebCore::IDBKey::string const):
(WebCore::IDBKey::date const):
(WebCore::IDBKey::number const):
(WebCore::IDBKey::binary const):

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::maybeCreateIDBKey const):
(WebCore::IDBKeyData::isolatedCopy):
(WebCore::IDBKeyData::encode const):
(WebCore::IDBKeyData::decode):
(WebCore::IDBKeyData::compare const):
(WebCore::IDBKeyData::loggingString const):
(WebCore::IDBKeyData::operator== const):
(WebCore::IDBKeyData::size const):

  • Modules/indexeddb/IDBKeyData.h:

(WebCore::IDBKeyData::hash const):
(WebCore::IDBKeyData::string const):
(WebCore::IDBKeyData::date const):
(WebCore::IDBKeyData::number const):
(WebCore::IDBKeyData::binary const):
(WebCore::IDBKeyData::array const):
(WebCore::IDBKeyData::encode const):
(WebCore::IDBKeyData::decode):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::addTransceiver):
(WebCore::certificateTypeFromAlgorithmIdentifier):

  • Modules/mediastream/RTCRtpSFrameTransform.cpp:

(WebCore::RTCRtpSFrameTransform::setEncryptionKey):

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::updateTiming):

  • animation/KeyframeEffect.cpp:

(WebCore::processIterableKeyframes):
(WebCore::processPropertyIndexedKeyframes):
(WebCore::KeyframeEffect::create):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):

  • crypto/SubtleCrypto.cpp:

(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::SubtleCrypto::exportKey):
(WebCore::SubtleCrypto::wrapKey):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:

(WebCore::CryptoAlgorithmAES_CBC::importKey):

  • crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:

(WebCore::CryptoAlgorithmAES_CFB::importKey):

  • crypto/algorithms/CryptoAlgorithmAES_CTR.cpp:

(WebCore::CryptoAlgorithmAES_CTR::importKey):

  • crypto/algorithms/CryptoAlgorithmAES_GCM.cpp:

(WebCore::CryptoAlgorithmAES_GCM::importKey):

  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:

(WebCore::CryptoAlgorithmAES_KW::importKey):

  • crypto/algorithms/CryptoAlgorithmECDH.cpp:

(WebCore::CryptoAlgorithmECDH::importKey):

  • crypto/algorithms/CryptoAlgorithmECDSA.cpp:

(WebCore::CryptoAlgorithmECDSA::importKey):

  • crypto/algorithms/CryptoAlgorithmHKDF.cpp:

(WebCore::CryptoAlgorithmHKDF::importKey):

  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:

(WebCore::CryptoAlgorithmHMAC::importKey):

  • crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:

(WebCore::CryptoAlgorithmPBKDF2::importKey):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::importKey):

  • crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:

(WebCore::CryptoAlgorithmRSA_PSS::importKey):

  • css/CSSCustomPropertyValue.cpp:

(WebCore::CSSCustomPropertyValue::equals const):

  • css/CSSCustomPropertyValue.h:
  • css/StyleRule.h:
  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • dom/DocumentMarker.h:

(WebCore::DocumentMarker::description const):

  • dom/DocumentMarkerController.cpp:

(WebCore::shouldInsertAsSeparateMarker):

  • dom/Element.cpp:

(WebCore::Element::scrollIntoView):
(WebCore::Element::animate):

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::timerFired):
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord):
(WebCore::AlternativeTextController::removeDictationAlternativesForMarker):
(WebCore::AlternativeTextController::dictationAlternativesForMarker):

  • editing/Editor.cpp:

(WebCore::Editor::advanceToNextMisspelling):

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::isEquivalentColor const):
(WebCore::CanvasStyle::isEquivalent const):

  • html/canvas/CanvasStyle.h:

(WebCore::CanvasStyle::overrideAlpha const):
(WebCore::CanvasStyle::canvasGradient const):
(WebCore::CanvasStyle::canvasPattern const):
(WebCore::CanvasStyle::color const):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::InspectorScopedShaderProgramHighlight::saveBlendValue):
(WebCore::InspectorScopedShaderProgramHighlight::hasBufferBinding):
(WebCore::InspectorScopedShaderProgramHighlight::hasFramebufferParameterAttachment):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::setLine):
(WebCore::VTTCue::setPosition):

  • inspector/agents/InspectorIndexedDBAgent.cpp:
  • layout/integration/InlineIteratorBox.cpp:

(WebCore::InlineIterator::Box::modernPath const):
(WebCore::InlineIterator::Box::legacyPath const):

  • layout/integration/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::legacyInlineBox const):
(WebCore::InlineIterator::Box::inlineBox const):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::interpretationsForCurrentRoot const):

  • platform/PasteboardCustomData.cpp:

(WebCore::copyPlatformData):
(WebCore::PasteboardCustomData::readBuffer const):
(WebCore::PasteboardCustomData::readString const):
(WebCore::PasteboardCustomData::forEachPlatformString const):
(WebCore::PasteboardCustomData::forEachPlatformStringOrBuffer const):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::takeData):

  • platform/audio/cocoa/CAAudioStreamDescription.cpp:

(WebCore::CAAudioStreamDescription::operator== const):

  • platform/audio/cocoa/CAAudioStreamDescription.h:

(WebCore::toCAAudioStreamDescription):

  • platform/cocoa/MediaUtilities.cpp:

(WebCore::createAudioFormatDescription):

  • platform/generic/KeyedDecoderGeneric.cpp:
  • platform/graphics/DecodingOptions.h:

(WebCore::DecodingOptions::isAuto const):
(WebCore::DecodingOptions::isSynchronous const):
(WebCore::DecodingOptions::isAsynchronous const):
(WebCore::DecodingOptions::sizeForDrawing const):

  • platform/graphics/Path.cpp:

(WebCore::Path::apply const):
(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):

  • platform/graphics/Path.h:

(WebCore::Path::inlineData const):
(WebCore::Path::inlineData):

  • platform/graphics/displaylists/DisplayListItems.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack):

  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::createItemProviderRegistrationList):

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::write):
(WebCore::createPasteboardItem):

  • platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedUnit::resetSampleRate):

  • platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:

(WebCore::WebAudioSourceProviderCocoa::receivedNewAudioSamples):

  • platform/mock/MockMediaDevice.h:

(WebCore::MockMediaDevice::type const):
(WebCore::MockMediaDevice::speakerProperties const):

  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource):
(WebCore::MockRealtimeAudioSource::startProducingData):

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockDisplayCapturer::intrinsicSize const):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
(WebCore::MockRealtimeVideoSource::generatePresets):
(WebCore::MockRealtimeVideoSource::capabilities):
(WebCore::MockRealtimeVideoSource::mockDisplayType const):

  • platform/network/DNS.h:

(WebCore::IPAddress::ipv4Address const):
(WebCore::IPAddress::ipv6Address const):

  • platform/network/FormData.cpp:

(WebCore::FormData::appendMultiPartKeyValuePairItems):
(WebCore::FormData::appendNonMultiPartKeyValuePairItems):

  • platform/network/curl/CurlSSLHandle.h:
  • platform/xr/PlatformXR.h:

(PlatformXR::Device::FrameData::View::encode const):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::legacyLineLayout const):
(WebCore::RenderBlockFlow::legacyLineLayout):
(WebCore::RenderBlockFlow::modernLineLayout const):
(WebCore::RenderBlockFlow::modernLineLayout):

  • rendering/RenderReplaced.cpp:

(WebCore::draggedContentContainsReplacedElement):

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyProperty):

  • workers/service/ServiceWorkerJobData.cpp:

(WebCore::ServiceWorkerJobData::serviceWorkerPageIdentifier const):

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::queueTaskToPostMessage):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::cancelJobsFromServiceWorker):

Source/WebKit:

  • GPUProcess/graphics/QualifiedResourceHeap.h:

(WebKit::QualifiedResourceHeap::get const):

  • NetworkProcess/cache/NetworkCacheDataCurl.cpp:

(WebKit::NetworkCache::Data::Data):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<IDBKeyPath>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientData>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientIdentifier>::encode):

  • Shared/WebPreferencesStore.cpp:

(WebKit::valueForKey):

  • UIProcess/API/wpe/TouchGestureController.h:
  • UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:

(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):

  • UIProcess/Automation/wpe/WebAutomationSessionWPE.cpp:

(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::isValidBackgroundActivity):
(WebKit::ProcessThrottler::isValidForegroundActivity):

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::WebCore::getRpId):
(WebKit::WebCore::getUserName):
(WebKit::AuthenticatorManager::respondReceived):

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserVerification):
(WebKit::LocalAuthenticator::deleteDuplicateCredential const):

  • UIProcess/WebAuthentication/WebAuthenticationRequestData.cpp:

(WebKit::getUserVerificationRequirement):

  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:

(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
(WebKit::CtapAuthenticator::getAssertion):
(WebKit::CtapAuthenticator::processGoogleLegacyAppIdSupportExtension):

  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

(WebKit::U2fAuthenticator::makeCredential):
(WebKit::U2fAuthenticator::checkExcludeList):
(WebKit::U2fAuthenticator::issueRegisterCommand):
(WebKit::U2fAuthenticator::getAssertion):
(WebKit::U2fAuthenticator::issueSignCommand):
(WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived):
(WebKit::U2fAuthenticator::continueSignCommandAfterResponseReceived):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::create):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableIOSurfaceBackend::createImageBufferBackendHandle const):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::audioSamplesAvailable):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:

(webkit_dom_html_select_element_add):

  • WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::executePendingEditorCommands):

  • WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:

(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection):
(WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPlatformEditorState const):

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebVisiblePosition.mm:

(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):

Source/WebKitLegacy/mac:

  • WebView/WebFrame.mm:

(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame dictationResultMetadataForRange:]):

Source/WTF:

  • wtf/Variant.h:

(WTF::get): Deleted.

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Variant.cpp: Removed.
  • TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:

(addValuesToTable):

9:01 AM Changeset in webkit [284094] by Angelos Oikonomopoulos
  • 3 edits in trunk/Tools

Debugging code for jscore-test hang
https://bugs.webkit.org/show_bug.cgi?id=231573

Reviewed by Jonathan Bedard.

Occasionally, jscore-test will just hang ("1200 seconds without
output"). When that happens, send SIGTERM first and have
run-jsc-stress-tests print a backtrace when that happens, so that we
can hopefully get an idea of what went wrong.

  • CISupport/ews-build/steps.py:

(RunJavaScriptCoreTests.init):

  • Scripts/run-jsc-stress-tests:
8:37 AM Changeset in webkit [284093] by Chris Dumez
  • 196 edits in trunk/Source

Stop using makeWeakPtr() in WebCore
https://bugs.webkit.org/show_bug.cgi?id=231651

Reviewed by Alex Christensen.

Source/WebCore:

Stop using makeWeakPtr() in WebCore and use WeakPtr { } directly instead.

  • dom/BroadcastChannel.cpp:

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

  • dom/DataTransferItemList.cpp:

(WebCore::DataTransferItemList::add):
(WebCore::DataTransferItemList::ensureItems const):
(WebCore::DataTransferItemList::didSetStringData):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyCache):
(WebCore::Document::collectRangeDataFromRegister):
(WebCore::Document::determineActiveThemeColorMetaElement):
(WebCore::Document::setActiveSpeechRecognition):
(WebCore::Document::appendAutofocusCandidate):
(WebCore::Document::setMediaElementShowingTextTrack):
(WebCore::DocumentParserYieldToken::DocumentParserYieldToken):
(WebCore::Document::addIntersectionObserver):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::addResizeObserver):
(WebCore::Document::updateMainArticleElementAfterLayout):
(WebCore::Document::setPictureInPictureElement):

  • dom/Document.h:

(WebCore::Document::setContextDocument):
(WebCore::Document::setTemplateDocumentHost):

  • dom/DocumentParser.cpp:

(WebCore::DocumentParser::DocumentParser):

  • dom/EventLoop.h:

(WebCore::EventLoopTaskGroup::EventLoopTaskGroup):
(WebCore::EventLoopTask::EventLoopTask):

  • dom/EventSender.h:

(WebCore::EventSender<T>::dispatchEventSoon):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):

  • dom/FullscreenManager.cpp:

(WebCore::FullscreenManager::setFullscreenRenderer):

  • dom/IdleCallbackController.cpp:

(WebCore::IdleCallbackController::IdleCallbackController):

  • dom/MessagePort.cpp:

(WebCore::MessagePort::virtualHasPendingActivity const):

  • dom/RadioButtonGroups.cpp:

(WebCore::RadioButtonGroup::setCheckedButton):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::addSlotElementByName):
(WebCore::SlotAssignment::resolveSlotsAfterSlotMutation):
(WebCore::SlotAssignment::assignToSlot):

  • editing/CustomUndoStep.cpp:

(WebCore::CustomUndoStep::CustomUndoStep):

  • editing/EditCommand.cpp:

(WebCore::EditCommand::setParent):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::TextManipulationController):
(WebCore::TextManipulationController::observeParagraphs):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::setDictationPhrasesAsChildOfElement):

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::FileReaderLoader):

  • html/CustomPaintImage.cpp:

(WebCore::CustomPaintImage::CustomPaintImage):

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::FormAssociatedElement):
(WebCore::FormAssociatedElement::setForm):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::registerFormElement):
(WebCore::HTMLFormElement::registerImgElement):
(WebCore::HTMLFormElement::defaultButton const):
(WebCore::HTMLFormElement::addToPastNamesMap):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::setContentFrame):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::insertedIntoAncestor):
(WebCore::HTMLImageElement::setPictureElement):
(WebCore::HTMLImageElement::setSourceElement):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):

  • html/HTMLMediaElement.h:
  • html/InputType.h:

(WebCore::InputType::InputType):

  • html/MediaElementSession.cpp:

(WebCore::MediaSessionObserver::MediaSessionObserver):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::setPlaceholderCanvas):

  • html/URLSearchParams.cpp:

(WebCore::URLSearchParams::URLSearchParams):

  • html/parser/HTMLScriptRunner.cpp:

(WebCore::HTMLScriptRunner::HTMLScriptRunner):

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditElement::DateTimeEditElement):

  • html/shadow/DateTimeFieldElement.cpp:

(WebCore::DateTimeFieldElement::DateTimeFieldElement):

  • html/shadow/MediaControlTextTrackContainerElement.cpp:

(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCueBox::TextTrackCueBox):

  • html/track/TrackBase.cpp:

(WebCore::TrackBase::setTrackList):

  • html/track/TrackListBase.h:

(WebCore::TrackListBase::setOpaqueRootObserver):

  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::InspectorFrontendAPIDispatcher::InspectorFrontendAPIDispatcher):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::setGridOverlayForNode):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::bind):

  • inspector/agents/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::bindPseudoElement):

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::enable):

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::frameId):

  • inspector/agents/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::connectToWorkerInspectorProxy):

  • layout/formattingContexts/table/TableGrid.cpp:

(WebCore::Layout::TableGrid::Slot::Slot):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::setCachedGeometryForLayoutState const):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::tryLoadingSubstituteData):
(WebCore::DocumentLoader::contentFilterDidBlock):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::setFrame):

  • loader/FrameLoader.cpp:

(WebCore::PageLevelForbidScope::PageLevelForbidScope):
(WebCore::FrameLoader::setOpener):
(WebCore::FrameLoader::loadFrameRequest):

  • loader/FrameNetworkingContext.h:

(WebCore::FrameNetworkingContext::FrameNetworkingContext):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::preconnectIfNeeded):

  • loader/LinkPreloadResourceClients.cpp:

(WebCore::LinkPreloadResourceClient::LinkPreloadResourceClient):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::MediaResourceLoader):

  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):

  • loader/PolicyChecker.cpp:

(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
(WebCore::FrameLoader::PolicyChecker::checkNewWindowPolicy):

  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::loadPlugin):

  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::setGroup):
(WebCore::ApplicationCache::setManifestResource):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::update):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::setDOMApplicationCache):
(WebCore::ApplicationCacheHost::setCandidateApplicationCacheGroup):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::load):

  • loader/cache/CachedResourceLoader.h:

(WebCore::CachedResourceLoader::setDocument):

  • loader/ios/LegacyPreviewLoader.mm:

(WebCore::LegacyPreviewLoader::previewConverterDidStartConverting):

  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::DOMWindowExtension):

  • page/DOMWindowProperty.cpp:

(WebCore::DOMWindowProperty::DOMWindowProperty):

  • page/EventHandler.cpp:

(WebCore::widgetForElement):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):

  • page/Frame.cpp:

(WebCore::Frame::Frame):

  • page/FrameDestructionObserver.cpp:

(WebCore::FrameDestructionObserver::observeFrame):

  • page/FrameTree.cpp:

(WebCore::FrameTree::FrameTree):
(WebCore::FrameTree::appendChild):

  • page/FrameView.cpp:

(WebCore::FrameView::updateEmbeddedObject):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layout):
(WebCore::FrameViewLayoutContext::setSubtreeLayoutRoot):

  • page/ImageOverlayController.cpp:

(WebCore::ImageOverlayController::ImageOverlayController):
(WebCore::ImageOverlayController::selectionQuadsDidChange):

  • page/IntersectionObserver.cpp:

(WebCore::IntersectionObserver::IntersectionObserver):
(WebCore::IntersectionObserver::observe):

  • page/Page.cpp:

(WebCore::Page::updateRendering):
(WebCore::Page::doAfterUpdateRendering):
(WebCore::Page::updateElementsWithTextRecognitionResults):
(WebCore::Page::setServiceWorkerGlobalScope):

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::elementWasRemoved):
(WebCore::PointerLockController::documentDetached):
(WebCore::PointerLockController::didAcquirePointerLock):

  • page/Quirks.cpp:

(WebCore::Quirks::Quirks):
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

  • page/ResizeObservation.cpp:

(WebCore::ResizeObservation::ResizeObservation):

  • page/ResizeObserver.cpp:

(WebCore::ResizeObserver::ResizeObserver):
(WebCore::ResizeObserver::observe):

  • page/UndoItem.cpp:

(WebCore::UndoItem::setUndoManager):

  • page/WheelEventTestMonitor.cpp:

(WebCore::WheelEventTestMonitor::scheduleCallbackCheck):

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didFinishTransition):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::setHiddenTouchTarget):

  • page/mac/EventHandlerMac.mm:

(WebCore::scrollableAreaForEventTarget):
(WebCore::scrollableAreaForContainerNode):
(WebCore::EventHandler::determineWheelEventTarget):

  • page/mac/ImageOverlayControllerMac.mm:

(WebCore::ImageOverlayController::updateDataDetectorHighlights):
(WebCore::ImageOverlayController::elementUnderMouseDidChange):

  • page/scrolling/ScrollLatchingController.cpp:

(WebCore::ScrollLatchingController::updateAndFetchLatchingStateForFrame):

  • platform/NowPlayingManager.cpp:

(WebCore::NowPlayingManager::addClient):

  • platform/PreviewConverter.cpp:

(WebCore::PreviewConverter::addClient):
(WebCore::PreviewConverter::didAddClient):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::createTimer):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::ProhibitScrollingWhenChangingContentSizeForScope::ProhibitScrollingWhenChangingContentSizeForScope):

  • platform/Widget.cpp:

(WebCore::Widget::setParent):

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::addSession):
(WebCore::PlatformMediaSessionManager::sessionWillEndPlayback):
(WebCore::PlatformMediaSessionManager::setCurrentSession):

  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::sessionWillEndPlayback):

  • platform/audio/glib/MediaSessionManagerGLib.cpp:

(WebCore::MediaSessionManagerGLib::sessionWillEndPlayback):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::decodeAudioForBusCreation):

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::setClient):

  • platform/audio/mac/SharedRoutingArbitrator.mm:

(WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken):

  • platform/encryptedmedia/CDMProxy.cpp:

(WebCore::CDMInstanceSessionProxy::CDMInstanceSessionProxy):

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMInstanceSessionClearKey::updateLicense):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):

  • platform/graphics/AudioTrackPrivate.h:

(WebCore::AudioTrackPrivate::setClient):

  • platform/graphics/InbandTextTrackPrivate.h:

(WebCore::InbandTextTrackPrivate::setClient):

  • platform/graphics/VideoTrackPrivate.h:

(WebCore::VideoTrackPrivate::setClient):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/SampleBufferDisplayLayer.h:

(WebCore::SampleBufferDisplayLayer::SampleBufferDisplayLayer):

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

(WebCore::AVOutputDeviceMenuControllerTargetPicker::AVOutputDeviceMenuControllerTargetPicker):

  • platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h:

(WebCore::AVPlaybackTargetPicker::AVPlaybackTargetPicker):

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

(WebCore::AVRoutePickerViewTargetPicker::AVRoutePickerViewTargetPicker):

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

(WebCore::CDMInstanceFairPlayStreamingAVFObjC::createSession):

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

(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):

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

(-[WebAVSampleBufferStatusChangeListener initWithParent:]):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):

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

(WebCore::EffectiveRateChangedListener::EffectiveRateChangedListener):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):

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

(WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):

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

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::setCDMSession):

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

(WebCore::PlatformResourceMediaLoader::create):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::handleMessage):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack):
(WebCore::MediaPlayerPrivateGStreamer::updateTracks):
(WebCore::MediaPlayerPrivateGStreamer::handleStreamCollectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

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

(WebCore::CDMInstanceSessionThunder::CDMInstanceSessionThunder):

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

(webKitMediaCommonEncryptionDecryptGetCDMProxyDecryptionClient):

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::makeWebKitTrack):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setMaskLayer):
(WebCore::TextureMapperLayer::setReplicaLayer):
(WebCore::TextureMapperLayer::setBackdropLayer):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):

  • platform/ios/PreviewConverterIOS.mm:

(-[WebPreviewConverterDelegate initWithDelegate:]):

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerViewControllerDelegate setFullscreenInterface:]):

  • platform/ios/WebCoreMotionManager.mm:

(-[WebCoreMotionManager sendAccelerometerData:]):
(-[WebCoreMotionManager sendMotionData:withHeading:]):

  • platform/mac/DataDetectorHighlight.mm:

(WebCore::DataDetectorHighlight::DataDetectorHighlight):

  • platform/mac/PlaybackSessionInterfaceMac.mm:

(WebCore::PlaybackSessionInterfaceMac::PlaybackSessionInterfaceMac):

  • platform/mac/VideoFullscreenInterfaceMac.mm:

(WebCore::VideoFullscreenInterfaceMac::setVideoFullscreenModel):
(WebCore::VideoFullscreenInterfaceMac::setVideoFullscreenChangeObserver):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::compressedVideoOutputBufferCallback):
(WebCore::MediaRecorderPrivateWriter::compressedAudioOutputBufferCallback):

  • platform/mediastream/AudioTrackPrivateMediaStream.cpp:

(WebCore::AudioTrackPrivateMediaStream::createRenderer):

  • platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h:
  • platform/mediastream/mac/MediaStreamTrackAudioSourceProviderCocoa.cpp:

(WebCore::MediaStreamTrackAudioSourceProviderCocoa::MediaStreamTrackAudioSourceProviderCocoa):

  • platform/network/cocoa/CookieStorageObserver.h:
  • platform/network/cocoa/RangeResponseGenerator.mm:

(WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived):
(WebCore::RangeResponseGenerator::MediaResourceClient::MediaResourceClient):

  • plugins/DOMMimeType.cpp:

(WebCore::DOMMimeType::DOMMimeType):

  • plugins/DOMMimeTypeArray.cpp:

(WebCore::DOMMimeTypeArray::DOMMimeTypeArray):

  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::DOMPlugin):

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::DOMPluginArray):

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObject::FloatingObject):
(WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
(WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
(WebCore::FloatingObjects::FloatingObjects):

  • rendering/FloatingObjects.h:

(WebCore::FloatingObject::setOriginatingLine):

  • rendering/Grid.cpp:

(WebCore::Grid::insert):

  • rendering/HighlightData.h:

(WebCore::RenderRange::RenderRange):

  • rendering/LayerAncestorClippingStack.h:

(WebCore::CompositedClipData::CompositedClipData):

  • rendering/LegacyInlineBox.h:

(WebCore::LegacyInlineBox::LegacyInlineBox):

  • rendering/LegacyRootInlineBox.cpp:

(WebCore::LegacyRootInlineBox::setLineBreakInfo):

  • rendering/LegacyRootInlineBox.h:

(WebCore::LegacyRootInlineBox::appendFloat):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::setMultiColumnFlow):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::ContinuationChainNode::ContinuationChainNode):
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):

  • rendering/RenderButton.cpp:

(WebCore::RenderButton::setInnerRenderer):
(WebCore::RenderButton::setText):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setBackdropRenderer):

  • rendering/RenderFragmentedFlow.cpp:

(WebCore::RenderFragmentedFlow::updateFragmentsFragmentedFlowPortionRect):

  • rendering/RenderFragmentedFlow.h:
  • rendering/RenderFullScreen.h:
  • rendering/RenderImageResource.cpp:

(WebCore::RenderImageResource::initialize):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updatePagination):
(WebCore::RenderLayer::setBackingProviderLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::BackingSharingState::appendSharingLayer):
(WebCore::RenderLayerCompositor::attachScrollingNode):

  • rendering/RenderLayoutState.cpp:

(WebCore::RenderLayoutState::propagateLineGridInfo):
(WebCore::RenderLayoutState::establishLineGrid):

  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::RenderListMarker):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::setInnerRenderer):
(RenderMenuList::setText):

  • rendering/RenderMultiColumnSpannerPlaceholder.cpp:

(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::RenderScrollbar):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::willInsertTableSection):
(WebCore::RenderTable::addCaption):
(WebCore::RenderTable::updateColumnCache const):
(WebCore::RenderTable::recalcSections const):

  • rendering/RenderText.cpp:

(WebCore::RenderText::setInlineWrapperForDisplayContents):

  • rendering/RenderTextFragment.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
(WebCore::RenderView::layerChildrenChangedDuringStyleChange):

  • rendering/mathml/RenderMathMLFenced.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGHitTestCycleDetectionScope::SVGHitTestCycleDetectionScope):

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock):
(WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers):

  • rendering/updating/RenderTreeBuilderBlock.cpp:

(WebCore::RenderTreeBuilder::Block::detach):

  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::RenderTreeBuilder::FirstLetter::updateStyle):
(WebCore::RenderTreeBuilder::FirstLetter::createRenderers):

  • rendering/updating/RenderTreeBuilderMultiColumn.cpp:

(WebCore::RenderTreeBuilder::MultiColumn::multiColumnDescendantInserted):

  • rendering/updating/RenderTreePosition.cpp:

(WebCore::RenderTreePosition::computeNextSibling):

  • rendering/updating/RenderTreePosition.h:

(WebCore::RenderTreePosition::RenderTreePosition):

  • rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:

(WebCore::RenderTreeUpdater::GeneratedContent::updateQuotesUpTo):
(WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::addReferencingElement):

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::setCorrespondingElement):

  • svg/SVGViewElement.h:
  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::SVGViewSpec):

  • testing/Internals.cpp:

(WebCore::Internals::xrTest):

  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::createCDM):
(WebCore::MockCDM::createInstance):
(WebCore::MockCDMInstance::createSession):

  • workers/WorkerFontLoadRequest.cpp:

(WebCore::WorkerFontLoadRequest::load):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::importScripts):
(WebCore::WorkerGlobalScope::setMainScriptSourceProvider):

  • workers/WorkerOrWorkletScriptController.cpp:

(WebCore::WorkerOrWorkletScriptController::initScriptWithSubclass):

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerMainRunLoop::setGlobalScope):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::evaluateScriptIfNecessary):

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::RegistrationDatabase::RegistrationDatabase):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::addRegistration):

  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):

  • worklets/WorkletPendingTasks.cpp:

(WebCore::WorkletPendingTasks::WorkletPendingTasks):

  • xml/DOMParser.cpp:

(WebCore::DOMParser::DOMParser):

Source/WTF:

  • wtf/WeakPtr.h:

(WTF::WeakPtr::WeakPtr):
(WTF::WeakPtr::implForObject):

7:33 AM Changeset in webkit [284092] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

CLang build warning in CheckedPtr.h
https://bugs.webkit.org/show_bug.cgi?id=231672

Patch by Philippe Normand <pnormand@igalia.com> on 2021-10-13
Reviewed by Alex Christensen.

Assert on the wrapped pointer. Asserting on this always results to true, defeating the
purpose of the ASSERT.

  • wtf/CheckedPtr.h:

(WTF::CheckedPtr::operator* const):
(WTF::CheckedPtr::operator*):

7:31 AM WebKitGTK/2.34.x edited by Philippe Normand
(diff)
7:30 AM WebKitGTK/StableRelease edited by Philippe Normand
(diff)
6:56 AM Changeset in webkit [284091] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] Crash in WebCore::MediaPlayerPrivateGStreamer::sourceSetup when loading reddit video
https://bugs.webkit.org/show_bug.cgi?id=231519

Patch by Philippe Normand <pnormand@igalia.com> on 2021-10-13
Reviewed by Xabier Rodriguez-Calvar.

Since this GStreamer commit:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/52bca104e447309898ca8904b3914211ec7d4114

and starting from GStreamer 1.20, the playbin::source-setup signal is emitted before the
source element is added to the pipeline, so this gave us the opportunity to refactor our
code handling the downloadbuffer configuration, using the existing deep-element-added signal
handler.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::sourceSetup):
(WebCore::MediaPlayerPrivateGStreamer::configureDownloadBuffer):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::uriDecodeBinElementAddedCallback): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
6:24 AM Changeset in webkit [284090] by Alan Bujtas
  • 6 edits
    2 adds in trunk

[LFC][IFC] Do not break at the inline box boundary when wrapping is not allowed
https://bugs.webkit.org/show_bug.cgi?id=231581

Reviewed by Antti Koivisto.

Source/WebCore:

This patch ensures that we don't consider whitespace characters as soft wrap opportunities when wrapping is not allowed.

Test: fast/inline/no-soft-wrap-opportunity-at-inline-box.html

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::isWrappableRun):
(WebCore::Layout::InlineContentBreaker::isWrappingAllowed): Deleted.

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::isAtSoftWrapOpportunity):
(WebCore::Layout::LineBuilder::handleInlineContent):

  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::isWrappingAllowed):

  • layout/formattingContexts/inline/text/TextUtil.h:

LayoutTests:

  • fast/inline/no-soft-wrap-opportunity-at-inline-box-expected.html: Added.
  • fast/inline/no-soft-wrap-opportunity-at-inline-box.html: Added.
4:21 AM Changeset in webkit [284089] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, THUNDER build fix

  • platform/graphics/gstreamer/eme/CDMThunder.cpp: Include PrintStream.h, required for boolForPrinting().
4:00 AM Changeset in webkit [284088] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

Unreviewed. Fix GTK build with ATSPI enabled after r284009

  • accessibility/atspi/AccessibilityRootAtspi.cpp:

(WebCore::AccessibilityRootAtspi::create):
(WebCore::AccessibilityRootAtspi::AccessibilityRootAtspi):

  • accessibility/atspi/AccessibilityRootAtspi.h:
3:21 AM Changeset in webkit [284087] by aboya@igalia.com
  • 8 edits in trunk

Unreviewed, reverting r283609

Build failure with GStreamer 1.14 and regression causing frame
corruption.

Reverted changeset:

"[MSE][GStreamer] Honor MP4 edit lists"
https://bugs.webkit.org/show_bug.cgi?id=231019
https://commits.webkit.org/r283609

3:00 AM Changeset in webkit [284086] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GTK build with ATSPI enabled after r283851

  • accessibility/atspi/AccessibilityObjectAtspi.cpp: Inlcude ElementInlines.h for getIdAttribute().
2:54 AM Changeset in webkit [284085] by youenn@apple.com
  • 21 edits
    20 adds
    4 deletes in trunk

Add support for WebRTC media capabilities
https://bugs.webkit.org/show_bug.cgi?id=231568

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/media-capabilities/META.yml: Added.
  • web-platform-tests/media-capabilities/README.md: Added.
  • web-platform-tests/media-capabilities/decodingInfo.any-expected.txt: Added.
  • web-platform-tests/media-capabilities/decodingInfo.any.html: Added.
  • web-platform-tests/media-capabilities/decodingInfo.any.js: Added.
  • web-platform-tests/media-capabilities/decodingInfo.any.worker-expected.txt: Added.
  • web-platform-tests/media-capabilities/decodingInfo.any.worker.html: Added.
  • web-platform-tests/media-capabilities/decodingInfo.webrtc-expected.txt: Added.
  • web-platform-tests/media-capabilities/decodingInfo.webrtc.html: Added.
  • web-platform-tests/media-capabilities/encodingInfo-expected.txt: Added.
  • web-platform-tests/media-capabilities/encodingInfo.html: Added.
  • web-platform-tests/media-capabilities/encodingInfo.webrtc-expected.txt: Added.
  • web-platform-tests/media-capabilities/encodingInfo.webrtc.html: Added.
  • web-platform-tests/media-capabilities/idlharness.any-expected.txt: Added.
  • web-platform-tests/media-capabilities/idlharness.any.html: Added.
  • web-platform-tests/media-capabilities/idlharness.any.js: Added.
  • web-platform-tests/media-capabilities/idlharness.any.worker-expected.txt: Added.
  • web-platform-tests/media-capabilities/idlharness.any.worker.html: Added.
  • web-platform-tests/media-capabilities/w3c-import.log: Added.

Source/WebCore:

Add WebRTC decoding and encoding type.
In case webrtc type is used, forward the call to LibWebRTCProvider.
LibWebRTCProvider then gets underlying RTC capabilities to expose media capabilities.
It also adds dedicated support for powerEfficient value.
All information is already exposed in existing Media Capabilities or RTCRtpSender/Receiver getCapabilities so we do not increase fingerprinting here.

Tests: imported/w3c/web-platform-tests/media-capabilities/decodingInfo.any.html

imported/w3c/web-platform-tests/media-capabilities/decodingInfo.any.worker.html
imported/w3c/web-platform-tests/media-capabilities/decodingInfo.webrtc.html
imported/w3c/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.http.html
imported/w3c/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.https.html
imported/w3c/web-platform-tests/media-capabilities/encodingInfo.html
imported/w3c/web-platform-tests/media-capabilities/encodingInfo.webrtc.html
imported/w3c/web-platform-tests/media-capabilities/idlharness.any.html
imported/w3c/web-platform-tests/media-capabilities/idlharness.any.worker.html

  • Modules/mediacapabilities/MediaCapabilities.cpp:
  • Modules/mediacapabilities/MediaDecodingType.idl:
  • Modules/mediacapabilities/MediaEncodingType.idl:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSMediaCapabilitiesCustom.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:
  • platform/mediacapabilities/MediaCapabilitiesLogging.h:
  • platform/mediacapabilities/MediaDecodingType.h:
  • platform/mediacapabilities/MediaEncodingType.h:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • platform/mock/MediaEngineConfigurationFactoryMock.cpp:

LayoutTests:

  • media/mediacapabilities/mock-encodingInfo-expected.txt:
  • media/mediacapabilities/mock-encodingInfo.html:
  • platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt: Removed.
  • platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html: Removed.
  • platform/ios/media/mediacapabilities/mediacapabilities-types-expected.txt: Removed.
  • platform/mac/media/mediacapabilities/mediacapabilities-types-expected.txt: Removed.
  • platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt: Removed.
  • platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html: Removed.
  • platform/mac/media/mediacapabilities/mediacapabilities-types-expected.txt:
  • tests-options.json:
12:59 AM Changeset in webkit [284084] by Martin Robinson
  • 7 edits
    2 adds in trunk

Sticky element inside another sticky element does not redraw properly on scroll
https://bugs.webkit.org/show_bug.cgi?id=199915
<rdar://problem/53375284>

Reviewed by Simon Fraser.

When calculating layer position for sticky nodes in the scrolling tree, take into
account situations where the sticky parents of sticky nodes don't stick (due to
sizing). This was handled properly in layout, but not in the scrolling tree, which
caused these kinds of nodes to jump around.

Source/WebCore:

Test: scrollingcoordinator/mac/nested-sticky-with-nonsticking-sticky-parent.html

  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::computeLayerPosition const):
(WebCore::ScrollingStateStickyNode::scrollDeltaSinceLastCommit const):

  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/cocoa/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::computeLayerPosition const):

  • page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:

(WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
(WebCore::ScrollingTreeStickyNode::scrollDeltaSinceLastCommit const):

  • page/scrolling/nicosia/ScrollingTreeStickyNode.h:

LayoutTests:

  • scrollingcoordinator/mac/nested-sticky-with-nonsticking-sticky-parent-expected.html: Added.
  • scrollingcoordinator/mac/nested-sticky-with-nonsticking-sticky-parent.html: Added.
12:53 AM Changeset in webkit [284083] by Carlos Garcia Campos
  • 2 edits in trunk

Add my github username to contributors.json

Unreviewed.

  • metadata/contributors.json:
12:51 AM Changeset in webkit [284082] by Cameron McCormack
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

Override guessed color space for incoming H.264/265 streams
https://bugs.webkit.org/show_bug.cgi?id=231353
<rdar://problem/83969311>

Reviewed by Youenn Fablet.

When the VTDecompressionSession decodes incoming H.264/H.265 samples,
it puts guessed color space attachments on the CVPixelBuffer, and the
guesses are based on video resolution. WebRTC streams however default
to being sRGB. So this patch overrides a guess with what we know the
stream will be. (Once we support different color spaces in WebRTC
video streams we'll need to adjust this.)

  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:

(overrideColorSpaceAttachmentsIfNeeded):
(decompressionOutputCallback):

  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:

(overrideColorSpaceAttachmentsIfNeeded):
(h265DecompressionOutputCallback):

12:29 AM Changeset in webkit [284081] by Diego Pino Garcia
  • 2 edits in trunk/Source/JavaScriptCore

[GTK] Unreviewed, build fix for Ubuntu 18.04 after r283852

  • wasm/WasmB3IRGenerator.h:

Oct 12, 2021:

10:54 PM Changeset in webkit [284080] by jer.noble@apple.com
  • 150 edits
    1 copy in trunk

[Build-time perf] Forward-declare more things in Document.h
https://bugs.webkit.org/show_bug.cgi?id=231489

Reviewed by Myles C. Maxfield.

Move the folowing enumerations outside their classes so that they can be forward-declared:

  • MediaProducer::MediaStateFlags -> MediaProducerMediaStateFlags
  • MediaProducer::MediaCaptureKind -> MediaProducerMediaCaptureKind
  • MediaProducer::MutedState -> MediaProducerMutedState

Source/WebCore:

  • StyleColor::Options -> StyleColorOptions
  • MutationObserver::{MutationType,ObservationFlags,DeliveryFlags} -> MutationObserverOptionType

Additionally, make MutationObserverOptions a OptionSet<MutationObserverOptionType>, and update
callsites to use OptionSet methods for setting and checking flags.

Move inlined methods to DocumentInlines.h and PageInlines.h and mark the declarations as inline.

On this machine, this shows a reduction from ~1.2s compilation time for Document.h to ~1.0s, most
of the remainder due to the inclusion of Node.h (via ContainerNode.h) and ScriptExecutionContext.h.

  • Modules/airplay/WebMediaSessionManager.cpp:

(WebCore::flagsAreSet):
(WebCore::mediaProducerStateString):
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
(WebCore::WebMediaSessionManager::clientStateDidChange):
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients):
(WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring):
(WebCore::WebMediaSessionManager::configureWatchdogTimer):

  • Modules/airplay/WebMediaSessionManager.h:

(WTF::LogArgument<WebCore::MediaProducerMediaStateFlags>::toString):
(WTF::LogArgument<WebCore::MediaProducer::MediaStateFlags>::toString): Deleted.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::mediaState const):

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::mediaState const):
(WebCore::sourceCaptureState):
(WebCore::MediaStreamTrack::captureState):
(WebCore::MediaStreamTrack::updateCaptureAccordingToMutedState):
(WebCore::MediaStreamTrack::updateToPageMutedState):
(WebCore::trackMatchesKind):
(WebCore::MediaStreamTrack::endCapture):

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/RTCController.cpp:
  • Modules/mediastream/UserMediaRequest.cpp:
  • Modules/permissions/PermissionStatus.cpp:
  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::mediaState const):
(WebCore::AudioContext::visibilityStateChanged):

  • Modules/webaudio/AudioContext.h:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityObject.cpp:
  • bindings/js/JSLazyEventListener.cpp:
  • bindings/js/ScriptController.cpp:
  • css/StyleColor.cpp:

(WebCore::StyleColor::colorFromKeyword):

  • css/StyleColor.h:
  • dom/CharacterData.cpp:

(WebCore::canUseSetDataOptimization):

  • dom/ChildListMutationScope.h:

(WebCore::ChildListMutationScope::ChildListMutationScope):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):

  • dom/Document.cpp:

(WebCore::Document::resetVisitedLinkColor):
(WebCore::Document::setRTCNetworkManager):
(WebCore::Document::updateIsPlayingMedia):
(WebCore::Document::enqueueSecurityPolicyViolationEvent):
(WebCore::Document::styleColorOptions const):
(WebCore::Document::playbackTargetPickerClientStateDidChange):
(WebCore::Document::stopMediaCapture):

  • dom/Document.h:

(WebCore::Document::hasMutationObservers const):
(WebCore::Document::addMutationObserverTypes):
(WebCore::Document::getOverrideStyle):
(WebCore::Document::charset const): Deleted.
(WebCore::Document::encoding const): Deleted.
(WebCore::Document::setRTCNetworkManager): Deleted.
(WebCore::Document::hasMutationObserversOfType const): Deleted.
(WebCore::Document::isSameOriginAsTopDocument const): Deleted.
(WebCore::Document::isCapturing const): Deleted.
(WebCore::Document::textEncoding const): Deleted.
(WebCore::Document::templateDocument const): Deleted.
(WebCore::Document::existingAXObjectCache const): Deleted.
(WebCore::Document::create): Deleted.
(WebCore::Document::invalidateAccessKeyCache): Deleted.
(WebCore::Node::scriptExecutionContext const): Deleted.

  • dom/DocumentInlines.h:

(WebCore::Document::encoding const):
(WebCore::Document::charset const):
(WebCore::Document::isCapturing const):
(WebCore::Document::hasMutationObserversOfType const):
(WebCore::Document::isSameOriginAsTopDocument const):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::validateOptions):
(WebCore::MutationObserver::observe):

  • dom/MutationObserver.h:
  • dom/MutationObserverInterestGroup.cpp:

(WebCore::MutationObserverInterestGroup::createIfNeeded):

  • dom/MutationObserverInterestGroup.h:

(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):
(WebCore::MutationObserverInterestGroup::hasOldValue const):

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::shouldReceiveMutationFrom const):

  • dom/MutationObserverRegistration.h:

(WebCore::MutationObserverRegistration::isSubtree const):
(WebCore::MutationObserverRegistration::deliveryOptions const):
(WebCore::MutationObserverRegistration::mutationTypes const):

  • dom/Node.cpp:

(WebCore::collectMatchingObserversForMutation):
(WebCore::Node::registeredMutationObservers):

  • dom/Node.h:
  • dom/ProcessingInstruction.cpp:
  • dom/ScriptElement.cpp:
  • dom/SecurityPolicyViolationEvent.h:

(WebCore::SecurityPolicyViolationEventInit::SecurityPolicyViolationEventInit):
(WebCore::SecurityPolicyViolationEventInit::encode const):
(WebCore::SecurityPolicyViolationEventInit::decode):
(WebCore::SecurityPolicyViolationEvent::Init::encode const): Deleted.
(WebCore::SecurityPolicyViolationEvent::Init::decode): Deleted.

  • html/HTMLLinkElement.cpp:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):
(WebCore::HTMLMediaElement::updateMediaState):
(WebCore::HTMLMediaElement::mediaState const):

  • html/HTMLMediaElement.h:
  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::playbackStateChangePermitted const):
(WebCore::MediaElementSession::mediaStateDidChange):

  • html/MediaElementSession.h:
  • inspector/InspectorInstrumentation.h:
  • inspector/agents/InspectorDOMAgent.cpp:
  • inspector/agents/InspectorNetworkAgent.cpp:
  • loader/CrossOriginOpenerPolicy.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::enqueueSecurityPolicyViolationEvent):

  • loader/DocumentLoader.h:
  • loader/DocumentWriter.cpp:
  • loader/FormSubmission.cpp:
  • loader/FrameLoader.cpp:
  • loader/cache/CachedResourceLoader.cpp:
  • page/ChromeClient.h:

(WebCore::ChromeClient::isPlayingMediaDidChange):
(WebCore::ChromeClient::playbackTargetPickerClientStateDidChange):

  • page/Frame.cpp:
  • page/FrameView.cpp:

(WebCore::FrameView::styleColorOptions const):

  • page/FrameView.h:
  • page/MediaProducer.h:
  • page/Page.cpp:

(WebCore::Page::updateIsPlayingMedia):
(WebCore::Page::setMuted):
(WebCore::Page::stopMediaCapture):
(WebCore::Page::playbackTargetPickerClientStateDidChange):

  • page/Page.h:

(WebCore::Page::mediaState const):
(WebCore::Page::mutedState const):
(WebCore::Page::isAudioMuted const): Deleted.
(WebCore::Page::isMediaCaptureMuted const): Deleted.

  • page/PageInlines.h: Copied from Source/WebCore/dom/DocumentInlines.h.

(WebCore::Page::isAudioMuted const):
(WebCore::Page::isMediaCaptureMuted const):

  • page/PageSerializer.cpp:
  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation const):

  • page/csp/ContentSecurityPolicyClient.h:
  • platform/graphics/MediaPlayer.cpp:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::styleColorOptions const):

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

(WebCore::RenderReplaced::calculateHighlightColor const):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::activeSelectionBackgroundColor const):
(WebCore::RenderTheme::inactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::transformSelectionBackgroundColor const):
(WebCore::RenderTheme::activeSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveSelectionForegroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::colorCache const):
(WebCore::RenderTheme::systemColor const):
(WebCore::RenderTheme::textSearchHighlightColor const):
(WebCore::RenderTheme::platformTextSearchHighlightColor const):
(WebCore::RenderTheme::appHighlightColor const):
(WebCore::RenderTheme::platformAppHighlightColor const):
(WebCore::RenderTheme::defaultButtonTextColor const):
(WebCore::RenderTheme::platformDefaultButtonTextColor const):
(WebCore::RenderTheme::focusRingColor const):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::platformFocusRingColor const):
(WebCore::RenderTheme::supportsSelectionForegroundColors const):
(WebCore::RenderTheme::supportsListBoxSelectionForegroundColors const):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeIOS::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeIOS::platformFocusRingColor const):
(WebCore::RenderThemeIOS::platformAppHighlightColor const):
(WebCore::RenderThemeIOS::systemColor const):
(WebCore::RenderThemeIOS::checkboxRadioBorderColor):
(WebCore::RenderThemeIOS::checkboxRadioBackgroundColor):
(WebCore::RenderThemeIOS::checkboxRadioIndicatorColor):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::transformSelectionBackgroundColor const):
(WebCore::RenderThemeMac::supportsSelectionForegroundColors const):
(WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformFocusRingColor const):
(WebCore::RenderThemeMac::platformTextSearchHighlightColor const):
(WebCore::RenderThemeMac::platformAppHighlightColor const):
(WebCore::RenderThemeMac::platformDefaultButtonTextColor const):
(WebCore::RenderThemeMac::systemColor const):
(WebCore::RenderThemeMac::adjustMenuListStyle const):

  • rendering/StyledMarkedText.cpp:

(WebCore::resolveStyleForMarkedText):

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle):

  • testing/Internals.cpp:

(WebCore::Internals::setPageMuted):
(WebCore::Internals::pageMediaState):
(WebCore::Internals::systemColorForCSSValue):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::enqueueSecurityPolicyViolationEvent):

  • NetworkProcess/NetworkResourceLoader.h:
  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/APIUIClient.h:

(API::UIClient::mediaCaptureStateDidChange):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMuted):
(WKPageGetMediaState):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView cameraCaptureState]):
(-[WKWebView microphoneCaptureState]):
(-[WKWebView setMicrophoneCaptureState:completionHandler:]):
(-[WKWebView setCameraCaptureState:completionHandler:]):
(-[WKWebView _stopMediaCapture]):
(-[WKWebView _setPageMuted:]):

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewConfigureMediaCapture):
(webkit_web_view_set_camera_capture_state):
(webkit_web_view_set_microphone_capture_state):
(webkit_web_view_set_display_capture_state):

  • UIProcess/Cocoa/MediaUtilities.h:
  • UIProcess/Cocoa/MediaUtilities.mm:

(WebKit::toWKMediaCaptureStateDeprecated):
(WebKit::toWKMediaMutedState):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::mediaCaptureStateDidChange):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy):
(WebKit::UserMediaPermissionRequestManagerProxy::stopCapture):
(WebKit::UserMediaPermissionRequestManagerProxy::captureStateChanged):

  • UIProcess/UserMediaPermissionRequestManagerProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::setMuted):
(WebKit::WebPageProxy::stopMediaCapture):
(WebKit::WebPageProxy::isPlayingMediaDidChange):
(WebKit::WebPageProxy::updatePlayingMediaDidChange):
(WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::pageMutedStateChanged):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/Plugins/PluginView.cpp:
  • WebProcess/Plugins/PluginView.h:

(WebKit::PluginView::mediaState const):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::isPlayingMediaDidChange):
(WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::enqueueSecurityPolicyViolationEvent):
(WebKit::WebPage::setMuted):
(WebKit::WebPage::stopMediaCapture):
(WebKit::WebPage::isPlayingMediaDidChange):

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

Source/WebKitLegacy/mac:

  • DOM/DOMDocument.mm:
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::playbackTargetPickerClientStateDidChange):

  • WebView/WebMediaPlaybackTargetPicker.h:
  • WebView/WebMediaPlaybackTargetPicker.mm:

(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):

  • WebView/WebView.mm:

(-[WebView _playbackTargetPickerClientStateDidChange:state:]):

  • WebView/WebViewInternal.h:
10:50 PM Changeset in webkit [284079] by Wenson Hsieh
  • 17 edits in trunk/Source/WebKit

[GPU Process] Use IPC streaming for concurrent display list processing
https://bugs.webkit.org/show_bug.cgi?id=230860
rdar://83438038

Reviewed by Tim Horton.

This patch rebuilds the concurrent display list architecture in the web and GPU processes on top of the
streamable IPC connections currently used by WebGL in the GPU process. See below for more details.

There should be no change in behavior.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::createRenderingBackend):

Pass a StreamConnectionBuffer from the web process to the GPU process when constructing
RemoteRenderingBackend; this serves as the pool of shared memory used to store streaming IPC messages sent from
the web process to the GPU process. I've (somewhat arbitrarily) chosen the size of this StreamConnectionBuffer
to match WebGL's connection buffer, though this can be tuned as needed. In a future patch, we may also want to
implement a mechanism for starting out with a small connection buffer, and growing it by successively larger
segments as needed.

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/GPUConnectionToWebProcess.messages.in:
  • GPUProcess/cocoa/GPUProcessCocoa.mm:

(WebKit::GPUProcess::additionalStateForDiagnosticReport const):

Add a FIXME for re-introducing diagnostic state logging when using streamable IPC.

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::RemoteDisplayListRecorder):
(WebKit::RemoteDisplayListRecorder::startListeningForIPC):
(WebKit::RemoteDisplayListRecorder::stopListeningForIPC):

Add and remove the remote display list as a destination on the RemoteRenderingBackend's stream connection. Note
that the synchronous dispatch to the main thread here is necessary to maintain the ordering of out-of-stream IPC
messages that may have been received on the IPC thread.

  • GPUProcess/graphics/RemoteDisplayListRecorder.h:

(WebKit::RemoteDisplayListRecorder::create):
(WebKit::RemoteDisplayListRecorder::handleItem):

  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::RemoteImageBuffer):
(WebKit::RemoteImageBuffer::apply): Deleted.

Introduce m_remoteDisplayList to RemoteImageBuffer, and remove some logic for applying display list items that
is no longer necessary.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::create):
(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):

Set up the IPC stream connection and stream connection work queue, and immediately send a wakeup semaphore back
to the web process.

(WebKit::RemoteRenderingBackend::startListeningForIPC):
(WebKit::RemoteRenderingBackend::~RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::stopListeningForIPC):

Add a mechanism to immediately tell all m_remoteDisplayLists to stop listening for streaming IPC messages when
the owning RemoteRenderingBackend stops listening.

(WebKit::RemoteRenderingBackend::dispatch):
(WebKit::RemoteRenderingBackend::didCreateImageBufferBackend):
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::finalizeRenderingUpdate):
(WebKit::RemoteRenderingBackend::applyMediaItem): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::apply): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::didCreateMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::didResetMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse): Deleted.
(WebKit::RemoteRenderingBackend::submit): Deleted.
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists): Deleted.
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList): Deleted.
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier): Deleted.
(WebKit::RemoteRenderingBackend::setNextItemBufferToRead): Deleted.
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandle): Deleted.
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandleWithQualifiedIdentifier): Deleted.
(WebKit::RemoteRenderingBackend::resumeFromPendingWakeupInformation): Deleted.
(WebKit::RemoteRenderingBackend::didCreateMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::didResetMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::decodeItem): Deleted.
(WebKit::RemoteRenderingBackend::lastKnownState const): Deleted.
(WebKit::RemoteRenderingBackend::updateLastKnownState): Deleted.

Remove logic for coordinating wakeups and shared display list item buffers in the GPU process.

  • GPUProcess/graphics/RemoteRenderingBackend.h:

Subclass IPC::StreamMessageReceiver. In this new concurrent display list model, RemoteRenderingBackend serves
as a streaming IPC destination alongside each RemoteDisplayListRecorder in the GPU process; all messages
previously sent to the RemoteRenderingBackend as normal IPC are now sent through the connection stream (though
some must be marked as non-stream-encodable).

(WebKit::RemoteRenderingBackend::streamConnection const):
(WebKit::RemoteRenderingBackend::decodeAndCreate): Deleted.
(): Deleted.
(WebKit::RemoteRenderingBackend::PendingWakeupInformation::shouldPerformWakeup const): Deleted.

Delete more logic related to concurrent display lists.

  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:

Make RemoteRenderingBackend a stream message receiver.

  • GPUProcess/graphics/RemoteRenderingBackendCreationParameters.h:

(WebKit::RemoteRenderingBackendCreationParameters::encode const):
(WebKit::RemoteRenderingBackendCreationParameters::decode):

Remove the IPC::Semaphore here, that was previously used for quick GPU process wakeups. This semaphore is no
longer needed because we always use IPC::Semaphore for waking the GPU process when using streaming IPC.

  • GPUProcess/graphics/RemoteResourceCache.h:
  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

Make the RemoteImageBufferProxy template class directly subclass ConcreteImageBuffer instead of
DisplayList::ImageBuffer; additionally, introduce a RemoteDisplayListRecorderProxy m_remoteDisplayList here,
which we use as our drawing graphics context.

(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::recordNativeImageUse):
(WebKit::RemoteImageBufferProxy::recordFontUse):
(WebKit::RemoteImageBufferProxy::recordImageBufferUse):
(WebKit::RemoteImageBufferProxy::clearDisplayList): Deleted.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):
(WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose):
(WebKit::RemoteRenderingBackendProxy::createRemoteImageBuffer):
(WebKit::RemoteRenderingBackendProxy::sharedMemoryForGetPixelBuffer):
(WebKit::RemoteRenderingBackendProxy::destroyGetPixelBufferSharedMemory):
(WebKit::RemoteRenderingBackendProxy::getDataURLForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getDataForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getShareableBitmap):

Send all IPC messages to RemoteRenderingBackend in the GPU process through the stream connection, instead of
using standard IPC messages. This guarantees ordering when receiving cached resources.

(WebKit::RemoteRenderingBackendProxy::cacheNativeImage):
(WebKit::RemoteRenderingBackendProxy::cacheFont):
(WebKit::RemoteRenderingBackendProxy::deleteAllFonts):
(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):
(WebKit::RemoteRenderingBackendProxy::finalizeRenderingUpdate):
(WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):
(WebKit::RemoteRenderingBackendProxy::ensureBackendCreated):
(WebKit::RemoteRenderingBackendProxy::streamConnection):

Add a mechanism to ensure that we have the IPC stream wakeup semaphore before grabbing the stream connection.

(WebKit::RemoteRenderingBackendProxy::didCreateWakeUpSemaphoreForDisplayListStream):
(WebKit::RemoteRenderingBackendProxy::willAppendItem): Deleted.
(WebKit::RemoteRenderingBackendProxy::sendWakeupMessage): Deleted.
(WebKit::RemoteRenderingBackendProxy::sendDeferredWakeupMessageIfNeeded): Deleted.
(WebKit::RemoteRenderingBackendProxy::didAppendData): Deleted.
(WebKit::RemoteRenderingBackendProxy::mostRecentlyUsedDisplayListHandle): Deleted.
(WebKit::RemoteRenderingBackendProxy::findReusableDisplayListHandle): Deleted.
(WebKit::RemoteRenderingBackendProxy::createItemBuffer): Deleted.

Remove all logic previously used to coordinate concurrent display list processing on the remote rendering
backend.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:

(WebKit::RemoteRenderingBackendProxy::remoteResourceCacheProxy):
(WebKit::RemoteRenderingBackendProxy::sendToStream):
(WebKit::RemoteRenderingBackendProxy::sendSyncToStream):

Add helper methods to send IPC messages to the remote rendering backend through the connection stream.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::encodeRemoteRenderingBackendCreationParameters):

10:44 PM Changeset in webkit [284078] by Ross Kirsling
  • 34 edits in trunk/Source

Non-unified build fixes, October 2021 edition.
https://bugs.webkit.org/show_bug.cgi?id=231654

Reviewed by Don Olmstead.

Source/JavaScriptCore:

  • runtime/ControlFlowProfiler.h:

Source/WebCore:

  • accessibility/AccessibilityMenuListOption.cpp:
  • bindings/js/JSDOMAsyncIterator.h:

(WebCore::JSIterator>::next):
(WebCore::JSIterator>::runNextSteps):

  • css/SelectorFilter.cpp:
  • css/typedom/CSSUnparsedValue.h:
  • dom/Attr.cpp:
  • dom/CustomElementReactionQueue.cpp:
  • dom/DocumentSharedObjectPool.cpp:
  • dom/ScriptRunner.cpp:
  • editing/InsertListCommand.cpp:
  • editing/SpellingCorrectionCommand.h:
  • html/HTMLFrameSetElement.h:
  • html/HTMLSourceElement.h:
  • html/HTMLTemplateElement.cpp:
  • html/MediaFragmentURIParser.cpp:
  • html/SubmitInputType.cpp:
  • page/IntersectionObserver.h:
  • page/scrolling/ScrollingCoordinatorTypes.h:
  • rendering/RenderBoxModelObject.cpp:
  • rendering/svg/RenderSVGInline.cpp:
  • rendering/svg/RenderSVGResourceContainer.cpp:
  • rendering/svg/SVGRenderingContext.cpp:
  • rendering/svg/SVGResources.cpp:
  • style/MatchedDeclarationsCache.cpp:
  • style/RuleSetBuilder.cpp:
  • style/StyleInvalidator.h:
  • style/StyleScopeRuleSets.cpp:
  • workers/WorkerGlobalScope.cpp:

Source/WebKit:

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:
  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
6:55 PM Changeset in webkit [284077] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Add webpushd executable
https://bugs.webkit.org/show_bug.cgi?id=231650

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Brady Eidson.

.:

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

Source/WebKit:

  • Configurations/webpushd.xcconfig: Added.
  • Scripts/process-entitlements.sh:
  • Shared/EntryPointUtilities/Cocoa/Daemon/webpushd.c: Added.

(main):

  • WebKit.xcodeproj/project.pbxproj:
6:52 PM Changeset in webkit [284076] by Wenson Hsieh
  • 4 edits in trunk/Source

Move some staged VisionKitCore SPI into VisionKitCoreSPI.h
https://bugs.webkit.org/show_bug.cgi?id=231648

Reviewed by Tim Horton.

Source/WebCore/PAL:

See WebKit/ChangeLog for more details.

  • pal/spi/cocoa/VisionKitCoreSPI.h:

Source/WebKit:

Move these interface declarations out of this implementation file, and into PAL instead, but only if we're not
using the Apple internal SDK. Additionally, redefine VKWKDataDetectorInfo as a class instead of a protocol; this
workaround was only added to ensure source and binary compatibility with older versions of the internal macOS
Monterey/iOS 15 SDK.

No change in behavior.

  • Platform/cocoa/TextRecognitionUtilities.mm:

(WebKit::makeTextRecognitionResult):

6:40 PM Changeset in webkit [284075] by commit-queue@webkit.org
  • 205 edits in trunk/Source

Use std::variant instead of WTF::Variant
https://bugs.webkit.org/show_bug.cgi?id=231629

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • bytecode/StructureStubClearingWatchpoint.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCallDOM):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::branchIfValue):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchIfTruthy):
(JSC::AssemblyHelpers::branchIfFalsey):

  • jit/SnippetReg.h:
  • jsc.cpp:
  • parser/Lexer.h:
  • parser/VariableEnvironment.h:
  • runtime/BytecodeCacheError.h:
  • runtime/CachePayload.cpp:

(JSC::CachePayload::CachePayload):

  • runtime/CachePayload.h:
  • runtime/CacheUpdate.h:
  • runtime/ISO8601.cpp:

(JSC::ISO8601::parseTimeZoneBracketedAnnotation):

  • runtime/ISO8601.h:
  • wasm/WasmLLIntGenerator.cpp:

Source/WebCore:

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
  • Modules/cache/DOMCacheEngine.h:
  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchBodyOwner.h:
  • Modules/fetch/FetchHeaders.h:
  • Modules/fetch/FetchRequest.h:
  • Modules/fetch/FetchResponse.h:
  • Modules/indexeddb/IDBCursor.h:
  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBKey.h:
  • Modules/indexeddb/IDBKeyData.h:
  • Modules/indexeddb/IDBKeyPath.h:
  • Modules/indexeddb/IDBRequest.h:
  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::showMediaControlsContextMenu):

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediastream/MediaDevices.cpp:

(WebCore::createMediaConstraints):

  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/MediaTrackConstraints.h:
  • Modules/mediastream/RTCIceServer.h:
  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCRtpTransform.h:
  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:
  • Modules/paymentrequest/PaymentMethodChangeEvent.h:
  • Modules/paymentrequest/PaymentRequest.h:
  • Modules/push-api/PushEventInit.h:
  • Modules/push-api/PushSubscriptionOptionsInit.h:
  • Modules/speech/SpeechRecognitionUpdate.h:
  • Modules/webaudio/AudioContextOptions.h:
  • Modules/webaudio/AudioNode.h:
  • Modules/webxr/WebXRWebGLLayer.h:
  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedTree.h:
  • animation/EffectTiming.h:
  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::create):

  • animation/KeyframeEffect.h:
  • animation/OptionalEffectTiming.h:
  • bindings/IDLTypes.h:
  • bindings/js/BufferSource.h:
  • bindings/js/JSValueInWrappedObject.h:
  • crypto/CryptoAlgorithm.h:
  • crypto/CryptoKey.h:
  • crypto/SubtleCrypto.h:
  • crypto/parameters/CryptoAlgorithmEcdsaParams.h:
  • crypto/parameters/CryptoAlgorithmHkdfParams.h:
  • crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
  • crypto/parameters/CryptoAlgorithmPbkdf2Params.h:
  • crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h:
  • crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h:
  • css/CSSCustomPropertyValue.h:
  • css/DOMMatrix.cpp:

(WebCore::DOMMatrix::create):

  • css/DOMMatrix.h:
  • css/DOMMatrixReadOnly.cpp:

(WebCore::DOMMatrixReadOnly::create):

  • css/DOMMatrixReadOnly.h:
  • css/FontFace.h:
  • css/StyleRule.h:
  • css/parser/CSSPropertyParserHelpers.h:
  • css/typedom/CSSNumericValue.h:
  • css/typedom/CSSUnparsedValue.h:
  • dom/Document.h:
  • dom/DocumentMarker.h:
  • dom/Element.cpp:

(WebCore::Element::scrollIntoView):
(WebCore::Element::animate):

  • dom/Element.h:
  • dom/EventTarget.h:
  • dom/MessageEvent.h:
  • dom/Node.h:
  • editing/AlternativeTextController.h:
  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const):

  • editing/TextCheckingHelper.h:
  • editing/TextManipulationController.h:
  • fileapi/Blob.h:
  • fileapi/FileReader.cpp:

(WebCore::FileReader::result const):

  • fileapi/FileReader.h:
  • fileapi/NetworkSendQueue.h:
  • html/DOMFormData.h:
  • html/HTMLAllCollection.cpp:

(WebCore::HTMLAllCollection::namedOrIndexedItemOrItems const):
(WebCore::HTMLAllCollection::namedItemOrItems const):

  • html/HTMLAllCollection.h:
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::namedItem):

  • html/HTMLDocument.h:
  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::namedItemOrItems const):

  • html/HTMLFormControlsCollection.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::namedItem):

  • html/HTMLFormElement.h:
  • html/HTMLMediaElement.h:
  • html/HTMLOptionsCollection.h:
  • html/HTMLSelectElement.h:
  • html/ImageBitmap.h:
  • html/OffscreenCanvas.h:
  • html/URLSearchParams.cpp:

(WebCore::URLSearchParams::create):

  • html/URLSearchParams.h:
  • html/canvas/CanvasRenderingContext2DBase.h:
  • html/canvas/CanvasStyle.h:
  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLAny.h:
  • html/canvas/WebGLMultiDraw.h:
  • html/canvas/WebGLRenderingContextBase.h:
  • html/track/TrackEvent.h:
  • html/track/VTTCue.h:
  • inspector/InspectorCanvas.h:
  • inspector/InspectorShaderProgram.h:
  • layout/integration/InlineIteratorBox.h:
  • layout/integration/InlineIteratorLine.h:
  • page/DiagnosticLoggingClient.h:
  • page/IntersectionObserver.h:
  • page/Page.h:
  • page/Performance.h:
  • page/PerformanceMeasureOptions.h:
  • page/PerformanceUserTiming.cpp:

(WebCore::PerformanceUserTiming::convertMarkToTimestamp const):

  • page/PerformanceUserTiming.h:
  • page/scrolling/ScrollingCoordinator.h:
  • platform/PasteboardCustomData.cpp:

(WebCore::copyPlatformData):
(WebCore::PasteboardCustomData::forEachPlatformStringOrBuffer const):

  • platform/PasteboardCustomData.h:
  • platform/SharedBuffer.h:
  • platform/audio/AudioStreamDescription.h:
  • platform/encryptedmedia/CDMProxy.h:
  • platform/graphics/DecodingOptions.h:
  • platform/graphics/FontCascadeDescription.h:
  • platform/graphics/Gradient.h:
  • platform/graphics/InlinePathData.h:
  • platform/graphics/cocoa/SourceBufferParser.h:
  • platform/graphics/cocoa/SourceBufferParserWebM.h:
  • platform/graphics/displaylists/DisplayListResourceHeap.h:
  • platform/mediastream/mac/DisplayCaptureSourceMac.h:
  • platform/mock/MockMediaDevice.h:
  • platform/network/DNS.h:
  • platform/network/FormData.h:
  • platform/sql/SQLValue.h:
  • platform/xr/PlatformXR.h:
  • rendering/RenderBlockFlow.h:
  • testing/TypeConversions.h:
  • workers/SharedWorker.cpp:

(WebCore::SharedWorker::SharedWorker):

  • workers/SharedWorker.h:
  • workers/service/ExtendableMessageEvent.h:
  • workers/service/ServiceWorkerTypes.h:
  • xml/XMLHttpRequest.h:

Source/WebKit:

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/cache/NetworkCacheData.h:
  • Platform/IPC/ArgumentCoders.h:

(IPC::VariantCoder::encode):
(IPC::VariantCoder::decode):

  • Platform/IPC/Attachment.h:
  • Platform/IPC/MessageReceiveQueueMap.h:
  • Shared/SessionState.h:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebPreferencesStore.h:
  • Shared/mac/MediaFormatReader/MediaSampleCursor.h:
  • UIProcess/API/APIWebAuthenticationPanel.h:
  • UIProcess/API/C/WKMockMediaDevice.cpp:

(WKAddMockMediaDevice):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _showSafeBrowsingWarning:completionHandler:]):
(-[WKWebView _showSafeBrowsingWarningWithURL:title:warning:detailsWithLinks:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(-[_WKWebAuthenticationPanel makeCredentialWithChallenge:origin:options:completionHandler:]):
(-[_WKWebAuthenticationPanel getAssertionWithChallenge:origin:options:completionHandler:]):

  • UIProcess/Automation/SimulatedInputDispatcher.h:
  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::simulateKeyboardInteraction):

  • UIProcess/Automation/WebAutomationSession.h:
  • UIProcess/Automation/ios/WebAutomationSessionIOS.mm:

(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):

  • UIProcess/Automation/mac/WebAutomationSessionMac.mm:

(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):

  • UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.h:
  • UIProcess/Cocoa/WKSafeBrowsingWarning.h:
  • UIProcess/Cocoa/WKSafeBrowsingWarning.mm:

(-[WKSafeBrowsingWarning initWithFrame:safeBrowsingWarning:completionHandler:]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::showSafeBrowsingWarning):

  • UIProcess/PageClient.h:

(WebKit::PageClient::showSafeBrowsingWarning):

  • UIProcess/ProcessThrottler.h:
  • UIProcess/WebAuthentication/Authenticator.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::WebCore::getRpId):
(WebKit::WebCore::getUserName):

  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.cpp:

(WebKit::getClientDataType):
(WebKit::getUserVerificationRequirement):

  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:

(WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::showSafeBrowsingWarning):

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::showSafeBrowsingWarning):

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp:

(WebKit::WebAuthnConnectionToWebProcess::handleRequest):

  • WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.h:

Source/WebKitLegacy/mac:

  • DOM/DOMHTMLSelectElement.mm:

(-[DOMHTMLSelectElement add:before:]):

Source/WTF:

  • wtf/LikelyDenseUnsignedIntegerSet.h:
  • wtf/SmallSet.h:
  • wtf/text/TextBreakIterator.cpp:

(WTF::mapModeToBackingIterator):

  • wtf/text/TextBreakIterator.h:
  • wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:

(WTF::mapModeToBackingIterator):

6:23 PM Changeset in webkit [284074] by ap@apple.com
  • 6 edits in trunk/Source/ThirdParty

Invoke ThirdParty build scripts with python3 explicitly
https://bugs.webkit.org/show_bug.cgi?id=231605

Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj:
  • adjust-angle-include-paths.py:
  • src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py:

Source/ThirdParty/libwebrtc:

  • Source/third_party/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj:
6:10 PM Changeset in webkit [284073] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Inline box boundaries should not prevent trailing whitespace collapsing
https://bugs.webkit.org/show_bug.cgi?id=231614

Reviewed by Antti Koivisto.

This is currently papered over by webkit.org/b/231581 (not testable).

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

(WebCore::Layout::InlineContentBreaker::ContinuousContent::append):

6:09 PM Changeset in webkit [284072] by Jonathan Bedard
  • 3 edits in trunk/Tools

[AppleSilicon] Support native simulator testing
https://bugs.webkit.org/show_bug.cgi?id=231639
<rdar://problem/84170151>

Reviewed by Tim Horton.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort): Add arm64 as possible architecture.
(IOSSimulatorPort.architecture): Return the native system's architecture.

  • Scripts/webkitpy/port/watch_simulator.py:

(WatchSimulatorPort): Add arm64_32.
(WatchSimulatorPort.architecture): Return the native system's 32 bit architecture.

6:06 PM Changeset in webkit [284071] by commit-queue@webkit.org
  • 14 edits
    1 add in trunk

Adopt platform UI for WebAuthn
https://bugs.webkit.org/show_bug.cgi?id=230906
<rdar://74659556>

Patch by Garrett Davidson <garrett_davidson@apple.com> on 2021-10-12
Reviewed by David Kilzer.

Source/WebKit:

Switch to using the platform's UI for WebAuthn transactions, where available,
which takes precedence over the WebAuthn process.

Covered by existing tests.

  • Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:

When possible, switch to importing the umbrella header directly instead of
redeclaring the entire interface.

Also, fix an existing bug caused by the redeclaration, where the
ASCSecurityKeyPublicKeyCredentialKind enum was renamed.

  • SourcesCocoa.txt:

Build the new file.

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(-[_WKWebAuthenticationPanel makeCredentialWithChallenge:origin:options:completionHandler:]):
Return the full error to the delegate.

  • UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.h:
  • UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.mm:

Add all of the new required classes for soft linking, and sort the list.

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: Added.

(WebKit::toArrayBuffer):
(WebKit::toNSData):
(WebKit::toNSString):
(WebKit::toExceptionCode):
(WebKit::toASCDescriptor):
Helper methods for converting between WK and ASC types.

(WebKit::configureRegistrationRequestContext):
(WebKit::configurationAssertionRequestContext):
Create and configure an ASCCredentialRequestContext from the provided options.

(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
Configure and perform the request.

(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):

  • Create a proxy to talk to AuthenticationServicesAgent.
  • Ask the proxy if we're allowed to perform the request.
    • If no, return an error.
    • If yes, create presenter and present over the web page's window.
  • When the request if finished, check the kind of credential we got, and return

the relevant AuthenticatorResponseData/AuthenticatorAttachment.

  • If the request was canceled or failed, credential will be nil and error will

be non-nil. In most cases, the error will be WKErrorDomain, which we can convert
directly to ExceptionData. The one exception is the user canceled the request in
the platform UI, so return the appropriate ExceptionData in that case. The final
"Operation failed." case covers anything else unexpected happening.

(WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable):
If +shouldUseAlternateCredentialStore is true, this is always true. Otherwise,
fall back to the old behavior.

  • UIProcess/WebAuthentication/Cocoa/WKASCAuthorizationPresenterDelegate.mm:

(-[WKASCAuthorizationPresenterDelegate authorizationPresenter:credentialRequestedForLoginChoice:authenticatedContext:completionHandler:]):
Use the new name of the enum, unconditionally.

  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:

Wrap a few methods in the new flag. When the flag is on, these methods will exist
in WebAuthenticatorCoordinatorProxy.mm.

  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:

New ivar and method for the platform presenter.
Make the superclass public so we can use the WeakPtr inheritance.

  • UIProcess/ios/WKHoverPlatterParameters.mm:

Add some missing imports since this file got pushed off the end of
UnifiedSource47-mm.mm.

  • WebKit.xcodeproj/project.pbxproj:

Add the new file.

  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:

When platform UI is available, prefer it over the WebAuthn process.
(WebKit::WebAuthenticatorCoordinator::makeCredential):
(WebKit::WebAuthenticatorCoordinator::getAssertion):
(WebKit::WebAuthenticatorCoordinator::isUserVerifyingPlatformAuthenticatorAvailable):

Tools:

Update the timeout test to expect NotAllowedError, which is the expected error
code when a timeout occurs, per Step 21 of the "Create a New Credential"
algorithm.

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

5:59 PM Changeset in webkit [284070] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Implement alternate style for textarea
https://bugs.webkit.org/show_bug.cgi?id=231560

Reviewed by Devin Rousso.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::adjustTextAreaStyle const):
Do the same as r283962, but for <textarea>; give it an inner shadow and
remove its border when using the alternate appearance.

5:43 PM Changeset in webkit [284069] by Russell Epstein
  • 2 edits in branches/safari-613.1.5-branch/Source/WebKit

Cherry-pick r283977. rdar://problem/84174728

[GPUP] Add missing entitlement
https://bugs.webkit.org/show_bug.cgi?id=231499
<rdar://83847918>

Reviewed by Brent Fulgham.

Add the entitlement "com.apple.private.webkit.use-xpc-endpoint" in the GPU process,
which will enable XPC communication with other WebKit processes.

  • Scripts/process-entitlements.sh:

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

5:33 PM Changeset in webkit [284068] by commit-queue@webkit.org
  • 2 edits
    3 adds in trunk/LayoutTests

[GTK] Update test expectations for CSS web platform tests.
https://bugs.webkit.org/show_bug.cgi?id=231632

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-10-12

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css/empty-inline-line-height-first-line-expected.txt: Added.
  • platform/gtk/fast/css/empty-inline-line-height-first-line-quirksmode-expected.txt: Added.
  • platform/gtk/fast/parser/entities-in-xhtml-expected.txt: Added.
5:31 PM Changeset in webkit [284067] by Kate Cheney
  • 47 edits in trunk

CSP: Implement unsafe-hashes
https://bugs.webkit.org/show_bug.cgi?id=231313
<rdar://problem/83724376>

Reviewed by Brent Fulgham.

LayoutTests/imported/w3c:

Some unsafe-hashes tests still "fail" because we haven't implemented
some directives like script-src-elem/script-src-attr but will
still test correct behavior for unsafe-hashes because the reports are
received correctly. Tracking implementation of missing directives
in rdar://83332874.

  • web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/blockeduri-inline-expected.txt:

Tests that have changed failures now that the blockedURI target is
correct.

  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-href-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-href_blank-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-window_location-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-window_open-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/script_event_handlers_allowed-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/style_attribute_allowed-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module-expected.txt:

Source/WebCore:

No new tests. Existing imported web platform tests cover behavior.

unsafe-hashes allows specific event handlers and style attributes
while blocking all other inline script and style. To implement it,
we pass in the code source for event handlers when we check CSP for
inline style, event handlers and javascript: navigation targets.
Then we compare the hash of the source with the specified hashes in
the CSP policy.

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::code const):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction const):

  • bindings/js/JSLazyEventListener.h:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeJavaScriptURL):

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::createSheet):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged):
There are two types of inline style, either a style tag or the style
attribute. Style attributes are covered by unsafe-hashes and come from
StyledElement::styleAttributeChanged, so we specify that unsafe-hashes
should be checked.

  • loader/FrameLoader.cpp:

(WebCore::createWindow):

  • page/csp/ContentSecurityPolicy.cpp:

This patch updates blockedURL to be a string when reporting violations
now that we need to report "inline" as the blocked URI in many cases.
(WebCore::ContentSecurityPolicy::allowRunningOrDisplayingInsecureContent):
(WebCore::ContentSecurityPolicy::checkHashAndReportViolation const):
Refactor to separate out code to search for known hashes now that it
is used in multiple places.

(WebCore::ContentSecurityPolicy::allowJavaScriptURLs const):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers const):
(WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const):
(WebCore::ContentSecurityPolicy::allowInlineScript const):
(WebCore::ContentSecurityPolicy::allowInlineStyle const):
(WebCore::ContentSecurityPolicy::allowEval const):
(WebCore::ContentSecurityPolicy::allowFrameAncestors const):
(WebCore::ContentSecurityPolicy::allowPluginType const):
(WebCore::ContentSecurityPolicy::allowObjectFromSource const):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource const):
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowConnectToSource const):
(WebCore::ContentSecurityPolicy::allowBaseURI const):
(WebCore::ContentSecurityPolicy::reportViolation const):

  • page/csp/ContentSecurityPolicy.h:
  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::checkUnsafeHashes):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashScript const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashStyle const):

  • page/csp/ContentSecurityPolicyDirectiveList.h:
  • page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::ContentSecurityPolicySourceList::parseSource):

  • page/csp/ContentSecurityPolicySourceList.h:

(WebCore::ContentSecurityPolicySourceList::allowUnsafeHashes const):

  • page/csp/ContentSecurityPolicySourceListDirective.cpp:

(WebCore::ContentSecurityPolicySourceListDirective::allowUnsafeHashes const):

  • page/csp/ContentSecurityPolicySourceListDirective.h:

LayoutTests:

Mostly updating blockedURI to be "inline" in the case of inline script
or style violations to match the CSP3 spec.

javascript_src_allowed-href_blank.html times out because it can't find
opener.t1. This is unrelated to unsafe-hashes and seems to be another
bug in our DOM code.

  • http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
5:24 PM Changeset in webkit [284066] by mmaxfield@apple.com
  • 6 edits in trunk/LayoutTests/imported/w3c

WPT test gardening for font palettes
https://bugs.webkit.org/show_bug.cgi?id=231649

This is being upstreamed in https://github.com/web-platform-tests/wpt/pull/30959.

Unreviewed.

  • web-platform-tests/css/css-fonts/font-palette-add-2.html:
  • web-platform-tests/css/css-fonts/font-palette-modify-2.html:
  • web-platform-tests/css/css-fonts/font-palette-remove-2.html:
  • web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html:
  • web-platform-tests/css/css-fonts/parsing/font-palette-valid.html:
5:18 PM Changeset in webkit [284065] by basuke.suzuki@sony.com
  • 2 edits in trunk

[PlayStation] Enable RemoteInspector by default
https://bugs.webkit.org/show_bug.cgi?id=231599

Reviewed by Fujii Hironori.

It was treated as experimental feature but we've depended on this feature in various situation.

  • Source/cmake/OptionsPlayStation.cmake:
5:14 PM Changeset in webkit [284064] by Simon Fraser
  • 13 edits
    2 copies in trunk/Source

Scrolling thread animations need to commit layers on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=231593

Reviewed by Tim Horton.
Source/WebCore:

Export some AsyncScrollingCoordinator functions.

  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:

Source/WebKit:

Re-land r284022 with a fix in WebPageProxy to avoid non-balanced calls to
setDisplayLinkForDisplayWantsFullSpeedUpdates().

Scroll animations were running on the scrolling thread (in that the timers were firing on
that thread), but the scrolling thread wasn't changing layer positions, so those animations
weren't smooth.

This happened because of an existing assumption that we only commit layer changes on the
scrolling thread in response to wheel events; the machinery around
ThreadedScrollingTree::displayDidRefresh() was all gated on having recently received a wheel
event.

To fix this we need to communicate back to the UI process when there are active scroll
animations running. The ScrollingTree already tracks this, and the virtual
hasNodeWithAnimatedScrollChanged() on ScrollingCoordinator is called for it. To get this to
the UI process on macOS, subclass ScrollingCoordinatorMac in WebKit2 and override
hasNodeWithAnimatedScrollChanged() to call into WebPage, which then IPCs to WebPageProxy.
This ends up calling setDisplayLinkForDisplayWantsFullSpeedUpdates() so that know to IPC
displayDidRefresh to EventDispatcher off the main thread (as we do for wheel events).

Scroll animations are still based on a 60Hz timer, but in future should be driven by
displayDidRefresh() notifications.

  • SourcesCocoa.txt:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wheelEventHysteresisUpdated):
(WebKit::WebPageProxy::updateDisplayLinkFrequency):
(WebKit::WebPageProxy::updateWheelEventActivityAfterProcessSwap):
(WebKit::WebPageProxy::setHasActiveAnimatedScrolls):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createScrollingCoordinator const):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setHasActiveAnimatedScrolls):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
  • WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.

(WebKit::TiledCoreAnimationScrollingCoordinator::TiledCoreAnimationScrollingCoordinator):
(WebKit::TiledCoreAnimationScrollingCoordinator::pageDestroyed):
(WebKit::TiledCoreAnimationScrollingCoordinator::hasNodeWithAnimatedScrollChanged):

5:01 PM Changeset in webkit [284063] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC][IFC] Do not collapse whitespace with zero-width space separator in-between
https://bugs.webkit.org/show_bug.cgi?id=231595

Reviewed by Antti Koivisto.

Source/WebCore:

Zero-width space characters separate individual sequence of whitespace (and non-whitepsace) content so we
should no collapse the before/after whitespace.

Test: fast/text/whitespace-with-zero-width-space-in-between.html

  • layout/formattingContexts/inline/InlineLine.cpp:

(WebCore::Layout::Line::appendTextContent):

  • layout/formattingContexts/inline/InlineTextItem.cpp:

(WebCore::Layout::InlineTextItem::isZeroWidthSpaceSeparator const):
(WebCore::Layout::InlineTextItem::isEmptyContent const): Deleted.

  • layout/formattingContexts/inline/InlineTextItem.h:

(WebCore::Layout::InlineTextItem::width const):

LayoutTests:

  • fast/text/whitespace-with-zero-width-space-in-between-expected.html: Added.
  • fast/text/whitespace-with-zero-width-space-in-between.html: Added.
4:51 PM Changeset in webkit [284062] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Remove some unused UIKit SPI declarations
https://bugs.webkit.org/show_bug.cgi?id=231646

Reviewed by Wenson Hsieh.

  • Platform/spi/ios/UIKitSPI.h:
  • wtf/PlatformHave.h:
4:46 PM Changeset in webkit [284061] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] imported/w3c/web-platform-tests/css/selectors/focus-visible-009.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231647

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:36 PM Changeset in webkit [284060] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] LazyLineBreakIterator should be correctly setup for the prior context case
https://bugs.webkit.org/show_bug.cgi?id=231608

Reviewed by Antti Koivisto.

Source/WebCore:

Pass in the locale and the breaking mode values when constructing the LazyLineBreakIterator for finding soft wrap opportunities across layout boxes.

Test: fast/inline/line-break-loose-with-inline-box-boundary.html

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::endsWithSoftWrapOpportunity):

LayoutTests:

  • fast/inline/line-break-loose-with-inline-box-boundary-expected.html: Added.
  • fast/inline/line-break-loose-with-inline-box-boundary.html: Added.
4:35 PM Changeset in webkit [284059] by sihui_liu@apple.com
  • 35 edits
    4 copies
    4 adds in trunk

Implement FileSystemSyncAccessHandle read() and write()
https://bugs.webkit.org/show_bug.cgi?id=231466
<rdar://problem/84050394>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker-expected.txt:

Source/WebCore:

Implement read() and write() according to proposal:
https://github.com/WICG/file-system-access/blob/main/AccessHandle.md

Test: storage/filesystemaccess/sync-access-handle-read-write-worker.html
API test: FileSystemAccess.ProcessCrashDuringWrite

  • Modules/filesystemaccess/FileSystemFileHandle.cpp:

(WebCore::FileSystemFileHandle::createSyncAccessHandle):
(WebCore::FileSystemFileHandle::getSize):
(WebCore::FileSystemFileHandle::truncate):
(WebCore::FileSystemFileHandle::flush):

  • Modules/filesystemaccess/FileSystemFileHandle.h:
  • Modules/filesystemaccess/FileSystemStorageConnection.h:
  • Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:

(WebCore::FileSystemSyncAccessHandle::create):
(WebCore::FileSystemSyncAccessHandle::FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::truncate):
(WebCore::FileSystemSyncAccessHandle::getSize):
(WebCore::FileSystemSyncAccessHandle::flush):
(WebCore::FileSystemSyncAccessHandle::close):
(WebCore::FileSystemSyncAccessHandle::read):
(WebCore::FileSystemSyncAccessHandle::write):

  • Modules/filesystemaccess/FileSystemSyncAccessHandle.h:
  • Modules/filesystemaccess/FileSystemSyncAccessHandle.idl:
  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:

(WebCore::WorkerFileSystemStorageConnection::didCreateSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::createSyncAccessHandle):

  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
  • bindings/js/BufferSource.h:

(WebCore::BufferSource::mutableData const):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cocoa/FilePortSPI.h: Added.

Source/WebKit:

Let network process open the file and pass file descriptor to web process, so that web process can read and
write the file without sending IPC messages. Currently getting file size, truncating file and syncing file are
still performed by network process.

  • NetworkProcess/storage/FileSystemStorageError.h:

(WebKit::convertToException):

  • NetworkProcess/storage/FileSystemStorageHandle.cpp:

(WebKit::FileSystemStorageHandle::createSyncAccessHandle):
(WebKit::FileSystemStorageHandle::truncate):
(WebKit::FileSystemStorageHandle::flush):
(WebKit::FileSystemStorageHandle::close):

  • NetworkProcess/storage/FileSystemStorageHandle.h:
  • NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::createSyncAccessHandle):

  • NetworkProcess/storage/NetworkStorageManager.h:
  • NetworkProcess/storage/NetworkStorageManager.messages.in:
  • Platform/IPC/SharedFileHandle.cpp: Added.

(IPC::SharedFileHandle::create):
(IPC::SharedFileHandle::encode const):
(IPC::SharedFileHandle::decode):

  • Platform/IPC/SharedFileHandle.h: Added.

(IPC::SharedFileHandle::handle):
(IPC::SharedFileHandle::SharedFileHandle):

  • Platform/IPC/cocoa/SharedFileHandleCocoa.cpp: Added.

(IPC::SharedFileHandle::create):
(IPC::SharedFileHandle::encode const):
(IPC::SharedFileHandle::decode):

  • Sources.txt:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _fileSystemAccessEnabled]):
(-[WKPreferences _setFileSystemAccessEnabled:]):
(-[WKPreferences _storageAPIEnabled]):
(-[WKPreferences _setStorageAPIEnabled:]):
(-[WKPreferences _accessHandleEnabled]):
(-[WKPreferences _setAccessHandleEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:

(WebKit::WebFileSystemStorageConnection::createSyncAccessHandle):

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

Source/WTF:

  • wtf/PlatformHave.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/FileSystemAccess.mm: Added.

(-[FileSystemAccessMessageHandler userContentController:didReceiveScriptMessage:]):
(test):

LayoutTests:

  • storage/filesystemaccess/resources/sync-access-handle-read-write.js: Added.

(finishTest):
(arrayBufferToString):
(stringToArrayBuffer):
(write):
(read):
(async test):

  • storage/filesystemaccess/sync-access-handle-read-write-worker-expected.txt: Added.
  • storage/filesystemaccess/sync-access-handle-read-write-worker.html: Added.
4:33 PM Changeset in webkit [284058] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS, Mac ] imported/w3c/web-platform-tests/css/css-cascade/layer-counter-style-override.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230905

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:33 PM Changeset in webkit [284057] by Chris Dumez
  • 131 edits in trunk

Decrease use of makeWeakPtr()
https://bugs.webkit.org/show_bug.cgi?id=231615

Reviewed by Alex Christensen.

Decrease use of makeWeakPtr() and use WeakPtr { } directly instead.

Source/JavaScriptCore:

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::consoleClient const):

  • wasm/WasmMemory.cpp:

(JSC::Wasm::Memory::registerInstance):

Source/WebCore:

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):

  • Modules/encryptedmedia/MediaKeySystemAccess.cpp:

(WebCore::MediaKeySystemAccess::createMediaKeys):

  • Modules/encryptedmedia/MediaKeySystemController.cpp:

(WebCore::MediaKeySystemController::MediaKeySystemController):

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::MediaKeys):
(WebCore::MediaKeys::createSession):

  • Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp:

(WebCore::WebKitMediaKeys::setMediaElement):

  • Modules/fetch/FetchBodySource.cpp:

(WebCore::FetchBodySource::FetchBodySource):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::addAbortSteps):

  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:

(WebCore::WorkerFileSystemStorageConnection::WorkerFileSystemStorageConnection):

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::Geolocation):

  • Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::AppHighlightStorage):

  • Modules/indexeddb/IDBCursor.h:

(WebCore::IDBCursor::setRequest):

  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::IDBConnectionToServer):

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::MediaControlsHost):
(WebCore::MediaControlsHost::showMediaControlsContextMenu):

  • Modules/mediasession/MediaMetadata.cpp:

(WebCore::MediaMetadata::setMediaSession):

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::MediaSession):

  • Modules/mediasession/MediaSessionCoordinator.cpp:

(WebCore::MediaSessionCoordinator::setMediaSessionCoordinatorPrivate):
(WebCore::MediaSessionCoordinator::setMediaSession):

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::attachToElement):

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::computeUserGesturePriviledge):
(WebCore::MediaDevices::enumerateDevices):

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::addIceCandidate):

  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::RTCDTMFSender):

  • Modules/mediastream/RTCIceTransport.cpp:

(WebCore::RTCIceTransport::RTCIceTransport):

  • Modules/mediastream/RTCRtpReceiver.cpp:

(WebCore::RTCRtpReceiver::RTCRtpReceiver):

  • Modules/mediastream/RTCRtpSFrameTransform.cpp:

(WebCore::RTCRtpSFrameTransform::initializeTransformer):
(WebCore::RTCRtpSFrameTransform::createStreams):

  • Modules/mediastream/RTCRtpScriptTransform.cpp:

(WebCore::RTCRtpScriptTransform::setTransformer):

  • Modules/mediastream/RTCRtpScriptTransformer.cpp:

(WebCore::RTCRtpScriptTransformer::start):

  • Modules/mediastream/RTCRtpSender.cpp:

(WebCore::RTCRtpSender::RTCRtpSender):
(WebCore::RTCRtpSender::replaceTrack):

  • Modules/mediastream/RTCRtpTransceiver.cpp:

(WebCore::RTCRtpTransceiver::setConnection):

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:

(WebCore::LibWebRTCDataChannelHandler::setClient):

  • Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp:

(WebCore::LibWebRTCDtlsTransportBackendObserver::LibWebRTCDtlsTransportBackendObserver):

  • Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp:

(WebCore::LibWebRTCIceTransportBackendObserver::LibWebRTCIceTransportBackendObserver):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:

(WebCore::LibWebRTCRtpSenderBackend::LibWebRTCRtpSenderBackend):
(WebCore::LibWebRTCRtpSenderBackend::startSource):

  • Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp:

(WebCore::LibWebRTCSctpTransportBackendObserver::LibWebRTCSctpTransportBackendObserver):

  • Modules/paymentrequest/PaymentResponse.cpp:
  • Modules/permissions/Permissions.cpp:

(WebCore::Permissions::Permissions):

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::QuickTimePluginReplacement):

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::YouTubePluginReplacement):

  • Modules/remoteplayback/RemotePlayback.cpp:

(WebCore::RemotePlayback::RemotePlayback):

  • Modules/speech/DOMWindowSpeechSynthesis.cpp:

(WebCore::DOMWindowSpeechSynthesis::speechSynthesis):

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:

(WebCore::SpeechRecognitionCaptureSourceImpl::SpeechRecognitionCaptureSourceImpl):
(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):

  • Modules/speech/SpeechRecognizer.cpp:

(WebCore::SpeechRecognizer::startCapture):

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::SpeechSynthesis):

  • Modules/speech/cocoa/SpeechRecognizerCocoa.mm:

(WebCore::SpeechRecognizer::startRecognition):

  • Modules/storage/StorageManager.cpp:

(WebCore::StorageManager::StorageManager):

  • Modules/storage/WorkerStorageConnection.cpp:

(WebCore::WorkerStorageConnection::WorkerStorageConnection):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::toWeakOrStrongContext):

  • Modules/webaudio/AudioSummingJunction.cpp:

(WebCore::AudioSummingJunction::AudioSummingJunction):

  • Modules/webaudio/AudioWorklet.cpp:

(WebCore::AudioWorklet::AudioWorklet):

  • Modules/webaudio/AudioWorkletMessagingProxy.cpp:

(WebCore::AudioWorkletMessagingProxy::AudioWorkletMessagingProxy):

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::WebSocketChannel):

  • Modules/webxr/WebXRInputSource.cpp:

(WebCore::WebXRInputSource::WebXRInputSource):

  • Modules/webxr/WebXRInputSpace.cpp:

(WebCore::WebXRInputSpace::WebXRInputSpace):

  • Modules/webxr/WebXRReferenceSpace.cpp:

(WebCore::WebXRReferenceSpace::WebXRReferenceSpace):

  • Modules/webxr/WebXRRenderState.h:

(WebCore::WebXRRenderState::setOutputCanvas):

  • Modules/webxr/WebXRRigidTransform.cpp:

(WebCore::WebXRRigidTransform::inverse):

  • Modules/webxr/WebXRSession.cpp:

(WebCore::WebXRSession::WebXRSession):

  • Modules/webxr/WebXRSpace.cpp:

(WebCore::WebXRViewerSpace::WebXRViewerSpace):

  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::WebXRSystem):
(WebCore::WebXRSystem::ensureImmersiveXRDeviceIsSelected):
(WebCore::WebXRSystem::registerSimulatedXRDeviceForTesting):
(WebCore::WebXRSystem::unregisterSimulatedXRDeviceForTesting):

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::animationTimingDidChange):

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::DeclarativeAnimation):

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::DocumentTimeline):

  • animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::addEffect):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::create):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::initScriptForWindowProxy):

  • bindings/js/WindowProxy.cpp:

(WebCore::WindowProxy::WindowProxy):
(WebCore::WindowProxy::setDOMWindow):

  • crypto/SubtleCrypto.cpp:

(WebCore::getPromise):
(WebCore::SubtleCrypto::encrypt):
(WebCore::SubtleCrypto::decrypt):
(WebCore::SubtleCrypto::sign):
(WebCore::SubtleCrypto::verify):
(WebCore::SubtleCrypto::digest):
(WebCore::SubtleCrypto::generateKey):
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
(WebCore::SubtleCrypto::importKey):
(WebCore::SubtleCrypto::exportKey):
(WebCore::SubtleCrypto::wrapKey):
(WebCore::SubtleCrypto::unwrapKey):

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::CSSFontFace):
(WebCore::CSSFontFace::wrapper):
(WebCore::CSSFontFace::setWrapper):

  • css/CSSFontFaceSet.cpp:

(WebCore::CSSFontFaceSet::CSSFontFaceSet):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::CSSFontFaceSource):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::CSSFontSelector):

  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):

  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::MediaQueryMatcher):
(WebCore::MediaQueryMatcher::addMediaQueryList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::wrapForDeprecatedCSSOM):

  • css/StyleSheetList.cpp:

(WebCore::StyleSheetList::StyleSheetList):

  • css/parser/CSSDeferredParser.cpp:

(WebCore::CSSDeferredParser::CSSDeferredParser):

  • dom/DeviceOrientationAndMotionAccessController.cpp:

(WebCore::DeviceOrientationAndMotionAccessController::shouldAllowAccess):

  • dom/MessagePort.cpp:

(WebCore::MessagePort::dispatchMessages):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::progressEventTimerFired):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::ensureDecoderAvailable):

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

(WebCore::LocalSampleBufferDisplayLayer::onIrregularFrameRateNotification):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::processNewVideoSample):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers):

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

(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
(WebCore::SourceBufferPrivateAVFObjC::append):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChanged):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::stopRecording):
(WebCore::MediaRecorderPrivateWriter::fetchData):

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp:

(WebCore::AudioMediaStreamTrackRendererCocoa::start):
(WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::play):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::seekCompleted):

  • testing/Internals.cpp:

(WebCore::Internals::videoSampleAvailable):

  • testing/ServiceWorkerInternals.cpp:

(WebCore::ServiceWorkerInternals::schedulePushEvent):
(WebCore::ServiceWorkerInternals::lastNavigationWasAppInitiated):

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
(WebCore::ServiceWorkerThread::queueTaskToFireInstallEvent):
(WebCore::ServiceWorkerThread::queueTaskToFireActivateEvent):
(WebCore::ServiceWorkerThread::queueTaskToFirePushEvent):
(WebCore::ServiceWorkerThread::start):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::validateRegistrationDomain):
(WebCore::SWServer::scheduleJob):
(WebCore::SWServer::startScriptFetch):
(WebCore::SWServer::runServiceWorkerIfNecessary):
(WebCore::SWServer::createContextConnection):
(WebCore::SWServer::processPushMessage):
(WebCore::SWServer::fireFunctionalEvent):

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::getConfiguration):
(WebKit::RemoteMediaPlayerProxy::performTaskAtMediaTime):

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:

(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::Unit):

  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:

(WebKit::RemoteSampleBufferDisplayLayer::initialize):

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::processContentRuleListsForLoad):

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::cannotHandle):

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::controlClient):
(WebKit::WebSWServerConnection::startFetch):

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:

(WebKit::WebSWServerToContextConnection::firePushEvent):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::initialize):
(WebKit::CacheStorage::Engine::writeFile):
(WebKit::CacheStorage::Engine::readFile):
(WebKit::CacheStorage::Engine::fetchEntries):
(WebKit::CacheStorage::Engine::clearCachesForOriginFromDisk):

  • NetworkProcess/cocoa/WebSocketTaskCocoa.mm:

(WebKit::WebSocketTask::readNextMessage):

  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _createMediaSessionCoordinatorForTesting:completionHandler:]):

  • UIProcess/Cocoa/GroupActivities/GroupActivitiesSessionNotifier.mm:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::registerExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::unregisterExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::createTabForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::evaluateScriptForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::reloadForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::showExtensionTab):
(WebKit::WebInspectorUIExtensionControllerProxy::evaluateScriptInExtensionTab):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):

  • UIProcess/SpeechRecognitionPermissionManager.cpp:

(WebKit::SpeechRecognitionPermissionManager::requestSpeechRecognitionServiceAccess):
(WebKit::SpeechRecognitionPermissionManager::requestMicrophoneAccess):

  • UIProcess/SpeechRecognitionServer.cpp:

(WebKit::SpeechRecognitionServer::requestPermissionForRequest):
(WebKit::SpeechRecognitionServer::handleRequest):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionValidRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList):

  • UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.cpp:

(WebKit::WebDeviceOrientationAndMotionAccessController::shouldAllowAccess):

  • WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:

(WebKit::RemoteLegacyCDMFactory::registerFactory):

  • WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp:

(WebKit::RemoteMediaEngineConfigurationFactory::registerFactory):

  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp:

(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::createRemoteUnit):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:

(WebKit::SampleBufferDisplayLayer::initialize):

  • WebProcess/Inspector/WebInspectorUIExtensionController.cpp:

(WebKit::WebInspectorUIExtensionController::registerExtension):
(WebKit::WebInspectorUIExtensionController::unregisterExtension):
(WebKit::WebInspectorUIExtensionController::createTabForExtension):
(WebKit::WebInspectorUIExtensionController::evaluateScriptForExtension):
(WebKit::WebInspectorUIExtensionController::reloadForExtension):
(WebKit::WebInspectorUIExtensionController::showExtensionTab):
(WebKit::WebInspectorUIExtensionController::evaluateScriptInExtensionTab):

  • WebProcess/MediaSession/RemoteMediaSessionCoordinator.cpp:

(WebKit::RemoteMediaSessionCoordinator::join):
(WebKit::RemoteMediaSessionCoordinator::seekTo):
(WebKit::RemoteMediaSessionCoordinator::play):
(WebKit::RemoteMediaSessionCoordinator::pause):
(WebKit::RemoteMediaSessionCoordinator::setTrack):

  • WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp:

(WebKit::LibWebRTCNetworkManager::StartUpdating):
(WebKit::LibWebRTCNetworkManager::StopUpdating):
(WebKit::LibWebRTCNetworkManager::CreateNameForAddress):

  • WebProcess/XR/PlatformXRSystemProxy.cpp:

(WebKit::PlatformXRSystemProxy::enumerateImmersiveXRDevices):

Source/WTF:

  • wtf/CancellableTask.h:

(WTF::TaskCancellationGroup::Handle::Handle):

  • wtf/ListHashSet.h:

(WTF::ListHashSetConstIterator::ListHashSetConstIterator):
(WTF::ListHashSetConstIterator::operator++):
(WTF::ListHashSetConstIterator::operator--):

  • wtf/WeakHashSet.h:
4:30 PM Changeset in webkit [284056] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Stop passing RegistrableDomain by value in NetworkSessionCocoa
https://bugs.webkit.org/show_bug.cgi?id=231633

Reviewed by Alex Christensen.

  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::hasIsolatedSession const):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::isolatedSession):
(WebKit::SessionSet::isolatedSession):
(WebKit::NetworkSessionCocoa::hasIsolatedSession const):

4:16 PM Changeset in webkit [284055] by achristensen@apple.com
  • 6 edits
    3 adds
    3 deletes in trunk

Rename AdAttributionDaemon to adattributiond
https://bugs.webkit.org/show_bug.cgi?id=231620

Reviewed by Kate Cheney.

Source/WebKit:

adattributiond is its approved name in rdar://80701098 and we already used it in some places.
Use it consistently.

  • Configurations/adattributiond.xcconfig: Renamed from Source/WebKit/Configurations/AdAttributionDaemon.xcconfig.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Renamed from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.AdAttributionDaemon.sb.
  • Scripts/process-entitlements.sh:
  • Shared/EntryPointUtilities/Cocoa/Daemon/adattributiond.c: Renamed from Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/AdAttributionDaemon.c.
  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:

(TestWebKitAPI::testPCMDaemonLocation):
(TestWebKitAPI::cleanUpDaemon):

4:04 PM Changeset in webkit [284054] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/scrolling/ios/scroll-snap-with-momentum-scroll-in-overflow-scroll-area.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231641

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:02 PM Changeset in webkit [284053] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

[ iOS15 iPad Debug ] webrtc/video-mute.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231640.

Unreviewed test gardening.

  • platform/ios-14-wk2/TestExpectations:
  • platform/ipad/TestExpectations:
3:49 PM Changeset in webkit [284052] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 Debug ] webgl/pending/conformance/glsl/misc/shader-with-reserved-words-2.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231638.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
3:48 PM Changeset in webkit [284051] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit

Reduce use of WebCore structures in adattributiond
https://bugs.webkit.org/show_bug.cgi?id=231617

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.

In order to reduce the memory use of adattributiond, I'm planning to have it not link WebKit.framework.
This is progress towards that.
I use a RunLoop::Timer instead of a WebCore::Timer, which does the same thing on the main thread.
I use a WTF::String to represent the error description or lack thereof instead of sending the whole error.
I stop sending the response, because it was unused.

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:

(WebKit::PrivateClickMeasurementManager::PrivateClickMeasurementManager):
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.cpp:

(WebKit::PCM::NetworkLoader::start):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.h:
  • NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementNetworkLoaderCocoa.mm:

(WebKit::PCM::NetworkLoader::start):

3:47 PM Changeset in webkit [284050] by commit-queue@webkit.org
  • 3 edits
    6 adds in trunk

ASSERT hit in surrogatePairAwareIndex and surrogatePairAwareStart lambdas for text with unpaired surrogates
https://bugs.webkit.org/show_bug.cgi?id=231606

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-12
Reviewed by Myles C. Maxfield.

Source/WebCore:

Tests: fast/text/word-break-column-gap-display-flex-utf16-surrogates.html

fast/text/word-break-letter-spacing-utf16-surrogates.html
fast/text/word-break-max-width-utf16-surrogates.html

  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::midWordBreak):
Account for unpaired surrogates in surrogatePairAwareIndex and surrogatePairAwareStart lambdas
in TextUtil::MidWordBreak TextUtil::midWordBreak

LayoutTests:

  • fast/text/word-break-column-gap-display-flex-utf16-surrogates-expected.txt: Added.
  • fast/text/word-break-column-gap-display-flex-utf16-surrogates.html: Added.
  • fast/text/word-break-letter-spacing-utf16-surrogates-expected.txt: Added.
  • fast/text/word-break-letter-spacing-utf16-surrogates.html: Added.
  • fast/text/word-break-max-width-utf16-surrogates-expected.txt: Added.
  • fast/text/word-break-max-width-utf16-surrogates.html: Added.
3:44 PM Changeset in webkit [284049] by Ryan Haddad
  • 13 edits
    2 deletes in trunk/Source

Unreviewed, reverting r284022.

Caused tests to exit early due to an assertion failure

Reverted changeset:

"Scrolling thread animations need to commit layers on the
scrolling thread"
https://bugs.webkit.org/show_bug.cgi?id=231593
https://commits.webkit.org/r284022

3:42 PM Changeset in webkit [284048] by mmaxfield@apple.com
  • 9 edits
    1 add in trunk

[GPU Process] Unique RenderingResourceIdentifiers Part 9: Finish migrating RemoteResourceCache to QualifiedRenderingResourceIdentifier
https://bugs.webkit.org/show_bug.cgi?id=231414
<rdar://problem/84015584>

Reviewed by Said Abou-Hallawa.

Source/WebCore:

We can delete a bunch of the methods of ResourceHeapImpl because they are only used in the
GPU Process-specific implementation.

No new tests because there is no behavior change.

  • platform/graphics/displaylists/DisplayList.h:
  • platform/graphics/displaylists/DisplayListResourceHeap.h:

(WebCore::DisplayList::ResourceHeap::add): Deleted.
(WebCore::DisplayList::ResourceHeap::getImageBuffer const): Deleted.
(WebCore::DisplayList::ResourceHeap::getNativeImage const): Deleted.
(WebCore::DisplayList::ResourceHeap::getFont const): Deleted.
(WebCore::DisplayList::ResourceHeap::hasImageBuffer const): Deleted.
(WebCore::DisplayList::ResourceHeap::hasNativeImage const): Deleted.
(WebCore::DisplayList::ResourceHeap::hasFont const): Deleted.
(WebCore::DisplayList::ResourceHeap::removeImageBuffer): Deleted.
(WebCore::DisplayList::ResourceHeap::removeNativeImage): Deleted.
(WebCore::DisplayList::ResourceHeap::removeFont): Deleted.
(WebCore::DisplayList::ResourceHeap::clear): Deleted.
(WebCore::DisplayList::ResourceHeap::deleteAllFonts): Deleted.

Source/WebKit:

Now that DisplayList::ResourceHeap exists, we can make a ResourceHeap subclass specifically for
the GPU process. The implementation of this class holds QualifiedRenderingResourceIdentifiers
instead of RenderingResourceIdentifier.

  • GPUProcess/graphics/QualifiedResourceHeap.h: Added.

(WebKit::QualifiedResourceHeap::QualifiedResourceHeap):
(WebKit::QualifiedResourceHeap::add):
(WebKit::QualifiedResourceHeap::getImageBuffer const):
(WebKit::QualifiedResourceHeap::getNativeImage const):
(WebKit::QualifiedResourceHeap::getFont const):
(WebKit::QualifiedResourceHeap::hasImageBuffer const):
(WebKit::QualifiedResourceHeap::hasNativeImage const):
(WebKit::QualifiedResourceHeap::hasFont const):
(WebKit::QualifiedResourceHeap::removeImageBuffer):
(WebKit::QualifiedResourceHeap::removeNativeImage):
(WebKit::QualifiedResourceHeap::removeFont):
(WebKit::QualifiedResourceHeap::deleteAllFonts):

  • GPUProcess/graphics/RemoteResourceCache.cpp:

(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::maybeRemoveResource):

  • GPUProcess/graphics/RemoteResourceCache.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:

(TestWebKitAPI::TEST):

3:40 PM Changeset in webkit [284047] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Update expectations for webgl/1.0.3/conformance/uniforms/uniform-default-values.html.
https://bugs.webkit.org/show_bug.cgi?id=231514.

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
3:26 PM Changeset in webkit [284046] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 Debug ] media/media-fragments/TC0001.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231636.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
3:21 PM Changeset in webkit [284045] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iPad Release ] editing/selection/ios/scroll-to-reveal-selection-when-showing-software-keyboard.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=231635

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
3:19 PM Changeset in webkit [284044] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7613.1.6

3:16 PM Changeset in webkit [284043] by Russell Epstein
  • 1 copy in branches/safari-613.1.5-branch

New branch.

3:13 PM Changeset in webkit [284042] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 Debug ] fast/selectors/case-insensitive-attribute-bascis.html is failing).
https://bugs.webkit.org/show_bug.cgi?id=231631.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
3:10 PM Changeset in webkit [284041] by Stephanie Lewis
  • 1 edit in trunk/metadata/contributors.json

Add my github account and personal email

Unreviewed.

  • metadata/contributors.json:
3:09 PM Changeset in webkit [284040] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] http/tests/cache/disk-cache/redirect-chain-limits.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231630

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:58 PM Changeset in webkit [284039] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

WebKitTestRunner should check mainFrameURL exists in InjectedBundlePage::willSendRequestForFrame
https://bugs.webkit.org/show_bug.cgi?id=231401

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-12
Reviewed by Youenn Fablet.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::willSendRequestForFrame):
Add mainFrameURL check in case of loading a non localhost URL with WebKitTestRunner.

2:56 PM Changeset in webkit [284038] by ddkilzer@apple.com
  • 5 edits
    1 add in trunk/Source

Switch WTF::bridge_cast to use type traits
<https://webkit.org/b/231467>
<rdar://problem/84050614>

Reviewed by Darin Adler.

Source/WebCore:

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::addTextMarkerFor):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
  • Call bridge_id_cast() with CF pointer to prevent autorelease.

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

  • Switch from calling RetainPtr<>::bridgingAutorelease() to bridge_id_cast(RetainPtr<>&&) since this prevents the objects from being autoreleased and prevents retain count churn since the lambdas return RetainPtr<id>.

Source/WTF:

  • wtf/cocoa/TollFreeBridging.h: Add.

(WTF::CFTollFreeBridgingTraits): Add.
(WTF::NSTollFreeBridgingTraits): Add.

  • Define type traits for CF and NS classes with toll-free bridging.
  • wtf/cocoa/TypeCastsCocoa.h:

(WTF::bridge_cast):

  • Make use of type traits in TollFreeBridging.h.
2:55 PM Changeset in webkit [284037] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 Debug ] fast/scrolling/ios/click-events-during-momentum-scroll-in-main-frame.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231623.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:51 PM Changeset in webkit [284036] by sbarati@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Fix spec-correctness when inlining proto intrinsic using get_by_id_with_this
https://bugs.webkit.org/show_bug.cgi?id=231559

Reviewed by Yusuke Suzuki.

My original fix in r283512 has some theoretical spec correctness issues.
I'm not sure if they can be materialized or not since we only use
get_by_id_with_this in very limited scenarios. However, this patch just
makes it so we call the getter instead of attempting to inline it
when using get_by_id_with_this.

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitLoadPrototypeWithoutCheck): Deleted.

  • jit/AssemblyHelpers.h:
  • jit/IntrinsicEmitter.cpp:

(JSC::IntrinsicGetterAccessCase::canEmitIntrinsicGetter):
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):

2:46 PM Changeset in webkit [284035] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 ] 2 iOS rotation tests are timing out constantly.
https://bugs.webkit.org/show_bug.cgi?id=231622.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:39 PM Changeset in webkit [284034] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS & macOS wk2 ] imported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230696

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:34 PM Changeset in webkit [284033] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 Debug ] 4 dom-paste tests are flaky timeouts.
https://bugs.webkit.org/show_bug.cgi?id=231619.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:31 PM Changeset in webkit [284032] by Kocsen Chung
  • 1 copy in tags/Safari-612.2.9.1.8

Tag Safari-612.2.9.1.8.

2:28 PM Changeset in webkit [284031] by Kocsen Chung
  • 8 edits in branches/safari-612.2.9.1.7-branch/Source

Versioning.

WebKit-7612.2.9.1.8

2:27 PM Changeset in webkit [284030] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/mediastream/apply-constraints-video.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231618

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:23 PM Changeset in webkit [284029] by Simon Fraser
  • 2 edits in trunk/Source/WTF

Add support for ScrollOptions' ScrollBehavior and CSS scroll-behavior properties
https://bugs.webkit.org/show_bug.cgi?id=188043
<rdar://48436802>

Reviewed by Myles C. Maxfield.

Enable CSS smooth scrolling by default.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
2:20 PM Changeset in webkit [284028] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

[ iOS15 iPad Debug ] compositing/layer-creation/scale-rotation-transition-overlap.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231616.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/ipad/TestExpectations:
2:06 PM Changeset in webkit [284027] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/blink/fast/dom/importNode-cdata.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231612

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:01 PM Changeset in webkit [284026] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 iPad Debug ] imported/w3c/web-platform-tests/webrtc-encoded-transform/sframe-transform-in-worker.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231611.

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
2:00 PM Changeset in webkit [284025] by Russell Epstein
  • 13 edits
    2 deletes in branches/safari-613.1.4-branch/Source

Revert "rdar://16833552 (Add a module map file for PrivateFrameworks/WebKitLegacy)"

This reverts commit r284023.

1:59 PM Changeset in webkit [284024] by Russell Epstein
  • 1 copy in tags/Safari-613.1.4.4

Tag Safari-613.1.4.4.

1:58 PM Changeset in webkit [284023] by Russell Epstein
  • 13 edits
    3 adds in branches/safari-613.1.4-branch/Source

rdar://16833552 (Add a module map file for PrivateFrameworks/WebKitLegacy)

Define modules for the Cocoa Touch environment. macOS can't define modules in WebKitLegacy because it's a nested framework on that platform. The public module is empty because there are no public headers. The private module map sets PrivateHeaders as the umbrella directory because there isn't an umbrella header already. Then it makes an explicit submodule for each header so as to mimic the non-modular environment.

Enable the modules verifier tool for Apple Internal (it's not supported in the public Xcode).

Add the Apple Internal guards for NSURLDownload from WebDownload.h to NSURLDownloadSPI.h so it can be included in the module.

WebCreateFragmentInternal.h and WebGeolocationCoreLocationProvider.h are Objective-C++ headers, but the WebKitLegacy module should be usable by plain Objective-C clients. Add C++ guards so that it can be included in the module.

Switch a few quoted includes to framework style angle includes, which are required for modules.

1:56 PM Changeset in webkit [284022] by Simon Fraser
  • 13 edits
    2 copies in trunk/Source

Scrolling thread animations need to commit layers on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=231593

Reviewed by Tim Horton.
Source/WebCore:

Export some AsyncScrollingCoordinator functions.

  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:

Source/WebKit:

Scroll animations were running on the scrolling thread (in that the timers were firing on
that thread), but the scrolling thread wasn't changing layer positions, so those animations
weren't smooth.

This happened because of an existing assumption that we only commit layer changes on the
scrolling thread in response to wheel events; the machinery around
ThreadedScrollingTree::displayDidRefresh() was all gated on having recently received a wheel
event.

To fix this we need to communicate back to the UI process when there are active scroll
animations running. The ScrollingTree already tracks this, and the virtual
hasNodeWithAnimatedScrollChanged() on ScrollingCoordinator is called for it. To get this to
the UI process on macOS, subclass ScrollingCoordinatorMac in WebKit2 and override
hasNodeWithAnimatedScrollChanged() to call into WebPage, which then IPCs to WebPageProxy.
This ends up calling setDisplayLinkForDisplayWantsFullSpeedUpdates() so that know to IPC
displayDidRefresh to EventDispatcher off the main thread (as we do for wheel events).

Scroll animations are still based on a 60Hz timer, but in future should be driven by
displayDidRefresh() notifications.

  • SourcesCocoa.txt:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wheelEventHysteresisUpdated):
(WebKit::WebPageProxy::updateDisplayLinkFrequency):
(WebKit::WebPageProxy::updateWheelEventActivityAfterProcessSwap):
(WebKit::WebPageProxy::setHasActiveAnimatedScrolls):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createScrollingCoordinator const):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setHasActiveAnimatedScrolls):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
  • WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.

(WebKit::TiledCoreAnimationScrollingCoordinator::TiledCoreAnimationScrollingCoordinator):
(WebKit::TiledCoreAnimationScrollingCoordinator::pageDestroyed):
(WebKit::TiledCoreAnimationScrollingCoordinator::hasNodeWithAnimatedScrollChanged):

1:54 PM Changeset in webkit [284021] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Manage NetworkLoadMetrics on main thread in WebCoreNSURLSession
https://bugs.webkit.org/show_bug.cgi?id=231557

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Jer Noble.

There is evidence that r281486 wasn't quite sufficient.
Instead of making an isolated copy when hopping threads then giving the metrics to an ObjC object,
which can be destroyed on any thread,
we now create the ObjC object on the main thread and destroy it on the main thread.

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:]):
(-[WebCoreNSURLSessionTaskMetrics dealloc]):
(-[WebCoreNSURLSessionDataTask _resource:loadFinishedWithError:metrics:]):

1:52 PM Changeset in webkit [284020] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ iOS15 iPad Debug ] imported/w3c/web-platform-tests/webmessaging/MessagePort_onmessage_start.any.worker.html is a flaky failure (reached unreachable code).
https://bugs.webkit.org/show_bug.cgi?id=231609.

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
1:51 PM Changeset in webkit [284019] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] applicationmanifest/developer-warnings.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231610

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
1:48 PM Changeset in webkit [284018] by Russell Epstein
  • 8 edits in branches/safari-613.1.4-branch/Source

Versioning.

WebKit-7613.1.4.4

1:47 PM Changeset in webkit [284017] by Alan Coon
  • 16 edits in branches/safari-612-branch/Source/WebKit

Apply patch. rdar://problem/83955138

Branch application of r283504.

1:43 PM Changeset in webkit [284016] by commit-queue@webkit.org
  • 116 edits in trunk

Use STL instead of WTF::get_if, WTF::Monostate, WTF::visit, and WTF::holds_alternative
https://bugs.webkit.org/show_bug.cgi?id=231582

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::branchIfValue):

  • jsc.cpp:

(JSC_DEFINE_HOST_FUNCTION):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::lexWithoutClearingLineTerminator):

  • parser/VariableEnvironment.h:

(JSC::CompactTDZEnvironment::toTDZEnvironment const):

  • runtime/CacheUpdate.cpp:

(JSC::CacheUpdate::isGlobal const):

  • runtime/CachedTypes.cpp:

(JSC::CachedCompactTDZEnvironment::encode):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::ControlType::isLoop):
(JSC::Wasm::LLIntGenerator::ControlType::isTopLevel):
(JSC::Wasm::LLIntGenerator::ControlType::isBlock):
(JSC::Wasm::LLIntGenerator::ControlType::isIf):
(JSC::Wasm::LLIntGenerator::ControlType::isTry):
(JSC::Wasm::LLIntGenerator::ControlType::isAnyCatch):
(JSC::Wasm::LLIntGenerator::ControlType::isCatch):
(JSC::Wasm::LLIntGenerator::ControlType::targetLabelForBranch const):
(JSC::Wasm::LLIntGenerator::ControlType::branchTargetArity const):
(JSC::Wasm::LLIntGenerator::ControlType::branchTargetType const):
(JSC::Wasm::LLIntGenerator::addElse):
(JSC::Wasm::LLIntGenerator::addCatchToUnreachable):
(JSC::Wasm::LLIntGenerator::addCatchAllToUnreachable):
(JSC::Wasm::LLIntGenerator::addRethrow):
(JSC::Wasm::LLIntGenerator::addEndToUnreachable):

Source/WebCore:

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::ApplePayPaymentHandler::handlesIdentifier):

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::invokeCompletionHandler):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::requestFromInfo):

  • Modules/fetch/FetchBody.h:

(WebCore::FetchBody::isBlob const):
(WebCore::FetchBody::isFormData const):
(WebCore::FetchBody::isArrayBuffer const):
(WebCore::FetchBody::isArrayBufferView const):
(WebCore::FetchBody::isURLSearchParams const):
(WebCore::FetchBody::isText const):

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::fillHeaderMap):

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::create):

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::continuePrimaryKey):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::isIDBKeyPathValid):
(WebCore::isolatedCopy):
(WebCore::loggingString):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::requestedIndexRecordType const):

  • Modules/indexeddb/server/IDBSerialization.cpp:

(WebCore::serializeIDBKeyPath):

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::displayNameForTrack):
(WebCore::MediaControlsHost::showMediaControlsContextMenu):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::addTransceiver):
(WebCore::certificateTypeFromAlgorithmIdentifier):

  • Modules/mediastream/RTCRtpSFrameTransform.cpp:

(WebCore::RTCRtpSFrameTransform::setEncryptionKey):

  • Modules/speech/SpeechRecognitionUpdate.cpp:

(WebCore::SpeechRecognitionUpdate::create):

  • Modules/speech/SpeechRecognitionUpdate.h:
  • Modules/webxr/WebXRWebGLLayer.cpp:

(WebCore::WebXRWebGLLayer::create):

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::updateTiming):

  • animation/KeyframeEffect.cpp:

(WebCore::processIterableKeyframes):
(WebCore::processPropertyIndexedKeyframes):
(WebCore::KeyframeEffect::create):

  • bindings/js/BufferSource.h:

(WebCore::BufferSource::data const):
(WebCore::BufferSource::length const):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::createKeyPathArray):
(WebCore::deserializeIDBValueWithKeyInjection):

  • crypto/SubtleCrypto.cpp:

(WebCore::normalizeCryptoAlgorithmParameters):

  • css/CSSCustomPropertyValue.cpp:

(WebCore::CSSCustomPropertyValue::createEmpty):
(WebCore::CSSCustomPropertyValue::equals const):
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):

  • css/CSSCustomPropertyValue.h:
  • css/StyleRule.h:
  • css/typedom/CSSUnparsedValue.cpp:

(WebCore::CSSUnparsedValue::serialize const):

  • dom/DocumentMarker.h:

(WebCore::DocumentMarker::description const):

  • dom/Element.cpp:

(WebCore::Element::scrollIntoView):
(WebCore::Element::animate):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListenerForBindings):
(WebCore::EventTarget::removeEventListenerForBindings):

  • editing/Editor.cpp:

(WebCore::Editor::advanceToNextMisspelling):

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::hasMediaStreamSrcObject const):

  • html/URLSearchParams.cpp:

(WebCore::URLSearchParams::create):

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::isEquivalentColor const):
(WebCore::CanvasStyle::isEquivalent const):

  • html/canvas/CanvasStyle.h:

(WebCore::CanvasStyle::isValid const):
(WebCore::CanvasStyle::isCurrentColor const):
(WebCore::CanvasStyle::canvasGradient const):
(WebCore::CanvasStyle::canvasPattern const):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::InspectorScopedShaderProgramHighlight::saveBlendValue):
(WebCore::InspectorScopedShaderProgramHighlight::hasBufferBinding):
(WebCore::InspectorScopedShaderProgramHighlight::hasFramebufferParameterAttachment):
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::getTexImageSourceSize):
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::setLine):
(WebCore::VTTCue::setPosition):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::canvasContext const):
(WebCore::InspectorCanvas::canvasElement const):
(WebCore::InspectorCanvas::scriptExecutionContext const):
(WebCore::InspectorCanvas::resolveContext const):
(WebCore:: const):
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::indexForData):

  • inspector/InspectorCanvas.h:
  • inspector/InspectorShaderProgram.cpp:

(WebCore::InspectorShaderProgram::program const):
(WebCore::InspectorShaderProgram::requestShaderSource):
(WebCore::InspectorShaderProgram::updateShader):
(WebCore::InspectorShaderProgram::buildObjectForShaderProgram):

  • inspector/InspectorShaderProgram.h:
  • inspector/agents/InspectorIndexedDBAgent.cpp:

(WebCore::Inspector::keyPathFromIDBKeyPath):

  • layout/integration/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::legacyInlineBox const):
(WebCore::InlineIterator::Box::inlineBox const):

  • platform/PasteboardCustomData.cpp:

(WebCore::copyPlatformData):
(WebCore::PasteboardCustomData::readBuffer const):
(WebCore::PasteboardCustomData::readString const):
(WebCore::PasteboardCustomData::forEachPlatformString const):
(WebCore::PasteboardCustomData::forEachPlatformStringOrBuffer const):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::takeData):
(WebCore::SharedBuffer::DataSegment::data const):
(WebCore::SharedBuffer::DataSegment::containsMappedFileData const):
(WebCore::SharedBuffer::DataSegment::size const):

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::createCFData const):
(WebCore::SharedBuffer::hintMemoryNotNeededSoon const):

  • platform/generic/KeyedDecoderGeneric.cpp:

(WebCore::KeyedDecoderGeneric::getPointerFromDictionaryStack):

  • platform/graphics/DecodingOptions.h:

(WebCore::DecodingOptions::has const):

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::realizeNextFallback):

  • platform/graphics/InlinePathData.h:
  • platform/graphics/Path.h:

(WebCore::Path::hasInlineData const):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::createCGPath const):
(WebCore::Path::ensurePlatformPath):
(WebCore::Path::Path):
(WebCore::Path::transform):
(WebCore::Path::clear):

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::safeCopy):

  • platform/graphics/displaylists/DisplayListItemType.cpp:

(WebCore::DisplayList::paddedSizeOfTypeAndItemInBytes):
(WebCore::DisplayList::displayListItemType):

  • platform/graphics/displaylists/DisplayListResourceHeap.h:

(WebCore::DisplayList::ResourceHeap::deleteAllFonts):
(WebCore::DisplayList::ResourceHeap::get const):
(WebCore::DisplayList::ResourceHeap::remove):

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

(WebCore::CDMProxyClearKey::cencSetDecryptionKey):

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

(WebCore::CDMProxyThunder::getDecryptionSession const):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::createItemProviderRegistrationList):

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::write):
(WebCore::createPasteboardItem):

  • platform/mock/MockMediaDevice.h:

(WebCore::MockMediaDevice::isMicrophone const):
(WebCore::MockMediaDevice::isSpeaker const):
(WebCore::MockMediaDevice::isCamera const):
(WebCore::MockMediaDevice::isDisplay const):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::mockDisplayType const):

  • platform/mock/MockRealtimeVideoSource.h:

(WebCore::MockRealtimeVideoSource::mockCamera const):
(WebCore::MockRealtimeVideoSource::mockDisplay const):

  • platform/network/DNS.h:

(WebCore::IPAddress::isIPv4 const):
(WebCore::IPAddress::isIPv6 const):

  • platform/network/FormData.cpp:

(WebCore::FormData::imageOrMediaFilesCount const):
(WebCore::FormData::appendData):
(WebCore::FormData::appendMultiPartKeyValuePairItems):
(WebCore::FormData::appendNonMultiPartKeyValuePairItems):
(WebCore::FormData::flatten const):
(WebCore::FormData::containsBlobElement const):
(WebCore::FormData::prepareForUpload):
(WebCore::FormData::asSharedBuffer const):
(WebCore::FormData::asBlobURL const):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::hasUpload const):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::setHTTPBody):

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::enableSSLForHost):

  • platform/network/curl/CurlSSLHandle.cpp:

(WebCore::CurlSSLHandle::clearCACertInfo):

  • platform/network/curl/CurlSSLVerifier.cpp:

(WebCore::CurlSSLVerifier::CurlSSLVerifier):

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessageBody const):

  • platform/network/soup/WebKitFormDataInputStream.cpp:

(webkitFormDataInputStreamNew):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writeCustomData):

  • platform/xr/PlatformXR.h:

(PlatformXR::Device::FrameData::View::encode const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::setChildrenInline):
(WebCore::RenderBlockFlow::deleteLines):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::hasLineLayout const):
(WebCore::RenderBlockFlow::hasLegacyLineLayout const):
(WebCore::RenderBlockFlow::hasModernLineLayout const):

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyCustomProperty):
(WebCore::Style::Builder::applyProperty):

  • workers/service/ServiceWorkerJobData.cpp:

(WebCore::ServiceWorkerJobData::serviceWorkerPageIdentifier const):

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::queueTaskToPostMessage):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::cancelJobsFromServiceWorker):

Source/WebKit:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::resolveBlobReferences):

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • NetworkProcess/cache/NetworkCacheDataCurl.cpp:

(WebKit::NetworkCache::Data::Data):

  • Platform/IPC/ArgumentCoders.h:

(IPC::ArgumentCoder<std::monostate>::encode):
(IPC::ArgumentCoder<std::monostate>::decode):
(IPC::ArgumentCoder<Monostate>::encode): Deleted.
(IPC::ArgumentCoder<Monostate>::decode): Deleted.

  • Platform/IPC/FormDataReference.h:

(IPC::FormDataReference::encode const):

  • Platform/IPC/MessageReceiveQueueMap.cpp:

(IPC::MessageReceiveQueueMap::get const):

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::sendOutputMessage):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<IDBKeyPath>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientData>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientIdentifier>::encode):

  • Shared/WebPreferencesStore.cpp:

(WebKit::valueForKey):

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::isValidBackgroundActivity):
(WebKit::ProcessThrottler::isValidForegroundActivity):
(WebKit::ProcessThrottler::TimedActivity::updateTimer):

  • UIProcess/WebAuthentication/Authenticator.cpp:

(WebKit::Authenticator::handleRequest):

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::WebCore::getRpId):
(WebKit::WebCore::getUserName):
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::invokePendingCompletionHandler):

  • UIProcess/WebAuthentication/WebAuthenticationRequestData.cpp:

(WebKit::getClientDataType):
(WebKit::getUserVerificationRequirement):

  • UIProcess/gtk/WebPasteboardProxyGtk.cpp:

(WebKit::WebPasteboardProxy::writeCustomData):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::create):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableIOSurfaceBackend::create):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):

  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::executePendingEditorCommands):

  • WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:

(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection):

Source/WTF:

  • wtf/Variant.h:

(WTF::switchOn):
(): Deleted.
(WTF::visit): Deleted.
(WTF::get_if): Deleted.

Tools:

  • TestWebKitAPI/Tests/WTF/Variant.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:

(addValuesToTable):

1:34 PM Changeset in webkit [284015] by Alan Coon
  • 2 edits in branches/safari-612-branch/LayoutTests

Apply patch. rdar://problem/84113071

Branch application of r283529.

1:34 PM Changeset in webkit [284014] by Alan Coon
  • 3 edits in branches/safari-612-branch/LayoutTests

Apply patch. rdar://problem/83953928

Branch application of r282866.

1:34 PM Changeset in webkit [284013] by Alan Coon
  • 14 edits
    3 deletes in branches/safari-612-branch

Apply patch. rdar://problem/83953336

Branch application of r282513.

1:34 PM Changeset in webkit [284012] by Alan Coon
  • 44 edits
    1 copy
    300 adds in branches/safari-612-branch/LayoutTests

Apply patch. rdar://problem/83954451

Branch application of r282203.

1:33 PM Changeset in webkit [284011] by Alan Coon
  • 2 edits in branches/safari-612-branch/Source/WebCore

Apply patch. rdar://problem/84113082

Branch application of r281545.

1:22 PM Changeset in webkit [284010] by Jonathan Bedard
  • 3 edits in trunk/Tools

Reverting r282216 becasue unauthenticated GitHub requests have low rate limits
https://bugs.webkit.org/show_bug.cgi?id=230095

Reviewed by Ryan Haddad.

  • CISupport/ews-build/factories.py:

(WatchListFactory.init):

  • CISupport/ews-build/factories_unittest.py:

(TestExpectedBuildSteps):

1:09 PM Changeset in webkit [284009] by Chris Dumez
  • 127 edits in trunk/Source

Allow direct construction of WeakPtr without makeWeakPtr()
https://bugs.webkit.org/show_bug.cgi?id=231580

Reviewed by Darin Adler.

Allow direct construction of WeakPtr without makeWeakPtr(), and deprecate makeWeakPtr().

Source/WebCore:

  • Modules/applepay/PaymentCoordinator.cpp:

(WebCore::PaymentCoordinator::canMakePaymentsWithActiveCard):
(WebCore::PaymentCoordinator::getSetupFeatures):
(WebCore::PaymentCoordinator::beginApplePaySetup):

  • Modules/async-clipboard/Clipboard.cpp:

(WebCore::Clipboard::Clipboard):
(WebCore::Clipboard::ItemWriter::ItemWriter):

  • Modules/async-clipboard/ClipboardItem.cpp:

(WebCore::ClipboardItem::ClipboardItem):

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):

  • Modules/contact-picker/ContactsManager.cpp:

(WebCore::ContactsManager::ContactsManager):

  • Modules/credentialmanagement/NavigatorCredentials.cpp:

(WebCore::NavigatorCredentials::credentials):

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):

  • Modules/encryptedmedia/MediaKeySystemAccess.cpp:

(WebCore::MediaKeySystemAccess::createMediaKeys):

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::listenForDeviceChanges):

  • Modules/webxr/WebXRSession.cpp:

(WebCore::WebXRSession::requestReferenceSpace):

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::currentModalNode):

  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::setRenderer):

  • accessibility/AccessibilitySVGRoot.cpp:

(WebCore::AccessibilitySVGRoot::setParent):

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::AccessibilityScrollView):

  • accessibility/atspi/AccessibilityRootAtspi.cpp:

(WebCore::AccessibilityRootAtspi::AccessibilityRootAtspi):

  • animation/AnimationEffect.h:

(WebCore::AnimationEffect::setAnimation):

  • css/typedom/CSSStyleImageValue.cpp:

(WebCore::CSSStyleImageValue::CSSStyleImageValue):

  • dom/AbortSignal.cpp:

(WebCore::AbortSignal::signalFollow):

  • dom/Document.cpp:

(WebCore::Document::didLogMessage):
(WebCore::Document::didRejectSyncXHRDuringPageDismissal):

  • dom/DocumentStorageAccess.cpp:

(WebCore::DocumentStorageAccess::hasStorageAccess):
(WebCore::DocumentStorageAccess::requestStorageAccess):
(WebCore::DocumentStorageAccess::requestStorageAccessQuirk):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):

  • dom/FullscreenManager.cpp:

(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::exitFullscreen):

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::scheduleObservationUpdate):

  • html/FileInputType.cpp:

(WebCore::FileInputType::filesChosen):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::buildBubbleTree):

  • html/shadow/MediaControlTextTrackContainerElement.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateSizes):

  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression):

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::recordAction):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::computeIsDone):

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didFinishTransition):

  • platform/DeferrableTask.h:

(WebCore::MainThreadDeferrableTask::scheduleTask):

  • platform/audio/mac/AudioHardwareListenerMac.cpp:

(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):

  • platform/cocoa/PowerSourceNotifier.mm:

(WebCore::PowerSourceNotifier::PowerSourceNotifier):

  • platform/cocoa/RemoteCommandListenerCocoa.mm:

(WebCore::RemoteCommandListenerCocoa::RemoteCommandListenerCocoa):

  • platform/encryptedmedia/CDMPrivate.cpp:

(WebCore::CDMPrivate::doSupportedConfigurationStep):

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMInstanceSessionClearKey::requestLicense):
(WebCore::CDMInstanceSessionClearKey::updateLicense):
(WebCore::CDMInstanceSessionClearKey::loadSession):
(WebCore::CDMInstanceSessionClearKey::closeSession):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::setNeedsRenderingModeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):

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

(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequests):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):

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

(WebCore::LocalSampleBufferDisplayLayer::requestNotificationWhenReadyForVideoData):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playAtHostTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseAtHostTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):

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

(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::setCDMSession):
(WebCore::SourceBufferPrivateAVFObjC::flushVideo):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::notifyClientWhenReadyForMoreSamples):
(WebCore::SourceBufferPrivateAVFObjC::setVideoLayer):
(WebCore::SourceBufferPrivateAVFObjC::setDecompressionSession):

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

(WebCore::DataURLResourceMediaLoader::DataURLResourceMediaLoader):

  • platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:

(WebCore::TextTrackRepresentationCocoa::boundsChanged):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPositionOnNextIteration const):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::initializationDataEncountered):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers):

  • platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.cpp:

(WebCore::LibWebRTCDTMFSenderBackend::OnToneChange):

  • platform/mediastream/mac/CGDisplayStreamCaptureSource.cpp:

(WebCore::CGDisplayStreamCaptureSource::frameAvailableHandler):

  • platform/mock/MediaPlaybackTargetPickerMock.cpp:

(WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
(WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets):
(WebCore::MediaPlaybackTargetPickerMock::setState):

  • platform/network/cocoa/CookieStorageObserver.mm:

(WebCore::CookieStorageObserver::cookiesDidChange):

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::registerCookieChangeListenersIfNecessary):

  • platform/xr/openxr/PlatformXROpenXR.cpp:

(PlatformXR::OpenXRDevice::endSession):
(PlatformXR::OpenXRDevice::updateInteractionProfile):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::setWidgetGeometry):
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::updateWidgetPosition):

  • testing/WebFakeXRDevice.cpp:

(WebCore::SimulatedXRDevice::initializeTrackingAndRendering):

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerMainRunLoop::postTaskAndTerminate):
(WebCore::WorkerMainRunLoop::postTaskForMode):

Source/WebCore/PAL:

  • pal/system/mac/SystemSleepListenerMac.mm:

(PAL::SystemSleepListenerMac::SystemSleepListenerMac):

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking):

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::ResourceLoadStatisticsStore::scheduleStatisticsProcessingRequestIfNecessary):
(WebKit::ResourceLoadStatisticsStore::debugBroadcastConsoleMessage):

  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::cancel):

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::scheduleFailure):

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkRequest):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::m_messagePortChannelRegistry):
(WebKit::NetworkProcess::suspendIDBServers):
(WebKit::NetworkProcess::storageQuotaManager):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::startNetworkLoad):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::handlePrivateClickMeasurementConversion):

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::initialize):
(WebKit::PingLoad::didReceiveChallenge):
(WebKit::PingLoad::didReceiveResponse):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:

(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::fireConversionRequest):
(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
(WebKit::PrivateClickMeasurementManager::destroyStoreForTesting):

  • NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:

(WebKit::ServiceWorkerSoftUpdateLoader::ServiceWorkerSoftUpdateLoader):

  • NetworkProcess/WebStorage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::startTransactionIfNecessary):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::setIsHoldingLockedFiles):

  • Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):

  • Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

  • Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

  • Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:

(WebKit::AuthenticationManager::initializeConnection):

  • Shared/WebSQLiteDatabaseTracker.cpp:

(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction):

  • UIProcess/ApplicationStateTracker.mm:

(WebKit::ApplicationStateTracker::ApplicationStateTracker):

  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::checkForResponsiveness):

  • UIProcess/Cocoa/DownloadProxyMapCocoa.mm:

(WebKit::DownloadProxyMap::platformCreate):

  • UIProcess/Cocoa/ModelElementControllerCocoa.mm:

(WebKit::ModelElementController::modelElementDidCreatePreview):

  • UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:

(WebKit::SOAuthorizationSession::start):
(WebKit::SOAuthorizationSession::continueStartAfterGetAuthorizationHints):
(WebKit::SOAuthorizationSession::complete):
(WebKit::SOAuthorizationSession::presentViewController):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::scheduleActivityStateUpdate):
(WebKit::WebPageProxy::setUpHighlightsObserver):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::sendAudioComponentRegistrations):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::showSafeBrowsingWarning):
(WebKit::WebViewImpl::updateWindowAndViewFrames):
(WebKit::WebViewImpl::scheduleSetTopContentInsetDispatch):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::prepareForMoveToWindow):
(WebKit::WebViewImpl::validateUserInterfaceItem):
(WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
(WebKit::WebViewImpl::interpretKeyEvent):
(WebKit::WebViewImpl::firstRectForCharacterRange):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyUp):
(WebKit::WebViewImpl::keyDown):
(WebKit::WebViewImpl::flagsChanged):
(WebKit::WebViewImpl::nativeMouseEventHandler):
(WebKit::WebViewImpl::handleContextMenuTranslation):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::getGPUProcessConnection):

  • UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm:

(WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::getNetworkProcessConnection):

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::setAssertionType):
(WebKit::ProcessThrottler::sendPrepareToSuspendIPC):

  • UIProcess/SpeechRecognitionPermissionManager.cpp:

(WebKit::SpeechRecognitionPermissionManager::requestUserPermission):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::grantRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo):
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):

  • UIProcess/UserMediaProcessManager.cpp:

(WebKit::UserMediaProcessManager::updateCaptureDevices):

  • UIProcess/WebAuthentication/Authenticator.cpp:

(WebKit::Authenticator::handleRequest):

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::clearStateAsync):
(WebKit::AuthenticatorManager::downgrade):
(WebKit::AuthenticatorManager::requestPin):
(WebKit::AuthenticatorManager::runPanel):

  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp:

(WebKit::AuthenticatorTransportService::startDiscovery):
(WebKit::AuthenticatorTransportService::restartDiscovery):

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterReceivingLAContext):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):

  • UIProcess/WebAuthentication/Cocoa/NfcService.mm:

(WebKit::NfcService::platformStartDiscovery):

  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp:

(WebKit::MockHidConnection::send):
(WebKit::MockHidConnection::feedReports):
(WebKit::MockHidConnection::continueFeedReports):

  • UIProcess/WebAuthentication/Mock/MockNfcService.mm:

(WebKit::MockNfcService::receiveStartPolling):

  • UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp:

(WebKit::WebAuthnProcessProxy::getWebAuthnProcessConnection):

  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:

(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::getAssertion):
(WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetNextAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::getRetries):
(WebKit::CtapAuthenticator::continueGetKeyAgreementAfterGetRetries):
(WebKit::CtapAuthenticator::continueRequestPinAfterGetKeyAgreement):
(WebKit::CtapAuthenticator::continueGetPinTokenAfterRequestPin):

  • UIProcess/WebAuthentication/fido/CtapHidDriver.cpp:

(WebKit::CtapHidDriver::Worker::transact):
(WebKit::CtapHidDriver::Worker::write):
(WebKit::CtapHidDriver::transact):
(WebKit::CtapHidDriver::continueAfterChannelAllocated):

  • UIProcess/WebAuthentication/fido/FidoService.cpp:

(WebKit::FidoService::getInfo):

  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

(WebKit::U2fAuthenticator::issueCommand):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::tryClose):
(WebKit::WebPageProxy::setUnderPageBackgroundColorOverride):
(WebKit::WebPageProxy::handlePreventableTouchEvent):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::runModalJavaScriptDialog):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::createMediaSessionCoordinator):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::getGPUProcessConnection):
(WebKit::WebProcessPool::getWebAuthnProcessConnection):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::isResponsive):
(WebKit::WebProcessProxy::isResponsiveWithLazyStop):
(WebKit::WebProcessProxy::establishServiceWorkerContext):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::getNetworkProcessConnection):

  • UIProcess/XR/PlatformXRSystem.cpp:

(WebKit::PlatformXRSystem::initializeTrackingAndRendering):

  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::acquireSync):
(WebKit::ProcessAndUIAssertion::processAssertionWasInvalidated):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::willOpenAppLink):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::prepareForPlayback):
(WebKit::MediaPlayerPrivateRemote::load):
(WebKit::MediaPlayerPrivateRemote::performTaskAtMediaTime):

  • WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:

(WebKit::UserMediaPermissionRequestManager::updateCaptureDevices):

  • WebProcess/WebCoreSupport/WebPermissionController.cpp:

(WebKit::WebPermissionController::tryProcessingRequests):

  • WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp:

(WebKit::WebSpeechSynthesisClient::speak):
(WebKit::WebSpeechSynthesisClient::pause):
(WebKit::WebSpeechSynthesisClient::resume):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::sendDidFirstLayerFlushIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacksIfNeeded):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCheckingOfString):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::getLoadDecisionForIcons):

Source/WTF:

  • wtf/WeakPtr.h:

(WTF::WeakPtr::WeakPtr):
(WTF::WeakPtr::implForObject):
(WTF::makeWeakPtr):

1:08 PM Changeset in webkit [284008] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Add an override stylesheet for the alternate form control design
https://bugs.webkit.org/show_bug.cgi?id=231565

Reviewed by Devin Rousso.

  • DerivedSources.make:
  • style/UserAgentStyle.cpp:

(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):

  • style/UserAgentStyle.h:
12:51 PM Changeset in webkit [284007] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Cocoa GraphicsContextGLOpenGL uses depth and stencil for pbuffers on ANGLE Metal
https://bugs.webkit.org/show_bug.cgi?id=231424

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-12
Reviewed by Dean Jackson.

ANGLE Metal allocates depth and stencil buffers when a pbuffer is bound to
a texture via eglBindTexImage.
To side-step this performance issue, allocate the gl context with EGLConfig
that disables depth and stencil. The config is used for the video texture
upload context, video texture upload pbuffers as well as other pbuffers.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

12:49 PM Changeset in webkit [284006] by Alan Coon
  • 31 edits
    2 adds in branches/safari-612-branch

Apply patch. rdar://problem/84130892

12:39 PM Changeset in webkit [284005] by Jonathan Bedard
  • 2 edits in trunk/Tools

[Python-3] Invoke webkit-patch with Python 3 by default
https://bugs.webkit.org/show_bug.cgi?id=231591
<rdar://problem/84153640>

Reviewed by Michael Catanzaro.

  • Scripts/webkit-patch: Change shebang to Python 3.
12:37 PM Changeset in webkit [284004] by ysuzuki@apple.com
  • 2 edits in trunk/Tools

Unreviewed, run-benchmark fix after r283936
https://bugs.webkit.org/show_bug.cgi?id=231512

import sys is necessary.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
12:32 PM Changeset in webkit [284003] by timothy_horton@apple.com
  • 18 edits in trunk

Borders are not drawn when using BifurcatedGraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=230976
<rdar://problem/83657330>

Reviewed by Sam Weinig.

Source/WebCore:

New API Test: BifurcatedGraphicsContextTests.Borders

There is a minor problem with the children of bifurcated graphics contexts,
which is that they each currently maintain their own GraphicsContextState,
and some GraphicsContext implementations read from that state internally
to do work (e.g. the CG context reads the StrokeStyle in drawLine()).
This means that both children need to mirror the state of the toplevel.

You could imagine merging changes to m_state in each context's implementation
of updateState(), but A) updateState is called in *response* to the local
GraphicsContextState changing (so this would be a bit circular), and
B) this would require each GraphicsContext to do this work.

Instead, rename updateState to didUpdateState to make it more clear
that it is in response to a change, not performing the change itself,
and add a new updateState, which also merges the changes into m_state.
BifurcatedGraphicsContext is the only client of updateState at the moment.

  • platform/graphics/BifurcatedGraphicsContext.cpp:

(WebCore::BifurcatedGraphicsContext::didUpdateState):
(WebCore::BifurcatedGraphicsContext::updateState): Deleted.

  • platform/graphics/BifurcatedGraphicsContext.h:

Rename updateState->didUpdateState, but leave it calling updateState()
on the children as explained above.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContextState::mergeChanges):
Move "merge this set of state changes" part of GraphicsContextStateChange::accumulate
to a method on GraphicsContextState itself (resolving the FIXME and also
separating the parts that are specific to accumulating deltas from the
generic parts for merging changes).

(WebCore::GraphicsContextStateChange::accumulate):
(WebCore::GraphicsContext::updateState):
Add updateState(), which merges the changes to the GraphicsContextState
and then turns around and calls didUpdateState() to propagate them to
the platform context (or whatever each implementation wants to do).

(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::setCompositeOperation):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::setShouldSmoothFonts):
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setDrawLuminanceMask):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::setUseDarkAppearance):

  • platform/graphics/NullGraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContextCairo::didUpdateState):
(WebCore::GraphicsContextCairo::updateState): Deleted.

  • platform/graphics/cairo/GraphicsContextCairo.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContextCG::GraphicsContextCG):
(WebCore::GraphicsContextCG::didUpdateState):
(WebCore::GraphicsContextCG::updateState): Deleted.

  • platform/graphics/cg/GraphicsContextCG.h:
  • platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp:

(WebCore::DisplayList::DrawGlyphsRecorder::updateFillColor):
(WebCore::DisplayList::DrawGlyphsRecorder::updateStrokeColor):
(WebCore::DisplayList::DrawGlyphsRecorder::updateShadow):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::didUpdateState):
(WebCore::DisplayList::Recorder::updateState): Deleted.

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:

(Nicosia::CairoOperationRecorder::didUpdateState):
(Nicosia::CairoOperationRecorder::updateState): Deleted.

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContextDirect2D::didUpdateState):
(WebCore::GraphicsContextDirect2D::updateState): Deleted.
Rename updateState->didUpdateState.

Tools:

  • TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp:

(TestWebKitAPI::TEST):
Add a test for line drawing.

12:31 PM Changeset in webkit [284002] by Jonathan Bedard
  • 2 edits in trunk/Tools

Move few scripts from python 2 to python3 (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=229817

Reviewed by Alexey Proskuryakov.

  • CISupport/clean-build: Invoke clean-webkit with Python 3.
12:08 PM Changeset in webkit [284001] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/scrolling/ios/reconcile-layer-position-recursive.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231603

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
12:05 PM Changeset in webkit [284000] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

REGRESSION: (r283871) [ macOS wk2 Release ] 2 CSS tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=231600.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
12:04 PM Changeset in webkit [283999] by Russell Epstein
  • 1 copy in tags/Safari-613.1.4.3

Tag Safari-613.1.4.3.

12:03 PM Changeset in webkit [283998] by Brent Fulgham
  • 9 edits in trunk/Source/WebKit

Sandbox complexity and performance improvements
https://bugs.webkit.org/show_bug.cgi?id=231184
<rdar://problem/47565664>

Reviewed by Per Arne Vollan.

This patch adopts a set of suggested improvements made by Apple's Sandbox team:

  1. Minimize regex usage
  2. Remove duplicate rules
  3. Remove 'defined?' checks for the many things that are supported in all WebKit target OSes.

These will simplify the rules, and should provide some launch time improvement.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
11:55 AM Changeset in webkit [283997] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/webrtc/simulcast/getStats.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231602

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
11:47 AM Changeset in webkit [283996] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS Release ] fast/mediastream/mediaElement-gc.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231601

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
11:44 AM Changeset in webkit [283995] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix build with differently unified souces
https://bugs.webkit.org/show_bug.cgi?id=231589

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Simon Fraser.

shadowPaintingExtent was only defined in DisplayListRecorder.cpp and only used in DisplayListRecorderImpl.cpp

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::shadowPaintingExtent): Deleted.

  • platform/graphics/displaylists/DisplayListRecorderImpl.cpp:

(WebCore::DisplayList::shadowPaintingExtent):

11:36 AM Changeset in webkit [283994] by Russell Epstein
  • 6 edits in branches/safari-613.1.4-branch/Source

Cherry-pick r283940. rdar://problem/84110761

Disable SystemPreview in WKContentProviderRegistry
https://bugs.webkit.org/show_bug.cgi?id=231538
rdar://84110761

Reviewed by Tim Horton.

Source/WebKit:

Disable the WebViewContentProvider for System Previews
if UIKIT_WEBKIT_INTERNALS is true.

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: (-[WKWebViewContentProviderRegistry initWithConfiguration:]):
  • UIProcess/ios/WKSystemPreviewView.h:
  • UIProcess/ios/WKSystemPreviewView.mm:

Source/WTF:

Revert the change in r283811.

  • wtf/PlatformUse.h:

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

11:35 AM Changeset in webkit [283993] by Russell Epstein
  • 8 edits in branches/safari-613.1.4-branch/Source

Versioning.

WebKit-7613.1.4.3

10:58 AM Changeset in webkit [283992] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS][GPUP] Remove sandbox access to com.apple.audio.AudioComponentRegistrar
https://bugs.webkit.org/show_bug.cgi?id=231583
<rdar://75225970>

Reviewed by Brent Fulgham.

Remove sandbox access to com.apple.audio.AudioComponentRegistrar in GPUP on iOS, since it is not required there.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
10:47 AM Changeset in webkit [283991] by Wenson Hsieh
  • 3 edits in trunk/Source/WebKit

Add some missing WebCore:: namespaces in RemoteDisplayListRecorderProxy
https://bugs.webkit.org/show_bug.cgi?id=231584

Reviewed by Myles C. Maxfield.

A tiny bit of cleanup before #230860.

  • GPUProcess/graphics/RemoteDisplayListRecorder.h:

(WebKit::RemoteDisplayListRecorder::handleItem):

Drive-by fix: also add a missing call to std::forward when applying display list items with additional
resources as arguments.

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:

Add the missing WebCore:: prefixes.

10:26 AM Changeset in webkit [283990] by Ross Kirsling
  • 2 edits in trunk/Source/WTF

Unreviewed WinCairo build fix for r283943.

  • wtf/JSONValues.h:
10:00 AM AnalyzingBuildPerformance edited by jer.noble@apple.com
Add section on inlined virtual functions. (diff)
9:47 AM Changeset in webkit [283989] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-without-interaction.py is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231586

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
9:35 AM Changeset in webkit [283988] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS 15 Debug ] imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231387

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
9:31 AM Changeset in webkit [283987] by Philippe Normand
  • 2 edits in trunk

Add my github username to contributors.json

Unreviewed.

  • metadata/contributors.json:
9:28 AM Changeset in webkit [283986] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

media/track/track-cue-css.html is a flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=230070

Unreviewed test gardening.

  • platform/ios-14-wk2/TestExpectations:
  • platform/ios-wk2/TestExpectations:
9:21 AM Changeset in webkit [283985] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[Release WK2] imported/w3c/web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231348

Unreviewed test gardening.

  • platform/wk2/TestExpectations:
9:13 AM Changeset in webkit [283984] by commit-queue@webkit.org
  • 8 edits in trunk

Remove non-HAVE(CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE) code
https://bugs.webkit.org/show_bug.cgi?id=231579

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(processServerTrustEvaluation):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

Source/WTF:

  • wtf/PlatformHave.h:

This was incorrectly marked as not being available on watchOS and tvOS. It is.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:

(TestWebKitAPI::TEST):

8:48 AM Changeset in webkit [283983] by Simon Fraser
  • 15 edits in trunk/Source

Have the ScrollingTree track nodes with animated scrolls
https://bugs.webkit.org/show_bug.cgi?id=231554

Reviewed by Tim Horton.

Source/WebCore:

A future patch will require that a ScrollingCoordinator knows when there are any nodes with
active scroll animations running.

Create the plumbing for this via ScrollingTree::setAnimatedScrollInProgressForNode() which
updates a HashSet data member.

ScrollingTreeScrollingNode subclasses which can run animations via their delegate, i.e.
ScrollingTree{Overflow, Frame}ScrollingNode{Mac, Nicosia, iOS} now call
willStartAnimatedScroll() if the animation started. The existing
ScrollingTreeScrollingNode::didStopAnimatedScroll() is the book-end.

ThreadedScrollingTree changes are a hint of things to come; we will need to tell a future
ScrollingCoordinator subclass when scroll animations start/stop, and displayDidRefresh() and
willStartRenderingUpdate() code need to do the same stuff when animations are running as
they do when handling wheel events.

  • page/scrolling/AsyncScrollingCoordinator.h:

(WebCore::AsyncScrollingCoordinator::hasNodeWithAnimatedScrollChanged):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::isAnimatedScrollInProgressForNode):
(WebCore::ScrollingTree::setAnimatedScrollInProgressForNode):
(WebCore::ScrollingTree::hasNodeWithActiveAnimatedScroll):

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::hasNodeWithAnimatedScrollChanged):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::didStopAnimatedScroll):
(WebCore::ScrollingTreeScrollingNode::willStartAnimatedScroll):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::scrollingThreadIsActive):
(WebCore::ThreadedScrollingTree::willStartRenderingUpdate):
(WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
(WebCore::ThreadedScrollingTree::displayDidRefresh):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::currentScrollPositionChanged):

  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:

(WebCore::ScrollingTreeOverflowScrollingNodeMac::startAnimatedScrollToPosition):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::startAnimatedScrollToPosition):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::startAnimatedScrollToPosition):

Source/WebKit:

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::startAnimatedScrollToPosition):

8:47 AM Changeset in webkit [283982] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Begin migration from WTF::Variant to std::variant
https://bugs.webkit.org/show_bug.cgi?id=231086

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::WatchpointsOnStructureStubInfo::addWatchpoint):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCallDOM):

  • runtime/TemporalTimeZone.cpp:

(JSC::TemporalTimeZone::createFromID):
(JSC::TemporalTimeZone::createFromUTCOffset):

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • bindings/js/JSDOMConvertUnion.h:
  • platform/network/FormData.h:

(WebCore::FormDataElement::operator== const):

Source/WebKit:

  • Platform/IPC/ArgumentCoders.h:

(IPC::VariantCoder::encode):
(IPC::VariantCoder::decode):

Source/WTF:

This is reasonably close to just changing the header and all the code stays the same until later.
Templates that were only used once like std::variant_size I just changed inline instead of adding a wrapper to Variant.h.
WTF::get still means something else, so I just changed the few that take a Variant parameter to std::get in the code.
WTF::in_place maps to std::in_place_type and std::in_place_index_t, so I just changed those in the code too.
There was also another visitor added since r283906 with different return types among the lambdas, so I just fixed it with the switch.

  • wtf/Forward.h:
  • wtf/Hasher.h:

(WTF::add):

  • wtf/Variant.h:

(WTF::get):
(WTF::visit):
(WTF::get_if):
(WTF::in_place): Deleted.
(WTF::throw_bad_variant_access): Deleted.
(WTF::=): Deleted.
(WTF::
variant_storage::get): Deleted.
(WTF::
variant_storage::get_rref): Deleted.
(WTF::
variant_storage::destroy): Deleted.
(WTF::
storage_wrapper::construct): Deleted.
(WTF::
storage_wrapper::storage_wrapper): Deleted.
(WTF::
storage_wrapper::get): Deleted.
(WTF::
storage_wrapper::get const): Deleted.
(WTF::
storage_wrapper::destroy): Deleted.
(WTF::
storage_wrapper<_Type::storage_wrapper): Deleted.
(WTF::
storage_wrapper<_Type::get): Deleted.
(WTF::
storage_wrapper<_Type::get const): Deleted.
(WTF::
variant_base::~variant_base): Deleted.
(WTF::
backup_storage_ops::move_construct_func): Deleted.
(WTF::
backup_storage_ops::destroy_func): Deleted.
(WTF::
backup_storage::backup_storage): Deleted.
(WTF::
backup_storage::destroy): Deleted.
(WTF::
backup_storage::~backup_storage): Deleted.
(WTF::Variant<>::swap): Deleted.
(WTF::
NOEXCEPT_): Deleted.
(WTF::variant_accessor::get): Deleted.
(WTF::
visitor_table::trampoline_func): Deleted.
(WTF::
arg_selector): Deleted.
(WTF::visit_helper2::visit): Deleted.
(WTF::operator==): Deleted.
(WTF::operator!=): Deleted.
(WTF::operator<): Deleted.
(WTF::operator>): Deleted.
(WTF::operator>=): Deleted.
(WTF::operator<=): Deleted.
(WTF::hash_visitor::operator()): Deleted.

8:43 AM Changeset in webkit [283981] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

[LFC][Integration] Add support for painting inline box decorations
https://bugs.webkit.org/show_bug.cgi?id=231561

Reviewed by Alan Bujtas.

Add code for painting inline box backgrounds and borders with InlineBoxPainter.
This patch does not enable anything new yet.

  • layout/integration/InlineIteratorInlineBox.cpp:

(WebCore::InlineIterator::inlineBoxFor):

  • layout/integration/InlineIteratorInlineBox.h:
  • layout/integration/LayoutIntegrationCoverage.cpp:

Add a new flag for background-clip:text which is not yet supported by code.
It becomes relevant when background painting is enabled.

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForRenderInlineChild):

  • layout/integration/LayoutIntegrationCoverage.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

Paint inline boxes using InlineBoxPainter.

(WebCore::LayoutIntegration::LineLayout::paintTextBoxUsingPhysicalCoordinates): Deleted.

Simplify the intersection code and move it to paint().

  • layout/integration/LayoutIntegrationLineLayout.h:
  • rendering/InlineBoxPainter.cpp:

(WebCore::InlineBoxPainter::InlineBoxPainter):

Take InlineDisplay::Box.

  • rendering/InlineBoxPainter.h:
6:48 AM Changeset in webkit [283980] by Aditya Keerthi
  • 4 edits in trunk

[css-ui] Fix interpolation of accent-color
https://bugs.webkit.org/show_bug.cgi?id=231443
rdar://84037162

Reviewed by Antoine Quint.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-ui/animation/accent-color-interpolation-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

5:36 AM Changeset in webkit [283979] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

WebGL first clear is lost when scissor is used for preserveDrawingBuffer:true in some conditions
https://bugs.webkit.org/show_bug.cgi?id=230618
<rdar://problem/83668270>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-12
Reviewed by Dean Jackson.

Source/WebCore:

Disable scissor for the duration of the blit from drawing buffer
to display buffer.
Not testable via WebGL conformance test suite as it affects the compositing.

Test: webgl/gl-clear-preserve-drawing-buffer-bug.html

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::prepareTextureImpl):

LayoutTests:

Add a pixel test to verify that scissor is not applied when blitting drawing buffer
to display buffer in preserveDrawingBuffer: true case.

  • webgl/gl-clear-preserve-drawing-buffer-bug-expected.html: Added.
  • webgl/gl-clear-preserve-drawing-buffer-bug.html: Added.
4:02 AM Changeset in webkit [283978] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add syscall telemetry in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=231508
<rdar://83197060>

Reviewed by Brent Fulgham.

Add syscall telemetry in the WebContent process' sandbox to learn more about the context in which they are being used.
This patch also removes some telemetry with backtraces for other rules, since they are no longer needed.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
3:58 AM Changeset in webkit [283977] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[GPUP] Add missing entitlement
https://bugs.webkit.org/show_bug.cgi?id=231499
<rdar://83847918>

Reviewed by Brent Fulgham.

Add the entitlement "com.apple.private.webkit.use-xpc-endpoint" in the GPU process,
which will enable XPC communication with other WebKit processes.

  • Scripts/process-entitlements.sh:
2:48 AM Changeset in webkit [283976] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r283890.
https://bugs.webkit.org/show_bug.cgi?id=231567

Introduced crash

Reverted changeset:

"Block access in sandbox to capability which is allowed by
default"
https://bugs.webkit.org/show_bug.cgi?id=231079
https://commits.webkit.org/r283890

2:45 AM Changeset in webkit [283975] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Error the encoder in case we cannot create a RemoteVideoSample
https://bugs.webkit.org/show_bug.cgi?id=231505
<rdar://83975229>

Reviewed by Eric Carlson.

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::encodeFrame):
RemoteVideoSample::create can return nullptr if we cannot get an IOSurface from the pixel buffer or if pixel buffer is null
due to VTPixelBufferConformerCopyConformedPixelBuffer failing.
In that case, we error the encoder instead of trying to encode the frame.

2:30 AM Changeset in webkit [283974] by ysuzuki@apple.com
  • 4 edits
    1 add in branches/safari-612-branch

Cherry-pick r281688. rdar://83955408

1:40 AM Changeset in webkit [283973] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

Use isSameOriginAsTopDocument() in DocumentLoader::shouldOpenExternalURLsPolicyToPropagate
https://bugs.webkit.org/show_bug.cgi?id=231539

Reviewed by Youenn Fablet.

No behavior change, same thing.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::shouldOpenExternalURLsPolicyToPropagate const):

1:07 AM Changeset in webkit [283972] by Diego Pino Garcia
  • 4 edits in trunk/Tools

[GTK] Unreviewed build fix. Fix build for Debian 10 (Buster)

  • TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
  • TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
  • TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1:02 AM Changeset in webkit [283971] by mmaxfield@apple.com
  • 16 edits
    1 add in trunk

Source/WebCore:
Remove ImplicitAddress
https://bugs.webkit.org/show_bug.cgi?id=230820
<rdar://problem/83826318>

Patch by Saam Barati <sbarati@apple.com> on 2021-10-11
Reviewed by Yusuke Suzuki.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

Source/WebKit:
[GPU Process] Unique RenderingResourceIdentifiers Part 8: Consolidate DisplayList::ResourceHeap
https://bugs.webkit.org/show_bug.cgi?id=231411
<rdar://problem/84013167>

Reviewed by Simon Fraser.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::submit):

  • GPUProcess/graphics/RemoteResourceCache.cpp:

(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::deleteAllFonts):
(WebKit::RemoteResourceCache::maybeRemoveResource):
(WebKit::RemoteResourceCache::updateHasActiveDrawables):

  • GPUProcess/graphics/RemoteResourceCache.h:

(WebKit::RemoteResourceCache::resourceHeap const):
(WebKit::RemoteResourceCache::imageBuffers const): Deleted.
(WebKit::RemoteResourceCache::nativeImages const): Deleted.
(WebKit::RemoteResourceCache::fonts const): Deleted.

Tools:
[GPU Process] Unique RenderingResourceIdentifiers Part 8: Consolidate DisplayList::ResourceHeap
https://bugs.webkit.org/show_bug.cgi?id=231411
<rdar://problem/84013167>

Reviewed by Simon Fraser.

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:

(TestWebKitAPI::TEST):

Oct 11, 2021:

11:32 PM Changeset in webkit [283970] by sbarati@apple.com
  • 20 edits in trunk/Source

Remove ImplicitAddress
https://bugs.webkit.org/show_bug.cgi?id=230820
<rdar://problem/83826318>

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

Because we rely on implicit conversion from RegisterID to int values,
some compilers (aka MSVC) might convert a constant RegisterID that's passed in
to nullptr instead of calling the implicit constructor in ImplicitAddress.

For example, I got bit by this when I had code that did:
loadPtr(regT0, xyz)

This called the loadPtr(void*, RegisterID) function with nullptr passed as
the first argument instead of the loadPtr(ImplicitAddress, RegisterID)
function.

Let's avoid any such problems in the future by just not using ImplicitAddress.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::ImplicitAddress::ImplicitAddress): Deleted.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::pushToSave):
(JSC::MacroAssembler::popToRestore):
(JSC::MacroAssembler::loadPtr):
(JSC::MacroAssembler::storePtr):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::load64):
(JSC::MacroAssemblerARM64::load32):
(JSC::MacroAssemblerARM64::load16):
(JSC::MacroAssemblerARM64::load16Unaligned):
(JSC::MacroAssemblerARM64::load16SignedExtendTo32):
(JSC::MacroAssemblerARM64::load8):
(JSC::MacroAssemblerARM64::load8SignedExtendTo32):
(JSC::MacroAssemblerARM64::store64):
(JSC::MacroAssemblerARM64::store32):
(JSC::MacroAssemblerARM64::store16):
(JSC::MacroAssemblerARM64::store8):
(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::loadFloat):
(JSC::MacroAssemblerARM64::storeDouble):
(JSC::MacroAssemblerARM64::storeFloat):
(JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssemblerARM64::popToRestore):
(JSC::MacroAssemblerARM64::pushToSave):
(JSC::MacroAssemblerARM64::storePtrWithPatch):
(JSC::MacroAssemblerARM64::loadAcq8SignedExtendTo32):
(JSC::MacroAssemblerARM64::loadAcq8):
(JSC::MacroAssemblerARM64::storeRel8):
(JSC::MacroAssemblerARM64::loadAcq16SignedExtendTo32):
(JSC::MacroAssemblerARM64::loadAcq16):
(JSC::MacroAssemblerARM64::storeRel16):
(JSC::MacroAssemblerARM64::loadAcq32):
(JSC::MacroAssemblerARM64::loadAcq64):
(JSC::MacroAssemblerARM64::storeRel32):
(JSC::MacroAssemblerARM64::storeRel64):
(JSC::MacroAssemblerARM64::loadLink8):
(JSC::MacroAssemblerARM64::loadLinkAcq8):
(JSC::MacroAssemblerARM64::storeCond8):
(JSC::MacroAssemblerARM64::storeCondRel8):
(JSC::MacroAssemblerARM64::loadLink16):
(JSC::MacroAssemblerARM64::loadLinkAcq16):
(JSC::MacroAssemblerARM64::storeCond16):
(JSC::MacroAssemblerARM64::storeCondRel16):
(JSC::MacroAssemblerARM64::loadLink32):
(JSC::MacroAssemblerARM64::loadLinkAcq32):
(JSC::MacroAssemblerARM64::storeCond32):
(JSC::MacroAssemblerARM64::storeCondRel32):
(JSC::MacroAssemblerARM64::loadLink64):
(JSC::MacroAssemblerARM64::loadLinkAcq64):
(JSC::MacroAssemblerARM64::storeCond64):
(JSC::MacroAssemblerARM64::storeCondRel64):
(JSC::MacroAssemblerARM64::extractSimpleAddress):

  • assembler/MacroAssemblerARM64E.h:

(JSC::MacroAssemblerARM64E::atomicXchgAdd8):
(JSC::MacroAssemblerARM64E::atomicXchgAdd16):
(JSC::MacroAssemblerARM64E::atomicXchgAdd32):
(JSC::MacroAssemblerARM64E::atomicXchgAdd64):
(JSC::MacroAssemblerARM64E::atomicXchgXor8):
(JSC::MacroAssemblerARM64E::atomicXchgXor16):
(JSC::MacroAssemblerARM64E::atomicXchgXor32):
(JSC::MacroAssemblerARM64E::atomicXchgXor64):
(JSC::MacroAssemblerARM64E::atomicXchgOr8):
(JSC::MacroAssemblerARM64E::atomicXchgOr16):
(JSC::MacroAssemblerARM64E::atomicXchgOr32):
(JSC::MacroAssemblerARM64E::atomicXchgOr64):
(JSC::MacroAssemblerARM64E::atomicXchgClear8):
(JSC::MacroAssemblerARM64E::atomicXchgClear16):
(JSC::MacroAssemblerARM64E::atomicXchgClear32):
(JSC::MacroAssemblerARM64E::atomicXchgClear64):
(JSC::MacroAssemblerARM64E::atomicXchg8):
(JSC::MacroAssemblerARM64E::atomicXchg16):
(JSC::MacroAssemblerARM64E::atomicXchg32):
(JSC::MacroAssemblerARM64E::atomicXchg64):
(JSC::MacroAssemblerARM64E::atomicStrongCAS8):
(JSC::MacroAssemblerARM64E::atomicStrongCAS16):
(JSC::MacroAssemblerARM64E::atomicStrongCAS32):
(JSC::MacroAssemblerARM64E::atomicStrongCAS64):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::or8):
(JSC::MacroAssemblerARMv7::or16):
(JSC::MacroAssemblerARMv7::or32):
(JSC::MacroAssemblerARMv7::load32):
(JSC::MacroAssemblerARMv7::load8):
(JSC::MacroAssemblerARMv7::load8SignedExtendTo32):
(JSC::MacroAssemblerARMv7::load16):
(JSC::MacroAssemblerARMv7::load16SignedExtendTo32):
(JSC::MacroAssemblerARMv7::store32):
(JSC::MacroAssemblerARMv7::store16):
(JSC::MacroAssemblerARMv7::loadDouble):
(JSC::MacroAssemblerARMv7::loadFloat):
(JSC::MacroAssemblerARMv7::storeDouble):
(JSC::MacroAssemblerARMv7::storeFloat):
(JSC::MacroAssemblerARMv7::storePtrWithPatch):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::load8):
(JSC::MacroAssemblerMIPS::load8SignedExtendTo32):
(JSC::MacroAssemblerMIPS::load32):
(JSC::MacroAssemblerMIPS::load16):
(JSC::MacroAssemblerMIPS::store8):
(JSC::MacroAssemblerMIPS::store16):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::storePtrWithPatch):
(JSC::MacroAssemblerMIPS::loadFloat):
(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::storeFloat):
(JSC::MacroAssemblerMIPS::storeDouble):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::load32):
(JSC::MacroAssemblerX86Common::load16Unaligned):
(JSC::MacroAssemblerX86Common::load8):
(JSC::MacroAssemblerX86Common::load8SignedExtendTo32):
(JSC::MacroAssemblerX86Common::load16):
(JSC::MacroAssemblerX86Common::store32):
(JSC::MacroAssemblerX86Common::store16):
(JSC::MacroAssemblerX86Common::loadDouble):
(JSC::MacroAssemblerX86Common::loadFloat):
(JSC::MacroAssemblerX86Common::storeDouble):
(JSC::MacroAssemblerX86Common::storeFloat):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::load8):
(JSC::MacroAssemblerX86_64::load32):
(JSC::MacroAssemblerX86_64::store32):
(JSC::MacroAssemblerX86_64::load64):
(JSC::MacroAssemblerX86_64::store64):
(JSC::MacroAssemblerX86_64::storePtrWithPatch):

  • assembler/testmasm.cpp:

(JSC::testBranchTruncateDoubleToInt32):
(JSC::testLoadPrePostIndex32):
(JSC::testLoadPrePostIndex64):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileClearCatchLocals):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::restoreInto const):

  • ftl/FTLThunks.cpp:

(JSC::FTL::genericGenerationThunkGenerator):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::debugCall):
(JSC::AssemblyHelpers::sanitizeStackInline):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitGetVarFromIndirectPointer):

  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):

  • wasm/WasmBinding.cpp:

(JSC::Wasm::wasmToWasm):

  • yarr/YarrJIT.cpp:

Source/WebCore:

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

10:05 PM Changeset in webkit [283969] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GLIB] Update test expectations for failing CSS tests.
https://bugs.webkit.org/show_bug.cgi?id=231547

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-10-11

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
9:20 PM Changeset in webkit [283968] by mmaxfield@apple.com
  • 7 edits in trunk/Source/WebKit

[GPU Process] Unique RenderingResourceIdentifiers Part 5: Migrate RemoteResourceCache to QualifiedRenderingResourceIdentifier
https://bugs.webkit.org/show_bug.cgi?id=231407
<rdar://problem/84010479>

Reviewed by Said Abou-Hallawa.

This pushes QualifiedRenderingResourceIdentifier down into RemoteResourceCache, but doesn't go all the way.
This patch augments RemoteResourceCache's API to accept QualifiedRenderingResourceIdentifiers, and also
migrates RemoteResourceCache::m_resourceUseCounters to use QualifiedRenderingResourceIdentifiers.

RemoteResourceCache::m_imageBuffers, RemoteResourceCache::m_nativeImages, and RemoteResourceCache::m_fonts
are WebCore typedefs, and are passed to WebCore's display list replaying code, but that code should have no
notion of process identifiers. Therefore, in order to make those members hold data that WebCore doesn't
understand, I'm going to have to wrap an opaque class around them and pass that class around instead of
the raw HashMaps. I'll do that in another patch.

No new tests because there is no behavior change.

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::setStateWithQualifiedIdentifiers):
(WebKit::RemoteDisplayListRecorder::clipToImageBufferWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawGlyphsWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawImageBufferWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawNativeImageWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier):

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse):
(WebKit::RemoteRenderingBackend::submit):
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::finalizeRenderingUpdate):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteResourceCache.cpp:

(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::ensureResourceUseCounter):
(WebKit::RemoteResourceCache::maybeRemoveResource):
(WebKit::RemoteResourceCache::recordResourceUse):
(WebKit::RemoteResourceCache::releaseRemoteResource):

  • GPUProcess/graphics/RemoteResourceCache.h:
9:18 PM Changeset in webkit [283967] by mmaxfield@apple.com
  • 5 edits in trunk/Source

[GPU Process] Unique RenderingResourceIdentifiers Part 6: Uniquify more of RemoteDisplayListRecorder at entry points
https://bugs.webkit.org/show_bug.cgi?id=231552
<rdar://problem/84130587>

Source/WebCore:

Reviewed by Wenson Hsieh.

No new tests because there is no behavior change.

  • platform/ProcessQualified.h:

(WebCore::ProcessQualified::operator bool const):

Source/WebKit:

This is an extension of https://bugs.webkit.org/show_bug.cgi?id=231548. It applies QualifiedRenderingResourceIdentifiers
at the rest of the entry points of RemoteDisplayListRecorder.

Reviewed by Wenson Hsieh.

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::setState):
(WebKit::RemoteDisplayListRecorder::setStateWithQualifiedIdentifiers):
(WebKit::RemoteDisplayListRecorder::drawGlyphs):
(WebKit::RemoteDisplayListRecorder::drawGlyphsWithQualifiedIdentifier):

  • GPUProcess/graphics/RemoteDisplayListRecorder.h:
8:55 PM Changeset in webkit [283966] by Simon Fraser
  • 17 edits in trunk/Source/WebKit

Make DrawingAreaType an enum class
https://bugs.webkit.org/show_bug.cgi?id=231543

Reviewed by Wenson Hsieh.

Make DrawingAreaType an enum class, and make the DrawingArea type member const.

  • Shared/DrawingAreaInfo.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::isUsingUISideCompositing const):

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:

(WebKit::DrawingAreaProxyCoordinatedGraphics::DrawingAreaProxyCoordinatedGraphics):

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setDrawingArea):
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::enterAcceleratedCompositingMode):
(WebKit::WebPageProxy::didFirstLayerFlush):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createScrollingCoordinator const):

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::DrawingAreaCoordinatedGraphics):

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create):
(WebKit::DrawingArea::supportsGPUProcessRendering):

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):

8:05 PM Changeset in webkit [283965] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebKit

[GPU Process] Unique RenderingResourceIdentifiers Part 5: Uniquify RemoteDisplayListRecorder at entry points
https://bugs.webkit.org/show_bug.cgi?id=231548
<rdar://problem/84128595>

Reviewed by Wenson Hsieh.

This simply applies the same treatment in https://commits.webkit.org/242676@main to
RemoteDisplayListRecorder. This is being done in a follow-up patch because it
relies on https://bugs.webkit.org/show_bug.cgi?id=231484.

No new tests because there is no behavior change.

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::RemoteDisplayListRecorder):
(WebKit::RemoteDisplayListRecorder::clipToImageBuffer):
(WebKit::RemoteDisplayListRecorder::clipToImageBufferWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawImageBuffer):
(WebKit::RemoteDisplayListRecorder::drawImageBufferWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawNativeImage):
(WebKit::RemoteDisplayListRecorder::drawNativeImageWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawPattern):
(WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier):

  • GPUProcess/graphics/RemoteDisplayListRecorder.h:

(WebKit::RemoteDisplayListRecorder::create):

7:57 PM Changeset in webkit [283964] by Darin Adler
  • 3 edits in trunk/Tools

Slightly better idiom for ARC debug autorelease workaround
https://bugs.webkit.org/show_bug.cgi?id=231435

Reviewed by David Kilzer.

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

(TestWebKitAPI::TEST): Use one macro instead of two, with
traditional indentation instead of left flush style.

  • TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:

(TestWebKitAPI::TEST): Ditto.

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

Fix makeprop.pl to not treat "inherited: false" properties as inherited.
https://bugs.webkit.org/show_bug.cgi?id=231533

Patch by Kiet Ho <Kiet Ho> on 2021-10-11
Reviewed by Simon Fraser.

makeprop.pl treats a property as inherited if the "inherited" option in
CSSProperties.json is defined, regardless of whether the option value is
true or false. Fix makeprop.pl to actually consider the option value.

  • css/makeprop.pl:

(addProperty):

7:42 PM Changeset in webkit [283962] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Implement alternate style for text fields
https://bugs.webkit.org/show_bug.cgi?id=231536

Reviewed by Wenson Hsieh.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintSearchFieldDecorations):
Tighten up the types.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::adjustTextFieldStyle const):
Drop the border and clear the background, so that we can use our
custom inner shadow painting instead.

(WebCore::RenderThemeIOS::paintTextFieldInnerShadow):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
Paint our custom inner shadow for text fields, when using the alternate appearance.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::resetBorder):
(WebCore::RenderStyle::resetBorderExceptRadius):
Add a mechanism to reset all border properties except radius.

7:11 PM Changeset in webkit [283961] by Kocsen Chung
  • 1 copy in tags/Safari-612.2.9.1.10

Tag Safari-612.2.9.1.10.

6:46 PM Changeset in webkit [283960] by Kocsen Chung
  • 1 copy in tags/Safari-612.2.9.0.10

Tag Safari-612.2.9.0.10.

6:40 PM Changeset in webkit [283959] by mmaxfield@apple.com
  • 6 edits in trunk/Source/WebKit

Revert 242806@main because it broke the build
https://bugs.webkit.org/show_bug.cgi?id=231546

Unreviewed.

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse):
(WebKit::RemoteRenderingBackend::submit):
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::finalizeRenderingUpdate):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteResourceCache.cpp:

(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::ensureResourceUseCounter):
(WebKit::RemoteResourceCache::maybeRemoveResource):
(WebKit::RemoteResourceCache::recordResourceUse):
(WebKit::RemoteResourceCache::releaseRemoteResource):

  • GPUProcess/graphics/RemoteResourceCache.h:
5:57 PM Changeset in webkit [283958] by Russell Epstein
  • 1 copy in branches/safari-612.2.9.0.7-branch

New branch.

5:55 PM Changeset in webkit [283957] by Wenson Hsieh
  • 8 edits in trunk/Source

Clean up some code in DisplayList::Recorder in preparation for bug #230860
https://bugs.webkit.org/show_bug.cgi?id=231532

Reviewed by Myles C. Maxfield.

Source/WebCore:

See below for more details.

  • platform/graphics/Path.h:

Add WEBCORE_EXPORT here. When building debug WebKit2, logMessageImpl contains logic to dump IPC arguments
using WTF::TextStream; since a few of these new stream messages contain WebCore::Path objects, this will
generate calls to TextStream& operator<<(TextStream&, const Path&) in WebKit2, which requires this function to
be exported.

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

(WebCore::DisplayList::RecorderImpl::recordGetPixelBuffer): Deleted.
(WebCore::DisplayList::RecorderImpl::recordPutPixelBuffer): Deleted.

Remove a couple of unnecessary virtual override hooks in the base DisplayList::Recorder class. The existing
virtual getPixelBuffer and putPixelBuffer methods are already suffificient.

  • platform/graphics/displaylists/DisplayListRecorderImpl.h:

Source/WebKit:

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:

(WebKit::RemoteDisplayListRecorderProxy::recordGetPixelBuffer): Deleted.
(WebKit::RemoteDisplayListRecorderProxy::recordPutPixelBuffer): Deleted.

See WebCore ChangeLog for more details.

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
5:53 PM Changeset in webkit [283956] by Russell Epstein
  • 1 copy in branches/safari-612.2.9.1.7-branch

New branch.

5:48 PM Changeset in webkit [283955] by mmaxfield@apple.com
  • 6 edits in trunk/Source/WebKit

[GPU Process] Unique RenderingResourceIdentifiers Part 5: Migrate RemoteResourceCache to QualifiedRenderingResourceIdentifier
https://bugs.webkit.org/show_bug.cgi?id=231407
<rdar://problem/84010479>

Reviewed by Said Abou-Hallawa.

This pushes QualifiedRenderingResourceIdentifier down into RemoteResourceCache, but doesn't go all the way.
This patch augments RemoteResourceCache's API to accept QualifiedRenderingResourceIdentifiers, and also
migrates RemoteResourceCache::m_resourceUseCounters to use QualifiedRenderingResourceIdentifiers.

RemoteResourceCache::m_imageBuffers, RemoteResourceCache::m_nativeImages, and RemoteResourceCache::m_fonts
are WebCore typedefs, and are passed to WebCore's display list replaying code, but that code should have no
notion of process identifiers. Therefore, in order to make those members hold data that WebCore doesn't
understand, I'm going to have to wrap an opaque class around them and pass that class around instead of
the raw HashMaps. I'll do that in another patch.

No new tests because there is no behavior change.

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse):
(WebKit::RemoteRenderingBackend::submit):
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::finalizeRenderingUpdate):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteResourceCache.cpp:

(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::ensureResourceUseCounter):
(WebKit::RemoteResourceCache::maybeRemoveResource):
(WebKit::RemoteResourceCache::recordResourceUse):
(WebKit::RemoteResourceCache::releaseRemoteResource):

  • GPUProcess/graphics/RemoteResourceCache.h:
5:33 PM Changeset in webkit [283954] by sbarati@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Share more code that uses ScratchRegisterAllocator in the ICs
https://bugs.webkit.org/show_bug.cgi?id=231125
<rdar://problem/84066374>

Reviewed by Sam Weinig.

We had the same code to allocate a scratch register allocator copy pasted
all over the IC code. This patch refactors that to use a shared helper.

Also, Delete was using a ScratchRegisterAllocator for no reason (it never
allocated a scratch register), so I deleted that code.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):

  • bytecode/GetterSetterAccessCase.cpp:

(JSC::GetterSetterAccessCase::emitDOMJITGetter):

  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessGenerationState::makeDefaultScratchAllocator):
(JSC::PolymorphicAccess::regenerate):

  • bytecode/PolymorphicAccess.h:
  • jit/IntrinsicEmitter.cpp:

(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):

5:09 PM Changeset in webkit [283953] by Russell Epstein
  • 8 edits in branches/safari-612.2.9.1-branch/Source

Versioning.

WebKit-7612.2.9.1.10

5:05 PM Changeset in webkit [283952] by Chris Dumez
  • 3 edits
    3 adds in trunk

[COOP] Crash under ReportingEndpointsCache::addEndpointFromDictionary()
https://bugs.webkit.org/show_bug.cgi?id=231537
<rdar://83530643>

Reviewed by Geoffrey Garen.

Source/WebCore:

Make sure we don't crash under addEndpointFromDictionary() when the Report-To HTTP header
contains more than one endpoint URL for a given group.

The loop inside addEndpointFromDictionary() should bail as soon as we find a viable
endpoint URL (since we don't currently support having several URLs for a given group).
The crash was due to a use-after-move of the |group|.

Test: http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html

  • loader/ReportingEndpointsCache.cpp:

(WebCore::ReportingEndpointsCache::addEndpointFromDictionary):

LayoutTests:

Add layout test coverage.

  • http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints-expected.txt: Added.
  • http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html: Added.
  • http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html.headers: Added.
4:53 PM Changeset in webkit [283951] by Russell Epstein
  • 8 edits in branches/safari-612.2.9.0-branch/Source

Versioning.

WebKit-7612.2.9.0.10

4:45 PM Changeset in webkit [283950] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS 15 ] imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=231544

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:33 PM Changeset in webkit [283949] by Russell Epstein
  • 2 edits in branches/safari-612.2.9.1-branch/Source/WebKit

Cherry-pick r283846. rdar://problem/84117092

Fix crash in NetworkProcess preconnect due to dereferencing deallocated session
https://bugs.webkit.org/show_bug.cgi?id=231456
<rdar://problem/83752148>

Reviewed by Chris Dumez.

We capture a raw NetworkSession reference in the preconnect completion handler. This
reference could point to a deallocated object if the NetworkSession dies before the
preconnect finishes.

  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::preconnectTo):

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

4:32 PM Changeset in webkit [283948] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS macOS Debug ] webgl/1.0.3/conformance/glsl/bugs/long-expressions-should-not-crash.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231541

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
4:29 PM Changeset in webkit [283947] by Russell Epstein
  • 2 edits in branches/safari-612.2.9.0-branch/Source/WebKit

Cherry-pick r283846. rdar://problem/84117075

Fix crash in NetworkProcess preconnect due to dereferencing deallocated session
https://bugs.webkit.org/show_bug.cgi?id=231456
<rdar://problem/83752148>

Reviewed by Chris Dumez.

We capture a raw NetworkSession reference in the preconnect completion handler. This
reference could point to a deallocated object if the NetworkSession dies before the
preconnect finishes.

  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::preconnectTo):

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

4:27 PM Changeset in webkit [283946] by Alan Coon
  • 9 edits in branches/safari-612-branch

Cherry-pick r283194. rdar://problem/83953433

PCM: different bundleID entries will override each other
https://bugs.webkit.org/show_bug.cgi?id=230839

Reviewed by Alex Christensen.

Source/WebKit:

We recently added a bundleID column to PCM tables. We want to make
sure entries with different bundleIDs do not override each other,
so we should make it a part of the unique constraint on both PCM
tables that contain it. This requires creating new tables and
migrating existing data to them. Luckily this code already exists
in the ITP database, and we can just move it to the shared
DatabaseUtilities class.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: (WebKit::ResourceLoadStatisticsDatabaseStore::expectedTableAndIndexQueries): (WebKit::stripIndexQueryToMatchStoredValue): Deleted. (WebKit::expectedTableAndIndexQueries): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::currentTableAndIndexQueries): Deleted. (WebKit::insertDistinctValuesInTableStatement): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToNewTablesIfNecessary): Deleted.
  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/DatabaseUtilities.cpp: (WebKit::DatabaseUtilities::stripIndexQueryToMatchStoredValue): (WebKit::DatabaseUtilities::currentTableAndIndexQueries): (WebKit::insertDistinctValuesInTableStatement): (WebKit::DatabaseUtilities::migrateDataToNewTablesIfNecessary):
  • NetworkProcess/DatabaseUtilities.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp: (WebKit::PCM::Database::Database): (WebKit::PCM::Database::expectedTableAndIndexQueries): (WebKit::PCM::Database::createUniqueIndices): (WebKit::PCM::Database::needsUpdatedSchema):
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:

Tools:

API test coverage for the case of existing PCM data with a bundleID
column but an expired unique index.

  • TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm: (addUnattributedPCMv4): (addAttributedPCMv4): (dumpedPCM): (pollUntilPCMIsMigrated): (emptyPcmDBPath): (createAndPopulatePCMObservedDomainTable): (setUpFromResourceLoadStatisticsDatabase): (setUpFromPCMDatabase): (TEST): (setUp): Deleted.

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

4:27 PM Changeset in webkit [283945] by Alan Coon
  • 33 edits
    15 copies
    2 adds in branches/safari-612-branch

Cherry-pick r282884. rdar://problem/83954926

PCM should include the bundle ID of the app from which it originated
https://bugs.webkit.org/show_bug.cgi?id=230576
<rdar://83065221>

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-22
Reviewed by Kate Cheney.

Source/WebCore:

This adds infrastructure to store the bundle ID of the application.
In another patch I'm going to use that to prevent PCMs from one app from overwriting PCMs from another app during attribution.

  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):
  • loader/PrivateClickMeasurement.cpp: (WebCore::PrivateClickMeasurement::isolatedCopy const):
  • loader/PrivateClickMeasurement.h: (WebCore::PrivateClickMeasurement::PrivateClickMeasurement): (WebCore::PrivateClickMeasurement::attributionTriggerData const): (WebCore::PrivateClickMeasurement::sourceApplicationBundleID const): (WebCore::PrivateClickMeasurement::encode const): (WebCore::PrivateClickMeasurement::decode): (WebCore::PrivateClickMeasurement::attributionTriggerData): Deleted.

Source/WebKit:

  • NetworkProcess/DatabaseUtilities.cpp: (WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase const): (WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase): Deleted.
  • NetworkProcess/DatabaseUtilities.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp: (WebKit::PCM::Database::Database): (WebKit::PCM::Database::insertPrivateClickMeasurement): (WebKit::PCM::Database::privateClickMeasurementToStringForTesting const): (WebKit::PCM::Database::attributionToStringForTesting const): (WebKit::PCM::Database::addBundleIDColumnIfNecessary): (WebKit::PCM::Database::columnsForTable): (WebKit::PCM::Database::addMissingColumnToTable):
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:applicationBundleID:]): (-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:]): Deleted.
  • UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _setEphemeralUIEventAttribution:]): (-[WKWebView _setEphemeralUIEventAttribution:forApplicationWithBundleID:]):

Tools:

  • TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp: (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm: (pollUntilPCMIsMigrated):

LayoutTests:

  • http/tests/contentextensions/block-private-click-measurement-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-fetch-keepalive-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority-expected.txt:
  • http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session-expected.txt:
  • http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-null-content-expected.txt:
  • http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-wrong-content-type-expected.txt:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority-expected.txt:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority-expected.txt:
  • http/tests/privateClickMeasurement/second-conversion-with-higher-priority-expected.txt:
  • http/tests/privateClickMeasurement/second-conversion-with-lower-priority-expected.txt:
  • http/tests/privateClickMeasurement/store-private-click-measurement-expected.txt:

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

4:12 PM Changeset in webkit [283944] by Kocsen Chung
  • 1 copy in tags/Safari-612.2.9.3.4

Tag Safari-612.2.9.3.4.

3:46 PM Changeset in webkit [283943] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Only mark needed JSONImpl::ObjectBase functions with WTF_EXPORT_PRIVATE
https://bugs.webkit.org/show_bug.cgi?id=231521

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-11
Reviewed by Chris Dumez.

I'm trying some wild experiments with the linker, and when I do the weak symbol checker fails because
it is trying to export some of the inline functions at the bottom of JSONValues.h.
Moving WTF_EXPORT_PRIVATE from exporting the whole class to only exporting the non-inline functions fixes it.

  • wtf/JSONValues.h:
3:40 PM Changeset in webkit [283942] by Kocsen Chung
  • 2 edits in branches/safari-612.2.9.3-branch/Source/WebKit

Cherry-pick r283846. rdar://problem/84117050

Fix crash in NetworkProcess preconnect due to dereferencing deallocated session
https://bugs.webkit.org/show_bug.cgi?id=231456
<rdar://problem/83752148>

Reviewed by Chris Dumez.

We capture a raw NetworkSession reference in the preconnect completion handler. This
reference could point to a deallocated object if the NetworkSession dies before the
preconnect finishes.

  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::preconnectTo):

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

3:37 PM Changeset in webkit [283941] by Wenson Hsieh
  • 18 edits
    5 adds in trunk/Source

Introduce RemoteDisplayListRecorderProxy and RemoteDisplayListRecorder
https://bugs.webkit.org/show_bug.cgi?id=231484

Reviewed by Simon Fraser.

Source/WebCore:

See WebKit ChangeLog for more details.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/displaylists/DisplayListItems.h:

Add default constructors for a couple of display list items so that they can be encoded as IPC arguments using
SimpleArgumentCoder.

Source/WebKit:

Introduce two new classes that house most of the logic for propagating display list items from the web content
process to the GPU process. RemoteDisplayListRecorderProxy is a subclass of DisplayList::Recorder that records
each item by sending it to the GPU process through a stream connection, which will be added to
RemoteRenderingBackendProxy in a subsequent patch. The RemoteDisplayListRecorderProxy will be managed by
RemoteImageBufferProxy in the web process. RemoteDisplayListRecorder acts as the streaming IPC destination in
the GPU process, and handles the incoming display list items by applying them to the platform graphics context.

For most of these display list items, we can propagate them to the GPU process by sending each display list
item's constructor arguments as separate IPC arguments. In a future patch, we should add support for encoding
the following display list items in the same way:

  • SetInlineFillColor
  • SetInlineStrokeColor
  • SetState
  • SetLineDash
  • DrawGlyphs
  • DrawLinesForText
  • FillRectWithGradient

For now, the above display list items are encoded and decoded as whole items. While there's no practical
disadvantage to implementing it this way, it would be nice to make it consistent.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp: Added.

(WebKit::RemoteDisplayListRecorder::RemoteDisplayListRecorder):
(WebKit::RemoteDisplayListRecorder::resourceCache):
(WebKit::RemoteDisplayListRecorder::drawingContext):
(WebKit::RemoteDisplayListRecorder::startListeningForIPC):
(WebKit::RemoteDisplayListRecorder::stopListeningForIPC):
(WebKit::RemoteDisplayListRecorder::save):
(WebKit::RemoteDisplayListRecorder::restore):
(WebKit::RemoteDisplayListRecorder::translate):
(WebKit::RemoteDisplayListRecorder::rotate):
(WebKit::RemoteDisplayListRecorder::scale):
(WebKit::RemoteDisplayListRecorder::setCTM):
(WebKit::RemoteDisplayListRecorder::concatenateCTM):
(WebKit::RemoteDisplayListRecorder::setInlineFillColor):
(WebKit::RemoteDisplayListRecorder::setInlineStrokeColor):
(WebKit::RemoteDisplayListRecorder::setStrokeThickness):
(WebKit::RemoteDisplayListRecorder::setState):
(WebKit::RemoteDisplayListRecorder::setLineCap):
(WebKit::RemoteDisplayListRecorder::setLineDash):
(WebKit::RemoteDisplayListRecorder::setLineJoin):
(WebKit::RemoteDisplayListRecorder::setMiterLimit):
(WebKit::RemoteDisplayListRecorder::clearShadow):
(WebKit::RemoteDisplayListRecorder::clip):
(WebKit::RemoteDisplayListRecorder::clipOut):
(WebKit::RemoteDisplayListRecorder::clipToImageBuffer):
(WebKit::RemoteDisplayListRecorder::clipOutToPath):
(WebKit::RemoteDisplayListRecorder::clipPath):
(WebKit::RemoteDisplayListRecorder::beginClipToDrawingCommands):
(WebKit::RemoteDisplayListRecorder::endClipToDrawingCommands):
(WebKit::RemoteDisplayListRecorder::drawGlyphs):
(WebKit::RemoteDisplayListRecorder::drawImageBuffer):
(WebKit::RemoteDisplayListRecorder::drawNativeImage):
(WebKit::RemoteDisplayListRecorder::drawPattern):
(WebKit::RemoteDisplayListRecorder::beginTransparencyLayer):
(WebKit::RemoteDisplayListRecorder::endTransparencyLayer):
(WebKit::RemoteDisplayListRecorder::drawRect):
(WebKit::RemoteDisplayListRecorder::drawLine):
(WebKit::RemoteDisplayListRecorder::drawLinesForText):
(WebKit::RemoteDisplayListRecorder::drawDotsForDocumentMarker):
(WebKit::RemoteDisplayListRecorder::drawEllipse):
(WebKit::RemoteDisplayListRecorder::drawPath):
(WebKit::RemoteDisplayListRecorder::drawFocusRingPath):
(WebKit::RemoteDisplayListRecorder::drawFocusRingRects):
(WebKit::RemoteDisplayListRecorder::fillRect):
(WebKit::RemoteDisplayListRecorder::fillRectWithColor):
(WebKit::RemoteDisplayListRecorder::fillRectWithGradient):
(WebKit::RemoteDisplayListRecorder::fillCompositedRect):
(WebKit::RemoteDisplayListRecorder::fillRoundedRect):
(WebKit::RemoteDisplayListRecorder::fillRectWithRoundedHole):
(WebKit::RemoteDisplayListRecorder::fillLine):
(WebKit::RemoteDisplayListRecorder::fillArc):
(WebKit::RemoteDisplayListRecorder::fillQuadCurve):
(WebKit::RemoteDisplayListRecorder::fillBezierCurve):
(WebKit::RemoteDisplayListRecorder::fillPath):
(WebKit::RemoteDisplayListRecorder::fillEllipse):
(WebKit::RemoteDisplayListRecorder::getPixelBuffer):
(WebKit::RemoteDisplayListRecorder::putPixelBuffer):
(WebKit::RemoteDisplayListRecorder::paintFrameForMedia):
(WebKit::RemoteDisplayListRecorder::strokeRect):
(WebKit::RemoteDisplayListRecorder::strokeLine):
(WebKit::RemoteDisplayListRecorder::strokeArc):
(WebKit::RemoteDisplayListRecorder::strokeQuadCurve):
(WebKit::RemoteDisplayListRecorder::strokeBezierCurve):
(WebKit::RemoteDisplayListRecorder::strokePath):
(WebKit::RemoteDisplayListRecorder::strokeEllipse):
(WebKit::RemoteDisplayListRecorder::clearRect):
(WebKit::RemoteDisplayListRecorder::applyStrokePattern):
(WebKit::RemoteDisplayListRecorder::applyFillPattern):
(WebKit::RemoteDisplayListRecorder::applyDeviceScaleFactor):
(WebKit::RemoteDisplayListRecorder::flushContext):

  • GPUProcess/graphics/RemoteDisplayListRecorder.h: Added.

(WebKit::RemoteDisplayListRecorder::create):
(WebKit::RemoteDisplayListRecorder::handleItem):

  • GPUProcess/graphics/RemoteDisplayListRecorder.messages.in: Added.
  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::performWithMediaPlayerOnMainThread):

  • GPUProcess/graphics/RemoteRenderingBackend.h:

Add helper methods to RemoteRenderingBackend that are called from RemoteDisplayListRecorder.

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:

Make it possible to encode and decode SetInlineFillColor and SetInlineStrokeColor using simple argument coder.

  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp: Added.

(WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
(WebKit::m_renderingBackend):
(WebKit::RemoteDisplayListRecorderProxy::getPixelBuffer):
(WebKit::RemoteDisplayListRecorderProxy::putPixelBuffer):
(WebKit::RemoteDisplayListRecorderProxy::canDrawImageBuffer const):
(WebKit::RemoteDisplayListRecorderProxy::renderingMode const):
(WebKit::RemoteDisplayListRecorderProxy::recordSave):
(WebKit::RemoteDisplayListRecorderProxy::recordRestore):
(WebKit::RemoteDisplayListRecorderProxy::recordTranslate):
(WebKit::RemoteDisplayListRecorderProxy::recordRotate):
(WebKit::RemoteDisplayListRecorderProxy::recordScale):
(WebKit::RemoteDisplayListRecorderProxy::recordSetCTM):
(WebKit::RemoteDisplayListRecorderProxy::recordConcatenateCTM):
(WebKit::RemoteDisplayListRecorderProxy::recordSetInlineFillColor):
(WebKit::RemoteDisplayListRecorderProxy::recordSetInlineStrokeColor):
(WebKit::RemoteDisplayListRecorderProxy::recordSetStrokeThickness):
(WebKit::RemoteDisplayListRecorderProxy::recordSetState):
(WebKit::RemoteDisplayListRecorderProxy::recordSetLineCap):
(WebKit::RemoteDisplayListRecorderProxy::recordSetLineDash):
(WebKit::RemoteDisplayListRecorderProxy::recordSetLineJoin):
(WebKit::RemoteDisplayListRecorderProxy::recordSetMiterLimit):
(WebKit::RemoteDisplayListRecorderProxy::recordClearShadow):
(WebKit::RemoteDisplayListRecorderProxy::recordClip):
(WebKit::RemoteDisplayListRecorderProxy::recordClipOut):
(WebKit::RemoteDisplayListRecorderProxy::recordClipToImageBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordClipOutToPath):
(WebKit::RemoteDisplayListRecorderProxy::recordClipPath):
(WebKit::RemoteDisplayListRecorderProxy::recordBeginClipToDrawingCommands):
(WebKit::RemoteDisplayListRecorderProxy::recordEndClipToDrawingCommands):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawGlyphs):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawImageBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawNativeImage):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawPattern):
(WebKit::RemoteDisplayListRecorderProxy::recordBeginTransparencyLayer):
(WebKit::RemoteDisplayListRecorderProxy::recordEndTransparencyLayer):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawRect):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawLine):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawLinesForText):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawDotsForDocumentMarker):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawEllipse):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawPath):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawFocusRingPath):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawFocusRingRects):
(WebKit::RemoteDisplayListRecorderProxy::recordFillRect):
(WebKit::RemoteDisplayListRecorderProxy::recordFillRectWithColor):
(WebKit::RemoteDisplayListRecorderProxy::recordFillRectWithGradient):
(WebKit::RemoteDisplayListRecorderProxy::recordFillCompositedRect):
(WebKit::RemoteDisplayListRecorderProxy::recordFillRoundedRect):
(WebKit::RemoteDisplayListRecorderProxy::recordFillRectWithRoundedHole):
(WebKit::RemoteDisplayListRecorderProxy::recordFillLine):
(WebKit::RemoteDisplayListRecorderProxy::recordFillArc):
(WebKit::RemoteDisplayListRecorderProxy::recordFillQuadCurve):
(WebKit::RemoteDisplayListRecorderProxy::recordFillBezierCurve):
(WebKit::RemoteDisplayListRecorderProxy::recordFillPath):
(WebKit::RemoteDisplayListRecorderProxy::recordFillEllipse):
(WebKit::RemoteDisplayListRecorderProxy::recordGetPixelBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordPutPixelBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordPaintFrameForMedia):
(WebKit::RemoteDisplayListRecorderProxy::recordStrokeRect):
(WebKit::RemoteDisplayListRecorderProxy::recordStrokeLine):
(WebKit::RemoteDisplayListRecorderProxy::recordStrokeArc):
(WebKit::RemoteDisplayListRecorderProxy::recordStrokeQuadCurve):
(WebKit::RemoteDisplayListRecorderProxy::recordStrokeBezierCurve):
(WebKit::RemoteDisplayListRecorderProxy::recordStrokePath):
(WebKit::RemoteDisplayListRecorderProxy::recordStrokeEllipse):
(WebKit::RemoteDisplayListRecorderProxy::recordClearRect):
(WebKit::RemoteDisplayListRecorderProxy::recordApplyStrokePattern):
(WebKit::RemoteDisplayListRecorderProxy::recordApplyFillPattern):
(WebKit::RemoteDisplayListRecorderProxy::recordApplyDeviceScaleFactor):
(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):
(WebKit::RemoteDisplayListRecorderProxy::flushContext):
(WebKit::RemoteDisplayListRecorderProxy::createNestedContext):

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h: Added.

(WebKit::RemoteDisplayListRecorderProxy::~RemoteDisplayListRecorderProxy):
(WebKit::RemoteDisplayListRecorderProxy::resetNeedsFlush):
(WebKit::RemoteDisplayListRecorderProxy::needsFlush const):
(WebKit::RemoteDisplayListRecorderProxy::send):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawPattern):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::recordNativeImageUse):
(WebKit::RemoteRenderingBackendProxy::recordFontUse):
(WebKit::RemoteRenderingBackendProxy::recordImageBufferUse):
(WebKit::RemoteRenderingBackendProxy::isCached const):

Add helper methods to RemoteRenderingBackendProxy that are called from RemoteDisplayListRecorderProxy.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:

(WebKit::RemoteRenderingBackendProxy::sendToStream):

3:30 PM Changeset in webkit [283940] by dino@apple.com
  • 6 edits in trunk/Source

Disable SystemPreview in WKContentProviderRegistry
https://bugs.webkit.org/show_bug.cgi?id=231538
rdar://84110761

Reviewed by Tim Horton.

Source/WebKit:

Disable the WebViewContentProvider for System Previews
if UIKIT_WEBKIT_INTERNALS is true.

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:

(-[WKWebViewContentProviderRegistry initWithConfiguration:]):

  • UIProcess/ios/WKSystemPreviewView.h:
  • UIProcess/ios/WKSystemPreviewView.mm:

Source/WTF:

Revert the change in r283811.

  • wtf/PlatformUse.h:
3:19 PM Changeset in webkit [283939] by Jonathan Bedard
  • 2 edits in trunk/Tools

[build-imagediff] Build universal binaries by default
https://bugs.webkit.org/show_bug.cgi?id=231527
<rdar://problem/84113091>

Reviewed by Ryan Haddad.

  • Scripts/build-imagediff:
2:45 PM Changeset in webkit [283938] by sbarati@apple.com
  • 6 edits
    1 add in trunk

Don't branch around register allocation in DFG enumerator get by val and pass in the right LValue type to strictInt52ToJSValue
https://bugs.webkit.org/show_bug.cgi?id=231465
<rdar://83876470>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/dont-branch-around-regalloc-enumerator-get-by-val.js: Added.

(foo):

Source/JavaScriptCore:

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

2:21 PM Changeset in webkit [283937] by Patrick Griffis
  • 2 edits in trunk

Add my github username to contributors.json

Unreviewed.

  • metadata/contributors.json:
2:12 PM Changeset in webkit [283936] by Jonathan Bedard
  • 3 edits in trunk/Tools

[run-benchmark] Make Python 3 compatible
https://bugs.webkit.org/show_bug.cgi?id=231512
<rdar://problem/84098736>

Reviewed by Dewei Zhu.

  • Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:

(LinuxBrowserDriver.launch_url): Encode Popen call if Python 3.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver.launch_url): Ditto.

1:59 PM Changeset in webkit [283935] by ntim@apple.com
  • 39 edits
    1 delete in trunk

Implement new autofocus behavior
https://bugs.webkit.org/show_bug.cgi?id=203139
<rdar://problem/56397019>

Reviewed by Wenson Hsieh.

Make WebKit match the new autofocus spec:

The new autofocus behavior queues up all autofocusable elements (visible or not), then
fires autofocus asynchronously during the "update rendering" steps, unlike the old behavior
which runs focus synchronously whenever it finds a visible autofocusable element.

Original patch by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-empty-expected.txt:
  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-nonexistent-expected.txt:
  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-top-expected.txt:
  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/first-expected.txt:
  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/first-when-later-expected.txt:
  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/queue-non-focusable-expected.txt:
  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/update-the-rendering-expected.txt:
  • web-platform-tests/selection/selection-select-all-move-input-crash-expected.txt: Expected change since input autofocus now places caret at start

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::appendAutofocusCandidate):
(WebCore::Document::flushAutofocusCandidates):

  • dom/Document.h:

(WebCore::Document::isAutofocusProcessed const):
(WebCore::Document::setAutofocusProcessed):

  • dom/Element.cpp:

(WebCore::Element::runFocusingStepsForAutofocus):

  • dom/Element.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::shouldAutofocus):
(WebCore::HTMLFormControlElement::didAttachRenderers):
(WebCore::HTMLFormControlElement::insertedIntoAncestor):
(WebCore::HTMLFormControlElement::runFocusingStepsForAutofocus):

  • html/HTMLFormControlElement.h:

(WebCore::HTMLFormControlElement::hasAutofocused const): Deleted.
(WebCore::HTMLFormControlElement::setAutofocused): Deleted.

  • page/Page.cpp:

(WebCore::Page::updateRendering):

  • page/Page.h:

LayoutTests:

  • TestExpectations:
  • fast/dom/Window/window-scroll-ignore-null-frame.html:
  • fast/dom/adopt-node-crash-2-expected.txt:
  • fast/dom/adopt-node-crash-2.html:
  • fast/dom/window-inner-width-crash.html:
  • fast/forms/autofocus-in-sandbox-with-allow-scripts-expected.txt:
  • fast/forms/autofocus-in-sandbox-with-allow-scripts.html:
  • fast/forms/autofocus-keygen.html:
  • fast/forms/autofocus-opera-001.html:
  • fast/forms/autofocus-opera-002.html:
  • fast/forms/autofocus-opera-003.html:
  • fast/forms/autofocus-opera-006.html:
  • fast/forms/autofocus-opera-007.html:
  • fast/forms/change-input-type-in-focus-handler.html:
  • fast/frames/crash-when-iframe-is-remove-in-eventhandler.html:
  • fast/history/page-cache-execute-script-during-restore.html:
  • platform/ios-wk2/TestExpectations:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/interaction/focus/the-autofocus-attribute/update-the-rendering-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/selection/selection-select-all-move-input-crash-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/interaction/focus/the-autofocus-attribute/update-the-rendering-expected.txt:
  • platform/win/TestExpectations:
1:37 PM Changeset in webkit [283934] by commit-queue@webkit.org
  • 9 edits in trunk/Tools

Reduce use of TCPServer
https://bugs.webkit.org/show_bug.cgi?id=231518

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-11
Reviewed by Chris Dumez.

HTTPServer runs its logic on the main thread and doesn't hang in its destructor
when the number of connections and requests isn't exactly what was expected.

verifyCertificateAndPublicKey needed its expected bytes to be changed because it is
using the identity from TCPServer::testCertificate instead of TCPServer::startSecureConnection now.

I also moved the proxy basic authentication check from proxyAuthenticationServer to proxyDefinition.

  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:

(TEST):
(verifyCertificateAndPublicKey):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:

(TestWebKitAPI::proxyAuthenticationServer):
(TestWebKitAPI::webViewAndDelegate):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/cocoa/HTTPServer.h:
  • TestWebKitAPI/cocoa/HTTPServer.mm:

(TestWebKitAPI::proxyDefinition):
(TestWebKitAPI::shouldDisableTLS):
(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::statusText):
(TestWebKitAPI::HTTPServer::request const):

1:27 PM Changeset in webkit [283933] by Chris Dumez
  • 2 edits in branches/safari-612-branch/LayoutTests/imported/w3c

Unreviewed, minor test rebaseline on the branch.

Due to lack of SharedArrayBuffer stubs.

  • web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https-expected.txt:
1:16 PM Changeset in webkit [283932] by weinig@apple.com
  • 2 edits in trunk

Add my github username and keep my expertise where it is because, while not up to date, it is fun

Unreviewed.

  • metadata/contributors.json:
1:14 PM Changeset in webkit [283931] by Chris Dumez
  • 12 edits
    1 copy
    2 moves
    1 add
    2 deletes in branches/safari-612-branch

Cherry-pick r283509. <rdar://83953710>

1:10 PM Changeset in webkit [283930] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Unified build fix
https://bugs.webkit.org/show_bug.cgi?id=231524

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-11
Reviewed by Chris Dumez.

Source/WebCore:

  • platform/encryptedmedia/CDMProxy.cpp:

Source/WebKit:

This adds some missing includes and things to fix the build once I add some more files, making the unified build combine differently

  • NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementNetworkLoaderCocoa.mm:

(-[WKNetworkSessionDelegateAllowingOnlyNonRedirectedJSON URLSession:dataTask:didReceiveResponse:completionHandler:]):

  • NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementXPCUtilities.h:
  • NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementXPCUtilities.mm:
  • Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
12:58 PM Changeset in webkit [283929] by Chris Dumez
  • 58 edits
    1 copy
    1 add in branches/safari-612-branch

Cherry-pick r283179. <rdar://83956559>

12:53 PM Changeset in webkit [283928] by Russell Epstein
  • 1 copy in tags/Safari-613.1.4.2

Tag Safari-613.1.4.2.

12:52 PM Changeset in webkit [283927] by Russell Epstein
  • 5 edits in branches/safari-613.1.4-branch/Source/WebKit

Cherry-pick r283925. rdar://problem/84111635

[macOS] Grant access in sandbox to 'system-privilege' for root
https://bugs.webkit.org/show_bug.cgi?id=231501
<rdar://83959448>

Reviewed by Brent Fulgham.

When running as root, WebKit processes need access to 'system-privilege'.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:

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

12:51 PM Changeset in webkit [283926] by Russell Epstein
  • 8 edits in branches/safari-613.1.4-branch/Source

Versioning.

WebKit-7613.1.4.2

12:41 PM Changeset in webkit [283925] by pvollan@apple.com
  • 5 edits in trunk/Source/WebKit

[macOS] Grant access in sandbox to 'system-privilege' for root
https://bugs.webkit.org/show_bug.cgi?id=231501
<rdar://83959448>

Reviewed by Brent Fulgham.

When running as root, WebKit processes need access to 'system-privilege'.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
12:37 PM Changeset in webkit [283924] by commit-queue@webkit.org
  • 2 edits in trunk

Various updates to my contributors.json entry.

Unreviewed.

Patch by Theresa O'Connor <hober@apple.com> on 2021-10-11

  • metadata/contributors.json:
12:34 PM Changeset in webkit [283923] by Chris Dumez
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282854. <rdar://83957011>

12:30 PM Changeset in webkit [283922] by Chris Dumez
  • 23 edits
    1 add
    1 delete in branches/safari-612-branch

Cherry-pick r282604. <rdar://83954050>

12:17 PM Changeset in webkit [283921] by BJ Burg
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: add TabBar context menu support for WI.WebInspectorExtensionTabContentView
https://bugs.webkit.org/show_bug.cgi?id=231181
<rdar://74698241>

Unreviewed. Land parts of the previous patch which seem to have been mis-merged and not landed.

  • UserInterface/Base/Main.js:

(WI.isNewTabWithTypeAllowed):

  • UserInterface/Controllers/WebInspectorExtensionController.js:

(WI.WebInspectorExtensionController.prototype.showExtensionTab):

  • UserInterface/Views/TabBar.js:

(WI.TabBar.prototype._handleAddClosedTabsTabBarItemMouseDown):
(WI.TabBar.prototype._handleTabContainerContextMenu):
(WI.TabBar):

12:14 PM Changeset in webkit [283920] by Chris Dumez
  • 46 edits
    2 adds in branches/safari-612-branch

Cherry-pick r282305. <rdar://83955184>

12:03 PM Changeset in webkit [283919] by Devin Rousso
  • 2 edits in trunk

Add my github and update my expertise

Unreviewed.

  • metadata/contributors.json:
12:02 PM Changeset in webkit [283918] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS BigSur wk1 ] webgl/1.0.3/conformance/uniforms/uniform-default-values.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=231514

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
11:52 AM Changeset in webkit [283917] by Chris Dumez
  • 11 edits
    3 adds in branches/safari-612-branch

Cherry-pick r281935. <rdar://83953588>

11:38 AM Changeset in webkit [283916] by Ben Nham
  • 14 edits
    14 adds in trunk

Add push registration stubs
https://bugs.webkit.org/show_bug.cgi?id=231064

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Update test results after importing PushManager-related IDL.

  • web-platform-tests/push-api/idlharness.https.any-expected.txt:
  • web-platform-tests/push-api/idlharness.https.any.serviceworker-expected.txt:
  • web-platform-tests/push-api/idlharness.https.any.worker-expected.txt:

Source/WebCore:

Import IDL related to PushManager and implement steps 1-7 of the subscribe method as
described in https://www.w3.org/TR/push-api/#pushmanager-interface. Further steps will be
implemented in future patches.

Tests: http/wpt/push-api/pushManager.any.html

http/wpt/push-api/pushManager.any.serviceworker.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/push-api/PushManager.cpp: Added.

(WebCore::PushManager::PushManager):
(WebCore::PushManager::supportedContentEncodings):
(WebCore::PushManager::ref const):
(WebCore::PushManager::deref const):
(WebCore::PushManager::subscribe):
(WebCore::PushManager::getSubscription):
(WebCore::PushManager::permissionState):

  • Modules/push-api/PushManager.h: Added.
  • Modules/push-api/PushManager.idl: Added.
  • Modules/push-api/PushPermissionState.h: Added.
  • Modules/push-api/PushPermissionState.idl: Added.
  • Modules/push-api/ServiceWorkerRegistration+PushAPI.idl: Added.
  • Modules/push-api/ServiceWorkerRegistrationPushAPI.cpp: Added.

(WebCore::ServiceWorkerRegistrationPushAPI::ServiceWorkerRegistrationPushAPI):
(WebCore::ServiceWorkerRegistrationPushAPI::pushManager):
(WebCore::ServiceWorkerRegistrationPushAPI::from):
(WebCore::ServiceWorkerRegistrationPushAPI::supplementName):

  • Modules/push-api/ServiceWorkerRegistrationPushAPI.h: Added.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • workers/service/ServiceWorkerRegistration.h:

LayoutTests:

Add basic tests for PushManager.subscribe in both the window and service worker contexts.

  • http/wpt/push-api/pushManager-worker.js: Added.
  • http/wpt/push-api/pushManager.any-expected.txt: Added.
  • http/wpt/push-api/pushManager.any.html: Added.
  • http/wpt/push-api/pushManager.any.js: Added.

(isServiceWorker.promise_test.async test):
(else.promise_test.async test):
(promise_test.async test):

  • http/wpt/push-api/pushManager.any.serviceworker-expected.txt: Added.
  • http/wpt/push-api/pushManager.any.serviceworker.html: Added.
11:31 AM Changeset in webkit [283915] by Chris Dumez
  • 47 edits
    1 copy
    2 adds in branches/safari-612-branch

Cherry-pick r281832. <rdar://83953492>

11:28 AM Changeset in webkit [283914] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC][ARMv7] Make LLInt CSR save/restore order match the JITs
https://bugs.webkit.org/show_bug.cgi?id=231517

Patch by Geza Lore <Geza Lore> on 2021-10-11
Reviewed by Saam Barati.

Since the new unlinked baseline JIT was introduced, the baseline JIT
uses the metadata table GPR the same way as the LLInt does, and relies
on it being in a saved CSR in emit_op_catch. This unearthed an issue
in the order in which LLInt on ARMv7 stores and restores CSRs when
trying to handle exceptions. This patch fixes the mismatch.

  • llint/LowLevelInterpreter.asm:
11:16 AM Changeset in webkit [283913] by Chris Dumez
  • 7 edits in branches/safari-612-branch

Merge r281802. <rdar://83957220>

11:05 AM Changeset in webkit [283912] by Chris Dumez
  • 27 edits
    1 move in trunk/Source

DOMTimeStamp is now EpochTimeStamp
https://bugs.webkit.org/show_bug.cgi?id=231496

Reviewed by Sam Weinig.

Source/WebCore:

DOMTimeStamp was renamed EpochTimeStamp. There is no observable behavioral change - it's just a name change.

Relevant WebIDL discussions/issue:

Which lead to:

  • Headers.cmake:
  • Modules/geolocation/Geolocation.cpp:

(WebCore::createGeolocationPosition):
(WebCore::Geolocation::haveSuitableCachedPosition):

  • Modules/geolocation/GeolocationPosition.h:

(WebCore::GeolocationPosition::create):
(WebCore::GeolocationPosition::timestamp const):
(WebCore::GeolocationPosition::GeolocationPosition):

  • Modules/geolocation/GeolocationPosition.idl:
  • Modules/notifications/Notification.idl:
  • Modules/push-api/PushSubscription.cpp:

(WebCore::PushSubscription::PushSubscription):
(WebCore::PushSubscription::expirationTime const):

  • Modules/push-api/PushSubscription.h:
  • Modules/push-api/PushSubscription.idl:
  • Modules/push-api/PushSubscriptionJSON.h:
  • Modules/push-api/PushSubscriptionJSON.idl:
  • Modules/push-api/PushSubscriptionOptions.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/IDLParser.pm:

(addBuiltinTypedefs):

  • bindings/scripts/test/TestTypedefs.idl:
  • dom/EpochTimeStamp.h: Renamed from Source/WebCore/dom/DOMTimeStamp.h.

(WebCore::convertSecondsToEpochTimeStamp):
(WebCore::convertEpochTimeStampToSeconds):

  • testing/Internals.cpp:

(WebCore::Internals::createPushSubscription):

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

Source/WebKitLegacy/mac:

  • DOM/DOMEvent.h:
  • DOM/DOMEvent.mm:

(-[DOMEvent timeStamp]):

  • DOM/DOMObject.h:

Source/WebKitLegacy/win:

  • DOMEventsClasses.cpp:

(DOMEvent::timeStamp):

  • DOMEventsClasses.h:

(DOMUIEvent::timeStamp):
(DOMKeyboardEvent::timeStamp):
(DOMMouseEvent::timeStamp):
(DOMMutationEvent::timeStamp):
(DOMOverflowEvent::timeStamp):
(DOMWheelEvent::timeStamp):

  • Interfaces/DOMEvents.idl:
10:52 AM Changeset in webkit [283911] by Simon Fraser
  • 31 edits in trunk/Source

Smooth-scroll animations should run in the UI process on iOS
https://bugs.webkit.org/show_bug.cgi?id=204936

Reviewed by Tim Horton.

Source/WebCore:

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::handleScrollPositionRequest): On iOS scrollingTreeNodeRequestsScroll()
doesn't handle the animated scroll, so we need to call startAnimatedScrollToPosition() from here.

  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::scrollToOffset): call stopAsyncAnimatedScroll()
for overflow scrolls as we do in FrameView.

Source/WebKit:

Implement animated scrolls in the UI process for UI-side compositing. The scrolling tree
decoded in the UI process has a RequestedScrollData with the 'animated' flag. This is
processed by handleScrollPositionRequest() as normal.

ScrollingTreeOverflowScrollingNodeIOS::startAnimatedScrollToPosition() responds by calling
through to the delegate, which simply calls -[setContentOffset:animated:YES] on the
UIScrollView.

Main frame scrolls are a little different because the programmatic scroll needs to be
handled after layer tree commits; leverage the existing
RemoteScrollingCoordinatorProxy::scrollingTreeNodeRequestsScroll() code, but clean it up to
share the RequestedScrollData type, and have commitScrollingTreeState() return
std::optional<RequestedScrollData> instead of storing a pointer to a struct on the stack as
it did before. The various requestScroll() functions take a ScrollIsAnimated flag which
turns into -[setContentOffset:animated:YES] in WKWebView.

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::dump):

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/ios/WKWebViewIOS.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _scrollToContentScrollPosition:scrollOrigin:animated:]):
(-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]): Deleted.

  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::commitScrollingTreeState):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeRequestsScroll):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::scrollingTreeNodeRequestsScroll):

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.mm:

(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::commitStateAfterChildren): The delegate's
commitStateAfterChildren() has to run first to update UIScrollView state before the programmatic scroll
is handled in the base class.

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::commitStateAfterChildren): The delegate's
commitStateAfterChildren() has to run first to update UIScrollView state before the programmatic scroll
is handled in the base class.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::startAnimatedScrollToPosition):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::stopAnimatedScroll):

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:

(WebKit::ScrollingTreeScrollingNodeDelegateIOS::scrollLayer const): Deleted.
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::activeTouchActions const): Deleted.
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::clearActiveTouchActions): Deleted.

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:

(WebKit::ScrollingTreeScrollingNodeDelegateIOS::startAnimatedScrollToPosition):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::stopAnimatedScroll):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestScroll):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/playstation/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/playstation/PageClientImpl.h:
  • UIProcess/win/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/win/PageClientImpl.h:
10:49 AM Changeset in webkit [283910] by Chris Dumez
  • 30 edits
    2 copies
    1 move
    20 adds
    3 deletes in branches/safari-612-branch/LayoutTests

Cherry-pick r281775. <rdar://83954681>

10:46 AM Changeset in webkit [283909] by Chris Dumez
  • 2 edits in branches/safari-612-branch/Tools

Cherry-pick r281709. <rdar://83953401>

10:41 AM Changeset in webkit [283908] by Chris Dumez
  • 28 edits
    4 adds in branches/safari-612-branch

Cherry-pick r281706. <rdar://83955085>

10:34 AM Changeset in webkit [283907] by Ryan Haddad
  • 3 edits in trunk/Tools

Bring up an iOS GPU Process tester
https://bugs.webkit.org/show_bug.cgi?id=231515

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/config.json:
  • CISupport/build-webkit-org/factories_unittest.py:
10:22 AM Changeset in webkit [283906] by commit-queue@webkit.org
  • 54 edits in trunk

Prepare to switch from WTF::Variant to std::variant
https://bugs.webkit.org/show_bug.cgi?id=231239

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-11
Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCallDOM):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::parseHex):
(JSC::Lexer<T>::parseBinary):
(JSC::Lexer<T>::parseOctal):
(JSC::Lexer<T>::parseDecimal):

  • runtime/CachePayload.cpp:

(JSC::CachePayload::data const):
(JSC::CachePayload::size const):

  • runtime/CacheUpdate.cpp:

(JSC::CacheUpdate::CacheUpdate):

Source/WebCore:

  • Modules/cache/DOMCacheEngine.cpp:

(WebCore::DOMCacheEngine::isolatedResponseBody):
(WebCore::DOMCacheEngine::copyResponseBody):

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::loadingException const):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::sourceObjectStoreIdentifier const):

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::showMediaControlsContextMenu):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::addIceCandidate):

  • Modules/mediastream/RTCRtpTransform.cpp:

(WebCore::RTCRtpTransform::isAttached const):
(WebCore::operator==):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:

(WebCore::LibWebRTCRtpSenderBackend::videoSource):
(WebCore::LibWebRTCRtpSenderBackend::hasSource const):
(WebCore::operator==): Deleted.

  • Modules/webxr/WebXRFrame.cpp:

(WebCore::WebXRFrame::getViewerPose):

  • Modules/webxr/WebXRWebGLLayer.cpp:

(WebCore::WebXRWebGLLayer::canvas const):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::intPointAttributeValue const):
(WebCore::AXIsolatedObject::objectAttributeValue const):
(WebCore::AXIsolatedObject::rectAttributeValue const):
(WebCore::AXIsolatedObject::vectorAttributeValue const):
(WebCore::AXIsolatedObject::optionSetAttributeValue const):
(WebCore::AXIsolatedObject::pairAttributeValue const):
(WebCore::AXIsolatedObject::uint64AttributeValue const):
(WebCore::AXIsolatedObject::urlAttributeValue const):
(WebCore::AXIsolatedObject::pathAttributeValue const):
(WebCore::AXIsolatedObject::colorAttributeValue const):
(WebCore::AXIsolatedObject::floatAttributeValue const):
(WebCore::AXIsolatedObject::doubleAttributeValue const):
(WebCore::AXIsolatedObject::unsignedAttributeValue const):

  • bindings/IDLTypes.h:
  • bindings/js/JSDOMConvertWebGL.cpp:

(WebCore::convertToJSValue):

  • bindings/js/JSPaymentMethodChangeEventCustom.cpp:

(WebCore::JSPaymentMethodChangeEvent::methodDetails const):

  • bindings/js/JSValueInWrappedObject.h:

(WebCore::JSValueInWrappedObject::operator JSC::JSValue const):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeFontWeight):

  • dom/MessageEvent.cpp:

(WebCore::MessageEvent::memoryCost const):

  • editing/Editor.cpp:

(WebCore::Editor::advanceToNextMisspelling):

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::ExclusionRule::match const):

  • html/URLSearchParams.cpp:

(WebCore::URLSearchParams::create):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::canvasContext const):
(WebCore::InspectorCanvas::canvasElement const):
(WebCore::InspectorCanvas::scriptExecutionContext const):
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::indexForData):

  • inspector/InspectorShaderProgram.cpp:

(WebCore::InspectorShaderProgram::program const):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::DataSegment::data const):
(WebCore::SharedBuffer::DataSegment::size const):

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::createCFData const):
(WebCore::SharedBuffer::hintMemoryNotNeededSoon const):

  • platform/generic/KeyedDecoderGeneric.cpp:

(WebCore::KeyedDecoderGeneric::Dictionary::add):
(WebCore::KeyedDecoderGeneric::getPointerFromDictionaryStack):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack):

  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:

(WebCore::TextureMapperPlatformLayerBuffer::clone):

  • platform/mock/MockMediaDevice.h:

(WebCore::MockMediaDevice::encode const):

  • platform/network/FormData.cpp:

(WebCore::FormData::imageOrMediaFilesCount const):
(WebCore::FormDataElement::lengthInBytes const):
(WebCore::FormDataElement::isolatedCopy const):
(WebCore::FormData::appendData):
(WebCore::FormData::flatten const):
(WebCore::FormData::prepareForUpload):
(WebCore::FormData::asBlobURL const):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::advanceCurrentStream):
(WebCore::setHTTPBody):

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::enableSSLForHost):

  • platform/network/curl/CurlFormDataStream.cpp:

(WebCore::CurlFormDataStream::read):

  • platform/network/curl/CurlSSLVerifier.cpp:

(WebCore::CurlSSLVerifier::CurlSSLVerifier):

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessageBody const):

  • style/StyleResolveForFontRaw.cpp:

(WebCore::Style::resolveForFontRaw):

Source/WebKit:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::resolveBlobReferences):

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • Platform/IPC/FormDataReference.h:

(IPC::FormDataReference::encode const):

  • Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:

(WebKit::MediaSampleCursor::locateIterator const):

  • UIProcess/API/APIWebAuthenticationPanel.h:
  • UIProcess/Automation/SimulatedInputDispatcher.h:
  • UIProcess/Cocoa/WKSafeBrowsingWarning.h:

Source/WTF:

This is the pieces of bug 231086 that can be done without changing behavior.

  1. It makes WTF::get_if look more like std::get_if by taking a pointer to a variant instead of a reference.
  2. std::visit is pickier than WTF::visit. The former allows taking lambdas with different return types as long

as the return types can be converted to the overall desired return type. std::visit has a static_assert that the
return types of all the lambdas are all exactly the same type, so I explicitly declare the return type of many lambdas.

  1. It also resolves some types that will become ambiguous by using WTF::in_place,

which will become wrapped by std::in_place_type then removed.

  1. It adds a few explicit WTF:: and #include <wtf/Variant.h> that will be needed after removing Variant from Forward.h.
  2. It removes the fast malloc check in the one place a Variant is dynamically allocated in KeyedDecoderGeneric.cpp

(which is for non-cocoa platforms) because std::variant isn't fast allocated.

  • wtf/LikelyDenseUnsignedIntegerSet.h:

(WTF::LikelyDenseUnsignedIntegerSet::iterator::operator* const):

  • wtf/Variant.h:

(WTF::get_if):

Tools:

  • TestWebKitAPI/Tests/WTF/Hasher.cpp:

(TestWebKitAPI::add):

  • TestWebKitAPI/Tests/WTF/Variant.cpp:

(TestWebKitAPI::TEST):

10:19 AM Changeset in webkit [283905] by Chris Dumez
  • 38 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281516. <rdar://83956860>

10:00 AM Changeset in webkit [283904] by Jonathan Bedard
  • 2 edits in trunk/Tools

[build.webkit.org] Build iOS 15 as universal binary (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=231389
<rdar://problem/83997697>

Reviewed by Ryan Haddad.

  • CISupport/build-webkit-org/config.json: Use universal iOS 15 Simulator Release build.
9:58 AM Changeset in webkit [283903] by keith_miller@apple.com
  • 28 edits
    1 copy in trunk/Source/JavaScriptCore

SourceID should have a type name and only be 32-bits
https://bugs.webkit.org/show_bug.cgi?id=231436

Reviewed by Filip Pizlo.

This patch gives SourceID a proper type name and shrinks it to
32-bits on 64-bit systems. Shrinking the size makes room on
SourceProvider for metadata in a future patch I'm working on.
It's also pretty unlikely that any system has more than ~4 billion
script tags, evals, wasm modules so shinking the size is unlikely
to cause any debugger/profiling issues.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/TypeLocation.h:
  • debugger/Debugger.cpp:

(JSC::Debugger::toggleBreakpoint):
(JSC::Debugger::pauseIfNeeded):

  • debugger/DebuggerLocation.h:

(JSC::DebuggerLocation::DebuggerLocation):

  • debugger/DebuggerPrimitives.h:
  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::sourceID const):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::CreateScriptCallStackFunctor::operator() const):
(Inspector::createScriptCallStackFromException):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::sourceID):

  • interpreter/StackVisitor.h:
  • parser/Nodes.h:

(JSC::ScopeNode::sourceID const):

  • parser/SourceCode.h:

(JSC::SourceCode::SourceCode):
(JSC::SourceCode::firstLine const):
(JSC::SourceCode::startColumn const):
(JSC::SourceCode::providerID const):
(JSC::SourceCode::provider const):
(JSC::SourceCode::operator== const):
(JSC::SourceCode::operator!= const):
(JSC::makeSource):
(JSC::SourceCode::subExpression const):

  • parser/SourceProvider.cpp:

(JSC::SourceProvider::getID):

  • parser/SourceProvider.h:

(JSC::SourceProvider::asID):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::getBasicBlockLocation):
(JSC::ControlFlowProfiler::getBasicBlocksForSourceID const):
(JSC::ControlFlowProfiler::hasBasicBlockAtTextOffsetBeenExecuted):
(JSC::ControlFlowProfiler::basicBlockExecutionCountAtTextOffset):

  • runtime/ControlFlowProfiler.h:
  • runtime/FunctionHasExecutedCache.cpp:

(JSC::FunctionHasExecutedCache::hasExecutedAtOffset):
(JSC::FunctionHasExecutedCache::insertUnexecutedRange):
(JSC::FunctionHasExecutedCache::removeUnexecutedRange):
(JSC::FunctionHasExecutedCache::getFunctionRanges):

  • runtime/FunctionHasExecutedCache.h:
  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::StackFrame::sourceID):

  • runtime/SamplingProfiler.h:
  • runtime/ScriptExecutable.h:

(JSC::ScriptExecutable::sourceID const):

  • runtime/StackFrame.cpp:

(JSC::StackFrame::sourceID const):

  • runtime/StackFrame.h:
  • runtime/TypeLocationCache.cpp:

(JSC::TypeLocationCache::getTypeLocation):

  • runtime/TypeLocationCache.h:
  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::typeInformationForExpressionAtOffset):
(JSC::TypeProfiler::findLocation):

  • runtime/TypeProfiler.h:

(JSC::QueryKey::QueryKey):
(JSC::QueryKey::isHashTableDeletedValue const):

9:54 AM Changeset in webkit [283902] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Use inline box isFirstBox/isLastBox bits in iterator
https://bugs.webkit.org/show_bug.cgi?id=231513

Reviewed by Alan Bujtas.

  • layout/integration/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::traverseNextInlineBox):
(WebCore::InlineIterator::BoxModernPath::traversePreviousInlineBox):

Avoid always traversing to the end.

9:36 AM Changeset in webkit [283901] by Kocsen Chung
  • 1 copy in tags/Safari-613.1.4.1

Tag Safari-613.1.4.1.

9:18 AM Changeset in webkit [283900] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Export some display list item methods for use in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=231483

Reviewed by Anders Carlsson.

Add WEBCORE_EXPORT to various apply methods on display list items, which will allow RemoteDisplayListRecorder
(in the GPU process, and implemented in WebKit2) to play back incoming display list items.

  • platform/graphics/displaylists/DisplayListItems.h:
9:13 AM Changeset in webkit [283899] by Razvan Caliman
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Move CSS longhand and shorthand mapping away from WI.CSSCompletions
https://bugs.webkit.org/show_bug.cgi?id=231432
<rdar://problem/84029471>

Reviewed by Devin Rousso.

WI.CSSCompletions has scope creep. Beyond handling filtering for CSS completions,
it holds logic to deal with CSS property name longhand-to-shorthand mapping.

But it already relies heavily on metadata about properties set on WI.CSSKeywordCompletions
populated as a result of the one-time initialization from WI.CSSCompletions.initializeCSSCompletions(target) >
WI.CSSKeywordCompletions.addCustomCompletions(properties).

This change moves the longhand-to-shorthand mapping from WI.CSSCompletions to
WI.CSSKeywordCompletions.ShorthandNamesForLongHandProperty and updates relevant consumers.

The aim is to gradually remove all specialized logic for property names from WI.CSSCompletions.

  • UserInterface/Models/CSSCompletions.js:

(WI.CSSCompletions):
(WI.CSSCompletions.prototype.isShorthandPropertyName): Deleted.
(WI.CSSCompletions.prototype.shorthandsForLonghand): Deleted.

  • UserInterface/Models/CSSKeywordCompletions.js:
  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty):

  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles.prototype._associateRelatedProperties):

9:12 AM Changeset in webkit [283898] by Kocsen Chung
  • 8 edits in branches/safari-613.1.4-branch/Source

Versioning.

WebKit-7613.1.4.1

9:04 AM Changeset in webkit [283897] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/WebKit

Add AdAttributionDaemon sandbox on iOS
https://bugs.webkit.org/show_bug.cgi?id=231308

Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-11
Reviewed by Brent Fulgham.

This makes it so that AdAttributionDaemon has enough permission to access the network and its storage file and not much else.

  • Configurations/AdAttributionDaemon.xcconfig:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.AdAttributionDaemon.sb: Added.
  • Scripts/process-entitlements.sh:
  • Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:

(WebKit::enterSandbox):

  • WebKit.xcodeproj/project.pbxproj:
8:55 AM Changeset in webkit [283896] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

LineLayoutPath::LineBoxesPath name is outdated
https://bugs.webkit.org/show_bug.cgi?id=231494

Reviewed by Antti Koivisto.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printModernLineLayoutCoverage):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):

  • rendering/RenderBlockFlow.h:
8:43 AM Changeset in webkit [283895] by Antti Koivisto
  • 5 edits
    1 add
    7 deletes in trunk

Remove inline box decoration painting quirk
https://bugs.webkit.org/show_bug.cgi?id=231510

Reviewed by Alan Bujtas.

Source/WebCore:

This quirk implemented in InlineBoxPainter::constrainToLineTopAndBottomIfNeeded constraints
painting of inline box decorations under certain narrow conditions in quirks mode.
It has been removed from Chrome so removing it is likely web compatible.

The quirk originated from https://trac.webkit.org/changeset/53200/webkit

  • rendering/InlineBoxPainter.cpp:

(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):
(WebCore::InlineBoxPainter::paintFillLayer):
(WebCore::InlineBoxPainter::constrainToLineTopAndBottomIfNeeded const): Deleted.

  • rendering/InlineBoxPainter.h:

LayoutTests:

  • fast/backgrounds/quirks-mode-line-box-backgrounds-expected-mismatch.html: Added.
  • fast/backgrounds/quirks-mode-line-box-backgrounds.html:
  • platform/glib/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt: Removed.
  • platform/gtk/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.png: Removed.
  • platform/ios/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt: Removed.
  • platform/mac/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.png: Removed.
  • platform/mac/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt: Removed.
  • platform/win/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt: Removed.
  • platform/wincairo/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt: Removed.
8:30 AM Changeset in webkit [283894] by Noam Rosenthal
  • 2 edits in trunk

Add my github username to contributors.json

Unreviewed.

  • metadata/contributors.json:
8:12 AM Changeset in webkit [283893] by Antti Koivisto
  • 15 edits in trunk/Source/WebCore

[LFC][Integration] paintFillLayerExtended should use inline iterator
https://bugs.webkit.org/show_bug.cgi?id=231502

Reviewed by Alan Bujtas.

Prepare for LFC inline box painting.

  • layout/integration/InlineIteratorInlineBox.cpp:

(WebCore::InlineIterator::InlineBox::hasClosedLeftAndRightEdge const):

Add a shared helper.

The answer is computed here though this information is needed for layout too.
We should be able to consult layout to get it.

  • layout/integration/InlineIteratorInlineBox.h:
  • rendering/InlineBoxPainter.cpp:

(WebCore::clipRectForNinePieceImageStrip):
(WebCore::InlineBoxPainter::paintDecorations):
(WebCore::InlineBoxPainter::paintFillLayer):
(WebCore::InlineBoxPainter::paintBoxShadow):

  • rendering/LegacyInlineBox.h:
  • rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::boxShadowCanBeAppliedToBackground const): Deleted.

Move to the only call site as a lambda.

  • rendering/LegacyInlineFlowBox.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::paintFillLayer):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::getBackgroundRoundedRect const):
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground const):

  • rendering/RenderImage.h:
  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paintBoxDecorations):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground const):

  • rendering/RenderTableCell.h:
6:50 AM Changeset in webkit [283892] by ntim@apple.com
  • 7 edits
    7 copies
    8 adds in trunk/LayoutTests

Import new top layer WPTs
https://bugs.webkit.org/show_bug.cgi?id=229318

Reviewed by Youenn Fablet.

Sync html/semantics/interactive-elements/the-dialog-element/ WPTs from https://github.com/web-platform-tests/wpt/commit/023d5aa5d338569ae12988190705e1d570930d61

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/w3c-import.log:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-clip-expected.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-clip.html: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-filter-expected.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-filter.html: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-mask-expected.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-mask.html: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-opacity-expected.html:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-opacity.html:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-overflow-clip-expected.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-overflow-clip.html: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-overflow-hidden-expected.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-overflow-hidden.html: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-overflow-scroll-expected.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-overflow-scroll.html: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-transform-expected.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-transform.html: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/resources/green-dialog-and-backdrop.html.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:

LayoutTests:

6:48 AM Changeset in webkit [283891] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Sort syscall filters in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=231509
<rdar://problem/84095366>

Unreviewed, this patch only sorts existing message filters.

Syscall filters should be sorted in the WebContent process' sandbox. This patch does not add or
remove items from the filters, so there should be no change in behavior.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
4:50 AM Changeset in webkit [283890] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Block access in sandbox to capability which is allowed by default
https://bugs.webkit.org/show_bug.cgi?id=231079
<rdar://66586853>

Reviewed by Brent Fulgham.

Some capabilities are allowed by default, and needs to be explicitly denied in the sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
4:05 AM Changeset in webkit [283889] by emilio
  • 2 edits in trunk

Add my GitHub username to contributors.json.
https://bugs.webkit.org/show_bug.cgi?id=231507

Unreviewed.

  • metadata/contributors.json:
3:47 AM Changeset in webkit [283888] by Claudio Saavedra
  • 2 edits in trunk

Add my github username to contributors.json

Unreviewed.

  • metadata/contributors.json:
2:10 AM Changeset in webkit [283887] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

[JSC][32bit] Fix profiling in baseline
https://bugs.webkit.org/show_bug.cgi?id=231368

Patch by Geza Lore <Geza Lore> on 2021-10-11
Reviewed by Yusuke Suzuki.

Fixes profiling omissions introduced with the recent 32-bit baseline
build fixes, and also brings the rest of profile updates in-line with
the unlinked baseline on 64-bit platforms.

  • jit/JIT.h:
  • jit/JITCall32_64.cpp:

(JSC::JIT::emitPutCallResult):
(JSC::JIT::compileSetupFrame):
(JSC::JIT::compileOpCall):
(JSC::JIT::emit_op_iterator_open):
(JSC::JIT::emitSlow_op_iterator_open):
(JSC::JIT::emit_op_iterator_next):
(JSC::JIT::emitSlow_op_iterator_next):

  • jit/JITInlines.h:

(JSC::JIT::emitValueProfilingSiteIfProfiledOpcode):
(JSC::JIT::emitValueProfilingSite):
(JSC::JIT::emitArrayProfilingSiteWithCell):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_jneq_ptr):
(JSC::JIT::emit_op_to_number):
(JSC::JIT::emit_op_to_numeric):
(JSC::JIT::emit_op_to_object):
(JSC::JIT::emit_op_catch):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_private_name):
(JSC::JIT::emitSlow_op_get_private_name):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id_direct):
(JSC::JIT::emitSlow_op_get_by_id_direct):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_get_by_id_with_this):
(JSC::JIT::emitSlow_op_get_by_id_with_this):
(JSC::JIT::emit_op_in_by_val):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emit_op_get_from_arguments):
(JSC::JIT::emit_op_get_internal_field):

1:14 AM Changeset in webkit [283886] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add message filter in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=231046
<rdar://problem/83743661>

Reviewed by Brent Fulgham.

Add IOKit message filter in the WebContent process' sandbox on iOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
12:34 AM Changeset in webkit [283885] by Diego Pino Garcia
  • 2 edits in trunk

Add GitHub username for Diego Pino Garcia

Unreviewed.

  • metadata/contributors.json:

Oct 10, 2021:

11:59 PM Changeset in webkit [283884] by Pablo Saavedra
  • 2 edits in trunk

Add GitHub username for Pablo Saavedra

Unreviewed.

  • metadata/contributors.json:
11:38 PM Changeset in webkit [283883] by calvaris@igalia.com
  • 2 edits in trunk

Unreviewed. Add GitHub username for Xabier Rodriguez Calvar

  • metadata/contributors.json:
9:31 PM Changeset in webkit [283882] by Cameron McCormack
  • 2 edits in trunk

Add GitHub account to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=231497

Unreviewed.

  • metadata/contributors.json:
5:31 PM Changeset in webkit [283881] by sihui_liu@apple.com
  • 70 edits
    1 copy
    8 adds in trunk

Add support for iterating FileSystemDirectoryHandle
https://bugs.webkit.org/show_bug.cgi?id=231142
<rdar://problem/83848092>

Reviewed by Youenn Fablet and Yusuke Suzuki.

LayoutTests/imported/w3c:

Rebaselined existing tests as new interface is added and tests can proceed to next stage.

  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.worker-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any-expected.txt:
  • web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.worker-expected.txt:

Source/JavaScriptCore:

  • CMakeLists.txt:
  • runtime/JSBoundFunction.h:
  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalObjectInlines.h:

(JSC::JSGlobalObject::performPromiseThenFunction const):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::createNewPromiseCapability):
(JSC::JSPromise::convertCapabilityToDeferredData):
(JSC::JSPromise::createDeferredData):
(JSC::JSPromise::performPromiseThen):

  • runtime/JSPromise.h:

Source/WebCore:

Introduce a new template class JSDOMAsyncIteratorBase to provide support for AsyncIterable in IDL.
Spec: https://webidl.spec.whatwg.org/#es-asynchronous-iterator-prototype-object.

Since bindings code generator does not support creating specialized class for interface yet (we will do it in
webkit.org/b/231243), manually create a new specialized class JSFileSystemDirectoryHandleIterator
and implement keys(), values(), and entries() of JSFileSystemDirectoryHandle as custom methods to return a
JSFileSystemDirectoryHandleIterator object.

Add support for async directory iteration.
Spec: https://wicg.github.io/file-system-access/#api-filesystemdirectoryhandle-asynciterable

Add a new class FileSystemDirectoryHandle::Iterator, which retrieves the keys (names of children handles) on
initialization. In next(), it takes out a key and request to get corresponding handle from backend. If the
request fails, for example because file is removed after iterator initialization, it repeats the steps above
until a valid handle is received or keys becomes empty.

Tests: storage/filesystemaccess/directory-handle-iteration-worker.html

storage/filesystemaccess/directory-handle-iteration.html

  • Modules/filesystemaccess/FileSystemDirectoryHandle.cpp:

(WebCore::FileSystemDirectoryHandle::getHandleNames):
(WebCore::FileSystemDirectoryHandle::getHandle):
(WebCore::FileSystemDirectoryHandle::createIterator):
(WebCore::FileSystemDirectoryHandleIterator::create):
(WebCore::FileSystemDirectoryHandleIterator::next):
(WebCore::FileSystemDirectoryHandleIterator::advance):

  • Modules/filesystemaccess/FileSystemDirectoryHandle.h:
  • Modules/filesystemaccess/FileSystemDirectoryHandle.idl:
  • Modules/filesystemaccess/FileSystemFileHandle.cpp:

(WebCore::FileSystemFileHandle::getFile):

  • Modules/filesystemaccess/FileSystemStorageConnection.h:
  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:

(WebCore::WorkerFileSystemStorageConnection::getHandleNames):
(WebCore::WorkerFileSystemStorageConnection::didGetHandleNames):
(WebCore::WorkerFileSystemStorageConnection::getHandle):
(WebCore::WorkerFileSystemStorageConnection::didGetHandleWithType):

  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMAsyncIterator.h: Added.

(WebCore::JSDOMAsyncIteratorBase::createPrototype):
(WebCore::JSDOMAsyncIteratorBase::JSDOMAsyncIteratorBase):
(WebCore::jsPair):
(WebCore::iteratorCreate):
(WebCore::convertToJS):
(WebCore::JSIterator>::destroy):
(WebCore::JSIterator>::next):
(WebCore::JSIterator>::runNextSteps):
(WebCore::JSIterator>::getNextIterationResult):
(WebCore::JSIterator>::settle):
(WebCore::JSIterator>::fulfill):
(WebCore::JSIterator>::reject):
(WebCore::JSIterator>::finishCreation):

  • bindings/js/JSFileSystemDirectoryHandleCustom.cpp: Added.

(WebCore::JSFileSystemDirectoryHandle::entries):
(WebCore::JSFileSystemDirectoryHandle::keys):
(WebCore::JSFileSystemDirectoryHandle::values):

  • bindings/js/JSFileSystemDirectoryHandleIterator.cpp: Added.

(WebCore::JSFileSystemDirectoryHandleIterator::subspaceForImpl):
(WebCore::jsFileSystemDirectoryHandleIterator_onPromiseSettledBody):
(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSFileSystemDirectoryHandleIterator::createOnSettledFunction):
(WebCore::jsFileSystemDirectoryHandleIterator_onPromiseFulfilledBody):
(WebCore::JSFileSystemDirectoryHandleIterator::createOnFulfilledFunction):
(WebCore::jsFileSystemDirectoryHandleIterator_onPromiseRejectedBody):
(WebCore::JSFileSystemDirectoryHandleIterator::createOnRejectedFunction):

  • bindings/js/JSFileSystemDirectoryHandleIterator.h: Added.
  • bindings/js/WebCoreBuiltinNames.h:
  • bindings/js/WebCoreJSClientData.h:

(WebCore::JSVMClientData::fileSystemDirectoryHandleIteratorSpace):
(WebCore::JSVMClientData::setFileSystemDirectoryHandleIteratorSpace):

Source/WebKit:

  • NetworkProcess/storage/FileSystemStorageHandle.cpp:

(WebKit::FileSystemStorageHandle::FileSystemStorageHandle):
(WebKit::FileSystemStorageHandle::getHandleNames):
(WebKit::FileSystemStorageHandle::getHandle):

  • NetworkProcess/storage/FileSystemStorageHandle.h:

(WebKit::FileSystemStorageHandle::type const):

  • NetworkProcess/storage/FileSystemStorageManager.cpp:

(WebKit::FileSystemStorageManager::createHandle):
(WebKit::FileSystemStorageManager::getType):

  • NetworkProcess/storage/FileSystemStorageManager.h:
  • NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::getHandleNames):
(WebKit::NetworkStorageManager::getHandle):

  • NetworkProcess/storage/NetworkStorageManager.h:
  • NetworkProcess/storage/NetworkStorageManager.messages.in:
  • WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:

(WebKit::WebFileSystemStorageConnection::getFileHandle):
(WebKit::WebFileSystemStorageConnection::getDirectoryHandle):
(WebKit::WebFileSystemStorageConnection::getHandleNames):
(WebKit::WebFileSystemStorageConnection::getHandle):

  • WebProcess/WebCoreSupport/WebFileSystemStorageConnection.h:

LayoutTests:

  • platform/wk2/TestExpectations: mark some tests as flaky failure on release builds. They were flaky at import,

but they didn't get to run due to missing directory iteration support.

  • storage/filesystemaccess/directory-handle-iteration-expected.txt: Added.
  • storage/filesystemaccess/directory-handle-iteration-worker-expected.txt: Added.
  • storage/filesystemaccess/directory-handle-iteration-worker.html: Added.
  • storage/filesystemaccess/directory-handle-iteration.html: Added.
  • storage/filesystemaccess/resources/directory-handle-iteration.js: Added.

(testPrototype):
(async testNext):
(async test):

4:05 PM Changeset in webkit [283880] by dino@apple.com
  • 10 edits in trunk/Source/WebCore

[WebXR] Replace the session reference in WebXRSpace subclasses with weak pointers
https://bugs.webkit.org/show_bug.cgi?id=231482

Reviewed by Sam Weinig.

WebXRSpace had a pure virtual session() accessor that returned a
reference to a WebXRSession. This made subclasses hold strong
references to the WebXRSession, and is problematic for WebXRSpace
subclasses that are (indirectly) owned by the WebXRSession.

Change the accessor to return a pointer, and all the subclasses
to use weak pointers instead.

  • Modules/webxr/WebXRBoundedReferenceSpace.h: Use a WeakPtr and change

the constructor parameter to take a reference instead of a Ref<>.

  • Modules/webxr/WebXRBoundedReferenceSpace.cpp:

(WebCore::WebXRBoundedReferenceSpace::create):
(WebCore::WebXRBoundedReferenceSpace::WebXRBoundedReferenceSpace):
(WebCore::WebXRBoundedReferenceSpace::getOffsetReferenceSpace):
(WebCore::WebXRBoundedReferenceSpace::updateIfNeeded): Add early return.

  • Modules/webxr/WebXRFrame.cpp:

(WebCore::WebXRFrame::populatePose): Compare pointers directly.

  • Modules/webxr/WebXRInputSpace.h: Use WeakPtr.
  • Modules/webxr/WebXRInputSpace.cpp:

(WebCore::WebXRInputSpace::WebXRInputSpace):
(WebCore::WebXRInputSpace::nativeOrigin const): Change this to return an
optional so we can detect errors and raise Exceptions.

  • Modules/webxr/WebXRReferenceSpace.h: Use a WeakPtr and change

the constructor parameter to take a reference instead of a Ref<>.

  • Modules/webxr/WebXRReferenceSpace.cpp:

(WebCore::WebXRReferenceSpace::create):
(WebCore::WebXRReferenceSpace::WebXRReferenceSpace):
(WebCore::WebXRReferenceSpace::nativeOrigin const): Return an optional.
(WebCore::WebXRReferenceSpace::getOffsetReferenceSpace):
(WebCore::WebXRReferenceSpace::floorOriginTransform const): Return an optional.

  • Modules/webxr/WebXRSpace.cpp: Return a * instead of a &.

(WebCore::WebXRSpace::isPositionEmulated const):
(WebCore::WebXRViewerSpace::WebXRViewerSpace):
(WebCore::WebXRViewerSpace::nativeOrigin const):

  • Modules/webxr/WebXRSpace.h:
3:24 PM Changeset in webkit [283879] by Alan Bujtas
  • 5 edits in trunk

[IFC][Integration] Do not bail out on missing primary font
https://bugs.webkit.org/show_bug.cgi?id=231488

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/getBoundingClientRect-shy-expected.txt:

Source/WebCore:

IFC has non-primary font support now.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForFontAndText):

  • layout/integration/LayoutIntegrationCoverage.h:
2:28 PM Changeset in webkit [283878] by commit-queue@webkit.org
  • 2 edits in trunk

[WPE] Reenable -fvisibility=hidden and -fvisibility-inlines-hidden
https://bugs.webkit.org/show_bug.cgi?id=222860

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-10-10
Reviewed by Philippe Normand.

  • Source/cmake/OptionsWPE.cmake:
1:42 PM Changeset in webkit [283877] by Adrian Perez de Castro
  • 2 edits in trunk

Unreviewed. Add GitHub username for Adrian Perez de Castro

While at it, run "validate-committer-lists --canonicalize".

  • metadata/contributors.json:
10:36 AM Changeset in webkit [283876] by commit-queue@webkit.org
  • 12 edits
    2 moves
    1 add in trunk

[WPE] Expose WKTextCheckerSetContinuousSpellCheckingEnabled and use it from WKTR
https://bugs.webkit.org/show_bug.cgi?id=231446

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-10-10
Reviewed by Philippe Normand.

Source/WebKit:

This is to avoid WKTR needing to poke WebKit internals to turn on spellchecking.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • UIProcess/API/C/glib/WKTextCheckerGLib.cpp: Renamed from Source/WebKit/UIProcess/API/C/gtk/WKTextCheckerGtk.cpp.

(WKTextCheckerSetClient):
(WKTextCheckerContinuousSpellCheckingEnabledStateChanged):
(WKTextCheckerGrammarCheckingEnabledStateChanged):
(WKTextCheckerCheckSpelling):
(WKTextCheckerChangeSpellingToWord):
(WKTextCheckerSetSpellCheckingLanguages):
(WKTextCheckerSetContinuousSpellCheckingEnabled):

  • UIProcess/API/C/glib/WKTextCheckerGLib.h: Renamed from Source/WebKit/UIProcess/API/C/gtk/WKTextCheckerGtk.h.
  • UIProcess/gtk/WebTextChecker.h:
  • UIProcess/gtk/WebTextCheckerClient.h:

Tools:

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:
  • WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
  • WebKitTestRunner/gtk/main.cpp:
  • WebKitTestRunner/wpe/UIScriptControllerWPE.cpp:

(WTR::UIScriptControllerWPE::setContinuousSpellCheckingEnabled):

9:05 AM Changeset in webkit [283875] by Alan Bujtas
  • 7 edits in trunk

[LFC][IFC] Do no bail out on boundary neutral characters
https://bugs.webkit.org/show_bug.cgi?id=231485

Reviewed by Antti Koivisto.

Source/WebCore:

They don't affect directionality (no bidi impact), no need to take the legacy codepath.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForText):

LayoutTests:

1:49 AM Changeset in webkit [283874] by ysuzuki@apple.com
  • 16 edits
    1 add in trunk

[JSC] Refine RegExp#compile based on regexp-legacy-features proposal
https://bugs.webkit.org/show_bug.cgi?id=231486

Reviewed by Alexey Shvayka.

JSTests:

  • stress/regexp-recompile.js: Added.

(shouldBe):
(recompile):
(target):

  • test262/expectations.yaml:

Source/JavaScriptCore:

This patch refines RegExp#compile based regexp-legacy-features proposal[1].
We add legacyFeaturesDisabledFlag flag to RegExpObject so that we can
detect LegacyFeaturesEnabled.

We also add regExpRecompiledWatchpoint to JSGlobalObject. We have strength
reduction in DFG / FTL, but we should recompile DFG / FTL code when RegExp
is recompiled. Since it is rare, instead of having this watchpoint per
RegExpObject, we hold it in JSGlobalObject.

[1]: https://github.com/tc39/proposal-regexp-legacy-features

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewRegexp):
(JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • ftl/FTLOperations.cpp:

(JSC::FTL::JSC_DEFINE_JIT_OPERATION):

  • jit/JITOperations.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::regExpRecompiledWatchpoint):
(JSC::JSGlobalObject::isRegExpRecompiled const):

  • runtime/RegExpConstructor.cpp:

(JSC::areLegacyFeaturesEnabled):
(JSC::regExpCreate):
(JSC::constructRegExp):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::RegExpObject):

  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

12:01 AM Changeset in webkit [283873] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[Build-time perf] Speed up the WebCore null build
https://bugs.webkit.org/show_bug.cgi?id=231473

Reviewed by Myles C. Maxfield.

The DerivedSources-output.xcfilelist had a number of entries for files that no longer exist, or had been renamed.

The "Check For Inappropriate Objective-C Class Names" and "Check For Inappropriate Files In Framework" build phases
had no inputs or outputs listed, causing them to run every time. Define an output of an empty text file in the
TARGET_TEMP_DIR directory that will get touched after the check, allowing the build system to do dependency checking.

The "Make Frameworks Symbolic Link" build phase had no output defined, causing it to run every time.

  • DerivedSources-output.xcfilelist:
  • WebCore.xcodeproj/project.pbxproj:

Oct 9, 2021:

9:41 PM Changeset in webkit [283872] by Alan Bujtas
  • 4 edits in trunk

Ideographic space behaves as breaking space
https://bugs.webkit.org/show_bug.cgi?id=231480

Reviewed by Antti Koivisto.

Source/WebCore:

We should be able to break at U+3000.
See https://drafts.csswg.org/css-text-3/#word-break-property and https://www.unicode.org/reports/tr14/tr14-47.html

  • layout/formattingContexts/inline/InlineTextItem.cpp:

(WebCore::Layout::moveToNextNonWhitespacePosition):

  • rendering/BreakLines.h:

(WebCore::isBreakableSpace):

LayoutTests:

3:01 PM Changeset in webkit [283871] by Simon Fraser
  • 10 edits in trunk

Run smooth scroll animations on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=231481

Reviewed by Tim Horton.

Source/WebCore:

Implement AsyncScrollingCoordinator::requestAnimatedScrollToPosition() and stopAnimatedScroll()
so that smooth scroll animations are dispatched to the scrolling thread.

RequestedScrollData gains a requestType field so that we can indicate the need
to cancel a running animation on the scrolling thread.

Tested by tests in imported/w3c/web-platform-tests/css/cssom-view.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::requestAnimatedScrollToPosition):
(WebCore::AsyncScrollingCoordinator::stopAnimatedScroll):

  • page/scrolling/ScrollingCoordinatorTypes.h:

(WebCore::RequestedScrollData::operator== const):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::handleScrollPositionRequest): We already cancel
the animation each time. If this is a ScrollRequestType::CancelAnimatedScroll, there is no
more to do.

Source/WebKit:

Implement AsyncScrollingCoordinator::requestAnimatedScrollToPosition() and stopAnimatedScroll()
so that smooth scroll animations are dispatched to the scrolling thread.

RequestedScrollData gains a requestType field so that we can indicate the need
to cancel a running animation on the scrolling thread.

Tested by tests in imported/w3c/web-platform-tests/css/cssom-view.

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<RequestedScrollData>::encode):
(ArgumentCoder<RequestedScrollData>::decode):
(WebKit::dump):

LayoutTests:

imported/w3c/web-platform-tests/css/cssom-view/idlharness.html seems to pass just fine.
imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-smooth.html has some problems
indicated by the github issue.

Three tests pass now on iOS (but they are not yet scrolling in the UI process).

2:35 PM Changeset in webkit [283870] by Beth Dakin
  • 5 edits
    2 adds in trunk/Tools

Pull modifier key extraction into TestRunnerShared
https://bugs.webkit.org/show_bug.cgi?id=231267

Reviewed by Tim Horton.

This patch pulls the code to extract modifier key information is pulled into a little class
called ModifierKeys in TestRunnerShared. That code is now shared between DRT and WKTR
for the existing implementations of keyDown.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController keyDown:withModifiers:withLocation:]):

  • TestRunnerShared/cocoa/ModifierKeys.h: Added.
  • TestRunnerShared/cocoa/ModifierKeys.mm: Added.

(-[ModifierKeys init]):
(-[ModifierKeys dealloc]):
(+[ModifierKeys modifierKeysWithKey:modifiers:keyLocation:]):

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::keyDown):

2:19 PM Changeset in webkit [283869] by berto@igalia.com
  • 2 edits in trunk

Add GitHub account to contributors.json

Unreviewed.

  • metadata/contributors.json:
1:38 PM Changeset in webkit [283868] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Remove scrollbars explicitly when destroying render tree
https://bugs.webkit.org/show_bug.cgi?id=229274

Patch by Rob Buis <rbuis@igalia.com> on 2021-10-09
Reviewed by Simon Fraser.

Source/WebCore:

Scrollbars in FrameViews that are hosted by RenderWidget need the RenderView
to exist because of RenderScrollbarPart. So when we are destroying the render tree
the RenderView will be destroyed too, so before that happens remove the scrollbars
and its RenderScrollbarParts.

Test: editing/inserting/insert-html-crash-02.html

  • page/FrameView.cpp:

(WebCore::FrameView::willBeDestroyed):

  • page/FrameView.h:
  • platform/Widget.h:

(WebCore::Widget::willBeDestroyed):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::willBeDestroyed):

LayoutTests:

  • editing/inserting/insert-html-crash-02-expected.txt: Added.
  • editing/inserting/insert-html-crash-02.html: Added.
6:13 AM Changeset in webkit [283867] by Jean-Yves Avenard
  • 2 edits in trunk

2021-10-09 Jean-Yves Avenard <Jean-Yves Avenard>

Unreviewed, add my GitHub username

  • metadata/contributors.json:
4:47 AM Changeset in webkit [283866] by Manuel Rego Casasnovas
  • 2 edits in trunk

Add GitHub account to contributors.json and update expertise field
https://bugs.webkit.org/show_bug.cgi?id=231476

Unreviewed.

  • metadata/contributors.json:
Note: See TracTimeline for information about the timeline view.