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

Unified Diff: content/child/service_worker/service_worker_handle_reference.cc

Issue 1478103002: [WIP] [service worker] Fix detach controller and fallback to network mechanism (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: return null in Create/Adopt Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: content/child/service_worker/service_worker_handle_reference.cc
diff --git a/content/child/service_worker/service_worker_handle_reference.cc b/content/child/service_worker/service_worker_handle_reference.cc
index c42c5af8973bd33ecd2f340493e964f319f213b8..ad7395256fa412f2116595ed7d27018c0e61d4ad 100644
--- a/content/child/service_worker/service_worker_handle_reference.cc
+++ b/content/child/service_worker/service_worker_handle_reference.cc
@@ -14,6 +14,8 @@ ServiceWorkerHandleReference::Create(
const ServiceWorkerObjectInfo& info,
ThreadSafeSender* sender) {
DCHECK(sender);
+ if (info.handle_id == kInvalidServiceWorkerHandleId)
+ return nullptr;
return make_scoped_ptr(new ServiceWorkerHandleReference(info, sender, true));
}
@@ -21,6 +23,8 @@ scoped_ptr<ServiceWorkerHandleReference> ServiceWorkerHandleReference::Adopt(
const ServiceWorkerObjectInfo& info,
ThreadSafeSender* sender) {
DCHECK(sender);
+ if (info.handle_id == kInvalidServiceWorkerHandleId)
+ return nullptr;
return make_scoped_ptr(new ServiceWorkerHandleReference(info, sender, false));
}
@@ -30,8 +34,8 @@ ServiceWorkerHandleReference::ServiceWorkerHandleReference(
bool increment_ref_in_ctor)
: info_(info),
sender_(sender) {
- if (increment_ref_in_ctor &&
- info_.handle_id != kInvalidServiceWorkerHandleId) {
+ DCHECK_NE(info.handle_id, kInvalidServiceWorkerHandleId);
+ if (increment_ref_in_ctor) {
sender_->Send(
new ServiceWorkerHostMsg_IncrementServiceWorkerRefCount(
info_.handle_id));
@@ -39,11 +43,9 @@ ServiceWorkerHandleReference::ServiceWorkerHandleReference(
}
ServiceWorkerHandleReference::~ServiceWorkerHandleReference() {
- if (info_.handle_id != kInvalidServiceWorkerHandleId) {
- sender_->Send(
- new ServiceWorkerHostMsg_DecrementServiceWorkerRefCount(
- info_.handle_id));
- }
+ DCHECK_NE(info_.handle_id, kInvalidServiceWorkerHandleId);
+ sender_->Send(
+ new ServiceWorkerHostMsg_DecrementServiceWorkerRefCount(info_.handle_id));
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698