Timeline



Nov 30, 2018:

10:17 PM Changeset in webkit [238777] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix Windows build.

  • UIProcess/API/C/curl/WKWebsiteDataStoreRefCurl.cpp:

(WKWebsiteDataStoreEnableCustomNetworkProxySettings):

9:58 PM Changeset in webkit [238776] by Alan Bujtas
  • 2 edits in trunk/Tools

Unreviewed LFC passing test list update.

  • LayoutReloaded/misc/LFC-passing-tests.txt:
8:58 PM Changeset in webkit [238775] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/win

Fix Windows build.

  • WebView.cpp:
8:49 PM Changeset in webkit [238774] by achristensen@apple.com
  • 5 edits in trunk/Source

Fix Windows build.

Source/WebCore:

  • platform/network/curl/CookieJarCurl.cpp:
  • platform/network/curl/PublicSuffixCurl.cpp:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.h:
8:42 PM Changeset in webkit [238773] by achristensen@apple.com
  • 4 edits in trunk/Source

Fix Windows build.

Source/WebCore:

  • platform/network/curl/CookieJarCurl.h:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.h:
8:28 PM Changeset in webkit [238772] by achristensen@apple.com
  • 2 edits in trunk/Source/WTF

Fix Windows build after r238771
https://bugs.webkit.org/show_bug.cgi?id=190234

  • wtf/URLParser.h:

Just make defaultPortForProtocol public so we don't have to worry about DLL linkage.

7:28 PM Changeset in webkit [238771] by keith_miller@apple.com
  • 774 edits
    5 copies
    11 moves
    1 add in trunk

Move URL from WebCore to WTF
https://bugs.webkit.org/show_bug.cgi?id=190234

Patch by Alex Christensen <achristensen@webkit.org> on 2018-11-30
Reviewed by Keith Miller.

Source/WebCore:

A URL is a low-level concept that does not depend on other classes in WebCore.
We are starting to use URLs in JavaScriptCore for modules.
I need URL and URLParser in a place with fewer dependencies for rdar://problem/44119696

  • Modules/applepay/ApplePaySession.h:
  • Modules/applepay/ApplePayValidateMerchantEvent.h:
  • Modules/applepay/PaymentCoordinator.cpp:
  • Modules/applepay/PaymentCoordinator.h:
  • Modules/applepay/PaymentCoordinatorClient.h:
  • Modules/applepay/PaymentSession.h:
  • Modules/applicationmanifest/ApplicationManifest.h:
  • Modules/beacon/NavigatorBeacon.cpp:
  • Modules/cache/DOMCache.cpp:
  • Modules/fetch/FetchLoader.h:
  • Modules/mediasession/MediaSessionMetadata.h:
  • Modules/mediasource/MediaSourceRegistry.cpp:
  • Modules/mediasource/MediaSourceRegistry.h:
  • Modules/mediastream/MediaStream.cpp:
  • Modules/mediastream/MediaStreamRegistry.cpp:
  • Modules/mediastream/MediaStreamRegistry.h:
  • Modules/navigatorcontentutils/NavigatorContentUtilsClient.h:
  • Modules/notifications/Notification.h:
  • Modules/paymentrequest/MerchantValidationEvent.h:
  • Modules/paymentrequest/PaymentRequest.h:
  • Modules/plugins/PluginReplacement.h:
  • Modules/webaudio/AudioContext.h:
  • Modules/websockets/ThreadableWebSocketChannel.h:
  • Modules/websockets/WebSocket.h:
  • Modules/websockets/WebSocketHandshake.cpp:
  • Modules/websockets/WebSocketHandshake.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
  • PlatformMac.cmake:
  • PlatformWin.cmake:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/CachedModuleScriptLoader.h:
  • bindings/js/CachedScriptFetcher.h:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeIfJavaScriptURL):

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptModuleLoader.h:
  • bindings/js/ScriptSourceCode.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSInterfaceName.cpp:
  • bindings/scripts/test/JS/JSMapLike.cpp:
  • bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • bindings/scripts/test/JS/JSTestCallTracer.cpp:
  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
  • bindings/scripts/test/JS/JSTestDOMJIT.cpp:
  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
  • bindings/scripts/test/JS/JSTestIterable.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
  • bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
  • bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
  • bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
  • bindings/scripts/test/JS/JSTestPluginInterface.cpp:
  • bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
  • bindings/scripts/test/JS/JSTestSerialization.cpp:
  • bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestStringifier.cpp:
  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):

  • contentextensions/ContentExtensionsBackend.h:
  • css/CSSValue.h:
  • css/StyleProperties.h:
  • css/StyleResolver.h:
  • css/StyleSheet.h:
  • css/StyleSheetContents.h:
  • css/parser/CSSParserContext.h:

(WebCore::CSSParserContextHash::hash):
(WTF::HashTraits<WebCore::CSSParserContext>::constructDeletedValue):

  • css/parser/CSSParserIdioms.h:
  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::setDataFromItemList):

  • dom/Document.cpp:

(WebCore::Document::setURL):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::completeURL const):
(WebCore::Document::ensureTemplateDocument):

  • dom/Document.h:

(WebCore::Document::urlForBindings const):

  • dom/Element.cpp:

(WebCore::Element::isJavaScriptURLAttribute const):

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::parserContextForElement):

  • dom/Node.cpp:

(WebCore::Node::baseURI const):

  • dom/Node.h:
  • dom/ScriptElement.h:
  • dom/ScriptExecutionContext.h:
  • dom/SecurityContext.h:
  • editing/Editor.cpp:

(WebCore::Editor::pasteboardWriterURL):

  • editing/Editor.h:
  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):

  • editing/cocoa/DataDetection.h:
  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::userVisibleString):

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::replaceRichContentWithAttachments):
(WebCore::WebContentReader::readWebArchive):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::plainTextFromPasteboard):
(WebCore::Editor::writeImageToPasteboard):

  • editing/markup.cpp:

(WebCore::removeSubresourceURLAttributes):
(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • fileapi/AsyncFileStream.cpp:
  • fileapi/AsyncFileStream.h:
  • fileapi/Blob.h:
  • fileapi/BlobURL.cpp:
  • fileapi/BlobURL.h:
  • fileapi/File.h:
  • fileapi/FileReaderLoader.h:
  • fileapi/ThreadableBlobRegistry.h:
  • history/CachedFrame.h:
  • history/HistoryItem.h:
  • html/DOMURL.cpp:

(WebCore::DOMURL::create):

  • html/DOMURL.h:
  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::archiveResourceURL):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::isURLAllowed const):
(WebCore::HTMLFrameElementBase::openURL):
(WebCore::HTMLFrameElementBase::setLocation):

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

(WTF::LogArgument<URL>::toString):
(WTF::LogArgument<WebCore::URL>::toString): Deleted.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):

  • html/ImageBitmap.h:
  • html/MediaFragmentURIParser.h:
  • html/PublicURLManager.cpp:
  • html/PublicURLManager.h:
  • html/URLInputType.cpp:
  • html/URLRegistry.h:
  • html/URLSearchParams.cpp:

(WebCore::URLSearchParams::URLSearchParams):
(WebCore::URLSearchParams::toString const):
(WebCore::URLSearchParams::updateURL):
(WebCore::URLSearchParams::updateFromAssociatedURL):

  • html/URLUtils.h:

(WebCore::URLUtils<T>::setHost):
(WebCore::URLUtils<T>::setPort):

  • html/canvas/CanvasRenderingContext.cpp:
  • html/canvas/CanvasRenderingContext.h:
  • html/parser/HTMLParserIdioms.cpp:
  • html/parser/XSSAuditor.cpp:

(WebCore::semicolonSeparatedValueContainsJavaScriptURL):
(WebCore::XSSAuditor::filterScriptToken):
(WebCore::XSSAuditor::filterObjectToken):
(WebCore::XSSAuditor::filterParamToken):
(WebCore::XSSAuditor::filterEmbedToken):
(WebCore::XSSAuditor::filterFormToken):
(WebCore::XSSAuditor::filterInputToken):
(WebCore::XSSAuditor::filterButtonToken):
(WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
(WebCore::XSSAuditor::isLikelySafeResource):

  • html/parser/XSSAuditor.h:
  • html/parser/XSSAuditorDelegate.h:
  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::openInNewTab):

  • inspector/InspectorInstrumentation.h:
  • inspector/agents/InspectorNetworkAgent.cpp:
  • inspector/agents/InspectorNetworkAgent.h:
  • inspector/agents/InspectorPageAgent.h:
  • inspector/agents/InspectorWorkerAgent.h:
  • loader/ApplicationManifestLoader.h:
  • loader/CookieJar.h:
  • loader/CrossOriginAccessControl.h:
  • loader/CrossOriginPreflightResultCache.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::maybeLoadEmpty):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::serverRedirectSourceForHistory const):

  • loader/DocumentWriter.h:
  • loader/FormSubmission.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::createWindow):

  • loader/FrameLoaderClient.h:
  • loader/HistoryController.cpp:

(WebCore::HistoryController::currentItemShouldBeReplaced const):
(WebCore::HistoryController::initializeItem):

  • loader/LinkLoader.h:
  • loader/LoadTiming.h:
  • loader/LoaderStrategy.h:
  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::checkFormForMixedContent const):

  • loader/MixedContentChecker.h:
  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::shouldScheduleNavigation const):

  • loader/NavigationScheduler.h:
  • loader/PingLoader.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

  • loader/ResourceLoadInfo.h:
  • loader/ResourceLoadObserver.cpp:

(WebCore::ResourceLoadObserver::requestStorageAccessUnderOpener):

  • loader/ResourceLoadObserver.h:
  • loader/ResourceLoadStatistics.h:
  • loader/ResourceLoader.h:
  • loader/ResourceTiming.h:
  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::requestFrame):

  • loader/SubframeLoader.h:
  • loader/SubstituteData.h:
  • loader/appcache/ApplicationCache.h:
  • loader/appcache/ApplicationCacheGroup.h:
  • loader/appcache/ApplicationCacheHost.h:
  • loader/appcache/ApplicationCacheStorage.cpp:
  • loader/appcache/ApplicationCacheStorage.h:
  • loader/appcache/ManifestParser.cpp:
  • loader/appcache/ManifestParser.h:
  • loader/archive/ArchiveResourceCollection.h:
  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::createFromSelection):

  • loader/cache/CachedResource.cpp:
  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedStyleSheetClient.h:
  • loader/cache/MemoryCache.h:
  • loader/icon/IconLoader.h:
  • loader/mac/LoaderNSURLExtras.mm:
  • page/CaptionUserPreferencesMediaAF.cpp:
  • page/ChromeClient.h:
  • page/ClientOrigin.h:
  • page/ContextMenuClient.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::checkOrEnableIfNeeded const):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::isInsecureScriptAccess):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/DragController.h:
  • page/EventSource.h:
  • page/Frame.h:
  • page/FrameView.h:
  • page/History.h:
  • page/Location.cpp:

(WebCore::Location::url const):
(WebCore::Location::reload):

  • page/Location.h:
  • page/Page.h:
  • page/PageSerializer.h:
  • page/Performance.h:
  • page/PerformanceResourceTiming.cpp:
  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::create):

  • page/SecurityOrigin.h:
  • page/SecurityOriginData.h:
  • page/SecurityOriginHash.h:
  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::shouldInheritSecurityOriginFromOwner):

  • page/SecurityPolicy.h:
  • page/SettingsBase.h:
  • page/ShareData.h:
  • page/SocketProvider.h:
  • page/UserContentProvider.h:
  • page/UserContentURLPattern.cpp:
  • page/UserContentURLPattern.h:
  • page/UserScript.h:
  • page/UserStyleSheet.h:
  • page/VisitedLinkStore.h:
  • page/csp/ContentSecurityPolicy.h:
  • page/csp/ContentSecurityPolicyClient.h:
  • page/csp/ContentSecurityPolicyDirectiveList.h:
  • page/csp/ContentSecurityPolicySource.cpp:

(WebCore::ContentSecurityPolicySource::portMatches const):

  • page/csp/ContentSecurityPolicySource.h:
  • page/csp/ContentSecurityPolicySourceList.cpp:
  • page/csp/ContentSecurityPolicySourceList.h:
  • page/csp/ContentSecurityPolicySourceListDirective.cpp:
  • platform/ContentFilterUnblockHandler.h:
  • platform/ContextMenuItem.h:
  • platform/Cookie.h:
  • platform/CookiesStrategy.h:
  • platform/DragData.h:
  • platform/DragImage.h:
  • platform/FileStream.h:
  • platform/LinkIcon.h:
  • platform/Pasteboard.cpp:

(WebCore::Pasteboard::canExposeURLToDOMWhenPasteboardContainsFiles):

  • platform/Pasteboard.h:
  • platform/PasteboardStrategy.h:
  • platform/PasteboardWriterData.cpp:

(WebCore::PasteboardWriterData::setURLData):
(WebCore::PasteboardWriterData::setURL): Deleted.

  • platform/PasteboardWriterData.h:
  • platform/PlatformPasteboard.h:
  • platform/PromisedAttachmentInfo.h:
  • platform/SSLKeyGenerator.h:
  • platform/SchemeRegistry.cpp:

(WebCore::SchemeRegistry::isBuiltinScheme):

  • platform/SharedBuffer.h:
  • platform/SharedStringHash.cpp:
  • platform/SharedStringHash.h:
  • platform/SourcesSoup.txt:
  • platform/UserAgent.h:
  • platform/UserAgentQuirks.cpp:
  • platform/UserAgentQuirks.h:
  • platform/cocoa/NetworkExtensionContentFilter.h:
  • platform/cocoa/NetworkExtensionContentFilter.mm:

(WebCore::NetworkExtensionContentFilter::willSendRequest):

  • platform/glib/SSLKeyGeneratorGLib.cpp: Copied from Source/WebCore/page/ShareData.h.

(WebCore::getSupportedKeySizes):
(WebCore::signedPublicKeyAndChallengeString):

  • platform/glib/UserAgentGLib.cpp:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Image.cpp:
  • platform/graphics/Image.h:
  • platform/graphics/ImageObserver.h:
  • platform/graphics/ImageSource.cpp:
  • platform/graphics/ImageSource.h:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:

(webKitMediaSrcSetUri):

  • platform/graphics/iso/ISOVTTCue.cpp:
  • platform/graphics/win/GraphicsContextDirect2D.cpp:
  • platform/gtk/DragImageGtk.cpp:
  • platform/gtk/PasteboardGtk.cpp:
  • platform/gtk/PlatformPasteboardGtk.cpp:
  • platform/gtk/SelectionData.h:
  • platform/ios/PasteboardIOS.mm:
  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::write):

  • platform/ios/QuickLook.h:
  • platform/mac/DragDataMac.mm:

(WebCore::DragData::asPlainText const):

  • platform/mac/DragImageMac.mm:
  • platform/mac/FileSystemMac.mm:

(WebCore::FileSystem::setMetadataURL):

  • platform/mac/PasteboardMac.mm:
  • platform/mac/PasteboardWriter.mm:

(WebCore::createPasteboardWriter):

  • platform/mac/PlatformPasteboardMac.mm:
  • platform/mac/PublicSuffixMac.mm:

(WebCore::decodeHostName):

  • platform/mac/SSLKeyGeneratorMac.mm:
  • platform/mac/WebCoreNSURLExtras.h:
  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::isArmenianLookalikeCharacter): Deleted.
(WebCore::isArmenianScriptCharacter): Deleted.
(WebCore::isASCIIDigitOrValidHostCharacter): Deleted.
(WebCore::isLookalikeCharacter): Deleted.
(WebCore::whiteListIDNScript): Deleted.
(WebCore::readIDNScriptWhiteListFile): Deleted.
(WebCore::allCharactersInIDNScriptWhiteList): Deleted.
(WebCore::isSecondLevelDomainNameAllowedByTLDRules): Deleted.
(WebCore::isRussianDomainNameCharacter): Deleted.
(WebCore::allCharactersAllowedByTLDRules): Deleted.
(WebCore::mapHostNameWithRange): Deleted.
(WebCore::hostNameNeedsDecodingWithRange): Deleted.
(WebCore::hostNameNeedsEncodingWithRange): Deleted.
(WebCore::decodeHostNameWithRange): Deleted.
(WebCore::encodeHostNameWithRange): Deleted.
(WebCore::decodeHostName): Deleted.
(WebCore::encodeHostName): Deleted.
(WebCore::collectRangesThatNeedMapping): Deleted.
(WebCore::collectRangesThatNeedEncoding): Deleted.
(WebCore::collectRangesThatNeedDecoding): Deleted.
(WebCore::applyHostNameFunctionToMailToURLString): Deleted.
(WebCore::applyHostNameFunctionToURLString): Deleted.
(WebCore::mapHostNames): Deleted.
(WebCore::stringByTrimmingWhitespace): Deleted.
(WebCore::URLByTruncatingOneCharacterBeforeComponent): Deleted.
(WebCore::URLByRemovingResourceSpecifier): Deleted.
(WebCore::URLWithData): Deleted.
(WebCore::dataWithUserTypedString): Deleted.
(WebCore::URLWithUserTypedString): Deleted.
(WebCore::URLWithUserTypedStringDeprecated): Deleted.
(WebCore::hasQuestionMarkOnlyQueryString): Deleted.
(WebCore::dataForURLComponentType): Deleted.
(WebCore::URLByRemovingComponentAndSubsequentCharacter): Deleted.
(WebCore::URLByRemovingUserInfo): Deleted.
(WebCore::originalURLData): Deleted.
(WebCore::createStringWithEscapedUnsafeCharacters): Deleted.
(WebCore::userVisibleString): Deleted.
(WebCore::isUserVisibleURL): Deleted.
(WebCore::rangeOfURLScheme): Deleted.
(WebCore::looksLikeAbsoluteURL): Deleted.

  • platform/mediastream/MediaEndpointConfiguration.h:
  • platform/network/BlobPart.h:
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/network/BlobResourceHandle.cpp:
  • platform/network/CookieRequestHeaderFieldProxy.h:
  • platform/network/CredentialStorage.cpp:
  • platform/network/CredentialStorage.h:
  • platform/network/DataURLDecoder.cpp:
  • platform/network/DataURLDecoder.h:
  • platform/network/FormData.h:
  • platform/network/ProxyServer.h:
  • platform/network/ResourceErrorBase.h:
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didReceiveResponse):

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::redirectedRequest const):

  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.h:
  • platform/network/SocketStreamHandle.h:
  • platform/network/cf/DNSResolveQueueCFNet.cpp:
  • platform/network/cf/NetworkStorageSessionCFNet.cpp:
  • platform/network/cf/ProxyServerCFNet.cpp:
  • platform/network/cf/ResourceErrorCF.cpp:
  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:
  • platform/network/curl/CookieJarCurlDatabase.cpp: Added.

(WebCore::cookiesForSession):
(WebCore::CookieJarCurlDatabase::setCookiesFromDOM const):
(WebCore::CookieJarCurlDatabase::setCookiesFromHTTPResponse const):
(WebCore::CookieJarCurlDatabase::cookiesForDOM const):
(WebCore::CookieJarCurlDatabase::cookieRequestHeaderFieldValue const):
(WebCore::CookieJarCurlDatabase::cookiesEnabled const):
(WebCore::CookieJarCurlDatabase::getRawCookies const):
(WebCore::CookieJarCurlDatabase::deleteCookie const):
(WebCore::CookieJarCurlDatabase::getHostnamesWithCookies const):
(WebCore::CookieJarCurlDatabase::deleteCookiesForHostnames const):
(WebCore::CookieJarCurlDatabase::deleteAllCookies const):
(WebCore::CookieJarCurlDatabase::deleteAllCookiesModifiedSince const):

  • platform/network/curl/CookieJarDB.cpp:
  • platform/network/curl/CookieUtil.h:
  • platform/network/curl/CurlContext.h:
  • platform/network/curl/CurlProxySettings.h:
  • platform/network/curl/CurlResponse.h:
  • platform/network/curl/NetworkStorageSessionCurl.cpp:
  • platform/network/curl/ProxyServerCurl.cpp:
  • platform/network/curl/SocketStreamHandleImplCurl.cpp:
  • platform/network/mac/ResourceErrorMac.mm:
  • platform/network/soup/NetworkStorageSessionSoup.cpp:
  • platform/network/soup/ProxyServerSoup.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:
  • platform/network/soup/ResourceRequest.h:
  • platform/network/soup/ResourceRequestSoup.cpp:
  • platform/network/soup/SocketStreamHandleImplSoup.cpp:
  • platform/network/soup/SoupNetworkSession.cpp:
  • platform/network/soup/SoupNetworkSession.h:
  • platform/text/TextEncoding.h:
  • platform/win/BString.cpp:
  • platform/win/BString.h:
  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::markupToCFHTML):

  • platform/win/ClipboardUtilitiesWin.h:
  • platform/win/DragImageWin.cpp:
  • platform/win/PasteboardWin.cpp:
  • plugins/PluginData.h:
  • rendering/HitTestResult.h:
  • rendering/RenderAttachment.cpp:
  • svg/SVGImageLoader.cpp:

(WebCore::SVGImageLoader::sourceURI const):

  • svg/SVGURIReference.cpp:
  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageCache.h:
  • svg/graphics/SVGImageForContainer.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

  • testing/Internals.mm:

(WebCore::Internals::userVisibleString):

  • testing/MockContentFilter.cpp:

(WebCore::MockContentFilter::willSendRequest):

  • testing/MockPaymentCoordinator.cpp:
  • testing/js/WebCoreTestSupport.cpp:
  • workers/AbstractWorker.h:
  • workers/WorkerGlobalScope.h:
  • workers/WorkerGlobalScopeProxy.h:
  • workers/WorkerInspectorProxy.h:
  • workers/WorkerLocation.h:
  • workers/WorkerScriptLoader.h:
  • workers/WorkerThread.cpp:
  • workers/WorkerThread.h:
  • workers/service/ServiceWorker.h:
  • workers/service/ServiceWorkerClientData.h:
  • workers/service/ServiceWorkerContainer.cpp:
  • workers/service/ServiceWorkerContextData.h:
  • workers/service/ServiceWorkerData.h:
  • workers/service/ServiceWorkerJobData.h:
  • workers/service/ServiceWorkerRegistrationKey.cpp:
  • workers/service/ServiceWorkerRegistrationKey.h:

(WTF::HashTraits<WebCore::ServiceWorkerRegistrationKey>::constructDeletedValue):

  • worklets/WorkletGlobalScope.h:
  • xml/XMLHttpRequest.h:

Source/WebKit:

  • NetworkProcess/Cookies/WebCookieManager.cpp:
  • NetworkProcess/Cookies/WebCookieManager.h:
  • NetworkProcess/Cookies/WebCookieManager.messages.in:
  • NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:
  • NetworkProcess/Downloads/Download.h:
  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::publishDownloadProgress):

  • NetworkProcess/Downloads/DownloadManager.h:
  • NetworkProcess/Downloads/PendingDownload.cpp:

(WebKit::PendingDownload::publishProgress):

  • NetworkProcess/Downloads/PendingDownload.h:
  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:

(WebKit::Download::publishProgress):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::unregisterBlobURL):
(WebKit::NetworkBlobRegistry::blobSize):
(WebKit::NetworkBlobRegistry::filesInBlob):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::didReceiveResponse):

  • NetworkProcess/NetworkDataTaskBlob.cpp:
  • NetworkProcess/NetworkLoadChecker.h:

(WebKit::NetworkLoadChecker::setContentExtensionController):
(WebKit::NetworkLoadChecker::url const):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::writeBlobToFilePath):
(WebKit::NetworkProcess::publishDownloadProgress):
(WebKit::NetworkProcess::preconnectTo):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::logBlockedCookieInformation):
(WebKit::logCookieInformationInternal):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkSocketStream.cpp:

(WebKit::NetworkSocketStream::create):

  • NetworkProcess/NetworkSocketStream.h:
  • NetworkProcess/PingLoad.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
  • NetworkProcess/cache/CacheStorageEngine.cpp:

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

  • NetworkProcess/cache/CacheStorageEngine.h:
  • NetworkProcess/cache/CacheStorageEngineCache.h:
  • NetworkProcess/cache/CacheStorageEngineConnection.cpp:

(WebKit::CacheStorageEngineConnection::retrieveRecords):

  • NetworkProcess/cache/CacheStorageEngineConnection.h:
  • NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStatistics.cpp:

(WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry):
(WebKit::NetworkCache::Statistics::recordRevalidationSuccess):

  • NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:

(WebKit::NetworkCache::SubresourceInfo::firstPartyForCookies const):

  • NetworkProcess/capture/NetworkCaptureEvent.cpp:

(WebKit::NetworkCapture::Request::operator WebCore::ResourceRequest const):
(WebKit::NetworkCapture::Response::operator WebCore::ResourceResponse const):
(WebKit::NetworkCapture::Error::operator WebCore::ResourceError const):

  • NetworkProcess/capture/NetworkCaptureManager.cpp:

(WebKit::NetworkCapture::Manager::findBestFuzzyMatch):
(WebKit::NetworkCapture::Manager::fuzzyMatchURLs):
(WebKit::NetworkCapture::Manager::urlIdentifyingCommonDomain):

  • NetworkProcess/capture/NetworkCaptureManager.h:
  • NetworkProcess/capture/NetworkCaptureResource.cpp:

(WebKit::NetworkCapture::Resource::url):
(WebKit::NetworkCapture::Resource::queryParameters):

  • NetworkProcess/capture/NetworkCaptureResource.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::openCFURLRef):
(WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error):

  • Shared/API/APIURL.h:

(API::URL::create):
(API::URL::equals):
(API::URL::URL):
(API::URL::url const):
(API::URL::parseURLIfNecessary const):

  • Shared/API/APIUserContentURLPattern.h:

(API::UserContentURLPattern::matchesURL const):

  • Shared/API/c/WKURLRequest.cpp:
  • Shared/API/c/WKURLResponse.cpp:
  • Shared/API/c/cf/WKURLCF.mm:

(WKURLCreateWithCFURL):
(WKURLCopyCFURL):

  • Shared/API/glib/WebKitURIRequest.cpp:
  • Shared/API/glib/WebKitURIResponse.cpp:
  • Shared/APIWebArchiveResource.mm:

(API::WebArchiveResource::WebArchiveResource):

  • Shared/AssistedNodeInformation.h:
  • Shared/Cocoa/WKNSURLExtras.mm:

(-[NSURL _web_originalDataAsWTFString]):
(): Deleted.

  • Shared/SessionState.h:
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::itemIsInSameDocument const):

  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebErrors.h:
  • Shared/WebHitTestResultData.cpp:
  • Shared/cf/ArgumentCodersCF.cpp:

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

  • Shared/gtk/WebErrorsGtk.cpp:
  • Shared/ios/InteractionInformationAtPosition.h:
  • UIProcess/API/APIHTTPCookieStore.h:
  • UIProcess/API/APINavigation.cpp:

(API::Navigation::appendRedirectionURL):

  • UIProcess/API/APINavigation.h:

(API::Navigation::takeRedirectChain):

  • UIProcess/API/APINavigationAction.h:
  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::signedPublicKeyAndChallengeString):
(API::NavigationClient::contentRuleListNotification):
(API::NavigationClient::webGLLoadPolicy const):
(API::NavigationClient::resolveWebGLLoadPolicy const):

  • UIProcess/API/APIUIClient.h:

(API::UIClient::saveDataToFileInDownloadsFolder):

  • UIProcess/API/APIUserScript.cpp:

(API::UserScript::generateUniqueURL):

  • UIProcess/API/APIUserScript.h:
  • UIProcess/API/APIUserStyleSheet.cpp:

(API::UserStyleSheet::generateUniqueURL):

  • UIProcess/API/APIUserStyleSheet.h:
  • UIProcess/API/C/WKOpenPanelResultListener.cpp:

(filePathsFromFileURLs):

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadPlainTextStringWithUserData):
(WKPageSetPageUIClient):
(WKPageSetPageNavigationClient):

  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserStyleSheet):
(WKPageGroupAddUserScript):

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreSetResourceLoadStatisticsPrevalentResourceForDebugMode):
(WKWebsiteDataStoreSetStatisticsLastSeen):
(WKWebsiteDataStoreSetStatisticsPrevalentResource):
(WKWebsiteDataStoreSetStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsPrevalentResource):
(WKWebsiteDataStoreIsStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubresourceUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
(WKWebsiteDataStoreSetStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreSetStatisticsGrandfathered):
(WKWebsiteDataStoreIsStatisticsGrandfathered):
(WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectFrom):

  • UIProcess/API/Cocoa/WKHTTPCookieStore.mm:
  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _showSafeBrowsingWarning:completionHandler:]):
(-[WKWebView _showSafeBrowsingWarningWithTitle:warning:details:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:]):
(-[WKWebViewConfiguration urlSchemeHandlerForURLScheme:]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
  • UIProcess/API/Cocoa/_WKApplicationManifest.mm:

(-[_WKApplicationManifest initWithCoder:]):
(+[_WKApplicationManifest applicationManifestFromJSON:manifestURL:documentURL:]):

  • UIProcess/API/Cocoa/_WKUserStyleSheet.mm:

(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):

  • UIProcess/API/glib/IconDatabase.cpp:
  • UIProcess/API/glib/WebKitCookieManager.cpp:

(webkit_cookie_manager_get_cookies):

  • UIProcess/API/glib/WebKitFileChooserRequest.cpp:
  • UIProcess/API/glib/WebKitSecurityOrigin.cpp:

(webkit_security_origin_new_for_uri):

  • UIProcess/API/glib/WebKitUIClient.cpp:
  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:
  • UIProcess/API/glib/WebKitWebView.cpp:

(webkit_web_view_load_plain_text):

  • UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
(WebKit::WebPaymentCoordinatorProxy::validateMerchant):

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h:
  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::toPKPaymentRequest):

  • UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

  • UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::navigateBrowsingContext):
(WebKit::domainByAddingDotPrefixIfNeeded):
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):

  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::didFinish):

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

(WebKit::NavigationState::NavigationClient::webGLLoadPolicy const):
(WebKit::NavigationState::NavigationClient::resolveWebGLLoadPolicy const):
(WebKit::NavigationState::NavigationClient::contentRuleListNotification):
(WebKit::NavigationState::NavigationClient::willPerformClientRedirect):
(WebKit::NavigationState::NavigationClient::didPerformClientRedirect):
(WebKit::NavigationState::NavigationClient::signedPublicKeyAndChallengeString):

  • UIProcess/Cocoa/SafeBrowsingResultCocoa.mm: Copied from Source/WebKit/WebProcess/Network/WebSocketProvider.h.

(WebKit::SafeBrowsingResult::SafeBrowsingResult):

  • UIProcess/Cocoa/SafeBrowsingWarningCocoa.mm:

(WebKit::reportAnErrorURL):
(WebKit::malwareDetailsURL):
(WebKit::safeBrowsingDetailsText):
(WebKit::SafeBrowsingWarning::SafeBrowsingWarning):

  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:

(-[_WKPreviewControllerDataSource finish:]):
(WebKit::SystemPreviewController::finish):

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

(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::saveDataToFileInDownloadsFolder):
(WebKit::requestUserMediaAuthorizationForDevices):
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin):

  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:

(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):

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

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

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

(WebKit::WebViewImpl::showSafeBrowsingWarning):
(WebKit::WebViewImpl::writeToURLForFilePromiseProvider):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::publishProgress):

  • UIProcess/Downloads/DownloadProxy.h:

(WebKit::DownloadProxy::setRedirectChain):
(WebKit::DownloadProxy::redirectChain const):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):

  • UIProcess/FrameLoadState.h:

(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::setURL):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::writeBlobToFilePath):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/PageClient.h:

(WebKit::PageClient::showSafeBrowsingWarning):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::hasOnlySecureContent):

  • UIProcess/Plugins/PluginInfoStore.cpp:
  • UIProcess/Plugins/PluginInfoStore.h:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  • UIProcess/SafeBrowsingResult.h: Copied from Source/WebKit/UIProcess/SystemPreviewController.h.

(WebKit::SafeBrowsingResult::create):
(WebKit::SafeBrowsingResult::url const):
(WebKit::SafeBrowsingResult::provider const):
(WebKit::SafeBrowsingResult::isPhishing const):
(WebKit::SafeBrowsingResult::isMalware const):
(WebKit::SafeBrowsingResult::isUnwantedSoftware const):
(WebKit::SafeBrowsingResult::isKnownToBeUnsafe const):

  • UIProcess/SafeBrowsingWarning.h:

(WebKit::SafeBrowsingWarning::create):

  • UIProcess/SuspendedPageProxy.cpp:
  • UIProcess/SystemPreviewController.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebOpenPanelResultListenerProxy.cpp:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadDataWithNavigation):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::contentRuleListNotification):
(WebKit::WebPageProxy::processDidTerminate):
(WebKit::WebPageProxy::signedPublicKeyAndChallengeString):
(WebKit::WebPageProxy::setURLSchemeHandlerForScheme):

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

(WebKit::WebProcessPool::tryPrewarmWithDomainInformation):

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

(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::setPrevalentResourceForDebugMode):
(WebKit::WebResourceLoadStatisticsStore::logFrameNavigation):

  • UIProcess/WebResourceLoadStatisticsStore.h:
  • UIProcess/ios/DragDropInteractionState.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::showSafeBrowsingWarning):

  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):

  • UIProcess/ios/WKLegacyPDFView.mm:

(-[WKLegacyPDFView actionSheetAssistant:shareElementWithURL:rect:]):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController _updateLocationInfo]):

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeLegacySessionState):

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

(WebKit::PageClientImpl::showSafeBrowsingWarning):

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _defaultAnimationController]):

  • UIProcess/win/WebInspectorProxyWin.cpp:
  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::showPaymentUI):
(WebKit::WebPaymentCoordinator::validateMerchant):

  • WebProcess/ApplePay/WebPaymentCoordinator.h:
  • WebProcess/Cache/WebCacheStorageConnection.cpp:

(WebKit::WebCacheStorageConnection::doRetrieveRecords):

  • WebProcess/Cache/WebCacheStorageConnection.h:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:

(API::InjectedBundle::PageLoaderClient::willLoadDataRequest):
(API::InjectedBundle::PageLoaderClient::userAgentForURL const):

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

(WKBundleFrameAllowsFollowingLink):
(WKBundleFrameCopySuggestedFilenameForResourceWithURL):
(WKBundleFrameCopyMIMETypeForResourceWithURL):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageHasLocalDataForURL):

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

(convertToUTF8String):

  • WebProcess/InjectedBundle/API/gtk/DOM/ConvertToUTF8String.h:
  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::preconnectTo):

  • WebProcess/Network/WebLoaderStrategy.h:
  • WebProcess/Network/WebSocketProvider.h:
  • WebProcess/Network/WebSocketStream.cpp:

(WebKit::WebSocketStream::WebSocketStream):

  • WebProcess/Network/WebSocketStream.h:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.h:
  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::clickedLink):

  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performURLRequest):
(WebKit::PluginView::performJavaScriptURLRequest):

  • WebProcess/Plugins/WebPluginInfoProvider.cpp:

(WebKit::WebPluginInfoProvider::webVisiblePluginInfo):

  • WebProcess/Plugins/WebPluginInfoProvider.h:
  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::signedPublicKeyAndChallengeString const):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebContextMenuClient.h:
  • WebProcess/WebCoreSupport/WebDragClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::shouldForceUniversalAccessFromLocalURL):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::readURLFromPasteboard):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::declareAndWriteDragImage):

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
  • WebProcess/WebPage/VisitedLinkTableController.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::allowsFollowingLink const):

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLInFrame):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadAlternateHTML):
(WebKit::WebPage::dumpHistoryForTesting):
(WebKit::WebPage::sendCSPViolationReport):
(WebKit::WebPage::addUserScript):
(WebKit::WebPage::addUserStyleSheet):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::frameURL const):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::sendPrewarmInformation):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::activePagesOrigins):

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:
  • WebCoreSupport/WebResourceLoadScheduler.h:

Source/WebKitLegacy/mac:

  • DOM/DOMAttr.mm:
  • DOM/DOMBlob.mm:
  • DOM/DOMCSSCharsetRule.mm:
  • DOM/DOMCSSImportRule.mm:
  • DOM/DOMCSSMediaRule.mm:
  • DOM/DOMCSSPageRule.mm:
  • DOM/DOMCSSPrimitiveValue.mm:
  • DOM/DOMCSSRule.mm:
  • DOM/DOMCSSStyleDeclaration.mm:
  • DOM/DOMCSSStyleRule.mm:
  • DOM/DOMCSSStyleSheet.mm:
  • DOM/DOMCSSValue.mm:
  • DOM/DOMCharacterData.mm:
  • DOM/DOMCounter.mm:
  • DOM/DOMDocument.mm:
  • DOM/DOMDocumentFragment.mm:
  • DOM/DOMDocumentType.mm:
  • DOM/DOMEvent.mm:
  • DOM/DOMFile.mm:
  • DOM/DOMHTMLAnchorElement.mm:
  • DOM/DOMHTMLAppletElement.mm:
  • DOM/DOMHTMLAreaElement.mm:
  • DOM/DOMHTMLBRElement.mm:
  • DOM/DOMHTMLBaseElement.mm:
  • DOM/DOMHTMLBaseFontElement.mm:
  • DOM/DOMHTMLBodyElement.mm:
  • DOM/DOMHTMLButtonElement.mm:
  • DOM/DOMHTMLCanvasElement.mm:
  • DOM/DOMHTMLCollection.mm:
  • DOM/DOMHTMLDivElement.mm:
  • DOM/DOMHTMLDocument.mm:
  • DOM/DOMHTMLElement.mm:
  • DOM/DOMHTMLEmbedElement.mm:
  • DOM/DOMHTMLFieldSetElement.mm:
  • DOM/DOMHTMLFontElement.mm:
  • DOM/DOMHTMLFormElement.mm:
  • DOM/DOMHTMLFrameElement.mm:
  • DOM/DOMHTMLFrameSetElement.mm:
  • DOM/DOMHTMLHRElement.mm:
  • DOM/DOMHTMLHeadElement.mm:
  • DOM/DOMHTMLHeadingElement.mm:
  • DOM/DOMHTMLHtmlElement.mm:
  • DOM/DOMHTMLIFrameElement.mm:
  • DOM/DOMHTMLImageElement.mm:
  • DOM/DOMHTMLInputElement.mm:
  • DOM/DOMHTMLLIElement.mm:
  • DOM/DOMHTMLLabelElement.mm:
  • DOM/DOMHTMLLegendElement.mm:
  • DOM/DOMHTMLLinkElement.mm:
  • DOM/DOMHTMLMapElement.mm:
  • DOM/DOMHTMLMarqueeElement.mm:
  • DOM/DOMHTMLMediaElement.mm:
  • DOM/DOMHTMLMetaElement.mm:
  • DOM/DOMHTMLModElement.mm:
  • DOM/DOMHTMLOListElement.mm:
  • DOM/DOMHTMLObjectElement.mm:
  • DOM/DOMHTMLOptGroupElement.mm:
  • DOM/DOMHTMLOptionElement.mm:
  • DOM/DOMHTMLOptionsCollection.mm:
  • DOM/DOMHTMLParagraphElement.mm:
  • DOM/DOMHTMLParamElement.mm:
  • DOM/DOMHTMLQuoteElement.mm:
  • DOM/DOMHTMLScriptElement.mm:
  • DOM/DOMHTMLSelectElement.mm:
  • DOM/DOMHTMLStyleElement.mm:
  • DOM/DOMHTMLTableCaptionElement.mm:
  • DOM/DOMHTMLTableCellElement.mm:
  • DOM/DOMHTMLTableColElement.mm:
  • DOM/DOMHTMLTableElement.mm:
  • DOM/DOMHTMLTableRowElement.mm:
  • DOM/DOMHTMLTableSectionElement.mm:
  • DOM/DOMHTMLTitleElement.mm:
  • DOM/DOMHTMLUListElement.mm:
  • DOM/DOMHTMLVideoElement.mm:
  • DOM/DOMKeyboardEvent.mm:
  • DOM/DOMMediaList.mm:
  • DOM/DOMMouseEvent.mm:
  • DOM/DOMMutationEvent.mm:
  • DOM/DOMNamedNodeMap.mm:
  • DOM/DOMProcessingInstruction.mm:
  • DOM/DOMRange.mm:
  • DOM/DOMStyleSheet.mm:
  • DOM/DOMText.mm:
  • DOM/DOMTextEvent.mm:
  • DOM/DOMTokenList.mm:
  • DOM/DOMUIEvent.mm:
  • DOM/DOMXPathResult.mm:
  • History/WebHistoryItem.mm:
  • Misc/WebNSURLExtras.mm:

(-[NSURL _web_userVisibleString]):
(-[NSURL _web_URLByRemovingUserInfo]):
(-[NSURL _web_dataForURLComponentType:]):
(-[NSURL _web_schemeData]):
(-[NSURL _web_hostData]):

  • Misc/WebUserContentURLPattern.mm:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
  • Plugins/WebNetscapePluginStream.h:

(WebNetscapePluginStream::setRequestURL):

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

(WebChromeClient::signedPublicKeyAndChallengeString const):

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:
  • WebCoreSupport/WebDragClient.h:
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::updateGlobalHistory):

  • WebCoreSupport/WebPaymentCoordinatorClient.h:
  • WebCoreSupport/WebPaymentCoordinatorClient.mm:

(WebPaymentCoordinatorClient::showPaymentUI):

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::readURLFromPasteboard):

  • WebCoreSupport/WebPluginInfoProvider.h:
  • WebCoreSupport/WebPluginInfoProvider.mm:

(WebPluginInfoProvider::webVisiblePluginInfo):

  • WebCoreSupport/WebSecurityOrigin.mm:
  • WebCoreSupport/WebVisitedLinkStore.h:
  • WebView/WebDataSource.mm:
  • WebView/WebFrame.mm:

(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _defaultAnimationController]):

  • WebView/WebPDFView.mm:
  • WebView/WebScriptDebugger.mm:
  • WebView/WebViewInternal.h:

Source/WebKitLegacy/win:

  • MarshallingHelpers.cpp:
  • MarshallingHelpers.h:
  • Plugins/PluginDatabase.cpp:
  • Plugins/PluginDatabase.h:
  • Plugins/PluginDatabaseWin.cpp:
  • Plugins/PluginStream.h:
  • Plugins/PluginView.h:
  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
  • WebCoreSupport/WebDesktopNotificationsDelegate.h:
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPluginInfoProvider.cpp:

(WebPluginInfoProvider::webVisiblePluginInfo):

  • WebCoreSupport/WebPluginInfoProvider.h:
  • WebCoreSupport/WebVisitedLinkStore.h:
  • WebDataSource.cpp:
  • WebDownload.h:
  • WebElementPropertyBag.cpp:
  • WebFrame.h:
  • WebHistory.cpp:
  • WebHistory.h:
  • WebHistoryItem.cpp:
  • WebResource.cpp:

(WebResource::WebResource):

  • WebResource.h:
  • WebSecurityOrigin.cpp:
  • WebURLResponse.cpp:

(WebURLResponse::createInstance):

  • WebUserContentURLPattern.cpp:
  • WebView.h:

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Forward.h:
  • wtf/PlatformGTK.cmake:
  • wtf/PlatformMac.cmake:
  • wtf/PlatformWPE.cmake:
  • wtf/PlatformWin.cmake:
  • wtf/URL.cpp: Renamed from Source/WebCore/platform/URL.cpp.

(WTF::URL::protocolIs):

  • wtf/URL.h: Renamed from Source/WebCore/platform/URL.h.
  • wtf/URLHash.h: Renamed from Source/WebCore/platform/URLHash.h.

(WTF::URLHash::hash):
(WTF::URLHash::equal):

  • wtf/URLParser.cpp: Renamed from Source/WebCore/platform/URLParser.cpp.

(WTF::URLParser::isInUserInfoEncodeSet):
(WTF::URLParser::parseAuthority):

  • wtf/URLParser.h: Renamed from Source/WebCore/platform/URLParser.h.

(WTF::URLParser::URLParser):
(WTF::URLParser::result):

  • wtf/cf/CFURLExtras.cpp: Renamed from Source/WebCore/platform/cf/CFURLExtras.cpp.
  • wtf/cf/CFURLExtras.h: Renamed from Source/WebCore/platform/cf/CFURLExtras.h.
  • wtf/cf/URLCF.cpp: Renamed from Source/WebCore/platform/cf/URLCF.cpp.
  • wtf/cocoa/NSURLExtras.h: Copied from Source/WebCore/loader/archive/ArchiveResourceCollection.h.
  • wtf/cocoa/NSURLExtras.mm: Copied from Source/WebCore/platform/mac/WebCoreNSURLExtras.mm.

(WTF::isArmenianLookalikeCharacter):
(WTF::isArmenianScriptCharacter):
(WTF::isASCIIDigitOrValidHostCharacter):
(WTF::isLookalikeCharacter):
(WTF::whiteListIDNScript):
(WTF::readIDNScriptWhiteListFile):
(WTF::allCharactersInIDNScriptWhiteList):
(WTF::isSecondLevelDomainNameAllowedByTLDRules):
(WTF::isRussianDomainNameCharacter):
(WTF::allCharactersAllowedByTLDRules):
(WTF::mapHostNameWithRange):
(WTF::hostNameNeedsDecodingWithRange):
(WTF::hostNameNeedsEncodingWithRange):
(WTF::decodeHostNameWithRange):
(WTF::encodeHostNameWithRange):
(WTF::decodeHostName):
(WTF::encodeHostName):
(WTF::collectRangesThatNeedMapping):
(WTF::collectRangesThatNeedEncoding):
(WTF::collectRangesThatNeedDecoding):
(WTF::applyHostNameFunctionToMailToURLString):
(WTF::applyHostNameFunctionToURLString):
(WTF::mapHostNames):
(WTF::stringByTrimmingWhitespace):
(WTF::URLByTruncatingOneCharacterBeforeComponent):
(WTF::URLByRemovingResourceSpecifier):
(WTF::URLWithData):
(WTF::dataWithUserTypedString):
(WTF::URLWithUserTypedString):
(WTF::URLWithUserTypedStringDeprecated):
(WTF::hasQuestionMarkOnlyQueryString):
(WTF::dataForURLComponentType):
(WTF::URLByRemovingComponentAndSubsequentCharacter):
(WTF::URLByRemovingUserInfo):
(WTF::originalURLData):
(WTF::createStringWithEscapedUnsafeCharacters):
(WTF::userVisibleString):
(WTF::isUserVisibleURL):
(WTF::rangeOfURLScheme):
(WTF::looksLikeAbsoluteURL):

  • wtf/cocoa/URLCocoa.mm: Renamed from Source/WebCore/platform/mac/URLMac.mm.

(WTF::URL::URL):
(WTF::URL::createCFURL const):

  • wtf/glib/GUniquePtrSoup.h: Renamed from Source/WebCore/platform/network/soup/GUniquePtrSoup.h.
  • wtf/glib/URLSoup.cpp: Renamed from Source/WebCore/platform/soup/URLSoup.cpp.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
  • TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
  • TestWebKitAPI/Tests/WebCore/URL.cpp:

(TestWebKitAPI::createURL):
(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):

  • TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
  • TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
  • TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:

(TestWebKitAPI::originalDataAsString):
(TestWebKitAPI::userVisibleString):
(TestWebKitAPI::literalURL):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:

(literalURL):

  • TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
  • TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:

(-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):

  • TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
  • TestWebKitAPI/win/PlatformUtilitiesWin.cpp:

(TestWebKitAPI::Util::createURLForResource):

  • lldb/lldb_webkit.py:

(lldb_init_module):
(WTFURL_SummaryProvider):
(WTFURLProvider):
(WebCoreURL_SummaryProvider): Deleted.
(WebCoreURLProvider): Deleted.
(WebCoreURLProvider.
init): Deleted.
(WebCoreURLProvider.to_string): Deleted.

7:25 PM Changeset in webkit [238770] by youenn@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

Test that CSS subresource loading are exposed to resource timing in case of a CORS loaded CSS stylesheet but not imported stylesheets
https://bugs.webkit.org/show_bug.cgi?id=192232

Reviewed by Dean Jackson.

  • http/tests/security/cross-origin-clean-css-resource-timing-expected.txt: Added.
  • http/tests/security/cross-origin-clean-css-resource-timing.html: Added.
  • http/tests/security/resources/loading-subresources.php: Added.
7:09 PM Changeset in webkit [238769] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Add more logging of sandbox call entries.
https://bugs.webkit.org/show_bug.cgi?id=192261
rdar://problem/45772445

Reviewed by Dean Jackson.

  • WebProcess/com.apple.WebProcess.sb.in:
6:57 PM Changeset in webkit [238768] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Drop unused Cross-Origin-Window-Policy from HTTPHeaderNames.in
https://bugs.webkit.org/show_bug.cgi?id=192253

Reviewed by Geoffrey Garen.

  • platform/network/HTTPHeaderNames.in:
5:11 PM Changeset in webkit [238767] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Editable images should always return some data, even if the canvas doesn't have a size yet
https://bugs.webkit.org/show_bug.cgi?id=192265
<rdar://problem/46385911>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKDrawingView.mm:

(-[WKDrawingView layoutSubviews]):
(emptyImage):
(-[WKDrawingView renderedDrawing]):
(-[WKDrawingView PNGRepresentation]):
Some clients strongly depend on there being some data in an image, even if
it's not of a usable size yet. We'll invalidate the attachment when the
canvas size changes, so it will eventually settle at a usable size (after
the first layer tree commit that includes the editable image).

4:42 PM Changeset in webkit [238766] by dino@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Try to fix Windows build by using strcmp instead of strcasecmp.

  • jsc.cpp:

(isMJSFile):

4:40 PM Changeset in webkit [238765] by Truitt Savell
  • 1 edit
    2 adds in trunk/LayoutTests

Rebaseline test after https://trac.webkit.org/changeset/238725/webkit
https://bugs.webkit.org/show_bug.cgi?id=192201

Unreviewed Test Gardening.

  • platform/ios/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt: Added.
4:32 PM Changeset in webkit [238764] by Jonathan Bedard
  • 3 edits in trunk/Tools

webkitpy: Support unicode in MeteredStream
https://bugs.webkit.org/show_bug.cgi?id=192260

Reviewed by Stephanie Lewis.

It's possible that the test runner returns unicode characters to be logged when
running layout tests.

  • Scripts/webkitpy/layout_tests/views/metered_stream.py:

(MeteredStream.write): Message written to metered stream should be unicode.

  • Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:

(RegularTest.test_unicode):

4:26 PM Changeset in webkit [238763] by Jonathan Bedard
  • 2 edits in trunk/Tools

REGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort' object has no attribute 'DEFAULT_DEVICE_CLASS'
https://bugs.webkit.org/show_bug.cgi?id=192257
<rdar://problem/46384671>

Reviewed by Stephanie Lewis.

Follow-up fix for r238749.

  • Scripts/webkitpy/api_tests/manager.py:

(Manager._initialize_devices): Use DEFAULT_DEVICE_TYPE instead of DEFAULT_DEVICE_CLASS.

4:15 PM Changeset in webkit [238762] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Jumping from Computed to Styles should select property
https://bugs.webkit.org/show_bug.cgi?id=192198

Reviewed by Devin Rousso.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor .property.highlighted): Deleted.
(@keyframes style-property-highlight): Deleted.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
Remove unnecessary __propertyView property.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype.detached):
(WI.SpreadsheetStyleProperty.prototype.highlight): Deleted.

4:14 PM Changeset in webkit [238761] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix the bytecode code generator scripts to pretty print Bytecodes.h.
https://bugs.webkit.org/show_bug.cgi?id=192258

Reviewed by Keith Miller.

This makes Bytecodes.h more human readable.

  • generator/DSL.rb:
  • generator/Section.rb:
4:11 PM Changeset in webkit [238760] by Justin Fan
  • 10 edits
    2 adds in trunk

[WebGPU] WebGPUQueue::submit and WebGPURenderingContext::present() implementation
https://bugs.webkit.org/show_bug.cgi?id=192254

Reviewed by Dean Jackson.

Source/WebCore:

Final plumbing to render onto an HTMLCanvasElement with WebGPU. Also added ref-test that draws
a green square onto a canvas using WebGPU; reference uses 2D canvas.

Test: webgpu/simple-triangle-strip.html

  • Modules/webgpu/WebGPUCommandBuffer.h:
  • Modules/webgpu/WebGPUSwapChain.h: Needs to override platformLayer() for CanvasBasedRenderingContext.
  • platform/graphics/gpu/GPUQueue.h:
  • platform/graphics/gpu/GPUSwapChain.h:

(WebCore::GPUSwapChain::metalLayer const): Renamed from platformLayer.
(WebCore::GPUSwapChain::platformLayer const): Deleted.

  • platform/graphics/gpu/cocoa/GPUQueueMetal.mm:

(WebCore::GPUQueue::submit):

  • platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:

(WebCore::GPUSwapChain::getNextTexture): Returns the texture of the swap layer's next drawable.
(WebCore::GPUSwapChain::present): Presents the last-returned drawable from getNextTexture, and frees it.
(WebCore::GPUSwapChain::platformLayer const):

LayoutTests:

Update webgpu-basics to render an image into canvas. Also added ref-test that draws
a green square onto a canvas using WebGPU; reference uses 2D canvas.

  • webgpu/js/basic-webgpu-functions.js:

(render):

  • webgpu/simple-triangle-strip-expected.html: Added.
  • webgpu/simple-triangle-strip.html: Added.
  • webgpu/webgpu-basics.html:
4:08 PM Changeset in webkit [238759] by Alan Bujtas
  • 6 edits
    2 adds in trunk

Can’t use RalphLauren.com on iPad because hover menus don’t stay up
https://bugs.webkit.org/show_bug.cgi?id=192236
<rdar://problem/45792118>

Reviewed by Geoffrey Garen.

Source/WebCore:

This patch introduces asynchronous content change observation.

  1. Start observing synchronous content change and timer install as the result of dispatching mouseMoved event.
  2. Start observing synchronous content change and style recalc schedule as the result of a timer callback (installed at #1).
  3. Start observing synchronous content change as the result of a style recalc (scheduled at #2).

This patch also extends the timeout value from 100ms to 250ms. Certain content prefer longer timeouts (see http://briancherne.github.io/jquery-hoverIntent/ for details).

Test: fast/events/touch/ios/hover-when-style-change-is-async.html

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):

  • platform/ios/wak/WKContentObservation.cpp:

(WKStartObservingStyleRecalcScheduling):
(WKStopObservingStyleRecalcScheduling):
(WKIsObservingStyleRecalcScheduling):
(WKSetShouldObserveNextStyleRecalc):
(WKShouldObserveNextStyleRecalc):
(WKSetObservedContentChange):

  • platform/ios/wak/WKContentObservation.h:

LayoutTests:

  • fast/events/touch/ios/hover-when-style-change-is-async-expected.txt: Added.
  • fast/events/touch/ios/hover-when-style-change-is-async.html: Added.
3:33 PM Changeset in webkit [238758] by rniwa@webkit.org
  • 14 edits
    2 adds in trunk

ShadowRoot should have styleSheets property
https://bugs.webkit.org/show_bug.cgi?id=191311
LayoutTests/imported/w3c:

Reviewed by Antti Koivisto.

Rebaselined the tests.

  • web-platform-tests/css/css-scoping/stylesheet-title-002-expected.txt: Rebaselined. The test now

doesn't throw but fails with the actual check the test is intending to check.

  • web-platform-tests/css/cssom/selectorText-modification-restyle-002-expected.txt: Rebaselined

now that all test cases pass.

  • web-platform-tests/shadow-dom/ShadowRoot-interface-expected.txt: Ditto.

Source/WebCore:

Reviewed by Antti Koivisto.

Added the support for ShadowRoot.prototype.styleSheets by making StyleSheetList refer to either
a document or a shadow root. We don't support the named getter in shadow root since that's not
a standard feature: https://drafts.csswg.org/cssom/#the-stylesheetlist-interface

Tests: fast/shadow-dom/shadowroot-stylesheets-wrapper-gc.html

imported/w3c/web-platform-tests/shadow-dom/ShadowRoot-interface.html

  • css/StyleSheetList.cpp:

(WebCore::StyleSheetList::StyleSheetList): Added a variant which takes ShadowRoot.
(WebCore::StyleSheetList::styleSheets const):
(WebCore::StyleSheetList::ownerNode): Added. The replacement for document() since now the opaque
root could be either a Document or a ShadowRoot.
(WebCore::StyleSheetList::detach): Renamed from detachFromDocument.
(WebCore::StyleSheetList::namedItem const): Added a comment that the named getter is only supported
for Document since it's not in the standard.

  • css/StyleSheetList.h:

(WebCore::StyleSheetList::create): Added a variant which takes ShadowRoot.
(WebCore::StyleSheetList::document): Deleted. Replaced by StyleSheetList::ownerNode in .cpp file.

  • css/StyleSheetList.idl:
  • dom/Document.cpp:

(WebCore::Document::~Document):
(WebCore::Document::styleSheets):

  • dom/Document.idl:
  • dom/DocumentOrShadowRoot.idl: Moved the declaration of styleSheets here from Document.idl.
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::~ShadowRoot): Call detach.
(WebCore::ShadowRoot::styleSheets):

  • dom/ShadowRoot.h:

LayoutTests:

<rdar://problem/46333290>

Reviewed by Antti Koivisto.

Added a regression test for testing that the JS wrapper of a StyleSheetList does not get collected
as long as its shadow root is alive.

  • fast/shadow-dom/shadowroot-stylesheets-wrapper-gc-expected.txt: Added.
  • fast/shadow-dom/shadowroot-stylesheets-wrapper-gc.html: Added.
2:40 PM Changeset in webkit [238757] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r238599): Multiple Selection: selecting a breakpoint will change the selection to it's parent on the first click
https://bugs.webkit.org/show_bug.cgi?id=192093
<rdar://problem/46318466>

Reviewed by Devin Rousso.

  • UserInterface/Views/TreeElement.js:

(WI.TreeElement.prototype.select):
TreeElement shouldn't manage the TreeOutline's selection barrier.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline):
(WI.TreeOutline.prototype.get processingSelectionChange):
(WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
(WI.TreeOutline.prototype.selectTreeElementInternal):
The selection re-entry barrier processingSelectionChange should be
managed internally by TreeOutline, and exposed as a read-only property.
Fix a bug where the barrier was cleared before dispatching the change
notification, which can cause re-entry as a side effect.

2:37 PM Changeset in webkit [238756] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add the generator directory to the Xcode project.
https://bugs.webkit.org/show_bug.cgi?id=192252

Reviewed by Michael Saboff.

This is so that we can work with these bytecode class generator files easily in Xcode.

2:27 PM Changeset in webkit [238755] by Chris Dumez
  • 6 edits in trunk

[PSON] We are sometimes swapping processes even though there is an opened window with an opener link to us
https://bugs.webkit.org/show_bug.cgi?id=192242

Reviewed by Geoffrey Garen.

Source/WebCore:

Move the setting of the openedViaWindowOpenWithOpener & hasOpenedFrames flags on the
NavigationAction from FrameLoader::loadURL(), to PolicyChecker::checkNavigationPolicy()
to make sure those are always accurate and so that the UIProcess can make correct process
swapping decisions.

NavigationAction objects are created in other places than FrameLoader::loadURL() as well.
Even PolicyChecker::checkNavigationPolicy() will create a NavigationAction object if
there is not already one.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::hasOpenedFrames const):

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2:23 PM Changeset in webkit [238754] by don.olmstead@sony.com
  • 194 edits in trunk

Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=192197

Reviewed by Jiewen Tan.

.:

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. No change in behavior.

  • Configurations/FeatureDefines.xcconfig:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::readTerminal):

  • crypto/CommonCryptoUtilities.cpp:
  • crypto/CommonCryptoUtilities.h:
  • crypto/CryptoAlgorithm.cpp:
  • crypto/CryptoAlgorithm.h:
  • crypto/CryptoAlgorithmIdentifier.h:
  • crypto/CryptoAlgorithmParameters.h:
  • crypto/CryptoAlgorithmParameters.idl:
  • crypto/CryptoAlgorithmRegistry.cpp:
  • crypto/CryptoAlgorithmRegistry.h:
  • crypto/CryptoKey.cpp:
  • crypto/CryptoKey.h:
  • crypto/CryptoKey.idl:
  • crypto/CryptoKeyFormat.h:
  • crypto/CryptoKeyPair.h:
  • crypto/CryptoKeyPair.idl:
  • crypto/CryptoKeyType.h:
  • crypto/CryptoKeyUsage.h:
  • crypto/CryptoKeyUsage.idl:
  • crypto/JsonWebKey.h:
  • crypto/JsonWebKey.idl:
  • crypto/RsaOtherPrimesInfo.h:
  • crypto/RsaOtherPrimesInfo.idl:
  • crypto/SerializedCryptoKeyWrap.h:
  • crypto/SubtleCrypto.cpp:
  • crypto/SubtleCrypto.h:
  • crypto/SubtleCrypto.idl:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.h:
  • crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_CFB.h:
  • crypto/algorithms/CryptoAlgorithmAES_CTR.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_CTR.h:
  • crypto/algorithms/CryptoAlgorithmAES_GCM.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_GCM.h:
  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_KW.h:
  • crypto/algorithms/CryptoAlgorithmECDH.cpp:
  • crypto/algorithms/CryptoAlgorithmECDH.h:
  • crypto/algorithms/CryptoAlgorithmECDSA.cpp:
  • crypto/algorithms/CryptoAlgorithmECDSA.h:
  • crypto/algorithms/CryptoAlgorithmHKDF.cpp:
  • crypto/algorithms/CryptoAlgorithmHKDF.h:
  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:
  • crypto/algorithms/CryptoAlgorithmHMAC.h:
  • crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
  • crypto/algorithms/CryptoAlgorithmPBKDF2.h:
  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
  • crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:
  • crypto/algorithms/CryptoAlgorithmRSA_PSS.h:
  • crypto/algorithms/CryptoAlgorithmSHA1.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA1.h:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA224.h:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA256.h:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA384.h:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA512.h:
  • crypto/gcrypt/CryptoAlgorithmAES_CBCGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmAES_CFBGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmAES_CTRGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmAES_GCMGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmAES_KWGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp:
  • crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp:
  • crypto/gcrypt/CryptoKeyECGCrypt.cpp:
  • crypto/gcrypt/CryptoKeyRSAGCrypt.cpp:
  • crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp:
  • crypto/keys/CryptoAesKeyAlgorithm.idl:
  • crypto/keys/CryptoEcKeyAlgorithm.idl:
  • crypto/keys/CryptoHmacKeyAlgorithm.idl:
  • crypto/keys/CryptoKeyAES.cpp:
  • crypto/keys/CryptoKeyAES.h:
  • crypto/keys/CryptoKeyAlgorithm.idl:
  • crypto/keys/CryptoKeyEC.cpp:
  • crypto/keys/CryptoKeyEC.h:
  • crypto/keys/CryptoKeyHMAC.cpp:
  • crypto/keys/CryptoKeyHMAC.h:
  • crypto/keys/CryptoKeyRSA.cpp:
  • crypto/keys/CryptoKeyRSA.h:
  • crypto/keys/CryptoKeyRSAComponents.cpp:
  • crypto/keys/CryptoKeyRSAComponents.h:
  • crypto/keys/CryptoKeyRaw.cpp:
  • crypto/keys/CryptoKeyRaw.h:
  • crypto/keys/CryptoRsaHashedKeyAlgorithm.idl:
  • crypto/keys/CryptoRsaKeyAlgorithm.idl:
  • crypto/mac/CommonCryptoDERUtilities.cpp:
  • crypto/mac/CommonCryptoDERUtilities.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
  • crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:
  • crypto/mac/CryptoAlgorithmAES_CTRMac.cpp:
  • crypto/mac/CryptoAlgorithmAES_GCMMac.cpp:
  • crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
  • crypto/mac/CryptoAlgorithmECDHMac.cpp:
  • crypto/mac/CryptoAlgorithmECDSAMac.cpp:
  • crypto/mac/CryptoAlgorithmHKDFMac.cpp:
  • crypto/mac/CryptoAlgorithmHMACMac.cpp:
  • crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp:
  • crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:
  • crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
  • crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:
  • crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:
  • crypto/mac/CryptoAlgorithmRegistryMac.cpp:
  • crypto/mac/CryptoDigestAlgorithm.h:
  • crypto/mac/CryptoKeyECMac.cpp:
  • crypto/mac/CryptoKeyMac.cpp:
  • crypto/mac/CryptoKeyRSAMac.cpp:
  • crypto/mac/SerializedCryptoKeyWrapMac.mm:
  • crypto/parameters/AesCbcCfbParams.idl:
  • crypto/parameters/AesCtrParams.idl:
  • crypto/parameters/AesGcmParams.idl:
  • crypto/parameters/AesKeyParams.idl:
  • crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h:
  • crypto/parameters/CryptoAlgorithmAesCtrParams.h:
  • crypto/parameters/CryptoAlgorithmAesGcmParams.h:
  • crypto/parameters/CryptoAlgorithmAesKeyParams.h:
  • crypto/parameters/CryptoAlgorithmEcKeyParams.h:
  • crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.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:
  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
  • crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
  • crypto/parameters/CryptoAlgorithmRsaPssParams.h:
  • crypto/parameters/EcKeyParams.idl:
  • crypto/parameters/EcdhKeyDeriveParams.idl:
  • crypto/parameters/EcdsaParams.idl:
  • crypto/parameters/HkdfParams.idl:
  • crypto/parameters/HmacKeyParams.idl:
  • crypto/parameters/Pbkdf2Params.idl:
  • crypto/parameters/RsaHashedImportParams.idl:
  • crypto/parameters/RsaHashedKeyGenParams.idl:
  • crypto/parameters/RsaKeyGenParams.idl:
  • crypto/parameters/RsaOaepParams.idl:
  • crypto/parameters/RsaPssParams.idl:
  • dom/Document.cpp:
  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • page/ChromeClient.h:
  • page/Crypto.cpp:

(WebCore::Crypto::Crypto):

  • page/Crypto.h:
  • page/Crypto.idl:
  • platform/GCrypt.cmake:
  • platform/LocalizedStrings.cpp:
  • platform/LocalizedStrings.h:
  • workers/WorkerGlobalScope.cpp:
  • workers/WorkerGlobalScope.h:
  • worklets/WorkletGlobalScope.h:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:
  • pal/PlatformGTK.cmake:
  • pal/PlatformWPE.cmake:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageNavigationClient):

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1:55 PM Changeset in webkit [238753] by dino@apple.com
  • 5 edits
    2 adds in trunk

Add first-class support for .mjs files in jsc binary
https://bugs.webkit.org/show_bug.cgi?id=192190
<rdar://problem/46375715>

Reviewed by Keith Miller.

JSTests:

  • stress/simple-module.mjs: Added.
  • stress/simple-script.js: Added.

Source/JavaScriptCore:

Treat files with a .mjs extension as a module, regardless
of whether or not the --module-file argument was given.

  • jsc.cpp:

(printUsageStatement): Update usage.
(isMJSFile): Helper to look for .mjs extensions.
(CommandLine::parseArguments): Pick the appropriate script type.

Tools:

Add .mjs files to the regexp looking for all JS files.

  • Scripts/run-jsc-stress-tests:
1:27 PM Changeset in webkit [238752] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Settings: reload button needs horizontal spacing
https://bugs.webkit.org/show_bug.cgi?id=192231
<rdar://problem/46274363>

Reviewed by Matt Baker.

  • UserInterface/Views/SettingsTabContentView.css:

(.content-view.settings > .settings-view > .container button):
(.content-view.settings > .settings-view > .container > .title):
(.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
(body[dir=ltr] .content-view.settings > .settings-view > .container > .title): Deleted.
(body[dir=rtl] .content-view.settings > .settings-view > .container > .title): Deleted.
(body[dir=ltr] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]): Deleted.
(body[dir=rtl] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]): Deleted.
Drive-by: replace dir=* attribute rules with -webkit-margin-* properties.

1:18 PM Changeset in webkit [238751] by Wenson Hsieh
  • 5 edits in trunk

Replace "auto fill" with "AutoFill" in some localizable strings
https://bugs.webkit.org/show_bug.cgi?id=192233
<rdar://problem/46311614>

Reviewed by Chris Fleizach.

Source/WebCore:

Replace "autofill" with "AutoFill".

  • en.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

(WebCore::AXAutoFillCredentialsLabel):
(WebCore::AXAutoFillContactsLabel):
(WebCore::AXAutoFillStrongPasswordLabel):
(WebCore::AXAutoFillCreditCardLabel):

LayoutTests:

Rebaseline a test.

  • accessibility/auto-fill-types-expected.txt:
1:13 PM Changeset in webkit [238750] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception opening Web Inspector to Debugger Tab
https://bugs.webkit.org/show_bug.cgi?id=192174

Reviewed by Devin Rousso.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.runAfterPendingDispatches):
Dispatch the callback with a timeout if there is no backend target yet
so it doesn't get lost.

  • UserInterface/Protocol/Connection.js:

(InspectorBackend.Connection.prototype.runAfterPendingDispatches):
Change the ambiguous name "script" to the more familiar "callback".

12:13 PM Changeset in webkit [238749] by Jonathan Bedard
  • 15 edits in trunk/Tools

webkitpy: Use DeviceType instead of str to represent device class
https://bugs.webkit.org/show_bug.cgi?id=192160
<rdar://problem/46344845>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._custom_device_for_test): Use DeviceTypes instead of strings to represent device type.
(Manager._set_up_run): Do not set _options.device_class, use device_type instead of device_class.
(Manager.run): Use device_type instead of device_class.
(Manager._print_expectations_for_subset): Ditto.
(Manager.print_expectations): Ditto.

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:

(ManagerTest.test_uses_custom_device): Use DeviceType and actual device definition.

  • Scripts/webkitpy/layout_tests/views/printing.py:

(Printer.print_workers_and_shards): Outputting the device suffix doesn't really help, and means
device type needs to be passed around.

  • Scripts/webkitpy/port/apple.py:

(ApplePort.setup_test_run): Use device_type instead of device_class.

  • Scripts/webkitpy/port/base.py:

(Port):
(Port.setup_test_run): Use device_type instead of device_class.

  • Scripts/webkitpy/port/device_port.py:

(DevicePort):
(DevicePort.setup_test_run): Receive device_type as DeviceType object.
(DevicePort._create_devices): Deleted.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_test_run): Use device_type instead of device_class.

  • Scripts/webkitpy/port/ios.py:

(IOSPort):

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort):
(IOSSimulatorPort.init): Deleted.
(IOSSimulatorPort._set_device_class): Deleted.

  • Scripts/webkitpy/port/test.py:
  • Scripts/webkitpy/port/watch.py:

(WatchPort):

  • Scripts/webkitpy/port/watch_simulator.py:

(WatchSimulatorPort):
(WatchSimulatorPort.init): Deleted.
(WatchSimulatorPort._set_device_class): Deleted.

  • Scripts/webkitpy/port/win.py:

(WinPort.setup_test_run): Use device_type instead of device_class.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDeviceManager._disambiguate_device_type): Using the existing devices for this is
a problem if no such device exists yet. Use the _device_identifier_to_name dictionary instead
since this should have hardware types in the device names.

11:59 AM Changeset in webkit [238748] by rniwa@webkit.org
  • 61 edits in trunk/Source/WebCore

Add CEReactions=NotNeeded on all the relevant IDL files
https://bugs.webkit.org/show_bug.cgi?id=188368
<rdar://problem/42987753>

Rubber-stamped by Antti Koivisto.

Based on a patch written by Frederic Wang. Added CEReactions=NotNeeded to all the places
we don't need CEReactions because we don't implement customized builtins but are marked with
CEReactions in the HTML specification.

  • html/HTMLAnchorElement.idl:
  • html/HTMLAreaElement.idl:
  • html/HTMLBRElement.idl:
  • html/HTMLBaseElement.idl:
  • html/HTMLBodyElement.idl:
  • html/HTMLButtonElement.idl:
  • html/HTMLCanvasElement.idl:
  • html/HTMLDListElement.idl:
  • html/HTMLDataElement.idl:
  • html/HTMLDetailsElement.idl:
  • html/HTMLDirectoryElement.idl:
  • html/HTMLDivElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFieldSetElement.idl:
  • html/HTMLFontElement.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLFrameSetElement.idl:
  • html/HTMLHRElement.idl:
  • html/HTMLHeadingElement.idl:
  • html/HTMLHtmlElement.idl:
  • html/HTMLHyperlinkElementUtils.idl:
  • html/HTMLImageElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLLIElement.idl:
  • html/HTMLLabelElement.idl:
  • html/HTMLLegendElement.idl:
  • html/HTMLLinkElement.idl:
  • html/HTMLMapElement.idl:
  • html/HTMLMarqueeElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLMenuElement.idl:
  • html/HTMLMetaElement.idl:
  • html/HTMLMeterElement.idl:
  • html/HTMLModElement.idl:
  • html/HTMLOListElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLOptGroupElement.idl:
  • html/HTMLOptionElement.idl:
  • html/HTMLOutputElement.idl:
  • html/HTMLParagraphElement.idl:
  • html/HTMLParamElement.idl:
  • html/HTMLPreElement.idl:
  • html/HTMLProgressElement.idl:
  • html/HTMLQuoteElement.idl:
  • html/HTMLScriptElement.idl:
  • html/HTMLSlotElement.idl:
  • html/HTMLSourceElement.idl:
  • html/HTMLStyleElement.idl:
  • html/HTMLTableCaptionElement.idl:
  • html/HTMLTableCellElement.idl:
  • html/HTMLTableColElement.idl:
  • html/HTMLTableElement.idl:
  • html/HTMLTableRowElement.idl:
  • html/HTMLTableSectionElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/HTMLTimeElement.idl:
  • html/HTMLTrackElement.idl:
  • html/HTMLUListElement.idl:
  • html/HTMLVideoElement.idl:
11:58 AM Changeset in webkit [238747] by ap@apple.com
  • 8 edits in trunk/Source

Move USE_CFNETWORK_IGNORE_HSTS to its proper place
https://bugs.webkit.org/show_bug.cgi?id=192173

Reviewed by Tim Horton.

Source/WebCore:

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::schemeWasUpgradedDueToDynamicHSTS):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(updateIgnoreStrictTransportSecuritySettingIfNecessary):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):

Source/WTF:

  • wtf/Platform.h: Also renamed it to better match other version checks.
11:37 AM Changeset in webkit [238746] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Remove unused WebProcessCreationParameters.uiProcessCookieStorageIdentifier
https://bugs.webkit.org/show_bug.cgi?id=192157

Reviewed by Chris Dumez.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

11:37 AM Changeset in webkit [238745] by achristensen@apple.com
  • 5 edits in trunk/Source/WebKit

Remove privateBrowsingEnabled from NetworkProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=192156

Reviewed by Chris Dumez.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

11:21 AM Changeset in webkit [238744] by basuke.suzuki@sony.com
  • 6 edits
    4 adds in trunk/Source

[Curl] Add API for ProtectionSpace.
https://bugs.webkit.org/show_bug.cgi?id=191648

Reviewed by Alex Christensen.

Source/WebCore:

Create a platform dependent header and implementation files for ProtectionSpace.

No new tests because there's no behavior change.

  • platform/Curl.cmake:
  • platform/network/ProtectionSpace.h:
  • platform/network/curl/ProtectionSpaceCurl.cpp: Added.

(WebCore::ProtectionSpace::certificateInfo const):

  • platform/network/curl/ProtectionSpaceCurl.h: Added.

(WebCore::ProtectionSpace::ProtectionSpace):
(WebCore::ProtectionSpace::encodingRequiresPlatformData const):
(WebCore::ProtectionSpace::platformCompare):

Source/WebKit:

Added API to get certificate information from protection space.

  • PlatformWin.cmake:
  • Shared/curl/WebCoreArgumentCodersCurl.cpp:

(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
(IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData):

  • UIProcess/API/C/curl/WKProtectionSpaceCurl.cpp: Added.

(WKProtectionSpaceCopyCertificateInfo):

  • UIProcess/API/C/curl/WKProtectionSpaceCurl.h: Added.
10:55 AM Changeset in webkit [238743] by Devin Rousso
  • 42 edits in trunk

Web Inspector: replace all unicode characters with the escaped character code
https://bugs.webkit.org/show_bug.cgi?id=192216
<rdar://problem/46275637>

Reviewed by Brian Burg.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/BreakpointPopoverController.js:
  • UserInterface/Debug/UncaughtExceptionReporter.js:
  • UserInterface/Models/AuditTestCase.js:
  • UserInterface/Models/Canvas.js:
  • UserInterface/Models/RecordingAction.js:
  • UserInterface/Models/ScriptTimelineRecord.js:
  • UserInterface/Views/AuditTestCaseContentView.js:
  • UserInterface/Views/AuditTestContentView.js:
  • UserInterface/Views/AuditTestGroupContentView.js:
  • UserInterface/Views/CallFrameView.js:
  • UserInterface/Views/CanvasContentView.js:
  • UserInterface/Views/CanvasOverviewContentView.css:
  • UserInterface/Views/ConsoleMessageView.css:
  • UserInterface/Views/ContextMenuUtilities.js:
  • UserInterface/Views/DOMEventsBreakdownView.js:
  • UserInterface/Views/DataGrid.css:
  • UserInterface/Views/DataGrid.js:
  • UserInterface/Views/DatabaseTableContentView.js:
  • UserInterface/Views/DebuggerDashboardView.css:
  • UserInterface/Views/DebuggerSidebarPanel.js:
  • UserInterface/Views/ErrorObjectView.js:
  • UserInterface/Views/EventBreakpointPopover.js:
  • UserInterface/Views/InlineSwatch.js:
  • UserInterface/Views/LayerTreeDataGridNode.js:
  • UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
  • UserInterface/Views/Layers3DContentView.js:
  • UserInterface/Views/LayoutTimelineDataGridNode.js:
  • UserInterface/Views/NetworkTableContentView.css:
  • UserInterface/Views/NetworkTableContentView.js:
  • UserInterface/Views/ObjectPreviewView.js:
  • UserInterface/Views/ProfileDataGridNode.js:
  • UserInterface/Views/ResourceTimelineDataGridNode.js:
  • UserInterface/Views/ScriptDetailsTimelineView.css:
  • UserInterface/Views/TextEditor.css:
  • UserInterface/Views/TreeOutline.css:

LayoutTests:

  • inspector/audit/data-domAttributes-expected.txt:
  • inspector/audit/data-domNodes-expected.txt:
  • inspector/audit/data-errors-expected.txt:
10:50 AM Changeset in webkit [238742] by david_quesada@apple.com
  • 5 edits in trunk

-[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web view
https://bugs.webkit.org/show_bug.cgi?id=192212
rdar://problem/46363706

Reviewed by Alex Christensen.

Source/WebKit:

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _downloadURLRequest:originatingWebView:]):
(-[WKProcessPool _downloadURLRequest:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:

(-[DownloadProgressTestRunner startDownload:expectedLength:]):

10:14 AM Changeset in webkit [238741] by Justin Fan
  • 16 edits
    6 copies in trunk

[WebGPU] Flesh out WebGPURenderPassDescriptor to match the WebGPU IDL
https://bugs.webkit.org/show_bug.cgi?id=192213

Reviewed by Dean Jackson.

Source/WebCore:

WebGPU prototype now uses WebGPURenderPassColorAttachmentDescriptor in WebGPURenderPassDescriptor to match the WebGPU Sketch.
WebGPU developer can now also set the clearColor in WebGPURenderPassDescriptor.

No new tests. Older WebGPURenderPass* tests updated.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/webgpu/WebGPUColor.h: Added. Typedef'd to GPUColor.h.
  • Modules/webgpu/WebGPUColor.idl: Added.
  • Modules/webgpu/WebGPUCommandBuffer.cpp:

(WebCore::WebGPUCommandBuffer::beginRenderPass): Updated to error check and support the new structure of WebGPURenderPassDescriptor.

  • Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.h: Added.
  • Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.idl: Added.
  • Modules/webgpu/WebGPURenderPassDescriptor.h:
  • Modules/webgpu/WebGPURenderPassDescriptor.idl: Updated to match the sketch IDL.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/gpu/GPUColor.h: Added.
  • platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.h: Added. Backing struct for WebGPU.
  • platform/graphics/gpu/GPURenderPassDescriptor.h: Updated to match new WebGPURenderPassDescriptor.
  • platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:

(WebCore::GPURenderPassEncoder::create): Now also uses clearColor set by developer.

LayoutTests:

Updating some tests to match the updated WebGPURenderPassDescriptor.

  • webgpu/js/basic-webgpu-functions.js:

(render):

  • webgpu/render-command-encoding.html:
  • webgpu/render-passes.html:
9:41 AM Changeset in webkit [238740] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Remove invalid character in sandbox introduced in r238703.

Unreviewed sandbox fix.

  • WebProcess/com.apple.WebProcess.sb.in:
9:09 AM Changeset in webkit [238739] by aestes@apple.com
  • 15 edits
    2 adds in trunk/Source

[Cocoa] Add some WKA extension points
https://bugs.webkit.org/show_bug.cgi?id=192131
<rdar://problem/46330293>

Reviewed by Tim Horton.

Source/WebCore:

  • DerivedSources.make: Added an extension point for derived sources.
  • Modules/applepay/PaymentCoordinatorClient.h: Added an extension point for

PaymentCoordinatorClient.

  • SourcesCocoa.txt: Added WebCoreAdditions.mm as a non-unified source.
  • WebCore.xcodeproj/project.pbxproj: Added WebCoreAdditions.mm.
  • bindings/js/WebCoreBuiltinNames.h: Added an extension point for built-in names.
  • page/SettingsBase.h: Added an extension point for settings.
  • platform/cocoa/WebCoreAdditions.mm: Added.

Source/WebKit:

  • DerivedSources.make: Added an extension point for WebPreferences.yaml.
  • Platform/IPC/MessageSender.h:

(IPC::MessageSender::sendWithAsyncReply): Send async messages via IPC::MessageSender.

  • Platform/cocoa/WebKitAdditions.mm: A an extension point for additional WebKit sources.
  • SourcesCocoa.txt: Added WebKitAdditions.mm as non-unified source.
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::WebPaymentCoordinatorProxy): Called finishConstruction.

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: Added an extension point for

WebPaymentCoordinatorProxy.

  • WebKit.xcodeproj/project.pbxproj: Added WebKitAdditions.mm.
  • WebProcess/ApplePay/WebPaymentCoordinator.h: Added an extension point for

WebPaymentCoordinator.

8:21 AM Changeset in webkit [238738] by calvaris@igalia.com
  • 7 edits in trunk/Source/WebCore

[GStreamer][EME] CDMInstance should be shipped as a GstContext to the decryptors
https://bugs.webkit.org/show_bug.cgi?id=192075

Reviewed by Philippe Normand.

So far, we were shipping the CDMInstance in an event to the
decryptors and they were requesting it with bus messages when it
was not found. Now we ship it with a GstContext that is set to the
pipeline and read from the decryptors, which is now always
available.

As a consequence of changing this flow, the attemptToDecrypt one
was affected as well because it was tied to CDMInstance
shipment. A workaround was added: when the decryptors send the
waitingForKey, an attemptToDecrypt will be performed. A FIXME was
added for this. A subconsequence is that
attemptToDecryptWithInstance is reworked to rely always in
attemptToDecryptWithLocal instance, the former becomes final and
the latter virtual.

This is a rework, no new tests needed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceAttached):
(WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceDetached):
(WebCore::MediaPlayerPrivateGStreamerBase::attemptToDecryptWithLocalInstance):
(WebCore::MediaPlayerPrivateGStreamerBase::dispatchCDMInstance): Deleted.

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

(webkit_media_common_encryption_decrypt_class_init):
(webkitMediaCommonEncryptionDecryptTransformInPlace):
(webkitMediaCommonEncryptionDecryptIsCDMInstanceAvailable):
(webkitMediaCommonEncryptionDecryptSinkEventHandler):
(webKitMediaCommonEncryptionDecryptorSetContext):

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

(WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithLocalInstance):
(WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance): Deleted.

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
7:26 AM Changeset in webkit [238737] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC][BFC] Compute min/maxHeight margins only when they are needed.
https://bugs.webkit.org/show_bug.cgi?id=192223

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/block/block-only/collapsed-margin-with-min-height.html

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:

LayoutTests:

  • fast/block/block-only/collapsed-margin-with-min-height-expected.txt: Added.
  • fast/block/block-only/collapsed-margin-with-min-height.html: Added.
7:24 AM Changeset in webkit [238736] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][BFC] Geometry::inFlowNonReplacedHeightAndMargin should check for empty inline formatting context.
https://bugs.webkit.org/show_bug.cgi?id=192215

Reviewed by Antti Koivisto.

Check if the inline formatting context actually has any lines.

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):

7:22 AM Changeset in webkit [238735] by Alan Bujtas
  • 6 edits in trunk

[LFC][BFC][MarginCollapsing] Do not use computed display box values for border and padding
https://bugs.webkit.org/show_bug.cgi?id=192214

Reviewed by Antti Koivisto.

Source/WebCore:

Border and padding values are not necessarily computed yet when we try to estimate the margin top value. Estimating margin top is required
to be able to place floats (vertically) sooner than we would compute the final vertical position for a regular block box.

<body><div style="float: left"></div><div><div style="margin: 10px;"></div></div>

In the above example, to estimate a final vertical position of the floating box, we need to know whether the nested div's margin is collapsed
all the way up to the body. However in order to find it out we need to check for borders and paddings (they stop margin collapsing).
At the time when the floating box is being laied out, those <div> block boxes are still far down in the layout queue.

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::hasBorder):
(WebCore::Layout::hasPadding):
(WebCore::Layout::hasBorderBefore):
(WebCore::Layout::hasBorderAfter):
(WebCore::Layout::hasPaddingBefore):
(WebCore::Layout::hasPaddingAfter):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginTopCollapsedWithParent):
(WebCore::Layout::isMarginBottomCollapsedThrough):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginTop):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginBottom):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginBottomCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::collapsedMarginBottomFromLastChild):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:
6:52 AM Changeset in webkit [238734] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][MiniBrowser] Handle Device Info permission requests
https://bugs.webkit.org/show_bug.cgi?id=191585

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-30
Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserTab.c:

(permissionRequestDataNew):
(permissionRequestDataFree):
(permissionRequestDialogResponse):
(decidePermissionRequest):
(browserTabConstructed):

5:25 AM Changeset in webkit [238733] by Carlos Garcia Campos
  • 1686 edits
    1 copy
    23 adds in trunk/LayoutTests

Unreviewed GTK+ gardening. Stop running tests without complex text enforced

Rebaseline tests. Part 3.

5:24 AM Changeset in webkit [238732] by Caio Lima
  • 28 edits
    3 adds in trunk

[BigInt] Implement ValueBitXor into DFG
https://bugs.webkit.org/show_bug.cgi?id=190264

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/big-int-bitwise-xor-jit.js: Added.
  • stress/big-int-bitwise-xor-memory-stress.js: Added.
  • stress/big-int-bitwise-xor-untyped.js: Added.

Source/JavaScriptCore:

This patch is splitting the BitXor node into ArithBitXor and
ValueBitXor. This is necessary due the introduction of
BigInt, since BitXor operations now can result into Int32 or BigInt.
In such case, we use ArithBitXor when operands are Int and fallback to
ValueBitXor when operands are anything else. In the case of
ValueBitXor, we speculate BigInt when op1 and op2 are predicted as
BigInt as well. BigInt specialization consist into call
operationBigIntBitXor function, that calls JSBigInt::bitXor.

  • bytecode/BytecodeList.rb:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::arithProfileForPC):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecompiler/BytecodeGenerator.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileValueBitwiseOp):
(JSC::DFG::SpeculativeJIT::compileBitwiseOp):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::bitOp):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor):
(JSC::FTL::DFG::LowerDFGToB3::compileArithBitXor):
(JSC::FTL::DFG::LowerDFGToB3::compileBitXor): Deleted.

  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_bitxor):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

4:51 AM Changeset in webkit [238731] by Carlos Garcia Campos
  • 1855 edits
    9 adds
    4 deletes in trunk/LayoutTests

Unreviewed GTK+ gardening. Stop running tests without complex text enforced

Rebaseline tests. Part 2.

4:40 AM Changeset in webkit [238730] by Carlos Garcia Campos
  • 1857 edits
    1 copy
    6 adds in trunk

Unreviewed GTK+ gardening. Stop running tests without complex text enforced

Tools:

We have enforced complex text in GTK+ for one release cycle without noticing any major issue nor performance
regression.

  • WebKitTestRunner/gtk/main.cpp:

(main):

LayoutTests:

Rebaseline tests. Part 1.

4:28 AM Changeset in webkit [238729] by fred.wang@free.fr
  • 2 edits in trunk/Source/WebKit

[WebAuthN] Support CTAP HID authenticators on macOS
https://bugs.webkit.org/show_bug.cgi?id=188623

Unreviewed build fix.

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-30

  • UIProcess/WebAuthentication/Cocoa/HidConnection.mm: Add missing header.

Nov 29, 2018:

11:22 PM Changeset in webkit [238728] by Wenson Hsieh
  • 10 edits in trunk

REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
https://bugs.webkit.org/show_bug.cgi?id=192165
<rdar://problem/46346682>

Reviewed by Daniel Bates.

Source/WebKit:

Fixes a bug in PageClientImpl::isViewFocused. Consider the following scenario:

  1. WKWebView is hosted within the view hierarchy
  2. First responder is *not* WKContentView
  3. The active focus retain count is nonzero

Before r238635, we would return true, due to condition (3). However, after r238635, we only consider whether the
first responder is WKContentView, since the web view is in the view hierarchy. This breaks scenarios where
WebKit or UIKit attempts to retain focus and later restore the content view to be the first responder (an
example of this is dragging a text selection between editable elements in the same web view).

To fix this, simply bail early and return true if focus is being retained.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewFocused):

Tools:

Fixes 11 API tests that started failing or timing out after r238635. See below for more details.

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:

(TestWebKitAPI::webViewForEditActionTesting):
(TestWebKitAPI::webViewForEditActionTestingWithPageNamed):

Ensure that the web view becomes first responder before executing edit actions.

  • TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
  • TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html:

Tweak these tests to allow selected content to overflow the width of the web view. Without this change,
ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes
the body to scroll horizontally, so we miss the drop destination.

  • TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:

(loadTestPageAndEnsureInputSession):

Add a new helper to load a test page with a given name, become first responder, and wait until an input session
starts. Use this in various drag and drop tests to reduce code duplication.

  • TestWebKitAPI/cocoa/DragAndDropSimulator.h:
  • TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:

(-[DragAndDropSimulator initWithWebView:]):
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator _advanceProgress]):

To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear
the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that
regressed with r238635.

(-[DragAndDropSimulator ensureInputSession]):
(-[DragAndDropSimulator _webView:didStartInputSession:]):
(-[DragAndDropSimulator waitForInputSession]): Deleted.

Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply
wait for an input session to start if needed.

  • TestWebKitAPI/ios/UIKitSPI.h:

Add a new SPI declaration.

10:35 PM Changeset in webkit [238727] by commit-queue@webkit.org
  • 14 edits in trunk

Separate paint and scroll offsets for RenderLayerBacking::m_scrollingContentsLayer
https://bugs.webkit.org/show_bug.cgi?id=183040

Source/WebCore:

Currently, scroll offset of RenderLayerBacking::m_scrollingContentsLayer is stored in the
GraphicsLayer::m_offsetFromRenderer member used for paint offset. This patch separates these
two concept by introducing a new GraphicsLayer::m_scrollOffset for the scroll offset. This
makes the API a little bit cleaner, the code easier to understand and might avoid unnecessary
repaints in composited scroll.

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-29
Reviewed by Simon Fraser.

No new tests, already covered by existing tests.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::setScrollOffset): Setter function to update the scroll offset
of the content layer inside its scrolling parent layer. Ask a repaint if it has changed and
is requested by the caller.
(WebCore::GraphicsLayer::paintGraphicsLayerContents): Take into account the scroll offset
when painting.
(WebCore::GraphicsLayer::dumpProperties const): Dump the scroll offset property.

  • platform/graphics/GraphicsLayer.h: Include ScrollableArea for the ScrollOffset typedef.

Add member for the scroll offset of the content layer inside its scrolling parent layer.
(WebCore::GraphicsLayer::scrollOffset const): Getter function.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry): Do not include the scroll offset in the
paint offset of m_scrollingContentsLayer since it is now taken into account in
paintGraphicsLayerContents. Update the scroll offset of m_scrollingContentsLayer separately.
Leave the paint offset of m_foregroundLayer unchanged.
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Take into account the scroll
offset of m_scrollingContentsLayer when calculating the dirty rect.

LayoutTests:

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-29
Reviewed by Simon Fraser.

Update expectations containing layer trees of RenderLayerBacking::m_scrollingContentsLayer, to separate offsetFromRenderer and
scrollOffset. We have OLD offsetFromRenderer = NEW offsetFromRenderer - scrollOffset.

  • compositing/ios/overflow-scroll-touch-tiles-expected.txt:
  • fast/scrolling/ios/overflow-scroll-touch-expected.txt:
  • fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt:
  • platform/ios/compositing/overflow/scrolling-without-painting-expected.txt:
  • platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt:
  • platform/ios/compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
  • platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt:
  • platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt:
  • platform/ios/fast/scrolling/ios/textarea-scroll-touch-expected.txt:
10:31 PM Changeset in webkit [238726] by timothy_horton@apple.com
  • 13 edits
    1 copy in trunk

Inform clients when editable image attachment backing data changes
https://bugs.webkit.org/show_bug.cgi?id=192206
<rdar://problem/46350277>

Reviewed by Wenson Hsieh.

Source/WebKit:

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::Attachment::invalidateGeneratedFileWrapper):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didInvalidateDataForAttachment:]):

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

(WebKit::PageClientImplCocoa::didInvalidateDataForAttachment):

  • UIProcess/PageClient.h:

(WebKit::PageClient::didInvalidateDataForAttachment):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didInvalidateDataForAttachment):

  • UIProcess/WebPageProxy.h:

Plumb file-wrapper-invalidation through from APIAttachment to WKUIDelegate.

Tools:

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

(-[AttachmentUpdateObserver init]):
(-[AttachmentUpdateObserver dataInvalidated]):
(-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation):
(webViewForTestingAttachments):
(TestWebKitAPI::forEachViewInHierarchy):
(TestWebKitAPI::findEditableImageCanvas):
(TestWebKitAPI::drawSquareInEditableImage):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/ios/PencilKitTestSPI.h: Added.

Add a test ensuring that we get an invalidation callback when an editable image is changed.

7:47 PM Changeset in webkit [238725] by Simon Fraser
  • 3 edits
    2 adds in trunk

Overflow scrolling layers need to be self-painting
https://bugs.webkit.org/show_bug.cgi?id=192201

Reviewed by Dean Jackson.
Source/WebCore:

Overflow scrolling layers paint their contents, so need to be self-painting in the RenderLayer sense.

Without this change, the overflow in the testcase doesn't get any compositing layers.

Test: compositing/scrolling/overflow-scrolling-layers-are-self-painting.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

LayoutTests:

  • compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt: Added.
  • compositing/scrolling/overflow-scrolling-layers-are-self-painting.html: Added.
7:15 PM Changeset in webkit [238724] by eric.carlson@apple.com
  • 8 edits in trunk

[MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents
https://bugs.webkit.org/show_bug.cgi?id=192182

Reviewed by Youenn Fablet.

Source/WebKit:

  • UIProcess/DeviceIdHashSaltStorage.cpp:

(WebKit::DeviceIdHashSaltStorage::deviceIdHashSaltForOrigin): Key off of request and top
level documents.
(WebKit::DeviceIdHashSaltStorage::deleteDeviceIdHashSaltForOrigins): Ditto.

  • UIProcess/DeviceIdHashSaltStorage.h:

(WebKit::DeviceIdHashSaltStorage::HashSaltForOrigin::HashSaltForOrigin):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Pass both documents.
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Ditto.
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Ditto.

LayoutTests:

  • http/tests/media/media-stream/enumerate-devices-source-id-expected.txt:
  • http/tests/media/media-stream/enumerate-devices-source-id.html:
  • http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html:
6:16 PM Changeset in webkit [238723] by chris.reid@sony.com
  • 4 edits in trunk

[Win] listDirectory in FileSystemWin.cpp should not skip all directories
https://bugs.webkit.org/show_bug.cgi?id=192042

Reviewed by Fujii Hironori.

Source/WebCore:

Covered by existing tests.

listDirectory is not returning any child directories which is causing
ASSERT(diskUsage >= databaseFileSize) in SQLiteIDBBackingStore.cpp to fail.

Change listDirectory in FileSystemWin to match FileSystemPOSIX's behavior.
listDirectory should only skip the current and previous directories.

  • platform/win/FileSystemWin.cpp:

LayoutTests:

Enable storage tests on WinCairo and adding initial test expectations.

  • platform/wincairo/TestExpectations:
5:50 PM Changeset in webkit [238722] by Ryan Haddad
  • 15 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r238713.

Breaks internal builds.

Reverted changeset:

"[Cocoa] Add some WKA extension points"
https://bugs.webkit.org/show_bug.cgi?id=192131
https://trac.webkit.org/changeset/238713

5:45 PM Changeset in webkit [238721] by Kocsen Chung
  • 2 edits in tags/Safari-607.1.15.1/Source/WebKit

Cherry-pick r238712. rdar://problem/46360649

Try to fix the build.

  • Platform/spi/ios/PencilKitSPI.h:

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

5:32 PM Changeset in webkit [238720] by Ryan Haddad
  • 6 edits in trunk

Unreviewed, rolling out r238680.

Caused existing webrtc layout tests to fail an assertion.

Reverted changeset:

"A sender created through addTransceiver and populated using
addTrack should have its source set"
https://bugs.webkit.org/show_bug.cgi?id=192136
https://trac.webkit.org/changeset/238680

5:22 PM Changeset in webkit [238719] by Fujii Hironori
  • 2 edits in trunk/Tools

REGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
https://bugs.webkit.org/show_bug.cgi?id=192143

Reviewed by Philippe Normand.

Buildbot can't start since r238445.

Configuration Errors:

Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
Unknown builder 'GTK Linux ARM Release' in scheduler 'trunk'

  • BuildSlaveSupport/build.webkit.org-config/config.json: Removed deprecated builders.
5:19 PM Changeset in webkit [238718] by Justin Fan
  • 2 edits in trunk/Source/WebCore

Remove dangling WebGPU file references from WebCore project
https://bugs.webkit.org/show_bug.cgi?id=192185

Unreviewed project file gardening.

No new tests.

  • WebCore.xcodeproj/project.pbxproj:
5:02 PM Changeset in webkit [238717] by Keith Rollin
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

r238637 introduced some DerivedSources.make changes that could produce
some invalid .idl files, leading to IDLParser.pm error messages.

  • DerivedSources.make:
4:59 PM Changeset in webkit [238716] by Kocsen Chung
  • 7 edits in tags/Safari-607.1.15.1/Source

Versioning.

4:55 PM Changeset in webkit [238715] by Simon Fraser
  • 8 edits in trunk/Source

Add an internal feature flag to enable async overflow scrolling
https://bugs.webkit.org/show_bug.cgi?id=192184

Reviewed by Tim Horton.

Add a new internal feature flag that will enable async overflow-scrolling for
most overflow:scroll elements. Defaults to off.
Source/WebCore:

Make the "UseAcceleratedTouchScrolling" terminology in RenderLayer etc be more generic,
and refer to async overflow scrolling.

  • page/Settings.yaml:
  • rendering/RenderLayer.cpp:

(WebCore::canCreateStackingContext): Remove a line which is not necessary, since -webkit-overflow-scrolling: touch
already triggers non-auto z-index via code in StyleResolver::adjustRenderStyle().
(WebCore::RenderLayer::canUseCompositedScrolling const):
(WebCore::RenderLayer::hasCompositedScrollableOverflow const):
(WebCore::RenderLayer::handleTouchEvent):
(WebCore::RenderLayer::usesAsyncScrolling const):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
(WebCore::RenderLayer::showsOverflowControls const):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::canUseAcceleratedTouchScrolling const): Deleted.
(WebCore::RenderLayer::hasTouchScrollableOverflow const): Deleted.

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const):
(WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer const):
(WebCore::RenderLayerCompositor::useCoordinatedScrollingForLayer const):

Source/WebKit:

  • Shared/WebPreferences.yaml:
4:54 PM Changeset in webkit [238714] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.15.1

New tag.

4:50 PM Changeset in webkit [238713] by aestes@apple.com
  • 15 edits
    2 adds in trunk/Source

[Cocoa] Add some WKA extension points
https://bugs.webkit.org/show_bug.cgi?id=192131
<rdar://problem/46330293>

Reviewed by Tim Horton.

Source/WebCore:

  • DerivedSources.make: Added an extension point for derived sources.
  • Modules/applepay/PaymentCoordinatorClient.h: Added an extension point for

PaymentCoordinatorClient.

  • SourcesCocoa.txt: Added WebCoreAdditions.mm as a non-unified source.
  • WebCore.xcodeproj/project.pbxproj: Added WebCoreAdditions.mm.
  • bindings/js/WebCoreBuiltinNames.h: Added an extension point for built-in names.
  • page/SettingsBase.h: Added an extension point for settings.
  • platform/cocoa/WebCoreAdditions.mm: Added.

Source/WebKit:

  • DerivedSources.make: Added an extension point for WebPreferences.yaml.
  • Platform/IPC/MessageSender.h:

(IPC::MessageSender::sendWithAsyncReply): Send async messages via IPC::MessageSender.

  • Platform/cocoa/WebKitAdditions.mm: A an extension point for additional WebKit sources.
  • SourcesCocoa.txt: Added WebKitAdditions.mm as non-unified source.
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::WebPaymentCoordinatorProxy): Called finishConstruction.

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: Added an extension point for

WebPaymentCoordinatorProxy.

  • WebKit.xcodeproj/project.pbxproj: Added WebKitAdditions.mm.
  • WebProcess/ApplePay/WebPaymentCoordinator.h: Added an extension point for

WebPaymentCoordinator.

4:45 PM Changeset in webkit [238712] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Try to fix the build.

  • Platform/spi/ios/PencilKitSPI.h:
4:39 PM Changeset in webkit [238711] by Matt Baker
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: RTL: disclosure triangles should be flipped and aligned right
https://bugs.webkit.org/show_bug.cgi?id=192089
<rdar://problem/46316753>

Reviewed by Devin Rousso.

  • UserInterface/Views/ComputedStyleSection.css:

(.computed-style-section .computed-property-item .disclosure-button):
(body[dir=rtl] .computed-style-section .computed-property-item .disclosure-button):

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message.expandable .console-top-level-message::before):
(body[dir=rtl] .console-message.expandable .console-top-level-message::before):

  • UserInterface/Views/ErrorObjectView.css:

(.error-object > .formatted-error::before):
(body[dir=rtl] .error-object > .formatted-error::before):
(.error-object .content):

  • UserInterface/Views/LogContentView.css:

(.console-group-title::before):
(body[dir=ltr] .console-group-title::before):
(body[dir=rtl] .console-group-title::before):

  • UserInterface/Views/ObjectTreeView.css:

(body[dir=rtl] .object-tree > :matches(.title, .object-preview)::before):

  • UserInterface/Views/TypeTreeElement.css:

(body[dir=rtl] .item.type-tree-element.parent > .disclosure-button):

4:38 PM Changeset in webkit [238710] by david_quesada@apple.com
  • 22 edits
    2 copies
    2 adds in trunk

Add SPI to publish NSProgress on active downloads
https://bugs.webkit.org/show_bug.cgi?id=192021
rdar://problem/44405661

Reviewed by Alex Christensen.

Source/WebCore/PAL:

Add an SPI header for NSProgress's publishing and unpublishing methods. In older
SDKs, these methods are explicitly unavailable on platforms other than macOS,
with underscore-prefixed versions available as SPI. In newer SDKs, the unprefixed
versions are SPI and the prefixed versions are deprecated.

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cocoa/NSProgressSPI.h:

Source/WebKit:

Make it possible for clients to allow other processes to monitor the state of active
downloads. On Cocoa platforms, this can be done by creating an NSProgress, publishing
it on an appropriate file URL (potentially a different file URL than where the download
data is being written), updating properties on it as the download makes progress, and
wiring up a cancellation handler that allows it to be remotely canceled. Interested
clients can then subscribe to progress on that URL and receive a proxy to the progress
that WebKit publishes.

  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::~Download):
(WebKit::Download::platformDestroyDownload):

Add a platform-customizable hook for destructing the Download. DownloadCocoa.mm
will interact with its Objective-C NSProgress instance at this point.

  • NetworkProcess/Downloads/Download.h:
  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::dataTaskBecameDownloadTask):

See comments for publishDownloadProgress().

(WebKit::DownloadManager::publishDownloadProgress):

If the provided downloadID corresponds to a non-Pending Download, hand the URL
and a matching sandbox extension to the Download so it can create its progress.
Otherwise, store the URL and sandbox extension on the PendingDownload to be used
later when the full Download is created. When this happens, dataTaskBecameDownloadTask()
will tell the PendingDownload about the Download it has become. The PendingDownload
will then relay the progress URL and sandbox extension to the Download.

  • NetworkProcess/Downloads/DownloadManager.h:
  • NetworkProcess/Downloads/PendingDownload.cpp:

(WebKit::PendingDownload::publishProgress):

Store the progress info for later use, when the proper Download is created.

(WebKit::PendingDownload::didBecomeDownload):

If there was a progress URL provided earlier, tell the Download corresponding to this
PendingDownload to publish its progress using that URL.

  • NetworkProcess/Downloads/PendingDownload.h:
  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:

(WebKit::Download::platformDestroyDownload):

When the Download is destroyed (i.e. when the download succeeds, fails, or is canceled),
unpublish the progress, since there is no longer any activity to report.

(WebKit::Download::publishProgress):

Resolve the sandbox extension, create a progress configured to reflect the progress of
this Download's NSURLSessionDownloadTask, and publish it at the given file URL.

  • NetworkProcess/Downloads/cocoa/WKDownloadProgress.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownload.h.
  • NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm: Added.

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

Configure this progress, start observing properties on the download task that this
progress will reflect, and connect the cancellation handler of the progress to cancel
the corresponding Download.

(-[WKDownloadProgress publish]):
(-[WKDownloadProgress unpublish]):

Override these methods to consume and revoke the sandbox extension to make sure the
process has access to the progress file while the progress will be published.

(-[WKDownloadProgress dealloc]):
(-[WKDownloadProgress observeValueForKeyPath:ofObject:change:context:]):

When either byte count (number received, or number expected to receive) of the download
task changes, update this progress to reflect that.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::publishDownloadProgress):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Allow looking up the services that manages published NSProgresses.

  • UIProcess/API/Cocoa/_WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownload.mm:

(-[_WKDownload publishProgressAtURL:]):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::publishProgress):

  • UIProcess/Downloads/DownloadProxy.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Add API tests to exercise the progress-publishing functionality in a variety of scenarios.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: Added.

(+[DownloadProgressTestProtocol registerProtocolForTestRunner:]):
(+[DownloadProgressTestProtocol unregisterProtocol]):
(+[DownloadProgressTestProtocol canInitWithRequest:]):
(+[DownloadProgressTestProtocol canonicalRequestForRequest:]):
(+[DownloadProgressTestProtocol requestIsCacheEquivalent:toRequest:]):
(-[DownloadProgressTestProtocol startLoading]):
(-[DownloadProgressTestProtocol stopLoading]):
(-[DownloadProgressTestRunner init]):
(-[DownloadProgressTestRunner startLoadingWithProtocol:]):
(-[DownloadProgressTestRunner tearDown]):
(-[DownloadProgressTestRunner _didGetProgress:]):
(-[DownloadProgressTestRunner _didLoseProgress]):
(-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
(-[DownloadProgressTestRunner waitToLoseProgress]):
(-[DownloadProgressTestRunner startDownload:expectedLength:]):
(-[DownloadProgressTestRunner publishProgress]):
(-[DownloadProgressTestRunner receiveData:]):
(-[DownloadProgressTestRunner finishDownloadTask]):
(-[DownloadProgressTestRunner failDownloadTask]):
(-[DownloadProgressTestRunner waitForDownloadDidCreateDestination]):
(-[DownloadProgressTestRunner waitForDownloadFinished]):
(-[DownloadProgressTestRunner waitForDownloadCanceled]):
(-[DownloadProgressTestRunner waitForDownloadFailed]):
(-[DownloadProgressTestRunner waitForUpdatedCompletedUnitCount]):
(-[DownloadProgressTestRunner observeValueForKeyPath:ofObject:change:context:]):
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[DownloadProgressTestRunner _downloadDidStart:]):
(-[DownloadProgressTestRunner _download:didCreateDestination:]):
(-[DownloadProgressTestRunner _downloadDidFinish:]):
(-[DownloadProgressTestRunner _downloadDidCancel:]):
(-[DownloadProgressTestRunner _download:didFailWithError:]):
(-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(TEST):

4:34 PM Changeset in webkit [238709] by Alan Coon
  • 7 edits in branches/safari-606.4.1.2-branch/Source

Versioning.

4:32 PM Changeset in webkit [238708] by timothy_horton@apple.com
  • 18 edits
    4 adds in trunk/Source

Make drawing tools available when an editable image is focused
https://bugs.webkit.org/show_bug.cgi?id=192172
<rdar://problem/30337960>

Reviewed by Dean Jackson.

  • Platform/spi/ios/PencilKitSPI.h:

Add some more SPI.

  • Shared/AssistedNodeInformation.cpp:

(WebKit::AssistedNodeInformation::encode const):
(WebKit::AssistedNodeInformation::decode):

  • Shared/AssistedNodeInformation.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleStylusSingleTapAtPoint):
(WebKit::isAssistableElement):
(WebKit::WebPage::getAssistedNodeInformation):
Plumb the assisted node's embedded view ID, if available.
Also add a new input type for drawings, and use it when appropriate.

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/_WKFocusedElementInfo.h:

Add WKInputTypeDrawing.

  • UIProcess/ios/PencilKitSoftLink.h: Added.
  • UIProcess/ios/PencilKitSoftLink.mm: Added.

Pull soft-linking out into its own file, to fix unified sources.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFocusedElementInfo initWithAssistedNodeInformation:isUserInitiated:userObject:]):
(-[WKContentView _requiresKeyboardWhenFirstResponder]):
(-[WKContentView requiresAccessoryView]):
Install a keyboard when a drawing is focused.
Also, deduplicate one "curretUserInterfaceIdiomIsPad"; just fall through.

(-[WKContentView inputView]):
Make a WKInkPickerControl when a drawing is focused.

(-[WKContentView textInputTraits]):
(isAssistableInputType):

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

(-[WKDrawingView initWithEmbeddedViewID:webPageProxy:]):
(-[WKDrawingView PNGRepresentation]):
(-[WKDrawingView loadDrawingFromPNGRepresentation:]):
Adopt PencilKitSoftLink.

(-[WKDrawingView canvasView]):
Expose the internal canvas view for use by WKInkPickerControl.

  • UIProcess/ios/WKInkPickerControl.h: Copied from Source/WebKit/Platform/spi/ios/PencilKitSPI.h.
  • UIProcess/ios/WKInkPickerControl.mm: Added.

(-[WKInkPickerView initWithFrame:drawingView:]):
(-[WKInkPickerView didPickInk]):
(-[WKInkPickerView inlineInkPickerDidToggleRuler:]):
(-[WKInkPickerView inlineInkPicker:didSelectTool:]):
(-[WKInkPickerView inlineInkPicker:didSelectColor:]):
(-[WKInkPickerView inkPickerSize]):
(-[WKInkPickerView layoutSubviews]):
(-[WKInkPickerView sizeThatFits:]):
(-[WKInkPickerView viewControllerForPopoverPresentationFromInlineInkPicker:]):
(-[WKInkPickerControl initWithDrawingView:]):
(-[WKInkPickerControl beginEditing]):
(-[WKInkPickerControl endEditing]):
(-[WKInkPickerControl assistantView]):
Install and hook up a PKInlineInkPicker.
Center it in the keyboard.
Plumb changes through to the canvas view.

  • WebKit.xcodeproj/project.pbxproj:
  • editing/Editor.cpp:

(WebCore::Editor::insertEditableImage):

  • editing/Editor.h:
  • editing/InsertEditableImageCommand.cpp:

(WebCore::InsertEditableImageCommand::insertEditableImage):
(WebCore::InsertEditableImageCommand::doApply):

  • editing/InsertEditableImageCommand.h:

Add InsertEditableImageCommand::insertEditableImage, which returns the
inserted image element.

  • html/HTMLImageElement.h:

Make HTMLImageElement focusable if it is editable.

4:28 PM Changeset in webkit [238707] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION (r238090): [ MacOS WK1 ] Layout Test imported/blink/compositing/squashing/squashing-into-ancestor-painted-layer.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=191639

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations: Mark test as flaky.
4:03 PM Changeset in webkit [238706] by Alan Coon
  • 7 edits in branches/safari-606-branch/Source

Versioning.

4:02 PM Changeset in webkit [238705] by Alan Coon
  • 1 copy in tags/Safari-606.4.2

Tag Safari-606.4.2.

3:51 PM Changeset in webkit [238704] by ap@apple.com
  • 2 edits in trunk/Tools

Exception in bot watcher's dashboard if a hidden platform in no longer configured for display
https://bugs.webkit.org/show_bug.cgi?id=185527

Reviewed by Aakash Jain.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(updateHiddenPlatforms):

3:28 PM Changeset in webkit [238703] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Add logging for some sandbox entries.
https://bugs.webkit.org/show_bug.cgi?id=192126

Reviewed by Brent Fulgham.

Add logging for sandbox entries which are possibly not needed.

  • WebProcess/com.apple.WebProcess.sb.in:
3:27 PM Changeset in webkit [238702] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix _WKWebsiteDataStoreConfiguration. sourceApplicationBundleIdentifier and sourceApplicationSecondaryIdentifier SPI introduced in r235127
https://bugs.webkit.org/show_bug.cgi?id=192191

Reviewed by Andy Estes.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
When trying to adopt the new SPI and verify it worked, I found that the strings are not copied in one place where they should be.

3:23 PM Changeset in webkit [238701] by Alan Bujtas
  • 7 edits
    8 adds in trunk

[LFC][BFC][Quirk] Body and html height stretching.
https://bugs.webkit.org/show_bug.cgi?id=192154

Reviewed by Antti Koivisto.

Source/WebCore:

This patch takes the document box's margin/border/padding into account when stretching html/body to the height of the initial containing block.

Tests: fast/block/block-only/body-height-with-auto-html-height-quirk.html

fast/block/block-only/body-height-with-auto-html-height-quirk2.html
fast/block/block-only/body-height-with-non-auto-html-height-quirk.html
fast/block/block-only/body-height-with-non-auto-html-height-quirk2.html

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::estimatedMarginBottom):

  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::stretchedHeight):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:

LayoutTests:

  • fast/block/block-only/body-height-with-auto-html-height-quirk-expected.txt: Added.
  • fast/block/block-only/body-height-with-auto-html-height-quirk.html: Added.
  • fast/block/block-only/body-height-with-auto-html-height-quirk2-expected.txt: Added.
  • fast/block/block-only/body-height-with-auto-html-height-quirk2.html: Added.
  • fast/block/block-only/body-height-with-non-auto-html-height-quirk-expected.txt: Added.
  • fast/block/block-only/body-height-with-non-auto-html-height-quirk.html: Added.
  • fast/block/block-only/body-height-with-non-auto-html-height-quirk2-expected.txt: Added.
  • fast/block/block-only/body-height-with-non-auto-html-height-quirk2.html: Added.
3:18 PM Changeset in webkit [238700] by Justin Fan
  • 3 edits in trunk/Source/WebCore

[WebGPU] Replace forward declare of WebGPUCommandBuffer with include
https://bugs.webkit.org/show_bug.cgi?id=192179

Unreviewed build fix.

No new tests. No behavior change.

  • Modules/webgpu/WebGPUProgrammablePassEncoder.cpp:
  • Modules/webgpu/WebGPUProgrammablePassEncoder.h:
3:08 PM Changeset in webkit [238699] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[ContentObservation] Make WKSetObservedContentChange logic more explicit.
https://bugs.webkit.org/show_bug.cgi?id=192183

Reviewed by Simon Fraser.

  • platform/ios/wak/WKContentObservation.cpp:

(WKSetObservedContentChange):
(WebThreadRemoveObservedDOMTimer):

3:06 PM Changeset in webkit [238698] by youenn@apple.com
  • 23 edits
    7 adds in trunk

CSS subresource loads should not be observable from resource timing if the stylesheet is opaque
https://bugs.webkit.org/show_bug.cgi?id=192132

Reviewed by Ryosuke Niwa.

Source/WebCore:

Introduce a new ResourceLoaderOptions to determine whether a load is made from a resource that is opaque.
Make use of that option to disable exposing such loads to the web page through resource timing.
The same option might later be used to bypass service workers.

Make use of this option for CSS subresource loads.
When the CSS stylesheet is opaque for the page, set this option.

Test: http/tests/security/clean-origin-exposed-resource-timing.html

http/tests/security/cross-origin-resource-timing.html

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::CSSCursorImageValue):
(WebCore::CSSCursorImageValue::loadImage):

  • css/CSSCursorImageValue.h:
  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::cachedFont):

  • css/CSSFontFaceSrcValue.h:
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):

  • css/CSSImageSetValue.h:
  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::loadImage):

  • css/CSSImageValue.h:
  • css/CSSStyleSheet.h:
  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::setCSSStyleSheet):
(WebCore::StyleRuleImport::requestStyleSheet):

  • css/StyleSheetContents.h:
  • css/parser/CSSParserContext.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeCursor):
(WebCore::consumeFontFaceSrcURI):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeImageSet):
(WebCore::CSSPropertyParserHelpers::consumeImage):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::initializeStyleSheet):
(WebCore::HTMLLinkElement::setCSSStyleSheet):

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::collectStyleForPresentationAttribute):

  • html/HTMLTablePartElement.cpp:

(WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute):

  • loader/ResourceLoaderOptions.h:
  • loader/ResourceTimingInformation.cpp:

(WebCore::ResourceTimingInformation::shouldAddResourceTiming):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::srcValue const):

LayoutTests:

  • http/tests/security/clean-origin-css-exposed-resource-timing-expected.txt: Added.
  • http/tests/security/clean-origin-css-exposed-resource-timinge-timing.html: Added.
  • http/tests/security/cross-origin-css-resource-timing-expected.txt: Added.
  • http/tests/security/cross-origin-css-resource-timing.html: Added.
  • http/tests/security/resources/loading-subresources.css: Added.
  • http/tests/security/resources/imported-loading-subresources.css: Added.
2:59 PM Changeset in webkit [238697] by Megan Gardner
  • 19 edits
    2 moves in trunk/Source

Move Lookup Code for better cross platform usage
https://bugs.webkit.org/show_bug.cgi?id=191732

Reviewed by Alex Christensen.

Source/WebCore:

Not currenlty testable

DictionaryLookup uses Reveal now, which is slated to be cross-platform.
That patch gates the parts of DictionaryLookup that currently do not have
an available implementation on iOS. Once Reveal is ready, this code will be
replaced or expanded upon, as appropriate.

  • editing/mac/DictionaryLookup.h:
  • editing/mac/DictionaryLookup.mm:

(WebCore::showPopupOrCreateAnimationController):
(WebCore::DictionaryLookup::showPopup):
(WebCore::DictionaryLookup::hidePopup):
(WebCore::DictionaryLookup::animationControllerForPopup):

Source/WebCore/PAL:

  • pal/spi/mac/LookupSPI.h:
  • pal/spi/mac/RevealSPI.h:

Source/WebKit:

Lookup is being replaced by Reveal. This framework should work on all platforms.
The patch moves the code that we expect will be needed for all platforms to the more
general cocoa area. This patch changes no funcationality, and should not change
anything currently. This work will be build on later when Reveal is ready to support
multiple platforms.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation):
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection):

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

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _lookupGestureRecognized:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation): Deleted.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection): Deleted.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection):
(WebKit::WebPage::performDictionaryLookupForRange):
(WebKit::WebPage::dictionaryPopupInfoForRange):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPage::performDictionaryLookupForSelection): Deleted.
(WebKit::WebPage::performDictionaryLookupForRange): Deleted.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPage::performDictionaryLookupForSelection): Deleted.
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection): Deleted.
(WebKit::WebPage::dictionaryPopupInfoForRange): Deleted.
(WebKit::WebPage::performDictionaryLookupForRange): Deleted.

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

[Cocoa] Move ServerTimingParser.* into a better group in the Xcode project
https://bugs.webkit.org/show_bug.cgi?id=192180

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-11-29
Reviewed by Simon Fraser.

  • WebCore.xcodeproj/project.pbxproj:
2:22 PM Changeset in webkit [238695] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[ContentObservation] DOMTimer::install should explicitly check if timer observation is on
https://bugs.webkit.org/show_bug.cgi?id=192181

Reviewed by Simon Fraser.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::install):

  • platform/ios/wak/WKContentObservation.cpp:

(WKIsObservingDOMTimerScheduling):

  • platform/ios/wak/WKContentObservation.h:
1:58 PM Changeset in webkit [238694] by Jonathan Bedard
  • 9 edits in trunk/Tools

webkitpy: Unify device creation
https://bugs.webkit.org/show_bug.cgi?id=192158
<rdar://problem/46344757>

Reviewed by Lucas Forschler.

  • Scripts/webkitpy/port/device_port.py:

(DevicePort):
(DevicePort.setup_test_run): Use DEVICE_MANAGER to create devices based on the specified device class.

  • Scripts/webkitpy/port/ios.py:

(IOSPort): Add DEFAULT_DEVICE_CLASS.

  • Scripts/webkitpy/port/ios_device.py:

(IOSDevicePort):
(IOSDevicePort._create_devices): Deleted.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort._create_devices): Deleted.

  • Scripts/webkitpy/port/watch.py:

(WatchPort): Add DEFAULT_DEVICE_CLASS.

  • Scripts/webkitpy/port/watch_device.py:

(WatchDevicePort):
(WatchDevicePort._create_devices): Deleted.

  • Scripts/webkitpy/port/watch_simulator.py:

(WatchSimulatorPort._create_devices): Deleted.

  • Scripts/webkitpy/xcode/device_type_unittest.py:

(DeviceTypeTest.test_from_string): Test that DeviceTypes without hardware types can be constructed
from strings.

1:50 PM Changeset in webkit [238693] by rniwa@webkit.org
  • 6 edits
    2 adds in trunk

Executing "insertunorderedlist" while selecting a contenteditable element inside a shadow dom hangs the browser
https://bugs.webkit.org/show_bug.cgi?id=184049
<rdar://problem/38931033>

Reviewed by Antti Koivisto.

Source/WebCore:

The primary hung was caused by TextIterator::advance traversing the next node in the tree order using
NodeTraversal::next which doesn't take the composed tree into account. Fixed the bug by traversing
the composed tree while sharing code with StylizedMarkupAccumulator.

This revealed a second hang in InsertListCommand::doApply() caused by endingSelection() being null,
which was caused by CompositeEditCommand::moveParagraphs failing to restore the ending selection properly
because it was computing the text indices difference from the beginning of the document until the destination.

Fixed this second bug by computing the indices against the beginning of the root editable element.
Note that editability never crosses a shadow boundary.

Test: editing/execCommand/insert-unordered-list-in-shadow-tree.html

  • dom/ComposedTreeIterator.h:

(WebCore::nextSkippingChildrenInComposedTreeIgnoringUserAgentShadow): Extracted out of nextSkippingChildren
in markup.cpp.
(WebCore::nextInComposedTreeIgnoringUserAgentShadow): Added.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveParagraphs): Compute the index from the beginning of the root editable
element as opposed to the beginning of the document.

  • editing/TextIterator.cpp:

(WebCore::nextNode): Added.
(WebCore::isDescendantOf): Added.
(WebCore::TextIterator::advance): Use the newly added functions to traverse the composed tree when the options
contains TextIteratorTraversesFlatTree.

  • editing/markup.cpp:

LayoutTests:

Added a regression test for executing InsertUnorderedList inside a shadow tree.

  • editing/execCommand/insert-ordered-list-in-shadow-tree-expected.txt: Added.
  • editing/execCommand/insert-ordered-list-in-shadow-tree.html: Added.
1:26 PM Changeset in webkit [238692] by rniwa@webkit.org
  • 5 edits
    6 adds in trunk/LayoutTests/imported/w3c

Update web-platform-tests/shadow-dom
https://bugs.webkit.org/show_bug.cgi?id=192137

Reviewed by Antti Koivisto.

Re-imported the shadow DOM tests from wpt.

  • resources/import-expectations.json:
  • web-platform-tests/shadow-dom/ShadowRoot-interface.html:
  • web-platform-tests/shadow-dom/event-dispatch-order.tentative-expected.txt: Added.
  • web-platform-tests/shadow-dom/event-dispatch-order.tentative.html: Added.
  • web-platform-tests/shadow-dom/input-type-radio-expected.txt: Added.
  • web-platform-tests/shadow-dom/input-type-radio.html: Added.
  • web-platform-tests/shadow-dom/resources/shadow-dom.js:

(dispatchEventWithLog):
(assert_event_path_equals):

  • web-platform-tests/shadow-dom/slots-outside-shadow-dom-expected.txt: Added.
  • web-platform-tests/shadow-dom/slots-outside-shadow-dom.html: Added.
  • web-platform-tests/shadow-dom/w3c-import.log:
1:25 PM Changeset in webkit [238691] by Alan Bujtas
  • 7 edits in trunk/Source

[ContentObservation] Decouple content change and DOM timer scheduling observation
https://bugs.webkit.org/show_bug.cgi?id=192170

Reviewed by Simon Fraser.

Source/WebCore:

This is in preparation for adding style recalc scheduling observation (the main goal here is to simplify the indeterminate change logic).

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::fired):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::mouseMoved):

  • platform/ios/wak/WKContentObservation.cpp:

(WKStartObservingContentChanges):
(WKStopObservingContentChanges):
(WKStartObservingDOMTimerSchedules):
(WKStopObservingDOMTimerSchedules):
(WKSetObservedContentChange):
(WebThreadAddObservedDOMTimer):
(WKBeginObservingContentChanges): Deleted.

  • platform/ios/wak/WKContentObservation.h:

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

1:22 PM Changeset in webkit [238690] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Make reconcileViewportConstrainedLayerPositions start from a specified scrolling node
https://bugs.webkit.org/show_bug.cgi?id=180002

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-29
Reviewed by Simon Fraser.

For non-programmatic scrolling of frames, AsyncScrollingCoordinator::reconcileScrollingState
currently always call reconcileViewportConstrainedLayerPositions for the main frame
since async subframe scrolling is not supported yet (bug 171667 and bug 149264). This
function in turn calls reconcileLayerPositionForViewportRect on the whole scrolling tree to
readjust position of fixed/sticky descendants. This patch refactors a bit the code so that
the operation is actually only applied to the descendants of the frame's scrolling node,
which would mean a small optimization when subframe are asynchronously scrollable. The code
is already covered by reconcile-layer-position-recursive.html.

No new tests, behavior unchanged and already covered by existing tests.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::reconcileScrollingState): Pass the frame's scrolling
node id.
(WebCore::AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions): Start
reconciliation from the specified scrolling node and log its ID.

  • page/scrolling/AsyncScrollingCoordinator.h: Add ScrollingNodeID parameter.
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::reconcileViewportConstrainedLayerPositions): Ditto.

1:13 PM Changeset in webkit [238689] by Alan Bujtas
  • 10 edits in trunk/Source

Rename *ObservedContentModifier(s) to *ObservedDOMTimer(s)
https://bugs.webkit.org/show_bug.cgi?id=192168

Reviewed by Simon Fraser.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::platformSuspendOrStopActiveDOMObjects):

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::clearTimeout):

  • page/Frame.cpp:

(WebCore::Frame::willDetachPage):

  • platform/ios/wak/WKContentObservation.cpp:

(WKBeginObservingContentChanges):
(WKSetObservedContentChange):
(WebThreadGetObservedDOMTimers):
(WebThreadCountOfObservedDOMTimers):
(WebThreadClearObservedDOMTimers):
(WebThreadContainsObservedDOMTimer):
(WebThreadAddObservedDOMTimer):
(WebThreadRemoveObservedDOMTimer):
(WebThreadCountOfObservedContentModifiers): Deleted.
(WebThreadClearObservedContentModifiers): Deleted.
(WebThreadContainsObservedContentModifier): Deleted.
(WebThreadAddObservedContentModifier): Deleted.
(WebThreadRemoveObservedContentModifier): Deleted.

  • platform/ios/wak/WKContentObservation.h:
  • platform/ios/wak/WKContentObservationInternal.h:

Source/WebKitLegacy/ios:

There's only one type of content modifier (DOMTimer).

  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::clearContentChangeObservers):

1:11 PM Changeset in webkit [238688] by eric.carlson@apple.com
  • 6 edits in trunk/Source

[iOS] Tell AirPlay picker when a file has video
https://bugs.webkit.org/show_bug.cgi?id=192155
Source/WebCore/PAL:

Reviewed by Jer Noble.

  • pal/spi/ios/MediaPlayerSPI.h:

Source/WebKit:

<rdar://problem/43843865>

Reviewed by Jer Noble.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _showPlaybackTargetPicker:fromRect:routeSharingPolicy:routingContextUID:]):
Add hasVideo parameter.

  • UIProcess/ios/forms/WKAirPlayRoutePicker.h:
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm:

(-[WKAirPlayRoutePicker showFromView:routeSharingPolicy:routingContextUID:hasVideo:]): Add
hasVideo parameter, pass info to MPMediaControlsViewController.
(-[WKAirPlayRoutePicker showFromView:routeSharingPolicy:routingContextUID:]): Deleted.

1:09 PM Changeset in webkit [238687] by Justin Fan
  • 22 edits
    2 adds in trunk

[WebGPU] WebGPURenderPassEncoder::setPipeline, draw, and endPass prototypes
https://bugs.webkit.org/show_bug.cgi?id=192134

Reviewed by Dean Jackson.

Source/WebCore:

Wrap up prototype features for WebGPURenderPassEncoder.

Test: webgpu/render-command-encoding.html

  • Modules/webgpu/WebGPUCommandBuffer.cpp:

(WebCore::WebGPUCommandBuffer::beginRenderPass):

  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::createRenderPipeline const):

  • Modules/webgpu/WebGPUProgrammablePassEncoder.cpp:

(WebCore::WebGPUProgrammablePassEncoder::WebGPUProgrammablePassEncoder):
(WebCore::WebGPUProgrammablePassEncoder::endPass): Returns a reference to the WebGPUCommandBuffer that created this encoder.
(WebCore::WebGPUProgrammablePassEncoder::setPipeline):

  • Modules/webgpu/WebGPUProgrammablePassEncoder.h: Updated to support endPass and setPipeline.
  • Modules/webgpu/WebGPUProgrammablePassEncoder.idl:
  • Modules/webgpu/WebGPURenderPassEncoder.cpp:

(WebCore::WebGPURenderPassEncoder::create): Must be provided with the WebGPUCommandBuffer.
(WebCore::WebGPURenderPassEncoder::WebGPURenderPassEncoder):
(WebCore::WebGPURenderPassEncoder::draw):

  • Modules/webgpu/WebGPURenderPassEncoder.h: Updated to cache a reference to the WebGPUCommandBuffer, and for draw.
  • Modules/webgpu/WebGPURenderPassEncoder.idl:
  • Modules/webgpu/WebGPURenderPipeline.cpp:

(WebCore::WebGPURenderPipeline::create):
(WebCore::WebGPURenderPipeline::WebGPURenderPipeline):

  • Modules/webgpu/WebGPURenderPipeline.h:

(WebCore::WebGPURenderPipeline::renderPipeline):

  • Modules/webgpu/WebGPUTexture.cpp:
  • Modules/webgpu/WebGPUTexture.h: Replaced include with forward declaration.
  • platform/graphics/gpu/GPUProgrammablePassEncoder.h: Updated to support new WebGPU_PassEncoder functionality.
  • platform/graphics/gpu/GPURenderPassEncoder.h:

(WebCore::GPURenderPassEncoder::~GPURenderPassEncoder): Now ends encoding on the MTLCommandEncoder, if not already ended, before freeing it.

  • platform/graphics/gpu/GPURenderPipeline.h: Now remembers the GPUPrimitiveTopology that it was created with.

(WebCore::GPURenderPipeline::primitiveTopology const):

  • platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:

(WebCore::GPUProgrammablePassEncoder::endPass): Calls endEncoding on the backing MTLCommandEncoder, if not already ended.

  • platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:

(WebCore::GPURenderPassEncoder::platformPassEncoder const):
(WebCore::GPURenderPassEncoder::setPipeline): Added.
(WebCore::primitiveTypeForGPUPrimitiveTopology): Added. Helper function to convert GPUPrimitiveTopology to MTLPrimitiveType.
(WebCore::GPURenderPassEncoder::draw): Added. Draws using primitive topology specified during pipeline creation.

  • platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:

(WebCore::setFunctionsForPipelineDescriptor):
(WebCore::GPURenderPipeline::create):
(WebCore::GPURenderPipeline::GPURenderPipeline): Now must store the GPURenderPipelineDescriptor for later reference.

LayoutTests:

Updating the basic rendering test with more commands, and a prototype WPT-based test for WebGPURenderCommandEncoder's
new functionality.

  • webgpu/js/basic-webgpu-functions.js:

(render):

  • webgpu/render-command-encoding-expected.txt: Added.
  • webgpu/render-command-encoding.html: Added.
  • webgpu/render-passes.html:
1:01 PM Changeset in webkit [238686] by Justin Michaud
  • 29 edits
    11 adds in trunk

CSS Painting API should pass 'this' correctly to paint callback, and repaint when properties change.
https://bugs.webkit.org/show_bug.cgi?id=191443

Reviewed by Dean Jackson.

Source/JavaScriptCore:

Export the simpler construct() method for use in WebCore.

  • runtime/ConstructData.h:

Source/WebCore:

Instantiate a new instance of the paint class, and pass it as 'this' object when the paint callback is called.
Also, this patch makes sure that custom paint elements get repainted when properties that they care about get changed.
Finally, we fix two reference cycles that caused WorkletGlobalScope to never be destroyed.

Tests: fast/css-custom-paint/animate-repaint.html

fast/css-custom-paint/animate.html

  • bindings/js/JSDOMWrapper.cpp:
  • bindings/js/JSPaintWorkletGlobalScopeCustom.cpp:

(WebCore::JSPaintWorkletGlobalScope::visitAdditionalChildren):

  • bindings/js/JSWorkletGlobalScopeBase.cpp:

(WebCore::toJS):

  • bindings/js/ScriptState.cpp:

(WebCore::execStateFromWorkletGlobalScope):

  • css/CSSPaintCallback.h:
  • css/CSSPaintCallback.idl:
  • css/CSSPaintImageValue.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::vm):

  • platform/graphics/CustomPaintImage.cpp:

(WebCore::CustomPaintImage::CustomPaintImage):
(WebCore::CustomPaintImage::doCustomPaint):

  • platform/graphics/CustomPaintImage.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::addCustomPaintWatchProperty):
(WebCore::RenderStyle::changeRequiresRepaint const):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h:
  • testing/Internals.cpp:

(WebCore::Internals::isAnyWorkletGlobalScopeAlive const):

  • testing/Internals.h:
  • testing/Internals.idl:
  • worklets/PaintWorkletGlobalScope.cpp:

(WebCore::PaintWorkletGlobalScope::devicePixelRatio const):
(WebCore::PaintWorkletGlobalScope::PaintDefinition::PaintDefinition):
(WebCore::PaintWorkletGlobalScope::registerPaint):

  • worklets/PaintWorkletGlobalScope.h:

(WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):
(WebCore::WorkletGlobalScope::~WorkletGlobalScope):
(WebCore::WorkletGlobalScope::prepareForDestruction):
(WebCore::WorkletGlobalScope::allWorkletGlobalScopesSet):
(WebCore::WorkletGlobalScope::isJSExecutionForbidden const):
(WebCore::WorkletGlobalScope::logExceptionToConsole):
(WebCore::WorkletGlobalScope::addConsoleMessage):
(WebCore::WorkletGlobalScope::addMessage):

  • worklets/WorkletGlobalScope.h:

(WebCore::WorkletGlobalScope::script):
(WebCore::WorkletGlobalScope::responsibleDocument):
(WebCore::WorkletGlobalScope::responsibleDocument const):
(WebCore::WorkletGlobalScope::identifier const): Deleted.
(WebCore::WorkletGlobalScope::responsableDocument): Deleted.
(WebCore::WorkletGlobalScope::responsableDocument const): Deleted.

  • worklets/WorkletScriptController.cpp:

(WebCore::WorkletScriptController::~WorkletScriptController):
(WebCore::WorkletScriptController::disableEval):
(WebCore::WorkletScriptController::disableWebAssembly):
(WebCore::WorkletScriptController::initScript):

LayoutTests:

  • fast/css-custom-paint/animate-expected.html: Added.
  • fast/css-custom-paint/animate-repaint-expected.txt: Added.
  • fast/css-custom-paint/animate-repaint.html: Added.
  • fast/css-custom-paint/animate.html: Added.
  • fast/css-custom-paint/constructor-expected.html: Added.
  • fast/css-custom-paint/constructor.html: Added.
  • fast/css-custom-paint/leaks-expected.txt: Added.
  • fast/css-custom-paint/leaks.html: Added.
  • fast/css-custom-paint/properties.html:
  • fast/css-custom-paint/resources/leaks-frame.html: Added.
  • platform/mac/fast/css-custom-paint/raf-leak-expected.txt: Added.
12:52 PM Changeset in webkit [238685] by ap@apple.com
  • 9 edits in trunk/Source

Modernize the check for kCFURLRequestContentDecoderSkipURLCheck existence
https://bugs.webkit.org/show_bug.cgi?id=192041

Reviewed by Tim Horton.

Source/WebCore:

  • loader/ResourceLoaderOptions.h: Added a FIXME for poor naming of loader options.

There is a lot of code that needs to be cleaned up here.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::applySniffingPoliciesIfNeeded):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::applySniffingPoliciesAndBindRequestToInferfaceIfNeeded):

Source/WTF:

  • wtf/Platform.h:
12:42 PM Changeset in webkit [238684] by Jonathan Bedard
  • 2 edits in trunk/Tools

EWS iOS-sim bots sometimes fails to shutdown simulator
https://bugs.webkit.org/show_bug.cgi?id=191864

Reviewed by Aakash Jain.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDevice._shut_down): Increase time to wait for simulated device to
shut down, ignore exit code indicating a device is already shut down.

12:10 PM Changeset in webkit [238683] by youenn@apple.com
  • 4 edits
    4 adds in trunk

Updating a service worker during a navigation load sometimes makes the load fail
https://bugs.webkit.org/show_bug.cgi?id=191986
<rdar://problem/46259790>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/resources/trickle.py: Added.

(main):

  • web-platform-tests/service-workers/service-worker/resources/update-fetch-worker.py: Added.

(main):

  • web-platform-tests/service-workers/service-worker/update-on-navigation.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/update-on-navigation.https.html: Added.

Source/WebCore:

Previously, we were registering a document as service worker client at creation of the document.
According the service worker spec, this should be done when handling the fetch event of the corresponding navigation load.
This ensures that the service worker will have a client and will not get updated in the middle of the navigation load.

At navigation load start, we do not have a document yet since it is created when receiving the first bytes.
Instead, we register a temporary document when starting the navigation load and unregister it when the real document is registered.

Test: imported/w3c/web-platform-tests/service-workers/service-worker/update-on-navigation.https.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::registerTemporaryServiceWorkerClient):
(WebCore::DocumentLoader::unregisterTemporaryServiceWorkerClient):
(WebCore::DocumentLoader::loadMainResource):
(WebCore::DocumentLoader::clearMainResource):

  • loader/DocumentLoader.h:
12:09 PM Changeset in webkit [238682] by Ryan Haddad
  • 19 edits
    2 moves in trunk/Source

Unreviewed, rolling out r238678.

Breaks internal builds.

Reverted changeset:

"Move Lookup Code for better cross platform usage"
https://bugs.webkit.org/show_bug.cgi?id=191732
https://trac.webkit.org/changeset/238678

11:59 AM Changeset in webkit [238681] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Addressed a FIXME by removing an unnecessary call to [NSApplication sharedApplication].
https://bugs.webkit.org/show_bug.cgi?id=192099

Patch by Suresh Koppisetty <skoppisetty@apple.com> on 2018-11-29
Reviewed by Geoffrey Garen.

[NSApplication sharedApplication] call is no longer needed in platformInitializeWebProcess as [NSApplication _accessibilityInitialize] calls [NSApplication sharedApplication].

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

11:54 AM Changeset in webkit [238680] by youenn@apple.com
  • 6 edits in trunk

A sender created through addTransceiver and populated using addTrack should have its source set
https://bugs.webkit.org/show_bug.cgi?id=192136

Reviewed by Eric Carlson.

Source/WebCore:

In case libwebrtc backend is already created, we need to make sure to
set the track source to the libwebrtc sender backend that is actually
tied to the sender.

Covered by updated test.

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::addTrack):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:

LayoutTests:

  • webrtc/video-replace-track-expected.txt:
  • webrtc/video-replace-track.html:
11:00 AM Changeset in webkit [238679] by Ryan Haddad
  • 4 edits in trunk/LayoutTests

Unreviewed test gardening, skip three datalist tests that are marked as flaky crashes.

  • TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
10:54 AM Changeset in webkit [238678] by Megan Gardner
  • 19 edits
    2 moves in trunk/Source

Move Lookup Code for better cross platform usage
https://bugs.webkit.org/show_bug.cgi?id=191732

Reviewed by Alex Christensen.

Source/WebCore:

Not currenlty testable

DictionaryLookup uses Reveal now, which is slated to be cross-platform.
That patch gates the parts of DictionaryLookup that currently do not have
an available implementation on iOS. Once Reveal is ready, this code will be
replaced or expanded upon, as appropriate.

  • editing/mac/DictionaryLookup.h:
  • editing/mac/DictionaryLookup.mm:

(WebCore::showPopupOrCreateAnimationController):
(WebCore::DictionaryLookup::showPopup):
(WebCore::DictionaryLookup::hidePopup):
(WebCore::DictionaryLookup::animationControllerForPopup):

Source/WebCore/PAL:

  • pal/spi/mac/LookupSPI.h:
  • pal/spi/mac/RevealSPI.h:

Source/WebKit:

Lookup is being replaced by Reveal. This framework should work on all platforms.
The patch moves the code that we expect will be needed for all platforms to the more
general cocoa area. This patch changes no funcationality, and should not change
anything currently. This work will be build on later when Reveal is ready to support
multiple platforms.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation):
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection):

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

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _lookupGestureRecognized:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation): Deleted.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection): Deleted.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection):
(WebKit::WebPage::performDictionaryLookupForRange):
(WebKit::WebPage::dictionaryPopupInfoForRange):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPage::performDictionaryLookupForSelection): Deleted.
(WebKit::WebPage::performDictionaryLookupForRange): Deleted.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPage::performDictionaryLookupForSelection): Deleted.
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection): Deleted.
(WebKit::WebPage::dictionaryPopupInfoForRange): Deleted.
(WebKit::WebPage::performDictionaryLookupForRange): Deleted.

10:45 AM Changeset in webkit [238677] by sihui_liu@apple.com
  • 9 edits in trunk

IndexedDB: breaks if binary data (Uint8Array) and autoIncrement key in store
https://bugs.webkit.org/show_bug.cgi?id=185869
<rdar://problem/40453623>

Reviewed by Geoffrey Garen.

Source/WebCore:

lexicalGlobalObject is casted to JSDOMGlobalObject in CloneSerializer::dumpArrayBufferView,
so we should use JSDOMGlobalObject instead of JSGlobalObject in IDB database thread.

Covered by modified test: storage/indexeddb/objectstore-autoincrement.html

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::databaseThreadVM):
(WebCore::IDBServer::UniqueIDBDatabase::databaseThreadExecState):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::create):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWrapper.cpp:

(WebCore::JSDOMObject::JSDOMObject):

LayoutTests:

  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement-private-expected.txt:
  • storage/indexeddb/resources/objectstore-autoincrement.js:

(getLincolnAfterInjectedKeySuccess):
(putBobSuccess):
(getBobSuccess):
(addLincolnWithExplicitKeySuccess):
(putAbrahamSuccess):

10:41 AM Changeset in webkit [238676] by sihui_liu@apple.com
  • 3 edits
    3 adds in trunk

Unexpected constructor / instanceof behavior when retrieving indexedDB data in an iframe
https://bugs.webkit.org/show_bug.cgi?id=185906
<rdar://problem/40583100>

Reviewed by Geoffrey Garen.

Source/WebCore:

ScriptExecutionContext::execState() returned state of main frame, so deserialization of
IDBValue in iframe used constructors of main frame, which is wrong.

Test: storage/indexeddb/instanceof-iframe.html

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::execState):

LayoutTests:

  • storage/indexeddb/instanceof-iframe-expected.txt: Added.
  • storage/indexeddb/instanceof-iframe.html: Added.
  • storage/indexeddb/resources/instanceof-iframe.js: Added.

(test.else.shouldBe):
(test.else.shouldBeTrue):
(test.else.shouldBeFalse):
(test.else.evalAndLog):
(test):
(callback):

10:36 AM Changeset in webkit [238675] by don.olmstead@sony.com
  • 7 edits
    2 moves
    1 add
    2 deletes in trunk/Source/WebCore

Make generic ScrollAnimator
https://bugs.webkit.org/show_bug.cgi?id=192128

Reviewed by Michael Catanzaro.

No new tests. No change in behavior.

Moves ScrollAnimatorGtk into ScrollAnimatorGeneric where it can be used
by other implementations. Fixed some compilation issues around using
this as a default implementation.

Removing ScrollAnimatorSmooth since it is dead code and doesn't even
compile at this time.

Fixing a compilation issue within LowPowerModeNotifierGLib
implementation that appeared due to unified sources changes.

  • PlatformGTK.cmake:
  • SourcesGTK.txt:
  • platform/LowPowerModeNotifier.h:
  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::swipeVelocity const):

  • platform/ScrollAnimatorSmooth.cpp: Removed.
  • platform/ScrollAnimatorSmooth.h: Removed.
  • platform/generic/ScrollAnimatorGeneric.cpp: Renamed from Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp.

(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric):
(WebCore::ScrollAnimatorGeneric::ensureSmoothScrollingAnimation):
(WebCore::ScrollAnimatorGeneric::scroll):
(WebCore::ScrollAnimatorGeneric::scrollToOffsetWithoutAnimation):
(WebCore::ScrollAnimatorGeneric::computeVelocity):
(WebCore::ScrollAnimatorGeneric::handleWheelEvent):
(WebCore::ScrollAnimatorGeneric::willEndLiveResize):
(WebCore::ScrollAnimatorGeneric::updatePosition):
(WebCore::ScrollAnimatorGeneric::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorGeneric::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorGeneric::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorGeneric::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorGeneric::updateOverlayScrollbarsOpacity):
(WebCore::ScrollAnimatorGeneric::overlayScrollbarAnimationTimerFired):
(WebCore::ScrollAnimatorGeneric::showOverlayScrollbars):
(WebCore::ScrollAnimatorGeneric::hideOverlayScrollbars):
(WebCore::ScrollAnimatorGeneric::mouseEnteredContentArea):
(WebCore::ScrollAnimatorGeneric::mouseExitedContentArea):
(WebCore::ScrollAnimatorGeneric::mouseMovedInContentArea):
(WebCore::ScrollAnimatorGeneric::contentAreaDidShow):
(WebCore::ScrollAnimatorGeneric::contentAreaDidHide):
(WebCore::ScrollAnimatorGeneric::notifyContentAreaScrolled):
(WebCore::ScrollAnimatorGeneric::lockOverlayScrollbarStateToHidden):

  • platform/generic/ScrollAnimatorGeneric.h: Renamed from Source/WebCore/platform/gtk/ScrollAnimatorGtk.h.
  • platform/glib/LowPowerModeNotifierGLib.cpp:
  • platform/gtk/PlatformWheelEventGtk.cpp:

(WebCore::PlatformWheelEvent::swipeVelocity const): Deleted.

10:26 AM Changeset in webkit [238674] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit

Factor out configuration of the file upload image picker
https://bugs.webkit.org/show_bug.cgi?id=192138
<rdar://problem/46334871>

Reviewed by Tim Horton.

By factoring configuration of the picker into its own method, it makes it easier
to apply custom configuration in subclasses in the future.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):
(-[WKFileUploadPanel _configureImagePicker:]):

10:26 AM Changeset in webkit [238673] by dino@apple.com
  • 7 edits
    4 adds in trunk

[ES Modules] Allow .mjs content when loaded from file://
https://bugs.webkit.org/show_bug.cgi?id=192100
<rdar://problem/46320065>

Reviewed by Sam Weinig.

Source/WebCore:

Node JS requires ES Module files to be identified by the file
extension of ".mjs" (no relation to Maciej Stachowiak). This new
extension causes issues because it isn't recognised as a JavaScript
file. When using the script tag, the author is able to force the type
of the referenced file using an attribute, but this isn't possible
for the import() function or import statement.

Add a new entry into our table that maps file extensions to MIME types
so that when a .mjs file is loaded from a file:// reference it is
identified as JavaScript.

Test: js/dom/modules/import-mjs-module.html

  • platform/network/mac/WebCoreURLResponse.mm: Add .mjs to the existing dictionary.

(WebCore::createExtensionToMIMETypeMap):

  • platform/network/ios/WebCoreURLResponseIOS.mm: Add code just for .mjs.

(WebCore::createExtensionToMIMETypeMap):

Source/WebInspectorUI:

Add a mapping from .mjs to application/javascript.

  • UserInterface/Base/MIMETypeUtilities.js:

(WI.mimeTypeForFileExtension):

LayoutTests:

Test for both import() function and the import statement loading
from .mjs files.

  • js/dom/modules/import-mjs-module-expected.txt: Added.
  • js/dom/modules/import-mjs-module.html: Added.
  • js/dom/modules/resources/module-simple-A.mjs: Added.
  • js/dom/modules/resources/module-simple-B.mjs: Added.
  • platform/win/TestExpectations: Skip this on Windows. Just wait for Windows to recognise the extension.
10:00 AM Changeset in webkit [238672] by Jonathan Bedard
  • 8 edits in trunk/Tools

webkitpy: Unify ios_version/watchos_version code
https://bugs.webkit.org/show_bug.cgi?id=192153
<rdar://problem/46343642>

Reviewed by Lucas Forschler.

Treating watchOS and iOS versions differently makes it harder to share code between the similar ports.

  • Scripts/webkitpy/port/device_port.py:

(DevicePort):
(DevicePort.device_version): Added.

  • Scripts/webkitpy/port/ios.py:

(IOSPort.default_baseline_search_path): Use device_version() instead of ios_version().
(IOSPort.ios_version): Deleted.

  • Scripts/webkitpy/port/ios_device.py:

(IOSDevicePort.device_version): Renamed from ios_version().
(IOSDevicePort.ios_version): Deleted.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort.device_version): Renamed from ios_version().
(IOSSimulatorPort.default_child_processes.booted_ios_devices_filter): Use device_version() instead of ios_version().
(IOSSimulatorPort._create_devices): Ditto.
(IOSSimulatorPort.check_sys_deps): Ditto.
(IOSSimulatorPort.ios_version): Deleted.

  • Scripts/webkitpy/port/watch.py:

(WatchPort.default_baseline_search_path): Use device_version() instead of watchos_version().
(WatchPort.watchos_version): Deleted.

  • Scripts/webkitpy/port/watch_device.py:

(WatchDevicePort.device_version): Renamed from watchos_version().
(WatchDevicePort.watchos_version): Deleted.

  • Scripts/webkitpy/port/watch_simulator.py:

(WatchSimulatorPort.device_version): Renamed from watchos_version().
(WatchSimulatorPort.default_child_processes.filter_booted_watchos_devices): Use device_version() instead of watchos_version().
(WatchSimulatorPort._create_devices): Ditto.
(WatchSimulatorPort.check_sys_deps): Ditto.
(WatchSimulatorPort.watchos_version): Deleted.

9:50 AM Changeset in webkit [238671] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Elements: selecting more than one DOM node causes the scope highlight to contrast
https://bugs.webkit.org/show_bug.cgi?id=192118
<rdar://problem/46325664>

Reviewed by Devin Rousso.

Use an alpha blended border for the "selected" DOM scope highlight,
matching the "hovered" scope highlight.

  • UserInterface/Views/DOMTreeOutline.css:

(.tree-outline.dom li.selected + ol.children.expanded):

8:41 AM Changeset in webkit [238670] by guijemont@igalia.com
  • 2 edits in trunk/LayoutTests

Gardening: skip test that newly times out on Armv7

Unreviewed Test Gardening.

  • js/slow-stress/script-tests/marsaglia.js: skip on arm/linux
8:02 AM Changeset in webkit [238669] by magomez@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening after r238665.

  • platform/gtk/TestExpectations:
7:30 AM Changeset in webkit [238668] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][BFC][Quirk] Width does not need stretching quirk.
https://bugs.webkit.org/show_bug.cgi?id=192135

Reviewed by Antti Koivisto.

In BFC the block box's width (auto) always streches to the content width of the containing block.

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):

  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::needsStretching):
(WebCore::Layout::BlockFormattingContext::Quirks::isStretchedToInitialContainingBlock): Deleted.
(WebCore::Layout::BlockFormattingContext::Quirks::stretchedWidth): Deleted.

7:28 AM Changeset in webkit [238667] by Alan Bujtas
  • 11 edits
    2 adds in trunk/Source/WebCore

[LFC][Quirk] Move quirk functions to dedicated classes.
https://bugs.webkit.org/show_bug.cgi?id=192133

Reviewed by Antti Koivisto.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::computedHeightValue):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::initialContainingBlock): Deleted.
(WebCore::Layout::isStretchedToInitialContainingBlock): Deleted.
(WebCore::Layout::stretchHeightToInitialContainingBlockQuirk): Deleted.
(WebCore::Layout::stretchWidthToInitialContainingBlock): Deleted.

  • layout/blockformatting/BlockFormattingState.cpp:
  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginTopCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginTop):
(WebCore::Layout::isQuirkContainer): Deleted.
(WebCore::Layout::hasMarginTopQuirkValue): Deleted.
(WebCore::Layout::shouldIgnoreMarginTopInQuirkContext): Deleted.
(WebCore::Layout::isMarginTopCollapsedWithParent): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:
  • layout/inlineformatting/text/TextUtil.h:
4:34 AM Changeset in webkit [238666] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove some superfluous code in ContentSecurityPolicy::upgradeInsecureRequestIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=192076

Patch by Rob Buis <rbuis@igalia.com> on 2018-11-29
Reviewed by Frédéric Wang.

Since we do an early return if the protocol is not http or ws, the if check
for ws protocol and else statement are not needed, so use an ASSERT instead.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded const):

3:44 AM Changeset in webkit [238665] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Add ParentRelativeScrollableRect to ScrollingCoordinator::ScrollingGeometry
https://bugs.webkit.org/show_bug.cgi?id=172914

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-29
Reviewed by Simon Fraser.

This patch adds a ParentRelativeScrollableRect ScrollingCoordinator::ScrollingGeometry and
the corresponding set/get/dump APIs. Currently, the setter is never used so the behavior is
unchanged. In the future, this rect will be used for hit testing of subframes during
asynchronous macOS scrolling (but 172917).

No new tests, behavior unchanged.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):

  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setParentRelativeScrollableRect):
(WebCore::ScrollingStateScrollingNode::dumpProperties const):

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::parentRelativeScrollableRect const):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::dumpProperties const):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::parentRelativeScrollableRect const):

2:30 AM Changeset in webkit [238664] by commit-queue@webkit.org
  • 4 edits
    1 copy
    7 moves
    18 adds
    8 deletes in trunk/LayoutTests/imported/w3c

Import fetch/api/cors tests
https://bugs.webkit.org/show_bug.cgi?id=192092

Patch by Rob Buis <rbuis@igalia.com> on 2018-11-29
Reviewed by Frédéric Wang.

Import to most recent checkout since some old
tests like cors-multiple-origins.js were incorrect.

  • resources/import-expectations.json:
  • web-platform-tests/fetch/api/cors/cors-expose-star-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-expose-star.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-expose-star.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-expected.txt.
  • web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.js.

(sharedHeaders.string_appeared_here.promise_test):
(string_appeared_here.promise_test):

  • web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker-expected.txt.
  • web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-filtering-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-filtering.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-filtering.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt.
  • web-platform-tests/fetch/api/cors/cors-filtering.sub.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-filtering.sub.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js.

(corsFilter):
(corsExposeFilter):

  • web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt.
  • web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.js: Added.

(corsMultipleOrigins):

  • web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js: Added.

(runTests):

  • web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight.any.js:

(headerNames): Deleted.
(): Deleted.
(corsPreflight): Deleted.

  • web-platform-tests/fetch/api/cors/resources/corspreflight.js: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js.

(headerNames):
(corsPreflight):

  • web-platform-tests/fetch/api/cors/resources/not-cors-safelisted.json: Added.
  • web-platform-tests/fetch/api/cors/resources/w3c-import.log: Added.
  • web-platform-tests/fetch/api/cors/sandboxed-iframe-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/sandboxed-iframe.html: Added.
  • web-platform-tests/fetch/api/cors/w3c-import.log:
2:19 AM Changeset in webkit [238663] by tpopela@redhat.com
  • 2 edits in trunk/Source/WebKit

[GTK][WPE] Fix BubblewrapLauncher clang warnings
https://bugs.webkit.org/show_bug.cgi?id=192086

Reviewed by Michael Catanzaro.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bindPathVar): Initialize the i variable to 0.
(WebKit::setupSeccomp): Initialize the optional datum_b member.

1:14 AM Changeset in webkit [238662] by tpopela@redhat.com
  • 3 edits in trunk/Source/WebDriver

[WebDriver] Fix clang warnings in Session.cpp
https://bugs.webkit.org/show_bug.cgi?id=192077

Reviewed by Carlos Garcia Campos.

  • Session.cpp:

(WebDriver::Session::dismissAndNotifyAlert):
(WebDriver::Session::acceptAndNotifyAlert):
(WebDriver::Session::reportUnexpectedAlertOpen):
(WebDriver::Session::getCurrentURL):
(WebDriver::Session::getTitle):
(WebDriver::Session::getWindowHandle):
(WebDriver::Session::getWindowHandles):
(WebDriver::Session::getToplevelBrowsingContextRect):
(WebDriver::Session::computeElementLayout):
(WebDriver::Session::isElementSelected):
(WebDriver::Session::getElementText):
(WebDriver::Session::getElementTagName):
(WebDriver::Session::getElementRect):
(WebDriver::Session::isElementEnabled):
(WebDriver::Session::isElementDisplayed):
(WebDriver::Session::getElementAttribute):
(WebDriver::Session::getElementProperty):
(WebDriver::Session::getElementCSSValue):
(WebDriver::Session::selectOptionElement):
(WebDriver::Session::elementClick):
(WebDriver::Session::elementClear):
(WebDriver::Session::handleScriptResult):
(WebDriver::Session::performMouseInteraction):
(WebDriver::Session::performKeyboardInteractions):
(WebDriver::Session::getAllCookies):
(WebDriver::Session::getNamedCookie):
(WebDriver::Session::addCookie):
(WebDriver::Session::deleteCookie):
(WebDriver::Session::deleteAllCookies):
(WebDriver::Session::performActions):
(WebDriver::Session::releaseActions):
(WebDriver::Session::dismissAlert):
(WebDriver::Session::acceptAlert):
(WebDriver::Session::getAlertText):
(WebDriver::Session::sendAlertText):
(WebDriver::Session::takeScreenshot):

  • WebDriverService.cpp:

(WebDriver::WebDriverService::deleteSession):

Nov 28, 2018:

9:25 PM Changeset in webkit [238661] by Wenson Hsieh
  • 6 edits in trunk

[iOSMac] Dropping text selections from web content into editable elements crashes the web process
https://bugs.webkit.org/show_bug.cgi?id=192113
<rdar://problem/46323701>

Reviewed by Ryosuke Niwa.

Source/WebCore:

In iOSMac, registering invalid UTIs on NSItemProvider when starting a drag or handling a drop does not work.
Since iOS writes and reads only "Apple Web Archive pasteboard type" (a.k.a. WebArchivePboardType) during drag
and drop as well as copy and paste, we fail to read or write any web archive data, and subsequently fall back to
reading RTF or flat RTFD, both of which are not supported in iOSMac, since UIFoundation links against the
system's macOS WebKit stack.

To fix this, we add support for reading and writing com.apple.webarchive (kUTTypeWebArchive) on iOS, so that
WebKit-based iOSMac applications can understand web archive data from the host running macOS, and the host can
also understand web archive data written by the iOSMac app. Additionally, don't allow reading RTF and flat RTFD
as web content in iOSMac. (Note that writing RTF and flat RTFD is still safe, since it does not depend on
UIFoundation.framework but rather WebCore::HTMLConverter).

Test: DragAndDropTests.ModernWebArchiveType

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::createFragment):

Additionally make sure that we never call into UIFoundation's NSAttributedString to markup conversion codepath
by making createFragment an empty stub on iOSMac.

  • platform/ios/PasteboardIOS.mm:

(WebCore::supportedImageTypes):
(WebCore::isTypeAllowedByReadingPolicy):
(WebCore::Pasteboard::readPasteboardWebContentDataForType):
(WebCore::Pasteboard::supportedWebContentPasteboardTypes):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::write):

Tools:

Add a test to verify that, when dropping an item with both "com.apple.webarchive" and "public.utf8-plain-text"
representations, the higher fidelity web archive data is used when handling the drop.

  • TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
8:39 PM Changeset in webkit [238660] by Joseph Pecoraro
  • 5 edits in trunk/Source

Web Inspector: REGRESSION(?): all "Show *" develop menu items cause the page to crash
https://bugs.webkit.org/show_bug.cgi?id=192016
<rdar://problem/46284417>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

(WI.loaded):
(WI.initializeBackendTarget):
(WI.contentLoaded):
(WI.whenTargetsAvailable):
Don't evaluate any InspectorFrontendAPI commands until the frontend
has initialized a main target and the user interface.

Source/WebKit:

Previously calling the Page's inspectorController.show()
would create a frontend connection on the WebProcess side.
However now the frontend connection is handed to the WebProcess
once the UIProcess creates it. So queue actions that take place
immediately after showing the inspector until we have a frontend
to send the actions to.

  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::setFrontendConnection):
(WebKit::WebInspector::closeFrontendConnection):
(WebKit::WebInspector::whenFrontendConnectionEstablished):
(WebKit::WebInspector::showConsole):
(WebKit::WebInspector::showResources):
(WebKit::WebInspector::showTimelines):
(WebKit::WebInspector::showMainResourceForFrame):
(WebKit::WebInspector::startPageProfiling):
(WebKit::WebInspector::stopPageProfiling):
(WebKit::WebInspector::startElementSelection):
(WebKit::WebInspector::stopElementSelection):

8:20 PM BuildBot edited by Fujii Hironori
(diff)
8:14 PM Changeset in webkit [238659] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

Consult dummy storage for HTTPS Upgrade, Apply If Appropriate
https://bugs.webkit.org/show_bug.cgi?id=192094
<rdar://problem/45851103> HTTPS Upgrade: Consult dummy storage for HTTPS Upgrade, Apply If Appropriate

Patch by Vivek Seth <v_seth@apple.com> on 2018-11-28
Reviewed by Chris Dumez.

For main page loads upgrade HTTP requests to HTTPS if the hostname belongs to a set of upgradable hostnames.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::applyHTTPSUpgradeIfNeeded):
(WebKit::NetworkLoadChecker::checkRequest):

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

7:54 PM Changeset in webkit [238658] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

REGRESSION (r234980): Crash in -[WKWebView _restorePageStateToUnobscuredCenter:scale:]
https://bugs.webkit.org/show_bug.cgi?id=192127
rdar://problem/44194179

Reviewed by Tim Horton.

_restorePageStateToUnobscuredCenter: could receive an Optional<FloatRect> from the
web process, and unconditionally called .value() even though it may not be engaged.

No repro steps known, so no testcase.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):

6:55 PM Changeset in webkit [238657] by commit-queue@webkit.org
  • 18 edits
    2 moves in trunk/Source

Unreviewed, rolling out r238653 and r238656.
https://bugs.webkit.org/show_bug.cgi?id=192130

Breaks iOS build (Requested by smfr on #webkit).

Reverted changesets:

"Move Lookup Code for better cross platform usage"
https://bugs.webkit.org/show_bug.cgi?id=191732
https://trac.webkit.org/changeset/238653

"Attempt to fix the iOS build by only including RevealSPI.h
when it's needed."
https://trac.webkit.org/changeset/238656

6:25 PM Changeset in webkit [238656] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Attempt to fix the iOS build by only including RevealSPI.h when it's needed.

  • editing/cocoa/DictionaryLookup.mm:
6:19 PM Changeset in webkit [238655] by achristensen@apple.com
  • 23 edits in trunk/Source

Modernize BlobRegistry::writeBlobsToTemporaryFiles
https://bugs.webkit.org/show_bug.cgi?id=192117

Reviewed by Dean Jackson.

Source/WebCore:

No change in behavior. Just use CompletionHandlers and the new sendWithAsyncReply instead of two way messaging
and manual completion handler management.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):

  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):

  • platform/network/BlobRegistryImpl.h:

Source/WebKit:

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::writeBlobsToTemporaryFiles):
(WebKit::NetworkBlobRegistry::writeBlobToFilePath):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::writeBlobToFilePath):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::sendWithAsyncReply):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::writeBlobToFilePath):
(WebKit::NetworkProcessProxy::didWriteBlobToFilePath): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::writeBlobsToTemporaryFiles):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::writeBlobsToTemporaryFiles):
(WebKit::NetworkProcessConnection::didWriteBlobsToTemporaryFiles): Deleted.

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
6:18 PM Changeset in webkit [238654] by achristensen@apple.com
  • 15 edits
    1 add in trunk/Source/WebKit

Move loadThrottleLatency from NetworkProcessCreationParameters to NetworkSessionCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=192122

Reviewed by Dean Jackson.

This is part of an effort to reduce global variables in the NetworkProcess.

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::didReceiveResponse):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::loadThrottleLatency const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::loadThrottleLatency const):

  • NetworkProcess/NetworkSessionCreationParameters.cpp: Added.

(WebKit::NetworkSessionCreationParameters::privateSessionParameters):
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.h:

(WebKit::NetworkSessionCreationParameters::encode const): Deleted.
(WebKit::NetworkSessionCreationParameters::decode): Deleted.

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::privateSessionParameters):

  • Sources.txt:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • WebKit.xcodeproj/project.pbxproj:
5:41 PM Changeset in webkit [238653] by Megan Gardner
  • 18 edits
    2 moves in trunk/Source

Move Lookup Code for better cross platform usage
https://bugs.webkit.org/show_bug.cgi?id=191732

Reviewed by Alex Christensen.

Source/WebCore:

Not currenlty testable

DictionaryLookup uses Reveal now, which is slated to be cross-platform.
That patch gates the parts of DictionaryLookup that currently do not have
an available implementation on iOS. Once Reveal is ready, this code will be
replaced or expanded upon, as appropriate.

  • editing/mac/DictionaryLookup.h:
  • editing/mac/DictionaryLookup.mm:

(WebCore::showPopupOrCreateAnimationController):
(WebCore::DictionaryLookup::showPopup):
(WebCore::DictionaryLookup::hidePopup):
(WebCore::DictionaryLookup::animationControllerForPopup):

Source/WebCore/PAL:

  • pal/spi/mac/LookupSPI.h:
  • pal/spi/mac/RevealSPI.h:

Source/WebKit:

Lookup is being replaced by Reveal. This framework should work on all platforms.
The patch moves the code that we expect will be needed for all platforms to the more
general cocoa area. This patch changes no funcationality, and should not change
anything currently. This work will be build on later when Reveal is ready to support
multiple platforms.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation):
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection):

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

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _lookupGestureRecognized:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation): Deleted.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection): Deleted.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection):
(WebKit::WebPage::performDictionaryLookupForRange):
(WebKit::WebPage::dictionaryPopupInfoForRange):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPage::performDictionaryLookupForSelection): Deleted.
(WebKit::WebPage::performDictionaryLookupForRange): Deleted.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Deleted.
(WebKit::WebPage::performDictionaryLookupForSelection): Deleted.
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection): Deleted.
(WebKit::WebPage::dictionaryPopupInfoForRange): Deleted.
(WebKit::WebPage::performDictionaryLookupForRange): Deleted.

5:39 PM Changeset in webkit [238652] by chris.reid@sony.com
  • 2 edits in trunk/Source/WebCore

SQLiteDatabase::open is constantly printing "SQLite database failed to checkpoint: database table is locked" errors
https://bugs.webkit.org/show_bug.cgi?id=192111

Reviewed by Alex Christensen.

Ensure the journal_mode=WAL statement is finalized before wal_checkpoint is executed.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::open):

5:29 PM Changeset in webkit [238651] by commit-queue@webkit.org
  • 3 edits
    8 adds in trunk

Updating href on linearGradient and radialGradient doesn't update its rendering
https://bugs.webkit.org/show_bug.cgi?id=191934

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-11-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

Mark the gradient renderer for repaint when the value of the 'href'
attribute changes.

Tests: fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree.html

fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree.html
svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.html
svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.html

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::svgAttributeChanged):

LayoutTests:

  • fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree.html: Added.
  • svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop-expected.html: Added.
  • svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.html: Added.
  • svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop-expected.html: Added.
  • svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.html: Added.
5:22 PM Changeset in webkit [238650] by mark.lam@apple.com
  • 4 edits in trunk/Source

ENABLE_SEPARATED_WX_HEAP needs to be defined in Platform.h.
https://bugs.webkit.org/show_bug.cgi?id=192110
<rdar://problem/46317746>

Reviewed by Saam Barati.

Source/JavaScriptCore:

  • config.h:

Source/WTF:

Contrary my previous claim in r238564, ENABLE_SEPARATED_WX_HEAP needs to be
defined in Platform.h because it is also needed in WebCore for the CSS JIT. Also
contrary to my previous claim, ENABLE(FAST_JIT_PERMISSIONS) is defined for WebCore
(and other projects) as well as JSC. Hence, there's no reason why
ENABLE_SEPARATED_WX_HEAP cannot be defined in Platform.h.

  • wtf/Platform.h:
5:11 PM Changeset in webkit [238649] by Nikita Vasilyev
  • 8 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles: enable selection of multiple properties by default
https://bugs.webkit.org/show_bug.cgi?id=192109
<rdar://problem/46323565>

Reviewed by Devin Rousso.

  • UserInterface/Base/Setting.js:
  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
Remove the checkbox.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor .property):
(.spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)):
(.spreadsheet-style-declaration-editor .property.selected):
(.spreadsheet-style-declaration-editor .property.selected:focus):
(.multiple-properties-selection .spreadsheet-style-declaration-editor .property): Deleted.
(.multiple-properties-selection .spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)): Deleted.
(.multiple-properties-selection .spreadsheet-style-declaration-editor .property.selected): Deleted.
(.multiple-properties-selection .spreadsheet-style-declaration-editor .property.selected:focus): Deleted.
Remove .multiple-properties-selection class.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):

  • UserInterface/Views/SpreadsheetTextField.js:

(WI.SpreadsheetTextField):
(WI.SpreadsheetTextField.prototype._handleFocus): Deleted.

4:09 PM Changeset in webkit [238648] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Audit: empty results folder is shown after clearing filters
https://bugs.webkit.org/show_bug.cgi?id=192106

Reviewed by Matt Baker.

  • UserInterface/Views/AuditNavigationSidebarPanel.js:

(WI.AuditNavigationSidebarPanel.prototype.applyFiltersToTreeElement): Added.

2:36 PM Changeset in webkit [238647] by Alan Coon
  • 5 edits in tags/Safari-607.1.15/Source/JavaScriptCore

Revert r238564. rdar://problem/46321015

2:36 PM Changeset in webkit [238646] by Alan Coon
  • 12 edits in tags/Safari-607.1.15

Revert r238597. rdar://problem/46321159

2:24 PM Changeset in webkit [238645] by Alan Coon
  • 1 copy in tags/Safari-607.1.15

Tag Safari-607.1.15.

2:19 PM Changeset in webkit [238644] by aakash_jain@apple.com
  • 1 edit
    1 add in trunk/Tools

[ews-app] Fetch bugs from Bugzilla and submit to Buildbot
https://bugs.webkit.org/show_bug.cgi?id=191947

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/fetcher.py: Added.
2:18 PM Changeset in webkit [238643] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mojave WK1 ] Layout Test fast/images/animated-image-different-dest-size.html fast/images/animated-image-loop-count.html is failing
https://bugs.webkit.org/show_bug.cgi?id=190383

Unreviewed Test Gardening.

  • platform/mac-wk1/TestExpectations:
2:12 PM Changeset in webkit [238642] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html is flaky on iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=192037

Reviewed by Eric Carlson.

The stats report JS map should be created when resolving the stats promise with WebCore RTCStatsReport.
But resolving the promise might fail in case of a page being suspended.
In that case, no JSRTCStatsReport is created and there is no backing map.
Update the code to reflect that.
Covered by existing test.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::getStats):

  • Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:

(WebCore::LibWebRTCStatsCollector::~LibWebRTCStatsCollector):
(WebCore::LibWebRTCStatsCollector::OnStatsDelivered):

  • Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.h:
2:12 PM Changeset in webkit [238641] by achristensen@apple.com
  • 2 edits in trunk/Tools

Fix iOS API test after r238585
https://bugs.webkit.org/show_bug.cgi?id=192022

  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(TEST):
On iOS, a safe browsing warning over a WKWebView with frame of {0, 0, 0, 0} has a size of {0, 0}, which is fine.
The test was added to catch a bug on Mac platforms, so testing it only on Mac will catch any regression.

2:11 PM Changeset in webkit [238640] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Configure python logging
https://bugs.webkit.org/show_bug.cgi?id=192005

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/init.py: Configured logging.
2:09 PM Changeset in webkit [238639] by Keith Rollin
  • 12 edits in trunk

Update generate-{derived,unified}-sources scripts to support generating .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192031
<rdar://problem/46286816>

Reviewed by Alex Christensen.

The Generate Derived Sources and Generate Unified Sources build phases
in Xcode need to have their inputs and outputs specified. This
specification will come in the form of .xcfilelist files that will be
attached to these build phases. There is one .xcfilelist file that
lists the input file and one that lists the output files. As part of
this work, the various generate-{derived,unified}-sources scripts that
are executed in these Generate build phases are modified to help in
the creation of these .xcfilelist files. In particular, they can now
be invoked with command-line parameters. These parameters are then
used to alter the normal execution of these scripts, causing them to
produce the .xcfilelist files as opposed to actually generating the
files that are listed in those files.

Source/JavaScriptCore:

  • Scripts/generate-derived-sources.sh:
  • Scripts/generate-unified-sources.sh:

Source/WebCore:

No new tests -- no changed functionality.

  • Scripts/generate-derived-sources.sh:
  • Scripts/generate-unified-sources.sh:

Source/WebKit:

  • Scripts/generate-derived-sources.sh:
  • Scripts/generate-unified-sources.sh:

Tools:

  • DumpRenderTree/Scripts/generate-derived-sources.sh:
  • WebKitTestRunner/Scripts/generate-derived-sources.sh:
2:07 PM Changeset in webkit [238638] by Keith Rollin
  • 2 edits in trunk/Source/WTF

Update generate-unified-source-bundles.rb to generate .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192029
<rdar://problem/46285918>

Reviewed by Alex Christensen.

Update generate-unified-source-bundles.rb to generate output for
.xcfilelist files. These files are used to indicate the sets of input
and output files to Run Script build phases in Xcode. By invoking
generate-unified-source-bundles.rb with -generate-xcfilelists, the
script generates these .xcfilelist files. These .xcfilelist files can
then be used to specify the inputs and outputs of the Generate Unified
Sources build phases.

  • Scripts/generate-unified-source-bundles.rb:
2:07 PM Changeset in webkit [238637] by Keith Rollin
  • 9 edits in trunk

Revert print_all_generated_files work in r238008; tighten up target specifications
https://bugs.webkit.org/show_bug.cgi?id=192025
<rdar://problem/46284301>

Reviewed by Alex Christensen.

In r238008, I added a facility for DerivedSources.make makefiles to
print out the list of files that they generate. This output was used
in the generation of .xcfilelist files used to specify the output of
the associated Generate Derived Sources build phases in Xcode. This
approach worked, but it meant that people would need to follow a
specific convention to keep this mechanism working.

Instead of continuing this approach, I'm going to implement a new
facility based on the output of make when passed the -d flag (which
prints dependency information). This new mechanism is completely
automatic and doesn't need maintainers to follow a convention. To that
end, remove most of the work performed in r238008 that supports the
print_all_generated_files target.

At the same time, it's important for the sets of targets and their
dependencies to be complete and correct. Therefore, also include
changes to bring those up-to-date. As part of that, you'll see
prevalent use of a particular technique. Here's an example:

BYTECODE_FILES = \

Bytecodes.h \
BytecodeIndices.h \
BytecodeStructs.h \
InitBytecodes.asm \

#
BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))

all : $(BYTECODE_FILES)

$(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb

...

These lines indicate a set of generated files (those specified in
BYTECODE_FILES). These files are generated by the BytecodeList.rb
tool. But, as opposed to the normal rule where a single foo.output is
generated by foo.input plus some additional dependencies, this rule
produces multiple output files from a tool whose connection to the
output files is not immediately clear. A special approach is needed
where a single rule produces multiple output files. The normal way to
implement this is to use an .INTERMEDIATE target. However, we used
this approach in the past and ran into a problem with it, addressing
it with an alternate approach in r210507. The above example shows this
approach. The .'s in the list of target files are replaced with %'s,
and the result is used as the left side of the dependency rule.

Source/JavaScriptCore:

  • DerivedSources.make:

Source/WebCore:

No new tests -- no changed functionality.

  • DerivedSources.make:

Source/WebKit:

  • DerivedSources.make:

Tools:

  • DumpRenderTree/DerivedSources.make:
  • WebKitTestRunner/DerivedSources.make:
1:59 PM Changeset in webkit [238636] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Add support to get list of Bugzilla patches needing review
https://bugs.webkit.org/show_bug.cgi?id=191942

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/common/bugzilla.py:

(Bugzilla.get_list_of_patches_needing_reviews): Get list of patches needing review.
(BugzillaBeautifulSoup.fetch_attachment_ids_from_review_queue): Copied from Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py
(BugzillaBeautifulSoup._load_query): Ditto.
(BugzillaBeautifulSoup._parse_attachment_ids_request_query): Ditto.

1:55 PM Changeset in webkit [238635] by dbates@webkit.org
  • 6 edits
    1 add in trunk

[iOS] Page not defocused when Find-in-page becomes first responder
https://bugs.webkit.org/show_bug.cgi?id=192084
<rdar://problem/46146777>

Reviewed by Tim Horton.

Source/WebKit:

When -becomeFirstResponder and -resignFirstResponder is called the page should become focused
and defocused, respectively. WebKit adjusts it behavior depending on whether it knows it has
focus. This includes decisions about whether to allow an element to be focused. We need to
ensure that WebKit knows whether the web view is focused for it to make good decisions.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewFocused): Check if the content view is the first responder and
hence is accepting keyboard input. Note that picture-in-picture views do not accept keyboard
input.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView becomeFirstResponderForWebView]): Update activity state when the view
becomes focused.
(-[WKContentView resignFirstResponderForWebView]): Update activity state when the view
becomes defocused.

Tools:

Add tests for both Mac and iOS to ensure that when finding a string on the page
that we do not start an input session if a match is found in an <input> and the
WKWebView is not the first responder.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: Added.

(-[WKWebViewFindStringInputDelegate _webView:didStartInputSession:]):
(-[WKWebViewFindStringFindDelegate findString]):
(-[WKWebViewFindStringFindDelegate _webView:didCountMatches:forString:]):
(-[WKWebViewFindStringFindDelegate _webView:didFindMatches:forString:withMatchIndex:]):
(-[WKWebViewFindStringFindDelegate _webView:didFailToFindString:]):
(returnNo):
(returnYes):
(viewIsFirstResponder):
(TestWebKitAPI::TEST):

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::PlatformWebView): Make the view the first responder before the
window key. This matches the ordering used in PlatformWebView::focus(). No behavior change.

1:49 PM Changeset in webkit [238634] by aakash_jain@apple.com
  • 1 edit
    3 adds in trunk/Tools

[ews-app] Add BeautifulSoup
https://bugs.webkit.org/show_bug.cgi?id=191994

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/thirdparty: Added.
  • BuildSlaveSupport/ews-app/ews/thirdparty/BeautifulSoup.py: Added.
  • BuildSlaveSupport/ews-app/ews/thirdparty/init.py: Added.
1:14 PM Changeset in webkit [238633] by achristensen@apple.com
  • 24 edits
    1 delete in trunk/Source

Remove dead code from an earlier attempt at implementing safe browsing
https://bugs.webkit.org/show_bug.cgi?id=192067

Reviewed by Chris Dumez.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.cpp:

(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • loader/EmptyFrameLoaderClient.h:
  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::setShouldSkipSafeBrowsingCheck): Deleted.
(WebCore::FrameLoadRequest::shouldSkipSafeBrowsingCheck): Deleted.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::loadPostRequest):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::loadWithNavigationAction):

  • loader/FrameLoaderClient.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

  • loader/PolicyChecker.h:
  • loader/ShouldSkipSafeBrowsingCheck.h: Removed.

Source/WebKit:

  • Shared/LoadParameters.cpp:

(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):

  • Shared/LoadParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsync):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebCoreSupport/WebFrameLoaderClient.h:
1:11 PM Changeset in webkit [238632] by achristensen@apple.com
  • 16 edits in trunk/Source/WebCore

Add SessionIDs wherever BlobURLs are used in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=192062

Reviewed by Dean Jackson.

Just adding infrastructure for fixing "the blob bug"

  • Modules/indexeddb/IDBDatabaseIdentifier.cpp:

(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
(WebCore::IDBDatabaseIdentifier::isolatedCopy const):

  • Modules/indexeddb/IDBDatabaseIdentifier.h:

(WebCore::IDBDatabaseIdentifier::hash const):
(WebCore::IDBDatabaseIdentifier::sessionID const):
(WebCore::IDBDatabaseIdentifier::encode const):
(WebCore::IDBDatabaseIdentifier::decode):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::putOrAddOnServer):

  • Modules/indexeddb/IDBValue.cpp:

(WebCore::IDBValue::IDBValue):
(WebCore::IDBValue::setAsIsolatedCopy):

  • Modules/indexeddb/IDBValue.h:

(WebCore::IDBValue::sessionID const):
(WebCore::IDBValue::encode const):
(WebCore::IDBValue::decode):

  • Modules/indexeddb/server/MemoryIndexCursor.cpp:

(WebCore::IDBServer::MemoryIndexCursor::currentData):

  • Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:

(WebCore::IDBServer::MemoryObjectStoreCursor::currentData):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::getBlobRecordsForObjectStoreRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getAllObjectStoreRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetIndexRecordForOneKey):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::SQLiteIDBCursor::internalFetchNextRecord):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::deserializeIDBValueToJSValue):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDBSynchronously):

  • bindings/js/SerializedScriptValue.h:

(WebCore::SerializedScriptValue::sessionID const):

1:09 PM Changeset in webkit [238631] by aakash_jain@apple.com
  • 2 edits
    2 adds in trunk/Tools

[ews-app] Add support to download Patch from Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=191943

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/common/bugzilla.py: Added.

(Bugzilla.retrieve_attachment): Retreives the attachment from Bugzilla and saves to disk.
(Bugzilla._fetch_attachment_json):
(Bugzilla.file_path_for_patch):

  • BuildSlaveSupport/ews-app/ews/common/util.py: Added.

(fetch_data_from_url): Method to fetch data from given url.

  • BuildSlaveSupport/ews-app/ews/config.py:
1:09 PM Changeset in webkit [238630] by achristensen@apple.com
  • 15 edits in trunk/Source/WebKit

Move logCookieInformation bool from NetworkProcess to NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=192049

Reviewed by Chris Dumez.

Part of an effort to remove globals in the NetworkProcess.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::shouldLogCookieInformation const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
(WebKit::NetworkResourceLoader::shouldLogCookieInformation):
(WebKit::NetworkResourceLoader::logCookieInformation const):
(WebKit::logBlockedCookieInformation):
(WebKit::logCookieInformationInternal):
(WebKit::NetworkResourceLoader::logCookieInformation):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::logCookieInformation const):

  • NetworkProcess/NetworkSessionCreationParameters.h:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

12:53 PM Changeset in webkit [238629] by Justin Fan
  • 16 edits
    12 copies
    3 adds in trunk

[WebGPU] Begin implementation of WebGPURenderPassEncoder and barebones WebGPURenderPassDescriptor
https://bugs.webkit.org/show_bug.cgi?id=191990

Reviewed by Dean Jackson.

Source/WebCore:

Begin implementation of WebGPURenderPassEncoder and its parent interface, WebGPUProgrammablePassEncoder.
Also add code to allow creation of a primitive WebGPURenderPassDescriptor with the sole purpose of providing
a WebGPUTextureView reference to the render pass creation function, WebGPUCommandBuffer::beginRenderPass().

Test: webgpu/render-passes.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/webgpu/WebGPUCommandBuffer.cpp:

(WebCore::WebGPUCommandBuffer::WebGPUCommandBuffer):
(WebCore::WebGPUCommandBuffer::beginRenderPass): Added. Returns a WebGPURenderPassEncoder upon success.

  • Modules/webgpu/WebGPUCommandBuffer.h:
  • Modules/webgpu/WebGPUCommandBuffer.idl:
  • Modules/webgpu/WebGPUProgrammablePassEncoder.cpp: Added.
  • Modules/webgpu/WebGPUProgrammablePassEncoder.h: Added.
  • Modules/webgpu/WebGPUProgrammablePassEncoder.idl: Added. Empty (for now) interface parenting WebGPURenderPassEncoder.
  • Modules/webgpu/WebGPURenderPassDescriptor.h:
  • Modules/webgpu/WebGPURenderPassDescriptor.idl: Added. Directly handles a WebGPUTextureView attachment; all other color attachment properties set by implementation for now.
  • Modules/webgpu/WebGPURenderPassEncoder.cpp: Added.

(WebCore::WebGPURenderPassEncoder::create):
(WebCore::WebGPURenderPassEncoder::WebGPURenderPassEncoder):
(WebCore::WebGPURenderPassEncoder::passEncoder const):

  • Modules/webgpu/WebGPURenderPassEncoder.h: Added. Interface to GPURenderPassEncoder.
  • Modules/webgpu/WebGPURenderPassEncoder.idl: Added. Allows WebGPU developer to encode commands for the WebGPUCommandBuffer.
  • Modules/webgpu/WebGPUTextureView.cpp:

(WebCore::WebGPUTextureView::WebGPUTextureView):

  • Modules/webgpu/WebGPUTextureView.h:

(WebCore::WebGPUTextureView::texture):

  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • platform/graphics/gpu/GPUCommandBuffer.h:

(WebCore::GPUCommandBuffer::platformCommandBuffer const):

  • platform/graphics/gpu/GPUProgrammablePassEncoder.h: Added. Base class for GPURenderPassEncoder.
  • platform/graphics/gpu/GPURenderPassDescriptor.h: Added.
  • platform/graphics/gpu/GPURenderPassEncoder.h: Added. Wrapper class for MTLRenderCommandEncoder.
  • platform/graphics/gpu/GPUTexture.h:

(WebCore::GPUTexture::platformTexture const):

  • platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm: Added.
  • platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm: Added.

(WebCore::GPURenderPassEncoder::create): Creates the backing MTLRenderCommandEncoder; returns null if this fails.
(WebCore::GPURenderPassEncoder::GPURenderPassEncoder):
(WebCore::GPURenderPassEncoder::~GPURenderPassEncoder): End encoding before destroying the MTLCommandEncoder to prevent an exception.
(WebCore::GPURenderPassEncoder::platformPassEncoder const):

LayoutTests:

Add tests to ensure proper WebGPURenderPassEncoder creation. To be updated as WebGPURenderPassDescriptor is updated.

  • webgpu/js/basic-webgpu-functions.js:

(render):

  • webgpu/render-passes-expected.txt: Added.
  • webgpu/render-passes.html: Added.
12:28 PM Changeset in webkit [238628] by commit-queue@webkit.org
  • 9 edits in trunk

[XHR] Document.lastModified doesn't work for non-rendered documents
https://bugs.webkit.org/show_bug.cgi?id=179375

Patch by Rob Buis <rbuis@igalia.com> on 2018-11-28
Reviewed by Alexey Proskuryakov.

LayoutTests/imported/w3c:

  • web-platform-tests/xhr/responsexml-document-properties-expected.txt:

Source/WebCore:

Add setOverrideLastModified to override last modified date for
standalone Documents.

Behavior matches Firefox and Chrome.

Test: web-platform-tests/xhr/responsexml-document-properties.htm

  • dom/Document.cpp:

(WebCore::Document::overrideLastModified):
(WebCore::Document::lastModified const): no need to test m_frame since that's already done in loader().
(WebCore::Document::lastModified): Deleted.

  • dom/Document.h:
  • xml/XMLHttpRequest.cpp:

LayoutTests:

Unskip responsexml-document-properties.htm since the dynamic message is gone.

12:12 PM Changeset in webkit [238627] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Add methods to update Patch fields
https://bugs.webkit.org/show_bug.cgi?id=191931

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/models/patch.py:

(Patch.set_sent_to_buildbot):
(Patch.set_bug_id):
(Patch.set_obsolete):

11:47 AM Changeset in webkit [238626] by Matt Baker
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused DataGrid and TreeOutline code
https://bugs.webkit.org/show_bug.cgi?id=191622
<rdar://problem/46052014>

Reviewed by Devin Rousso.

  • UserInterface/Views/CanvasDetailsSidebarPanel.js:

(WI.CanvasDetailsSidebarPanel.prototype.initialLayout):

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype.insertChildElement):

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline):
(WI.DOMTreeOutline.prototype.update):

  • UserInterface/Views/DataGrid.js:

(WI.DataGrid.prototype.removeChildrenRecursive): Deleted.

  • UserInterface/Views/DataGridNode.js:

(WI.DataGridNode.prototype.removeChildren):
(WI.DataGridNode.prototype.removeChildrenRecursive): Deleted.

  • UserInterface/Views/ErrorObjectView.css:

(.error-object:not(.expanded) .content):
(.error-object .content):
(.error-object:not(.expanded) .tree-outline): Deleted.
(.error-object .tree-outline): Deleted.

  • UserInterface/Views/ErrorObjectView.js:

(WI.ErrorObjectView):
(WI.ErrorObjectView.prototype.get treeOutline): Deleted.
Use a simple container since TreeOutline features aren't used,
and remove unused property treeOutline.

  • UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:

(WI.RecordingTraceDetailsSidebarPanel):

  • UserInterface/Views/TreeElement.js:

(WI.TreeElement.prototype.removeChildren):
(WI.TreeElement.prototype.removeChildrenRecursive): Deleted.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline):
(WI.TreeOutline.prototype.removeChildrenRecursive): Deleted.
(WI.TreeOutline.prototype.reattachIfIndexChanged): Deleted.
Removed element parameter now that the only use case has been removed.

11:05 AM Changeset in webkit [238625] by Ryan Haddad
  • 3 edits in trunk/Source/WebKit

Unreviewed, rolling out r238620.

Broke internal builds again.

Reverted changeset:

"Remove @no-unify of InjectedBundleRangeHandle.cpp and
InjectedBundleNodeHandle.cpp"
https://bugs.webkit.org/show_bug.cgi?id=191853
https://trac.webkit.org/changeset/238620

10:56 AM Changeset in webkit [238624] by fred.wang@free.fr
  • 2 edits in trunk/LayoutTests

[iOS Simulator Release WK2] media/no-fullscreen-when-hidden.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=192088

Unreviewed test gardening.

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-28

  • platform/ios-wk2/TestExpectations: Mark media/no-fullscreen-when-hidden.html as flaky.
10:50 AM Changeset in webkit [238623] by commit-queue@webkit.org
  • 22 edits
    4 adds in trunk

Allow WebKit clients to specify a minimum effective width for layout.
https://bugs.webkit.org/show_bug.cgi?id=191499
<rdar://problem/45362678>

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2018-11-28
Reviewed by Wenson Hsieh.

Source/WebCore:

If we ignore the meta viewport (_shouldIgnoreMetaViewport is true), the default layout width will be device
width. For clients that wish to lay out the content with a different width value, we would need to add a way
to specify the effective width for layout.

Tests: fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html

fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport.html

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::setViewLayoutSize): Add a new argument effectiveWidth.
(WebCore::ViewportConfiguration::nativeWebpageParameters): Make sure minimumScale for nativeWebpageParameters

is small enough so that it won't clamp out the initial scale. If content is wider than the viewport, this
ensures we can still zoom out the page.

(WebCore::ViewportConfiguration::updateConfiguration): update _minimumEffectiveDeviceWidth and apply that to

the layout size scale computation.

(WebCore::ViewportConfiguration::effectiveLayoutSizeScaleFactor): A helper method to return the effective

layout scale factor which is also effected by _minimumEffectiveDeviceWidth.

(WebCore::ViewportConfiguration::updateMinimumLayoutSize): Update m_minimumLayoutSize based on effectiveLayoutSizeScaleFactor().
(WebCore::ViewportConfiguration::description const): Also dump m_minimumEffectiveDeviceWidth.

  • page/ViewportConfiguration.h: Add a member variable m_minimumEffectiveDeviceWidth.

Source/WebKit:

If we ignore the meta viewport (_shouldIgnoreMetaViewport is true), the default layout width will be device
width. For clients that wish to lay out the content with a different width value, we would need to add a way
to specify the effective width for layout.

  • UIProcess/API/Cocoa/WKWebView.mm: Add an iVar _minimumEffectiveDeviceWidth.

(-[WKWebView _dispatchSetViewLayoutSize:]): Call the new setViewportConfigurationViewLayoutSize method.
(-[WKWebView _setViewScale:]): Ditto.
(-[WKWebView _setMinimumEffectiveWidth:]): The setter for _minimumEffectiveDeviceWidth.
(-[WKWebView _minimumEffectiveWidth]): Getter for _minimumEffectiveDeviceWidth

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Add a property _minimumEffectiveDeviceWidth to WKWebView.
  • UIProcess/WebPageProxy.h: Change setViewportConfigurationViewLayoutSize to take another argument minimumEffectiveDeviceWidth.
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setViewportConfigurationViewLayoutSize): Also send effectiveWidth to WebContent process.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Set the initial effective width to 0 when creating a web page, this tells ViewportConfiguration

to ignore the minimum effective width value.

  • WebProcess/WebPage/WebPage.h: Change setViewportConfigurationViewLayoutSize to take another argument effectiveWidth.
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setViewportConfigurationViewLayoutSize): Also pass effectiveWidth value to ViewportConfiguration.

Tools:

Allow UIScriptController to set WKWebView's minimum effective width with a new setMinimumEffectiveWidth method.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::setMinimumEffectiveWidth):

  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::setViewScale):
(WTR::UIScriptController::setMinimumEffectiveWidth):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::setMinimumEffectiveWidth):

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/UIScriptControllerCocoa.mm:

(WTR::UIScriptController::setMinimumEffectiveWidth):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::cocoaResetStateToConsistentValues):

LayoutTests:

Add two new tests. The first test verifies if we ignore meta viewport, setting a different effective width value
will change the layout width of the page. The second test verifies if we don't ignore meta viewport, we will always
respect that (980pt) and setting a different effective width value won't change the layout width.

  • fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport-expected.txt: Added.
  • fast/viewport/ios/ipad/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: Added.
  • fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport-expected.txt: Added.
  • fast/viewport/ios/ipad/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.setMinimumEffectiveWidth): Add a helper method to set the minimum effective width from a test.
(window.UIHelper):

10:24 AM Changeset in webkit [238622] by stephan.szabo@sony.com
  • 4 edits in trunk/Source/WebCore

Make generic EventHandler methods
https://bugs.webkit.org/show_bug.cgi?id=192032

Reviewed by Michael Catanzaro.

No new tests. No new behavior.

Move mostly generic for non-Apple platform implementations
of methods from EventHandlerGlib into EventHandler. Two
of these also had different Windows implementations, so
to limit behavior change from this, those are currently
overridden for Windows as well as Mac and IOS.

  • page/EventHandler.cpp:

(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::widgetDidHandleWheelEvent):
(WebCore::EventHandler::tabsToAllFormControls const):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::EventHandler::focusDocumentView):
(WebCore::EventHandler::eventActivatedView const):
(WebCore::EventHandler::passMouseMoveEventToSubframe):

  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMousePressEventToSubframe): Deleted.
(WebCore::EventHandler::passMouseReleaseEventToSubframe): Deleted.
(WebCore::EventHandler::widgetDidHandleWheelEvent): Deleted.
(WebCore::EventHandler::tabsToAllFormControls const): Deleted.
(WebCore::EventHandler::focusDocumentView): Deleted.
(WebCore::EventHandler::passWidgetMouseDownEventToWidget): Deleted.
(WebCore::EventHandler::accessKeyModifiers): Deleted.

  • platform/glib/EventHandlerGLib.cpp:

(WebCore::EventHandler::tabsToAllFormControls const): Deleted.
(WebCore::EventHandler::focusDocumentView): Deleted.
(WebCore::EventHandler::passWidgetMouseDownEventToWidget): Deleted.
(WebCore::EventHandler::passMouseDownEventToWidget): Deleted.
(WebCore::EventHandler::eventActivatedView const): Deleted.
(WebCore::EventHandler::widgetDidHandleWheelEvent): Deleted.
(WebCore::EventHandler::passMousePressEventToSubframe): Deleted.
(WebCore::EventHandler::passMouseMoveEventToSubframe): Deleted.
(WebCore::EventHandler::passMouseReleaseEventToSubframe): Deleted.
(WebCore::EventHandler::accessKeyModifiers): Deleted.

10:16 AM Changeset in webkit [238621] by Alan Coon
  • 7 edits in branches/safari-606-branch/Source

Versioning.

10:16 AM Changeset in webkit [238620] by Fujii Hironori
  • 3 edits in trunk/Source/WebKit

Remove @no-unify of InjectedBundleRangeHandle.cpp and InjectedBundleNodeHandle.cpp
https://bugs.webkit.org/show_bug.cgi?id=191853

Reviewed by Michael Catanzaro.

In r235845, I excluded InjectedBundleRangeHandle.cpp and
InjectedBundleNodeHandle.cpp from unify source builds in order to
work around a MSVC bug.

Then, I commited a different workaround for the MSVC bug in
r238386. Now, we can include InjectedBundleRangeHandle.cpp and
InjectedBundleNodeHandle.cpp in unified source builds. Revert
r235845.

  • Sources.txt: Removed @no-unify of InjectedBundleRangeHandle.cpp

and InjectedBundleNodeHandle.cpp

  • WebKit.xcodeproj/project.pbxproj: Unchecked Target Membership

not to be compiled by XCode.

10:05 AM Changeset in webkit [238619] by Michael Catanzaro
  • 3 edits in trunk

[CMake] Automatically disable JIT and enable USE_SYSTEM_MALLOC on unfamiliar architectures
https://bugs.webkit.org/show_bug.cgi?id=186722

Reviewed by Žan Doberšek.

Time for part #2! This change was defeated for GTK and WPE by the code that makes the
options public. We have three options: (a) duplicate the architecture check currently in
WebKitFeatures.cmake in both OptionsGTK.cmake and OptionsWPE.cmake, (b) rely on the result
of that check in OptionsGTK.cmake and OptionsWPE.cmake by using ENABLE_JIT_DEFAULT and
USE_SYSTEM_MALLOC_DEFAULT, a fragile encapsulation violation, or (c) just make the options
private. They have been public up until now because they needed to be turned off on
unsupported architectures. But now they are off by default and enabled only for particular
whitelisted architectures, so they shouldn't be needed anymore.

Note we have to hide ENABLE_SAMPLING_PROFILER as well, since it needs to match the value of
ENABLE_JIT. Again, this is handled properly in WebKitFeatures.cmake, and defeated here in
OptionsGTK.cmake. (This is not a problem for WPE.)

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
9:52 AM Changeset in webkit [238618] by Lucas Forschler
  • 2 edits in trunk/Tools

Fix webkitbot hi command.
https://bugs.webkit.org/show_bug.cgi?id=192080

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/irc_command.py:

(Hi.execute):

9:51 AM Changeset in webkit [238617] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit

Web Inspector: REGRESSION(r238378): reloading WebInspector after a settings change doesn't re-show WebInspector
https://bugs.webkit.org/show_bug.cgi?id=191971

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-11-28
Reviewed by Matt Baker.

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::reopen): Deleted.

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

Move reopen out of the WebProcess...

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::reopen):

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebInspectorProxy.messages.in:

And into the UIProcess where the order of messages won't
be as problematic.

  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::reopen):
Send a message to the WebInspectorProxy instead.

9:33 AM Changeset in webkit [238616] by Kocsen Chung
  • 7 edits in trunk/Source

Versioning.

9:28 AM Changeset in webkit [238615] by ap@apple.com
  • 4 edits in trunk/Source

Remove another OS version check from NetworkDataTaskCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=192046

Reviewed by Alex Christensen.

Source/WebKit:

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::statelessCookieStorage):

Source/WTF:

  • wtf/Platform.h:
9:19 AM Changeset in webkit [238614] by ap@apple.com
  • 6 edits in trunk/Source

Modernize version checks for same site cookie support
https://bugs.webkit.org/show_bug.cgi?id=192054

Reviewed by Tim Horton.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::updateTaskWithFirstPartyForSameSiteCookies):

Also removed runtime checks, which are no longer relevant.

Source/WTF:

  • wtf/Platform.h:
9:17 AM Changeset in webkit [238613] by Alan Bujtas
  • 5 edits in trunk

[LFC][Quirk] Use non-collapsed vertical margin values when the container is stretched to the size of the ICB.
https://bugs.webkit.org/show_bug.cgi?id=192078

Reviewed by Antti Koivisto.

Source/WebCore:

This quirk happens when the body height is 0 which means its vertical margins collapse through (top and bottom margins are adjoining).
However now that we stretch the body they don't collapse through anymore, so we need to use the non-collapsed values instead.

  • layout/LayoutUnits.h:

(WebCore::Layout::HeightAndMargin::usedMarginValues const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::stretchHeightToInitialContainingBlock):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:
8:50 AM Changeset in webkit [238612] by Keith Rollin
  • 2 edits in trunk/Source/JavaScriptCore

Remove Postprocess Headers dependencies
https://bugs.webkit.org/show_bug.cgi?id=192023
<rdar://problem/46283377>

Reviewed by Mark Lam.

JavaScriptCore's Xcode Postprocess Headers build phase used to have a
dependency on a specific handful of files. In r234227, the script used
in this phase (postprocess-headers.sh) was completely rewritten to
operate on *all* files in JSC's Public and Private headers directories
instead of just this handful. This rewrite makes the previous
dependency specification insufficient, leading to incorrect
incremental builds if the right files weren't touched. Address this by
removing the dependencies completely. This will cause
postprocess-headers.sh to always be executed, even when none of its
files are touch. Running this script all the time is OK, since it has
built-in protections against unnecessarily touching files that haven't
changed.

7:30 AM Changeset in webkit [238611] by Alan Bujtas
  • 5 edits in trunk

[LFC] Add support for quirk container's collapsing top margin in quirks mode.
https://bugs.webkit.org/show_bug.cgi?id=192070

Reviewed by Antti Koivisto.

Source/WebCore:

In quirk mode when the top margin collapsing is computed for a quirk container (body, table cell) and the canditate margin value is
also a quirk value, we just ignore it.

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::isQuirkContainer):
(WebCore::Layout::hasMarginTopQuirkValue):
(WebCore::Layout::shouldIgnoreMarginTopInQuirkContext):
(WebCore::Layout::isMarginTopCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginTop):

  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::isTableCell const):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:
7:06 AM Changeset in webkit [238610] by ajuma@chromium.org
  • 3 edits
    2 adds in trunk

Intersection Observer: rootMargin: gives weird results
https://bugs.webkit.org/show_bug.cgi?id=191975

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Add test coverage.

  • web-platform-tests/intersection-observer/empty-root-margin-expected.txt: Added.
  • web-platform-tests/intersection-observer/empty-root-margin.html: Added.

Source/WebCore:

When converting the rootMargin string into a LengthBox, explicitly construct a Length
of size 0px for each dimension, instead of using Length's default constructor. The
default constructor creates a Length with value Auto, which causes us to incorrectly
apply a non-zero rootMargin.

Test: imported/w3c/web-platform-tests/intersection-observer/empty-root-margin.html

  • page/IntersectionObserver.cpp:

(WebCore::parseRootMargin):

6:56 AM Changeset in webkit [238609] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk

[WebRTC][GStreamer] Make sure to have the default microphone on the top of the list
https://bugs.webkit.org/show_bug.cgi?id=192026

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-28
Reviewed by Philippe Normand.

Otherwise we might end up picking a useless one in some applications
(not sure what those application do though).

GStreamer patch proposed as https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/34/diffs

Source/WebCore:

  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:

(WebCore::sortDevices):
(WebCore::GStreamerCaptureDeviceManager::addDevice):
(WebCore::GStreamerCaptureDeviceManager::refreshCaptureDevices):

  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h:

Tools:

  • flatpak/org.webkit.CommonModules.yaml:
  • gstreamer/jhbuild.modules:
  • gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Added.
5:50 AM Changeset in webkit [238608] by tpopela@redhat.com
  • 2 edits in trunk/Tools

[GTK] Silence compilation warnings in glib unittests
https://bugs.webkit.org/show_bug.cgi?id=192009

Reviewed by Michael Catanzaro.

Mark the destructor as virtual.

  • TestWebKitAPI/glib/WebKitGLib/TestMain.h:

(Test::~Test):

4:51 AM Changeset in webkit [238607] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WebRTC][GStreamer] Tag all cameras with as 'Unknown' facing mode
https://bugs.webkit.org/show_bug.cgi?id=192028

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-28
Reviewed by Philippe Normand.

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::capabilities):

4:41 AM Changeset in webkit [238606] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[WebRTC][GStreamer] Use a GUniquePtr to hold the GstAudioConverter in our OutgoingAudioSource
https://bugs.webkit.org/show_bug.cgi?id=192027

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-28
Reviewed by Xabier Rodriguez-Calvar.

Cleaning up a bit the code.

It is a minor refactoring, no new test required.

  • platform/graphics/gstreamer/GUniquePtrGStreamer.h:
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::~RealtimeOutgoingAudioSourceLibWebRTC):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
4:40 AM Changeset in webkit [238605] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer][WebRTC] Do not run device monitor for device type we do not handle
https://bugs.webkit.org/show_bug.cgi?id=191904

This is useless work and it throws warning about use GstDeviceMonitor without filters.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-28
Reviewed by Philippe Normand.

  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:

(WebCore::GStreamerCaptureDeviceManager::refreshCaptureDevices):

12:28 AM Changeset in webkit [238604] by rwlbuis@webkit.org
  • 5 edits in trunk

Block more ports (427, 548, 6697)
https://bugs.webkit.org/show_bug.cgi?id=186092

Reviewed by Frédéric Wang.

Update request-bad-port.html to latest version.

  • web-platform-tests/fetch/api/request/request-bad-port-expected.txt:
  • web-platform-tests/fetch/api/request/request-bad-port.html:

Nov 27, 2018:

10:53 PM Changeset in webkit [238603] by achristensen@apple.com
  • 2 edits in branches/safari-606-branch/Source/WebKit

Build fix after r238572
<rdar://problem/46259202>

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer):
JSC::ExecutableAllocator is protected by ENABLE(ASSEMBLER).
When there is no assembler, there is no JIT to disable.

10:49 PM Changeset in webkit [238602] by Matt Baker
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Elements tab should allow selecting/deleting multiple DOM nodes
https://bugs.webkit.org/show_bug.cgi?id=192059
<rdar://problem/46294827>

Reviewed by Devin Rousso.

Enable multiple DOM node selection in the DOMTreeContentView.

  • UserInterface/Controllers/SelectionController.js:

(WI.SelectionController):
(WI.SelectionController.prototype.get allowsEmptySelection):
(WI.SelectionController.prototype.set allowsEmptySelection):
Allow clients to control whether the last selected item can be deselected.
(WI.SelectionController.prototype.deselectItem):
(WI.SelectionController.prototype.didInsertItem):
Rewritten to prevent infinite loop.
(WI.SelectionController.prototype.didRemoveItem):
(WI.SelectionController.prototype._updateSelectedItems):
(WI.SelectionController.prototype._adjustIndexesAfter): Deleted.

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView):

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype.updateSelectionArea):

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype.updateSelection):
Updating the selection area DOM element should not assume that only one
TreeElement is selected at a time.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype.get allowsEmptySelection):
(WI.TreeOutline.prototype.set allowsEmptySelection):
(WI.TreeOutline.prototype.set selectedTreeElement):
(WI.TreeOutline.prototype.get selectedTreeElements):
(WI.TreeOutline.prototype._treeKeyDown):

  • UserInterface/Views/TreeOutlineGroup.js:

(WI.TreeOutlineGroup):
(WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
Eliminate use of TreeElement.prototype.deselect.

8:48 PM Changeset in webkit [238601] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

Log WebRTC stats in inspector console only when setting is verbose
https://bugs.webkit.org/show_bug.cgi?id=192014

Reviewed by Eric Carlson.

Add a WebRTCStats channel that is used by default to output WebRTC stats in console.
When WebRTC Debug logging is enabled, log WebRTC stats in WebRTC channel,
so that they appear as debug information in Web Inspector.

No change of JS behavior.
Covered by manually testing what is logged in inspector and console.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):

  • platform/Logging.h:
7:05 PM Changeset in webkit [238600] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Fix the mis-spelled "m_clienstWaitingForAsyncDecoding"
https://bugs.webkit.org/show_bug.cgi?id=192060

Reviewed by Wenson Hsieh.

Fix the mis-spelling of "m_clienstWaitingForAsyncDecoding".

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didRemoveClient):
(WebCore::CachedImage::isClientWaitingForAsyncDecoding const):
(WebCore::CachedImage::addClientWaitingForAsyncDecoding):
(WebCore::CachedImage::removeAllClientsWaitingForAsyncDecoding):
(WebCore::CachedImage::allClientsRemoved):
(WebCore::CachedImage::clear):
(WebCore::CachedImage::createImage):
(WebCore::CachedImage::imageFrameAvailable):

  • loader/cache/CachedImage.h:
6:55 PM Changeset in webkit [238599] by Matt Baker
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: TreeOutline should re-use multiple-selection logic from Table
https://bugs.webkit.org/show_bug.cgi?id=191483
<rdar://problem/45953305>

Reviewed by Devin Rousso.

Update TreeOutline to use SelectionController. Adopting SelectionController
in TreeOutline is not as straightforward as it was in Table. Selected items
are tracked by index, and TreeElement lacks an explicit index. As a consequence
TreeElement indexes are calcualted as needed and cached. The cache is cleared
whenever an element is added or removed.

  • UserInterface/Controllers/SelectionController.js:

(WI.SelectionController.prototype.didInsertItem):
(WI.SelectionController.prototype.didRemoveItem):
(WI.SelectionController.prototype.handleKeyDown):
Drive-by syntax error fix.
(WI.SelectionController.prototype._adjustIndexesAfter):
(WI.SelectionController):

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype.canSelectOnMouseDown):
(WI.DOMTreeElement.prototype.selectOnMouseDown): Deleted.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype._onmousedown):
Item selection is now handled by SelectionController.

  • UserInterface/Views/ShaderProgramTreeElement.js:

(WI.ShaderProgramTreeElement.prototype.canSelectOnMouseDown):
(WI.ShaderProgramTreeElement.prototype.selectOnMouseDown): Deleted.

  • UserInterface/Views/TreeElement.js:

(WI.TreeElement.prototype.canSelectOnMouseDown):
(WI.TreeElement.prototype._attach):
(WI.TreeElement.prototype.select):
(WI.TreeElement.prototype.deselect):
Route item selection through the parent TreeOutline, in order to go though
the TreeOutline's SelectionController.

(WI.TreeElement.treeElementMouseDown): Deleted.
Moved handler to TreeOutline, which owns the SelectionController that
needs to respond to mouse events.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline):
(WI.TreeOutline.prototype.get allowsMultipleSelection):
(WI.TreeOutline.prototype.set allowsMultipleSelection):
(WI.TreeOutline.prototype.get selectedTreeElement):
(WI.TreeOutline.prototype.set selectedTreeElement):
(WI.TreeOutline.prototype.insertChild):
(WI.TreeOutline.prototype.removeChildAtIndex):
(WI.TreeOutline.prototype._rememberTreeElement):
(WI.TreeOutline.prototype._forgetTreeElement):
(WI.TreeOutline.prototype._treeKeyDown):
(WI.TreeOutline.prototype.selectionControllerNumberOfItems):
(WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
(WI.TreeOutline.prototype.selectionControllerNextSelectableIndex):
(WI.TreeOutline.prototype.selectionControllerPreviousSelectableIndex):
(WI.TreeOutline.prototype.selectTreeElementInternal):
(WI.TreeOutline._generateStyleRulesIfNeeded._indexOfTreeElement.previousElement):
(WI.TreeOutline._generateStyleRulesIfNeeded):

6:16 PM Changeset in webkit [238598] by jiewen_tan@apple.com
  • 4 edits in trunk/LayoutTests

Unreviewed, test gardening

Add a time out parameter to the following test cases such that WebAuthN requests will timeout
themselves instead of letting the wpt wrapper or test runner kill them.

  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-hid.https.html:
  • platform/mac-wk2/TestExpectations:
6:10 PM Changeset in webkit [238597] by mark.lam@apple.com
  • 12 edits in trunk

ENABLE_FAST_JIT_PERMISSIONS should be false for iosmac.
https://bugs.webkit.org/show_bug.cgi?id=192055
<rdar://problem/46288783>

Reviewed by Saam Barati.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests needed. Removing an invalid configuration that is not used in WebCore.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
6:03 PM Changeset in webkit [238596] by sbarati@apple.com
  • 3 edits
    1 add in trunk

r238510 broke scopes of size zero
https://bugs.webkit.org/show_bug.cgi?id=192033
<rdar://problem/46281734>

Reviewed by Keith Miller.

JSTests:

  • stress/r238510-bad-loop.js: Added.

(foo):

Source/JavaScriptCore:

In r238510, I wrote the loop like this:
for (ScopeOffset offset { 0 }; offset <= symbolTable->maxScopeOffset(); offset += 1)

This breaks for scopes of size zero because maxScopeOffset() will be UINT_MAX.

This patch fixes this by writing the loop as:
for (unsigned offset = 0; offset < symbolTable->scopeSize(); ++offset)

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
5:48 PM Changeset in webkit [238595] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ASSERTION FAILED: capacity && isPageAligned(capacity) in JSC::CLoopStack::CLoopStack(JSC::VM&).
https://bugs.webkit.org/show_bug.cgi?id=192018

Reviewed by Saam Barati.

This assertion failed because the regress-191579.js test was specifying
--maxPerThreadStackUsage=400000 i.e. it was running with a stack size that is not
page aligned. Given that the user can specify any arbitrary stack size, and the
CLoop stack expects to be page aligned, we'll just round up the requested capacity
to the next page alignment.

  • interpreter/CLoopStack.cpp:

(JSC::CLoopStack::CLoopStack):

5:45 PM Changeset in webkit [238594] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Experimental Computed panel is unreadable in Dark Mode
https://bugs.webkit.org/show_bug.cgi?id=192053

Reviewed by Matt Baker.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(@media (prefers-dark-interface)):
(.computed-with-traces .details-section.computed-style-properties:not(.collapsed) > :matches(.header, .content)):

  • UserInterface/Views/ComputedStyleSection.css:

(.computed-style-section .computed-property-item.expanded):
(.computed-style-section .computed-property-item.expanded + .computed-property-item):
(@media (prefers-dark-interface)):

5:44 PM Changeset in webkit [238593] by commit-queue@webkit.org
  • 13 edits in trunk

Make synchronous IPC introduced in r237267 asynchronous
https://bugs.webkit.org/show_bug.cgi?id=190757

Patch by Alex Christensen <achristensen@webkit.org> on 2018-11-27
Reviewed by Chris Dumez.

Source/WebKit:

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _getActivePagesOriginsInWebProcessForTesting:completionHandler:]):
(-[WKProcessPool _getActivePagesOriginsInWebProcessForTesting:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::activePagesOriginsInWebProcessForTesting):

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

(WebKit::WebProcessProxy::activePagesDomainsForTesting):

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

(WebKit::WebProcess::getActivePagesOriginsForTesting):

  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::getActivePagesOriginsForTesting):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
5:14 PM Changeset in webkit [238592] by Chris Dumez
  • 186 edits
    3 copies
    159 adds
    11 deletes in trunk/LayoutTests

Resync service-workers web platform tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=192035

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Resync service-workers web platform tests from upstream 73507a79fc.

  • web-platform-tests/: Updated.

LayoutTests:

4:30 PM Changeset in webkit [238591] by Alan Coon
  • 1 copy in tags/Safari-606.4.1.2.2

Tag Safari-606.4.1.2.2.

4:29 PM Changeset in webkit [238590] by Jonathan Bedard
  • 2 edits
    5 adds in trunk/Tools

webkitpy: Add watchOS ports
https://bugs.webkit.org/show_bug.cgi?id=191974
<rdar://problem/46251051>

Reviewed by Aakash Jain.

  • Scripts/webkitpy/port/factory.py:

(PortFactory): Add WatchDevice and WatchSimulator ports.

  • Scripts/webkitpy/port/watch.py: Added.

(WatchPort): Base class for watchOS ports.

  • Scripts/webkitpy/port/watch_device.py: Added.

(WatchDevicePort): Class for running layout tests on a watchOS device.

  • Scripts/webkitpy/port/watch_simulator.py: Added.

(WatchSimulatorPort): Class for running layout tests on a watchOS simulator.

  • Scripts/webkitpy/port/watch_simulator_unittest.py: Added.

(WatchSimulatorTest):

  • Scripts/webkitpy/port/watch_testcase.py: Added.

(WatchTest):

4:28 PM Changeset in webkit [238589] by Nikita Vasilyev
  • 12 edits
    1 copy
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: Computed panel: allow to expand properties to show list of overridden values
https://bugs.webkit.org/show_bug.cgi?id=191984

Reviewed by Devin Rousso.

Introduce the new experimental Computed Style Cascades.

Each property now can expand to show a list of overridden values, their corresponding
selectors, and source locations.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Main.html:
  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles.prototype.get uniqueOrderedStyles):
Move uniqueOrderedStyles function unmodified from SpreadsheetRulesStyleDetailsPanel so it can be used by ComputedStyleDetailsPanel, too.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.computed-with-traces .computed-style-properties):
(.computed-with-traces .details-section.computed-style-properties:not(.collapsed) > :matches(.header, .content)):
(.computed-with-traces .details-section.computed-style-properties > .content):
(.computed-with-traces .computed-style-properties .property .go-to-arrow):

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WI.ComputedStyleDetailsPanel.prototype.refresh):
(WI.ComputedStyleDetailsPanel.prototype.applyFilter):
(WI.ComputedStyleDetailsPanel.prototype.focusFirstSection):
(WI.ComputedStyleDetailsPanel.prototype.initialLayout):
(WI.ComputedStyleDetailsPanel.prototype._computePropertyTraces):
(WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
(WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
(WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied):
(WI.ComputedStyleDetailsPanel):
Use the new Computed section (WI.ComputedStyleSection) only when it's enabled in the experimental settings.
Otherwise, use the current Computed section.

  • UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:

(WI.ComputedStyleDetailsSidebarPanel):

  • UserInterface/Views/ComputedStyleSection.css: Added.

(.computed-style-section):
(.computed-style-section .computed-property-item):
(.computed-style-section .computed-property-item.expanded):
(.computed-style-section .computed-property-item.expanded + .computed-property-item):
(.computed-style-section .computed-property-item .disclosure-button):
(.computed-style-section .computed-property-item .property-traces):
(.computed-style-section .computed-property-item.expanded .property-traces):
(.computed-style-section .computed-property-item.expanded .disclosure-button):
(.computed-style-section .computed-property-item .property-trace-item):
(.computed-style-section .computed-property-item .property-trace-item .property.overridden .value):
(.computed-style-section .property-trace-item-left,):
(.computed-style-section .property-trace-item-right):
(.computed-style-section .computed-property-item .property-trace-item .value):
(.computed-style-section .property .value):
(.computed-style-section .computed-property-item .property):
(.computed-style-section .computed-property-item .property .name):
(.computed-style-section .computed-property-item .property-trace-item .selector):
(.computed-style-section .computed-property-item .origin):
(.computed-style-section .computed-property-item .go-to-link):
(.computed-style-section .property-trace-item .property .name,):
(.computed-style-section .property-trace-item .property .value + span):
(.computed-style-properties.details-section > .content,):

  • UserInterface/Views/ComputedStyleSection.js: Added.

(WI.ComputedStyleSection):
(WI.ComputedStyleSection.prototype.get style):
(WI.ComputedStyleSection.prototype.set style):
(WI.ComputedStyleSection.prototype.get styleTraces):
(WI.ComputedStyleSection.prototype.set styleTraces):
(WI.ComputedStyleSection.prototype.set showsImplicitProperties):
(WI.ComputedStyleSection.prototype.set alwaysShowPropertyNames):
(WI.ComputedStyleSection.prototype.set propertyVisibilityMode):
(WI.ComputedStyleSection.prototype.set hideFilterNonMatchingProperties):
(WI.ComputedStyleSection.prototype.get propertiesToRender):
(WI.ComputedStyleSection.prototype.layout):
(WI.ComputedStyleSection.prototype.detached):
(WI.ComputedStyleSection.prototype.hidden):
(WI.ComputedStyleSection.prototype.applyFilter):
(WI.ComputedStyleSection.prototype.spreadsheetStylePropertyShowProperty):
(WI.ComputedStyleSection.prototype._createTrace):
(WI.ComputedStyleSection.prototype._handlePropertiesChanged):

  • UserInterface/Views/ExpandableView.js: Added.

(WI.ExpandableView):
(WI.ExpandableView.prototype.get element):
(WI.ExpandableView.prototype._onDisclosureButtonClick):
(WI.ExpandableView.prototype._update):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.layout):
Replace _renderOrigin with WI.StyleOriginView so it could be used by WI.ComputedStyleSection.

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:

(WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype.update):
(WI.SpreadsheetStyleProperty.prototype._isEditable):
(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
Introduce readOnly option so WI.SpreadsheetStyleProperty could be used by WI.ComputedStyleSection.

  • UserInterface/Views/StyleOriginView.js: Added.

(WI.StyleOriginView):

4:26 PM Changeset in webkit [238588] by jiewen_tan@apple.com
  • 3 edits in trunk/Source/WebCore

Remove kCCNotVerified
https://bugs.webkit.org/show_bug.cgi?id=192034
<rdar://problem/46235863>

Reviewed by Alexey Proskuryakov.

No change of behaviours.

  • crypto/CommonCryptoUtilities.h:
  • crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::verifyRSASSA_PKCS1_v1_5):

4:20 PM Changeset in webkit [238587] by Alan Coon
  • 7 edits in branches/safari-606.4.1.2-branch/Source

Versioning.

4:20 PM Changeset in webkit [238586] by Kocsen Chung
  • 5 edits in tags/Safari-607.1.14.4/Source/JavaScriptCore

Revert r238573. rdar://problem/45494310

4:15 PM Changeset in webkit [238585] by achristensen@apple.com
  • 5 edits in trunk

Safe browsing warning text needs to be visible on High Sierra
https://bugs.webkit.org/show_bug.cgi?id=192022

Reviewed by Tim Horton.

Source/WebKit:

Something about AppKit, autolayout, view insertion order, and NSTextView makes the text lay
out with initial size of {0, 0} on High Sierra. Using an NSTextField instead makes the details visible.

Covered by an API test.

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

(makeLabel):
(-[WKSafeBrowsingWarning addContent]):
(-[WKSafeBrowsingWarning showDetailsClicked]):
(-[WKSafeBrowsingWarning layoutText]):
(makeTitleLabel): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(TEST):

3:54 PM Changeset in webkit [238584] by Wenson Hsieh
  • 2 edits in trunk/Tools

Unreviewed, fix the watchOS engineering build

Disable a newly added API test, since DDScannerResult is unavailable on watchOS.

  • TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
3:46 PM Changeset in webkit [238583] by Simon Fraser
  • 4 edits in trunk

Avoid triggering compositing updates when only the root layer is composited
https://bugs.webkit.org/show_bug.cgi?id=191813

Reviewed by Zalan Bujtas.

If we know that the only composited layer is the root, we can avoid triggering deep
compositing updates sometimes, for example when layout changes size or position,
or when z-order lists change.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
(WebCore::outputPaintOrderTreeRecursive):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBackingAndHierarchy): Consult the layer.hasCompositingDescendant()
flag to cut off descendants traversal when possible.
(WebCore::RenderLayerCompositor::layerStyleChanged):

3:45 PM Changeset in webkit [238582] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Refactor duplicate code for calling into media controls
https://bugs.webkit.org/show_bug.cgi?id=192040
<rdar://problem/46278931>

Reviewed by Youenn Fablet.

No new tests, no functional change.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setupAndCallJS):
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::configureTextTrackDisplay):
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
(WebCore::HTMLMediaElement::setControllerJSProperty):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):

  • html/HTMLMediaElement.h:
3:23 PM Changeset in webkit [238581] by mark.lam@apple.com
  • 1 edit
    1 add in trunk/JSTests

[Re-landing] NaNs read from Wasm code needs to be be purified.
https://bugs.webkit.org/show_bug.cgi?id=191056
<rdar://problem/45660341>

Reviewed by Filip Pizlo.

  • wasm/regress/regress-191056.js: Added.
3:20 PM Changeset in webkit [238580] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

WKNavigation.AutomaticViewReloadAfterWebProcessCrash asserts after r238538
https://bugs.webkit.org/show_bug.cgi?id=192038
<rdar://problem/46288457>

Reviewed by Wenson Hsieh.

  • UIProcess/WebPageProxy.cpp:

(WebKit::m_resetRecentCrashCountTimer):
(WebKit::WebPageProxy::finishAttachingToWebProcess):
(WebKit::WebPageProxy::resetState):
(WebKit::m_editableImageController): Deleted.
Properly invalidate m_editableImageController when resetting WebPageProxy.
Otherwise, the MessageReceiverMaps get invalidated, then later when
EditableImageController goes away we assert trying to remove the receiver.

2:40 PM Changeset in webkit [238579] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

(r238246) [ MacOS Debug ] Layout Test http/wpt/webauthn/ctap-hid-failure.https.html is Crashing
https://bugs.webkit.org/show_bug.cgi?id=191757

Reviewed by Chris Dumez.

Wrong nonce error causes retransmission, which then trigger wrong nonce error. This is expected
behavior for mock testing. However, the main thread could time out when MockHidConnection::send
is excuting the block on another thread. The block will then return without invoking the callback,
which triggers this WTFCrash. The solution is always invoking the callback before return in the
block.

  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp:

(WebKit::MockHidConnection::send):

2:14 PM Changeset in webkit [238578] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Re-landing] NaNs read from Wasm code needs to be be purified.
https://bugs.webkit.org/show_bug.cgi?id=191056
<rdar://problem/45660341>

Reviewed by Filip Pizlo.

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::link):

2:12 PM Changeset in webkit [238577] by Keith Rollin
  • 3 edits in trunk/Source/WebKit

Better parsing of comments in generate-message*.py
https://bugs.webkit.org/show_bug.cgi?id=191866
<rdar://problem/46189563>

Reviewed by Chris Dumez.

The script parsing the *.messages.in files would treat a line starting
with '#' as a comment, but not a line starting with '<whitespace>#'.
This means that jamming a '#' right in front of the first character of
a message definition (as opposed to the beginning of a line) will have
no effect and the line will get treated just the same as a
non-commented line. Fix this by trimming all white space from the
beginning and ending of the line before processing it.

  • Scripts/webkit/parser.py:

(parse):

  • Scripts/webkit/test-messages.in:
2:03 PM Changeset in webkit [238576] by Simon Fraser
  • 5 edits
    2 adds in trunk

Momentum scrolling ends at the wrong place when a scrolling overflow element has a non-zero border
https://bugs.webkit.org/show_bug.cgi?id=191322

Reviewed by Dean Jackson.
Source/WebCore:

The scrolling momentum logic in ScrollController::handleWheelEvent() which computes whether the scroll is pinned
to the end makes use of ScrollableArea::visibleContentRect(). RenderLayer's implementation of this was incorrect when
the layer's element had borders, causing the momentum scroll to stop early.

Fix by using the correct size (visible size, not layer size).

Test: fast/scrolling/momentum-scroll-with-borders.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleContentRectInternal const):

LayoutTests:

  • fast/scrolling/momentum-scroll-with-borders-expected.txt: Added.
  • fast/scrolling/momentum-scroll-with-borders.html: Added.
  • platform/ios/TestExpectations:
1:50 PM Changeset in webkit [238575] by Simon Fraser
  • 4 edits
    7 adds in trunk

Composited and tiled layers fail to update on scrolling in WebView
https://bugs.webkit.org/show_bug.cgi?id=191821
rdar://problem/46009272

Reviewed by Zalan Bujtas.

Source/WebCore:

We relied on AppKit calling -[NSView viewWillDraw] on scrolling to trigger compositing
layer flushes which are necessary to update backing store attachment, and tile coverage
for tiled layers. However, we no longer get these reliably in WebView, so explicitly trigger
flushes if necessary from FrameView::scrollOffsetChangedViaPlatformWidgetImpl().
didChangeVisibleRect() is the same code path used by iOS UIWebView for the same purpose.

Tests: compositing/backing/backing-store-attachment-scroll.html

compositing/tiling/tile-coverage-on-scroll.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollOffsetChangedViaPlatformWidgetImpl):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateCoverage):

LayoutTests:

Tests for backing store attachment, and tile coverage before and after scrolling.

  • compositing/backing/backing-store-attachment-scroll-expected.txt: Added.
  • compositing/backing/backing-store-attachment-scroll.html: Added.
  • compositing/tiling/tile-coverage-on-scroll-expected.txt: Added.
  • compositing/tiling/tile-coverage-on-scroll.html: Added.
  • platform/mac-wk1/compositing/tiling/tile-coverage-on-scroll-expected.txt: Added. Root isn't tiled on WK1, so different result.
1:48 PM Changeset in webkit [238574] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK|WPE] Allow disabling WebRTC unified plan SDP through an env var
https://bugs.webkit.org/show_bug.cgi?id=192024

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-27
Reviewed by Michael Catanzaro.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsConstructed):

1:41 PM Changeset in webkit [238573] by Alan Coon
  • 5 edits in tags/Safari-607.1.14.4/Source/JavaScriptCore

Cherry-pick r238564. rdar://problem/45494310

Introducing a ENABLE_SEPARATED_WX_HEAP macro.
https://bugs.webkit.org/show_bug.cgi?id=192013
<rdar://problem/45494310>

Reviewed by Keith Miller.

This makes the code a little more readable.

I put the definition of ENABLE_SEPARATED_WX_HEAP in JSC's config.h instead of
Platform.h because ENABLE_SEPARATED_WX_HEAP is only needed inside JSC. Also,
ENABLE_SEPARATED_WX_HEAP depends on ENABLE(FAST_JIT_PERMISSIONS), which is only
defined for JSC.

  • config.h:
  • jit/ExecutableAllocator.cpp: (JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator): (JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps):
  • jit/ExecutableAllocator.h: (JSC::performJITMemcpy):
  • runtime/Options.cpp: (JSC::recomputeDependentOptions):

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

1:29 PM Changeset in webkit [238572] by Alan Coon
  • 19 edits
    1 add in branches/safari-606-branch

Apply patch. rdar://problem/46259202

1:22 PM Changeset in webkit [238571] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

Fix test timeout following <https://trac.webkit.org/changeset/238545>
(https://bugs.webkit.org/show_bug.cgi?id=191969)

Actually call HTMLInputElement.setSelectionRange().

  • fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after-hiding-auto-fill-strong-password-button-expected.html:
1:16 PM Changeset in webkit [238570] by timothy@apple.com
  • 17 edits
    3 adds in trunk

Web Inspector: Add support for forcing color scheme appearance in DOM tree.
https://bugs.webkit.org/show_bug.cgi?id=191820
rdar://problem/46153172

Reviewed by Devin Rousso.

Source/JavaScriptCore:

  • inspector/protocol/Page.json: Added setForcedAppearance.

Also added the defaultAppearanceDidChange event and Appearance enum.

Source/WebCore:

Test: inspector/css/force-page-appearance.html

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::defaultAppearanceDidChangeImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::defaultAppearanceDidChange):

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::enable): Fire defaultAppearanceDidChange() on macOS Majave.
(WebCore::InspectorPageAgent::disable): Call setForcedAppearance() with empty string.
(WebCore::InspectorPageAgent::defaultAppearanceDidChange): Added.
(WebCore::InspectorPageAgent::setForcedAppearance): Added.

  • inspector/agents/InspectorPageAgent.h:
  • page/Page.cpp:

(WebCore::Page::setUseDarkAppearance): Call InspectorInstrumentation::defaultAppearanceDidChange().
(WebCore::Page::useDarkAppearance const): Return override value if not nullopt.
(WebCore::Page::setUseDarkAppearanceOverride): Added.

  • page/Page.h:

(WebCore::Page::defaultUseDarkAppearance const): Added.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/Controllers/CSSManager.js:

(WI.CSSManager):
(WI.CSSManager.prototype.get defaultAppearance): Added.
(WI.CSSManager.prototype.get forcedAppearance): Added.
(WI.CSSManager.prototype.set forcedAppearance): Added.
(WI.CSSManager.prototype.canForceAppearance): Added.
(WI.CSSManager.prototype.defaultAppearanceDidChange): Added.

  • UserInterface/Images/Appearance.svg: Added.
  • UserInterface/Protocol/PageObserver.js:

(WI.PageObserver.prototype.defaultAppearanceChanged): Added.

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype.get navigationItems):
(WI.DOMTreeContentView.prototype._defaultAppearanceDidChange): Added.
(WI.DOMTreeContentView.prototype._toggleAppearance): Added.

LayoutTests:

  • TestExpectations: Skip dark mode tests on other platforms.
  • inspector/css/force-page-appearance-expected.txt: Added.
  • inspector/css/force-page-appearance.html: Added.
  • platform/mac/TestExpectations: Expect dark mode tests to pass on Mojave and later.
1:06 PM Changeset in webkit [238569] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Cookies table needs copy keyboard shortcut and context menu support
https://bugs.webkit.org/show_bug.cgi?id=191482
<rdar://problem/45953002>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/CookieStorageContentView.js:

(WI.CookieStorageContentView.prototype.handleCopyEvent):
(WI.CookieStorageContentView.prototype.tableCellContextMenuClicked):
As with Delete, if the target row is selected, all selected rows are copied.
Otherwise only the target row is copied. This distinction will be surfaced
in the UI in https://webkit.org/b/191095.

(WI.CookieStorageContentView.prototype.tablePopulateCell):
(WI.CookieStorageContentView.prototype._cookiesAtIndexes):
(WI.CookieStorageContentView.prototype._formatCookiesAsText):
(WI.CookieStorageContentView.prototype._formatCookiePropertyForColumn):
(WI.CookieStorageContentView):
Break Cookie property formatting into a helper method, which is used for
formatting Table cells and creating plain text for the clipboard.

  • UserInterface/Views/Table.js:

(WI.Table.prototype.get columns):

1:03 PM Changeset in webkit [238568] by Ryan Haddad
  • 3 edits
    1 delete in trunk

Unreviewed, rolling out r238509.

Causes JSC tests to fail on iOS.

Reverted changeset:

"NaNs read from Wasm code needs to be be purified."
https://bugs.webkit.org/show_bug.cgi?id=191056
https://trac.webkit.org/changeset/238509

12:40 PM Changeset in webkit [238567] by ap@apple.com
  • 6 edits in trunk/Source

Modernize the check for async _saveCookies existence
https://bugs.webkit.org/show_bug.cgi?id=191987

Reviewed by Dean Jackson.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h: Also removed a check around _socketStreamProperties,

which exists everywhere.

Source/WebKit:

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformSyncAllCookies):

Source/WTF:

  • wtf/Platform.h: Added a specific macro for this. Not changing the behavior here,

although it seems very likely that we want to do the same on other iOS family OSes.

12:34 PM EnvironmentVariables edited by tsaunier@gnome.org
(diff)
12:20 PM Changeset in webkit [238566] by timothy_horton@apple.com
  • 14 edits
    2 adds in trunk

Serialize and deserialize editable image strokes
https://bugs.webkit.org/show_bug.cgi?id=192002
<rdar://problem/30900149>

Reviewed by Dean Jackson.

Source/WebCore:

Test: editing/images/paste-editable-image.html

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::insertedIntoAncestor):
(WebCore::HTMLImageElement::didFinishInsertingNode):
(WebCore::HTMLImageElement::removedFromAncestor):
(WebCore::HTMLImageElement::hasEditableImageAttribute const):
(WebCore::HTMLImageElement::updateEditableImage):
Call updateEditableImage() from didFinishInsertingNode instead of insertedIntoAncestor.
This is helpful because it means we get the final, deduplicated attachment identifier
instead of the original one when cloning or pasting.

This also means that isConnected() is now always accurate when updateEditableImage()
is called, so we can remove the argument that allowed us to lie from inside insertedIntoAncestor.

  • html/HTMLImageElement.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::isEditableImage const):
Make use of hasEditableImage instead of separately checking for the attribute.

Source/WebKit:

  • UIProcess/API/APIAttachment.cpp:

(API::Attachment::updateAttributes):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::willUpdateAttachmentAttributes):

  • UIProcess/WebPageProxy.h:

When an attachment would update its DOM attributes, plumb a notification
to EditableImageController, and allow it to block the update (because
we don't really want to set src for editable image attachments,
we just want the UI process to fully own the data).

  • Platform/spi/ios/PencilKitSPI.h:

Add some SPI.

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

(WebKit::EditableImageController::loadStrokesFromAttachment):
Add a helper to load strokes from an attachment.

(WebKit::EditableImageController::associateWithAttachment):
Try to load strokes from the attachment when initially associated.
Don't create a file wrapper around a null image, so it will be regenerated later.

(WebKit::EditableImageController::willUpdateAttachmentAttributes):
The aforementioned plumbing at update time.

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

(-[WKDrawingView layoutSubviews]):
Invalidate the attachment (so it will be regenerated upon request) if the
canvas size changes.

(-[WKDrawingView PNGRepresentation]):
Serialize strokes into the EXIF User Comment field.
We will find a different field to use (ideally a custom vendor-specific
field that nobody else will use for anything), but this works for now.

Don't try to render an image if we don't have a size or scale;
PKImageRenderer will just fail anyway, so bail early.

In the iOS Simulator, PKImageRenderer currently returns an unusable image.
Instead, so that we have a image on which to serialize the strokes,
create a transparent 1x1 image. This makes it possible to serialize strokes
even though we don't have a usable rendered image, so that we can still test
this change (and future changes).

(-[WKDrawingView loadDrawingFromPNGRepresentation:]):
If available, deserialize strokes from the EXIF User Comment field.

(-[WKDrawingView drawingDidChange:]):
(-[WKDrawingView invalidateAttachment]):
Factor invalidateAttachment out of drawingDidChange so we can call
it from layoutSubviews too!

LayoutTests:

  • editing/images/paste-editable-image-expected.txt: Added.
  • editing/images/paste-editable-image.html: Added.

Add a test that we can copy and paste and editable image and
continue to edit it, and are affecting a different attachment than the original.

11:52 AM Changeset in webkit [238565] by Chris Dumez
  • 4 edits in trunk

Regression(PSON) crash under WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame()
https://bugs.webkit.org/show_bug.cgi?id=191983
<rdar://problem/46246863>

Reviewed by Geoffrey Garen.

Source/WebKit:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::continueNavigationInNewProcess):
Make sure the navigation still exists in m_mainFrameCreationHandler and return early if it
does not.

(WebKit::WebPageProxy::resetState):
Clear out m_mainFrameCreationHandler / m_mainFrameWindowCreationHandler if we resetting the state
after a crash. At this point, there is no chance the WebProcess will send us the IPC that will
cause these to get called and we do not want old state to remain for future navigations.

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
11:47 AM Changeset in webkit [238564] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Introducing a ENABLE_SEPARATED_WX_HEAP macro.
https://bugs.webkit.org/show_bug.cgi?id=192013
<rdar://problem/45494310>

Reviewed by Keith Miller.

This makes the code a little more readable.

I put the definition of ENABLE_SEPARATED_WX_HEAP in JSC's config.h instead of
Platform.h because ENABLE_SEPARATED_WX_HEAP is only needed inside JSC. Also,
ENABLE_SEPARATED_WX_HEAP depends on ENABLE(FAST_JIT_PERMISSIONS), which is only
defined for JSC.

  • config.h:
  • jit/ExecutableAllocator.cpp:

(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps):

  • jit/ExecutableAllocator.h:

(JSC::performJITMemcpy):

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

11:41 AM Changeset in webkit [238563] by Matt Baker
  • 5 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Table selection should be handled by a SelectionController
https://bugs.webkit.org/show_bug.cgi?id=191977
<rdar://problem/46253093>

Reviewed by Devin Rousso.

Add a SelectionController class, which manages an IndexSet of selected
items, and provides operations for adding and removing items from the
selection. Complex behaviors such as shift-clicking to select a range of
items, and updating the selection using the keyboard, are forwarded to
the controller using special-purpose methods that accept DOM Event objects.

  • UserInterface/Base/Utilities.js:
  • UserInterface/Controllers/SelectionController.js: Added.

(WI.SelectionController):
(WI.SelectionController.prototype.get delegate):
(WI.SelectionController.prototype.get lastSelectedItem):
(WI.SelectionController.prototype.get selectedItems):
(WI.SelectionController.prototype.get allowsMultipleSelection):
(WI.SelectionController.prototype.set allowsMultipleSelection):
(WI.SelectionController.prototype.get numberOfItems):
(WI.SelectionController.prototype.hasSelectedItem):
(WI.SelectionController.prototype.selectItem):
(WI.SelectionController.prototype.deselectItem):
(WI.SelectionController.prototype.selectAll):
(WI.SelectionController.prototype.deselectAll):
(WI.SelectionController.prototype.removeSelectedItems):
(WI.SelectionController.prototype.reset):
(WI.SelectionController.prototype.didRemoveItem):
(WI.SelectionController.prototype.handleKeyDown):
(WI.SelectionController.prototype.handleItemMouseDown.normalizeRange):
(WI.SelectionController.prototype.handleItemMouseDown):
(WI.SelectionController.prototype._deselectAllAndSelect):
(WI.SelectionController.prototype._selectItemsFromArrowKey):
(WI.SelectionController.prototype._nextSelectableIndex):
(WI.SelectionController.prototype._previousSelectableIndex):
(WI.SelectionController.prototype._updateSelectedItems):

  • UserInterface/Main.html:
  • UserInterface/Test.html:
  • UserInterface/Views/Table.js:

(WI.Table):
(WI.Table.prototype.get selectedRow):
(WI.Table.prototype.get selectedRows):
(WI.Table.prototype.get allowsMultipleSelection):
(WI.Table.prototype.set allowsMultipleSelection):
(WI.Table.prototype.isRowSelected):
(WI.Table.prototype.reloadData):
(WI.Table.prototype.selectRow):
(WI.Table.prototype.deselectRow):
(WI.Table.prototype.selectAll):
(WI.Table.prototype.deselectAll):
(WI.Table.prototype.removeRow):
(WI.Table.prototype.removeSelectedRows):
(WI.Table.prototype.selectionControllerSelectionDidChange):
(WI.Table.prototype.selectionControllerNumberOfItems):
(WI.Table.prototype.selectionControllerNextSelectableIndex):
(WI.Table.prototype.selectionControllerPreviousSelectableIndex):
(WI.Table.prototype._handleKeyDown):
(WI.Table.prototype._handleMouseDown):
(WI.Table.prototype._removeRows):
(WI.Table.prototype._toggleSelectedRowStyle):
(WI.Table.prototype._selectRowsFromArrowKey): Deleted.
(WI.Table.prototype._handleMouseDown.normalizeRange): Deleted.
(WI.Table.prototype._deselectAllAndSelect): Deleted.
(WI.Table.prototype._notifySelectionDidChange): Deleted.
(WI.Table.prototype._updateSelectedRows): Deleted.

11:38 AM Changeset in webkit [238562] by jiewen_tan@apple.com
  • 16 edits
    1 copy
    7 adds in trunk

Disallow loading webarchives as iframes
https://bugs.webkit.org/show_bug.cgi?id=191728
<rdar://problem/45524528>

Reviewed by Youenn Fablet.

Source/WebCore:

Disallow loading webarchives as iframes. We don't allow loading remote webarchives.
Now, this policy is hardened to disallow loading webarchives as iframes for local
documents as well.

To allow old tests still be able to run, a flag is added to always allow loading local
webarchives in document. The flag can be set via window.internals.

Tests: webarchive/loading/test-loading-archive-subresource.html

webarchive/loading/test-loading-top-archive.html

  • dom/Document.h:

(WebCore::Document::setAlwaysAllowLocalWebarchive):
(WebCore::Document::alwaysAllowLocalWebarchive):

  • loader/DocumentLoader.cpp:

(WebCore::disallowWebArchive):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::isRemoteWebArchive): Deleted.

  • testing/Internals.cpp:

(WebCore::Internals::setAlwaysAllowLocalWebarchive const):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::unableToImplementPolicy):
Add a check to prevent null pointer dereference.

LayoutTests:

  • platform/mac-wk1/webarchive/loading/test-loading-archive-subresource-expected.txt: Added.
  • platform/mac/fast/loader/webarchive-encoding-respected.html:
  • webarchive/loading/cache-expired-subresource.html:
  • webarchive/loading/mainresource-null-mimetype-crash.html:
  • webarchive/loading/missing-data.html:
  • webarchive/loading/resources/test-loading-archive-main.webarchive: Copied from LayoutTests/webarchive/loading/test-loading-archive.html.
  • webarchive/loading/test-loading-archive-subresource-expected.txt: Added.
  • webarchive/loading/test-loading-archive-subresource-null-mimetype.html:
  • webarchive/loading/test-loading-archive-subresource.html: Copied from LayoutTests/webarchive/loading/test-loading-archive.html.
  • webarchive/loading/test-loading-archive.html:
  • webarchive/loading/test-loading-top-archive-expected.txt: Added.
  • webarchive/loading/test-loading-top-archive.html: Added.
11:34 AM Changeset in webkit [238561] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unregister CDMSessionMediaSourceAVFObjC for error notifications during destruction.
https://bugs.webkit.org/show_bug.cgi?id=191985
<rdar://problem/45972018>

Reviewed by Eric Carlson.

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

(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):

11:31 AM Changeset in webkit [238560] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Adopt -setOverrideRouteSharingPolicy:routingContextUID: SPI
https://bugs.webkit.org/show_bug.cgi?id=190951
<rdar://problem/45213065>

Further follow-up build fix; add ASSUME_NONNULL macros to SPI declaration.

  • pal/spi/cocoa/AVKitSPI.h:
10:20 AM Changeset in webkit [238559] by Kocsen Chung
  • 7 edits in tags/Safari-607.1.14.4/Source

Versioning.

10:16 AM Changeset in webkit [238558] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.14.4

New tag.

9:34 AM Changeset in webkit [238557] by commit-queue@webkit.org
  • 9 edits in trunk/Source

[GStreamer][WebRTC] Use LibWebRTC provided vp8 decoders and encoders
https://bugs.webkit.org/show_bug.cgi?id=191861

Source/ThirdParty/libwebrtc:

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-27
Reviewed by Philippe Normand.

  • CMakeLists.txt: Build LibVPX vp8 encoder and decoders.

Source/WebCore:

The GStreamer implementations are less feature full and less tested, now that Apple
also use the LibWebRTC provided implementations it makes a lot of sense for us to
do the same.

Basically everything related to temporal scalability is not implemented in GStreamer.

We should make sure to use GStreamer elements on low powered platforms and for
accelerated encoders and decoders.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-27
Reviewed by Philippe Normand.

This is mostly refactoring, no new test required.

  • platform/graphics/gstreamer/GStreamerCommon.h: Added GstMappedFrame similar to GstMappedBuffer but for video frames.

(WebCore::GstMappedFrame::GstMappedFrame):
(WebCore::GstMappedFrame::get):
(WebCore::GstMappedFrame::ComponentData):
(WebCore::GstMappedFrame::ComponentStride):
(WebCore::GstMappedFrame::info):
(WebCore::GstMappedFrame::width):
(WebCore::GstMappedFrame::height):
(WebCore::GstMappedFrame::format):
(WebCore::GstMappedFrame::~GstMappedFrame):
(WebCore::GstMappedFrame::operator bool const):

  • platform/graphics/gstreamer/GUniquePtrGStreamer.h:
  • platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:

(WebCore::GStreamerVideoFrameLibWebRTC::ToI420): Implemented support for converting frame formats with the GstVideoConverter API

  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:

(WebCore::GStreamerVideoDecoder::GstDecoderFactory):
(WebCore::GStreamerVideoDecoder::HasGstDecoder):
(WebCore::VP8Decoder::Create): Creates a webrtc::LibvpxVp8Decoder() if GStreamer decoder would be the LibVPX based one.
(WebCore::GStreamerVideoDecoderFactory::CreateVideoDecoder):

  • platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp:

(gst_webrtc_video_encoder_class_init):

  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: Stop using vp8enc and use LibWebRTC based implementation

(WebCore::GStreamerH264Encoder::GStreamerH264Encoder): Renamed H264Encoder to GStreamerH264Encoder to be more coherent with what is done in LibVPX
(WebCore::GStreamerVP8Encoder::GStreamerVP8Encoder): Renamed VP8Encoder to GStreamerVP8Encoder to be more coherent with what is done in LibVPX
(WebCore::GStreamerVideoEncoderFactory::CreateVideoEncoder):
(WebCore::GStreamerVideoEncoderFactory::GetSupportedFormats const):

9:28 AM Changeset in webkit [238556] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Adopt -setOverrideRouteSharingPolicy:routingContextUID: SPI
https://bugs.webkit.org/show_bug.cgi?id=190951
<rdar://problem/45213065>

Follow-up build fix when building against older SDKs.

  • pal/spi/cocoa/AVKitSPI.h:
9:05 AM Changeset in webkit [238555] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test svg/text/monospace-text-size-in-img.html is failing
https://bugs.webkit.org/show_bug.cgi?id=192011

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:00 AM Changeset in webkit [238554] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test fast/inline/simple-inline-with-out-of-flow-descendant.html is failing
https://bugs.webkit.org/show_bug.cgi?id=192010

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:51 AM Changeset in webkit [238553] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

WebKit.AddAndRemoveDataDetectors hits a debug assertion after r238515
https://bugs.webkit.org/show_bug.cgi?id=191996

Reviewed by Tim Horton.

This assertion is hit because decode(Decoder& decoder, NSArray<Class> *allowedClasses) expects the decoded
object (of class _NSArrayM) to be equal to NSArray.class.

We fix the crash by relaxing the debug assertion when decoding securely-codable objects over IPC. Instead of
checking that the class of the decoded object is equal to one of the allowed classes, check that the object is a
kind of any of the allowed classes.

  • Shared/Cocoa/ArgumentCodersCocoa.h:

(IPC::isObjectClassAllowed):
(IPC::decode):

7:29 AM Changeset in webkit [238552] by tpopela@redhat.com
  • 3 edits in trunk/Source/WebKit

[GTK][WPE] Remove temporary workaround in Source/WebKit/Platform*.cmake
https://bugs.webkit.org/show_bug.cgi?id=192008

Reviewed by Michael Catanzaro.

Looks like it's not needed anymore as the code compiles fine without
it.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
5:52 AM Changeset in webkit [238551] by jfernandez@igalia.com
  • 7 edits in trunk

[css-grid] align-self center and position sticky don't work together
https://bugs.webkit.org/show_bug.cgi?id=191963

Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

This change makes several cases of the following tests to pass now.

  • web-platform-tests/css/css-grid/alignment/grid-column-axis-alignment-sticky-positioned-items-001-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-column-axis-alignment-sticky-positioned-items-002-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-row-axis-alignment-sticky-positioned-items-001-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-row-axis-alignment-sticky-positioned-items-002-expected.txt:

Source/WebCore:

This is a fix for a regression introduced in r515391, where we landed
the implementation of alignment for positioned objects in a Grid Layout
container.

We assumed that items with non-static positions shouldn't honor the
CSS Box Alignment properties. This is only true for out-of-flow items,
absolute or fixed positioned elements. However, sticky positioned
elements are treated as relative positioned items, but they indeed use
non-static position to define their behavior.

No new tests, this change is covered by current tests and make several cases to pass now.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::columnAxisPositionForChild const):
(WebCore::RenderGrid::rowAxisPositionForChild const):

5:34 AM Changeset in webkit [238550] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit

Factor mask layer applying in RemoteLayerTreePropertyApplier into a shared function
https://bugs.webkit.org/show_bug.cgi?id=192001

Reviewed by Tim Horton.

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h:
  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyProperties):
(WebKit::RemoteLayerTreePropertyApplier::updateMask):

Shared function, with some special tricks for iOS backdrop layers.

(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToUIView):

4:39 AM Changeset in webkit [238549] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit

Stop collecting related layers in RemoteLayerTreeHost::updateLayerTree
https://bugs.webkit.org/show_bug.cgi?id=192003

Reviewed by Tim Horton.

We can pass the node hash directly to RemoteLayerTreePropertyApplier. The collection step doesn't seem
to add anything except an extra hash lookup.

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):

Pass m_nodes directly.
Some random cleanups.

4:27 AM Changeset in webkit [238548] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Add support to communicate with Buildbot (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=191935
<rdar://problem/46262314>

Unreviewed infrastructure fix.

  • BuildSlaveSupport/ews-app/ews/common/buildbot.py:

(Buildbot.send_patch_to_buildbot):

1:12 AM Changeset in webkit [238547] by Antti Koivisto
  • 8 edits in trunk/Source/WebKit

Remote tile layers shouldn't be UIViews
https://bugs.webkit.org/show_bug.cgi?id=191953

Reviewed by Tim Horton.

They don't need any UIView functionality, nor do they ever have UIView descendants.
We can use lighter weight objects.

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h:
  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyProperties):
(WebKit::RemoteLayerTreePropertyApplier::updateChildren):

Factor to a function shared between platforms.
Support having both views and plain layers in the same tree.
Assert that all siblings are of the same type and that we don't attempt to add views to layers.

(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToUIView):

  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::makeNode):

Use new plain layer on Mac too.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm:

(-[WKPlainRemoteLayer description]):

Add a CALayer subclass so we can have a description, similar to WKCompositingView and pals.

(WebKit::RemoteLayerTreeNode::createWithPlainLayer):
(WebKit::RemoteLayerTreeNode::detachFromParent):

Support having null view.

(WebKit::RemoteLayerTreeNode::appendLayerDescription):

Helper for layer descriptions.

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::makeNode):

Construct plain layers for tiles.

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(-[WKCompositingView description]):
(-[WKUIRemoteView description]):
(-[WKBackdropView description]):

12:59 AM Changeset in webkit [238546] by Fujii Hironori
  • 5 edits in trunk/Source/WebKit

Remove "using namespace WebCore" under Source/WebKit/WebProcess/InjectedBundle/API
https://bugs.webkit.org/show_bug.cgi?id=191995

Reviewed by Alex Christensen.

The statement "using namespace WebCore" should be placed inside
namespace WebKit for unified source builds. But, source files
defining WebKit API can't be enclosed by namespace WebKit { }
becuase they are defined in the global scope.

"using namespace WebCore" in global scope and unified source
builds may cause build breaks (Bug 191853).

Remove "using namespace WebCore" in the global scope. Use
"WebCore::" prefix instead.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleClearAllDatabases):
(WKBundleSetDatabaseQuota):
(WKBundleClearResourceLoadStatistics):
(WKBundleResourceLoadStatisticsNotifyObserver):

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

(WKBundleFrameGetFrameLoadState):
(WKBundleFrameClearOpener):
(WKBundleFrameCallShouldCloseOnWebView):
(WKBundleFrameCopySecurityOrigin):
(WKBundleFrameFocus):

  • WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

Nov 26, 2018:

8:17 PM Changeset in webkit [238545] by dbates@webkit.org
  • 5 edits
    4 adds in trunk

REGRESSION (r238078): Do not draw caps lock indicator when Strong Password button is shown
https://bugs.webkit.org/show_bug.cgi?id=191969
<rdar://problem/46247569>

Reviewed by Dean Jackson.

Source/WebCore:

Following r238078 we now support drawing the caps lock indicator in password fields on iOS.
However it is not meaningful to show the caps lock indicator when the Strong Password button
is visible because the password field is not editable. We should not paint the caps lock
indicator when the Strong Password button is visible.

Tests: fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after-hiding-auto-fill-strong-password-button.html

fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible.html

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator const): Do not draw the caps
lock indicator when the password field has the Strong Password button.
(WebCore::TextFieldInputType::updateAutoFillButton): Call capsLockStateMayHaveChanged() to
update the visibility of the caps lock indicator when the auto fill button has changed.

LayoutTests:

Add tests to ensure that we show or hide the caps lock indicator depending on whether the
Strong Password button is visible.

  • TestExpectations: Skip the tests below on all platforms. We will selectively enable them on Mac.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after-hiding-auto-fill-strong-password-button-expected.html: Added.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after-hiding-auto-fill-strong-password-button.html: Added.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible-expected.html: Added.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible.html: Added.
  • platform/mac-wk2/TestExpectations: Mark the tests above as PASS so that we run them.
7:32 PM Changeset in webkit [238544] by Wenson Hsieh
  • 5 edits
    1 add in trunk

[Cocoa] No way for clients to tell whether the content view is in the responder chain when the web view is
https://bugs.webkit.org/show_bug.cgi?id=169212
<rdar://problem/30899656>

Reviewed by Tim Horton.

Source/WebKit:

Add an SPI hook to allow internal WKWebView clients to determine whether the WKWebView's content view is the
first responder. Intended for use by clients, such as Mail, that embed native text input views and other views
that may become first responder within the view hierarchy of the WKWebView.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _contentViewIsFirstResponder]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

Add an API test to exercise the behavior of -_contentViewIsFirstResponder when an embedded text input becomes
and resigns first responder.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm: Added.

(-[FirstResponderTestingView initWithFrame:]):
(-[FirstResponderTestingView inputField]):
(TestWebKitAPI::TEST):

6:26 PM Changeset in webkit [238543] by Caio Lima
  • 40 edits
    2 adds in trunk

Re-introduce op_bitnot
https://bugs.webkit.org/show_bug.cgi?id=190923

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/bit-not-must-generate.js: Added.
  • stress/bitwise-not-no-int32.js: Added.

Source/JavaScriptCore:

With the introduction of BigInt as a new type, we can't emit bitwise
not as x ^ -1 anymore, because this is incompatible with the new type.
Based on that, this Patch is adding op_bitnot as a new operation
into LLInt, as well as introducing ArithBitNot node into DFG to support
JIT compilation of such opcode. We will use the ValueProfile of this
intruction in the future to generate better code when its operand
is not Int32.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::not32):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::not32):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::not32):

  • bytecode/BytecodeList.rb:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitUnaryOp):

  • bytecompiler/NodesCodegen.cpp:

(JSC::UnaryPlusNode::emitBytecode):
(JSC::BitwiseNotNode::emitBytecode): Deleted.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileBitwiseNot):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileArithBitNot):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_bitnot):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/cloop.rb:
  • parser/NodeConstructors.h:

(JSC::BitwiseNotNode::BitwiseNotNode):

  • parser/Nodes.h:
  • parser/ResultType.h:

(JSC::ResultType::bigIntOrInt32Type):
(JSC::ResultType::forBitOp):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
6:09 PM Changeset in webkit [238542] by Fujii Hironori
  • 2 edits in trunk/Source/WebKitLegacy/win

[Clang][WebKitLegacy][Win] MarshallingHelpers.h(65,47): warning: extra qualification on member 'windowsEpochAbsoluteTime' [-Wmicrosoft-extra-qualification]
https://bugs.webkit.org/show_bug.cgi?id=191959

Reviewed by Alex Christensen.

  • MarshallingHelpers.h: Removed extra "MarshallingHelpers::" of windowsEpochAbsoluteTime declaration.
6:01 PM Changeset in webkit [238541] by Fujii Hironori
  • 2 edits in trunk/Source/WTF

[Win][Clang] SOFT_LINK reports warning: implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]
https://bugs.webkit.org/show_bug.cgi?id=191960

Reviewed by Alex Christensen.

  • wtf/win/SoftLinking.h: Do reinterpret_cast<void*> a function

pointer argument of EncodePointer. Changed the type of stored
function pointer returned by EncodePointer.

5:59 PM Changeset in webkit [238540] by Ryan Haddad
  • 5 edits
    4 deletes in trunk

Unreviewed, rolling out r238357.

One of the layout tests added with this change is failing on Mojave.

Reverted changeset:
"REGRESSION (r238078): Do not draw caps lock indicator when Strong Password button is shown"
https://bugs.webkit.org/show_bug.cgi?id=191969
https://trac.webkit.org/changeset/238513

5:54 PM Changeset in webkit [238539] by Fujii Hironori
  • 7 edits in trunk

[CMake] Remove ENABLE_ACCESSIBILITY CMake variable
https://bugs.webkit.org/show_bug.cgi?id=191831

Reviewed by Michael Catanzaro.

.:

ENABLE_ACCESSIBILITY is a bit confusing name because there is no
such ENABLE_ACCESSIBILITY macros in C++ source files.

  • Source/cmake/OptionsGTK.cmake: Removed ENABLE_ACCESSIBILITY.
  • Source/cmake/OptionsWPE.cmake: Ditto.
  • Source/cmake/OptionsWin.cmake: Ditto.
  • Source/cmake/WebKitFeatures.cmake: Ditto.

Tools:

  • WebKitTestRunner/CMakeLists.txt:
5:37 PM Changeset in webkit [238538] by timothy_horton@apple.com
  • 30 edits
    1 copy
    6 adds in trunk

Insert <attachment> elements under editable images to make their backing data accessible
https://bugs.webkit.org/show_bug.cgi?id=191844
<rdar://problem/30900149>

Reviewed by Simon Fraser.

Source/WebCore:

Test: editing/images/editable-image-creates-attachment.html

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::insertedIntoAncestor):
(WebCore::HTMLImageElement::removedFromAncestor):
When the x-apple-editable-image attribute changes, or the element is
moved into or out of a document, call updateEditableImage.

(WebCore::HTMLImageElement::editableImageViewID const):
Adopt EditableImageReference.

(WebCore::HTMLImageElement::updateEditableImage):
When the image element moves into a document, the setting is on, and
the appropriate attribute is applied, add an <attachment> into the
shadow DOM, and inform the UI process both of the editable image's
creation and that it should be associated with the new attachment.

Use an EditableImageReference to extend the lifetime of the
corresponding editable image in the UI process, and to communicate
the attachment association.

If the element was cloned from another editable image element, use the
EditableImageReference and attachmentID from the original; the embedded
view will be re-parented under this element's layer, and the attachment
will be cloned (with a new ID) by editing code if the element is parented.

(WebCore::HTMLImageElement::attachmentIdentifier const):
(WebCore::HTMLImageElement::copyNonAttributePropertiesFromElement):
Store the aforementioned bits of information when cloned so that we can
reconstitute the appropriate attachment data and embedded view.

  • html/HTMLImageElement.h:
  • page/ChromeClient.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/EditableImageReference.cpp: Added.

(WebCore::EditableImageReference::EditableImageReference):
(WebCore::EditableImageReference::~EditableImageReference):
(WebCore::EditableImageReference::associateWithAttachment):

  • page/EditableImageReference.h: Added.

(WebCore::EditableImageReference::create):
(WebCore::EditableImageReference::embeddedViewID const):
Add EditableImageReference, which manages the lifetime of the UI-side
EditableImage and helps clients communicate about it. It is refcounted
so that cloned <img> elements can potentially borrow the UI-side state
(in the case where they end up getting parented).

  • page/NavigatorBase.cpp:

Fix an unrelated unified build failure that I exposed.

Source/WebKit:

  • DerivedSources.make:
  • SourcesCocoa.txt:
  • UIProcess/API/APIAttachment.h:

fileWrapper() is no longer a trivial getter; it can now construct
the file wrapper from a file wrapper generator if necessary.

Add setFileWrapperGenerator() and invalidateGeneratedFileWrapper().

Make m_fileWrapper mutable so it can be adjusted inside its own getter.

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::Attachment::fileWrapper const):
If we have a fileWrapperGenerator and don't have a cached file wrapper,
create one before returning it.

(API::Attachment::invalidateGeneratedFileWrapper):
Invalidate the currently-cached file wrapper. The next time a client
requests the file wrapper it will be regenerated.

(API::Attachment::fileName const):
(API::Attachment::fileSizeForDisplay const):
(API::Attachment::enclosingImageData const):
(API::Attachment::isEmpty const):
(API::Attachment::createSerializedRepresentation const):
Make use of fileWrapper() instead of m_fileWrapper directly, to ensure
that it is created lazily if necessary.

(API::Attachment::setFileWrapperGenerator):

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createEmbeddedView):

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(-[WKEmbeddedView initWithEmbeddedViewID:]):
Defer to EditableImageController for creating WKDrawingViews for
editable images. This is done primarily so we don't have to pollute
Remote Layer Tree and DrawingArea interfaces with editable-image-specific messages.

  • UIProcess/WebPageProxy.cpp:

(WebKit::m_editableImageController):
(WebKit::m_resetRecentCrashCountTimer): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::editableImageController):
Keep an EditableImageController on the WebPageProxy.

  • UIProcess/ios/EditableImageController.h: Added.
  • UIProcess/ios/EditableImageController.messages.in: Added.
  • UIProcess/ios/EditableImageController.mm: Added.

(WebKit::EditableImageController::EditableImageController):
(WebKit::EditableImageController::~EditableImageController):
(WebKit::EditableImageController::ensureEditableImage):
(WebKit::EditableImageController::editableImage):
(WebKit::EditableImageController::didCreateEditableImage):
(WebKit::EditableImageController::didDestroyEditableImage):
(WebKit::EditableImageController::associateWithAttachment):
(WebKit::EditableImageController::invalidateAttachmentForEditableImage):
Add EditableImageController, which keeps track of EditableImages.
It can be messaged directly to create or destroy the UI-side state
of an editable image, and also to associate a WKDrawingView with
a particular attachment.

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

(-[WKDrawingView initWithEmbeddedViewID:webPageProxy:]):
Store the WebPageProxy (weakly) so that we can get to the EditableImageController.

(-[WKDrawingView layoutSubviews]):
(-[WKDrawingView PNGRepresentation]):
Synchronously render the PKCanvasView to PNG.

(-[WKDrawingView drawingDidChange:]):
If the drawing changes, inform the APIAttachment that it needs
to discard its NSFileWrapper; a new one will be generated lazily.

(-[WKDrawingView init]): Deleted.

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::associateEditableImageWithAttachment):
(WebKit::WebChromeClient::didCreateEditableImage):
(WebKit::WebChromeClient::didDestroyEditableImage):

Tools:

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::attachmentInfo):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::attachmentInfo):

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::attachmentInfo):
Add a UIScriptController mechanism to retrieve information about
a given attachment.

LayoutTests:

  • editing/images/editable-image-creates-attachment-expected.txt: Added.
  • editing/images/editable-image-creates-attachment.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.attachmentInfo):
(window.UIHelper):

5:15 PM Changeset in webkit [238537] by Kocsen Chung
  • 7 edits in tags/Safari-607.1.14.3/Source

Versioning.

5:12 PM Changeset in webkit [238536] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.14.3

New tag.

5:05 PM Changeset in webkit [238535] by aakash_jain@apple.com
  • 1 edit
    3 adds in trunk/Tools

[ews-app] Add support to communicate with Buildbot
https://bugs.webkit.org/show_bug.cgi?id=191935

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/common/init.py: Added.
  • BuildSlaveSupport/ews-app/ews/common/buildbot.py: Added.
5:02 PM Changeset in webkit [238534] by Jonathan Bedard
  • 2 edits in trunk/Tools

webkitpy: Race condition in ServerProcess tests
https://bugs.webkit.org/show_bug.cgi?id=191989
<rdar://problem/45536844>

Reviewed by Lucas Forschler.

Serializing these tests to prevent the race conditions.

  • Scripts/webkitpy/port/server_process_unittest.py:

(TestServerProcess.serial_test_basic):
(TestServerProcess.serial_test_read_after_process_exits):
(TestServerProcess.serial_test_process_crashing):
(TestServerProcess.serial_test_process_crashing_no_data):
(TestServerProcess.test_basic): Deleted.
(TestServerProcess.test_read_after_process_exits): Deleted.
(TestServerProcess.test_process_crashing): Deleted.
(TestServerProcess.test_process_crashing_no_data): Deleted.

4:57 PM Changeset in webkit [238533] by Alan Coon
  • 6 edits
    3 adds in branches/safari-606.4.1.2-branch

Cherry-pick r238326. rdar://problem/46259210

All users of ArrayBuffer should agree on the same max size
https://bugs.webkit.org/show_bug.cgi?id=191771

Reviewed by Mark Lam.

JSTests:

  • stress/big-wasm-memory-grow-no-max.js: Added. (foo): (catch):
  • stress/big-wasm-memory-grow.js: Added. (foo): (catch):
  • stress/big-wasm-memory.js: Added. (foo): (catch):

Source/JavaScriptCore:

Array buffers cannot be larger than 0x7fffffff, because otherwise loading typedArray.length in the DFG/FTL would produce
a uint32 or would require a signedness check, neither of which sounds reasonable. It's better to just bound their max size
instead.

  • runtime/ArrayBuffer.cpp: (JSC::ArrayBufferContents::ArrayBufferContents): (JSC::ArrayBufferContents::tryAllocate): (JSC::ArrayBufferContents::transferTo): (JSC::ArrayBufferContents::copyTo): (JSC::ArrayBufferContents::shareWith):
  • runtime/ArrayBuffer.h:
  • wasm/WasmMemory.cpp: (JSC::Wasm::Memory::tryCreate): (JSC::Wasm::Memory::grow):
  • wasm/WasmPageCount.h:

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

4:48 PM Changeset in webkit [238532] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Add field in Patch object to indicate if it has been sent to Buildbot
https://bugs.webkit.org/show_bug.cgi?id=191929

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/models/patch.py:

(Patch): Added sent_to_buildbot field.
(Patch.is_patch_sent_to_buildbot): Checks if the patch has been sent to Buildbot.

4:47 PM Changeset in webkit [238531] by Alan Coon
  • 6 edits
    3 adds in branches/safari-606-branch

Cherry-pick r238326. rdar://problem/46259215

All users of ArrayBuffer should agree on the same max size
https://bugs.webkit.org/show_bug.cgi?id=191771

Reviewed by Mark Lam.

JSTests:

  • stress/big-wasm-memory-grow-no-max.js: Added. (foo): (catch):
  • stress/big-wasm-memory-grow.js: Added. (foo): (catch):
  • stress/big-wasm-memory.js: Added. (foo): (catch):

Source/JavaScriptCore:

Array buffers cannot be larger than 0x7fffffff, because otherwise loading typedArray.length in the DFG/FTL would produce
a uint32 or would require a signedness check, neither of which sounds reasonable. It's better to just bound their max size
instead.

  • runtime/ArrayBuffer.cpp: (JSC::ArrayBufferContents::ArrayBufferContents): (JSC::ArrayBufferContents::tryAllocate): (JSC::ArrayBufferContents::transferTo): (JSC::ArrayBufferContents::copyTo): (JSC::ArrayBufferContents::shareWith):
  • runtime/ArrayBuffer.h:
  • wasm/WasmMemory.cpp: (JSC::Wasm::Memory::tryCreate): (JSC::Wasm::Memory::grow):
  • wasm/WasmPageCount.h:

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

4:29 PM Changeset in webkit [238530] by aakash_jain@apple.com
  • 1 edit
    1 add in trunk/Tools

[ews-app] Add a config file
https://bugs.webkit.org/show_bug.cgi?id=191933

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/config.py: Added.
4:21 PM Changeset in webkit [238529] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Add methods to save patch to database
https://bugs.webkit.org/show_bug.cgi?id=191928

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/models/patch.py:

(Patch.save_patch): Method to save the patch to database.
(Patch.save_patches): Method to save multiple patches to database.
(Patch.is_valid_patch_id): Checks if the patch id is valid.
(Patch.is_existing_patch_id): Checks if the patch id already exists in database.

4:02 PM Changeset in webkit [238528] by jer.noble@apple.com
  • 15 edits in trunk/Source

Adopt -setOverrideRouteSharingPolicy:routingContextUID: SPI
https://bugs.webkit.org/show_bug.cgi?id=190951
<rdar://problem/45213065>

Reviewed by Alex Christensen.

Source/WebCore:

Request the correct route policy and context from the VideoFullscreenModel.

  • platform/cocoa/VideoFullscreenModel.h:

(WebCore::VideoFullscreenModel::requestRouteSharingPolicyAndContextUID):

  • platform/cocoa/VideoFullscreenModelVideoElement.h:
  • platform/cocoa/VideoFullscreenModelVideoElement.mm:

(WebCore::VideoFullscreenModelVideoElement::requestRouteSharingPolicyAndContextUID):

  • platform/ios/VideoFullscreenInterfaceAVKit.h:
  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerViewController setWebKitOverrideRouteSharingPolicy:routingContextUID:]):
(VideoFullscreenInterfaceAVKit::setVideoFullscreenModel):
(VideoFullscreenInterfaceAVKit::doSetup):

Source/WebCore/PAL:

  • pal/spi/cocoa/AVKitSPI.h:

Source/WebKit:

Add an asyncronous reply request to VideoFullscreenManager.

  • Platform/IPC/MessageSender.h:

(IPC::MessageSender::sendWithAsyncReply):

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

(WebKit::VideoFullscreenModelContext::requestRouteSharingPolicyAndContextUID):

  • WebProcess/cocoa/VideoFullscreenManager.h:
  • WebProcess/cocoa/VideoFullscreenManager.messages.in:
  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::requestRouteSharingPolicyAndContextUID):

3:06 PM Changeset in webkit [238527] by achristensen@apple.com
  • 5 edits in trunk

Rename WKWebView._safeBrowsingWarningForTesting to _safeBrowsingWarning to use it for more than testing
https://bugs.webkit.org/show_bug.cgi?id=191981

Reviewed by Tim Horton.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _safeBrowsingWarning]):
(-[WKWebView _safeBrowsingWarningForTesting]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(TEST):
(safeBrowsingView):

2:57 PM Changeset in webkit [238526] by dbates@webkit.org
  • 10 edits
    4 adds in trunk

REGRESSION (r237738): Command Down Arrow doesn't scroll to the end of a page anymore
https://bugs.webkit.org/show_bug.cgi?id=191967
<rdar://problem/45976390>

Reviewed by Tim Horton.

Source/WebKit:

Fixes an issue where pressing Command + Down Arrow does not scroll the view to the end of the page.

Following r237738 the value of the enumerations used to identify modifier keys (e.g. Shift) changed
to match the values of the corresponding enumerations in GraphicsServices, which are the
enumerations UIKit uses to computes the modifier flags bitmask when instantiating a WebEvent to
pass to WebKit. Before r237738 WebKit was using enumerations whose values matched the values
of the corresponding UIKit public API UIKeyModifier* enumerations. For non-content editable elements,
WebKit intercepts UIKit events in -_handleKeyUIEvent, synthesizes and dispatches its own WebEvent.
However it was creating WebEvents with a modifier flags bitmask built from the UIKeyModifier* enumerations,
-_modifierFlags, as opposed to a bitmask from the GraphicsServices enumerations, -_gsModifierFlags.
Instead WebKit should call -_gsModifierFlags to compute the GraphicsServices-compatible modifier
flags bitmask when instantiating a WebEvent.

  • Platform/spi/ios/UIKitSPI.h: Expose -_gsModifierFlags and remove -_modifierFlags.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _handleKeyUIEvent:]): Remove unnecessary code to update the current modifier state.
This will be done by the WebProcess when it receives the keyboard event.
(-[WKContentView _didHandleKeyEvent:eventWasHandled:]): Do not pass modifier flags changed events
to the scrolling animator as it does not know how to handle these kinds of events and triggers an
assertion failure when it tries to read the input string from the event (calls -charactersIgnoringModifiers).
FlagsChanged WebEvents events do not have an input string just like a FlagsChanged NSEvent that
they model on Mac.

  • UIProcess/ios/WKWebEvent.mm:

(-[WKWebEvent initWithEvent:]): Pass the value of -_gsModifierFlags for the modifier flags bitmask
instead of the value of -_modifierFlags.

Tools:

Add more test infrastructure to dispatch key up events.

  • WebKitTestRunner/ios/HIDEventGenerator.h:
  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(createHIDKeyEvent): Renamed from createHIDKeyDownEvent() and modified to take a boolean as
to whether to create an event for a key down or key up.
(createHIDKeyDownEvent): Deleted; renamed to createHIDKeyEvent().

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::createUIPhysicalKeyboardEvent): Added. Convenience function to create a UIPhysicalKeyboardEvent.
(WTR::UIScriptController::keyDown): Modified to dispatch a key up event in addition to dispatching
a key down event.

LayoutTests:

Add tests to ensure that Command + Down Arrow and Command + Up Arrow scroll to the end of
the page and the top of the page, respectively.

  • fast/scrolling/ios/key-command-scroll-to-bottom-expected.html: Added.
  • fast/scrolling/ios/key-command-scroll-to-bottom.html: Added.
  • fast/scrolling/ios/key-command-scroll-to-top-expected.html: Added.
  • fast/scrolling/ios/key-command-scroll-to-top.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.keyDown): Pass the modifiers array to EventSender.keyDown() to make
this function work on Mac.

2:54 PM Changeset in webkit [238525] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

[PSON] process pre-warming should not be on for everyone
https://bugs.webkit.org/show_bug.cgi?id=191966
<rdar://problem/46138499>

Reviewed by Ryosuke Niwa.

If automatic process-prewarming is not explicitly turned on/off by the client, then we now only
turn it on automatically after the first process swap. Previously, it was always enabled if
process-swap on cross-site navigation was enabled (which is the case by default for all apps).

This is important because some apps do not actually browse (only display static content) or never
browse cross-site, and thus would not benefit from process prewarming and yet pay a memory cost.

  • UIProcess/API/APIProcessPoolConfiguration.h:

Add m_clientWouldBenefitFromAutomaticProcessPrewarming flag which is false by default and is used
as a fallback if the client did not call setIsAutomaticProcessWarmingEnabled().

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationPrewarmsProcessesAutomatically):
(WKContextConfigurationSetPrewarmsProcessesAutomatically):
Add C API to toggle automatic process prewarming. It is needed for Safari to turn on this feature
by default for browsing. This way Safari does not have to wait for the first process swap to
start prewarming.

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::didReachGoodTimeToPrewarm):
Only do automatic process prewarming if process-swap on cross-site navigation is also enabled.
This is needed for clients like Safari that explicitly enable automatic process prewarming but
only want to have it enabled if PSON is also enabled via experimental features.

(WebKit::WebProcessPool::processForNavigation):
On first process swap, if the client did not explicitly turn on or off automatic process prewarming
then we enable it then. This avoids paying the cost of process prewarming in apps that would not
benefit from it.

2:48 PM Changeset in webkit [238524] by rniwa@webkit.org
  • 19 edits
    26 adds in trunk

SVG use element inside a shadow tree cannot reference an element in the same tree
https://bugs.webkit.org/show_bug.cgi?id=174977
<rdar://problem/33665636>

Reviewed by Zalan Bujtas.

Source/WebCore:

Make fragment URL references used by SVGelements within a shadow tree to refer to other elements
in the same shadow tree. To do this, this patch makes targetElementFromIRIString take a TreeScope
instead of a Document, and updates its call sites.

This patch updates the most uses of targetElementFromIRIString except CSS cursor image, altGraph,
and glyphRef since the cursor image isn't really a SVG feature, and there aren't really real world
use cases in which altGraph and glyphRef are used within shadow trees.

Tests: fast/shadow-dom/svg-animate-href-change-in-shadow-tree.html

fast/shadow-dom/svg-animate-href-in-shadow-tree.html
fast/shadow-dom/svg-feimage-href-in-shadow-tree.html
fast/shadow-dom/svg-linear-gradient-href-in-shadow-tree.html
fast/shadow-dom/svg-mpath-href-change-in-shadow-tree.html
fast/shadow-dom/svg-mpath-href-in-shadow-tree.html
fast/shadow-dom/svg-radial-gradient-href-in-shadow-tree.html
fast/shadow-dom/svg-text-path-href-change-in-shadow-tree.html
fast/shadow-dom/svg-text-path-href-in-shadow-tree.html
fast/shadow-dom/svg-thref-href-change-in-shadow-tree.html
fast/shadow-dom/svg-thref-href-in-shadow-tree.html
fast/shadow-dom/svg-use-href-change-in-shadow-tree.html
fast/shadow-dom/svg-use-href-in-shadow-tree.html

  • accessibility/AccessibilitySVGElement.cpp:

(WebCore::AccessibilitySVGElement::targetForUseElement const):

  • css/CSSCursorImageValue.cpp:
  • rendering/svg/RenderSVGTextPath.cpp:

(WebCore::RenderSVGTextPath::layoutPath const):

  • svg/SVGAltGlyphElement.cpp:

(WebCore::SVGAltGlyphElement::hasValidGlyphElements const):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::buildPendingResource):
(WebCore::SVGFEImageElement::build):

  • svg/SVGGlyphRefElement.cpp:

(WebCore::SVGGlyphRefElement::hasValidGlyphElement const):

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::collectGradientAttributes):

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::buildPendingResource):
(WebCore::SVGMPathElement::pathElement):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::collectGradientAttributes):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::buildPendingResource):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::buildPendingResource):

  • svg/SVGURIReference.cpp:

(WebCore::SVGURIReference::targetElementFromIRIString):

  • svg/SVGURIReference.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::updateShadowTree):
(WebCore::SVGUseElement::findTarget const):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::insertedIntoAncestor):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::FEImage):
(WebCore::FEImage::createWithIRIReference):
(WebCore::FEImage::referencedRenderer const):

  • svg/graphics/filters/SVGFEImage.h:

LayoutTests:

Added tests for specifying a fragment URL to refer to other elements within shadow trees.

This patch doesn't add a test for updating a fragment URL of linearGradient and radialGradient
since it doesn't work at all even outside shadow trees. See webkit.org/b/191934.

  • fast/shadow-dom/svg-animate-href-change-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-animate-href-change-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-animate-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-animate-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-feimage-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-feimage-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-linear-gradient-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-linear-gradient-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-mpath-href-change-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-mpath-href-change-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-mpath-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-mpath-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-radial-gradient-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-radial-gradient-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-text-path-href-change-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-text-path-href-change-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-text-path-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-text-path-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-thref-href-change-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-thref-href-change-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-thref-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-thref-href-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-use-href-change-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-use-href-change-in-shadow-tree.html: Added.
  • fast/shadow-dom/svg-use-href-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/svg-use-href-in-shadow-tree.html: Added.
2:22 PM Changeset in webkit [238523] by Truitt Savell
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r238357.

Casued three css tests to fail and crash on ios sim

Reverted changeset:

"Avoid triggering compositing updates when only the root layer
is composited"
https://bugs.webkit.org/show_bug.cgi?id=191813
https://trac.webkit.org/changeset/238357

2:15 PM Changeset in webkit [238522] by dbates@webkit.org
  • 7 edits
    2 adds in trunk

Caret disappears at end of password field when caps lock indicator is shown; password field
not scrolled when caps lock indicator is shown
https://bugs.webkit.org/show_bug.cgi?id=191164
<rdar://problem/45738179>

Reviewed by Dean Jackson.

Source/WebCore:

Fixes an issue where the caret may be occluded by- or paint on top of- the caps lock indicator on
Mac and iOS, respectively.

If there has not been a previous selection in a focused password field, including a caret
selection made by pressing the arrow keys, then we never scroll the password field to reveal
the current selection when the caps lock indicator is made visible. When the caps lock indicator
is made visible or hidden the size of the inner text renderer changes as it shrinks or expands
to make space for the caps lock indicator or to fill the void of the now hidden caps lock indicator,
respectively. We should detect such size changes and schedule an update and reveal of the current
selection after layout.

Test: fast/forms/password-scrolled-after-caps-lock-toggled.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setNeedsSelectionUpdate): Modified to take an enum to override the current
selection reveal mode for the next update.

  • editing/FrameSelection.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::layout): Schedule post-layout a selection update that
reveals the current selection. We pass FrameSelection::RevealSelectionAfterUpdate::Forced to ensure
that the scheduled selection update scrolls to the reveal the current selection regardless of selection
reveal mode. This is necessary because typing into a password field does not change the current
selection reveal mode.

LayoutTests:

Add a test to ensure that we scroll the password field when caps lock is toggled.

  • TestExpectations: Skip the test on all platforms as we only support toggling Caps Lock in

WebKit2 on Mac at the moment.

  • fast/forms/password-scrolled-after-caps-lock-toggled-expected.txt: Added.
  • fast/forms/password-scrolled-after-caps-lock-toggled.html: Added.
  • platform/mac-wk2/TestExpectations: Mark the test as PASS so that we run it.
1:59 PM Changeset in webkit [238521] by Kocsen Chung
  • 16 edits in tags/Safari-607.1.14.2

Cherry-pick r238501. rdar://problem/46140542

[Win] Reduce the use of WKSI library calls: CoreAnimation
https://bugs.webkit.org/show_bug.cgi?id=191777
<rdar://problem/46140542>

Reviewed by Zalan Bujtas.

Update the Windows build of WebKit to refer to the SPI headers, rather than WebKitSystemInterface.
Move a small amount of glue code from WKSI to WebCore, and remove any includes or link
directives for WebKitSystemInterface.lib.
Source/WebCore:

No new tests. No change in behavior.

  • platform/graphics/BitmapImage.cpp:
  • platform/graphics/ca/win/CACFLayerTreeHost.h:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp: (layerTreeHostForLayer):
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cg/PathCG.cpp:
  • platform/graphics/cg/PatternCG.cpp:
  • platform/graphics/win/WKCAImageQueue.cpp:

Source/WebKitLegacy:

  • PlatformWin.cmake:

Source/WebKitLegacy/win:

  • FullscreenVideoController.cpp:
  • WebKitGraphics.cpp:
  • WebPreferences.cpp:

Tools:

  • TestWebKitAPI/PlatformWin.cmake:

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

1:55 PM Changeset in webkit [238520] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

Placeholder text is not repainted after caps lock indicator is hidden
https://bugs.webkit.org/show_bug.cgi?id=191968
<rdar://problem/46247234>

Substitute UIHelper.toggleCapsLock() for testRunner.toggleCapsLock() as the former replaces
the latter following r238512.

  • fast/repaint/placeholder-after-caps-lock-hidden.html:
1:50 PM Changeset in webkit [238519] by dbates@webkit.org
  • 5 edits
    2 adds in trunk

Placeholder text is not repainted after caps lock indicator is hidden
https://bugs.webkit.org/show_bug.cgi?id=191968
<rdar://problem/46247234>

Reviewed by Zalan Bujtas.

Source/WebCore:

Fixes an issue where the placeholder text in a password field is not repainted when the
caps lock indicator is hidden.

The placeholder renderer is special. It is an excluded child renderer and does not take
part in normal flow layout. It is also created and destroyed as needed. The caps lock
indicator is also special in that it is implemented as a RenderImage and we do not know
its dimensions before it is loaded and the load happens asynchronously. As a result we
detect when the inner text size changes and mark the placeholder as dirty as a way to
keep the dimensions of the placeholder in sync with the dimensions of the inner text.

Test: fast/repaint/placeholder-after-caps-lock-hidden.html

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::layout): Mark the placeholder as needing layout
the size of the inner text changes.

LayoutTests:

Add a test to ensure to that the placeholder text is repainted when the caps lock indicator is hidden.

  • TestExpectations: Skip the test on all platforms as we only support toggling Caps Lock in

WebKit2 on Mac at the moment.

  • fast/repaint/placeholder-after-caps-lock-hidden.html: Added.
  • platform/mac-wk2/TestExpectations: Mark the test as PASS so that we run it.
1:44 PM Changeset in webkit [238518] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-app] Set Foreign Keys in EWS Django app models
https://bugs.webkit.org/show_bug.cgi?id=191790

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/models/builds.py: Set Foreign Key.
  • BuildSlaveSupport/ews-app/ews/models/steps.py: Ditto.
1:39 PM Changeset in webkit [238517] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Do not store patch content in database
https://bugs.webkit.org/show_bug.cgi?id=191788

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/models/patch.py: Removed content field.
1:19 PM Changeset in webkit [238516] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Picture-in-picture window size changes unnecesarily when URL changes.
https://bugs.webkit.org/show_bug.cgi?id=191787

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-11-26
Reviewed by Jer Noble.

When loading a new URL, the video dimensions are temporarily 0,0. Instead of
defaulting back to 4:3 sized pip window temporarily, keep the old dimensions until
there is a new valid size.

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::videoDimensionsChanged):

1:13 PM Changeset in webkit [238515] by aestes@apple.com
  • 20 edits
    1 copy
    1 add in trunk/Source

[Cocoa] Make it easier to encode NSObjects
https://bugs.webkit.org/show_bug.cgi?id=191948

Reviewed by Dean Jackson.

Source/WebCore:

  • Modules/applepay/Payment.h: Changed the PKPayment * constructor to take a

RetainPtr<PKPayment>&& instead.

  • Modules/applepay/PaymentContact.h: Ditto for PKContact.
  • Modules/applepay/PaymentMerchantSession.h: Ditto for PKPaymentMerchantSession.
  • Modules/applepay/PaymentMethod.h: Ditto for PKPaymentMethod.
  • Modules/applepay/cocoa/PaymentCocoa.mm:

(WebCore::Payment::Payment): Moved definition out-of-line.
(WebCore::Payment::pkPayment const): Ditto.

  • Modules/applepay/cocoa/PaymentContactCocoa.mm:

(WebCore::PaymentContact::PaymentContact): Ditto.
(WebCore::PaymentContact::pkContact const): Ditto.

  • Modules/applepay/cocoa/PaymentMethodCocoa.mm:

(WebCore::PaymentMethod::PaymentMethod): Ditto.
(WebCore::PaymentMethod::pkPaymentMethod const): Ditto.

Source/WebCore/PAL:

  • pal/spi/cocoa/PassKitSPI.h: Declared some classes that secretly conform to NSSecureCoding.

Source/WebKit:

It should be easier to encode objects that conform to NSSecureCoding for WebKit IPC. Right
now, several argument coders duplicate the logic for encoding and decoding objects using
NSKeyedArchiver and NSKeyedUnarchiver.

This patch adds encodeObject() and decodeObject() primitives for encoding and decoding using
Foundation keyed archiving. It then partially specializes ArgumentCoder for raw pointers and
RetainPtrs whose pointee conforms to NSSecureCoding to call these new primitives.

This allows us to use Encoder::operator<< to encode raw pointers or RetainPtrs and use
Decoder::operator>> to decode to an optional RetainPtr. By default, IPC::decode infers the
allowed class for decoding by calling [T class]. We can also specify the allowed classes
explicitly for containers and classes that are loaded at runtime.

  • Shared/Cocoa/ArgumentCodersCocoa.h: Added.
  • Shared/Cocoa/ArgumentCodersCocoa.mm: Added.
  • Shared/Cocoa/DataDetectionResult.mm:

(WebKit::DataDetectionResult::encode const): Removed custom encoding code and used ArgumentCodersCocoa instead.
(WebKit::DataDetectionResult::decode): Ditto.

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<WebCore::Payment>::encode): Ditto.
(IPC::ArgumentCoder<WebCore::Payment>::decode): Ditto.
(IPC::ArgumentCoder<WebCore::PaymentAuthorizationResult>::decode): Ditto.
(IPC::ArgumentCoder<WebCore::PaymentContact>::encode): Ditto.
(IPC::ArgumentCoder<WebCore::PaymentContact>::decode): Ditto.
(IPC::ArgumentCoder<WebCore::PaymentMerchantSession>::encode): Ditto.
(IPC::ArgumentCoder<WebCore::PaymentMerchantSession>::decode): Ditto.
(IPC::ArgumentCoder<WebCore::PaymentMethod>::encode): Ditto.
(IPC::ArgumentCoder<WebCore::PaymentMethod>::decode): Ditto.
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::decode): Ditto.

  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::description const): Added some needed namespaces due to unified source shuffling.

  • Shared/WebCoreArgumentCoders.h: Modernized several decoders.
  • Shared/ios/InteractionInformationAtPosition.mm:

(WebKit::InteractionInformationAtPosition::encode const): Removed custom encoding code and used ArgumentCodersCocoa instead.
(WebKit::InteractionInformationAtPosition::decode): Ditto.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<WebCore::ProtectionSpace>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<WebCore::ProtectionSpace>::decodePlatformData): Ditto.
(IPC::ArgumentCoder<WebCore::Credential>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<WebCore::Credential>::decodePlatformData): Ditto.
(IPC::ArgumentCoder<WebCore::MediaPlaybackTargetContext>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<WebCore::MediaPlaybackTargetContext>::decodePlatformData): Ditto.
(IPC::deviceContextKey): Deleted.

  • Shared/mac/WebHitTestResultData.mm:

(WebKit::WebHitTestResultData::platformEncode const): Ditto.
(WebKit::WebHitTestResultData::platformDecode): Ditto.

  • SourcesCocoa.txt: Added ArgumentCodersCocoa.mm.
  • WebKit.xcodeproj/project.pbxproj: Ditto.
12:55 PM Changeset in webkit [238514] by Jonathan Bedard
  • 2 edits in trunk/Tools

webkitpy: Retry app installation on watchOS simulators (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=191769
<rdar://problem/46139850>

Unreviewed infrastructure fix.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDevice): Increase retry attempts.

12:42 PM Changeset in webkit [238513] by dbates@webkit.org
  • 5 edits
    4 adds in trunk

REGRESSION (r238078): Do not draw caps lock indicator when Strong Password button is shown
https://bugs.webkit.org/show_bug.cgi?id=191969
<rdar://problem/46247569>

Reviewed by Dean Jackson.

Source/WebCore:

Following r238078 we now support drawing the caps lock indicator in password fields on iOS.
However it is not meaningful to show the caps lock indicator when the Strong Password button
is visible because the password field is not editable. We should not paint the caps lock
indicator when the Strong Password button is visible.

Tests: fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-when-after-hiding-auto-fill-strong-password-button.html

fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible.html

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator const): Do not draw the caps
lock indicator when the password field has the Strong Password button.
(WebCore::TextFieldInputType::updateAutoFillButton): Call capsLockStateMayHaveChanged() to
update the visibility of the caps lock indicator when the auto fill button has changed.

LayoutTests:

Add tests to ensure that we show or hide the caps lock indicator depending on whether the
Strong Password button is visible.

  • TestExpectations: Skip the tests below on all platforms. We will selectively enable them on Mac.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-when-after-hiding-auto-fill-strong-password-button-expected.html: Added.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-when-after-hiding-auto-fill-strong-password-button.html: Added.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible-expected.html: Added.
  • fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible.html: Added.
  • platform/mac-wk2/TestExpectations: Mark the tests above as PASS so that we run them.
12:41 PM Changeset in webkit [238512] by dbates@webkit.org
  • 17 edits in trunk

Move testRunner.toggleCapsLock() to uiController
https://bugs.webkit.org/show_bug.cgi?id=191972

Reviewed by Tim Horton.

Tools:

Move testRunner.toggleCapsLock() to uiController as uiController is the preferred JavaScript
object for UI test functions. Having this functionality be on uiController makes it an
asynchronous function naturally and complements use of onkeydown, onkeyup listeners to know
when the Caps Lock key event is dispatched. It also facilitates its use directly as part of
scripts with other uiController functions invocations that are passed in a single invocation
of testRunner.runUIScript().

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::toggleCapsLock):

  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::toggleCapsLock):
Added stub functions that invoke the callback. We do not support toggling caps lock in Legacy
WebKit at the moment. Legacy WebKit reads the caps lock key state directly from the OS. Modern
WebKit caches the caps lock state in the WebProcess as a natural side effect of the fact that
the UIProcess is the only process capable of querying the caps lock key state from the OS and
hence the UIProcess must send over this state to the WebProcess.

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Add IDL for new function.
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::toggleCapsLock): Added empty implementation for ports non-Cocoa ports.

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::toggleCapsLock): Deleted.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::toggleCapsLock): Deleted; moved to UIScriptController::toggleCapsLock().
Removed logic to handle testRunner.toggleCapsLock().

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::toggleCapsLock): Add stub function that invokes the callback
and a FIXME comment that explains that we will implement this function in <https://bugs.webkit.org/show_bug.cgi?id=191815>.

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::toggleCapsLock): Moved the implementation from TestController::toggleCapsLock().

LayoutTests:

Updated existing test to use UIHelper.toggleCapsLock(), which calls uiController.toggleCapsLock(),
now that testRunner.toggleCapsLock() was removed.

  • fast/events/detect-caps-lock.html:
  • resources/ui-helper.js:

(window.UIHelper.toggleCapsLock): Added. Convenience function to call uiController.toggleCapsLock()
and return a Promise that is resolved once the UIProcess has dispatched the NSEvent to simulate
pressing the caps lock key.

12:29 PM Changeset in webkit [238511] by sbarati@apple.com
  • 3 edits
    1 add in trunk

InPlaceAbstractState::endBasicBlock rule for SetLocal should filter the value based on the flush format
https://bugs.webkit.org/show_bug.cgi?id=191956
<rdar://problem/45665806>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/end-basic-block-set-local-should-filter-type.js: Added.

(bar):
(foo):

Source/JavaScriptCore:

This is a similar bug to what Keith fixed in r232134. The issue is if we have
a program like this:

a: JSConstant(jsNumber(0))
b: SetLocal(Int32:@a, loc1, FlushedInt32)
c: ArrayifyToStructure(Cell:@a)
d: Jump(...)

At the point in the program right after the Jump, a GetLocal for loc1
would return whatever the ArrayifyToStructure resulting type is. This breaks
the invariant that a GetLocal must return a value that is a subtype of its
FlushFormat. InPlaceAbstractState::endBasicBlock will know if a SetLocal is
the final node touching a local slot. If so, it'll see if any nodes later
in the block may have refined the type of the value stored in that slot. If
so, endBasicBlock() further refines the type to ensure that any GetLocals
loading from the same slot will result in having this more refined type.
However, we must ensure that this logic only considers types within the
hierarchy of the variable access data's FlushFormat, otherwise, we may
break the invariant that a GetLocal's type is a subtype of its FlushFormat.

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::endBasicBlock):

12:14 PM Changeset in webkit [238510] by sbarati@apple.com
  • 4 edits
    1 add in trunk

Object allocation sinking phase needs to iterate each scope offset instead of just iterating the symbol table's hashmap when handling an activation
https://bugs.webkit.org/show_bug.cgi?id=191958
<rdar://problem/46221877>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/object-allocation-sinking-phase-needs-to-write-to-each-scope-offset.js: Added.

(x):
(foo):

Source/JavaScriptCore:

There may be more entries in an activation than unique variables
in a symbol table's hashmap. For example, if you have two parameters
to a function, and they both are the same name, and the function
uses eval, we'll end up with two scope slots, but only a single
entry in the hashmap in the symbol table. Object allocation sinking
phase was previously iterating over the hashmap, assuming these
values were equivalent. This is wrong in the above case. Instead,
we need to iterate over each scope offset.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
  • runtime/GenericOffset.h:

(JSC::GenericOffset::operator+=):
(JSC::GenericOffset::operator-=):

12:06 PM Changeset in webkit [238509] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

NaNs read from Wasm code needs to be be purified.
https://bugs.webkit.org/show_bug.cgi?id=191056
<rdar://problem/45660341>

Reviewed by Filip Pizlo.

JSTests:

  • wasm/regress/regress-191056.js: Added.

Source/JavaScriptCore:

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::link):

11:59 AM Changeset in webkit [238508] by msaboff@apple.com
  • 2 edits in trunk/JSTests

32-bit JSC test failure: stress/regexp-compile-oom.js
https://bugs.webkit.org/show_bug.cgi?id=191375

Reviewed by Mark Lam.

Disabled the test for 32 bit platforms.

  • stress/regexp-compile-oom.js:
11:55 AM Changeset in webkit [238507] by Wenson Hsieh
  • 6 edits in trunk/Source/WebKit

CompletionHandler-based async IPC messages only work when the completion handler takes a single argument
https://bugs.webkit.org/show_bug.cgi?id=191965

Reviewed by Tim Horton.

Teach messages.py to handle the case where an async IPC completion handler takes no arguments, or takes more
than a single argument. Currently, the generated code attempts to wrap all arguments in a WTFMove(*~), but
this either results in WTFMove(*) in the case where there are no arguments, or WTFMove(*foo, *bar, *baz) in
the case where there are several arguments. Both of these results fail to compile.

Instead, emit completionHandler() when there are no arguments, and
completionHandler(WTFMove(*foo), WTFMove(*bar), WTFMove(*baz)) when there are multiple arguments.

Tests: TestAsyncMessageWithNoArguments

TestAsyncMessageWithMultipleArguments

  • Scripts/webkit/MessageReceiverSuperclass-expected.cpp:

(Messages::WebPage::TestAsyncMessageWithNoArguments::callReply):
(Messages::WebPage::TestAsyncMessageWithNoArguments::cancelReply):
(Messages::WebPage::TestAsyncMessageWithNoArguments::send):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::callReply):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::cancelReply):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::send):
(WebKit::WebPage::didReceiveMessage):

  • Scripts/webkit/MessagesSuperclass-expected.h:

(Messages::WebPage::TestAsyncMessageWithNoArguments::receiverName):
(Messages::WebPage::TestAsyncMessageWithNoArguments::name):
(Messages::WebPage::TestAsyncMessageWithNoArguments::asyncMessageReplyName):
(Messages::WebPage::TestAsyncMessageWithNoArguments::arguments const):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::receiverName):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::name):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::asyncMessageReplyName):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::arguments const):

  • Scripts/webkit/messages.py:
  • Scripts/webkit/messages_unittest.py:

Add new messages.py unit tests to cover these cases.

  • Scripts/webkit/test-superclass-messages.in:
11:51 AM Changeset in webkit [238506] by Kocsen Chung
  • 7 edits in tags/Safari-607.1.14.2/Source

Versioning.

11:37 AM Changeset in webkit [238505] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.14.2

New tag.

11:29 AM Changeset in webkit [238504] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Streamline ListHashSet use in floating object code
https://bugs.webkit.org/show_bug.cgi?id=191957

Patch by Sam Weinig <sam@webkit.org> on 2018-11-26
Reviewed by Alex Christensen.

Source/WebCore:

Simplify use of ListHashSet by using new raw pointer overloads and
making use of reversed order of template arguments in the find() and
contains() overloads that take hash translators.

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObjects::remove):
Use raw pointer overloads of contains and remove. Remove seperate call
to find / check agains end() which is unnecessary as remove() already
does that.

  • rendering/FloatingObjects.h:

(WebCore::FloatingObjectHashFunctions::hash):
(WebCore::FloatingObjectHashFunctions::equal):
(WebCore::FloatingObjectHashTranslator::hash):
(WebCore::FloatingObjectHashTranslator::equal):
Add hash()/equal() overloads for the raw pointer cases. As the FIXME
notes, this could be simplified by changing PtrHashBase to use designated
bottleneck functions for hash() and equal().

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::containsFloat const):
(WebCore::RenderBlockFlow::insertFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::hasOverhangingFloat):
(WebCore::RenderBlockFlow::addIntrudingFloats):
Use simplified calls.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
Use simplified calls.

Source/WTF:

  • wtf/ListHashSet.h:

Reverses the order of the template arguments for the find() and contains()
overload that allow specifying a hash translator to allow the compiler to
deduce type T. This simplifies call sites and matches other WTF containers.

11:15 AM Changeset in webkit [238503] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Use Full Screen consistently in localizable strings.
https://bugs.webkit.org/show_bug.cgi?id=190363
rdar://problem/43882333

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-11-26
Reviewed by Jon Lee.

Source/WebCore:

No new tests because only change is to localizable strings.

Rename "Fullscreen" to "Full Screen" in localizable strings for consistency.

  • English.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagExitVideoFullscreen):
(WebCore::localizedMediaControlElementHelpText):

Source/WebKit:

Rename "Fullscreen" to "Full Screen" in localizable strings for consistency.

  • UIProcess/ios/fullscreen/WKFullScreenViewController.mm:

(-[WKFullScreenViewController _showPhishingAlert]):

11:01 AM Changeset in webkit [238502] by Devin Rousso
  • 10 edits in trunk/Source/WebInspectorUI

Web Inspector: "No Filter Results" in navigation sidebar should have a button to clear filters
https://bugs.webkit.org/show_bug.cgi?id=191916

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WI.NavigationSidebarPanel.prototype.resetFilter): Added.
(WI.NavigationSidebarPanel.prototype._checkForEmptyFilterResults.checkTreeOutlineForEmptyFilterResults):

  • UserInterface/Views/FilterBar.js:

(WI.FilterBar.prototype.clear):

  • UserInterface/Views/FilterBarButton.js:

(WI.FilterBarButton.prototype.toggle):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WI.ResourceSidebarPanel.prototype.resetFilter): Added.

  • UserInterface/Views/StorageSidebarPanel.js:

(WI.StorageSidebarPanel.prototype.resetFilter): Added.

  • UserInterface/Views/AuditTestContentView.js:

(WI.AuditTestContentView.prototype.showFilteredPlaceholder):

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._showEmptyFilterResultsMessage):

  • UserInterface/Views/Main.css:

(.message-text-view > .message + button): Added.

  • Localizations/en.lproj/localizedStrings.js:
10:26 AM Changeset in webkit [238501] by Brent Fulgham
  • 16 edits in trunk

[Win] Reduce the use of WKSI library calls: CoreAnimation
https://bugs.webkit.org/show_bug.cgi?id=191777
<rdar://problem/46140542>

Reviewed by Zalan Bujtas.

Update the Windows build of WebKit to refer to the SPI headers, rather than WebKitSystemInterface.
Move a small amount of glue code from WKSI to WebCore, and remove any includes or link
directives for WebKitSystemInterface.lib.
Source/WebCore:

No new tests. No change in behavior.

  • platform/graphics/BitmapImage.cpp:
  • platform/graphics/ca/win/CACFLayerTreeHost.h:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(layerTreeHostForLayer):

  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cg/PathCG.cpp:
  • platform/graphics/cg/PatternCG.cpp:
  • platform/graphics/win/WKCAImageQueue.cpp:

Source/WebKitLegacy:

  • PlatformWin.cmake:

Source/WebKitLegacy/win:

  • FullscreenVideoController.cpp:
  • WebKitGraphics.cpp:
  • WebPreferences.cpp:

Tools:

  • TestWebKitAPI/PlatformWin.cmake:
10:20 AM Changeset in webkit [238500] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Audit: automatically add to tab bar when the experimental setting is enabled
https://bugs.webkit.org/show_bug.cgi?id=191659

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Base/Main.js:

(WI.loaded):
Drive-by: use existing constants instead of hard-coded strings for consistency.

10:15 AM Changeset in webkit [238499] by Tadeu Zagallo
  • 3 edits
    1 add in trunk

ASSERTION FAILED: m_outOfLineJumpTargets.contains(bytecodeOffset)
https://bugs.webkit.org/show_bug.cgi?id=191716
<rdar://problem/45723878>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-187373.js: Added.

(async.fn):

Source/JavaScriptCore:

After https://bugs.webkit.org/show_bug.cgi?id=187373, when updating
jump targets during generatorification, we only stored the new jump
target when it changed. However, the out-of-line jump targets are
cleared at the beginning of the pass, so we need to store it
unconditionally.

  • bytecode/PreciseJumpTargetsInlines.h:

(JSC::extractStoredJumpTargetsForInstruction):
(JSC::updateStoredJumpTargetsForInstruction):

9:42 AM Changeset in webkit [238498] by dbates@webkit.org
  • 4 edits in trunk/Source/WebKit

Wire up ChromeClient::takeFocus() on iOS
https://bugs.webkit.org/show_bug.cgi?id=191763
<rdar://problem/18584508>

Reviewed by Dan Bernstein.

Expose existing Mac SPI for use on iOS. This will allow Safari to be notified when
the engine has cycled through all the tab focusable elements on the page.

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

(WebKit::UIDelegate::setDelegate):

9:11 AM Changeset in webkit [238497] by Wenson Hsieh
  • 3 edits in trunk/Source/WebKit

Unreviewed, fix the internal 32-bit macOS 10.13 build after r238471

r238471 added an #include WebPageMessages.h in WebPage.h, which causes the 32-bit macOS build using an
internal macOS SDK ≤ 10.13 to fail. To address this, move the #include back under PLATFORM(IOS_FAMILY) by
changing the parameters of WebPage::removeDataDetectedLinks and WebPage::detectDataInAllFrames to completion
handlers rather than async IPC replies.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::removeDataDetectedLinks):
(WebKit::WebPage::detectDataInAllFrames):

  • WebProcess/WebPage/WebPage.h:
8:49 AM Changeset in webkit [238496] by Alan Bujtas
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed rebaseline after r238493.

  • platform/ios/fast/inline/inline-content-with-float-and-margin-expected.txt: Added.
8:24 AM Changeset in webkit [238495] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening after r238280.

  • fast/content-observation/click-event-suppression-on-content-change.html:
7:30 AM Changeset in webkit [238494] by Alan Bujtas
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed rebaseline after r238460.

  • platform/ios/fast/inline/inline-content-with-image-simple-expected.txt: Added.
7:23 AM Changeset in webkit [238493] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC][IFC] Use float box's margin box to adjust the line constraints.
https://bugs.webkit.org/show_bug.cgi?id=191961

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/inline/inline-content-with-float-and-margin.html

(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
(WebCore::Layout::LayoutState::verifyAndOutputMismatchingLayoutTree const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:

LayoutTests:

  • fast/inline/inline-content-with-float-and-margin-expected.txt: Added.
  • fast/inline/inline-content-with-float-and-margin.html: Added.
6:18 AM Changeset in webkit [238492] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Accessing default web context before gtk_init results in drawing failure (Gtk-WARNING : drawing failure for widget 'WebKitWebView': invalid value for an input Visual*)
https://bugs.webkit.org/show_bug.cgi?id=150303

Reviewed by Michael Catanzaro.

Ensure gtk has been initialized before trying to get the default display.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::createPlatformDisplay):

4:09 AM Changeset in webkit [238491] by jfernandez@igalia.com
  • 7 edits in trunk

[css-grid] absolute positioned child is sized wrongly when using auto-fit, generating spurious collapsed tracks
https://bugs.webkit.org/show_bug.cgi?id=191938

Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

This change makes several cases of the following tests to pass now.

  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-004-expected.txt:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-005-expected.txt:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-006-expected.txt:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-007-expected.txt:

Source/WebCore:

The guttersSize function has a complex logic to compute the gaps in a
specific GridSpan, considering different scenarios of collapsed tracks
for such span.

The first case is avoiding the duplicated gap because of trailing
collapsed tracks.

The second case considered is looking for non-empty tracks before the
GridSpan end, if it points to an empty track, so we must add this gap.

The last case is to consider the gap of non-empty tracks after the
GridSpan end line, if it points to an empty track.

There are several cases that are not considered or incorrectly computed.
This patch addresses those cases; basically, we should only consider gaps
when there are non-empty tracks before and after the collapsed tracks.
Additionally, we should avoid duplicating the gaps size adding both,
before and after non-empty track's gap.

No new tests, this change is covered by current tests and make several cases to pass now.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::guttersSize const):

1:40 AM Changeset in webkit [238490] by Antti Koivisto
  • 6 edits in trunk/Source/WebKit

Clean up layer tree freezing logic in WebPage
https://bugs.webkit.org/show_bug.cgi?id=191826

Reviewed by Dean Jackson.

Use OptionSet<LayerTreeFreezeReason> to track various reasons that can cause layer tree to get frozen.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::freezeLayerTree):
(WebKit::WebPage::unfreezeLayerTree):
(WebKit::WebPage::updateDrawingAreaLayerTreeFreezeState):

Layer tree is unfrozen when there there are no reasons to freeze it.

(WebKit::WebPage::didStartPageTransition):
(WebKit::WebPage::didCompletePageTransition):
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::endPrinting):
(WebKit::WebPage::setIsSuspended):
(WebKit::WebPage::setLayerTreeStateIsFrozen): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationDidEnterBackground):
(WebKit::WebPage::applicationWillEnterForeground):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::cancelPrepareToSuspend):
(WebKit::WebProcess::freezeAllLayerTrees):
(WebKit::WebProcess::unfreezeAllLayerTrees):
(WebKit::WebProcess::processDidResume):
(WebKit::WebProcess::setAllLayerTreeStatesFrozen): Deleted.

  • WebProcess/WebProcess.h:
12:54 AM Changeset in webkit [238489] by berto@igalia.com
  • 2 edits in trunk

[GTK] [2.22.0] Fails to build in armel
https://bugs.webkit.org/show_bug.cgi?id=188862

Disable the JIT and enable C_LOOP on ARM CPUs without Thumb2
support.

Reviewed by Michael Catanzaro.

  • Source/cmake/WebKitFeatures.cmake:
12:06 AM Changeset in webkit [238488] by Manuel Rego Casasnovas
  • 9 edits
    2 adds in trunk

[css-grid] Fix grid container sizing under min-content height
https://bugs.webkit.org/show_bug.cgi?id=191889

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

Imported tests from WPT.

  • web-platform-tests/css/css-grid/grid-model/grid-container-sizing-constraints-001-expected.txt: Added.
  • web-platform-tests/css/css-grid/grid-model/grid-container-sizing-constraints-001.html: Added.
  • web-platform-tests/css/css-grid/grid-model/w3c-import.log:

Source/WebCore:

The spec is quite clear
(https://drafts.csswg.org/css-sizing/#valdef-width-min-content):

"min-content

If specified for the inline axis, use the min-content inline size;
otherwise behaves as the property’s initial value."

So if a grid container has "height: min-content" it should behave
the same than with "height: auto".

The patch removes computeIntrinsicLogicalContentHeightUsing() in
RenderGrid as we don't need a custom one anymore.
We can also get rid of m_minContentHeight and m_maxContentHeight
attributes that were only used for this logic.

Test: fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html

fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html
imported/w3c/web-platform-tests/css/css-grid/grid-model/grid-container-sizing-constraints-001.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths const):
(WebCore::RenderGrid::computeTrackSizesForIndefiniteSize const):

  • rendering/RenderGrid.h:

LayoutTests:

Update tests results to the new behavior.
Also modified a little bit the test to keep them in sync with Blink versions.

  • fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows-expected.txt:
  • fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html:
  • fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html:
Note: See TracTimeline for information about the timeline view.