⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 8, 2019:

11:41 PM Changeset in webkit [249632] by david_quesada@apple.com
  • 2 edits in trunk/Source/WebKit

Remove some unused constants in VersionChecks.h
https://bugs.webkit.org/show_bug.cgi?id=201599

Reviewed by Youenn Fablet.

  • UIProcess/Cocoa/VersionChecks.h:

Remove two macros that are unused as of r244512.

9:04 PM Changeset in webkit [249631] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

[macCatalyst] The last typed character in password fields shouldn't be echoed
https://bugs.webkit.org/show_bug.cgi?id=201595
<rdar://problem/55166367>

Reviewed by Tim Horton.

Disable password echoing on macCatalyst, to better match behavior on macOS.

  • Shared/WebPreferencesDefaultValues.h:
8:23 PM Changeset in webkit [249630] by sbarati@apple.com
  • 9 edits
    2 adds in trunk

[WHLSL] Add back a version of the property resolver
https://bugs.webkit.org/show_bug.cgi?id=201251

Reviewed by Robin Morisset.

Source/WebCore:

This patch adds back the property resolver to aid in how we emit metal code.
The goal of the new property resolver phase is to allow two things:

  1. For property access expressions, metal codegen should be allowed to evaluate

the base, and if it's an index expression, the index, as many times as needed.
So this patch ensures that if Metal evaluates such things, effects aren't performed
more than once.

  1. For ReadModifyWrite expressions, metal codegen should be able to evaluate the

leftValueExpression as many times as it'd like without performing the effects of
leftValueExpression more than once.

Here are a couple examples of this transformation:
a()[b()] -> (temp1 = a(), temp2 = b(), temp1[temp2])
(*a())[b()] += 42; -> (temp1 = &*a(), temp2 = b(), (*temp1)[temp2] += 42)

The interesting rules break down like:

  • When the base is an lvalue, we take its address and replace the old base

with a dereference of the new pointer variable.

  • When the base is an rvalue, we evaluate it and store it in a temporary

variable, and switch the base to be a reference of that variable.

  • All indices are evaluated before the property access instruction and

replaced with a reference to the temporary variable.

Test: webgpu/whlsl/property-evaluation-order.html

  • Modules/webgpu/WHLSL/AST/WHLSLExpression.cpp:

(WebCore::WHLSL::AST::Expression::mayBeEffectful const):

  • Modules/webgpu/WHLSL/AST/WHLSLExpression.h:
  • Modules/webgpu/WHLSL/AST/WHLSLIndexExpression.h:
  • Modules/webgpu/WHLSL/AST/WHLSLReadModifyWriteExpression.h:
  • Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:

(WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit):

  • Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp:

(WebCore::WHLSL::findHighZombies):

  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:

(WebCore::WHLSL::PropertyResolver::handleLeftHandSideBase):
(WebCore::WHLSL::PropertyResolver::handlePropertyAccess):
(WebCore::WHLSL::resolveProperties):

LayoutTests:

  • webgpu/whlsl/property-evaluation-order-expected.txt: Added.
  • webgpu/whlsl/property-evaluation-order.html: Added.

Sep 7, 2019:

11:10 PM Changeset in webkit [249629] by Chris Dumez
  • 15 edits in trunk

Add support for postMessage buffering between the service worker and window
https://bugs.webkit.org/show_bug.cgi?id=201169

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt:

Source/WebCore:

As per the Service Worker specification, a service worker client's message
queue is initially disabled and only gets enabled after:

  • The DOMContentLoaded event has been fired

or

  • The client sets the navigator.serviceWorker.onmessage event handler

or

  • navigator.serviceWorker.startMessages() is called

While the message queue is disabled, messages posted by the service worker
to the client simply get queued and only get processed once the queue gets
enabled.

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::finishedParsing):
Call startMessages() on the ServiceWorkerContainer once the DOMContentLoaded event has
been fired.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::ensureServiceWorkerContainer):

  • dom/ScriptExecutionContext.h:
  • workers/service/SWClientConnection.cpp:

(WebCore::SWClientConnection::postMessageToServiceWorkerClient):
Fix a bug where a service worker would not be able to post a message to a client until
that client has accessed navigator.serviceWorker (since the ServiceWorkerContainer is
lazy initialized). To address the issue, we now initialize the ServiceWorkerContainer
when a message is received from the service worker. Previously, messages were just
getting dropped.

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
When the ServiceWorkerContainer is constructed, suspend its message queue if its context
document is still parsing.

(WebCore::ServiceWorkerContainer::startMessages):
Resume the message queue when startMessages() is called.

(WebCore::ServiceWorkerContainer::postMessage):
Enqueue the event instead of firing it right away.

(WebCore::ServiceWorkerContainer::addEventListener):
if navigator.serviceWorker.onmessage event handler gets set by the JavaScript, call
startMessages().

  • workers/service/ServiceWorkerContainer.h:

LayoutTests:

Unskip test that is no longer timing out.

  • resources/testharnessreport.js:

(self.testRunner.add_completion_callback):
Use testRunner.forceImmediateCompletion() instead of notifyDone() for WPT tests.
testRunner.notifyDone() does not work in case of load error or when the load
does not finish. The WPT test was timing out because the load does not finish for
testing purposes.

10:57 PM Changeset in webkit [249628] by david_quesada@apple.com
  • 3 edits in trunk/Source/WTF

REGRESSION(r248533): Unable to use WTF::RefCounted when building in a debug configuration against a non-debug WebKit
https://bugs.webkit.org/show_bug.cgi?id=201585
rdar://problem/55153369

Reviewed by Chris Dumez.

Export WTF::RefCountedBase::areThreadingChecksEnabledGlobally regardless of whether or not assertions
are enabled for the WTF being built. This allows WebKit-based projects to use RefCounted for their own
objects in a debug configuration without requiring a debug build of WebKit.

  • wtf/RefCounted.cpp:
  • wtf/RefCounted.h:
10:42 PM Changeset in webkit [249627] by Chris Dumez
  • 15 edits in trunk

[Service Workers] Drop support for registration resurrection
https://bugs.webkit.org/show_bug.cgi?id=201584

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Re-sync a couple of outdated WPT tests from upstream 820f0f86047e6e.

  • web-platform-tests/service-workers/service-worker/unregister-then-register-new-script.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister-then-register-new-script.https.html:
  • web-platform-tests/service-workers/service-worker/unregister-then-register.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister-then-register.https.html:

Source/WebCore:

Drop support for registration resurrection (Unregistering then quickly re-registering would resurrect
the original registration instead of creating a new one). This behavior is no longer in the
specification (No more "isUninstalling" flag on the registration, and the registration is removed
from the "scope to registration map" right away upon unregistering).

This resurrection behavior was causing a lot of flakiness in the tests so it is likely we will be able
to unskip some tests. This is also what was causing the flakiness that caused Bug 201169 to be rolled
out.

No new tests, updated existing tests.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::activeWorkerFromRegistrationID):
(WebCore::SWServer::getRegistration):
(WebCore::SWServer::addRegistration):
(WebCore::SWServer::removeRegistration):
(WebCore::SWServer::getRegistrations):
(WebCore::SWServer::clearAll):
(WebCore::SWServer::clear):
(WebCore::SWServer::terminatePreinstallationWorker):
(WebCore::SWServer::didFinishActivation):
(WebCore::SWServer::claim):
(WebCore::SWServer::addClientServiceWorkerRegistration):
(WebCore::SWServer::removeClientServiceWorkerRegistration):
(WebCore::SWServer::installContextData):
(WebCore::SWServer::runServiceWorker):
(WebCore::SWServer::doRegistrationMatching):
(WebCore::SWServer::registrationFromServiceWorkerIdentifier):
(WebCore::SWServer::registerServiceWorkerClient):
(WebCore::SWServer::unregisterServiceWorkerClient):
(WebCore::SWServer::removeFromScopeToRegistrationMap):
(WebCore::SWServer::performGetOriginsWithRegistrationsCallbacks):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):

  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::clear):
(WebCore::SWServerRegistration::handleClientUnload):
(WebCore::SWServerRegistration::isUnregistered const):

  • workers/service/server/SWServerRegistration.h:

(WebCore::SWServerRegistration::scopeURLWithoutFragment const):

  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):
(WebCore::m_scriptResourceMap):
(WebCore::SWServerWorker::contextData const):
(WebCore::SWServerWorker::skipWaiting):
(WebCore::SWServerWorker::setHasPendingEvents):
(WebCore::SWServerWorker::setState):
(WebCore::SWServerWorker::registration const):

  • workers/service/server/SWServerWorker.h:
10:26 PM Changeset in webkit [249626] by Chris Dumez
  • 6 edits
    3 deletes in trunk

Rewrite http/tests/workers/service/serviceworker-private-browsing.https.html as an API test
https://bugs.webkit.org/show_bug.cgi?id=201574

Reviewed by Alex Christensen.

Source/WebKit:

Update Service Workers so that they obey the "secureContextChecksEnabled" preference.
This was needed to allow my service worker to access self.caches in my API test.

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::updatePreferencesStore):

Tools:

Rewrite http/tests/workers/service/serviceworker-private-browsing.https.html as an API test so that
we truly test private browsing. testRunner.setPrivateBrowsingEnabled_DEPRECATED() is a hack which
does not work well for WK2.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

LayoutTests:

Drop legacy test which was replaced by an API test.

  • http/tests/workers/service/serviceworker-private-browsing-worker.js: Removed.
  • http/tests/workers/service/serviceworker-private-browsing.https-expected.txt: Removed.
  • http/tests/workers/service/serviceworker-private-browsing.https.html: Removed.
10:11 PM Changeset in webkit [249625] by Chris Dumez
  • 5 edits
    4 deletes in trunk

Rewrite storage/domstorage/localstorage/private-browsing-affects-storage.html as an API test
https://bugs.webkit.org/show_bug.cgi?id=201547

Reviewed by Alex Christensen.

Tools:

Rewrite storage/domstorage/localstorage/private-browsing-affects-storage.html as an API test so
it can use a true ephemeral session instead of the testRunner.setPrivateBrowsingEnabled_DEPRECATED()
hack.

  • TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:

(-[LocalStorageNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[LocalStorageNavigationDelegate webView:didFinishNavigation:]):
(TEST):

LayoutTests:

Drop outdated test.

  • storage/domstorage/localstorage/private-browsing-affects-storage.html: Removed.
  • storage/domstorage/localstorage/resources/private-browsing-1.html: Removed.
  • storage/domstorage/localstorage/resources/private-browsing-2.html: Removed.
9:17 PM Changeset in webkit [249624] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Marking up a note on iOS results in a PDF with no contents
https://bugs.webkit.org/show_bug.cgi?id=201530
<rdar://problem/53686019>

Unreviewed follow-up.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _waitForDrawToPDFCallback]):
Remove an ASSERT_NOT_REACHED that fires if the synchronous wait for printing
times out. This is a totally legitimite situation that can occur if the process
crashes; there's no need for an assert there.

8:58 PM Changeset in webkit [249623] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Null check m_client in NetworkDataTask::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=201587
<rdar://problem/54743444>

Reviewed by Chris Dumez.

clearClient can be called at any time. We null check it everyhere else we use it,
and we are seeing crashes at this call site. Let's not crash.

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::didReceiveResponse):

7:29 PM Changeset in webkit [249622] by achristensen@apple.com
  • 17 edits in trunk

Remove WebsiteDataStore::legacyDefaultDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=200054

Reviewed by Carlos Garcia Campos.

Source/WebKit:

Its last needed use was removed in rdar://problem/47030981
This changes WKContextConfigurationCreateWithLegacyOptions to be equal to WKContextConfigurationCreate,
but it has no remaining clients so it is only being retained for binary compabibility.
This also changes WKContextCreateWithInjectedBundlePath and WKContextCreate to be equal to WKContextCreateWithConfiguration,
and after rdar://problem/47030981 there are no meaningful clients of those functions, also.
There is one existing client of WKContextCreateWithInjectedBundlePath in rdar://problem/50323967 but our current implementation
is compatible enough for them because it uses their injected bundle still.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):
(API::ProcessPoolConfiguration::createWithLegacyOptions): Deleted.

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::createLegacy): Deleted.
(API::WebsiteDataStore::legacyDefaultDataStoreConfiguration): Deleted.

  • UIProcess/API/APIWebsiteDataStore.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextCreate):
(WKContextCreateWithInjectedBundlePath):
(WKContextGetWebsiteDataStore):

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCreate):
(WKContextConfigurationCreateWithLegacyOptions):

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::legacyDefaultApplicationCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultNetworkCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultLocalStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultMediaCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultDeviceIdHashSaltsStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory): Deleted.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):

  • UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:

(API::WebsiteDataStore::legacyDefaultApplicationCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultNetworkCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultLocalStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultMediaCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultDeviceIdHashSaltsStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory): Deleted.

  • UIProcess/API/win/APIWebsiteDataStoreWin.cpp:

(API::WebsiteDataStore::legacyDefaultApplicationCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultNetworkCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultLocalStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultMediaCacheDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultDeviceIdHashSaltsStorageDirectory): Deleted.
(API::WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory): Deleted.

  • UIProcess/WebInspectorUtilities.cpp:

(WebKit::inspectorProcessPool):

  • UIProcess/WebProcessPool.cpp:

(WebKit::m_webProcessCache):
(WebKit::legacyWebsiteDataStoreConfiguration): Deleted.

  • UIProcess/WebProcessPool.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

This test relied on the default data store having been instantiated.

6:19 PM Changeset in webkit [249621] by mark.lam@apple.com
  • 2 edits in trunk/Source/bmalloc

[Follow up fix] Harden protection of the Gigacage Config parameters.
https://bugs.webkit.org/show_bug.cgi?id=201570
<rdar://problem/55134229>

Reviewed by Saam Barati.

The previously landed hardening measures is failing the assertion in
forbidDisablingPrimitiveGigacage() when a replacement heap (e.g. gmalloc) is
used.

  1. forbidDisablingPrimitiveGigacage() should just ensureGigacage() so that we know that the Gigacage is properly configured (whether enabled or disabled).
  2. Strengthen the assertion in forbidDisablingPrimitiveGigacage() to ensure that we have already determined if the Gigacage should be enabled.
  • bmalloc/Gigacage.cpp:

(Gigacage::forbidDisablingPrimitiveGigacage):

3:56 PM Changeset in webkit [249620] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix Windows build
https://bugs.webkit.org/show_bug.cgi?id=201517

  • WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
3:54 PM Changeset in webkit [249619] by achristensen@apple.com
  • 8 edits in trunk

Remove calls to WKContextGetWebsiteDataStore missed in r249614
https://bugs.webkit.org/show_bug.cgi?id=200050

Source/WebKit:

It turns out I didn't need to introduce another way of clearing all cookies between tests.
I just needed to make the call to WKHTTPCookieStoreDeleteAllCookies use the right WebsiteDataStore.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::clearCachedCredentials):

  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::clearCredentials):
(WebKit::NetworkSession::clearCookies): Deleted.

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::clearCookies): Deleted.

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):

3:45 PM Changeset in webkit [249618] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix Windows build.
https://bugs.webkit.org/show_bug.cgi?id=200050

  • PlatformWin.cmake:
3:26 PM Changeset in webkit [249617] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix Windows build.
https://bugs.webkit.org/show_bug.cgi?id=201517

  • WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
2:45 PM Changeset in webkit [249616] by achristensen@apple.com
  • 2 edits in trunk/Tools

Remove invalid assertion added in r249614
https://bugs.webkit.org/show_bug.cgi?id=200050

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::cocoaResetStateToConsistentValues):
Something is instantiating the default data store, which is no problem right now.

1:20 PM Changeset in webkit [249615] by Ryan Haddad
  • 16 edits in trunk

Unreviewed, rolling out r249353.

The test for this change is a flaky failure.

Reverted changeset:

"Add support for postMessage buffering between the service
worker and window"
https://bugs.webkit.org/show_bug.cgi?id=201169
https://trac.webkit.org/changeset/249353

9:04 AM Changeset in webkit [249614] by achristensen@apple.com
  • 33 edits
    2 adds in trunk

Deprecate WKContextGetWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=200050

Reviewed by Geoff Garen.

Source/WebCore:

  • platform/network/CacheValidation.cpp:

(WebCore::collectVaryingRequestHeaders):
(WebCore::verifyVaryingRequestHeaders):

  • platform/network/CacheValidation.h:

Replace a few NetworkStorageSession& with NetworkStorageSession*
so I can replace defaultStorageSession with the correct NetworkStorageSession in NetworkCache.cpp.

Source/WebKit:

The last use of it was removed in rdar://problem/47030981
In order to remove its use in WebKitTestRunner, I needed to make WKWebsiteDataStoreConfigurationRef
to replace the WKContextConfigurationRef members that should've been associated with the WebsiteDataStore the whole time.
There is one use of WKContextGetWebsiteDataStore in TestWebKitAPI still I'll investigate later.

  • Shared/API/c/WKBase.h:
  • Sources.txt:
  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::create):

  • UIProcess/API/APIWebsiteDataStore.h:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetApplicationCacheManager):
(WKContextGetKeyValueStorageManager):
(WKContextGetResourceCacheManager):

  • UIProcess/API/C/WKContext.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyDiskCacheDirectory):
(WKContextConfigurationSetDiskCacheDirectory):
(WKContextConfigurationCopyApplicationCacheDirectory):
(WKContextConfigurationSetApplicationCacheDirectory):
(WKContextConfigurationCopyIndexedDBDatabaseDirectory):
(WKContextConfigurationSetIndexedDBDatabaseDirectory):
(WKContextConfigurationCopyLocalStorageDirectory):
(WKContextConfigurationSetLocalStorageDirectory):
(WKContextConfigurationCopyWebSQLDatabaseDirectory):
(WKContextConfigurationSetWebSQLDatabaseDirectory):
(WKContextConfigurationCopyMediaKeysStorageDirectory):
(WKContextConfigurationSetMediaKeysStorageDirectory):
(WKContextConfigurationCopyResourceLoadStatisticsDirectory):
(WKContextConfigurationSetResourceLoadStatisticsDirectory):

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.cpp: Added.

(WKWebsiteDataStoreConfigurationGetTypeID):
(WKWebsiteDataStoreConfigurationCreate):
(WKWebsiteDataStoreConfigurationCopyApplicationCacheDirectory):
(WKWebsiteDataStoreConfigurationSetApplicationCacheDirectory):
(WKWebsiteDataStoreConfigurationCopyNetworkCacheDirectory):
(WKWebsiteDataStoreConfigurationSetNetworkCacheDirectory):
(WKWebsiteDataStoreConfigurationCopyIndexedDBDatabaseDirectory):
(WKWebsiteDataStoreConfigurationSetIndexedDBDatabaseDirectory):
(WKWebsiteDataStoreConfigurationCopyLocalStorageDirectory):
(WKWebsiteDataStoreConfigurationSetLocalStorageDirectory):
(WKWebsiteDataStoreConfigurationCopyWebSQLDatabaseDirectory):
(WKWebsiteDataStoreConfigurationSetWebSQLDatabaseDirectory):
(WKWebsiteDataStoreConfigurationCopyMediaKeysStorageDirectory):
(WKWebsiteDataStoreConfigurationSetMediaKeysStorageDirectory):
(WKWebsiteDataStoreConfigurationCopyResourceLoadStatisticsDirectory):
(WKWebsiteDataStoreConfigurationSetResourceLoadStatisticsDirectory):

  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h: Added.
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreCreateWithConfiguration):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • MiniBrowser/win/WebKitBrowserWindow.cpp:

(WebKitBrowserWindow::updateProxySettings):

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::generateContextConfiguration const):
(WTR::TestController::websiteDataStore):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::platformAdjustContext):
(WTR::TestController::clearServiceWorkerRegistrations):
(WTR::TestController::clearDOMCache):
(WTR::TestController::clearDOMCaches):
(WTR::TestController::ClearIndexedDatabases):
(WTR::TestController::hasDOMCache):
(WTR::TestController::domCacheSize):
(WTR::TestController::setStatisticsDebugMode):
(WTR::TestController::setStatisticsPrevalentResourceForDebugMode):
(WTR::TestController::setStatisticsLastSeen):
(WTR::TestController::setStatisticsPrevalentResource):
(WTR::TestController::setStatisticsVeryPrevalentResource):
(WTR::TestController::dumpResourceLoadStatistics):
(WTR::TestController::isStatisticsPrevalentResource):
(WTR::TestController::isStatisticsVeryPrevalentResource):
(WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
(WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
(WTR::TestController::setStatisticsHasHadUserInteraction):
(WTR::TestController::isStatisticsHasHadUserInteraction):
(WTR::TestController::setStatisticsGrandfathered):
(WTR::TestController::isStatisticsGrandfathered):
(WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectFrom):
(WTR::TestController::setStatisticsTopFrameUniqueRedirectTo):
(WTR::TestController::setStatisticsTopFrameUniqueRedirectFrom):
(WTR::TestController::setStatisticsCrossSiteLoadWithLinkDecoration):
(WTR::TestController::setStatisticsTimeToLiveUserInteraction):
(WTR::TestController::statisticsProcessStatisticsAndDataRecords):
(WTR::TestController::statisticsUpdateCookieBlocking):
(WTR::TestController::statisticsSubmitTelemetry):
(WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestController::setStatisticsIsRunningTest):
(WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
(WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
(WTR::TestController::setStatisticsGrandfatheringTime):
(WTR::TestController::setStatisticsMaxStatisticsEntries):
(WTR::TestController::setStatisticsPruneEntriesDownTo):
(WTR::TestController::statisticsClearInMemoryAndPersistentStore):
(WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
(WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
(WTR::TestController::statisticsDeleteCookiesForHost):
(WTR::TestController::isStatisticsHasLocalStorage):
(WTR::TestController::setStatisticsCacheMaxAgeCap):
(WTR::TestController::statisticsResetToConsistentState):
(WTR::TestController::setWebAuthenticationMockConfiguration):
(WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

LayoutTests:

Rebase some accessibility tests that were printing the SessionID since we're using SessionID 2 for testing now.

  • accessibility/mac/document-attributes-expected.txt:
  • platform/mac/accessibility/parent-delete-expected.txt:
8:01 AM Changeset in webkit [249613] by mark.lam@apple.com
  • 7 edits in trunk/Source

performJITMemcpy() source buffer should not be in the Gigacage.
https://bugs.webkit.org/show_bug.cgi?id=201577
<rdar://problem/55142606>

Reviewed by Michael Saboff.

Source/bmalloc:

  1. Add the Gigacage start address and totalSize to the Config.
  2. Add a contains() function that uses the start address and totalSize to check if a given pointer is in the Gigacage's address range.
  • bmalloc/Gigacage.cpp:

(Gigacage::ensureGigacage):
(Gigacage::verifyGigacageIsEnabled):

  • bmalloc/Gigacage.h:

(Gigacage::contains):

Source/JavaScriptCore:

Add a RELEASE_ASSERT in performJITMemcpy() to ensure that the passed in source
buffer is not in the Gigacage.

  • jit/ExecutableAllocator.h:

(JSC::performJITMemcpy):

Source/WTF:

  • wtf/Gigacage.h:

(Gigacage::contains):

7:53 AM Changeset in webkit [249612] by mark.lam@apple.com
  • 6 edits in trunk

The jsc shell should allow disabling of the Gigacage for testing purposes.
https://bugs.webkit.org/show_bug.cgi?id=201579

Reviewed by Michael Saboff.

JSTests:

Unskip the tests now.

  • stress/disable-gigacage-arrays.js:
  • stress/disable-gigacage-strings.js:
  • stress/disable-gigacage-typed-arrays.js:

Source/JavaScriptCore:

Check for the same GIGACAGE_ENABLED env var that is checked by Gigacage code. If
this env var is present and it has a falsy value, then do not
forbidDisablingPrimitiveGigacage() in the jsc shell.

  • jsc.cpp:

(jscmain):

3:13 AM Changeset in webkit [249611] by mark.lam@apple.com
  • 4 edits in trunk/JSTests

Gardening: temporarily skipping these tests until the fix can be reviewed and landed.

Not reviewed.

See https://bugs.webkit.org/show_bug.cgi?id=201579 for the fix.

  • stress/disable-gigacage-arrays.js:
  • stress/disable-gigacage-strings.js:
  • stress/disable-gigacage-typed-arrays.js:
2:50 AM Changeset in webkit [249610] by mark.lam@apple.com
  • 2 edits in trunk/JSTests

Gardening: speculative test fix to green bots [attempt #2].
https://bugs.webkit.org/show_bug.cgi?id=201529
<rdar://problem/53935772>

Not reviewed.

  • stress/test-out-of-memory.js:
Note: See TracTimeline for information about the timeline view.