Index: content/browser/service_worker/service_worker_provider_host_unittest.cc |
diff --git a/content/browser/service_worker/service_worker_provider_host_unittest.cc b/content/browser/service_worker/service_worker_provider_host_unittest.cc |
index 91f20b30be77f7e1339432c499ec237c7977d4ee..3aa4a301002dc9fb563dd4af069670ee076ac4e7 100644 |
--- a/content/browser/service_worker/service_worker_provider_host_unittest.cc |
+++ b/content/browser/service_worker/service_worker_provider_host_unittest.cc |
@@ -4,6 +4,7 @@ |
#include "base/basictypes.h" |
#include "base/memory/weak_ptr.h" |
+#include "content/browser/service_worker/embedded_worker_test_helper.h" |
#include "content/browser/service_worker/service_worker_context_core.h" |
#include "content/browser/service_worker/service_worker_provider_host.h" |
#include "content/browser/service_worker/service_worker_register_job.h" |
@@ -23,14 +24,8 @@ class ServiceWorkerProviderHostTest : public testing::Test { |
virtual ~ServiceWorkerProviderHostTest() {} |
virtual void SetUp() OVERRIDE { |
- context_.reset( |
- new ServiceWorkerContextCore(base::FilePath(), |
- base::MessageLoopProxy::current(), |
- base::MessageLoopProxy::current(), |
- NULL, |
- NULL, |
- NULL)); |
- |
+ helper_.reset(new EmbeddedWorkerTestHelper(kRenderProcessId)); |
+ context_ = helper_->context(); |
scope_ = GURL("http://www.example.com/*"); |
script_url_ = GURL("http://www.example.com/service_worker.js"); |
registration_ = new ServiceWorkerRegistration( |
@@ -60,11 +55,16 @@ class ServiceWorkerProviderHostTest : public testing::Test { |
virtual void TearDown() OVERRIDE { |
version_ = 0; |
registration_ = 0; |
- context_.reset(); |
+ helper_.reset(); |
+ } |
+ |
+ bool HasProcessToRun() const { |
+ return context_->process_manager()->ScopeHasProcessToRun(scope_); |
} |
content::TestBrowserThreadBundle thread_bundle_; |
- scoped_ptr<ServiceWorkerContextCore> context_; |
+ scoped_ptr<EmbeddedWorkerTestHelper> helper_; |
+ ServiceWorkerContextCore* context_; |
scoped_refptr<ServiceWorkerRegistration> registration_; |
scoped_refptr<ServiceWorkerVersion> version_; |
base::WeakPtr<ServiceWorkerProviderHost> provider_host1_; |
@@ -78,77 +78,77 @@ class ServiceWorkerProviderHostTest : public testing::Test { |
}; |
TEST_F(ServiceWorkerProviderHostTest, SetActiveVersion_ProcessStatus) { |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
// Associating version_ to a provider_host's active version will internally |
// add the provider_host's process ref to the version. |
provider_host1_->SetActiveVersion(version_); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Re-associating the same version and provider_host should just work too. |
provider_host1_->SetActiveVersion(version_); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Resetting the provider_host's active version should remove process refs |
// from the version. |
provider_host1_->SetActiveVersion(NULL); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
TEST_F(ServiceWorkerProviderHostTest, |
SetActiveVersion_MultipleHostsForSameProcess) { |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
// Associating version_ to two providers as active version. |
provider_host1_->SetActiveVersion(version_); |
provider_host2_->SetActiveVersion(version_); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating one provider_host shouldn't remove all process refs |
// from the version yet. |
provider_host1_->SetActiveVersion(NULL); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating the other provider_host will remove all process refs. |
provider_host2_->SetActiveVersion(NULL); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
TEST_F(ServiceWorkerProviderHostTest, SetWaitingVersion_ProcessStatus) { |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
// Associating version_ to a provider_host's waiting version will internally |
// add the provider_host's process ref to the version. |
provider_host1_->SetWaitingVersion(version_); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Re-associating the same version and provider_host should just work too. |
provider_host1_->SetWaitingVersion(version_); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Resetting the provider_host's waiting version should remove process refs |
// from the version. |
provider_host1_->SetWaitingVersion(NULL); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
TEST_F(ServiceWorkerProviderHostTest, |
SetWaitingVersion_MultipleHostsForSameProcess) { |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
// Associating version_ to two providers as active version. |
provider_host1_->SetWaitingVersion(version_); |
provider_host2_->SetWaitingVersion(version_); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating one provider_host shouldn't remove all process refs |
// from the version yet. |
provider_host1_->SetWaitingVersion(NULL); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating the other provider_host will remove all process refs. |
provider_host2_->SetWaitingVersion(NULL); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
class ServiceWorkerProviderHostWaitingVersionTest : public testing::Test { |
@@ -159,13 +159,8 @@ class ServiceWorkerProviderHostWaitingVersionTest : public testing::Test { |
virtual ~ServiceWorkerProviderHostWaitingVersionTest() {} |
virtual void SetUp() OVERRIDE { |
- context_.reset( |
- new ServiceWorkerContextCore(base::FilePath(), |
- base::MessageLoopProxy::current(), |
- base::MessageLoopProxy::current(), |
- NULL, |
- NULL, |
- NULL)); |
+ helper_.reset(new EmbeddedWorkerTestHelper(kRenderProcessId)); |
+ context_ = helper_->context(); |
// Prepare provider hosts (for the same process). |
provider_host1_ = CreateProviderHost(GURL("http://www.example.com/foo")); |
@@ -184,11 +179,12 @@ class ServiceWorkerProviderHostWaitingVersionTest : public testing::Test { |
} |
virtual void TearDown() OVERRIDE { |
- context_.reset(); |
+ helper_.reset(); |
} |
content::TestBrowserThreadBundle thread_bundle_; |
- scoped_ptr<ServiceWorkerContextCore> context_; |
+ scoped_ptr<EmbeddedWorkerTestHelper> helper_; |
+ ServiceWorkerContextCore* context_; |
base::WeakPtr<ServiceWorkerProviderHost> provider_host1_; |
base::WeakPtr<ServiceWorkerProviderHost> provider_host2_; |
base::WeakPtr<ServiceWorkerProviderHost> provider_host3_; |