Skip to content
Permalink
main
Switch branches/tags

Commits on May 19, 2022

  1. Move directories from WebProcessPool to WebsiteDataStore

    https://bugs.webkit.org/show_bug.cgi?id=240609
    
    Reviewed by Chris Dumez.
    
    Moving directories out of WebProcessPool because WebsiteDataStore usually decides where to store things. It is confusing
    in current implementation that WebsiteDataStore gets the paths from WebProcessPool, and then WebProcessPool query paths
    from WebsiteDataStore.
    
    * Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
    (WebKit::WebProcessPool::cacheDirectoryInContainerOrHomeDirectory): Deleted.
    (WebKit::WebProcessPool::cookieStorageDirectory): Deleted.
    (WebKit::WebProcessPool::parentBundleDirectory): Deleted.
    (WebKit::WebProcessPool::networkingCachesDirectory): Deleted.
    (WebKit::WebProcessPool::webContentCachesDirectory): Deleted.
    (WebKit::WebProcessPool::containerTemporaryDirectory): Deleted.
    * Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
    (WebKit::gpuProcessCachesDirectory):
    (WebKit::GPUProcessProxy::GPUProcessProxy):
    * Source/WebKit/UIProcess/WebProcessPool.cpp:
    (WebKit::WebProcessPool::webProcessDataStoreParameters):
    * Source/WebKit/UIProcess/WebProcessPool.h:
    * Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
    (WebKit::WebsiteDataStore::cacheDirectoryInContainerOrHomeDirectory):
    (WebKit::WebsiteDataStore::cookieStorageDirectory):
    (WebKit::WebsiteDataStore::containerCachesDirectory):
    (WebKit::WebsiteDataStore::parentBundleDirectory):
    (WebKit::WebsiteDataStore::networkingCachesDirectory):
    (WebKit::WebsiteDataStore::containerTemporaryDirectory):
    * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
    (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
    (WebKit::WebsiteDataStore::parameters):
    * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
    (WebKit::WebsiteDataStore::cookieStorageDirectory const): Deleted.
    (WebKit::WebsiteDataStore::containerCachesDirectory const): Deleted.
    (WebKit::WebsiteDataStore::containerTemporaryDirectory const): Deleted.
    
    Canonical link: https://commits.webkit.org/250731@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    szewai committed May 19, 2022
  2. Add find()/reverseFind()/contains() overloads takes an ASCIILiteral t…

    …o our String types https://bugs.webkit.org/show_bug.cgi?id=240247
    
    https://bugs.webkit.org/show_bug.cgi?id=240247
    
    Reviewed by Darin Adler.
    
    Add find()/reverseFind()/contains() overloads takes an ASCIILiteral to our String types.
    These versions are more efficient when the call sites have an ASCIILiteral as they have
    less branching.
    
    * Source/JavaScriptCore/runtime/ExceptionHelpers.cpp:
    (JSC::notAFunctionSourceAppender):
    (JSC::invalidParameterInSourceAppender):
    (JSC::invalidParameterInstanceofSourceAppender):
    (JSC::invalidPrototypeSourceAppender):
    * Source/JavaScriptCore/runtime/IntlObject.cpp:
    (JSC::canonicalizeUnicodeExtensionsAfterICULocaleCanonicalization):
    (JSC::lookupMatcher):
    * Source/JavaScriptCore/tools/FunctionOverrides.cpp:
    (JSC::initializeOverrideInfo):
    * Source/WebCore/PAL/pal/text/DecodeEscapeSequences.h:
    (PAL::Unicode16BitEscapeSequence::findInString):
    * Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
    (WebKit::needsNewCreateTableSchema):
    (WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList):
    * Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
    (WebKit::NetworkResourceLoader::didReceiveResponse):
    * Source/WebKit/NetworkProcess/cache/PrefetchCache.cpp:
    (WebKit::PrefetchCache::take):
    * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
    (-[WKContentView _updateTextInputTraits:]):
    * Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
    (WebKit::WebPage::focusedElementInformation):
    * Source/WebKit/WebProcess/WebProcess.cpp:
    (WebKit::checkDocumentsCaptureStateConsistency):
    * Source/WebKitLegacy/mac/WebView/WebView.mm:
    (-[WebView updateTextTouchBar]):
    * Source/WTF/wtf/text/AtomString.h:
    * Source/WTF/wtf/text/StringImpl.cpp:
    (WTF::StringImpl::find):
    (WTF::StringImpl::reverseFind):
    * Source/WTF/wtf/text/StringImpl.h:
    (WTF::StringImpl::find):
    (WTF::StringImpl::reverseFind):
    * Source/WTF/wtf/text/StringView.cpp:
    (WTF::StringView::find const):
    (WTF::StringView::reverseFind const):
    * Source/WTF/wtf/text/StringView.h:
    * Source/WTF/wtf/text/WTFString.h:
    * Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:
    (WebCore::FetchBodyConsumer::packageFormData):
    * Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:
    (WebCore::PeerConnectionBackend::validateSDP const):
    (WebCore::PeerConnectionBackend::newICECandidate):
    * Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:
    (WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):
    * Source/WebCore/dom/DataTransfer.cpp:
    (WebCore::DataTransfer::types const):
    * Source/WebCore/dom/Document.cpp:
    (WebCore::Document::createCDATASection):
    (WebCore::Document::createProcessingInstruction):
    * Source/WebCore/editing/cocoa/HTMLConverter.mm:
    (HTMLConverter::computedAttributesForElement):
    * Source/WebCore/editing/libwpe/EditorLibWPE.cpp:
    (WebCore::createFragmentFromPasteboardData):
    * Source/WebCore/editing/markup.cpp:
    (WebCore::StyledMarkupAccumulator::shouldPreserveMSOListStyleForElement):
    (WebCore::StyledMarkupAccumulator::appendNodeToPreserveMSOList):
    (WebCore::shouldPreserveMSOLists):
    * Source/WebCore/html/track/VTTRegion.cpp:
    (WebCore::VTTRegion::parseSettingValue):
    * Source/WebCore/html/track/WebVTTParser.cpp:
    (WebCore::WebVTTParser::collectWebVTTBlock):
    (WebCore::WebVTTParser::checkAndRecoverCue):
    (WebCore::WebVTTParser::checkAndCreateRegion):
    (WebCore::WebVTTParser::checkAndStoreRegion):
    (WebCore::WebVTTParser::checkStyleSheet):
    (WebCore::WebVTTParser::checkAndStoreStyleSheet):
    (WebCore::WebVTTParser::collectCueId):
    (WebCore::WebVTTParser::collectCueText):
    (WebCore::WebVTTParser::ignoreBadCue):
    * Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
    (WebCore::GStreamerRegistryScanner::ElementFactories::hasElementForMediaType const):
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
    * Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:
    (WebCore::ExtensionsGLOpenGLCommon::ExtensionsGLOpenGLCommon):
    * Source/WebCore/platform/graphics/texmap/TextureMapperContextAttributes.cpp:
    (WebCore::TextureMapperContextAttributes::get):
    * Source/WebCore/platform/ios/UserAgentIOS.mm:
    (WebCore::deviceNameForUserAgent):
    * Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
    (WebCore::isValidCaptureDevice):
    * Source/WebCore/rendering/style/GridPositionsResolver.cpp:
    (WebCore::NamedLineCollectionBase::NamedLineCollectionBase):
    * Source/WebCore/style/StyleScope.cpp:
    (WebCore::Style::Scope::collectActiveStyleSheets):
    * Source/WebCore/testing/Internals.cpp:
    (WebCore::Internals::isVP9VTBDeccoderUsed):
    * Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:
    (WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):
    
    Canonical link: https://commits.webkit.org/250730@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cdumez committed May 19, 2022
  3. REGRESSION (r294160): Occasional infinite loops under updateLayersFor…

    …InteractionRegions
    
    https://bugs.webkit.org/show_bug.cgi?id=240610
    <rdar://problem/93507791>
    
    Reviewed by Wenson Hsieh.
    
    * Source/WebCore/page/InteractionRegion.cpp:
    (WebCore::regionForElement):
    Avoid emitting empty rects for interaction regions, and avoid emitting the region
    at all if this results in an empty set of rects.
    
    * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:
    (WebKit::updateLayersForInteractionRegions):
    Never re-use a layer with empty bounds; we should never get here, but I'd rather
    re-create the layer if we do than corrupt the hash table.
    
    Canonical link: https://commits.webkit.org/250729@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    hortont424 committed May 19, 2022
  4. Unreviewed, fix WPE build 250693@main

    * WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp: Add missing inlines.h include.
    
    Canonical link: https://commits.webkit.org/250728@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    lauromoura committed May 19, 2022
  5. Drop operator==() overload for comparing a String and a LChar*

    https://bugs.webkit.org/show_bug.cgi?id=240611
    
    Reviewed by Darin Adler.
    
    Drop operator==() overload for comparing a String and a LChar*, as it is unused.
    
    * Source/WTF/wtf/text/WTFString.h:
    (WTF::operator==):
    (WTF::operator!=):
    
    Canonical link: https://commits.webkit.org/250727@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cdumez committed May 19, 2022
  6. Use references instead of pointers when passing elements through seve…

    …ral editor client hooks
    
    https://bugs.webkit.org/show_bug.cgi?id=240603
    
    Reviewed by Chris Dumez.
    
    Change `Element*` to `Element&` in several WebEditorClient (and injected bundle form client) codepaths
    that currently expect non-null pointers, anyways. No change in behavior.
    
    * Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
    (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):
    * Source/WebKit/WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:
    (API::InjectedBundle::FormClient::didFocusTextField):
    (API::InjectedBundle::FormClient::textFieldDidBeginEditing):
    (API::InjectedBundle::FormClient::textFieldDidEndEditing):
    (API::InjectedBundle::FormClient::textDidChangeInTextField):
    (API::InjectedBundle::FormClient::textDidChangeInTextArea):
    (API::InjectedBundle::FormClient::shouldPerformActionInTextField):
    * Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
    (WebKit::InjectedBundlePageFormClient::didFocusTextField):
    (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
    (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
    (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
    (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
    (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
    * Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
    * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
    (WebKit::WebChromeClient::focusedElementChanged):
    * Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp:
    (WebKit::WebEditorClient::textFieldDidBeginEditing):
    (WebKit::WebEditorClient::textFieldDidEndEditing):
    (WebKit::WebEditorClient::textDidChangeInTextField):
    (WebKit::WebEditorClient::textDidChangeInTextArea):
    (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
    (WebKit::WebEditorClient::textWillBeDeletedInTextField):
    * Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h:
    * Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.h:
    * Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm:
    (dynamicDowncastToKit):
    
    Also add a helper method here to make it easier to safely downcast an Element to a
    given WebCore type, and then return an Objective-C `DOMElement` wrapper for the
    element, if it matches the type.
    
    (WebEditorClient::textFieldDidBeginEditing):
    (WebEditorClient::textFieldDidEndEditing):
    (WebEditorClient::textDidChangeInTextField):
    (WebEditorClient::doTextFieldCommandFromEvent):
    (WebEditorClient::textWillBeDeletedInTextField):
    (WebEditorClient::textDidChangeInTextArea):
    * Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.cpp:
    (WebEditorClient::textFieldDidBeginEditing):
    (WebEditorClient::textFieldDidEndEditing):
    (WebEditorClient::textDidChangeInTextField):
    (WebEditorClient::doTextFieldCommandFromEvent):
    (WebEditorClient::textWillBeDeletedInTextField):
    (WebEditorClient::textDidChangeInTextArea):
    * Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.h:
    * Source/WebCore/editing/DeleteSelectionCommand.cpp:
    (WebCore::DeleteSelectionCommand::doApply):
    * Source/WebCore/editing/Editor.cpp:
    (WebCore::Editor::textFieldDidBeginEditing):
    (WebCore::Editor::textFieldDidEndEditing):
    (WebCore::Editor::textDidChangeInTextField):
    (WebCore::Editor::doTextFieldCommandFromEvent):
    (WebCore::Editor::textWillBeDeletedInTextField):
    (WebCore::Editor::textDidChangeInTextArea):
    * Source/WebCore/editing/Editor.h:
    * Source/WebCore/html/HTMLInputElement.cpp:
    (WebCore::HTMLInputElement::endEditing):
    * Source/WebCore/html/HTMLTextAreaElement.cpp:
    (WebCore::HTMLTextAreaElement::subtreeHasChanged):
    * Source/WebCore/html/TextFieldInputType.cpp:
    (WebCore::TextFieldInputType::handleKeydownEvent):
    (WebCore::TextFieldInputType::handleFocusEvent):
    (WebCore::TextFieldInputType::didSetValueByUserEdit):
    * Source/WebCore/loader/EmptyClients.cpp:
    * Source/WebCore/page/EditorClient.h:
    
    Canonical link: https://commits.webkit.org/250726@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    whsieh committed May 19, 2022
  7. Add support for simple 'flex-grow'

    https://bugs.webkit.org/show_bug.cgi?id=240561
    
    Reviewed by Antti Koivisto.
    
    This is a basic "flex grow" implementation ignoring min/max values.
    
    * Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
    (WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
    (WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
    * Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:
    (WebCore::LayoutIntegration::FlexLayout::updateRenderers const):
    
    Canonical link: https://commits.webkit.org/250725@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    alanbujtas committed May 19, 2022
  8. PrivateHeaders/JavaScriptCore/InspectorProtocolObjects.h isn't regene…

    …rated in incremental builds
    
    https://bugs.webkit.org/show_bug.cgi?id=240540
    
    Reviewed by Don Olmstead.
    
    In CMake Visual Studio generator builds, InspectorProtocolObjects.h
    was not copied to the private headers directory as expected in
    incremental builds.
    
    ${JavaScriptCore_DERIVED_SOURCES_DIR}/inspector/InspectorProtocolObjects.h
    was added to both JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS and
    JavaScriptCore_HEADERS. This caused the incremental build problem.
    Don't add such headers to JavaScriptCore_HEADERS.
    
    * Source/JavaScriptCore/CMakeLists.txt:
    
    Canonical link: https://commits.webkit.org/250724@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    fujii committed May 19, 2022
  9. JavaScriptCore/DerivedSources/Bytecodes.h is generated twice both in …

    …Bytecodes.vcxproj in LLIntSettingsExtractor.vcxproj
    
    https://bugs.webkit.org/show_bug.cgi?id=240556
    
    Reviewed by Don Olmstead.
    
    In CMake Visual Studio generator builds, Bytecodes.h was generated
    twice both in Bytecodes.vcxproj in LLIntSettingsExtractor.vcxproj.
    
    The fundamental problem of this bug was fixed in CMake v3.12.
    <https://gitlab.kitware.com/cmake/cmake/-/commit/5a6c6292898fe238f3a5105133b8904209fbedaf>
    
    LLIntSettingsExtractor target needs to have a direct or indirect
    dependency to Bytecodes target for CMake Visual Studio generator to
    eliminate duplicated custom commands.
    
    * Source/JavaScriptCore/CMakeLists.txt:
    
    Canonical link: https://commits.webkit.org/250723@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    fujii committed May 19, 2022
  10. Regression(r294190) GPUProcess is unable to launch on certain builds

    https://bugs.webkit.org/show_bug.cgi?id=240615
    <rdar://93533749>
    
    Unreviewed, revert r294190 to adddress the issue.
    
    * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
    (WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
    * Source/WebKit/GPUProcess/media/RemoteCDMInstanceProxy.h:
    * Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:
    (WebKit::RemoteImageDecoderAVFProxy::createDecoder):
    (WebKit::RemoteImageDecoderAVFProxy::setData):
    * Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.h:
    * Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
    * Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
    (WebKit::RemoteMediaResourceManager::RemoteMediaResourceManager):
    (WebKit::RemoteMediaResourceManager::dataReceived):
    * Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
    * Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.messages.in:
    * Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
    (WebKit::RemoteSourceBufferProxy::append):
    * Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
    * Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in:
    * Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
    (WebKit::NetworkResourceLoader::bufferingTimerFired):
    (WebKit::NetworkResourceLoader::sendBuffer):
    (WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
    * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp:
    (WebKit::ServiceWorkerDownloadTask::didReceiveData):
    * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
    * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.messages.in:
    * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
    (WebKit::ServiceWorkerFetchTask::didReceiveData):
    (WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):
    * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
    * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
    * Source/WebKit/Platform/IPC/SharedBufferReference.cpp: Removed.
    * Source/WebKit/Platform/IPC/SharedBufferReference.h: Removed.
    * Source/WebKit/Platform/SharedMemory.cpp:
    (WebKit::SharedMemory::Handle::takeOwnershipOfMemory const):
    (WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): Deleted.
    * Source/WebKit/Platform/SharedMemory.h:
    * Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp:
    (WebKit::SharedMemory::Handle::takeOwnershipOfMemory const):
    (WebKit::machProtection):
    (WebKit::SharedMemory::map):
    (WebKit::changeOwnershipOfMemory): Deleted.
    (WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): Deleted.
    * Source/WebKit/Platform/unix/SharedMemoryUnix.cpp:
    (WebKit::accessModeMMap):
    (WebKit::SharedMemory::map):
    * Source/WebKit/Scripts/process-entitlements.sh:
    * Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
    (WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
    * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
    (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
    * Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
    (IPC::encodeSharedBuffer):
    (IPC::decodeSharedBuffer):
    * Source/WebKit/Sources.txt:
    * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
    (-[WKWebView createPDFWithConfiguration:completionHandler:]):
    * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
    (WebKit::WebPageProxy::platformRegisterAttachment):
    * Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
    (WebKit::WebPasteboardProxy::getPasteboardBufferForType):
    (WebKit::WebPasteboardProxy::setPasteboardBufferForType):
    (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
    * Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
    (WebKit::WebProcessProxy::sendAudioComponentRegistrations):
    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::CompletionHandler<void):
    (WebKit::WebPageProxy::drawPagesToPDF):
    (WebKit::WebPageProxy::drawToPDF):
    (WebKit::WebPageProxy::getLoadDecisionForIcon):
    (WebKit::WebPageProxy::updateAttachmentAttributes):
    (WebKit::WebPageProxy::registerAttachmentIdentifierFromData):
    (WebKit::WebPageProxy::platformRegisterAttachment):
    * Source/WebKit/UIProcess/WebPageProxy.h:
    * Source/WebKit/UIProcess/WebPageProxy.messages.in:
    * Source/WebKit/UIProcess/WebPasteboardProxy.cpp:
    (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
    * Source/WebKit/UIProcess/WebPasteboardProxy.h:
    * Source/WebKit/UIProcess/WebPasteboardProxy.messages.in:
    * Source/WebKit/UIProcess/WebURLSchemeTask.cpp:
    (WebKit::WebURLSchemeTask::didReceiveData):
    * Source/WebKit/UIProcess/gtk/WebPasteboardProxyGtk.cpp:
    (WebKit::WebPasteboardProxy::readBuffer):
    * Source/WebKit/UIProcess/ios/WKContentView.mm:
    (-[WKContentView _wk_pageCountForPrintFormatter:]):
    * Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
    (WebKit::WebPageProxy::drawToPDFiOS):
    * Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
    (WebKit::WebPageProxy::dataSelectionForPasteboard):
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    * Source/WebKit/WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
    * Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
    (WebKit::RemoteImageDecoderAVF::setData):
    * Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp:
    (WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
    * Source/WebKit/WebProcess/GPU/media/RemoteMediaResourceProxy.cpp:
    (WebKit::RemoteMediaResourceProxy::dataReceived):
    * Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
    (WebKit::SourceBufferPrivateRemote::append):
    * Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:
    (WebKit::WebResourceLoader::didReceiveData):
    * Source/WebKit/WebProcess/Network/WebResourceLoader.h:
    * Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in:
    * Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
    (WebKit::PDFPlugin::writeItemsToPasteboard):
    * Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
    (WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):
    (WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
    * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
    * Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp:
    (WebKit::WebEditorClient::registerAttachmentIdentifier):
    * Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
    (WebKit::WebPlatformStrategies::bufferForType):
    (WebKit::WebPlatformStrategies::setBufferForType):
    (WebKit::WebPlatformStrategies::readBufferFromClipboard):
    (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
    * Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
    (WebKit::WebDragClient::declareAndWriteDragImage):
    * Source/WebKit/WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::getContentsAsMHTMLData):
    (WebKit::WebPage::getSelectionAsWebArchiveData):
    (WebKit::WebPage::getMainResourceDataOfFrame):
    (WebKit::WebPage::getResourceDataFromFrame):
    (WebKit::WebPage::getWebArchiveOfFrame):
    (WebKit::WebPage::getAccessibilityTreeData):
    (WebKit::WebPage::drawToPDF):
    (WebKit::WebPage::drawPagesToPDF):
    (WebKit::WebPage::didGetLoadDecisionForIcon):
    (WebKit::WebPage::urlSchemeTaskDidReceiveData):
    (WebKit::WebPage::updateAttachmentAttributes):
    * Source/WebKit/WebProcess/WebPage/WebPage.h:
    * Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
    * Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
    (WebKit::WebPage::getDataSelectionForPasteboard):
    (WebKit::WebPage::performActionOnElement):
    (WebKit::WebPage::drawToPDFiOS):
    (WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):
    * Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
    (WebKit::WebPage::getDataSelectionForPasteboard):
    * Source/WebKit/WebProcess/WebProcess.h:
    * Source/WebKit/WebProcess/WebProcess.messages.in:
    * Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
    (WebKit::WebProcess::consumeAudioComponentRegistrations):
    
    Canonical link: https://commits.webkit.org/250722@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cdumez committed May 19, 2022
  11. REGRESSION (r294317): [ iOS ] Thirteen layout tests are flaky or cons…

    …istent timeouts
    
    https://bugs.webkit.org/show_bug.cgi?id=240616
    <rdar://93541706>
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ios/TestExpectations:
    
    Canonical link: https://commits.webkit.org/250721@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    karlrackler committed May 19, 2022
  12. Unreviewed, reverting r294317.

    Broke multiple layout-tests, and 2 api-tests.
    
    Reverted changeset:
    
    "ImageBufferIOSurfaceBackend context setup and teardown
    functions are redundant and error-prone"
    https://bugs.webkit.org/show_bug.cgi?id=240452
    https://commits.webkit.org/r294317
    
    Canonical link: https://commits.webkit.org/250720@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    robert-jenner committed May 19, 2022
  13. Copy-pasted attachments in mail show up as generic file icons

    https://bugs.webkit.org/show_bug.cgi?id=240586
    rdar://91067102
    
    Reviewed by Wenson Hsieh.
    
    Generate QuickLook previews for attachments that are copy-pasted as
    webarchives, such as pages, keynote and numbers docs.
    
    * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
    (testiWorkAttachmentFileURL):
    (testiWorkAttachmentData):
    (TestWebKitAPI::TEST):
    (TestWebKitAPI::_generateBestRepresentationForRequest):
    Swizzle QLThumbnailGenerator code to make sure we hit image generation.
    This is not an ideal test but ensures we at least hit the right code
    path since we are unable to directly compare icons.
    
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/test.pages: Added.
    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::registerAttachmentsFromSerializedData):
    
    Canonical link: https://commits.webkit.org/250719@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    kcheney1 committed May 19, 2022

Commits on May 18, 2022

  1. [git-webkit] Remove space in radar URLs

    https://bugs.webkit.org/show_bug.cgi?id=240592
    <rdar://problem/93519659>
    
    Reviewed by Chris Dumez.
    
    * Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
    * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
    * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/pull_request.py:
    (PullRequest):
    (PullRequest.escape_html):
    * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
    
    Canonical link: https://commits.webkit.org/250718@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    JonWBedard committed May 18, 2022
  2. PROGRESSION(r294272): Correction to guard in Platform file caused mul…

    …tiple tests failures
    
    https://bugs.webkit.org/show_bug.cgi?id=240579
    <rdar://93504716>
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ios/TestExpectations:
    
    Canonical link: https://commits.webkit.org/250717@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    karlrackler committed May 18, 2022
  3. [WebAuthn] Clean up WebAuthenticationModern and WebAuthnProcess

    https://bugs.webkit.org/show_bug.cgi?id=240318
    <rdar://93130490>
    
    The WebAuthenticationModern flag and WebAuthnProcess are no longer used
    and can be removed. This patch removes all references to both the flag
    and the process.
    
    Reviewed by Brent Fulgham.
    
    Covered by existing tests and manual testing on macOS / iOS.
    
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
    (TestWebKitAPI::TEST):
    (TestWebKitAPI::WebCore::webAuthenticationModernExperimentalFeature): Deleted.
    * Source/WebKit/Configurations/WebAuthnService.xcconfig: Removed.
    * Source/WebKit/Configurations/WebKit.xcconfig:
    * Source/WebKit/DerivedSources.make:
    * Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h:
    * Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in: Removed.
    * Source/WebKit/Scripts/process-entitlements.sh:
    * Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm:
    (WebKit::isInWebKitChildProcess):
    * Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
    * Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
    (WebKit::XPCServiceEventHandler):
    * Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:
    (WebKit::processStorageClass):
    (WebKit::sandboxDirectory):
    * Source/WebKit/Sources.txt:
    * Source/WebKit/SourcesCocoa.txt:
    * Source/WebKit/UIProcess/API/C/WKPreferences.cpp:
    (WKPreferencesSetWebAuthenticationModernEnabled): Deleted.
    (WKPreferencesGetWebAuthenticationModernEnabled): Deleted.
    * Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:
    * Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
    (+[WKProcessPool _webAuthnProcessIdentifier]): Deleted.
    * Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
    * Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
    (WebKit::AuxiliaryProcessProxy::getLaunchOptions):
    * Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
    (WebKit::WebProcessPool::notifyPreferencesChanged):
    * Source/WebKit/UIProcess/Launcher/ProcessLauncher.h:
    * Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
    (WebKit::serviceName):
    (WebKit::shouldLeakBoost):
    * Source/WebKit/UIProcess/WebAuthentication/Authenticator.h:
    (WebKit::Authenticator::requestData const):
    (WebKit::Authenticator::setWebAuthenticationModernEnabled): Deleted.
    (WebKit::Authenticator::webAuthenticationModernEnabled const): Deleted.
    (): Deleted.
    * Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp:
    (WebKit::AuthenticatorManager::authenticatorAdded):
    (WebKit::AuthenticatorManager::enableModernWebAuthentication): Deleted.
    * Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h:
    * Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
    * Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
    (WebKit::LocalAuthenticator::makeCredential):
    (WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
    (WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy): Deleted.
    * Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp: Removed.
    * Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h: Removed.
    * Source/WebKit/UIProcess/WebProcessPool.cpp:
    (WebKit::WebProcessPool::getWebAuthnProcessConnection): Deleted.
    * Source/WebKit/UIProcess/WebProcessPool.h:
    * Source/WebKit/UIProcess/WebProcessProxy.cpp:
    (WebKit::WebProcessProxy::getWebAuthnProcessConnection): Deleted.
    * Source/WebKit/UIProcess/WebProcessProxy.h:
    * Source/WebKit/UIProcess/WebProcessProxy.messages.in:
    * Source/WebKit/WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-OSX.plist: Removed.
    * Source/WebKit/WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-iOS.plist: Removed.
    * Source/WebKit/WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnServiceEntryPoint.mm: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.h: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.messages.in: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnProcess.cpp: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnProcess.h: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnProcess.messages.in: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.cpp: Removed.
    * Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.h: Removed.
    * Source/WebKit/WebAuthnProcess/ios/WebAuthnProcessIOS.mm: Removed.
    * Source/WebKit/WebAuthnProcess/mac/WebAuthnProcessMac.mm: Removed.
    * Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in: Removed.
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    * Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
    (WebKit::WebAuthenticatorCoordinator::makeCredential):
    (WebKit::WebAuthenticatorCoordinator::getAssertion):
    (WebKit::WebAuthenticatorCoordinator::isUserVerifyingPlatformAuthenticatorAvailable):
    * Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnection.cpp: Removed.
    * Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnection.h: Removed.
    * Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnection.messages.in: Removed.
    * Source/WebKit/WebProcess/WebAuthentication/WebAuthnProcessConnectionInfo.h: Removed.
    * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
    (WebKit::WebChromeClient::setMockWebAuthenticationConfiguration):
    * Source/WebKit/WebProcess/WebProcess.cpp:
    (WebKit::getWebAuthnProcessConnection): Deleted.
    (WebKit::WebProcess::ensureWebAuthnProcessConnection): Deleted.
    (WebKit::WebProcess::webAuthnProcessConnectionClosed): Deleted.
    * Source/WebKit/WebProcess/WebProcess.h:
    (WebKit::WebProcess::existingWebAuthnProcessConnection): Deleted.
    * Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
    * Source/WebCore/page/RuntimeEnabledFeatures.h:
    (WebCore::RuntimeEnabledFeatures::setWebAuthenticationModernEnabled): Deleted.
    (WebCore::RuntimeEnabledFeatures::webAuthenticationModernEnabled const): Deleted.
    * Source/WebCore/platform/RuntimeApplicationChecks.cpp:
    (WebCore::processTypeDescription):
    * Source/WebCore/platform/RuntimeApplicationChecks.h:
    
    Canonical link: https://commits.webkit.org/250716@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    pascoej committed May 18, 2022
  4. [LibWPE] Fix build failure when enabling LAYOUT_FORMATTING_CONTEXT

    https://bugs.webkit.org/show_bug.cgi?id=240602
    
    Unreviewed, fix libwpe build with the flag after r294399
    
    * editing/libwpe/EditorLibWPE.cpp:
    
    Canonical link: https://commits.webkit.org/250715@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    basuke committed May 18, 2022
  5. REGRESSION (442fcb1ea6f?): TestWebKitAPI.WebAuthenticationPanel.Expor…

    …tImportDuplicateCredential is failing
    
    https://bugs.webkit.org/show_bug.cgi?id=240534
    rdar://93267243
    
    Reviewed by Brent Fulgham.
    
    The default for a flag relevant to syncing has changed in test infrastructure. This change fixes this test
    by using the sync=1 flag as set by default when importing credentials.
    
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
    (TestWebKitAPI::TEST):
    
    Canonical link: https://commits.webkit.org/250714@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    pascoej committed May 18, 2022
  6. Unreviewed, build fix after r294429

    https://bugs.webkit.org/show_bug.cgi?id=240587
    
    * Source/JavaScriptCore/assembler/SecureARM64EHashPinsInlines.h:
    (JSC::SecureARM64EHashPins::forEachPage):
    
    Canonical link: https://commits.webkit.org/250713@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    Constellation committed May 18, 2022
  7. Drop unnecessary EventTarget::isFiringEventListeners()

    https://bugs.webkit.org/show_bug.cgi?id=240578
    
    Reviewed by Geoffrey Garen.
    
    Drop unnecessary EventTarget::isFiringEventListeners() flag. This flag was checked by
    our GC logic to avoid collecting wrappers while they are firing events. However, those
    checks are in hot code paths and it should be up to the code dispatching the event
    to keep the wrapper alive, either via ActiveDOMObject or GCReachableRef.
    
    * Source/WebCore/bindings/js/JSAbortSignalCustom.cpp:
    (WebCore::JSAbortSignalOwner::isReachableFromOpaqueRoots):
    * Source/WebCore/bindings/js/JSNodeCustom.cpp:
    (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
    * Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
    (GenerateImplementation):
    * Source/WebCore/dom/EventTarget.cpp:
    (WebCore::EventTarget::fireEventListeners):
    * Source/WebCore/dom/EventTarget.h:
    (WebCore::EventTarget::isFiringEventListeners const): Deleted.
    
    Canonical link: https://commits.webkit.org/250712@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cdumez committed May 18, 2022
  8. Small clean ups in SecureARM64EHashPins.

    https://bugs.webkit.org/show_bug.cgi?id=240587
    
    Reviewed by Yusuke Suzuki.
    
    1. In SecureARM64EHashPins::keyForCurrentThread(), there's no need to add 1 to
       the value retrieve from TPIDRRO_EL0.  TPIDRRO_EL0 is a pointer to valid memory
       and can never be 0.  Also, we already code in multiple other places where we
       expect to load from it without a null check.
    
    2. SecureARM64EHashPins::forEachPage() should use a do-while loop instead of a
       for loop.  This is because we are guaranteed to at least have 1 page at
       start up if the JIT is enabled.  If the JIT is not enabled, this code will
       never be called.
    
    * Source/JavaScriptCore/assembler/SecureARM64EHashPinsInlines.h:
    (JSC::SecureARM64EHashPins::keyForCurrentThread):
    (JSC::SecureARM64EHashPins::forEachPage):
    
    Canonical link: https://commits.webkit.org/250711@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    Mark Lam committed May 18, 2022
  9. Audit token for font sandbox extension is sometimes wrong

    https://bugs.webkit.org/show_bug.cgi?id=240547
    
    Reviewed by Chris Dumez.
    
    Audit token for font sandbox extension is sometimes wrong. We must get the audit token from the correct WebProcessProxy.
    
    (WebKit::WebPageProxy::switchFromStaticFontRegistryToUserFontRegistry):
    (WebKit::WebPageProxy::fontdMachExtensionHandle): Deleted.
    * Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
    (WebKit::WebProcessProxy::fontdMachExtensionHandle):
    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::creationParameters):
    * Source/WebKit/UIProcess/WebPageProxy.h:
    * Source/WebKit/UIProcess/WebProcessProxy.h:
    
    Canonical link: https://commits.webkit.org/250710@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    pvollan committed May 18, 2022
  10. Feature Request: Regular Expression Groups in Request Override Redirects

    https://bugs.webkit.org/show_bug.cgi?id=240477
    <rdar://problem/73779368>
    
    Reviewed by Patrick Angle.
    
    This allows developers to create generic "catch all" request local overrides that can redirect
    multiple URLs with a single local override (e.g. `https://example.org/(.*)` -> `localhost/$1`).
    
    * Source/WebInspectorUI/UserInterface/Models/LocalResourceOverride.js:
    (WI.LocalResourceOverride):
    (WI.LocalResourceOverride.prototype.generateRequestRedirectURL): Added.
    (WI.LocalResourceOverride.prototype.matches):
    (WI.LocalResourceOverride.prototype.get _urlRegex): Added.
    Instead of directly using the URL of the `WI.LocalResource` as the redirect URL, derive it based on
    the regex created to check if the `WI.LocalResourceOverride` matches the original request.
    
    * Source/WebInspectorUI/UserInterface/Models/Resource.js:
    (WI.Resource.prototype.async createLocalResourceOverride):
    * Source/WebInspectorUI/UserInterface/Controllers/NetworkManager.js:
    (WI.NetworkManager.prototype.async requestIntercepted):
    (WI.NetworkManager.prototype.async responseIntercepted):
    * Source/WebInspectorUI/UserInterface/Views/LocalResourceOverridePopover.js:
    (WI.LocalResourceOverridePopover.prototype.get serializedData):
    Drive-by: Move `WI.urlWithoutFragment` to `WI.LocalResourceOverride` so that every callsite doesn't
              have to decide/remember to use it.
    
    * LayoutTests/http/tests/inspector/network/intercept-request-properties.html:
    * LayoutTests/http/tests/inspector/network/intercept-request-properties-expected.txt:
    
    Canonical link: https://commits.webkit.org/250709@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    dcrousso committed May 18, 2022
  11. Unreviewed, fix build after 250680@main (again)

    Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-18
    https://bugs.webkit.org/show_bug.cgi?id=240416
    
    * Source/WebCore/rendering/RenderBoxModelObject.cpp:
    (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
    * Source/WebCore/rendering/TextBoxPainter.cpp:
    (WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const):
    
    Canonical link: https://commits.webkit.org/250708@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    mcatanzaro authored and webkit-commit-queue committed May 18, 2022
  12. REGRESSION (r294272): TestWebKitAPI Failures after compile guard change

    https://bugs.webkit.org/show_bug.cgi?id=240530
    
    Reviewed by Youenn Fablet.
    
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
    
    Canonical link: https://commits.webkit.org/250707@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    brentfulgham committed May 18, 2022
  13. Invalidation fails if the mutated elements subtree has been marked in…

    …valid
    
    https://bugs.webkit.org/show_bug.cgi?id=240581
    
    Reviewed by Alan Bujtas.
    
    :has() can affect elements outside the subtree so we can't use this optimization if it is present.
    
    * LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-ancestor-position-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-parent-position-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-sibling-position-expected.txt:
    
    * Source/WebCore/dom/Element.cpp:
    (WebCore::Element::needsStyleInvalidation const):
    
    Don't skip invalidation for a locally invalid subtree if :has() is present.
    Add a new check for document element subtree being invalid (this covers some of the same cases and works with :has()).
    
    * Source/WebCore/style/StyleScope.cpp:
    (WebCore::Style::Scope::forNode):
    
    Add const version.
    
    * Source/WebCore/style/StyleScope.h:
    
    Canonical link: https://commits.webkit.org/250706@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    anttijk committed May 18, 2022
  14. REGRESSION (STP): WebSocket.bufferedAmount does not get updated in so…

    …me cases
    
    https://bugs.webkit.org/show_bug.cgi?id=240311
    
    Reviewed by Youenn Fablet.
    
    This reverts the functional part of r290995 for OSes what don't have an NSURLSession WebSocket implementation we can use.
    The rest of r290995 was just moving UTF-8 encoding to a different location in the pipeline, which has no observable behavior change.
    
    It is unfortunate, but our old implementation of WebSockets that uses CFWriteStreamWrite thinks it has written immediately,
    so if I make SocketStreamHandleImpl::platformSend call m_client.didUpdateBufferedAmount even when bytesWritten >= length,
    I don't have the bufferent amount updated synchronously like Chrome, Firefox, and the NSURLSession-based implementation have.
    If I leave it as it is now, the buffered amount never goes back down to zero sometimes after writing to the stream.
    
    It was broken before, it is differently broken now, and this restores the status quo on Big Sur.  This is why we can't have nice things.
    
    * Modules/websockets/WebSocket.cpp:
    (WebCore::WebSocket::send):
    
    Canonical link: https://commits.webkit.org/250705@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    achristensen07 committed May 18, 2022
  15. Move visual/logical code to dedicated functions

    https://bugs.webkit.org/show_bug.cgi?id=240560
    
    Reviewed by Antti Koivisto.
    
    This is in preparation for adding more pre/post core layout logic.
    
    * Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
    (WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
    (WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
    (WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
    (): Deleted.
    * Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
    
    Canonical link: https://commits.webkit.org/250704@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    alanbujtas committed May 18, 2022
  16. WTF::CrashOnOverflow::crash() with /((a{100000000})*b{2100000000})+/.…

    …test();
    
    https://bugs.webkit.org/show_bug.cgi?id=240552
    
    Reviewed by Yusuke Suzuki and Alex Christensen.
    
    Replaced a crashing checked add in the YARR JIT code generator with a reporting add so we can
    catch the overflow.  When we do overflow, we terminate the JIT genration with an error.
    We'll fallback to the YARR interpreter, which already exits with an error on a similar overflow.
    
    * JSTests/stress/regexp-large-quantifier.js:
    (testRegExp):
    * Source/JavaScriptCore/yarr/YarrJIT.cpp:
    (JSC::Yarr::dumpCompileFailure):
    * Source/JavaScriptCore/yarr/YarrJIT.h:
    
    Canonical link: https://commits.webkit.org/250703@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    msaboff committed May 18, 2022
  17. Add nmoucht to contributors.json

    https://bugs.webkit.org/show_bug.cgi?id=240588
    
    Reviewed by Tim Nguyen.
    
    * metadata/contributors.json:
    
    Canonical link: https://commits.webkit.org/250702@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    Nikolaos Mouchtaris committed May 18, 2022
  18. [git-webkit] Support non-members updating PRs

    https://bugs.webkit.org/show_bug.cgi?id=240550
    <rdar://93460889>
    
    Reviewed by Brent Fulgham.
    
    * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
    (GitHub.PRGenerator.update):
    
    Canonical link: https://commits.webkit.org/250701@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    JonWBedard committed May 18, 2022
  19. [ Gardening ] REGRESSION(r294272): [ iOS ] Four http/tests/workers/se…

    …rvice/shownotification tests are a consistent failures
    
    https://bugs.webkit.org/show_bug.cgi?id=240579
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ios-wk2/TestExpectations:
    * LayoutTests/platform/ios/TestExpectations:
    
    Canonical link: https://commits.webkit.org/250700@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    robert-jenner committed May 18, 2022
  20. Monitor process state and send prepareToSuspend based on that

    https://bugs.webkit.org/show_bug.cgi?id=240359
    
    Reviewed by Chris Dumez.
    
    Currently UI process sends PrepareToSuspend when a process has no activity that needs an assertion, or when
    assertion will be invalidated due to timeout (when assertionWillInvalidate is called). On receiving PrepareToSuspend,
    process will perform necessary actions, such as suspending storage threads for network process. According to crashes in
    rdar://problem/92228190, the message is not received by process before suspension, or process gets suspended while
    processing the message. To fix the crash, we need to ensure the message gets processed before process suspension.
    
    This patch introduces ProcessStateMonitor that tracks when UI process will be suspended, and notifies WebProcessPools
    when remaining running time is less than 15s. On receiving the notification, ProcessThrottlers of web processes will
    invalidate activities and send out PrepareToSuspend messages to web processes. These processes are not allowed to take
    new background assertion until ProcessStateMonitor finds process becomes running without timeout, or ProcessStateMonitor
    is destroyed. ProcessStateMonitor is created when UI process enters background, and destroyed when UI process enters
    foreground, to avoid getting receiving too many unnecessary updates from runningboardd.
    
    * Source/WebKit/Platform/spi/ios/RunningBoardServicesSPI.h:
    (+[RBSProcessPredicate predicateMatchingHandle:]):
    * Source/WebKit/SourcesCocoa.txt:
    * Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
    (WebKit::WebProcessPool::setProcessesShouldSuspend):
    * Source/WebKit/UIProcess/ProcessThrottler.cpp:
    (WebKit::ProcessThrottler::addActivity):
    (WebKit::ProcessThrottler::setAllowsActivities):
    * Source/WebKit/UIProcess/ProcessThrottler.h:
    (WebKit::ProcessThrottler::Activity::Activity):
    (WebKit::ProcessThrottler::Activity::name const):
    (WebKit::ProcessThrottler::Activity::isQuietActivity const):
    * Source/WebKit/UIProcess/WebProcessPool.h:
    * Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:
    (-[WKProcessAssertionBackgroundTaskManager init]):
    (-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
    * Source/WebKit/UIProcess/ios/ProcessStateMonitor.h: Added.
    * Source/WebKit/UIProcess/ios/ProcessStateMonitor.mm: Added.
    (WebKit::ProcessStateMonitor::ProcessStateMonitor):
    (WebKit::ProcessStateMonitor::~ProcessStateMonitor):
    (WebKit::ProcessStateMonitor::processDidBecomeRunning):
    (WebKit::ProcessStateMonitor::processWillBeSuspended):
    (WebKit::ProcessStateMonitor::processWillBeSuspendedImmediately):
    (WebKit::ProcessStateMonitor::suspendTimerFired):
    (WebKit::ProcessStateMonitor::checkRemainingRunTime):
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    
    Canonical link: https://commits.webkit.org/250699@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    szewai committed May 18, 2022
  21. Add github account to contributors.json

    https://bugs.webkit.org/show_bug.cgi?id=240583
    
    Reviewed by Antti Koivisto.
    
    * metadata/contributors.json:
    
    Canonical link: https://commits.webkit.org/250698@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    alanbujtas committed May 18, 2022
  22. [Commit-Queue] Forbid ChangeLog modification (Follow-up)

    https://bugs.webkit.org/show_bug.cgi?id=240461
    <rdar://93351783>
    
    Reviewed by Alexey Proskuryakov.
    
    * Tools/CISupport/ews-build/steps.py:
    (CleanGitRepo.run): Abort any in progress `git am` commands.
    * Tools/CISupport/ews-build/steps_unittest.py:
    
    Canonical link: https://commits.webkit.org/250697@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    JonWBedard committed May 18, 2022
Older