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

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

Issue 2455493002: service worker: Propagate navigation preload flag to SWVersion. (Closed)
Patch Set: more comment Created 4 years, 1 month 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
« no previous file with comments | « content/browser/service_worker/service_worker_registration_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_VERSION_H_ 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_
6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <functional> 10 #include <functional>
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 foreign_fetch_scopes_ = scopes; 163 foreign_fetch_scopes_ = scopes;
164 } 164 }
165 165
166 const std::vector<url::Origin>& foreign_fetch_origins() const { 166 const std::vector<url::Origin>& foreign_fetch_origins() const {
167 return foreign_fetch_origins_; 167 return foreign_fetch_origins_;
168 } 168 }
169 void set_foreign_fetch_origins(const std::vector<url::Origin>& origins) { 169 void set_foreign_fetch_origins(const std::vector<url::Origin>& origins) {
170 foreign_fetch_origins_ = origins; 170 foreign_fetch_origins_ = origins;
171 } 171 }
172 172
173 // Only meaningful if this version is active.
173 bool navigation_preload_enabled() const { 174 bool navigation_preload_enabled() const {
175 DCHECK(status_ == ACTIVATING || status_ == ACTIVATED) << status_;
174 return navigation_preload_enabled_; 176 return navigation_preload_enabled_;
175 } 177 }
178 // Only intended for use by ServiceWorkerRegistration. Generally use
179 // ServiceWorkerRegistration::EnableNavigationPreload instead of this
180 // function.
176 void set_navigation_preload_enabled(bool enabled) { 181 void set_navigation_preload_enabled(bool enabled) {
177 navigation_preload_enabled_ = enabled; 182 navigation_preload_enabled_ = enabled;
178 } 183 }
179 184
180 ServiceWorkerMetrics::Site site_for_uma() const { return site_for_uma_; } 185 ServiceWorkerMetrics::Site site_for_uma() const { return site_for_uma_; }
181 186
182 // This sets the new status and also run status change callbacks 187 // This sets the new status and also run status change callbacks
183 // if there're any (see RegisterStatusChangeCallback). 188 // if there're any (see RegisterStatusChangeCallback).
184 void SetStatus(Status status); 189 void SetStatus(Status status);
185 190
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 void CleanUpExternalRequest(const std::string& request_uuid, 728 void CleanUpExternalRequest(const std::string& request_uuid,
724 ServiceWorkerStatusCode status); 729 ServiceWorkerStatusCode status);
725 730
726 const int64_t version_id_; 731 const int64_t version_id_;
727 const int64_t registration_id_; 732 const int64_t registration_id_;
728 const GURL script_url_; 733 const GURL script_url_;
729 const GURL scope_; 734 const GURL scope_;
730 std::vector<GURL> foreign_fetch_scopes_; 735 std::vector<GURL> foreign_fetch_scopes_;
731 std::vector<url::Origin> foreign_fetch_origins_; 736 std::vector<url::Origin> foreign_fetch_origins_;
732 FetchHandlerExistence fetch_handler_existence_; 737 FetchHandlerExistence fetch_handler_existence_;
738 // The source of truth for navigation preload state is the
739 // ServiceWorkerRegistration. |navigation_preload_enabled_| is essentially a
740 // cache for the state because it must be looked up quickly and a live
741 // registration doesn't necessarily exist whenever there is a live version.
733 bool navigation_preload_enabled_ = false; 742 bool navigation_preload_enabled_ = false;
734 ServiceWorkerMetrics::Site site_for_uma_; 743 ServiceWorkerMetrics::Site site_for_uma_;
735 744
736 Status status_ = NEW; 745 Status status_ = NEW;
737 std::unique_ptr<EmbeddedWorkerInstance> embedded_worker_; 746 std::unique_ptr<EmbeddedWorkerInstance> embedded_worker_;
738 std::vector<StatusCallback> start_callbacks_; 747 std::vector<StatusCallback> start_callbacks_;
739 std::vector<StatusCallback> stop_callbacks_; 748 std::vector<StatusCallback> stop_callbacks_;
740 std::vector<base::Closure> status_change_callbacks_; 749 std::vector<base::Closure> status_change_callbacks_;
741 750
742 // Holds in-flight requests, including requests due to outstanding push, 751 // Holds in-flight requests, including requests due to outstanding push,
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 897
889 // At this point |this| can have been deleted, so don't do anything other 898 // At this point |this| can have been deleted, so don't do anything other
890 // than returning. 899 // than returning.
891 900
892 return true; 901 return true;
893 } 902 }
894 903
895 } // namespace content 904 } // namespace content
896 905
897 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ 906 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_
OLDNEW
« no previous file with comments | « content/browser/service_worker/service_worker_registration_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698