Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: content/browser/service_worker/service_worker_storage.h

Issue 1146913004: Service Worker: Add ServiceWorkerContainer.getRegistrations() method. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactor GetRegistrationsForOrigin to get real registrations. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_STORAGE_H_ 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_STORAGE_H_
6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_STORAGE_H_ 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_STORAGE_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 // This class provides an interface to store and retrieve ServiceWorker 46 // This class provides an interface to store and retrieve ServiceWorker
47 // registration data. 47 // registration data.
48 class CONTENT_EXPORT ServiceWorkerStorage 48 class CONTENT_EXPORT ServiceWorkerStorage
49 : NON_EXPORTED_BASE(public ServiceWorkerVersion::Listener) { 49 : NON_EXPORTED_BASE(public ServiceWorkerVersion::Listener) {
50 public: 50 public:
51 typedef std::vector<ServiceWorkerDatabase::ResourceRecord> ResourceList; 51 typedef std::vector<ServiceWorkerDatabase::ResourceRecord> ResourceList;
52 typedef base::Callback<void(ServiceWorkerStatusCode status)> StatusCallback; 52 typedef base::Callback<void(ServiceWorkerStatusCode status)> StatusCallback;
53 typedef base::Callback<void(ServiceWorkerStatusCode status, 53 typedef base::Callback<void(ServiceWorkerStatusCode status,
54 const scoped_refptr<ServiceWorkerRegistration>& 54 const scoped_refptr<ServiceWorkerRegistration>&
55 registration)> FindRegistrationCallback; 55 registration)> FindRegistrationCallback;
56 typedef base::Callback< 56 typedef base::Callback<void(const std::vector<ServiceWorkerRegistration*>&
57 void(const std::vector<ServiceWorkerRegistrationInfo>& registrations)> 57 registrations)> GetRegistrationsCallback;
58 GetRegistrationsInfosCallback; 58 typedef base::Callback<void(const std::vector<ServiceWorkerRegistrationInfo>&
59 registrations)> GetRegistrationsInfosCallback;
59 typedef base::Callback< 60 typedef base::Callback<
60 void(ServiceWorkerStatusCode status, bool are_equal)> 61 void(ServiceWorkerStatusCode status, bool are_equal)>
61 CompareCallback; 62 CompareCallback;
62 typedef base::Callback< 63 typedef base::Callback<
63 void(const std::string& data, ServiceWorkerStatusCode status)> 64 void(const std::string& data, ServiceWorkerStatusCode status)>
64 GetUserDataCallback; 65 GetUserDataCallback;
65 typedef base::Callback<void( 66 typedef base::Callback<void(
66 const std::vector<std::pair<int64, std::string>>& user_data, 67 const std::vector<std::pair<int64, std::string>>& user_data,
67 ServiceWorkerStatusCode status)> 68 ServiceWorkerStatusCode status)>
68 GetUserDataForAllRegistrationsCallback; 69 GetUserDataForAllRegistrationsCallback;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // Generally |FindRegistrationForId| should be used to look up a registration 103 // Generally |FindRegistrationForId| should be used to look up a registration
103 // by |registration_id| since it's more efficient. But if a |registration_id| 104 // by |registration_id| since it's more efficient. But if a |registration_id|
104 // is all that is available this method can be used instead. 105 // is all that is available this method can be used instead.
105 // Like |FindRegistrationForId| this method may complete immediately (the 106 // Like |FindRegistrationForId| this method may complete immediately (the
106 // callback may be called prior to the method returning) or asynchronously. 107 // callback may be called prior to the method returning) or asynchronously.
107 void FindRegistrationForIdOnly(int64 registration_id, 108 void FindRegistrationForIdOnly(int64 registration_id,
108 const FindRegistrationCallback& callback); 109 const FindRegistrationCallback& callback);
109 110
110 ServiceWorkerRegistration* GetUninstallingRegistration(const GURL& scope); 111 ServiceWorkerRegistration* GetUninstallingRegistration(const GURL& scope);
111 112
112 // Returns info about all stored and initially installing registrations for 113 // Returns all stored registrations for a given origin.
113 // a given origin. 114 void GetRegistrationsForOrigin(const GURL& origin,
114 void GetRegistrationsForOrigin( 115 const GetRegistrationsCallback& callback);
115 const GURL& origin, const GetRegistrationsInfosCallback& callback);
116 116
117 // Returns info about all stored and initially installing registrations. 117 // Returns info about all stored and initially installing registrations.
118 void GetAllRegistrations(const GetRegistrationsInfosCallback& callback); 118 void GetAllRegistrationsInfos(const GetRegistrationsInfosCallback& callback);
119 119
120 // Commits |registration| with the installed but not activated |version| 120 // Commits |registration| with the installed but not activated |version|
121 // to storage, overwritting any pre-existing registration data for the scope. 121 // to storage, overwritting any pre-existing registration data for the scope.
122 // A pre-existing version's script resources remain available if that version 122 // A pre-existing version's script resources remain available if that version
123 // is live. PurgeResources should be called when it's OK to delete them. 123 // is live. PurgeResources should be called when it's OK to delete them.
124 void StoreRegistration(ServiceWorkerRegistration* registration, 124 void StoreRegistration(ServiceWorkerRegistration* registration,
125 ServiceWorkerVersion* version, 125 ServiceWorkerVersion* version,
126 const StatusCallback& callback); 126 const StatusCallback& callback);
127 127
128 // Updates the state of the registration's stored version to active. 128 // Updates the state of the registration's stored version to active.
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 struct DidDeleteRegistrationParams { 246 struct DidDeleteRegistrationParams {
247 int64 registration_id; 247 int64 registration_id;
248 GURL origin; 248 GURL origin;
249 StatusCallback callback; 249 StatusCallback callback;
250 250
251 DidDeleteRegistrationParams(); 251 DidDeleteRegistrationParams();
252 ~DidDeleteRegistrationParams(); 252 ~DidDeleteRegistrationParams();
253 }; 253 };
254 254
255 typedef std::vector<ServiceWorkerDatabase::RegistrationData> RegistrationList; 255 typedef std::vector<ServiceWorkerDatabase::RegistrationData> RegistrationList;
256 typedef std::vector<ResourceList> ResourceListList;
falken 2015/06/05 02:58:22 nit: It's subjective but feels nicer to me to just
jungkees 2015/06/05 06:58:07 Removed the typedef. Seems ListList sounded odd an
falken 2015/06/08 04:59:09 Yea ListList is weird and generally it's easier fo
256 typedef std::map<int64, scoped_refptr<ServiceWorkerRegistration> > 257 typedef std::map<int64, scoped_refptr<ServiceWorkerRegistration> >
257 RegistrationRefsById; 258 RegistrationRefsById;
258 typedef base::Callback<void( 259 typedef base::Callback<void(
259 InitialData* data, 260 InitialData* data,
260 ServiceWorkerDatabase::Status status)> InitializeCallback; 261 ServiceWorkerDatabase::Status status)> InitializeCallback;
261 typedef base::Callback<void( 262 typedef base::Callback<void(
262 const GURL& origin, 263 const GURL& origin,
263 const ServiceWorkerDatabase::RegistrationData& deleted_version_data, 264 const ServiceWorkerDatabase::RegistrationData& deleted_version_data,
264 const std::vector<int64>& newly_purgeable_resources, 265 const std::vector<int64>& newly_purgeable_resources,
265 ServiceWorkerDatabase::Status status)> WriteRegistrationCallback; 266 ServiceWorkerDatabase::Status status)> WriteRegistrationCallback;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 const GURL& scope, 313 const GURL& scope,
313 const FindRegistrationCallback& callback, 314 const FindRegistrationCallback& callback,
314 const ServiceWorkerDatabase::RegistrationData& data, 315 const ServiceWorkerDatabase::RegistrationData& data,
315 const ResourceList& resources, 316 const ResourceList& resources,
316 ServiceWorkerDatabase::Status status); 317 ServiceWorkerDatabase::Status status);
317 void DidFindRegistrationForId( 318 void DidFindRegistrationForId(
318 const FindRegistrationCallback& callback, 319 const FindRegistrationCallback& callback,
319 const ServiceWorkerDatabase::RegistrationData& data, 320 const ServiceWorkerDatabase::RegistrationData& data,
320 const ResourceList& resources, 321 const ResourceList& resources,
321 ServiceWorkerDatabase::Status status); 322 ServiceWorkerDatabase::Status status);
322 void DidGetRegistrations( 323 void DidGetRegistrations(const GetRegistrationsCallback& callback,
323 const GetRegistrationsInfosCallback& callback, 324 RegistrationList* registrations,
324 RegistrationList* registrations, 325 ResourceListList* resource_lists,
325 const GURL& origin_filter, 326 const GURL& origin_filter,
326 ServiceWorkerDatabase::Status status); 327 ServiceWorkerDatabase::Status status);
328 void DidGetRegistrationsInfos(const GetRegistrationsInfosCallback& callback,
329 RegistrationList* registrations,
330 const GURL& origin_filter,
331 ServiceWorkerDatabase::Status status);
327 void DidStoreRegistration( 332 void DidStoreRegistration(
328 const StatusCallback& callback, 333 const StatusCallback& callback,
329 const ServiceWorkerDatabase::RegistrationData& new_version, 334 const ServiceWorkerDatabase::RegistrationData& new_version,
330 const GURL& origin, 335 const GURL& origin,
331 const ServiceWorkerDatabase::RegistrationData& deleted_version, 336 const ServiceWorkerDatabase::RegistrationData& deleted_version,
332 const std::vector<int64>& newly_purgeable_resources, 337 const std::vector<int64>& newly_purgeable_resources,
333 ServiceWorkerDatabase::Status status); 338 ServiceWorkerDatabase::Status status);
334 void DidUpdateToActiveState( 339 void DidUpdateToActiveState(
335 const StatusCallback& callback, 340 const StatusCallback& callback,
336 ServiceWorkerDatabase::Status status); 341 ServiceWorkerDatabase::Status status);
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 std::set<int64> pending_deletions_; 497 std::set<int64> pending_deletions_;
493 498
494 base::WeakPtrFactory<ServiceWorkerStorage> weak_factory_; 499 base::WeakPtrFactory<ServiceWorkerStorage> weak_factory_;
495 500
496 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerStorage); 501 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerStorage);
497 }; 502 };
498 503
499 } // namespace content 504 } // namespace content
500 505
501 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_STORAGE_H_ 506 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_STORAGE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698