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

Side by Side Diff: content/browser/service_worker/service_worker_provider_host_unittest.cc

Issue 445883003: ServiceWorker: Consolidate version change messages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove ctor/dtor Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/memory/weak_ptr.h" 6 #include "base/memory/weak_ptr.h"
7 #include "content/browser/service_worker/service_worker_context_core.h" 7 #include "content/browser/service_worker/service_worker_context_core.h"
8 #include "content/browser/service_worker/service_worker_provider_host.h" 8 #include "content/browser/service_worker/service_worker_provider_host.h"
9 #include "content/browser/service_worker/service_worker_register_job.h" 9 #include "content/browser/service_worker/service_worker_register_job.h"
10 #include "content/browser/service_worker/service_worker_registration.h" 10 #include "content/browser/service_worker/service_worker_registration.h"
(...skipping 29 matching lines...) Expand all
40 registration_, 40 registration_,
41 1L, context_->AsWeakPtr()); 41 1L, context_->AsWeakPtr());
42 42
43 // Prepare provider hosts (for the same process). 43 // Prepare provider hosts (for the same process).
44 scoped_ptr<ServiceWorkerProviderHost> host1(new ServiceWorkerProviderHost( 44 scoped_ptr<ServiceWorkerProviderHost> host1(new ServiceWorkerProviderHost(
45 kRenderProcessId, 1 /* provider_id */, 45 kRenderProcessId, 1 /* provider_id */,
46 context_->AsWeakPtr(), NULL)); 46 context_->AsWeakPtr(), NULL));
47 scoped_ptr<ServiceWorkerProviderHost> host2(new ServiceWorkerProviderHost( 47 scoped_ptr<ServiceWorkerProviderHost> host2(new ServiceWorkerProviderHost(
48 kRenderProcessId, 2 /* provider_id */, 48 kRenderProcessId, 2 /* provider_id */,
49 context_->AsWeakPtr(), NULL)); 49 context_->AsWeakPtr(), NULL));
50 host1->AssociateRegistration(registration_);
51 host2->AssociateRegistration(registration_);
50 provider_host1_ = host1->AsWeakPtr(); 52 provider_host1_ = host1->AsWeakPtr();
51 provider_host2_ = host2->AsWeakPtr(); 53 provider_host2_ = host2->AsWeakPtr();
52 context_->AddProviderHost(make_scoped_ptr(host1.release())); 54 context_->AddProviderHost(make_scoped_ptr(host1.release()));
53 context_->AddProviderHost(make_scoped_ptr(host2.release())); 55 context_->AddProviderHost(make_scoped_ptr(host2.release()));
54 } 56 }
55 57
56 virtual void TearDown() OVERRIDE { 58 virtual void TearDown() OVERRIDE {
57 version_ = 0; 59 version_ = 0;
58 registration_ = 0; 60 registration_ = 0;
59 context_.reset(); 61 context_.reset();
60 } 62 }
61 63
62 void SetActiveVersion( 64 void SetActiveVersion(
michaeln 2014/08/11 22:15:41 would it make sense to use the public ServiceWorke
nhiroki 2014/08/12 01:45:56 Done.
63 base::WeakPtr<ServiceWorkerProviderHost> provider_host, 65 base::WeakPtr<ServiceWorkerProviderHost> provider_host,
64 ServiceWorkerVersion* version) { 66 ServiceWorkerVersion* active_version) {
65 provider_host->SetActiveVersion(version); 67 provider_host->SetVersionAttributes(
68 provider_host->installing_version(),
69 provider_host->waiting_version(),
70 active_version);
66 } 71 }
67 72
68 void SetWaitingVersion( 73 void SetWaitingVersion(
69 base::WeakPtr<ServiceWorkerProviderHost> provider_host, 74 base::WeakPtr<ServiceWorkerProviderHost> provider_host,
70 ServiceWorkerVersion* version) { 75 ServiceWorkerVersion* waiting_version) {
71 provider_host->SetWaitingVersion(version); 76 provider_host->SetVersionAttributes(
77 provider_host->installing_version(),
78 waiting_version,
79 provider_host->active_version());
72 } 80 }
73 81
74 content::TestBrowserThreadBundle thread_bundle_; 82 content::TestBrowserThreadBundle thread_bundle_;
75 scoped_ptr<ServiceWorkerContextCore> context_; 83 scoped_ptr<ServiceWorkerContextCore> context_;
76 scoped_refptr<ServiceWorkerRegistration> registration_; 84 scoped_refptr<ServiceWorkerRegistration> registration_;
77 scoped_refptr<ServiceWorkerVersion> version_; 85 scoped_refptr<ServiceWorkerVersion> version_;
78 base::WeakPtr<ServiceWorkerProviderHost> provider_host1_; 86 base::WeakPtr<ServiceWorkerProviderHost> provider_host1_;
79 base::WeakPtr<ServiceWorkerProviderHost> provider_host2_; 87 base::WeakPtr<ServiceWorkerProviderHost> provider_host2_;
80 GURL scope_; 88 GURL scope_;
81 GURL script_url_; 89 GURL script_url_;
(...skipping 24 matching lines...) Expand all
106 SetActiveVersion_MultipleHostsForSameProcess) { 114 SetActiveVersion_MultipleHostsForSameProcess) {
107 ASSERT_FALSE(version_->HasProcessToRun()); 115 ASSERT_FALSE(version_->HasProcessToRun());
108 116
109 // Associating version_ to two providers as active version. 117 // Associating version_ to two providers as active version.
110 SetActiveVersion(provider_host1_, version_); 118 SetActiveVersion(provider_host1_, version_);
111 SetActiveVersion(provider_host2_, version_); 119 SetActiveVersion(provider_host2_, version_);
112 ASSERT_TRUE(version_->HasProcessToRun()); 120 ASSERT_TRUE(version_->HasProcessToRun());
113 121
114 // Disassociating one provider_host shouldn't remove all process refs 122 // Disassociating one provider_host shouldn't remove all process refs
115 // from the version yet. 123 // from the version yet.
116 SetActiveVersion(provider_host1_, NULL); 124 SetActiveVersion(provider_host1_, NULL);
michaeln 2014/08/11 22:15:41 This can be accomplished with the public host->Una
nhiroki 2014/08/12 01:45:56 Done.
117 ASSERT_TRUE(version_->HasProcessToRun()); 125 ASSERT_TRUE(version_->HasProcessToRun());
118 126
119 // Disassociating the other provider_host will remove all process refs. 127 // Disassociating the other provider_host will remove all process refs.
120 SetActiveVersion(provider_host2_, NULL); 128 SetActiveVersion(provider_host2_, NULL);
121 ASSERT_FALSE(version_->HasProcessToRun()); 129 ASSERT_FALSE(version_->HasProcessToRun());
122 } 130 }
123 131
124 TEST_F(ServiceWorkerProviderHostTest, SetWaitingVersion_ProcessStatus) { 132 TEST_F(ServiceWorkerProviderHostTest, SetWaitingVersion_ProcessStatus) {
125 ASSERT_FALSE(version_->HasProcessToRun()); 133 ASSERT_FALSE(version_->HasProcessToRun());
126 134
(...skipping 25 matching lines...) Expand all
152 // from the version yet. 160 // from the version yet.
153 SetWaitingVersion(provider_host1_, NULL); 161 SetWaitingVersion(provider_host1_, NULL);
154 ASSERT_TRUE(version_->HasProcessToRun()); 162 ASSERT_TRUE(version_->HasProcessToRun());
155 163
156 // Disassociating the other provider_host will remove all process refs. 164 // Disassociating the other provider_host will remove all process refs.
157 SetWaitingVersion(provider_host2_, NULL); 165 SetWaitingVersion(provider_host2_, NULL);
158 ASSERT_FALSE(version_->HasProcessToRun()); 166 ASSERT_FALSE(version_->HasProcessToRun());
159 } 167 }
160 168
161 } // namespace content 169 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698