Timeline
Sep 29, 2020:
- 10:56 PM Changeset in webkit [267781] by
-
- 9 edits2 copies in trunk/Source/WebCore
[LFC Display] Basic text display
https://bugs.webkit.org/show_bug.cgi?id=217120
Reviewed by Zalan Bujtas.
Add basic text painting to LFC display. Display::TextBox() represents a run of text.
Display::TreeBuilder gains code to build the inline tree by traversing runs, and
CSSPainter gets the ability to paint text boxes.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::outputDisplayBox):
- display/DisplayTreeBuilder.h:
- display/css/DisplayBox.h:
(WebCore::Display::Box::isTextBox const):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::CSSPainter::paintBoxContent):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
(WebCore::Display::Style::autoWrap const):
(WebCore::Display::Style::preserveNewline const):
(WebCore::Display::Style::collapseWhiteSpace const):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::color const):
(WebCore::Display::Style::fontCascade const):
(WebCore::Display::Style::fontMetrics const):
(WebCore::Display::Style::whiteSpace const):
(WebCore::Display::Style::tabSize const):
- display/css/DisplayTextBox.cpp: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
(WebCore::Display::TextBox::TextBox):
(WebCore::Display::m_text):
(WebCore::Display::TextBox::debugDescription const):
- display/css/DisplayTextBox.h: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
(WebCore::Display::TextBox::expansion const):
(WebCore::Display::TextBox::text const):
- 8:27 PM Changeset in webkit [267780] by
-
- 2 edits in trunk/Source/WebCore
We should avoid making connections to the GPU Process during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=217112
Reviewed by Tim Horton.
Currently, it's possible to establish a connection to the GPU process from the web content process in the middle
of garbage collection. This may occur if GC occurs after a canvas element and its image buffer has been created,
but before the image buffer has initialized its backend (which, in the case of using the GPU process for
rendering, is a RemoteRenderingBackend). While estimating memory cost for the canvas element, if a remote
rendering backend has not been created yet, we end up creating it underneathensureBackendCreated(), and
subsequently block the web process until the GPU process is finished creating the proxy rendering backend.
When running layout tests in
fast/canvas, this causes some layout tests to occasionally hit assertions under
RemoteImageBufferMessageHandler::waitForCreateImageBufferBackend, due to accessingm_remoteRenderingBackend
(a weak pointer).
To fix this, in the case where the image buffer does not yet have a rendering backend, we should simply return 0
instead of telling the GPU process to allocate the actual image buffer and then returning a non-zero cost.
- platform/graphics/ConcreteImageBuffer.h:
- 8:17 PM Changeset in webkit [267779] by
-
- 5 edits2 adds in trunk
Crash while loading a confluence page
https://bugs.webkit.org/show_bug.cgi?id=217111
Reviewed by Wenson Hsieh.
Source/WebCore:
The crash was caused by MutationObserver::disconnect attempting to unregister
a MutationObserverRegistration from a Node after it had already been removed once.
This happens when MutationObserverRegistration remains in MutationObserver
when there is an ongoing transient mutation observation.
Fixed the bug by setting a boolean MutationObserverRegistration when we've stopped
the observation in MutationObserverRegistration::stopObserving and not unregistering it
in subsequent calls to MutationObserver::disconnect.
Test: fast/dom/MutationObserver/disconnect-twice.html
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::disconnect):
- dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::stopObserving): Added.
- dom/MutationObserverRegistration.h:
LayoutTests:
Added a regression test.
- fast/dom/MutationObserver/disconnect-twice-expected.txt: Added.
- fast/dom/MutationObserver/disconnect-twice.html: Added.
- 7:45 PM Changeset in webkit [267778] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r267402): [ macOS iOS Release ] imported/w3c/web-platform-tests/user-timing/measure-l3.any.worker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217118
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 6:59 PM Changeset in webkit [267777] by
-
- 18 edits in trunk/Source/WebCore
[WebGPU] Add platform guards
https://bugs.webkit.org/show_bug.cgi?id=217095
Reviewed by Darin Adler.
Add platform guards around Apple specific implementations. The WebGPU implementation
on Apple platforms is guarded by USE(METAL). Additionally guard uses of the WHLSL
compiler.
No new tests. No change in behavior.
- Modules/webgpu/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::platformLayer const):
- platform/graphics/gpu/GPUBindGroup.h:
- platform/graphics/gpu/GPUBindGroupAllocator.h:
- platform/graphics/gpu/GPUBindGroupLayout.h:
- platform/graphics/gpu/GPUBuffer.h:
- platform/graphics/gpu/GPUCommandBuffer.h:
- platform/graphics/gpu/GPUComputePassEncoder.h:
- platform/graphics/gpu/GPUComputePipeline.h:
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/gpu/GPUProgrammablePassEncoder.h:
- platform/graphics/gpu/GPUQueue.h:
- platform/graphics/gpu/GPURenderPassEncoder.h:
- platform/graphics/gpu/GPURenderPipeline.h:
- platform/graphics/gpu/GPUSampler.h:
- platform/graphics/gpu/GPUShaderModule.h:
- platform/graphics/gpu/GPUSwapChain.h:
- platform/graphics/gpu/GPUTexture.h:
- 6:37 PM Changeset in webkit [267776] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ iOS release wk2 ] compositing/debug-borders-dynamic.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=217114
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 6:29 PM Changeset in webkit [267775] by
-
- 22 edits5 deletes in trunk/Source
[Preferences] Adopt shared preferences configuration and script in WebKit
https://bugs.webkit.org/show_bug.cgi?id=217075
Reviewed by Darin Adler.
Source/WebKit:
- Shared/WebPreferences.yaml: Removed.
- Shared/WebPreferencesDebug.yaml: Removed.
- Shared/WebPreferencesExperimental.yaml: Removed.
- Shared/WebPreferencesInternal.yaml: Removed.
- Scripts/GeneratePreferences.rb: Removed.
- WebKit.xcodeproj/project.pbxproj:
Remove yaml preferences and preference generator in favor of shared one
in WTF.
- CMakeLists.txt:
- DerivedSources.make:
Update preference generation to use the shared script and preference files.
- Configurations/BaseTarget.xcconfig:
Add new variable, WTF_BUILD_SCRIPTS_DIR, that points to directory where the
shared generator and preference files live for use as input to the generation.
- DerivedSources-input.xcfilelist:
Update for new location of script and preference files.
- Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
- Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb:
Port support for multiple conditionally-defined defaultValues from WebKitLegacy,
keeping the same DEFAULT_VALUE_FOR_* macro naming and using the macro definitions
in place of existing <%= @pref.defaultValue %> idiom. Also updates for rename
from @internalDebugFeatures to @internalFeatures.
- Shared/WebPreferencesDefaultValues.cpp:
- Shared/WebPreferencesDefaultValues.h:
Remove defaults that are now fully specified in the preference files.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
Replace removed DEFAULT_APPLE_PAY_ENABLED, with the now generated DEFAULT_VALUE_FOR_ApplePayEnabled.
Source/WebKitLegacy/mac:
- Scripts/generate-preferences.sh:
Update to account for new interface requiring the full path to each template.
Source/WTF:
- Scripts/GeneratePreferences.rb:
Simplify input by passing the templates as complete paths, rather than by name + template directory.
- Scripts/Preferences/WebPreferences.yaml:
- Scripts/Preferences/WebPreferencesDebug.yaml:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Fix some mistakes / things left out to make WebKit defaults and names match current WebKit names and defaults.
- wtf/CMakeLists.txt:
Copy all the preferences and scripts into WTF_SCRIPTS_DIR so it can be accessed by WebKit.
- 6:05 PM Changeset in webkit [267774] by
-
- 2 edits in trunk/Tools
Modify END_AX_OBJC_EXCEPTIONS macro to assert to aid debugging of layout tests.
https://bugs.webkit.org/show_bug.cgi?id=217096
Reviewed by Chris Fleizach.
ASSERT_NOT_REACHED on thrown exceptions. This will tell us immediately
the location of a failure instead of silently swallowing the exception
and posibly causing a hang/timeout much harder to find after the fact.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
- 5:13 PM Changeset in webkit [267773] by
-
- 4 edits in trunk/Source/WebCore
Fullscreen mode on mlb.com shows white letterboxing when video aspect ratio does not match screen
https://bugs.webkit.org/show_bug.cgi?id=217060
<rdar://problem/68936043>
Reviewed by Darin Adler.
Add a Quirk which sets the background color of fullscreen elements on mlb.com to black.
- page/Quirks.cpp:
(WebCore::Quirks::needsBlackFullscreenBackgroundQuirk const):
- page/Quirks.h:
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
- 4:38 PM Changeset in webkit [267772] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] RemoteImageBufferProxy should ensure the state stack of the context is cleared before destruction
https://bugs.webkit.org/show_bug.cgi?id=208876
Reviewed by Tim Horton.
When running canvas layout tests in debug WebKit, the assertion in
~GraphicsContext()which verifies that
m_stack.isEmpty()fires. This occurs because the matching call to restore may still be buffered in the web
process when the remote image buffer proxy in the GPU process is destroyed; however, this may also occur if the
web process terminates without having sent the matching calls to restore the graphics context.
We can fix both of these scenarios by manually unwinding the context's state stack when destroying the
RemoteImageBufferProxy. Original patch by Said Abou-Hallawa.
- GPUProcess/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
- 4:35 PM Changeset in webkit [267771] by
-
- 2 edits1 add in trunk
[CMake][WebGPU] Add FindDawn module
https://bugs.webkit.org/show_bug.cgi?id=217097
Reviewed by Darin Adler.
Add a FindDawn CMake module to use for a WebGPU implementation on non-Cocoa platforms.
If ENABLE_WEBGPU is on for WinCairo it will attempt to detect Dawn.
- Source/cmake/FindDawn.cmake: Added.
- Source/cmake/OptionsWinCairo.cmake:
- 4:31 PM Changeset in webkit [267770] by
-
- 3 edits in trunk/Source/ThirdParty/ANGLE
Fix EXT_color_buffer_half_float on iOS
https://bugs.webkit.org/show_bug.cgi?id=217107
Reviewed by Kenneth Russell.
- src/libANGLE/Context.cpp:
(gl::Context::generateSupportedExtensions const):
- src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateTextureFormatCaps):
- 4:24 PM Changeset in webkit [267769] by
-
- 2 edits in trunk/Source/WebCore
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Reviewed by Wenson Hsieh.
A follow-up patch to remove WEBCORE_EXPORT of the VideoLayerManagerObjC constructor.
The constructor is inline, so it does not require WEBCORE_EXPORT.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
(WebCore::VideoLayerManagerObjC::VideoLayerManagerObjC):
- 3:57 PM Changeset in webkit [267768] by
-
- 3 edits in trunk/Source/WebKit
[PlayStation] Build fix for GPU Process after r267725
https://bugs.webkit.org/show_bug.cgi?id=217098
Unreviewed build fix.
Update playstation specific code for signature changes in the above.
Fix MediaPlayerPrivateRemote constructor when RELEASE_LOG_DISABLED was specified.
- GPUProcess/media/playstation/RemoteMediaPlayerProxyPlayStation.cpp:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
- 3:04 PM Changeset in webkit [267767] by
-
- 3 edits in branches/safari-611.1.2-branch/Source/WebKitLegacy/mac
Cherry-pick r267756. rdar://problem/69765230
Unreviewed, reverting r267397.
SPI is still used <rdar://problem/69749992>
Reverted changeset:
"Remove deprecated script and stylesheet injection SPI,
replaced with more inclusively-named SPI"
https://bugs.webkit.org/show_bug.cgi?id=214936
https://trac.webkit.org/changeset/267397
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:52 PM Changeset in webkit [267766] by
-
- 9 edits in trunk
CSS serialization expects comments between certain tokens
https://bugs.webkit.org/show_bug.cgi?id=216947
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
The serialize-consecutive-tokens test now passes as expected. We fail the anplusb-selector-parsing
test because we considern-bto be a DimensionToken followed by a NumberToken but this is incorrect.
I'll fix that test in a follow up patch.
- web-platform-tests/css/css-syntax/serialize-consecutive-tokens-expected.txt:
- web-platform-tests/css/selectors/anplusb-selector-parsing-expected.txt:
Source/WebCore:
This patch brings us up to spec on inserting comments while
serializing CSS tokens. The spec says that we should always be
able to round trip a serialized output. Weirdly, for reasons I
don't understand, the spec requires a comment rather than
whitespace so that's what this patch does. Since there are 32
token types building a table for every combination would have been
massive. Instead, this patch uses a constexpr function to generate
the table for the set of next (non-delimiter) tokens that require
a separating comment. This makes it a bit more readable while,
hopefully, not sacrificing too much performance. For delimiters
requiring separating comments, we check for those in a helper
lambda after checking the token table.
- css/parser/CSSParserToken.cpp:
(WebCore::buildNextTokenNeedsCommentTable):
(WebCore::CSSParserToken::serialize const):
- css/parser/CSSParserToken.h:
- css/parser/CSSParserTokenRange.cpp:
(WebCore::CSSParserTokenRange::serialize const):
LayoutTests:
Rebasline CSS tests for better serialization. The css-selectorText
test produces different output since we tokenize the <an-plus-b>
syntax incorrectly. I don't know if this means we evaluate it
incorrectly, however. In a follow up patch I will fix the the
tokenization issue so the comments will no longer appear.
- fast/dom/css-selectorText-expected.txt:
- 2:51 PM Changeset in webkit [267765] by
-
- 11 edits677 adds363 deletes in trunk/JSTests
Update test262 (2020.09.29)
https://bugs.webkit.org/show_bug.cgi?id=217102
Reviewed by Darin Adler.
- .gitattributes:
- test262/config.yaml:
- test262/expectations.yaml:
- test262/latest-changes-summary.txt:
- test262/test/:
- test262/test262-Revision.txt:
- 2:50 PM Changeset in webkit [267764] by
-
- 4 edits in trunk
[watchOS] AVKitSPI build fixes
https://bugs.webkit.org/show_bug.cgi?id=217070
<rdar://problem/69724883>
Rubber-stamped by Eric Carlson.
Source/WebCore/PAL:
- pal/spi/cocoa/AVKitSPI.h: Explicitly import AVPlayer.h and UIKit.h.
Tools:
- Scripts/configure-xcode-for-embedded-development: Copy AVKit headers for watchOS.
- 2:43 PM Changeset in webkit [267763] by
-
- 88 edits in trunk
Move NetworkProcessProxy ownership from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216041
Reviewed by Brady Eidson.
Source/WebKit:
This patch moves the things on WebProcessPool associated with NetworkProcessProxy ownership and moves them
to WebsiteDataStore. It's pretty mechanical, but it reaches its fingers into a lot of things. Some comments
on interesting parts are below.
Why am I doing this? I'm glad you asked.
WKWebView had a fundamental cookie problem before this change. It had a WKWebsiteDataStore that could point to a cookie store on disk
that could be used in multiple network processes at the same time. This led to problems with cookies being received over the network
in those different processes being unable to be shared until they were written to disk, something that does not happen immediately, especially
on iOS. This problem is even worse with session cookies, which should be kept in memory and never be written to disk. Those processes
did not use shared memory to share the cookies. They just didn't share them, which led to cookie incorrectness. This was unfortunately
the default configuration if you call [[WKWebView alloc] init] more than once, which many developers do. There was also occasional cookie
corruption and loss from multiple processes writing cookies to the same file. All these problems can be worked around by doing what Safari does:
manually setting the WKProcessPool of all WKWebViewConfigurations to the same process pool to only use one network process. This is not intuitive
or well documented, and even though I have spent the majority of WWDC labs for the last 3 years telling developers to do it, most developers do not.
The default behavior should not lead to cookie incorrectness, corruption, or loss. This accomplishes that.
A bigger problem that can't really be worked around well is what we were doing in our WKHTTPCookieStore API. Many developers call setCookie:completionHandler:
to "log in" the user by setting a cookie, then in the completion handler, they open a WKWebView to their page and expect the cookie to be sent. Before this
change, we would not know which process pool to set the cookie in so we would guess. If there were no process pools, we would start writing to disk and hope
it writes fast enough. We can't wait for it to complete because it causes hangs like rdar://problem/66961066. This solution allows to start the network
process of that WebsiteDataStore and set the cookie in that process. We now know that is the only process this WebsiteDataStore will ever use. Now, users
will be able to actually be logged in all the time in such apps.
- NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/WebCookieManager.h:
- NetworkProcess/Cookies/WebCookieManager.messages.in:
- NetworkProcess/Cookies/curl/WebCookieManagerCurl.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/mac/WebCookieManagerMac.mm:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensureSession):
(WebKit::NetworkProcess::storageSession const):
(WebKit::NetworkProcess::forEachNetworkStorageSession):
(WebKit::NetworkProcess::defaultStorageSession const): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::close):
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::saveCookies):
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- NetworkProcess/curl/NetworkProcessCurl.cpp:
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- Platform/IPC/Attachment.h:
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):
- Shared/WebsiteDataStoreParameters.h:
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::~HTTPCookieStore):
(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::cookiesForURL):
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::deleteCookie):
(API::HTTPCookieStore::deleteAllCookies):
(API::HTTPCookieStore::setHTTPCookieAcceptPolicy):
(API::HTTPCookieStore::registerObserver):
(API::HTTPCookieStore::cookieManagerDestroyed):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications): Deleted.
(API::HTTPCookieStore::unregisterForNewProcessPoolNotifications): Deleted.
- UIProcess/API/APIHTTPCookieStore.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextSetUseSeparateServiceWorkerProcess):
(WKContextSetPrimaryWebsiteDataStore):
(WKContextGetCookieManager): Deleted.
(WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting): Deleted.
(WKContextTerminateNetworkProcess): Deleted.
(WKContextGetNetworkProcessIdentifier): Deleted.
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageGetWebsiteDataStore):
- UIProcess/API/C/WKPage.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreTerminateNetworkProcess):
(WKWebsiteDataStoreGetNetworkProcessIdentifier):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setUseSeparateServiceWorkerProcess:]):
(-[WKProcessPool _terminateNetworkProcess]): Deleted.
(-[WKProcessPool _sendNetworkProcessWillSuspendImminently]): Deleted.
(-[WKProcessPool _sendNetworkProcessPrepareToSuspend:]): Deleted.
(-[WKProcessPool _sendNetworkProcessDidResume]): Deleted.
(-[WKProcessPool _networkProcessIdentifier]): Deleted.
(-[WKProcessPool _makeNextNetworkProcessLaunchFailForTesting]): Deleted.
(-[WKProcessPool _synthesizeAppIsBackground:]): Deleted.
(-[WKProcessPool _setAllowsAnySSLCertificateForServiceWorker:]): Deleted.
(-[WKProcessPool _networkProcessHasEntitlementForTesting:]): Deleted.
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _networkProcessHasEntitlementForTesting:]):
(-[WKWebsiteDataStore _terminateNetworkProcess]):
(-[WKWebsiteDataStore _sendNetworkProcessPrepareToSuspend:]):
(-[WKWebsiteDataStore _sendNetworkProcessWillSuspendImminently]):
(-[WKWebsiteDataStore _sendNetworkProcessDidResume]):
(-[WKWebsiteDataStore _synthesizeAppIsBackground:]):
(-[WKWebsiteDataStore _networkProcessIdentifier]):
(+[WKWebsiteDataStore _makeNextNetworkProcessLaunchFailForTesting]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/glib/WebKitCookieManager.cpp:
(_WebKitCookieManagerPrivate::cookieManager const):
(_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
(webkitCookieManagerCreate):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_add_cookie):
(webkit_cookie_manager_get_cookies):
(webkit_cookie_manager_delete_cookie):
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
(webkit_web_context_prefetch_dns):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
- UIProcess/AuxiliaryProcessProxy.h:
- UIProcess/Cocoa/LegacyCustomProtocolManagerClient.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::updateProcessSuppressionState):
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::networkProcessHasEntitlementForTesting): Deleted.
(WebKit::WebProcessPool::xpcEndpointMessage const): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessXPCEndpointToWebProcess): Deleted.
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::publishProgress):
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::applicationDidEnterBackground):
(WebKit::DownloadProxyMap::applicationWillEnterForeground):
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::invalidate):
- UIProcess/Downloads/DownloadProxyMap.h:
- UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.cpp:
(WebKit::LegacyCustomProtocolManagerProxy::startLoading):
(WebKit::LegacyCustomProtocolManagerProxy::stopLoading):
(WebKit::LegacyCustomProtocolManagerProxy::invalidate):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::allNetworkProcesses):
(WebKit::defaultProcess):
(WebKit::NetworkProcessProxy::defaultNetworkProcess):
(WebKit::NetworkProcessProxy::terminate):
(WebKit::NetworkProcessProxy::didTerminate):
(WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):
(WebKit::anyProcessPoolAlwaysRunsAtBackgroundPriority):
(WebKit::anyProcessPoolShouldTakeUIBackgroundAssertion):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getLaunchOptions):
(WebKit::NetworkProcessProxy::createDownloadProxy):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::didFinishLaunching):
(WebKit::NetworkProcessProxy::setDomainsWithUserInteraction):
(WebKit::NetworkProcessProxy::addSession):
(WebKit::NetworkProcessProxy::removeSession):
(WebKit::NetworkProcessProxy::websiteDataStoreFromSessionID):
(WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess):
(WebKit::anyProcessPoolHasForegroundWebProcesses):
(WebKit::anyProcessPoolHasBackgroundWebProcesses):
(WebKit::NetworkProcessProxy::updateProcessAssertion):
(WebKit::NetworkProcessProxy::hasSession const): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxyCocoa.mm:
(WebKit::NetworkProcessProxy::XPCEventHandler::handleXPCEvent const):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::~WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookiesForHostnames):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
(WebKit::WebCookieManagerProxy::deleteCookie):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::getAllCookies):
(WebKit::WebCookieManagerProxy::getCookies):
(WebKit::WebCookieManagerProxy::startObservingCookieChanges):
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::supplementName): Deleted.
(WebKit::WebCookieManagerProxy::create): Deleted.
(WebKit::WebCookieManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebCookieManagerProxy::processDidClose): Deleted.
(WebKit::WebCookieManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebCookieManagerProxy::derefWebContextSupplement): Deleted.
- UIProcess/WebCookieManagerProxy.h:
(WebKit::WebCookieManagerProxy::create):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setControlledByAutomation):
(WebKit::WebPageProxy::disableServiceWorkerEntitlementInNetworkProcess):
(WebKit::WebPageProxy::clearServiceWorkerEntitlementOverride):
(WebKit::WebPageProxy::preconnectTo):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::logFrameNavigation):
(WebKit::WebPageProxy::dumpAdClickAttribution):
(WebKit::WebPageProxy::clearAdClickAttribution):
(WebKit::WebPageProxy::setAdClickAttributionOverrideTimerForTesting):
(WebKit::WebPageProxy::setAdClickAttributionConversionURLForTesting):
(WebKit::WebPageProxy::markAdClickAttributionsAsExpiredForTesting):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::urlSchemesWithCustomProtocolHandlers):
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::languageChanged):
(WebKit::WebProcessPool::sendMemoryPressureEvent):
(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::removeFromServiceWorkerProcesses):
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::registerURLSchemeAsSecure):
(WebKit::WebProcessPool::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebKit::WebProcessPool::registerURLSchemeAsLocal):
(WebKit::WebProcessPool::registerURLSchemeAsNoAccess):
(WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::setCacheModel):
(WebKit::WebProcessPool::setCacheModelSynchronouslyForTesting):
(WebKit::WebProcessPool::createDownloadProxy):
(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::serviceWorkerProcesses):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::isServiceWorkerPageID const):
(WebKit::WebProcessPool::setUseSeparateServiceWorkerProcess):
(WebKit::WebProcessPool::hasServiceWorkerForegroundActivityForTesting const):
(WebKit::WebProcessPool::hasServiceWorkerBackgroundActivityForTesting const):
(WebKit::WebProcessPool::setLegacyCustomProtocolManagerClient): Deleted.
(WebKit::WebProcessPool::networkingProcessConnection): Deleted.
(WebKit::WebProcessPool::ensureNetworkProcess): Deleted.
There seems to be a lot of code removal here, but most of it was duplicate code with
WebsiteDataStore::parameters which is used instead. That which was not duplicate was
moved to NetworkProcessProxy::sendCreationParametersToNewProcess. This was the hardest part of this patch.
(WebKit::WebProcessPool::getNetworkProcessConnection): Deleted.
(WebKit::WebProcessPool::networkProcessIdentifier): Deleted.
(WebKit::WebProcessPool::synthesizeAppIsBackground): Deleted.
(WebKit::WebProcessPool::sendSyncToNetworkingProcess): Deleted.
(WebKit::WebProcessPool::clearCachedCredentials): Deleted.
(WebKit::WebProcessPool::terminateNetworkProcess): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessPrepareToSuspendForTesting): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessWillSuspendImminentlyForTesting): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessDidResume): Deleted.
(WebKit::WebProcessPool::flushCookies): Deleted.
(WebKit::WebProcessPool::didCommitCrossSiteLoadWithDataTransfer): Deleted.
- UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToNetworkingProcess): Deleted.
(WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary): Deleted.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setWebsiteDataStore):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::networkProcessHasEntitlementForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToWebProcess):
(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToAllWebProcesses):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::forEachWebsiteDataStore):
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::registerWithSessionIDMap):
(WebKit::WebsiteDataStore::existingDataStoreForSessionID):
(WebKit::WebsiteDataStore::networkProcess):
(WebKit::WebsiteDataStore::networkProcess const):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::setServiceWorkerTimeoutForTesting):
(WebKit::WebsiteDataStore::resetServiceWorkerTimeoutForTesting):
(WebKit::WebsiteDataStore::setMaxStatisticsEntries):
(WebKit::WebsiteDataStore::setPruneEntriesDownTo):
(WebKit::WebsiteDataStore::setGrandfatheringTime):
(WebKit::WebsiteDataStore::setMinimumTimeBetweenDataRecordsRemoval):
(WebKit::WebsiteDataStore::dumpResourceLoadStatistics):
(WebKit::WebsiteDataStore::isPrevalentResource):
(WebKit::WebsiteDataStore::isGrandfathered):
(WebKit::WebsiteDataStore::setPrevalentResource):
(WebKit::WebsiteDataStore::setPrevalentResourceForDebugMode):
(WebKit::WebsiteDataStore::isVeryPrevalentResource):
(WebKit::WebsiteDataStore::setVeryPrevalentResource):
(WebKit::WebsiteDataStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebsiteDataStore::setSubframeUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubFrameUnder):
(WebKit::WebsiteDataStore::setSubresourceUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubresourceUnder):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectTo):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectTo):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectFrom):
(WebKit::WebsiteDataStore::isRegisteredAsRedirectingTo):
(WebKit::WebsiteDataStore::clearPrevalentResource):
(WebKit::WebsiteDataStore::resetParametersToDefaultValues):
(WebKit::WebsiteDataStore::submitTelemetry):
(WebKit::WebsiteDataStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary):
(WebKit::WebsiteDataStore::scheduleCookieBlockingUpdate):
(WebKit::WebsiteDataStore::scheduleStatisticsAndDataRecordsProcessing):
(WebKit::WebsiteDataStore::statisticsDatabaseHasAllTables):
(WebKit::WebsiteDataStore::setLastSeen):
(WebKit::WebsiteDataStore::domainIDExistsInDatabase):
(WebKit::WebsiteDataStore::mergeStatisticForTesting):
(WebKit::WebsiteDataStore::insertExpiredStatisticForTesting):
(WebKit::WebsiteDataStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebsiteDataStore::setIsRunningResourceLoadStatisticsTest):
(WebKit::WebsiteDataStore::getAllStorageAccessEntries):
(WebKit::WebsiteDataStore::setTimeToLiveUserInteraction):
(WebKit::WebsiteDataStore::logUserInteraction):
(WebKit::WebsiteDataStore::hasHadUserInteraction):
(WebKit::WebsiteDataStore::isRelationshipOnlyInDatabaseOnce):
(WebKit::WebsiteDataStore::clearUserInteraction):
(WebKit::WebsiteDataStore::setGrandfathered):
(WebKit::WebsiteDataStore::setUseITPDatabase):
(WebKit::WebsiteDataStore::setCrossSiteLoadWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::resetCrossSiteLoadsWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::deleteCookiesForTesting):
(WebKit::WebsiteDataStore::hasLocalStorageForTesting const):
(WebKit::WebsiteDataStore::hasIsolatedSessionForTesting const):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldDowngradeReferrerForTesting):
(WebKit::WebsiteDataStore::setThirdPartyCookieBlockingMode):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldEnbleSameSiteStrictEnforcementForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyWebsiteDataRemovalModeForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsToSameSiteStrictCookiesForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::syncLocalStorage):
(WebKit::WebsiteDataStore::setCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::processPools const):
(WebKit::WebsiteDataStore::allowSpecificHTTPSCertificateForHost):
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
(WebKit::WebsiteDataStore::networkProcessCrashed):
(WebKit::WebsiteDataStore::terminateNetworkProcess):
(WebKit::WebsiteDataStore::sendNetworkProcessPrepareToSuspendForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessWillSuspendImminentlyForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessDidResume):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
(WebKit::WebsiteDataStore::setStatisticsTestingCallback):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebsiteDataStore::isResourceLoadStatisticsEphemeral const):
(WebKit::WebsiteDataStore::setAdClickAttributionDebugMode):
(WebKit::WebsiteDataStore::flushCookies):
(WebKit::WebsiteDataStore::setAllowsAnySSLCertificateForWebSocket):
(WebKit::WebsiteDataStore::clearCachedCredentials):
(WebKit::WebsiteDataStore::parameters):
(WebKit::WebsiteDataStore::getLocalStorageDetails):
(WebKit::WebsiteDataStore::resetQuota):
(WebKit::WebsiteDataStore::networkProcessHasEntitlementForTesting):
(WebKit::WebsiteDataStore::renameOriginInWebsiteData):
(WebKit::WebsiteDataStore::hasAppBoundSession const):
(WebKit::WebsiteDataStore::clearAppBoundSession):
(WebKit::WebsiteDataStore::forwardAppBoundDomainsToITPIfInitialized):
(WebKit::WebsiteDataStore::setAppBoundDomainsForITP):
(WebKit::WebsiteDataStore::updateBundleIdentifierInNetworkProcess):
(WebKit::WebsiteDataStore::clearBundleIdentifierInNetworkProcess):
(WebKit::WebsiteDataStore::makeNextNetworkProcessLaunchFailForTesting):
(WebKit::WebsiteDataStore::shouldMakeNextNetworkProcessLaunchFailForTesting):
(WebKit::WebsiteDataStore::maybeRegisterWithSessionIDMap): Deleted.
(WebKit::WebsiteDataStore::existingNonDefaultDataStoreForSessionID): Deleted.
(WebKit::WebsiteDataStore::processPoolForCookieStorageOperations): Deleted.
(WebKit::WebsiteDataStore::isAssociatedProcessPool const): Deleted.
(WebKit::WebsiteDataStore::pendingCookies const): Deleted.
(WebKit::WebsiteDataStore::addPendingCookie): Deleted.
(WebKit::WebsiteDataStore::removePendingCookie): Deleted.
(WebKit::WebsiteDataStore::clearPendingCookies): Deleted.
(WebKit::WebsiteDataStore::didCreateNetworkProcess): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp:
(WebKit::WebsiteDataStore::setNetworkProxySettings):
- UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
(WebKit::WebsiteDataStore::setPersistentCredentialStorageEnabled):
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
- UIProcess/soup/WebCookieManagerProxySoup.cpp:
(WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
- UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::setIgnoreTLSErrors):
(WebKit::WebProcessPool::setNetworkProxySettings):
- WebProcess/Network/NetworkProcessConnectionInfo.h:
Tools:
Most changes to tests are just calling a function on the WKWebsiteDataStore instead of the WKProcessPool
because we want to do something with the network process and it has a new owner.
Exceptions are noted inline.
- TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::downloadAtRate):
- TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(checkRecoveryAfterCrash):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
This test was making a WKWebsiteDataStore, getting its resource load statistics directory,
putting things in that directory, then starting the network process and making sure everything
works when initializing the network process. Now, network process initialization happens when a
WKWebsiteDataStore is instantiated, so we need to put things there before instantiating a WKWebsiteDataStore.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Before this change, each WKProcessPool had its own network process, which holds the service worker registry
for the WebsiteDataStores used with that process pool. Now, the network process still needs to have a service
worker registry in it, but when we receive a message from it looking for a web process to run the service
worker, we go arbitrarily to the first process pool that has a process we can use. This logic is in
WebProcessPool::establishWorkerContextConnectionToNetworkProcess. Because we use the first process pool each
time, setting the custom user agent to two different things in two different process pools causes only one
to be used. This is not a problem in practice, though, because the only application that uses the SPI to
set a service worker's custom user agent is Safari, which only has one process pool. This test still verifies
that a user ageint is correctly sent.
Similarly, the tests that count service worker processes either have different results or need to be run with
one process pool per parent process. To keep the results the same, I separated the tests into different
TEST(ServiceWorkers, ...) macros which are run in separate parent processes.
The test RestoreFromDiskNonDefaultStore needs to use the same data store for both WKWebViews now because otherwise
there was a race condition in the startup of a new network process that wasn't there before because we were using the
same process pool and therefore the same network process. I added spinning the run loop and sleeping to be able to
reproduce the race condition failure and I use the same WKWebsiteDataStore to use the same network process, which was
the intent of using the same WKProcessPool before. The test still tests that the registration is re-used when we are
not using the default data store.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CheckSessionCookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[CheckSessionCookieUIDelegate waitForMessage]):
(-[CheckSessionCookieUIDelegate alertCookieHTML]):
(TEST):
This is the whole point of me doing this.
I took a test that was flaky only on iOS (because of different NSHTTPCookieStorage syncing behavior) and made
it flaky nowhere (fingers crossed!) and added a test that correctly handles session cookies like we could not
before this change.
I also re-used some test infrastructure and made it stop using process-global static variables for test state.
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
- TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
(-[CloseWhileStartingProtocol startLoading]):
(TestWebKitAPI::runTest):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::findAndDumpWebKitProcessIdentifiers):
(WTR::TestController::networkProcessDidCrash):
(WTR::TestController::terminateNetworkProcess):
(WTR::TestController::platformAdjustContext):
WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting is not needed, so I removed it.
WKContextSetPrimaryWebsiteDataStore isn't needed any more because WKContextRef (WebProcessPool) doesn't
own a network process any more, so it doesn't care which is the default WebsiteDataStore.
In fact, the "default" WebsiteDataStore isn't really important in the network process any more.
- 2:41 PM Changeset in webkit [267762] by
-
- 2 edits in trunk/Source/WebKit
Enable the Web Share Level 2 feature wherever Web Share is enabled
https://bugs.webkit.org/show_bug.cgi?id=217105
Reviewed by Beth Dakin.
No new tests; there are already tests that enable this.
- Shared/WebPreferencesExperimental.yaml:
- 2:38 PM Changeset in webkit [267761] by
-
- 79 edits1 add in trunk
Refactor test runner code to cut down on copy/paste code and long-winded repetitive idioms
https://bugs.webkit.org/show_bug.cgi?id=217028
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- API/JSRetainPtr.h: Added support for JSClassRef.
Tools:
I did a lot of simplifying, but even more is possible. For some reason, the test
code is a hotbed of repeated idioms, and copy and paste rather than helper functions.
Even after the refactoring, I have some doubts about the way this code is written with
so much repeated marshaling for each function.
- DumpRenderTree/AccessibilityController.cpp:
(AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
- DumpRenderTree/AccessibilityController.h: Updated for the above.
- DumpRenderTree/AccessibilityUIElement.cpp:
(uiElementCountForSearchPredicateCallback): Removed unneeded initialization of
JSRetainPtr, which starts out null.
- DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_platformTypeConstructor): Use toOptionalBool and createJSString.
(_returnExpression): Use makeValue.
- DumpRenderTree/GCController.cpp:
(GCController::GCController): Deleted.
(GCController::~GCController): Deleted.
(collectCallback): Use a reference and auto.
(collectOnAlternateThreadCallback): Ditto.
(getJSObjectCountCallback): Ditto.
(GCController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
- DumpRenderTree/GCController.h: Updated for the above.
- DumpRenderTree/TestRunner.cpp:
(encodeHostNameCallback): Use createJSString.
(execCommandCallback): Ditto.
(findStringCallback): Ditto.
(isCommandEnabledCallback): Ditto.
(overridePreferenceCallback): Ditto.
(queueLoadCallback): Ditto.
(queueLoadHTMLStringCallback): Ditto.
(TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(TestRunner::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TestRunner::staticValues): Made return value const*.
(TestRunner::staticFunctions): Ditto.
(TestRunner::waitToDumpWatchdogTimerFired): Simplified printing.
(TestRunner::cacheTestRunnerCallback): Updated to use object pointers as hash
table values instead of values, since callbacks need to be objects.
(TestRunner::callTestRunnerCallback): Ditto.
(TestRunner::clearTestRunnerCallbacks): Ditto.
(TestRunner::setOpenPanelFiles): Use arrayLength.
- DumpRenderTree/TestRunner.h: Updated for the above.
- DumpRenderTree/ios/AccessibilityControllerIOS.mm:
(AccessibilityController::platformName const): Use createJSString.
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(createEmptyJSString): Dleted.
(AccessibilityUIElement::stringForTextMarkerRange): Use createJSString.
(AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
(AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::allAttributes): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::valueDescription): Ditto.
(AccessibilityUIElement::ariaDropEffects const): Ditto.
(AccessibilityUIElement::boundsForRange): Ditto.
(AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::attributesOfHeader): Ditto.
(AccessibilityUIElement::selectedTextRange): Ditto.
(AccessibilityUIElement::accessibilityValue const): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
- DumpRenderTree/mac/AccessibilityCommonMac.h: Removed unneeded "extern".
- DumpRenderTree/mac/AccessibilityCommonMac.mm:
(searchPredicateParameterizedAttributeForSearchCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
- DumpRenderTree/mac/AccessibilityControllerMac.mm:
(AccessibilityController::platformName const): Use createJSString.
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(createEmptyJSString): Deleted.
(selectTextParameterizedAttributeForCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
(searchTextParameterizedAttributeForCriteria): Ditto.
(AccessibilityUIElement::accessibilityValue const): Use createJSString.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
Use auto. Pass fewer arguments to makeWindowObject. Simplified object
creation code by using adoptNS instead of release.
(-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
Use createJSString.
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::findString): Use arrayLength.
- DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):
Pass fewer arguments to makeWindowObject.
- DumpRenderTree/win/TextInputController.cpp:
(TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(TextInputController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TextInputController::staticValues): Made return value const*.
(TextInputController::staticFunctions): Ditto.
- DumpRenderTree/win/TextInputController.h: Updated for above.
- TestRunnerShared/Bindings/JSBasics.cpp:
(WTR::toOptionalBool): Renamed from JSValueMakeBooleanOrNull.
(WTR::toOptionalDouble): Added.
(WTR::makeValue): Added with overloads for various types.
Replaced JSValueToNullableBoolean and JSValueMakeStringOrNull.
(WTR::createJSString): Added with overloads for various types.
(WTR::property): Added.
(WTR::stringProperty): Added.
(WTR::booleanProperty): Added.
(WTR::numericProperty): Added.
(WTR::objectProperty): Refactored to call property.
(WTR::arrayLength): Added.
(WTR::setGlobalObjectProperty): Added.
(WTR::call): Refactored to let objectProperty do more of the null checking.
(WTR::callConstructor): Ditto.
- TestRunnerShared/Bindings/JSBasics.h: Updated for the above.
- TestRunnerShared/Bindings/JSWrappable.h: Reduced includes a bit.
- TestRunnerShared/Bindings/JSWrapper.h: Added setGlobalObjectProperty.
- TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::UIScriptContext): Pass fewer arguments to makeWindowObject.
(UIScriptContext::runUIScript): Use createJSString.
(UIScriptContext::objectFromRect const): Use setProperty.
- TestRunnerShared/UIScriptContext/UIScriptController.h: Updated for the above.
- TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::toDeviceOrientation): Use createJSString and JSStringIsEqualToUTF8CString.
(WTR::UIScriptController::makeWindowObject): Use setGlobalObjectProperty.
- TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]): Use createJSString
and removed unneeded use of lroundl.
- WebKitTestRunner/DictionaryFunctions.h: Added. Contains convenience functions
for dealing with WKDictionaryRef.
- WebKitTestRunner/EventSenderProxy.h: Initialize data members.
- WebKitTestRunner/GeolocationProviderMock.cpp:
(GeolocationProviderMock::setPosition): Use Optional instead of separate bool.
- WebKitTestRunner/GeolocationProviderMock.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/AccessibilityController.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateImplementationFile): Use static initialization and a lambda instead of
an if statement to initialize.
(_platformTypeConstructor): Use toOptionalBool and createJSString. Also added
support for nullable doubles and used auto a bit more.
(_returnExpression): Use makeValue.
- InjectedBundle/Bindings/TestRunner.idl: Made the optional arguments to the
setMockGeolocationPosition function "double?" instead of "object".
- WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::getMenuItemChildrenCallback): Use auto and not JSValueToObject.
(WTR::arrayLength): Moved to JSBasics.h/cpp.
(WTR::parseTouchModifier): Added. Factored out of the
EventSendingController::setTouchModifier function.
(WTR::parseModifierArray): Use createJSString and remove unneeded ignored
exception out argument, since that is optional. Also added overload that
gets the context.
(WTR::EventSendingController::EventSendingController): Deleted.
(WTR::EventSendingController::~EventSendingController): Deleted.
(WTR::createMouseMessageBody): Use adoptWK and setValue. Return a WKRetainPtr.
(WTR::EventSendingController::mouseDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::mouseUp): Ditto.
(WTR::EventSendingController::mouseMoveTo): Use setValue and
postSynchronousPageMessages.
(WTR::EventSendingController::mouseForceClick): Ditto.
(WTR::EventSendingController::startAndCancelMouseForceClick): Ditto.
(WTR::EventSendingController::mouseForceDown): Ditto.
(WTR::EventSendingController::mouseForceUp): Ditto.
(WTR::EventSendingController::mouseForceChanged): Ditto.
(WTR::EventSendingController::leapForward): Ditto.
(WTR::EventSendingController::scheduleAsynchronousClick): Use postPageMessage.
(WTR::createKeyDownMessageBody): Use setValue.
(WTR::EventSendingController::keyDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::scheduleAsynchronousKeyDown): Use postPageMessage.
(WTR::EventSendingController::mouseScrollBy): Use setValue and postPageMessage.
(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Use
setValue and postPageMessage.
(WTR::EventSendingController::continuousMouseScrollBy): Use setValue and
postSynchronousPageMessage.
(WTR::EventSendingController::contextClick): Use auto and not JSValueToObject.
(WTR::toMonitorWheelEventsOptions): Use booleanProperty.
(WTR::EventSendingController::addTouchPoint): Use setValue and postSynchronousPageMessage.
(WTR::EventSendingController::updateTouchPoint): Ditto.
(WTR::EventSendingController::setTouchModifier): Ditto.
(WTR::EventSendingController::setTouchPointRadius): Ditto.
(WTR::EventSendingController::touchStart): Ditto.
(WTR::EventSendingController::touchMove): Ditto.
(WTR::EventSendingController::touchEnd): Ditto.
(WTR::EventSendingController::touchCancel): Ditto.
(WTR::EventSendingController::clearTouchPoints): Ditto.
(WTR::EventSendingController::releaseTouchPoint): Ditto.
(WTR::EventSendingController::cancelTouchPoint): Ditto.
(WTR::EventSendingController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/EventSendingController.h: Updated for the above.
Deleted various unneeded functions.
- WebKitTestRunner/InjectedBundle/GCController.cpp:
(WTR::GCController::GCController): Deleted.
(WTR::GCController::~GCController): Deleted.
(WTR::GCController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/GCController.h: Updated for the above.
Also marked the class final.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage): Use booleanValue.
(WTR::InjectedBundle::didReceiveMessage): Use toWK.
(WTR::InjectedBundle::postPageMessage): Added.
(WTR::InjectedBundle::reportLiveDocuments): Use postPageMessage.
(WTR::InjectedBundle::didReceiveMessageToPage): Use dictionaryValue,
booleanValue, postPageMessage, value, and more to streamline.
(WTR::InjectedBundle::booleanForKey): Deleted.
(WTR::InjectedBundle::stringForKey): Deleted.
(WTR::InjectedBundle::beginTesting): Use booleanValue.
(WTR::InjectedBundle::done): Use stringValue.
(WTR::InjectedBundle::closeOtherPages): Use setValue and toWK.
(WTR::InjectedBundle::dumpToStdErr): Use postPageMessage
(WTR::InjectedBundle::outputText): Use toWK.
(WTR::InjectedBundle::postNewBeforeUnloadReturnValue): Use postPageMessage.
(WTR::InjectedBundle::postAddChromeInputField): Ditto.
(WTR::InjectedBundle::postRemoveChromeInputField): Ditto.
(WTR::InjectedBundle::postFocusWebView): Ditto.
(WTR::InjectedBundle::postSetBackingScaleFactor): Ditto.
(WTR::InjectedBundle::postSetWindowIsKey): Use toWK.
(WTR::InjectedBundle::postSetViewSize): Use setValue and toWK.
(WTR::InjectedBundle::postSimulateWebNotificationClick): Use postPageMessage.
(WTR::InjectedBundle::postSetAddsVisitedLinks): Ditto.
(WTR::InjectedBundle::setGeolocationPermission): Ditto.
(WTR::InjectedBundle::setMockGeolocationPosition): Use setValue and postPageMessage,
and use Optional instead of bool/double pairs.
(WTR::InjectedBundle::setMockGeolocationPositionUnavailableError): Use postPageMessage.
(WTR::InjectedBundle::isGeolocationProviderActive const): Use toWK and booleanValue.
(WTR::InjectedBundle::imageCountInGeneralPasteboard const): Use toWK and uint64Value.
(WTR::InjectedBundle::setUserMediaPermission): Use postPageMessage.
(WTR::InjectedBundle::resetUserMediaPermission): Ditto.
(WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin): Use setValue
and postPageMessage.
(WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin): Uset setValue
and uint64Value.
(WTR::InjectedBundle::setCustomPolicyDelegate): Use setValue and postPageMessage.
(WTR::InjectedBundle::setHidden): Ditto.
(WTR::InjectedBundle::setCacheModel): Ditto.
(WTR::InjectedBundle::shouldProcessWorkQueue const): Use toWK and booleanValue.
(WTR::InjectedBundle::processWorkQueue): Use postPageMessage.
(WTR::InjectedBundle::queueBackNavigation): Ditto.
(WTR::InjectedBundle::queueForwardNavigation): Ditto.
(WTR::InjectedBundle::queueLoad): Use setValue and postPageMessage.
(WTR::InjectedBundle::queueLoadHTMLString): Ditto.
(WTR::InjectedBundle::queueReload): Ditto.
(WTR::InjectedBundle::queueLoadingScript): Ditto.
(WTR::InjectedBundle::queueNonLoadingScript): Ditto.
(WTR::postMessage): Added. Overloads for many types to keep caller code streamlined.
(WTR::postSynchronousMessage): Ditto.
(WTR::postPageMessage): Ditto.
(WTR::postSynchronousPageMessage): Ditto.
- WebKitTestRunner/InjectedBundle/InjectedBundle.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::propertyValue): Deleted. Use functions from JSBasics.h instead.
(WTR::propertyValueDouble): Ditto.
(WTR::propertyValueInt): Ditto.
(WTR::numericWindowProperty): Renamed from numericWindowPropertyValue for brevity
and for consistency with JSBasics.h functions.
(WTR::dumpPath): Use stringProperty, objectProperty, and makeString.
(WTR::rangeToStr): Use auto, numericProperty, and makeString.
(WTR::NavigationTypeToString): Use toWK.
(WTR::string): Renamed from securityOriginToStr. Use makeString.
(WTR::frameToStr): Use auto.
(WTR::InjectedBundlePage::resetAfterTest): Removed unneeded local.
(WTR::dumpFrameDescriptionSuitableForTestResult): Use auto.
(WTR::dumpRequestDescriptionSuitableForTestResult): Ditto.
(WTR::dumpErrorDescriptionSuitableForTestResult): Use auto and toWK.
(WTR::dumpFrameScrollPosition): Update for name change.
(WTR::toJS): Deleted. Use functions from JSBasics.h instead.
(WTR::hasDocumentElement): Use objectProperty.
(WTR::InjectedBundlePage::didClearWindowForFrame): Use setGlobalObjectProperty,
and pass fewer arguments to makeWindowObject.
(WTR::InjectedBundlePage::decidePolicyForNavigationAction): Streamline code a bit.
(WTR::InjectedBundlePage::decidePolicyForResponse): Use makeString.
(WTR::lastFileURLPathComponent): Ditto.
(WTR::InjectedBundlePage::willSetStatusbarText): Ditto.
(WTR::InjectedBundlePage::didReachApplicationCacheOriginQuota): Ditto.
(WTR::InjectedBundlePage::didExceedDatabaseQuota): Ditto.
(WTR::InjectedBundlePage::shouldBeginEditing): Ditto.
(WTR::InjectedBundlePage::shouldEndEditing): Ditto.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner): Use toWK.
(WTR::page): Added.
(WTR::mainFrame): Added.
(WTR::mainFrameJSContext): Added.
(WTR::TestRunner::display): Use page.
(WTR::TestRunner::displayAndTrackRepaints): Use page.
(WTR::toWK): Added overload for double.
(WTR::createWKDictionary): Added.
(WTR::postSynchronousMessageWithReturnValue): Added.
(WTR::postSynchronousMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageWithReturnValue): Added.
(WTR::postSynchronousPageMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageReturningUInt64): Added.
(WTR::postSynchronousMessageReturningUInt64): Added.
(WTR::overridePreference): Added.
(WTR::TestRunner::shouldDumpPixels const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setDumpPixels): Use postSynchronousMessage.
(WTR::TestRunner::whatToDump const): Use postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setWhatToDump): Use postSynchronousMessage.
(WTR::TestRunner::setWaitUntilDone): Use postSynchronousMessage.
(WTR::TestRunner::shouldWaitUntilDone const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Use postSynchronousMessage.
(WTR::TestRunner::shouldDumpFrameLoadCallbacks): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::addUserScript): Use page.
(WTR::TestRunner::addUserStyleSheet): Ditto.
(WTR::TestRunner::execCommand): Ditto.
(WTR::findOptionsFromArray): Use mainFrameJSContext, arrayLength, and createJSString.
(WTR::TestRunner::findString): Use page.
(WTR::TestRunner::findStringMatchesInPage): Ditto.
(WTR::TestRunner::replaceFindMatchesAtIndices): Use mainFrameJSContext and arrayLength and
removed unneeded call to std::round.
(WTR::TestRunner::clearAllDatabases): Use postSynchronousMessage.
(WTR::TestRunner::syncLocalStorage): Ditto.
(WTR::TestRunner::clearAllApplicationCaches): Use page.
(WTR::TestRunner::clearApplicationCacheForOrigin): Ditto.
(WTR::TestRunner::setAppCacheMaximumSize): Ditto.
(WTR::TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
(WTR::stringArrayToJS): Tweaked coding style a bit.
(WTR::TestRunner::originsWithApplicationCache): Use page.
(WTR::TestRunner::isCommandEnabled): Ditto.
(WTR::TestRunner::setCanOpenWindows): Use postSynchronousMessage.
(WTR::TestRunner::setXSSAuditorEnabled): Use overridePreference.
(WTR::TestRunner::setMediaDevicesEnabled): Ditto.
(WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Ditto.
(WTR::TestRunner::setCustomUserAgent): Use postSynchronousMessage.
(WTR::TestRunner::setWebAPIStatisticsEnabled): Use overridePreference.
(WTR::TestRunner::setModernMediaControlsEnabled): Ditto.
(WTR::TestRunner::setWebGL2Enabled): Ditto.
(WTR::TestRunner::setWritableStreamAPIEnabled): Ditto.
(WTR::TestRunner::setTransformStreamAPIEnabled): Ditto.
(WTR::TestRunner::setReadableByteStreamAPIEnabled): Ditto.
(WTR::TestRunner::setEncryptedMediaAPIEnabled): Ditto.
(WTR::TestRunner::setPictureInPictureAPIEnabled): Ditto.
(WTR::TestRunner::setGenericCueAPIEnabled): Ditto.
(WTR::TestRunner::setAllowsAnySSLCertificate): Use postSynchronousPageMessage.
(WTR::TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setShouldSwapToDefaultSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setPluginsEnabled): Use overridePreference.
(WTR::TestRunner::isPageBoxVisible): Use mainFrame.
(WTR::TestRunner::setValueForUser): Removed local.
(WTR::TestRunner::setAudioResult): Ditto.
(WTR::TestRunner::clearBackForwardList): Use page.
(WTR::TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(WTR::TestRunner::showWebInspector): Use page.
(WTR::TestRunner::closeWebInspector): Ditto.
(WTR::TestRunner::evaluateInWebInspector): Ditto.
(WTR::TestRunner::worldIDForWorld): Use range-based for loop.
(WTR::TestRunner::evaluateScriptInIsolatedWorld): Use mainFrame.
(WTR::TestRunner::setTextDirection): Use mainFrame.
(WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
Use postSynchronousPageMessage.
(WTR::cacheTestRunnerCallback): Changed map to store objects instead of values.
(WTR::callTestRunnerCallback): Simplify since map has objects. Use mainFrameJSContext.
(WTR::TestRunner::clearTestRunnerCallbacks): Ditto.
(WTR::TestRunner::setAlwaysAcceptCookies): Use postSynchronousMessage.
(WTR::TestRunner::setOnlyAcceptFirstPartyCookies): Use auto and toWK.
(WTR::TestRunner::setUserStyleSheetEnabled): Use toWK.
(WTR::TestRunner::setUserStyleSheetLocation): Use page.
(WTR::TestRunner::setTabKeyCyclesThroughElements): Ditto.
(WTR::TestRunner::grantWebNotificationPermission): Ditto.
(WTR::TestRunner::denyWebNotificationPermission): Ditto.
(WTR::TestRunner::removeAllWebNotificationPermissions): Use mainFrameJSContext.
(WTR::TestRunner::simulateWebNotificationClick): Ditto.
(WTR::TestRunner::setMockGeolocationPosition): Use Optional<double> instead of bool/double
pairs, letting the IDL bindings do the work for us.
(WTR::TestRunner::setMockGeolocationPositionUnavailableError): Removed local.
(WTR::TestRunner::isDoingMediaCapture const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setUserMediaPersistentPermissionForOrigin): Removed locals.
(WTR::TestRunner::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin): DItto.
(WTR::TestRunner::callShouldCloseOnWebView): Use mainFrame.
(WTR::TestRunner::queueLoad): Ditto.
(WTR::TestRunner::queueLoadHTMLString): Removed a local.
(WTR::TestRunner::queueLoadingScript): Ditto.
(WTR::TestRunner::queueNonLoadingScript): Ditto.
(WTR::TestRunner::setRejectsProtectionSpaceAndContinueForAuthenticationChallenges):
Use postPageMessage.
(WTR::TestRunner::setHandlesAuthenticationChallenges): Ditto.
(WTR::TestRunner::setShouldLogCanAuthenticateAgainstProtectionSpace): Ditto.
(WTR::TestRunner::setShouldLogDownloadCallbacks): Ditto.
(WTR::TestRunner::setAuthenticationUsername): Ditto.
(WTR::TestRunner::setAuthenticationPassword): Ditto.
(WTR::TestRunner::secureEventInputIsEnabled const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setBlockAllPlugins): Use postPageMessage.
(WTR::TestRunner::setPluginSupportedMode): Ditto.
(WTR::TestRunner::failNextNewCodeBlock): Use mainFrameJSContext.
(WTR::TestRunner::numberOfDFGCompiles): Ditto.
(WTR::TestRunner::neverInlineFunction): Ditto.
(WTR::TestRunner::setShouldDecideNavigationPolicyAfterDelay): Use postPageMessage.
(WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay): Ditto.
(WTR::TestRunner::setNavigationGesturesEnabled): Ditto.
(WTR::TestRunner::setIgnoresViewportScaleLimits): Ditto.
(WTR::TestRunner::setShouldDownloadUndisplayableMIMETypes): Ditto.
(WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess): Ditto.
(WTR::TestRunner::terminateNetworkProcess): Use postSynchronousPageMessage.
(WTR::TestRunner::terminateServiceWorkers): Ditto.
(WTR::TestRunner::setUseSeparateServiceWorkerProcess): Ditto.
(WTR::TestRunner::runUIScript): Use postPageMessage.
(WTR::TestRunner::runUIScriptImmediately): Ditto.
(WTR::TestRunner::runUIScriptCallback): Use mainFrameJSContext.
(WTR::TestRunner::setAllowedMenuActions): Use mainFrameJSContext, arrayLength,
and postPageMessage.
(WTR::TestRunner::installCustomMenuAction): Use postPageMessage.
(WTR::TestRunner::clearStatisticsDataForDomain): Use postSynchronousMessage.
(WTR::TestRunner::doesStatisticsDomainIDExistInDatabase): Use
postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsEnabled): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsEphemeral): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsDebugMode): Use postMessage.
(WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode): Ditto.
(WTR::TestRunner::setStatisticsLastSeen): Ditto.
(WTR::TestRunner::setStatisticsMergeStatistic): Ditto.
(WTR::TestRunner::setStatisticsExpiredStatistic): Ditto.
(WTR::TestRunner::setStatisticsPrevalentResource): Ditto.
(WTR::TestRunner::setStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::dumpResourceLoadStatistics): Use postSynchronousPageMessage.
(WTR::TestRunner::isStatisticsPrevalentResource): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo): Ditto.
(WTR::TestRunner::setStatisticsHasHadUserInteraction): Use postMessage.
(WTR::TestRunner::isStatisticsHasHadUserInteraction): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsOnlyInDatabaseOnce): Ditto.
(WTR::TestRunner::setStatisticsGrandfathered): Use postSynchronousMessage.
(WTR::TestRunner::setUseITPDatabase): Ditto.
(WTR::TestRunner::isStatisticsGrandfathered): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsCrossSiteLoadWithLinkDecoration): Ditto.
(WTR::TestRunner::setStatisticsTimeToLiveUserInteraction): Ditto.
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Use mainFrameJSContext.
(WTR::TestRunner::statisticsProcessStatisticsAndDataRecords): Use postSynchronousMessage.
(WTR::TestRunner::statisticsUpdateCookieBlocking): Use postMessage.
(WTR::TestRunner::statisticsSubmitTelemetry): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Ditto.
(WTR::TestRunner::setStatisticsIsRunningTest): Ditto.
(WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsGrandfatheringTime): Ditto.
(WTR::TestRunner::setStatisticsMaxStatisticsEntries): Ditto.
(WTR::TestRunner::setStatisticsPruneEntriesDownTo): Ditto.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): Use postMessage.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
(WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::statisticsDeleteCookiesForHost): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsHasLocalStorage): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsCacheMaxAgeCap): Use postSynchronousMessage.
(WTR::TestRunner::hasStatisticsIsolatedSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsShouldDowngradeReferrer): Use postMessage.
(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies): Ditto.
(WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestRunner::statisticsSetToSameSiteStrictCookies): Ditto.
(WTR::TestRunner::statisticsSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsResetToConsistentState): Ditto.
(WTR::TestRunner::getAllStorageAccessEntries): Ditto.
(WTR::makeDomainsValue): Factored out. Use mainFrameJSContext.
(WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Use makeDomainsValue.
(WTR::TestRunner::loadedSubresourceDomains): Use postMessage.
(WTR::TestRunner::callDidReceiveLoadedSubresourceDomainsCallback): Use makeDomainsValue.
(WTR::TestRunner::addMockMediaDevice): Use postSynchronousMessage.
(WTR::TestRunner::clearMockMediaDevices): Ditto.
(WTR::TestRunner::removeMockMediaDevice): Ditto.
(WTR::TestRunner::resetMockMediaDevices): Ditto.
(WTR::TestRunner::setMockCameraOrientation): Ditto.
(WTR::TestRunner::isMockRealtimeMediaSourceCenterEnabled): Use
postSynchronousMessageReturningBoolean.
(WTR::TestRunner::connectMockGamepad): Use postSynchronousMessage.
(WTR::TestRunner::disconnectMockGamepad): Ditto.
(WTR::TestRunner::setMockGamepadDetails): Ditto.
(WTR::TestRunner::setMockGamepadAxisValue): Ditto.
(WTR::TestRunner::setMockGamepadButtonValue): Ditto.
(WTR::TestRunner::setOpenPanelFiles): Use mainFrameJSContext, arrayLength, createJSString,
and postPageMessage.
(WTR::TestRunner::setOpenPanelFilesMediaIcon): Use mainFrameJSContext and postPageMessage.
(WTR::TestRunner::removeAllSessionCredentials): Use postMessage.
(WTR::TestRunner::clearDOMCache): Use postSynchronousMessage.
(WTR::TestRunner::clearDOMCaches): Ditto.
(WTR::TestRunner::hasDOMCache): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::domCacheSize): Use postSynchronousPageMessageReturningUInt64.
(WTR::TestRunner::setAllowStorageQuotaIncrease): Use postSynchronousPageMessage.
(WTR::TestRunner::getApplicationManifestThen): Use postMessage.
(WTR::TestRunner::injectUserScript): Use postSynchronousMessage.
(WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting): Ditto.
(WTR::TestRunner::setServiceWorkerFetchTimeout): Ditto.
(WTR::TestRunner::addTestKeyToKeychain): Ditto.
(WTR::TestRunner::cleanUpKeychain): Ditto.
(WTR::TestRunner::keyExistsInKeychain): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): Use
postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setShouldDismissJavaScriptAlertsAsynchronously): Use
postSynchronousMessage.
(WTR::TestRunner::abortModal): Ditto.
(WTR::TestRunner::dumpAdClickAttribution): Use postSynchronousPageMessage.
(WTR::TestRunner::clearAdClickAttribution): Ditto.
(WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): Ditto.
(WTR::TestRunner::setAdClickAttributionConversionURLForTesting): Ditto.
(WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): Ditto.
(WTR::TestRunner::setOffscreenCanvasEnabled): Use overridePreference.
(WTR::TestRunner::hasAppBoundSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearAppBoundSession): Use postSynchronousMessage.
(WTR::TestRunner::setAppBoundDomains): Use mainFrameJSContext, arrayLength, createJSString,
and toWK.
(WTR::TestRunner::postMessage): Added.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Updated for the above. Also changed
overridePreference ot a static member function.
- WebKitTestRunner/InjectedBundle/TextInputController.cpp:
(WTR::TextInputController::TextInputController): Deleted.
(WTR::TextInputController::~TextInputController): Deleted.
(WTR::TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(WTR::arrayLength): Deleted. Use the one from JSBasics.h now.
(WTR::createCompositionHighlightData): Use setValue.
- WebKitTestRunner/InjectedBundle/TextInputController.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h now.
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements): Use createJSString.
(WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
(WTR::AccessibilityUIElement::allAttributes): Ditto.
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): Ditto.
(WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
(WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(WTR::AccessibilityUIElement::role): Ditto.
(WTR::AccessibilityUIElement::subrole): Ditto.
(WTR::AccessibilityUIElement::computedRoleString): Ditto.
(WTR::AccessibilityUIElement::title): Ditto.
(WTR::AccessibilityUIElement::orientation const): Ditto.
(WTR::AccessibilityUIElement::language): Ditto.
(WTR::AccessibilityUIElement::valueDescription): Ditto.
(WTR::AccessibilityUIElement::isFocused const): Ditto.
(WTR::AccessibilityUIElement::isSelectedOptionActive const): Ditto.
(WTR::AccessibilityUIElement::isIndeterminate const): Ditto.
(WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
(WTR::AccessibilityUIElement::boundsForRange): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
(WTR::AccessibilityUIElement::attributesOfRows): Ditto.
(WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
(WTR::AccessibilityUIElement::clearSelectedChildren const): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
(WTR::AccessibilityUIElement::isSelectable const): Ditto.
(WTR::AccessibilityUIElement::isMultiSelectable const): Ditto.
(WTR::AccessibilityUIElement::isVisible const): Ditto.
(WTR::AccessibilityUIElement::isOffScreen const): Ditto.
(WTR::AccessibilityUIElement::isCollapsed const): Ditto.
(WTR::AccessibilityUIElement::isSingleLine const): Ditto.
(WTR::AccessibilityUIElement::isMultiLine const): Ditto.
(WTR::AccessibilityUIElement::takeFocus): Ditto.
(WTR::AccessibilityUIElement::takeSelection): Ditto.
(WTR::AccessibilityUIElement::addSelection): Ditto.
(WTR::AccessibilityUIElement::removeSelection): Ditto.
(WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
- WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::~EventSenderProxy): Deleted.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeJSArray): Return a JSObjectRef. Renamed from makeArrayRefForArray.
(WTR::makeJSObject): Return a JSObjectRef. Renamed from makeObjectRefForDictionary.
(WTR::makeValueRefForValue): Updated for the above.
(WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use toWTFString
and arrayLength.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h instead.
(WTR::convertVectorToObjectArray): Deleted.
(WTR::makeJSArray): Renamed from convertVectorToObjectArray.
(WTR::selectTextParameterizedAttributeForCriteria): Use toWTFString and arrayLength.
(WTR::searchTextParameterizedAttributeForCriteria): Ditto.
(WTR::AccessibilityUIElement::rowHeaders const): Use makeJSArray.
(WTR::AccessibilityUIElement::columnHeaders const): Ditto.
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): Ditto.
(WTR::AccessibilityUIElement::searchTextWithCriteria): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Use createJSString.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
- WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL): Remove locals.
- WebKitTestRunner/StringFunctions.h: Added toWKString overload that converts from
a JSValueRef, JSStringRef, or JSRetainPtr<JSStringRef> and toWK overload that converts
from a const char*.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Use toWK.
(WTR::TestController::generateContextConfiguration const): Ditto.
(WTR::TestController::resetPreferencesToConsistentValues): Ditto.
(WTR::TestController::resetStateToConsistentValues): Use setValue.
(WTR::TestController::updateLiveDocumentsAfterTest): Ditto.
(WTR::TestController::checkForWorldLeaks): Use toWK.
(WTR::contentExtensionJSONPath): Use toSTD.
(WTR::TestController::configureContentExtensionForTest): Use toWK.
(WTR::TestController::didReceiveKeyDownMessageFromInjectedBundle): Use stringValue
and uint64Value.
(WTR::TestController::didReceiveLiveDocumentsList): Use dictionaryValue and
uint64Value.
(WTR::TestController::didReceiveMessageFromInjectedBundle): Use dictionaryValue,
stringValue, uint64Value, doubleValue, booleanValue.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Ditto.
(WTR::TestController::setBlockAllPlugins): Use toWK.
(WTR::TestController::setPluginSupportedMode): Ditto.
(WTR::TestController::canAuthenticateAgainstProtectionSpace): Use auto.
(WTR::TestController::didFinishNavigation): Removed local.
(WTR::TestController::didReceiveAuthenticationChallenge): Use auto and toWTFString
instead of toSTD.
(WTR::TestController::setMockGeolocationPosition): Use Optional instead of pairs
of bool and double.
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin): Use toWK.
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Ditto.
(WTR::TestController::updateBundleIdentifierInNetworkProcess): Use toWK.
- WebKitTestRunner/TestController.h: Updated for the above.
- WebKitTestRunner/TestInvocation.cpp:
(WTR::postPageMessage): Added.
(WTR::TestInvocation::TestIncovation): Use toWTFString.
(WTR::TestInvocation::createTestSettingsDictionary): Use auto and setValue.
(WTR::TestInvocation::invoke): Use postPageMessage and setValue.
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Use postPageMessage
and stringValue.
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): Use
dictionaryValue, booleanValue, value, stringValue, doubleValue, and
optionalDoubleValue.
(WTR::TestInvocation::uiScriptDidComplete): Use postPageMessage and setValue.
(WTR::TestInvocation::didBeginSwipe): Use postPageMessage.
(WTR::TestInvocation::willEndSwipe): Ditto.
(WTR::TestInvocation::didEndSwipe): Ditto.
(WTR::TestInvocation::didRemoveSwipeSnapshot): Ditto.
(WTR::TestInvocation::notifyDownloadDone): Ditto.
(WTR::TestInvocation::didClearStatisticsInMemoryAndPersistentStore): Ditto.
(WTR::TestInvocation::didClearStatisticsThroughWebsiteDataRemoval): Ditto.
(WTR::TestInvocation::didSetShouldDowngradeReferrer): Ditto.
(WTR::TestInvocation::didSetShouldBlockThirdPartyCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestInvocation::didSetToSameSiteStrictCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestInvocation::didSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestInvocation::didResetStatisticsToConsistentState): Ditto.
(WTR::TestInvocation::didSetBlockCookiesForHost): Ditto.
(WTR::TestInvocation::didSetStatisticsDebugMode): Ditto.
(WTR::TestInvocation::didSetPrevalentResourceForDebugMode): Ditto.
(WTR::TestInvocation::didSetLastSeen): Ditto.
(WTR::TestInvocation::didMergeStatistic): Ditto.
(WTR::TestInvocation::didSetExpiredStatistic): Ditto.
(WTR::TestInvocation::didSetPrevalentResource): Ditto.
(WTR::TestInvocation::didSetVeryPrevalentResource): Ditto.
(WTR::TestInvocation::didSetHasHadUserInteraction): Ditto.
(WTR::TestInvocation::didReceiveAllStorageAccessEntries): Ditto.
(WTR::TestInvocation::didReceiveLoadedSubresourceDomains): Ditto.
(WTR::TestInvocation::didRemoveAllSessionCredentials): Ditto.
(WTR::TestInvocation::didSetAppBoundDomains): Ditto.
(WTR::TestInvocation::performCustomMenuAction): Ditto.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Added JSBasics.h to DictionaryFunctions.h to appropriate targets.
- WebKitTestRunner/WorkQueueManager.cpp:
(WTR::ScriptItem::ScriptItem): Use toWK.
(WTR::WorkQueueManager::queueLoadHTMLString): Ditto.
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.h: Make most functions private.
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::overridePreference): Use toWTFString.
- WebKitTestRunner/ios/UIScriptControllerIOS.h: Marked the class final and made
most functions private.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::arrayLength): Deleted. Use the one in JSBasics.h.
(WTR::parseModifierArray): Use the new toWTFString overload.
(WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard): Ditto.
- WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::keyDown): Use toWTFString.
- WebKitTestRunner/mac/UIScriptControllerMac.h: Marked the class final and made
most functions private.
- 2:22 PM Changeset in webkit [267760] by
-
- 9 edits in trunk/Source
[macCatalyst] Focus rings are not painted
https://bugs.webkit.org/show_bug.cgi?id=217073
<rdar://problem/46794111>
Reviewed by Darin Adler.
Source/WebCore:
The logic which paints focus rings on Cocoa platforms is incorrectly
guarded by the ENABLE(FULL_KEYBOARD_ACCESS) flag. This flag is only
enabled on macOS and iOS, resulting in an empty implementation for
GraphicsContext::drawFocusRing on macCatalyst.
To fix, remove the incorrect usage of ENABLE(FULL_KEYBOARD_ACCESS).
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawFocusRing):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintAreaElementFocusRing):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::platformFocusRingColor const):
Source/WebCore/PAL:
- pal/spi/ios/UIKitSPI.h:
Ensure needed interfaces are available on all IOS_FAMILY platforms.
Source/WebKit:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
Ensure that a default focus ring color is specified on macCatalyst.
- 1:51 PM Changeset in webkit [267759] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Make sure <wbr> gets an inline box too.
https://bugs.webkit.org/show_bug.cgi?id=217100
Reviewed by Antti Koivisto.
<wbr> behaves similarly to <br> when it comes to line breaking. They are not committed to LineBreaker but instead we post-process them.
In this patch the <wbr> content is added to the LineCandidate list as a special item (same as with <br>) and later submitted to the current line as a zero width run.
This behavior matches the spec (and FF) but does not match current trunk/rendering.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::trailingWordBreakOpportunity const):
(WebCore::Layout::LineCandidate::InlineContent::appendTrailingLineBreak):
(WebCore::Layout::LineCandidate::InlineContent::appendtrailingWordBreakOpportunity):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineCandidate::InlineContent::appendLineBreak): Deleted.
(WebCore::Layout::LineCandidate::InlineContent::setTrailingLineBreak): Deleted.
- 1:40 PM Changeset in webkit [267758] by
-
- 44 edits2 deletes in trunk
Remove IndexedDBWorkers runtime setting now since it is always true
https://bugs.webkit.org/show_bug.cgi?id=217090
Reviewed by Darin Adler.
Source/WebCore:
Removes IndexedDBWorkers runtime setting, allowing us to remove a bunch
of special cases for WorkerGlobalScope constructors. Now instead of explicitly
adding the IndexedDB constructors to WorkerGlobalScope, we use the Exposed
mechanism to have the generators do this for us. While going through each of
the IndexedDB IDLs, I also re-alligned with the current spec, adding comments
for missing functionality as necessary.
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBOpenDBRequest.idl:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/indexeddb/IDBVersionChangeEvent.idl:
- Modules/indexeddb/WorkerGlobalScope+IndexedDatabase.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIndexedDBWorkersEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::indexedDBWorkersEnabled const): Deleted.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setIndexedDBWorkersEnabled): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
- workers/WorkerGlobalScope.idl:
LayoutTests:
Removes calls to setIndexedDBWorkersEnabled, which hasn't been required in quite some time,
and removes workers-disabled.html test, as it is no longer possible nor desirable to do this.
- http/tests/security/cross-origin-worker-indexeddb-allowed.html:
- http/tests/security/cross-origin-worker-indexeddb.html:
- http/tests/security/resources/cross-origin-iframe-for-worker-indexeddb.html:
- http/tests/security/resources/document-for-cross-origin-worker-indexeddb.html:
- platform/wincairo/TestExpectations:
- storage/indexeddb/basics-workers.html:
- storage/indexeddb/cursor-advance-workers.html:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
- storage/indexeddb/dont-commit-on-blocked-private.html:
- storage/indexeddb/dont-commit-on-blocked.html:
- storage/indexeddb/index-basics-workers.html:
- storage/indexeddb/modern/workers-disabled-expected.txt: Removed.
- storage/indexeddb/modern/workers-disabled.html: Removed.
- storage/indexeddb/objectstore-basics-workers.html:
- storage/indexeddb/open-twice-workers.html:
- storage/indexeddb/pending-activity-workers.html:
- storage/indexeddb/pending-version-change-on-exit-private.html:
- storage/indexeddb/pending-version-change-on-exit.html:
- storage/indexeddb/pending-version-change-stuck-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
- storage/indexeddb/pending-version-change-stuck.html:
- storage/indexeddb/transaction-complete-workers-private.html:
- storage/indexeddb/transaction-complete-workers.html:
- storage/indexeddb/unprefix-workers.html:
- 1:13 PM Changeset in webkit [267757] by
-
- 2 edits in trunk/Tools
[tvOS] [watchOS] Add support in libTestWTFAlwaysMissing-iOS-v2.tbd
https://bugs.webkit.org/show_bug.cgi?id=217068
<rdar://problem/69724742>
Rubber-stamped by Aakash Jain.
- TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Add watchOS and tvOS.
- 12:16 PM Changeset in webkit [267756] by
-
- 3 edits in trunk/Source/WebKitLegacy/mac
Unreviewed, reverting r267397.
SPI is still used <rdar://problem/69749992>
Reverted changeset:
"Remove deprecated script and stylesheet injection SPI,
replaced with more inclusively-named SPI"
https://bugs.webkit.org/show_bug.cgi?id=214936
https://trac.webkit.org/changeset/267397
- 11:24 AM Changeset in webkit [267755] by
-
- 2 edits in trunk/Tools
URL for Apple-iOS-14-Simulator-Debug-WK2-Tests is broken on the dashboard
https://bugs.webkit.org/show_bug.cgi?id=217094
Reviewed by Aakash Jain.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Remove a space in the queue name.
- 11:12 AM Changeset in webkit [267754] by
-
- 24 edits in trunk/Source/JavaScriptCore
[JSC] Annotate JIT operation functions called from B3 etc.
https://bugs.webkit.org/show_bug.cgi?id=217082
Reviewed by Saam Barati.
There are many math functions that are called from B3 etc. We should make them JIT operations to complete JIT-caging.
- b3/B3LowerMacros.cpp:
- b3/B3LowerMacrosAfterOptimizations.cpp:
- b3/B3MathExtras.cpp:
- b3/B3ReduceLoopStrength.cpp:
(JSC::B3::JSC_DEFINE_JIT_OPERATION):
(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):
(JSC::B3::fastForwardCopy32): Deleted.
- b3/B3ReduceLoopStrength.h:
(JSC::B3::fastForwardCopy32):
- b3/B3ReduceStrength.cpp:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArithMode.cpp:
(JSC::DFG::arithUnaryFunction):
(JSC::DFG::arithUnaryOperation):
(WTF::printInternal):
- dfg/DFGArithMode.h:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compileArithRounding):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithPow):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::doubleTrunc):
(JSC::FTL::Output::doubleUnary):
(JSC::FTL::Output::doubleStdPow):
(JSC::FTL::Output::doublePow): Deleted.
- ftl/FTLOutput.h:
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::callDoubleToDouble):
- jit/ThunkGenerators.cpp:
- runtime/MathCommon.cpp:
(JSC::Math::log1pDoubleImpl):
(JSC::Math::log1pFloatImpl):
(JSC::Math::log1p):
(JSC::Math::JSC_DEFINE_JIT_OPERATION):
(JSC::Math::roundDoubleImpl):
- runtime/MathCommon.h:
- runtime/MathObject.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/Operations.h:
(JSC::jsRemainder):
- 11:00 AM Changeset in webkit [267753] by
-
- 8 edits3 adds in trunk
IndexedDB Index Corruption after upgrade from iOS 13 to iOS 14
https://bugs.webkit.org/show_bug.cgi?id=216962
<rdar://problem/69587004>
Reviewed by Brady Eidson.
Source/WebCore:
There is an implementation error in r255318, which updated index ID in database IndexInfo and IndexRecords
tables: it made changes to original table while iterating records of it. This means modified records can
be modified again, which leads to that two indices have the same index ID. As index ID is supposed to be unique,
some indices and index records cannot be populated and clients will find some indices are missing.
To fix this, we need to change the implementation of ID update and deal with already corrupted tables. For index
ID update, now we create a temporary table for storing the updated records, and replace the original table with
temporary table at the end of iteration. For the corruption issue, we check if IndexInfo table has duplicate
index IDs. If it has, we try recovering IndexInfo and IndexRecords table by removing records with duplicate
index IDs, assigning new IDs to duplicate indices, and adding records with updated index IDs.
API tests: IndexedDB.IndexUpgradeToV2WithMultipleIndices
IndexedDB.IndexUpgradeToV2WithMultipleIndicesHaveSameID
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::indexInfoTableSchema):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexInfoTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexRecordsTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::removeExistingIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::addExistingIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::handleDuplicateIndexIDs):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateOneIndexForAddRecord):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/shared/IDBIndexInfo.h:
(WebCore::IDBIndexInfo::setIdentifier):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::addExistingIndex):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(runMultipleIndicesTestWithDatabase):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2WithMultipleIndices.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndices.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndicesHaveSameID.sqlite3: Added.
- 10:55 AM Changeset in webkit [267752] by
-
- 1 copy in tags/Safari-611.1.1.2
Tag Safari-611.1.1.2.
- 10:51 AM Changeset in webkit [267751] by
-
- 8 edits in branches/safari-611.1.1-branch/Source
Versioning.
WebKit-7611.1.1.2
- 10:38 AM Changeset in webkit [267750] by
-
- 73 edits251 deletes in trunk
Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
https://bugs.webkit.org/show_bug.cgi?id=217063
Reviewed by John Wilander.
Source/WebCore:
ResourceLoadStatistics was initially implemented using plists to store the persistent data on disk.
This caused some performance issues, so a sqlite database backend was implemented and transitioned to.
Now that the transition is complete, let's remove the old plist backend.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIsITPDatabaseEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::isITPDatabaseEnabled const): Deleted.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::setPersistentStorage): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageIfNeeded): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageImmediately): Deleted.
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp: Removed.
- NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h: Removed.
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession):
(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setUseITPDatabase): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::isITPDatabaseEnabled const): Deleted.
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::destroyResourceLoadStatistics):
(WebKit::NetworkSession::flushAndDestroyPersistentStore): Deleted.
- NetworkProcess/NetworkSession.h:
- Shared/WebPreferencesInternal.yaml:
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetIsITPDatabaseEnabled): Deleted.
(WKPreferencesGetIsITPDatabaseEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRef.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreStatisticsResetToConsistentState):
(WKWebsiteDataStoreSetUseITPDatabase): Deleted.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _isITPDatabaseEnabled]): Deleted.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setUseITPDatabase:completionHandler:]): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setUseITPDatabase): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setUseITPDatabase): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm: Removed.
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
These three tests API tests have been removed:
ResourceLoadStatistics.ChildProcessesNotLaunched
ResourceLoadStatistics.GrandfatherCallback
ResourceLoadStatistics.ShouldNotGrandfatherOnStartup
Each of those tests has a corresponding test that ends with "Database" that tests the database backend,
so the only test coverage loss was of the code that was removed.
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(ensureITPFileIsCreated):
(TEST):
(isITPDatabaseEnabled): Deleted.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseITPDatabase): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database.html: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database.html: Removed.
- http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database.html: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database.html: Removed.
- http/tests/resourceLoadStatistics/cookie-deletion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cookie-deletion-database.html: Removed.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt:
- http/tests/resourceLoadStatistics/count-third-party-script-loads-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-loads-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database.php: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database.html: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:
- http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html:
- http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html:
- http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/enable-debug-mode-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/enable-debug-mode-database.html: Removed.
- http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html:
- http/tests/resourceLoadStatistics/grandfathering-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/grandfathering-database.html: Removed.
- http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html:
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database.html: Removed.
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-expected.txt:
- http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html:
- http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:
- http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database.html: Removed.
- http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/prune-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prune-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database.html: Removed.
- http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database.html: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database.html: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database.html: Removed.
- http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database.php: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database.html: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-database.html: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database.html: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database.html: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database-expected.txt: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database.html: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt:
- http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-database-expected.txt: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-database.html: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database-expected.txt: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database.html: Removed.
- http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html: Removed.
- http/tests/storageAccess/deny-without-prompt-preserves-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/deny-without-prompt-preserves-gesture-database.html: Removed.
- http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database.html: Removed.
- http/tests/storageAccess/grant-with-prompt-preserves-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/grant-with-prompt-preserves-gesture-database.html: Removed.
- http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Removed.
- http/tests/storageAccess/has-storage-access-crash-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-crash-database.html: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-database.html: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database.html: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database.html: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Removed.
- http/tests/storageAccess/remove-requesting-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/remove-requesting-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html: Removed.
- http/tests/storageAccess/request-storage-access-crash-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-crash-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-iframe-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
- http/tests/storageAccess/request-storage-access-top-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-top-frame-database.html: Removed.
- http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt:
- http/tests/webAPIStatistics/font-load-data-collection-expected.txt:
- http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt:
- http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt:
- platform/gtk/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/wk2/TestExpectations:
- platform/wpe/TestExpectations:
- 10:36 AM Changeset in webkit [267749] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267722. rdar://problem/69586659
Cherry-pick r266899. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
Address a post-commit review comment after r266887
https://bugs.webkit.org/show_bug.cgi?id=216257
Reviewed by Darin Adler.
Remove a check that currently makes us conditionally set
IsComputedStyleInvalidFlagif there is a computed
style in rare data. There should be no change in behavior; this just makes the code a bit simpler.
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::storeDisplayContentsStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-610-branch@267722 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:34 AM Changeset in webkit [267748] by
-
- 4 edits2 adds in branches/safari-610-branch
Cherry-pick r267721. rdar://problem/69586659
Cherry-pick r266887. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
REGRESSION (r257839): clickpay.com - password placeholder text cannot be replaced
https://bugs.webkit.org/show_bug.cgi?id=216257
<rdar://problem/68150686>
Reviewed by Antti Koivisto.
Source/WebCore:
On clickpay.com, the field in the login form that contains the text "Password" is actually a plain text input,
referred to by the site's script as the "null text input". The page adds a focus event listener to this null
text input, and inside of this focus event listener, it reveals a hidden password field by removing an inline
display: none;style rule on the real password input element, programmatically focuses it, and then hides the
null text input by setting it todisplay: none;via inline style.
However, after the changes in r257839, we no longer attempt to do a style update upon programmatic focus in the
case where the programmatically focused element does not have a renderer yet (this applies to the password field
in this scenario, because it previously haddisplay: none;). When we determine whether the newly displayed
password field is focusable usingElement::isVisibleWithoutResolvingFullStyle, we then attempt to use either
the existing computedRenderStyleon the element, or perform a partial computed style resolution using the
ResolveComputedStyleMode::RenderedOnlyflag.
But in the case where
ElementRareData's computed style exists, it is not guaranteed to be up to date if the
inline style changed since the computed style was last set. In the context of this bug, it's actually Safari's
AutoFill logic (embedded in the injected bundle) that ends up asking for the computed style of the password
input, forcing it to be created and set (though, as demonstrated in the layout test, simply grabbing the
computed style is sufficient to replicate the bug outside of Safari).
The end result is that we'll use this stale computed style, which still believes that the password input is not
displayed, and we end up not focusing the element due to believing that the password input is hidden. To fix
this, we would need to either check whether the element has an invalid style (i.e.needsStyleRecalc()) before
attempting to use the existing computed style, or clear out theElementRareDatacomputed style anytime the
element's style is invalidated. However, both of these approaches will cause us to perform partial style
resolution much more aggressively, leading to a 2-3% regression in Speedometer.
To address the bug without hampering our performance wins from r257839, we add a new node flag so that we can
remember when computed styles are no longer valid due to style invalidation, and consult this flag in
Element::isVisibleWithoutResolvingFullStyleto avoid using the existing computed style.
Test: fast/forms/programmatic-focus-after-display.html
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::resolveComputedStyle): (WebCore::Element::isVisibleWithoutResolvingFullStyle const):
- dom/Node.h: (WebCore::Node::setHasValidStyle):
LayoutTests:
Add a new layout test to verify that the bug does not occur. See WebCore/ChangeLog for more details.
- fast/forms/programmatic-focus-after-display-expected.txt: Added.
- fast/forms/programmatic-focus-after-display.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-610-branch@267721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:21 AM Changeset in webkit [267747] by
-
- 2 edits in branches/safari-611.1.2-branch/Source/WebCore
Cherry-pick r267706. rdar://problem/69751604
REGRESSION (r267329): Crash due to null-dereference of frame pointer in DOMSelection::rangeCount
https://bugs.webkit.org/show_bug.cgi?id=217053
Reviewed by Sam Weinig.
Later as a follow-up it would be nice to add a test case, but not obvious how to
make a simple one quickly.
- page/DOMSelection.cpp: (WebCore::DOMSelection::rangeCount const): Fixed the null check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:52 AM Changeset in webkit [267746] by
-
- 4 edits2 deletes in branches/safari-610-branch
Revert r266887. rdar://problem/69586659
- 9:52 AM Changeset in webkit [267745] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Revert r266899. rdar://problem/69586659
- 9:47 AM Changeset in webkit [267744] by
-
- 70 edits2 copies11 adds in trunk
Add stubs for AudioWorklet
https://bugs.webkit.org/show_bug.cgi?id=217059
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that AudioWorklet / AudioWorkletNode / AudioParamMap interfaces are exposed.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-stereo-panner-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-addmodule-resolution.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-iterable.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-size.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-postmessage-sharedarraybuffer.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-suspend.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-timing-info.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-automatic-pull.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-construction.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-constructor-options.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-disconnected-input.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-output-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-options.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-frozen-array.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-zero-outputs.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-promises.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/baseaudiocontext-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/extended-audioworkletnode-with-parameters.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/process-getter.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/process-parameters.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/processor-construction-port.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/simple-input-output.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/no-cors.https-expected.txt:
Source/WebCore:
Add stubs for AudioWorklet, AudioWorkletNode and AudioParamMap:
- https://www.w3.org/TR/webaudio/#audioworklet
- https://www.w3.org/TR/webaudio/#audioworkletnode
- https://www.w3.org/TR/webaudio/#audioparammap
No new tests, rebaselined existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioNode.cpp:
(WebCore::convertEnumerationToString):
- Modules/webaudio/AudioNode.h:
- Modules/webaudio/AudioParamMap.cpp: Added.
(WebCore::AudioParamMap::initializeMapLike):
(WebCore::AudioParamMap::add):
- Modules/webaudio/AudioParamMap.h: Added.
(WebCore::AudioParamMap::create):
(WebCore::AudioParamMap::map const):
- Modules/webaudio/AudioParamMap.idl: Added.
- Modules/webaudio/AudioWorklet.cpp: Added.
(WebCore::AudioWorklet::create):
(WebCore::AudioWorklet::AudioWorklet):
- Modules/webaudio/AudioWorklet.h: Added.
- Modules/webaudio/AudioWorklet.idl: Added.
- Modules/webaudio/AudioWorkletNode.cpp: Added.
(WebCore::AudioWorkletNode::create):
(WebCore::AudioWorkletNode::AudioWorkletNode):
(WebCore::AudioWorkletNode::~AudioWorkletNode):
(WebCore::AudioWorkletNode::process):
- Modules/webaudio/AudioWorkletNode.h: Added.
(WebCore::AudioWorkletNode::parameters):
(WebCore::AudioWorkletNode::port):
- Modules/webaudio/AudioWorkletNode.idl: Added.
- Modules/webaudio/AudioWorkletNodeOptions.h: Added.
- Modules/webaudio/AudioWorkletNodeOptions.idl: Added.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::BaseAudioContext):
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::audioWorklet):
- Modules/webaudio/BaseAudioContext.idl:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- css/DOMCSSPaintWorklet.cpp:
(WebCore::DOMCSSPaintWorklet::ensurePaintWorklet):
(WebCore::PaintWorklet::addModule):
- css/DOMCSSPaintWorklet.h:
- dom/Document.cpp:
(WebCore::Document::ensurePaintWorklet):
- dom/Document.h:
- dom/EventNames.h:
- page/Settings.yaml:
- worklets/Worklet.cpp:
(WebCore::Worklet::addModule):
- worklets/Worklet.h:
- worklets/Worklet.idl:
- worklets/WorkletOptions.h: Copied from Source/WebCore/worklets/Worklet.idl.
- worklets/WorkletOptions.idl: Copied from Source/WebCore/worklets/Worklet.idl.
Source/WebKit:
Add experimental feature flag for AudioWorklet API.
- Shared/WebPreferencesExperimental.yaml:
LayoutTests:
Skip tests that are timing out because we don't support Worklet.addModule() yet.
- TestExpectations:
- webaudio/AudioParam/worklet-warnings-expected.txt:
- 9:47 AM Changeset in webkit [267743] by
-
- 2 edits in trunk/Tools
[resultsdbpy] Restrict incoming traffic to localhost
https://bugs.webkit.org/show_bug.cgi?id=217089
<rdar://problem/69749845>
Reviewed by Aakash Jain.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/docker-compose.yml: Restrict incoming traffic to localhost.
- 9:41 AM Changeset in webkit [267742] by
-
- 18 edits in trunk/Source/WebCore
[GPU Process] Several layout tests in fast/canvas crash under GraphicsContext::clipToImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=217026
<rdar://problem/69663834>
Reviewed by Simon Fraser.
When using the GPU Process for rendering, calling
GraphicsContext::clipToImageBuffercurrently results in a
crash, due to the platformCGContextRefbeing null. This causes the following 4 canvas-related tests to fail:
- fast/canvas/2d.fillText.gradient.html
- fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
- fast/canvas/canvas-text-alignment.html
- fast/canvas/gradient-text-with-shadow.html
In all four of these tests, the
clipToImageBuffercall comes fromCanvasRenderingContext2D::drawTextInternal
method, while creating the image used to provide the mask when there is a gradient or pattern fill. This is
tricky to support when using the GPU process with display list items, sinceImageBuffers cannot be generally
sent to the GPU process through IPC. Instead of painting anImageBufferand sending it over IPC, we can
introduce a newGraphicsContextmethod that clips to an image that is painted via aWTF::Functionthat is
passed in, and receives aGraphicsContext&. When using a display-list-backedGraphicsContext, we can create
a newDisplayListrecording context and use the givenFunctionto populate the display list with items,
which can then be sent to the GPU process through IPC. When using a platformCGContextRef-backed
GraphicsContext, we instead create a newImageBuffercompatible with the current context, and then use this
ImageBufferto callclipToImageBuffer. We then refactordrawTextInternalso that it uses this new
GraphicsContextmethod. See below for more details.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
Refactor this to use
clipToDrawingCommandsinstead ofclipToImageBuffer.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::clipToDrawingCommands):
Introduce a new
GraphicsContextmethod that takes a function which draws into a givenGraphicsContext. When
there is noGraphicsContextImplpresent, we create a newImageBuffercompatible with thisGraphicsContext,
paint into it using the givenFunction, and lastly pass this paintedImageBufferintoclipToImageBuffer.
- platform/graphics/GraphicsContext.h:
- platform/graphics/GraphicsContextImpl.h:
- platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::clipToDrawingCommands):
Add an unimplemented method stub. Since the only call site of
GraphicsContext::clipToDrawingCommandsis behind
aUSE(CG)guard, leaving this unimplemented for the time being won't result in any regression in behavior.
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
It's not strictly necessary to fix these layout tests, but we should still add a check for
clipToImageBuffer
here with a call toGraphicsContextImpl::clipToImageBuffereven thoughclipToImageBufferis unimplemented,
to ensure that we at least avoid crashing if anything calls into this codepath.
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListDrawingContext.h:
(WebCore::DisplayList::DrawingContext::takeDisplayList):
Add a helper function to extract the
DisplayListout of aDisplayList::DrawingContext.
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::ClipToDrawingCommands::ClipToDrawingCommands):
(WebCore::DisplayList::ClipToDrawingCommands::apply const):
Apply the
ClipToDrawingCommandsitem by usingDisplayList::Replayerto replay the given display list items
back in a new platform CG-backed image buffer in the GPU process.
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::ClipToDrawingCommands::create):
(WebCore::DisplayList::ClipToDrawingCommands::destination const):
(WebCore::DisplayList::ClipToDrawingCommands::colorSpace const):
(WebCore::DisplayList::ClipToDrawingCommands::drawingCommands const):
(WebCore::DisplayList::ClipToDrawingCommands::encode const):
(WebCore::DisplayList::ClipToDrawingCommands::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):
Add a new
ClipToDrawingCommandsdisplay list item, with support for IPC encoding and decoding.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::clipToDrawingCommands):
Implement the display-list-backed
clipToDrawingCommandsmethod by creating a newDisplayList::DrawingContext
and playing the given drawing function back into theDrawingContext. This populates the recording context with
a display list, which we can use to create a serializable display list item.
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::clipToDrawingCommands):
Add another unimplemented method stub.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/win/GraphicsContextImplDirect2D.cpp:
(WebCore::GraphicsContextImplDirect2D::clipToDrawingCommands):
Add another unimplemented method stub.
- platform/graphics/win/GraphicsContextImplDirect2D.h:
- 9:34 AM Changeset in webkit [267741] by
-
- 3 edits in trunk/Source/WebCore
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Patch by Peng Liu <Peng Liu> on 2020-09-29
Reviewed by Zalan Bujtas.
A follow-up patch to fix a build failure.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::~VideoLayerManagerObjC):
- 9:27 AM Changeset in webkit [267740] by
-
- 2 edits in trunk/Tools
Limit number of tests to log in case of large number of JSC test failures
https://bugs.webkit.org/show_bug.cgi?id=217085
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):
- 9:27 AM Changeset in webkit [267739] by
-
- 2 edits in trunk/Tools
[ews] Refactor NUM_API_FAILURES_TO_DISPLAY
https://bugs.webkit.org/show_bug.cgi?id=217086
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults):
(AnalyzeAPITestsResults.analyzeResults):
- 9:04 AM Changeset in webkit [267738] by
-
- 5 edits in trunk
[macOS] Deny access to 'com.apple.awdd' in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=216975
Reviewed by Darin Adler.
Source/WebKit:
This has already been done on iOS in <https://trac.webkit.org/changeset/254376>, and should be done on macOS as well.
- WebProcess/com.apple.WebProcess.sb.in:
LayoutTests:
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- 9:03 AM Changeset in webkit [267737] by
-
- 3 edits in trunk/Tools
Limit maximum number of webkitpy failures to display
https://bugs.webkit.org/show_bug.cgi?id=217087
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(WebKitPyTest):
(WebKitPyTest.getResultSummary):
- BuildSlaveSupport/ews-build/steps_unittest.py:
(test_lot_of_failures): Added unit-tests.
- 9:02 AM Changeset in webkit [267736] by
-
- 1 edit1 add in trunk/Tools
[build.webkit.org] Add unit-test to detect invalid triggers in config.json
https://bugs.webkit.org/show_bug.cgi?id=216898
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Added.
(ConfigDotJSONTest):
(ConfigDotJSONTest.get_config):
(ConfigDotJSONTest.test_builder_keys):
(ConfigDotJSONTest.test_multiple_scheduers_for_builder):
(ConfigDotJSONTest.test_schduler_contains_valid_builder_name):
(ConfigDotJSONTest.test_single_builder_for_triggerable_scheduler):
- 8:52 AM Changeset in webkit [267735] by
-
- 11 edits3 adds in trunk/Source/WebCore
Implement asynchronous OffscreenCanvas placeholder updates for TextureMapperGL-based compositor
https://bugs.webkit.org/show_bug.cgi?id=202798
Reviewed by Simon Fraser.
Implement asynchronous updates for users of the Nicosia compositor
(i.e. GTK, WPE). This allows OffscreenCanvas-controlled canvases to
update visually while the main thread is blocked.
No new tests. Covered by existing tests.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::transferControlToOffscreen):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::setPlaceholderCanvas):
(WebCore::OffscreenCanvas::pushBufferToPlaceholder):
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
- html/OffscreenCanvas.h:
- html/canvas/PlaceholderRenderingContext.cpp:
(WebCore::PlaceholderRenderingContext::PlaceholderRenderingContext):
(WebCore::PlaceholderRenderingContext::platformLayer const):
- html/canvas/PlaceholderRenderingContext.h:
- platform/TextureMapper.cmake:
- platform/graphics/ImageBufferPipe.cpp: Added.
(WebCore::ImageBufferPipe::create):
- platform/graphics/ImageBufferPipe.h: Added.
- platform/graphics/nicosia/NicosiaImageBufferPipe.cpp: Added.
(Nicosia::NicosiaImageBufferPipeSource::NicosiaImageBufferPipeSource):
(Nicosia::NicosiaImageBufferPipeSource::handle):
(Nicosia::NicosiaImageBufferPipeSource::platformLayer const):
(Nicosia::NicosiaImageBufferPipeSource::swapBuffersIfNeeded):
(Nicosia::NicosiaImageBufferPipe::NicosiaImageBufferPipe):
(Nicosia::NicosiaImageBufferPipe::source const):
(Nicosia::NicosiaImageBufferPipe::platformLayer const):
(WebCore::ImageBufferPipe::create):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::containsPaintedContent const):
(WebCore::RenderLayerBacking::contentChanged):
- 6:19 AM Changeset in webkit [267734] by
-
- 11 edits in trunk/Source/WebCore
[LFC][Integration] Generalize run iterator for non-text runs
https://bugs.webkit.org/show_bug.cgi?id=217083
Reviewed by Zalan Bujtas.
Add RunIterator base for TextRunIterator.
Add type traits.
Naming improvements.
- dom/Position.cpp:
(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
- editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextRun):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::runFor const):
(WebCore::LayoutIntegration::LineLayout::elementRunFor const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::RunIterator::RunIterator):
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInVisualOrder):
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::RunIterator::operator== const):
(WebCore::LayoutIntegration::RunIterator::atEnd const):
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::runFor):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInVisualOrder): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInTextOrder): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator== const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::atEnd const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::atEnd const): Deleted.
(WebCore::LayoutIntegration::elementRunFor): Deleted.
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::RunIterator::RunIterator):
(WebCore::LayoutIntegration::RunIterator::operator!= const):
(WebCore::LayoutIntegration::RunIterator::operator* const):
(WebCore::LayoutIntegration::RunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::TextRunIterator::operator++):
(WebCore::LayoutIntegration::TextRunIterator::operator* const):
(WebCore::LayoutIntegration::TextRunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunIterator::get const):
(WebCore::LayoutIntegration::Run::isText const):
(WebCore::LayoutIntegration::Run::minimumCaretOffset const):
(WebCore::LayoutIntegration::Run::maximumCaretOffset const):
(WebCore::LayoutIntegration::TextRun::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::TextRun::isLastTextRun const):
(isType):
(WebCore::LayoutIntegration::TextRunIterator::operator bool const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator!= const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator== const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator bool const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator* const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator-> const): Deleted.
(WebCore::LayoutIntegration::TextRun::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::TextRun::isLast const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::isText const):
(WebCore::LayoutIntegration::LegacyPath::minimumCaretOffset const):
(WebCore::LayoutIntegration::LegacyPath::maximumCaretOffset const):
(WebCore::LayoutIntegration::LegacyPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::LegacyPath::isLastTextRun const):
(WebCore::LayoutIntegration::LegacyPath::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::LegacyPath::isLast const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::ModernPath::isText const):
(WebCore::LayoutIntegration::ModernPath::minimumCaretOffset const):
(WebCore::LayoutIntegration::ModernPath::maximumCaretOffset const):
(WebCore::LayoutIntegration::ModernPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::ModernPath::isLastTextRun const):
(WebCore::LayoutIntegration::ModernPath::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::ModernPath::isLast const): Deleted.
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::linesBoundingBox const):
(WebCore::RenderLineBreak::boundingBoxForRenderTreeDump const):
(WebCore::RenderLineBreak::absoluteRects const):
(WebCore::RenderLineBreak::absoluteQuads const):
- rendering/RenderText.cpp:
(WebCore::containsOffset):
- 6:12 AM Changeset in webkit [267733] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] LineBreaker renames
https://bugs.webkit.org/show_bug.cgi?id=217067
Reviewed by Antti Koivisto.
The following functions and structures have evolved over time. Let's sync up their names.
LineBreaker::shouldWrapInlineContent -> processInlineContent -> it's not just a "should wrap now" function anymore.
LineBreaker::tryWrappingInlineContent -> processOverflowingContent -> It does both wrapping and breaking.
LineBreaker::wrapTextContent -> processOverflowingTextContent same as above
struct WrappedTextContent -> TrailingTextContent -> it holds information about the trailing content after wrapping/breaking.
LineBreaker::Result::Action::Split -> Break -> closer to spec term.
(This patch also changes some unsigned to size_t.)
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::LineBreaker::processInlineContent):
(WebCore::Layout::LineBreaker::processOverflowingContent const):
(WebCore::Layout::LineBreaker::processOverflowingTextContent const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::LineBreaker::shouldWrapInlineContent): Deleted.
(WebCore::Layout::LineBreaker::tryWrappingInlineContent const): Deleted.
(WebCore::Layout::LineBreaker::wrapTextContent const): Deleted.
- layout/inlineformatting/InlineLineBreaker.h:
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
- layout/inlineformatting/InlineLineBuilder.h:
- 2:04 AM Changeset in webkit [267732] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix WinCairo build failure part 2
https://bugs.webkit.org/show_bug.cgi?id=217071
- ftl/FTLOperations.h:
- 1:50 AM Changeset in webkit [267731] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix WinCairo build failure
https://bugs.webkit.org/show_bug.cgi?id=217071
- ftl/FTLOperations.h:
- tools/JSDollarVM.cpp:
- 12:44 AM Changeset in webkit [267730] by
-
- 6 edits2 adds in trunk
Data URL image is not rendered if there is whitespace between the mime type and and "base64" string
https://bugs.webkit.org/show_bug.cgi?id=216900
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-09-29
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/data-urls/processing.any-expected.txt:
- web-platform-tests/fetch/data-urls/processing.any.worker-expected.txt:
Source/WebCore:
According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs,
spaces are allowed in the data URL to allow better formatting. This
means spaces may appear before and after the comma and the semicolon
(if it exits in the Data URL).
Test: fast/images/image-data-url-with-spaces.html
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::DecodeTask::process):
LayoutTests:
In the new test, 16 cases are included to cover all the permutations of
adding spaces before and after the comma and the semicolon. PNG and JPEG
formats are used to ensure the mime type is tested.
- fast/images/image-data-url-with-spaces-expected.html: Added.
- fast/images/image-data-url-with-spaces.html: Added.
- 12:20 AM Changeset in webkit [267729] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Stop using the default website data store for the inspector
https://bugs.webkit.org/show_bug.cgi?id=217034
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-09-29
Reviewed by Michael Catanzaro.
The GTK should never use the default website data store. Use a dedicated website data store for the inspector
with its own configuration to store persistent data.
- UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
(WebKit::inspectorWebsiteDataStore):
(WebKit::WebInspectorProxy::platformCreateFrontendPage):
Sep 28, 2020:
- 11:25 PM Changeset in webkit [267728] by
-
- 3 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for pycodestyle (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=215427
<rdar://problem/66931291>
Unreviewed follow-up fix.
Conflict resolution at some point broke the original change.
- Scripts/webkitpy/style/checkers/python.py: Import directly from pycodestyle.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook._install_pycodestyle): Deleted.
- 10:51 PM Changeset in webkit [267727] by
-
- 131 edits in trunk/Source
Use JSC_DECLARE_JIT_OPERATION / JSC_DECLARE_CUSTOM_GETTER / JSC_DECLARE_CUSTOM_SETTER
https://bugs.webkit.org/show_bug.cgi?id=217071
Reviewed by Keith Miller.
Source/JavaScriptCore:
This patch changes how to define JIT_OPERATIONs including custom getters and setters.
We introduce JSC_DECLARE_JIT_OPERATION etc. to declare and define them. This is useful
to perform some additional things (like, JIT-caging registering) for each function.
Source/WebCore:
No behavior change.
Source/WTF:
Add the following macros.
- JSC_DECLARE_JIT_OPERATION
- JSC_DEFINE_JIT_OPERATION
- JSC_DECLARE_CUSTOM_GETTER
- JSC_DEFINE_CUSTOM_GETTER
- JSC_DECLARE_CUSTOM_SETTER
- JSC_DEFINE_CUSTOM_SETTER
- wtf/PlatformCallingConventions.h:
- 9:54 PM Changeset in webkit [267726] by
-
- 21 edits in trunk
Add Bounds Check Elimination validation for debugging.
https://bugs.webkit.org/show_bug.cgi?id=217055
rdar://69122891
Reviewed by Keith Miller.
Source/JavaScriptCore:
Added a JSC_validateBoundsCheckElimination option (with alias
JSC_validateBCE) that adds an AssertInBounds whenever a CheckInBounds
node is elided.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
- dfg/DFGNodeType.h:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::validateAIState):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty):
(JSC::FTL::DFG::LowerDFGToB3::compileAssertInBounds):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationReportBoundsCheckEliminationErrorAndCrash):
- ftl/FTLOperations.h:
- runtime/OptionsList.h:
Tools:
Added --validateBCE=true to ftl-no-cjit-validate-sampling-profiler
and ftl-eager-no-cjit.
- Scripts/run-jsc-stress-tests:
- 9:52 PM Changeset in webkit [267725] by
-
- 15 edits1 copy in trunk/Source
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Reviewed by Eric Carlson.
Source/WebCore:
No new tests since no functional changes.
- Headers.cmake:
Export TextTrackRepresentation and VideoLayerManager.
- WebCore.xcodeproj/project.pbxproj:
Add VideoLayerManager.h.
Export TextTrackRepresentation, WebVideoContainerLayer and VideoLayerManager.
- platform/graphics/TextTrackRepresentation.cpp:
- platform/graphics/TextTrackRepresentation.h:
Minor clean-up.
- platform/graphics/VideoLayerManager.h: Added.
Add this interface so that we can use VideoLayerManager in the C++ code.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::videoInlineLayer const):
(WebCore::VideoLayerManagerObjC::videoFullscreenLayer const):
(WebCore::VideoLayerManagerObjC::videoFullscreenFrame const):
(WebCore::VideoLayerManagerObjC::updateVideoFullscreenInlineImage):
Fix the issue when RELEASE_LOG_DISABLED is defined and add WEBCORE_EXPORT
to some functions.
Source/WebKit:
This patch removes the remote hosting layer in the GPU process for video fullscreen and
picture-in-picture. We don't need to keep a layer in the GPU process for video fullscreen
and picture-in-picture because no rendering will be done for that layer. We don't need
EnterFullscreen, ExitFullscreen and SetVideoFullscreenFrameFenced IPC messages after removing
the layer because the RemoteMediaPlayerPrivateRemote in the web process can deal with
the video presentation mode change.
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
(WebKit::RemoteMediaPlayerProxy::enterFullscreen): Deleted.
(WebKit::RemoteMediaPlayerProxy::exitFullscreen): Deleted.
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenFrameFenced): Deleted.
Remove unused IPC messages after removing the remote hosting layer for video fullscreen
and picture-in-picture.
- GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp:
(WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
(WebKit::RemoteMediaPlayerProxy::enterFullscreen): Deleted.
(WebKit::RemoteMediaPlayerProxy::exitFullscreen): Deleted.
Ditto.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::~MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::prepareForPlayback):
Remove the code related to the remote hosting layer for video fullscreen and picture-in-picture.
(WebKit::MediaPlayerPrivateRemote::platformLayer const):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenLayer):
Use VideoLayerManager to manage the layer.
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrame): Ditto.
(WebKit::MediaPlayerPrivateRemote::requiresTextTrackRepresentation const): Ditto.
(WebKit::MediaPlayerPrivateRemote::setTextTrackRepresentation): Ditto.
(WebKit::MediaPlayerPrivateRemote::syncTextTrackBounds): Ditto.
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrameFenced): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Need to move the Logger up in the data members so that other members can use it
in the constructor, e.g., VideoLayerManager.
- WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::createVideoFullscreenLayer):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrame): Deleted.
(WebKit::MediaPlayerPrivateRemote::setTextTrackRepresentation): Deleted.
(WebKit::MediaPlayerPrivateRemote::syncTextTrackBounds): Deleted.
Simplify the implementation by managing layers with VideoLayerManager.
- 9:10 PM Changeset in webkit [267724] by
-
- 4 edits2 adds in trunk
webkitfullscreenchange does not fire for shadow DOM elements
https://bugs.webkit.org/show_bug.cgi?id=216607
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-09-28
Reviewed by Ryosuke Niwa.
Source/WebCore:
This bug was caused by the
webkitfullscreenchangeevent being fired
but without _composed_ flag set.
This patch fixed the bug by making it composed as defined as
the step 3-2 of https://fullscreen.spec.whatwg.org/#run-the-fullscreen-steps.
so that event listeners outside shadow tree could observe it.
Test: fast/shadow-dom/fullscreen-in-shadow-event-should-propagate.html
- dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::dispatchFullscreenChangeOrErrorEvent):
LayoutTests:
Added a regression test for making an element inside a shadow tree full screen,
and listening towebkitfullscreenchangeoutside the shadow tree.
- fast/shadow-dom/fullscreen-in-shadow-event-should-propagate-expected.txt: Added.
- fast/shadow-dom/fullscreen-in-shadow-event-should-propagate.html: Added.
- platform/ios-wk2/TestExpectations:
Other testcases related to fullscreen API in fast/shadow-dom/ are also
disabled for ios-wk2.
- 8:49 PM Changeset in webkit [267723] by
-
- 19 edits in trunk
Web Inspector: add checkbox to local override popover to allow it to skip the network
https://bugs.webkit.org/show_bug.cgi?id=217031
Reviewed by Brian Burg.
Source/WebInspectorUI:
- UserInterface/Models/LocalResourceOverride.js:
(WI.LocalResourceOverride):
(WI.LocalResourceOverride.create):
(WI.LocalResourceOverride.fromJSON):
(WI.LocalResourceOverride.prototype.toJSON):
(WI.LocalResourceOverride.prototype.get type): Added.
(WI.LocalResourceOverride.prototype.saveIdentityToCookie):
Introduce aWI.LocalResourceOverride.Typethat is used when handling request/response
interceptions to determined theNetworkcommand for continuing.
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.supportsOverridingRequestsWithResponses): Added.
(WI.NetworkManager.supportsOverridingResponses): Added.
(WI.NetworkManager.prototype.initializeTarget):
(WI.NetworkManager.prototype.addLocalResourceOverride):
(WI.NetworkManager.prototype.removeLocalResourceOverride):
(WI.NetworkManager.prototype.requestIntercepted):
(WI.NetworkManager.prototype.responseIntercepted):
(WI.NetworkManager.prototype._commandArgumentsForInterception):
(WI.NetworkManager.prototype._addInterception): Added.
(WI.NetworkManager.prototype._removeInterception): Added.
(WI.NetworkManager.prototype._handleResourceOverrideDisabledChanged):
(WI.NetworkManager.supportsLocalResourceOverrides): Deleted.
Add logic forNetwork.interceptRequestWithResponseinNetwork.requestIntercepted.
Drive-by: refactor common logic into member functions.
- UserInterface/Views/LocalResourceOverridePopover.js:
(WI.LocalResourceOverridePopover.prototype.get serializedData):
(WI.LocalResourceOverridePopover.prototype.show):
- UserInterface/Views/LocalResourceOverridePopover.css:
(.popover .local-resource-override-popover-content .add-header + .reference-page-link-container): Added.
(.popover .local-resource-override-popover-content .options td): Added.
(.popover .local-resource-override-popover-content .reference-page-link-container): Deleted.
Add an "Options" row containing a "[ ] Skip Network" checkbox for controlling whether
Network.interceptWithResponseorNetwork.interceptRequestWithResponseis used.
- UserInterface/Models/Resource.js:
(WI.Resource.prototype.async createLocalResourceOverride):
- UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
- UserInterface/Views/FontResourceContentView.js:
(WI.FontResourceContentView.prototype.contentAvailable):
- UserInterface/Views/ImageResourceContentView.js:
(WI.ImageResourceContentView.prototype.contentAvailable):
- UserInterface/Views/LocalResourceOverrideTreeElement.js:
(WI.LocalResourceOverrideTreeElement.prototype.willDismissPopover):
- UserInterface/Views/OpenResourceDialog.js:
(WI.OpenResourceDialog.prototype._addLocalResourceOverrides):
- UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView):
(WI.ResourceContentView.prototype.closed):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._willDismissLocalOverridePopover):
(WI.SourcesNavigationSidebarPanel.prototype._addLocalOverride):
(WI.SourcesNavigationSidebarPanel.prototype._removeResourceOverride):
(WI.SourcesNavigationSidebarPanel.prototype._populateCreateResourceContextMenu):
RenamesupportsLocalResourceOverridestosupportsOverridingResponsesfor clarity.
- Localizations/en.lproj/localizedStrings.js:
LayoutTests:
- http/tests/inspector/network/local-resource-override-basic.html:
- http/tests/inspector/network/local-resource-override-main-resource.html:
- http/tests/inspector/network/local-resource-override-script-tag.html:
- http/tests/inspector/network/resource-response-inspector-override.html:
Add expected parameter for
WI.LocalResourceOverride.createcalls.
- 5:38 PM Changeset in webkit [267722] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r266899. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
Address a post-commit review comment after r266887
https://bugs.webkit.org/show_bug.cgi?id=216257
Reviewed by Darin Adler.
Remove a check that currently makes us conditionally set
IsComputedStyleInvalidFlagif there is a computed
style in rare data. There should be no change in behavior; this just makes the code a bit simpler.
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::storeDisplayContentsStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:38 PM Changeset in webkit [267721] by
-
- 4 edits2 adds in branches/safari-610-branch
Cherry-pick r266887. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
REGRESSION (r257839): clickpay.com - password placeholder text cannot be replaced
https://bugs.webkit.org/show_bug.cgi?id=216257
<rdar://problem/68150686>
Reviewed by Antti Koivisto.
Source/WebCore:
On clickpay.com, the field in the login form that contains the text "Password" is actually a plain text input,
referred to by the site's script as the "null text input". The page adds a focus event listener to this null
text input, and inside of this focus event listener, it reveals a hidden password field by removing an inline
display: none;style rule on the real password input element, programmatically focuses it, and then hides the
null text input by setting it todisplay: none;via inline style.
However, after the changes in r257839, we no longer attempt to do a style update upon programmatic focus in the
case where the programmatically focused element does not have a renderer yet (this applies to the password field
in this scenario, because it previously haddisplay: none;). When we determine whether the newly displayed
password field is focusable usingElement::isVisibleWithoutResolvingFullStyle, we then attempt to use either
the existing computedRenderStyleon the element, or perform a partial computed style resolution using the
ResolveComputedStyleMode::RenderedOnlyflag.
But in the case where
ElementRareData's computed style exists, it is not guaranteed to be up to date if the
inline style changed since the computed style was last set. In the context of this bug, it's actually Safari's
AutoFill logic (embedded in the injected bundle) that ends up asking for the computed style of the password
input, forcing it to be created and set (though, as demonstrated in the layout test, simply grabbing the
computed style is sufficient to replicate the bug outside of Safari).
The end result is that we'll use this stale computed style, which still believes that the password input is not
displayed, and we end up not focusing the element due to believing that the password input is hidden. To fix
this, we would need to either check whether the element has an invalid style (i.e.needsStyleRecalc()) before
attempting to use the existing computed style, or clear out theElementRareDatacomputed style anytime the
element's style is invalidated. However, both of these approaches will cause us to perform partial style
resolution much more aggressively, leading to a 2-3% regression in Speedometer.
To address the bug without hampering our performance wins from r257839, we add a new node flag so that we can
remember when computed styles are no longer valid due to style invalidation, and consult this flag in
Element::isVisibleWithoutResolvingFullStyleto avoid using the existing computed style.
Test: fast/forms/programmatic-focus-after-display.html
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::resolveComputedStyle): (WebCore::Element::isVisibleWithoutResolvingFullStyle const):
- dom/Node.h: (WebCore::Node::setHasValidStyle):
LayoutTests:
Add a new layout test to verify that the bug does not occur. See WebCore/ChangeLog for more details.
- fast/forms/programmatic-focus-after-display-expected.txt: Added.
- fast/forms/programmatic-focus-after-display.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:58 PM Changeset in webkit [267720] by
-
- 2 edits in branches/safari-610-branch/LayoutTests
REGRESSION: [ iOS wk2 ] ( safari-610-branch ) fast/events/touch/ios/pointer-events-with-modifiers.html is a constant crash
rdar://69722963
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 4:48 PM Changeset in webkit [267719] by
-
- 1 edit2 adds in trunk/LayoutTests
Document.p.contains returns true for nodes in shadow tree
https://bugs.webkit.org/show_bug.cgi?id=189164
Reviewed by Darin Adler.
Added a regression after r267220 had fixed this bug.
- fast/shadow-dom/document-contains-returns-false-for-node-inside-shadow-tree-expected.txt: Added.
- fast/shadow-dom/document-contains-returns-false-for-node-inside-shadow-tree.html: Added.
- 4:18 PM Changeset in webkit [267718] by
-
- 1 copy in tags/Safari-611.1.1.1
Tag Safari-611.1.1.1.
- 3:09 PM Changeset in webkit [267717] by
-
- 8 edits in branches/safari-611.1.1-branch/Source
Versioning.
WebKit-7611.1.1.1
- 3:05 PM Changeset in webkit [267716] by
-
- 55 edits in branches/safari-610-branch/Source/WebCore
Apply patch. rdar://problem/69594082
- 2:11 PM Changeset in webkit [267715] by
-
- 2 edits in trunk
Print message saying what project is being built
https://bugs.webkit.org/show_bug.cgi?id=216865
<rdar://problem/69408135>
Reviewed by Andy Estes.
XCBuild removes the progress messages saying which project/target is
being built. We can't show the target, but update the Makefiles to at
least show which project is being built.
- Makefile.shared:
- 1:26 PM Changeset in webkit [267714] by
-
- 6 edits5 moves2 adds in trunk/Source
[Preferences] Move GeneratePreferences.rb and yaml configuration files to WTF to be shared
https://bugs.webkit.org/show_bug.cgi?id=217056
Reviewed by Darin Adler.
Move GeneratePreferences.rb and WebPreferences*.yaml files from WebKitLegacy to WTF, and install them into the existing
$SDKROOT/usr/local/install/wtf/Scripts for use by down stack projects.
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
Also adds new script, generate-preferences.sh, to make editing / reviewing the invocation a bit easier as you don't
have to use the tiny editor in the Run Scripts phase pane.
Adds new build variable, WTF_BUILD_SCRIPTS_DIR, to easily specify the new location of the moved files.
- Configurations/WebKitLegacy.xcconfig:
- Scripts/GeneratePreferences.rb: Removed.
- Scripts/generate-preferences.sh: Added.
- WebView/WebPreferences.yaml: Removed.
- WebView/WebPreferencesDebug.yaml: Removed.
- WebView/WebPreferencesExperimental.yaml: Removed.
- WebView/WebPreferencesInternal.yaml: Removed.
Source/WTF:
- Scripts/GeneratePreferences.rb: Copied from Source/WebKitLegacy/mac/Scripts/GeneratePreferences.rb.
- Scripts/Preferences: Added.
- Scripts/Preferences/WebPreferences.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferences.yaml.
- Scripts/Preferences/WebPreferencesDebug.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesDebug.yaml.
- Scripts/Preferences/WebPreferencesExperimental.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesExperimental.yaml.
- Scripts/Preferences/WebPreferencesInternal.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesInternal.yaml.
- WTF.xcodeproj/project.pbxproj:
- 1:21 PM Changeset in webkit [267713] by
-
- 10 edits in trunk/Source
[GPUP] Out-of-band TextTracks
https://bugs.webkit.org/show_bug.cgi?id=217062
<rdar://problem/68739969>
Reviewed by Jer Noble.
Source/WebCore:
Add support for passing out-of-band TextTracks to a media engine running in the GPU process.
No new tests, this can only be tested with a specific hardware setup.
- html/HTMLMediaElement.cpp:
(WebCore::toPlatform):
- platform/graphics/PlatformTextTrack.h: Put instance variables into a struct so
state can be encoded and decoded.
(WebCore::PlatformTextTrackData::PlatformTextTrackData):
(WebCore::PlatformTextTrackData::decode):
(WebCore::PlatformTextTrackData::encode const):
(WebCore::PlatformTextTrackClient::privateTrack):
(WebCore::PlatformTextTrack::create):
(WebCore::PlatformTextTrack::createOutOfBand):
(WebCore::PlatformTextTrack::type const):
(WebCore::PlatformTextTrack::kind const):
(WebCore::PlatformTextTrack::mode const):
(WebCore::PlatformTextTrack::label const):
(WebCore::PlatformTextTrack::language const):
(WebCore::PlatformTextTrack::url const):
(WebCore::PlatformTextTrack::uniqueId const):
(WebCore::PlatformTextTrack::isDefault const):
(WebCore::PlatformTextTrack::client const):
(WebCore::PlatformTextTrack::data const):
(WebCore::PlatformTextTrack::PlatformTextTrack):
(WebCore::PlatformTextTrack::captionMenuOffItem): Deleted.
(WebCore::PlatformTextTrack::captionMenuAutomaticItem): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::mediaDescriptionForKind):
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState):
Source/WebKit:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::outOfBandTrackSources):
- GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h:
(WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
(WebKit::RemoteMediaPlayerProxyConfiguration::decode):
- Scripts/webkit/messages.py:
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
- WebProcess/GPU/media/RemoteMediaPlayerManager.h:
- 1:06 PM Changeset in webkit [267712] by
-
- 3 edits in trunk/Tools
Fix Build triggers for iOS, watchOS, and tvOS
https://bugs.webkit.org/show_bug.cgi?id=217057
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
- 1:04 PM Changeset in webkit [267711] by
-
- 7 edits2 adds in trunk
[TextureMapper] Enable a depth buffer for preserve-3d
https://bugs.webkit.org/show_bug.cgi?id=90078
Reviewed by Don Olmstead.
Source/WebCore:
Test: transforms/3d/general/preserve-3d.html
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::getEGLConfig):
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::beginPreserves3D): Added a new virtual method.
(WebCore::TextureMapper::endPreserves3D): Ditto.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::beginPainting):
(WebCore::createProjectionMatrix): Swapped nearValue and farValue
so that the depth buffer works as expected.
(WebCore::TextureMapperGL::beginPreserves3D): Added.
(WebCore::TextureMapperGL::endPreserves3D): Ditto.
- platform/graphics/texmap/TextureMapperGL.h:
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelfAndChildren): Call
beginPreserves3D() and endPreserves3D() if m_state.preserves3D.
LayoutTests:
- transforms/3d/general/preserve-3d-expected.html: Added.
- transforms/3d/general/preserve-3d.html: Added.
- 12:54 PM Changeset in webkit [267710] by
-
- 3 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for pycodestyle
https://bugs.webkit.org/show_bug.cgi?id=215427
<rdar://problem/66931291>
Reviewed by Darin Adler.
- Scripts/webkitpy/init.py: Add pycodestyle.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Remove pycodestyle.
- 11:23 AM Changeset in webkit [267709] by
-
- 23 edits1 add in trunk
[iOS] unable to airplay directly loaded fullscreen video
https://bugs.webkit.org/show_bug.cgi?id=216858
<rdar://problem/68746321>
Reviewed by Eric Carlson.
Source/WebCore:
It's possible that
MediaPlayerPrivate::wirelessVideoPlaybackDisabledis queried before a
"real"MediaPlayerPrivate(i.e. notNullMediaPlayerPrivate) is initialized through one
of the registeredMediaPlayerFactory"engine"s. It's further possible that the value
returned byMediaPlayerPrivate::wirelessVideoPlaybackDisabledwill change as the new
"real"MediaPlayerPrivatemay have different logic. In this case, theMediaPlayer
doesn't update its client (and therefore nothing "up" the tree, including the client's
clients) with the newMediaPlayerPrivate::wirelessVideoPlaybackDisabledvalue, meaning
that the old value will still be used.
Add piping such that when the
MediaPlayerFactory"engine" changes, theMediaPlayer
notifies its client (which is further piped "up" the tree to the client's clients) which
eventually causesMediaPlayerPrivate::wirelessVideoPlaybackDisabledto be re-evaluated.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaEngineWasUpdated):
- page/Page.h:
- page/Page.cpp:
(WebCore::Page::playbackControlsMediaEngineChanged): Added.
- page/ChromeClient.h:
(WebCore::ChromeClient::playbackControlsMediaEngineChanged): Added.
- platform/cocoa/PlaybackSessionModelMediaElement.h:
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::mediaEngineChanged): Added.
Source/WebKit:
It's possible that
MediaPlayerPrivate::wirelessVideoPlaybackDisabledis queried before a
"real"MediaPlayerPrivate(i.e. notNullMediaPlayerPrivate) is initialized through one
of the registeredMediaPlayerFactory"engine"s. It's further possible that the value
returned byMediaPlayerPrivate::wirelessVideoPlaybackDisabledwill change as the new
"real"MediaPlayerPrivatemay have different logic. In this case, theMediaPlayer
doesn't update its client (and therefore nothing "up" the tree, including the client's
clients) with the newMediaPlayerPrivate::wirelessVideoPlaybackDisabledvalue, meaning
that the old value will still be used.
Add piping such that when the
MediaPlayerFactory"engine" changes, theMediaPlayer
notifies its client (which is further piped "up" the tree to the client's clients) which
eventually causesMediaPlayerPrivate::wirelessVideoPlaybackDisabledto be re-evaluated.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::playbackControlsMediaEngineChanged): Added.
- WebProcess/cocoa/PlaybackSessionManager.h:
- WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionManager::mediaEngineChanged): Added.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _wirelessVideoPlaybackDisabled]): Added.
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::wirelessVideoPlaybackDisabled): Added.
Create additional functions for piping data to tests.
Source/WebKitLegacy/mac:
It's possible that
MediaPlayerPrivate::wirelessVideoPlaybackDisabledis queried before a
"real"MediaPlayerPrivate(i.e. notNullMediaPlayerPrivate) is initialized through one
of the registeredMediaPlayerFactory"engine"s. It's further possible that the value
returned byMediaPlayerPrivate::wirelessVideoPlaybackDisabledwill change as the new
"real"MediaPlayerPrivatemay have different logic. In this case, theMediaPlayer
doesn't update its client (and therefore nothing "up" the tree, including the client's
clients) with the newMediaPlayerPrivate::wirelessVideoPlaybackDisabledvalue, meaning
that the old value will still be used.
Add piping such that when the
MediaPlayerFactory"engine" changes, theMediaPlayer
notifies its client (which is further piped "up" the tree to the client's clients) which
eventually causesMediaPlayerPrivate::wirelessVideoPlaybackDisabledto be re-evaluated.
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::playbackControlsMediaEngineChanged): Added.
- WebView/WebViewInternal.h:
- WebView/WebView.mm:
(-[WebView _playbackControlsMediaEngineChanged]): Added.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/MediaDocument.mm: Added.
(MediaDocument.WirelessPlaybackEnabled):
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 11:23 AM Changeset in webkit [267708] by
-
- 8 edits in branches/safari-611.1.2-branch/Source
Versioning.
WebKit-7611.1.2
- 11:16 AM Changeset in webkit [267707] by
-
- 1 copy in branches/safari-611.1.2-branch
New branch.
- 11:14 AM Changeset in webkit [267706] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r267329): Crash due to null-dereference of frame pointer in DOMSelection::rangeCount
https://bugs.webkit.org/show_bug.cgi?id=217053
Reviewed by Sam Weinig.
Later as a follow-up it would be nice to add a test case, but not obvious how to
make a simple one quickly.
- page/DOMSelection.cpp:
(WebCore::DOMSelection::rangeCount const): Fixed the null check.
- 10:46 AM Changeset in webkit [267705] by
-
- 6 edits in trunk/Tools
Notify igalia team about pre-existing test failures and build failures for WPE and GTK queues
https://bugs.webkit.org/show_bug.cgi?id=217052
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/send_email.py:
(send_email_to_bot_watchers): Moved the logic here to determine whether to email igalia folks.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Passed builder_name parameter.
(AnalyzeJSCTestsResults.send_email_for_flaky_failure):
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
(ReRunWebKitTests.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):
(AnalyzeAPITestsResults.send_email_for_flaky_failure):
(AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
- BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeJSCTestsResults.configureStep): Drive-by fix to improve unit-test.
- BuildSlaveSupport/ews-build/emails.json: Added IGALIA_GTK_WPE_EMAILS. Renamed BOT_WATCHERS_EMAILS to APPLE_BOT_WATCHERS_EMAILS.
- BuildSlaveSupport/ews-build/email_unittest.py: Updated unit-test.
- 10:07 AM Changeset in webkit [267704] by
-
- 3 edits in trunk/Tools
Unreviewed dashboard fix.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 10:05 AM Changeset in webkit [267703] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, test gardening.
- 9:07 AM Changeset in webkit [267702] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, mark webaudio/the-audio-api/the-analysernode-interface/test-analyser-output.html as flaky instead of skipping it entirely.
This test is no longer timing out.
LayoutTests/imported/w3c:
- web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-output-expected.txt:
LayoutTests:
- 8:37 AM Changeset in webkit [267701] by
-
- 29 edits4 adds in trunk
[macOS] Update the appearance of editable date/time controls to match the system
https://bugs.webkit.org/show_bug.cgi?id=216616
<rdar://problem/69004603>
Reviewed by Devin Rousso.
Source/WebCore:
The default appearance of editable components within the date/time
control should closely match NSDatePicker.
- Focused components should have rounded corners
This is achieved by adding the border-radius property to the
datetime-edit fields.
- Use a raised colon separator for time inputs
The colon should be raised as it is surrounded two numbers. However,
since the colon is rendered in its own <div>, it remains lowered. To
raise the colon, the "ss03" font-feature-setting is enabled. Note that
this can cause issues with fonts that use "ss03" for a different purpose.
However, since we do not have support for the @font-feature-values rule
in CSS, there is currently no way to workaround this problem. Instead,
the issue should be fixed once we gain CSS support.
- Components should have a fixed width, and the width of the control should match the content
Since the control is not guaranteed to use a monospace font, the current
design results in editable components being resized each time the value
changes. To fix this issue, the display type was changed to inline-block
and the min-width of a component is computed at runtime. See below for
more details.
- css/html.css:
Added UA stylesheet code that was removed from RenderTheme.
(input::-webkit-datetime-edit):
(input::-webkit-datetime-edit-year-field,):
Display inline-block allows us to set a fixed width for individual
components. The text is center-aligned so that changes are not
jarring. Finally, the font property is now "inherit !important",
as it does not make sense for the font used in a component to
differ from the control's font.
(input::-webkit-datetime-edit-year-field:focus,): Add rounded corners on focus.
- html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::DateTimeFieldElement):
- html/shadow/DateTimeFieldElements.cpp: Call setHasCustomStyleResolveCallbacks() to compute min-width.
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): Drive-by fix - milliseconds component has 3 digits.
- html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::resolveCustomStyle):
The min-width of a numeric field should be the largest possible width
depending on the font, the largest digit character in the font and the
length of the field. Ten possible values are tested (0-9).
- html/shadow/DateTimeNumericFieldElement.h:
- html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::resolveCustomStyle):
The min-width of a symbolic field should be the largest symbol given
a font. Two (meridiem) to twelve (month) values may be tested.
- html/shadow/DateTimeSymbolicFieldElement.h:
- rendering/RenderTheme.cpp:
- rendering/RenderTheme.h: Moved code to html.css.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm: Moved code to html.css.
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement): Moved code to html.css.
- style/UserAgentStyle.h:
LayoutTests:
Updated stylesheets so that font properties are not set on inner elements
of the control and rebaselined existing tests.
- fast/forms/date/date-editable-components/date-editable-components-focus-and-blur-events.html:
- fast/forms/date/date-editable-components/date-editable-components-mouse-events.html:
- fast/forms/date/date-pseudo-elements.html:
- fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-editable-components-focus-and-blur-events.html:
- fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-editable-components-mouse-events.html:
- fast/forms/time/time-editable-components/time-editable-components-focus-and-blur-events.html:
- fast/forms/time/time-editable-components/time-editable-components-mouse-events.html:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/baseline-alignment-and-overflow.tentative-expected.txt:
The newly failing tests for <input type=week> are a false negative.
Previously, the style for this input type was empty, causing some
tests to incorrectly pass. The new failures are consistent with the
other date/time inputs, see the rest of the expectations for specifics.
- platform/mac-catalina/fast/forms/date/date-input-rendering-basic-expected.txt:
- platform/mac-catalina/fast/forms/time/time-input-rendering-basic-expected.txt: Added.
- platform/mac-mojave/fast/forms/date/date-input-rendering-basic-expected.txt:
- platform/mac-mojave/fast/forms/time/time-input-rendering-basic-expected.txt: Added.
- platform/mac-wk2/fast/forms/date/date-input-rendering-basic-expected.txt:
- platform/mac-wk2/fast/forms/date/date-pseudo-elements-expected.txt:
- platform/mac-wk2/fast/forms/time/time-input-rendering-basic-expected.txt:
- 8:00 AM Changeset in webkit [267700] by
-
- 5 edits2 adds in trunk
[LFC][Floats] Add support for clear on float box
https://bugs.webkit.org/show_bug.cgi?id=217045
Reviewed by Antti Koivisto.
Source/WebCore:
When the float box also has to clear other floats, we need to adjust the initial
vertical position from where we start searching for available space.
(This patch also fixes a previous find&replace renaming and addresses a post-landing comment.)
Test: fast/layoutformattingcontext/float-with-clear-simple.html
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):
(WebCore::Layout::FloatingContext::absoluteCoordinates const):
(WebCore::Layout::FloatingContext::absoluteBoxGeometryCoordinates const): Deleted.
- layout/floats/FloatingContext.h:
LayoutTests:
- fast/layoutformattingcontext/float-with-clear-simple-expected.html: Added.
- fast/layoutformattingcontext/float-with-clear-simple.html: Added.
- 7:55 AM Changeset in webkit [267699] by
-
- 8 edits in trunk/Source/WebCore
Crash under DateTimeEditElement::blurFromField
https://bugs.webkit.org/show_bug.cgi?id=216930
<rdar://problem/69308322>
Reviewed by Ryosuke Niwa.
DateTimeEditElement::blurFromField incorrectly invoked
HTMLElement::dispatchBlurEvent, as it was not the element being blurred.
Accessing member variables after this call is unsafe, as there is
nothing protecting the DateTimeEditElement.
To fix, the problematic methods were removed entirely, and replaced
with a new approach to responding to blur events within a DateTimeEditElement.
The blur event's relatedTarget is now compared to the fields within the
DateTimeEditElement, in order to determine when to close the calendar.
This approach is safe, since the relatedTarget is protected by
Document::setFocusedElement.
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::elementDidBlur): Remove unnecessary call.
If the input has editable fields, closing the calendar is handled by the
new codepath. Running this code unconditionally will result in a flash of the
calendar when clicking on a part of the input type that doesn't contain
an editable field.
- html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::didBlurFromField):
Check if the event's relatedTarget is another field within the same
DateTimeEditElement. If yes, the calendar should remain open.
- html/shadow/DateTimeEditElement.h:
- html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::defaultEventHandler):
Call handleBlurEvent() if a blur event occurs. This was previously done by
the now-removed dispatchBlurEvent override.
(WebCore::DateTimeFieldElement::handleBlurEvent):
- html/shadow/DateTimeFieldElement.h:
- html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::handleBlurEvent):
- html/shadow/DateTimeNumericFieldElement.h:
- 7:34 AM Changeset in webkit [267698] by
-
- 3 edits in trunk/Source/WebKit
Make sure our calls to AVCaptureDevice requestAccessForMediaType do processing on the main thread
https://bugs.webkit.org/show_bug.cgi?id=216974
Reviewed by Darin Adler.
The completion handler to [AVCaptureDeviceClass requestAccessForMediaType:] may sometimes be called in a background thread on iOS.
Make sure to hop to the main thread if that is the case.
Also make sure to ref/weakref lambda captured variables.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::requestAccessForMediaType):
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
- 6:42 AM Changeset in webkit [267697] by
-
- 12 edits4 moves in trunk/Source/WebCore
[LFC][Integration] Move run iterator to LayoutIntegration namespace
https://bugs.webkit.org/show_bug.cgi?id=217046
Reviewed by Zalan Bujtas.
Also use name 'Modern' for LFC and 'Legacy' for the old inline tree path.
Also rename box->run for more consistent terminology.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Position.cpp:
(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
- editing/TextIterator.cpp:
(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextRun):
(WebCore::TextIterator::handleTextNodeFirstLetter):
(WebCore::TextIterator::handleTextBox): Deleted.
- editing/TextIterator.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::elementRunFor const):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::textBoxesFor const): Deleted.
(WebCore::LayoutIntegration::LineLayout::elementBoxFor const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- layout/integration/LayoutIntegrationRunIterator.cpp: Renamed from Source/WebCore/rendering/line/LineLayoutTraversal.cpp.
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInVisualOrder):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInTextOrder):
(WebCore::LayoutIntegration::TextRunIterator::operator== const):
(WebCore::LayoutIntegration::TextRunIterator::atEnd const):
(WebCore::LayoutIntegration::firstTextRunFor):
(WebCore::LayoutIntegration::firstTextRunInTextOrderFor):
(WebCore::LayoutIntegration::textRunsFor):
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator):
(WebCore::LayoutIntegration::ElementRunIterator::atEnd const):
(WebCore::LayoutIntegration::elementRunFor):
- layout/integration/LayoutIntegrationRunIterator.h: Renamed from Source/WebCore/rendering/line/LineLayoutTraversal.h.
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::TextRunIterator::operator++):
(WebCore::LayoutIntegration::TextRunIterator::operator!= const):
(WebCore::LayoutIntegration::TextRunIterator::operator* const):
(WebCore::LayoutIntegration::TextRunIterator::operator-> const):
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator):
(WebCore::LayoutIntegration::ElementRunIterator::operator* const):
(WebCore::LayoutIntegration::ElementRunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunRange::TextRunRange):
(WebCore::LayoutIntegration::TextRunRange::begin const):
(WebCore::LayoutIntegration::Run::Run):
(WebCore::LayoutIntegration::Run::rect const):
(WebCore::LayoutIntegration::Run::baseline const):
(WebCore::LayoutIntegration::Run::isLeftToRightDirection const):
(WebCore::LayoutIntegration::Run::isHorizontal const):
(WebCore::LayoutIntegration::Run::dirOverride const):
(WebCore::LayoutIntegration::Run::isLineBreak const):
(WebCore::LayoutIntegration::Run::useLineBreakBoxRenderTreeDumpQuirk const):
(WebCore::LayoutIntegration::TextRun::hasHyphen const):
(WebCore::LayoutIntegration::TextRun::TextRun):
(WebCore::LayoutIntegration::TextRun::text const):
(WebCore::LayoutIntegration::TextRun::localStartOffset const):
(WebCore::LayoutIntegration::TextRun::localEndOffset const):
(WebCore::LayoutIntegration::TextRun::length const):
(WebCore::LayoutIntegration::TextRun::isLastOnLine const):
(WebCore::LayoutIntegration::TextRun::isLast const):
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h: Renamed from Source/WebCore/rendering/line/LineLayoutTraversalComplexPath.h.
(WebCore::LayoutIntegration::LegacyPath::LegacyPath):
(WebCore::LayoutIntegration::LegacyPath::operator== const):
(WebCore::LayoutIntegration::LegacyPath::nextInlineTextBoxInTextOrder const):
- layout/integration/LayoutIntegrationRunIteratorModernPath.h: Renamed from Source/WebCore/rendering/line/LineLayoutTraversalDisplayRunPath.h.
(WebCore::LayoutIntegration::ModernPath::ModernPath):
(WebCore::LayoutIntegration::ModernPath::operator== const):
(WebCore::LayoutIntegration::ModernPath::rect const):
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::linesBoundingBox const):
(WebCore::RenderLineBreak::boundingBoxForRenderTreeDump const):
(WebCore::RenderLineBreak::absoluteRects const):
(WebCore::RenderLineBreak::absoluteQuads const):
- rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects const):
(WebCore::collectAbsoluteQuadsForNonComplexPaths):
(WebCore::RenderText::firstRunLocation const):
(WebCore::RenderText::linesBoundingBox const):
(WebCore::RenderText::caretMinOffset const):
(WebCore::RenderText::caretMaxOffset const):
(WebCore::RenderText::countRenderedCharacterOffsetsUntil const):
(WebCore::containsOffset):
(WebCore::RenderText::hasRenderedText const):
- rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::writeTextRun):
(WebCore::write):
(WebCore::writeTextBox): Deleted.
- 5:25 AM Changeset in webkit [267696] by
-
- 3 edits in trunk/LayoutTests
Fix test failures inadventently introduced in r267644
https://bugs.webkit.org/show_bug.cgi?id=217049
Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-09-28
Reviewed by Adrian Perez de Castro.
r267644 strips trailing whitespace in two LayoutTests/js/*expected.txt files
but doesn't update the corresponding js string literals to not produce such.
- js/script-tests/parser-syntax-check.js:
- js/script-tests/regexp-sticky.js:
- 1:20 AM WebKitGTK/StableRelease edited by
- (diff)
- 1:18 AM Changeset in webkit [267695] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r267655 - [SOUP] WebSocket: cookies set in request don't appear in the inspector
https://bugs.webkit.org/show_bug.cgi?id=217012
Reviewed by Michael Catanzaro.
Cookies are set by libsoup and we are notifying about the handshake being sent before the cookie header is added
to the request.
- NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::WebSocketTask): Connect to SoupMessage::starting to notify the web process the handshake
request has been sent.
- 1:18 AM Changeset in webkit [267694] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30/Source
Merge r267621 - [SOUP] Do not set site for cookies twice in case of redirection
https://bugs.webkit.org/show_bug.cgi?id=217010
Reviewed by Michael Catanzaro.
Source/WebCore:
Only set is-toplevel-navigation on SoupMessage when same site info is present.
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers const):
Source/WebKit:
ResourceRequest::updateSoupMessage() already fills the same site information, but we are duplicating the code in
NetworkDataTaskSoup::continueHTTPRedirection().
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection): Do not set same site information here, it will be done
again in NetworkDataTaskSoup::createRequest().
- 1:18 AM Changeset in webkit [267693] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r267620 - [SOUP] Slack.com is not working, new messages do not load due to WebSocket authentication failure issue
https://bugs.webkit.org/show_bug.cgi?id=149551
Reviewed by Michael Catanzaro.
The problem is that we are not including all the cookies in the web socket request. There are two cookies with
the Lax same-site policy set, that are not included for the websocket request.
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::webSocketConnectRequest): Add same site information to WebSocket requests.