Changeset 220810 in webkit
- Timestamp:
- Aug 16, 2017 3:09:34 PM (7 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 added
- 10 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r220795 r220810 899 899 Modules/cache/CacheStorageConnection.cpp 900 900 Modules/cache/DOMWindowCaches.cpp 901 Modules/cache/WorkerCacheStorageConnection.cpp 901 902 Modules/cache/WorkerGlobalScopeCaches.cpp 902 903 -
trunk/Source/WebCore/ChangeLog
r220809 r220810 1 2017-08-16 Youenn Fablet <youenn@apple.com> 2 3 [Cache API] Implement Worker connection to the Cache storage engine 4 https://bugs.webkit.org/show_bug.cgi?id=175599 5 6 Reviewed by Chris Dumez. 7 8 Covered by existing tests. 9 10 Adding a WorkerCacheStorageConnection to connect workers Cache/CacheStorage 11 to the cache storage engine. 12 WorkerCacheStorageConnection does this by hopping to the main thread to call the document cache storage connection to do the actual job. 13 Doing some CacheStorageConnection refactoring to share code with WK2 implementation of the cache storage connection. 14 15 * Modules/cache/CacheQueryOptions.h: 16 (WebCore::CacheQueryOptions::isolatedCopy const): 17 * Modules/cache/CacheStorageConnection.cpp: 18 (WebCore::CacheStorageConnection::open): 19 (WebCore::CacheStorageConnection::remove): 20 (WebCore::CacheStorageConnection::retrieveCaches): 21 (WebCore::CacheStorageConnection::retrieveRecords): 22 (WebCore::CacheStorageConnection::batchDeleteOperation): 23 (WebCore::CacheStorageConnection::batchPutOperation): 24 (WebCore::CacheStorageConnection::openOrRemoveCompleted): 25 (WebCore::CacheStorageConnection::updateCaches): 26 (WebCore::CacheStorageConnection::updateRecords): 27 (WebCore::CacheStorageConnection::removeRecordsCompleted): 28 (WebCore::CacheStorageConnection::putRecordsCompleted): 29 * Modules/cache/CacheStorageConnection.h: 30 (WebCore::CacheStorageConnection::openCompleted): 31 (WebCore::CacheStorageConnection::removeCompleted): 32 (WebCore::CacheStorageConnection::doOpen): 33 (WebCore::CacheStorageConnection::doRemove): 34 (WebCore::CacheStorageConnection::doRetrieveCaches): 35 (WebCore::CacheStorageConnection::doRetrieveRecords): 36 (WebCore::CacheStorageConnection::doBatchDeleteOperation): 37 (WebCore::CacheStorageConnection::doBatchPutOperation): 38 * Modules/cache/WorkerCacheStorageConnection.cpp: Added. 39 (WebCore::toCrossThreadRecordData): 40 (WebCore::fromCrossThreadRecordData): 41 (WebCore::WorkerCacheStorageConnection::create): 42 (WebCore::WorkerCacheStorageConnection::WorkerCacheStorageConnection): 43 (WebCore::WorkerCacheStorageConnection::doOpen): 44 (WebCore::WorkerCacheStorageConnection::doRemove): 45 (WebCore::WorkerCacheStorageConnection::doRetrieveCaches): 46 (WebCore::WorkerCacheStorageConnection::doRetrieveRecords): 47 (WebCore::WorkerCacheStorageConnection::doBatchDeleteOperation): 48 (WebCore::WorkerCacheStorageConnection::doBatchPutOperation): 49 * Modules/cache/WorkerCacheStorageConnection.h: Added. 50 * Modules/cache/WorkerGlobalScopeCaches.cpp: 51 (WebCore::WorkerGlobalScopeCaches::caches const): 52 * WebCore.xcodeproj/project.pbxproj: 53 * loader/FetchOptions.h: 54 (WebCore::FetchOptions::isolatedCopy const): 55 * workers/WorkerGlobalScope.cpp: 56 (WebCore::WorkerGlobalScope::cacheStorageConnection): 57 * workers/WorkerGlobalScope.h: 58 1 59 2017-08-16 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> 2 60 -
trunk/Source/WebCore/Modules/cache/CacheQueryOptions.h
r220311 r220810 31 31 32 32 struct CacheQueryOptions { 33 CacheQueryOptions() = default; 34 CacheQueryOptions(bool ignoreSearch, bool ignoreMethod, bool ignoreVary, String cacheName); 35 CacheQueryOptions isolatedCopy() const { return { ignoreSearch, ignoreMethod, ignoreVary, cacheName.isolatedCopy() }; } 36 33 37 bool ignoreSearch { false }; 34 38 bool ignoreMethod { false }; … … 37 41 }; 38 42 43 inline CacheQueryOptions::CacheQueryOptions(bool ignoreSearch, bool ignoreMethod, bool ignoreVary, String cacheName) 44 : ignoreSearch(ignoreSearch) 45 , ignoreMethod(ignoreMethod) 46 , ignoreVary(ignoreVary) 47 , cacheName(cacheName.isolatedCopy()) 48 { 49 } 50 39 51 } // namespace WebCore -
trunk/Source/WebCore/Modules/cache/CacheStorageConnection.cpp
r220758 r220810 79 79 } 80 80 81 void CacheStorageConnection::open(const String& origin, const String& cacheName, OpenRemoveCallback&& callback) 82 { 83 uint64_t requestIdentifier = ++m_lastRequestIdentifier; 84 m_openAndRemoveCachePendingRequests.add(requestIdentifier, WTFMove(callback)); 85 86 doOpen(requestIdentifier, origin, cacheName); 87 } 88 89 void CacheStorageConnection::remove(uint64_t cacheIdentifier, OpenRemoveCallback&& callback) 90 { 91 uint64_t requestIdentifier = ++m_lastRequestIdentifier; 92 m_openAndRemoveCachePendingRequests.add(requestIdentifier, WTFMove(callback)); 93 94 doRemove(requestIdentifier, cacheIdentifier); 95 } 96 97 void CacheStorageConnection::retrieveCaches(const String& origin, CachesCallback&& callback) 98 { 99 uint64_t requestIdentifier = ++m_lastRequestIdentifier; 100 m_retrieveCachesPendingRequests.add(requestIdentifier, WTFMove(callback)); 101 102 doRetrieveCaches(requestIdentifier, origin); 103 } 104 105 void CacheStorageConnection::retrieveRecords(uint64_t cacheIdentifier, RecordsCallback&& callback) 106 { 107 uint64_t requestIdentifier = ++m_lastRequestIdentifier; 108 m_retrieveRecordsPendingRequests.add(requestIdentifier, WTFMove(callback)); 109 110 doRetrieveRecords(requestIdentifier, cacheIdentifier); 111 } 112 113 void CacheStorageConnection::batchDeleteOperation(uint64_t cacheIdentifier, const WebCore::ResourceRequest& request, WebCore::CacheQueryOptions&& options, BatchOperationCallback&& callback) 114 { 115 uint64_t requestIdentifier = ++m_lastRequestIdentifier; 116 m_batchDeleteAndPutPendingRequests.add(requestIdentifier, WTFMove(callback)); 117 118 doBatchDeleteOperation(requestIdentifier, cacheIdentifier, request, WTFMove(options)); 119 } 120 121 void CacheStorageConnection::batchPutOperation(uint64_t cacheIdentifier, Vector<WebCore::CacheStorageConnection::Record>&& records, BatchOperationCallback&& callback) 122 { 123 uint64_t requestIdentifier = ++m_lastRequestIdentifier; 124 m_batchDeleteAndPutPendingRequests.add(requestIdentifier, WTFMove(callback)); 125 126 doBatchPutOperation(requestIdentifier, cacheIdentifier, WTFMove(records)); 127 } 128 129 void CacheStorageConnection::openOrRemoveCompleted(uint64_t requestIdentifier, uint64_t cacheIdentifier, Error error) 130 { 131 if (auto callback = m_openAndRemoveCachePendingRequests.take(requestIdentifier)) 132 callback(cacheIdentifier, error); 133 } 134 135 void CacheStorageConnection::updateCaches(uint64_t requestIdentifier, Vector<CacheInfo>&& caches) 136 { 137 if (auto callback = m_retrieveCachesPendingRequests.take(requestIdentifier)) 138 callback(WTFMove(caches)); 139 } 140 141 void CacheStorageConnection::updateRecords(uint64_t requestIdentifier, Vector<Record>&& records) 142 { 143 if (auto callback = m_retrieveRecordsPendingRequests.take(requestIdentifier)) 144 callback(WTFMove(records)); 145 } 146 147 void CacheStorageConnection::deleteRecordsCompleted(uint64_t requestIdentifier, Vector<uint64_t>&& records, Error error) 148 { 149 if (auto callback = m_batchDeleteAndPutPendingRequests.take(requestIdentifier)) 150 callback(WTFMove(records), error); 151 } 152 153 void CacheStorageConnection::putRecordsCompleted(uint64_t requestIdentifier, Vector<uint64_t>&& records, Error error) 154 { 155 if (auto callback = m_batchDeleteAndPutPendingRequests.take(requestIdentifier)) 156 callback(WTFMove(records), error); 157 } 158 81 159 } // namespace WebCore 82 -
trunk/Source/WebCore/Modules/cache/CacheStorageConnection.h
r220758 r220810 31 31 #include "ResourceRequest.h" 32 32 #include "ResourceResponse.h" 33 #include <wtf/HashMap.h> 33 34 #include <wtf/ThreadSafeRefCounted.h> 34 35 … … 69 70 70 71 using OpenRemoveCallback = WTF::Function<void(uint64_t, Error)>; 71 using Cache MapCallback = WTF::Function<void(Vector<CacheInfo>&&)>;72 using CachesCallback = WTF::Function<void(Vector<CacheInfo>&&)>; 72 73 using RecordsCallback = WTF::Function<void(Vector<Record>&&)>; 73 74 using BatchOperationCallback = WTF::Function<void(Vector<uint64_t>&&, Error)>; 74 75 75 v irtual void open(const String& /* origin */, const String& /* cacheName */, OpenRemoveCallback&& callback) { callback(0, Error::NotImplemented); }76 v irtual void remove(uint64_t /* cacheIdentifier */, OpenRemoveCallback&& callback) { callback(0, Error::NotImplemented); }77 v irtual void retrieveCaches(const String& /* origin */, CacheMapCallback&& callback) { callback({ }); }76 void open(const String& /* origin */, const String& /* cacheName */, OpenRemoveCallback&&); 77 void remove(uint64_t /* cacheIdentifier */, OpenRemoveCallback&&); 78 void retrieveCaches(const String& /* origin */, CachesCallback&&); 78 79 79 v irtual void retrieveRecords(uint64_t /* cacheIdentifier */, RecordsCallback&& callback) { callback({ }); }80 v irtual void batchDeleteOperation(uint64_t /* cacheIdentifier */, const ResourceRequest&, CacheQueryOptions&&, BatchOperationCallback&& callback) { callback({ }, Error::NotImplemented); }81 v irtual void batchPutOperation(uint64_t /* cacheIdentifier */, Vector<Record>&&, BatchOperationCallback&& callback) { callback({ }, Error::NotImplemented); }80 void retrieveRecords(uint64_t /* cacheIdentifier */, RecordsCallback&&); 81 void batchDeleteOperation(uint64_t /* cacheIdentifier */, const ResourceRequest&, CacheQueryOptions&&, BatchOperationCallback&&); 82 void batchPutOperation(uint64_t /* cacheIdentifier */, Vector<Record>&&, BatchOperationCallback&&); 82 83 83 84 protected: 84 85 CacheStorageConnection() = default; 86 87 void openCompleted(uint64_t identifier, uint64_t cacheIdentifier, Error error) { openOrRemoveCompleted(identifier, cacheIdentifier, error); } 88 void removeCompleted(uint64_t identifier, uint64_t cacheIdentifier, Error error) { openOrRemoveCompleted(identifier, cacheIdentifier, error); } 89 WEBCORE_EXPORT void updateCaches(uint64_t requestIdentifier, Vector<CacheInfo>&&); 90 91 WEBCORE_EXPORT void updateRecords(uint64_t requestIdentifier, Vector<Record>&&); 92 WEBCORE_EXPORT void deleteRecordsCompleted(uint64_t requestIdentifier, Vector<uint64_t>&&, Error); 93 WEBCORE_EXPORT void putRecordsCompleted(uint64_t requestIdentifier, Vector<uint64_t>&&, Error); 94 95 private: 96 virtual void doOpen(uint64_t requestIdentifier, const String& /* origin */, const String& /* cacheName */) { openCompleted(requestIdentifier, 0, Error::NotImplemented); } 97 virtual void doRemove(uint64_t requestIdentifier, uint64_t /* cacheIdentifier */) { removeCompleted(requestIdentifier, 0, Error::NotImplemented); } 98 virtual void doRetrieveCaches(uint64_t requestIdentifier, const String& /* origin */) { updateCaches(requestIdentifier, { }); } 99 100 virtual void doRetrieveRecords(uint64_t requestIdentifier, uint64_t /* cacheIdentifier */) { updateRecords(requestIdentifier, { }); } 101 virtual void doBatchDeleteOperation(uint64_t requestIdentifier, uint64_t /* cacheIdentifier */, const ResourceRequest&, CacheQueryOptions&&) { deleteRecordsCompleted(requestIdentifier, { }, Error::NotImplemented); } 102 virtual void doBatchPutOperation(uint64_t requestIdentifier, uint64_t /* cacheIdentifier */, Vector<Record>&&) { putRecordsCompleted(requestIdentifier, { }, Error::NotImplemented); } 103 104 WEBCORE_EXPORT void openOrRemoveCompleted(uint64_t requestIdentifier, uint64_t cacheIdentifier, Error); 105 106 HashMap<uint64_t, OpenRemoveCallback> m_openAndRemoveCachePendingRequests; 107 HashMap<uint64_t, CachesCallback> m_retrieveCachesPendingRequests; 108 HashMap<uint64_t, RecordsCallback> m_retrieveRecordsPendingRequests; 109 HashMap<uint64_t, BatchOperationCallback> m_batchDeleteAndPutPendingRequests; 110 111 uint64_t m_lastRequestIdentifier { 0 }; 85 112 }; 86 113 -
trunk/Source/WebCore/Modules/cache/WorkerCacheStorageConnection.h
r220809 r220810 1 1 2 /* 2 3 * Copyright (C) 2017 Apple Inc. All rights reserved. … … 26 27 #pragma once 27 28 28 #include <wtf/text/WTFString.h>29 #include "CacheStorageConnection.h" 29 30 30 31 namespace WebCore { 31 32 32 struct CacheQueryOptions { 33 bool ignoreSearch { false }; 34 bool ignoreMethod { false }; 35 bool ignoreVary { false }; 36 String cacheName; 33 class WorkerGlobalScope; 34 class WorkerLoaderProxy; 35 36 class WorkerCacheStorageConnection final : public CacheStorageConnection { 37 public: 38 static Ref<WorkerCacheStorageConnection> create(WorkerGlobalScope&); 39 ~WorkerCacheStorageConnection(); 40 41 private: 42 explicit WorkerCacheStorageConnection(WorkerGlobalScope&); 43 44 // WebCore::CacheStorageConnection 45 void doOpen(uint64_t requestIdentifier, const String& /* origin */, const String& /* cacheName */) final; 46 void doRemove(uint64_t requestIdentifier, uint64_t /* cacheIdentifier */) final; 47 void doRetrieveCaches(uint64_t requestIdentifier, const String& /* origin */) final; 48 49 void doRetrieveRecords(uint64_t requestIdentifier, uint64_t cacheIdentifier) final; 50 void doBatchDeleteOperation(uint64_t requestIdentifier, uint64_t cacheIdentifier, const WebCore::ResourceRequest&, WebCore::CacheQueryOptions&&) final; 51 void doBatchPutOperation(uint64_t requestIdentifier, uint64_t cacheIdentifier, Vector<Record>&&) final; 52 53 WorkerGlobalScope& m_scope; 54 WorkerLoaderProxy& m_proxy; 55 String m_taskMode; 56 57 RefPtr<CacheStorageConnection> m_mainThreadConnection; 37 58 }; 38 59 -
trunk/Source/WebCore/Modules/cache/WorkerGlobalScopeCaches.cpp
r220758 r220810 56 56 { 57 57 if (!m_caches) 58 m_caches = CacheStorage::create(m_scope, CacheStorageConnection::create());58 m_caches = CacheStorage::create(m_scope, m_scope.cacheStorageConnection()); 59 59 return m_caches.get(); 60 60 } -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r220809 r220810 1771 1771 41A3D58E101C152D00316D07 /* DedicatedWorkerThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41A3D58C101C152D00316D07 /* DedicatedWorkerThread.cpp */; }; 1772 1772 41A3D58F101C152D00316D07 /* DedicatedWorkerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A3D58D101C152D00316D07 /* DedicatedWorkerThread.h */; }; 1773 41A7D3521F438D16008988DE /* WorkerCacheStorageConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41A7D34F1F438D10008988DE /* WorkerCacheStorageConnection.cpp */; }; 1774 41A7D3531F438D16008988DE /* WorkerCacheStorageConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A7D3501F438D10008988DE /* WorkerCacheStorageConnection.h */; }; 1773 1775 41ABE67B1D0580DB006D862D /* CrossOriginPreflightChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 41ABE67A1D0580D5006D862D /* CrossOriginPreflightChecker.h */; }; 1774 1776 41ABE67C1D0580E0006D862D /* CrossOriginPreflightChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41ABE6791D0580D5006D862D /* CrossOriginPreflightChecker.cpp */; }; … … 9435 9437 41A48AA71E84AEEC00D2AC2D /* RTCRtpParameters.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCRtpParameters.idl; sourceTree = "<group>"; }; 9436 9438 41A48AA81E84AF1D00D2AC2D /* RTCRtpParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCRtpParameters.h; sourceTree = "<group>"; }; 9439 41A7D34F1F438D10008988DE /* WorkerCacheStorageConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerCacheStorageConnection.cpp; sourceTree = "<group>"; }; 9440 41A7D3501F438D10008988DE /* WorkerCacheStorageConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerCacheStorageConnection.h; sourceTree = "<group>"; }; 9437 9441 41ABE6791D0580D5006D862D /* CrossOriginPreflightChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CrossOriginPreflightChecker.cpp; sourceTree = "<group>"; }; 9438 9442 41ABE67A1D0580D5006D862D /* CrossOriginPreflightChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CrossOriginPreflightChecker.h; sourceTree = "<group>"; }; … … 17654 17658 41FB278C1F34C28200795487 /* DOMWindowCaches.h */, 17655 17659 41380C2B1F343E2F00155FDA /* DOMWindowCaches.idl */, 17660 41A7D34F1F438D10008988DE /* WorkerCacheStorageConnection.cpp */, 17661 41A7D3501F438D10008988DE /* WorkerCacheStorageConnection.h */, 17656 17662 41FB278F1F34C28200795487 /* WorkerGlobalScopeCaches.cpp */, 17657 17663 41FB278D1F34C28200795487 /* WorkerGlobalScopeCaches.h */, … … 30216 30222 379919971200DDF400EA041C /* WOFFFileFormat.h in Headers */, 30217 30223 2E4346460F546A8200B0F1BA /* Worker.h in Headers */, 30224 41A7D3531F438D16008988DE /* WorkerCacheStorageConnection.h in Headers */, 30218 30225 A52A68621DBB0F630083373F /* WorkerConsoleAgent.h in Headers */, 30219 30226 A55639D11C6F09E300806D8E /* WorkerConsoleClient.h in Headers */, … … 31853 31860 7C9ACABF1F3CF1AF00F3AA09 /* JSCryptoRsaHashedKeyAlgorithm.cpp in Sources */, 31854 31861 7C9ACAC11F3CF1AF00F3AA09 /* JSCryptoRsaKeyAlgorithm.cpp in Sources */, 31855 E48284081F44594C00863AC3 /* RenderTreeUpdaterFirstLetter.cpp in Sources */,31856 31862 BC46C1FC0C0DDC8F0020CFC3 /* JSCSSFontFaceRule.cpp in Sources */, 31857 31863 BC46C1FE0C0DDC8F0020CFC3 /* JSCSSImportRule.cpp in Sources */, … … 33121 33127 5824ABAA1AE849C8009074B7 /* RenderTreePosition.cpp in Sources */, 33122 33128 E461802B1C8A06D90026C02C /* RenderTreeUpdater.cpp in Sources */, 33129 E48284081F44594C00863AC3 /* RenderTreeUpdaterFirstLetter.cpp in Sources */, 33123 33130 E44614510CD68A3500FADA75 /* RenderVideo.cpp in Sources */, 33124 33131 BCEA4867097D93020094C9E4 /* RenderView.cpp in Sources */, … … 33930 33937 379919961200DDF400EA041C /* WOFFFileFormat.cpp in Sources */, 33931 33938 2E4346450F546A8200B0F1BA /* Worker.cpp in Sources */, 33939 41A7D3521F438D16008988DE /* WorkerCacheStorageConnection.cpp in Sources */, 33932 33940 A52A68611DBB0F630083373F /* WorkerConsoleAgent.cpp in Sources */, 33933 33941 A55639D21C6F09E700806D8E /* WorkerConsoleClient.cpp in Sources */, -
trunk/Source/WebCore/loader/FetchOptions.h
r220244 r220810 36 36 struct FetchOptions { 37 37 enum class Type { EmptyString, Audio, Font, Image, Script, Style, Track, Video }; 38 enum class Destination { EmptyString, Document, Sharedworker, Subresource, Unknown, Worker }; 39 enum class Mode { Navigate, SameOrigin, NoCors, Cors }; 40 enum class Credentials { Omit, SameOrigin, Include }; 41 enum class Cache { Default, NoStore, Reload, NoCache, ForceCache, OnlyIfCached }; 42 enum class Redirect { Follow, Error, Manual }; 43 44 FetchOptions() = default; 45 FetchOptions(Type, Destination, Mode, Credentials, Cache, Redirect, ReferrerPolicy, String&&, bool); 46 FetchOptions isolatedCopy() const { return { type, destination, mode, credentials, cache, redirect, referrerPolicy, integrity.isolatedCopy(), keepAlive }; } 47 38 48 Type type { Type::EmptyString }; 39 40 enum class Destination { EmptyString, Document, Sharedworker, Subresource, Unknown, Worker };41 49 Destination destination { Destination::EmptyString }; 42 43 enum class Mode { Navigate, SameOrigin, NoCors, Cors };44 50 Mode mode { Mode::NoCors }; 45 46 enum class Credentials { Omit, SameOrigin, Include };47 51 Credentials credentials { Credentials::Omit }; 48 49 enum class Cache { Default, NoStore, Reload, NoCache, ForceCache, OnlyIfCached };50 52 Cache cache { Cache::Default }; 51 52 enum class Redirect { Follow, Error, Manual };53 53 Redirect redirect { Redirect::Follow }; 54 55 54 ReferrerPolicy referrerPolicy { ReferrerPolicy::EmptyString }; 56 57 55 String integrity; 58 59 56 bool keepAlive { false }; 60 57 }; 61 58 59 inline FetchOptions::FetchOptions(Type type, Destination destination, Mode mode, Credentials credentials, Cache cache, Redirect redirect, ReferrerPolicy referrerPolicy, String&& integrity, bool keepAlive) 60 : type(type) 61 , destination(destination) 62 , mode(mode) 63 , credentials(credentials) 64 , cache(cache) 65 , redirect(redirect) 66 , referrerPolicy(referrerPolicy) 67 , integrity(WTFMove(integrity)) 68 , keepAlive(keepAlive) 69 { 70 } 71 62 72 } // namespace WebCore -
trunk/Source/WebCore/workers/WorkerGlobalScope.cpp
r220475 r220810 387 387 } 388 388 389 CacheStorageConnection& WorkerGlobalScope::cacheStorageConnection() 390 { 391 if (!m_cacheStorageConnection) 392 m_cacheStorageConnection = WorkerCacheStorageConnection::create(*this); 393 return *m_cacheStorageConnection; 394 } 395 389 396 } // namespace WebCore -
trunk/Source/WebCore/workers/WorkerGlobalScope.h
r220475 r220810 28 28 29 29 #include "Base64Utilities.h" 30 #include "CacheStorageConnection.h" 30 31 #include "EventTarget.h" 31 32 #include "ScriptExecutionContext.h" … … 33 34 #include "Supplementable.h" 34 35 #include "URL.h" 36 #include "WorkerCacheStorageConnection.h" 35 37 #include "WorkerEventQueue.h" 36 38 #include "WorkerScriptController.h" … … 66 68 void stopIndexedDatabase(); 67 69 #endif 70 71 CacheStorageConnection& cacheStorageConnection(); 68 72 69 73 WorkerScriptController* script() { return m_script.get(); } … … 184 188 185 189 SessionID m_sessionID; 190 RefPtr<WorkerCacheStorageConnection> m_cacheStorageConnection; 186 191 }; 187 192
Note: See TracChangeset
for help on using the changeset viewer.