Changeset 230500 in webkit
- Timestamp:
- Apr 10, 2018 4:19:53 PM (6 years ago)
- Location:
- trunk/Source
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r230498 r230500 1 2018-04-10 Chris Dumez <cdumez@apple.com> 2 3 Avoid constructing a service worker RegistrationStore for private sessions 4 https://bugs.webkit.org/show_bug.cgi?id=184463 5 <rdar://problem/36613948> 6 7 Reviewed by Youenn Fablet. 8 9 Avoid constructing a service worker RegistrationStore for private sessions since there 10 is no need for persistence and the registrationDatabaseDirectory is the empty string in 11 such cases. 12 13 * workers/service/server/SWServer.cpp: 14 (WebCore::SWServer::removeRegistration): 15 (WebCore::SWServer::clearAll): 16 (WebCore::SWServer::clear): 17 (WebCore::SWServer::SWServer): 18 (WebCore::SWServer::didFinishActivation): 19 * workers/service/server/SWServer.h: 20 1 21 2018-04-10 Chris Dumez <cdumez@apple.com> 2 22 -
trunk/Source/WebCore/workers/service/server/SWServer.cpp
r229979 r230500 166 166 167 167 m_originStore->remove(topOrigin); 168 m_registrationStore.removeRegistration(*registration); 168 if (m_registrationStore) 169 m_registrationStore->removeRegistration(*registration); 169 170 } 170 171 … … 203 204 m_pendingContextDatas.clear(); 204 205 m_originStore->clearAll(); 205 m_registrationStore.clearAll(WTFMove(completionHandler)); 206 if (m_registrationStore) 207 m_registrationStore->clearAll(WTFMove(completionHandler)); 206 208 } 207 209 … … 241 243 registration->clear(); 242 244 243 m_registrationStore.flushChanges(WTFMove(completionHandler)); 245 if (m_registrationStore) 246 m_registrationStore->flushChanges(WTFMove(completionHandler)); 244 247 } 245 248 … … 272 275 SWServer::SWServer(UniqueRef<SWOriginStore>&& originStore, String&& registrationDatabaseDirectory, PAL::SessionID sessionID) 273 276 : m_originStore(WTFMove(originStore)) 274 , m_registrationStore(*this, WTFMove(registrationDatabaseDirectory))275 277 , m_sessionID(sessionID) 276 278 { 279 ASSERT(!registrationDatabaseDirectory.isEmpty() || m_sessionID.isEphemeral()); 280 if (!m_sessionID.isEphemeral()) 281 m_registrationStore = std::make_unique<RegistrationStore>(*this, WTFMove(registrationDatabaseDirectory)); 282 else 283 registrationStoreImportComplete(); 284 277 285 UNUSED_PARAM(registrationDatabaseDirectory); 278 286 allServers().add(this); … … 407 415 return; 408 416 409 m_registrationStore.updateRegistration(worker.contextData()); 417 if (m_registrationStore) 418 m_registrationStore->updateRegistration(worker.contextData()); 410 419 registration->didFinishActivation(worker.identifier()); 411 420 } -
trunk/Source/WebCore/workers/service/server/SWServer.h
r229979 r230500 30 30 #include "ClientOrigin.h" 31 31 #include "DocumentIdentifier.h" 32 #include "RegistrationStore.h"33 32 #include "SWServerWorker.h" 34 33 #include "SecurityOriginData.h" … … 50 49 namespace WebCore { 51 50 51 class RegistrationStore; 52 52 class SWOriginStore; 53 53 class SWServerJobQueue; … … 229 229 230 230 UniqueRef<SWOriginStore> m_originStore; 231 RegistrationStorem_registrationStore;231 std::unique_ptr<RegistrationStore> m_registrationStore; 232 232 HashMap<SecurityOriginData, Vector<ServiceWorkerContextData>> m_pendingContextDatas; 233 233 HashMap<SecurityOriginData, HashMap<ServiceWorkerIdentifier, Vector<RunServiceWorkerCallback>>> m_serviceWorkerRunRequests; -
trunk/Source/WebCore/workers/service/server/SWServerWorker.h
r229979 r230500 28 28 #if ENABLE(SERVICE_WORKER) 29 29 30 #include "ContentSecurityPolicyResponseHeaders.h" 30 31 #include "ServiceWorkerClientData.h" 31 32 #include "ServiceWorkerData.h" -
trunk/Source/WebKit/ChangeLog
r230497 r230500 1 2018-04-10 Chris Dumez <cdumez@apple.com> 2 3 Avoid constructing a service worker RegistrationStore for private sessions 4 https://bugs.webkit.org/show_bug.cgi?id=184463 5 <rdar://problem/36613948> 6 7 Reviewed by Youenn Fablet. 8 9 Avoid constructing a service worker RegistrationStore for private sessions since there 10 is no need for persistence and the registrationDatabaseDirectory is the empty string in 11 such cases. 12 13 * StorageProcess/StorageProcess.cpp: 14 (WebKit::StorageProcess::initializeWebsiteDataStore): 15 1 16 2018-04-10 Andy Estes <aestes@apple.com> 2 17 -
trunk/Source/WebKit/StorageProcess/StorageProcess.cpp
r230035 r230500 195 195 if (addResult.isNewEntry) { 196 196 SandboxExtension::consumePermanently(parameters.indexedDatabaseDirectoryExtensionHandle); 197 postStorageTask(createCrossThreadTask(*this, &StorageProcess::ensurePathExists, parameters.indexedDatabaseDirectory)); 197 if (!parameters.indexedDatabaseDirectory.isEmpty()) 198 postStorageTask(createCrossThreadTask(*this, &StorageProcess::ensurePathExists, parameters.indexedDatabaseDirectory)); 198 199 } 199 200 #endif … … 207 208 if (addResult.isNewEntry) { 208 209 SandboxExtension::consumePermanently(parameters.serviceWorkerRegistrationDirectoryExtensionHandle); 209 postStorageTask(createCrossThreadTask(*this, &StorageProcess::ensurePathExists, parameters.serviceWorkerRegistrationDirectory)); 210 if (!parameters.serviceWorkerRegistrationDirectory.isEmpty()) 211 postStorageTask(createCrossThreadTask(*this, &StorageProcess::ensurePathExists, parameters.serviceWorkerRegistrationDirectory)); 210 212 } 211 213
Note: See TracChangeset
for help on using the changeset viewer.