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 c4b2cd8e681e8b198ef0a7cde5bf3a81dcd38d99..181ecf707e55cc27894edb247190d3c93e248a75 100644 |
--- a/content/browser/service_worker/service_worker_provider_host_unittest.cc |
+++ b/content/browser/service_worker/service_worker_provider_host_unittest.cc |
@@ -5,6 +5,7 @@ |
#include "base/basictypes.h" |
#include "base/memory/weak_ptr.h" |
#include "base/thread_task_runner_handle.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" |
@@ -24,19 +25,12 @@ class ServiceWorkerProviderHostTest : public testing::Test { |
virtual ~ServiceWorkerProviderHostTest() {} |
virtual void SetUp() OVERRIDE { |
- context_.reset( |
- new ServiceWorkerContextCore(base::FilePath(), |
- base::ThreadTaskRunnerHandle::Get(), |
- base::ThreadTaskRunnerHandle::Get(), |
- base::ThreadTaskRunnerHandle::Get(), |
- NULL, |
- NULL, |
- NULL)); |
- |
- scope_ = GURL("http://www.example.com/"); |
+ helper_.reset(new EmbeddedWorkerTestHelper(kRenderProcessId)); |
+ context_ = helper_->context(); |
+ pattern_ = GURL("http://www.example.com/"); |
script_url_ = GURL("http://www.example.com/service_worker.js"); |
registration_ = new ServiceWorkerRegistration( |
- scope_, 1L, context_->AsWeakPtr()); |
+ pattern_, 1L, context_->AsWeakPtr()); |
version_ = new ServiceWorkerVersion( |
registration_.get(), script_url_, 1L, context_->AsWeakPtr()); |
@@ -56,7 +50,11 @@ class ServiceWorkerProviderHostTest : public testing::Test { |
virtual void TearDown() OVERRIDE { |
version_ = 0; |
registration_ = 0; |
- context_.reset(); |
+ helper_.reset(); |
+ } |
+ |
+ bool HasProcessToRun() const { |
+ return context_->process_manager()->PatternHasProcessToRun(pattern_); |
} |
void VerifyVersionAttributes( |
@@ -71,12 +69,13 @@ class ServiceWorkerProviderHostTest : public testing::Test { |
} |
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_; |
base::WeakPtr<ServiceWorkerProviderHost> provider_host2_; |
- GURL scope_; |
+ GURL pattern_; |
GURL script_url_; |
private: |
@@ -85,80 +84,80 @@ class ServiceWorkerProviderHostTest : public testing::Test { |
TEST_F(ServiceWorkerProviderHostTest, SetActiveVersion_ProcessStatus) { |
provider_host1_->AssociateRegistration(registration_.get()); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Associating version_ to a provider_host's active version will internally |
// add the provider_host's process ref to the version. |
registration_->SetActiveVersion(version_.get()); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Re-associating the same version and provider_host should just work too. |
registration_->SetActiveVersion(version_.get()); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Resetting the provider_host's active version should remove process refs |
// from the version. |
provider_host1_->UnassociateRegistration(); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
TEST_F(ServiceWorkerProviderHostTest, |
SetActiveVersion_MultipleHostsForSameProcess) { |
provider_host1_->AssociateRegistration(registration_.get()); |
provider_host2_->AssociateRegistration(registration_.get()); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Associating version_ to two providers as active version. |
registration_->SetActiveVersion(version_.get()); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating one provider_host shouldn't remove all process refs |
// from the version yet. |
provider_host1_->UnassociateRegistration(); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating the other provider_host will remove all process refs. |
provider_host2_->UnassociateRegistration(); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
TEST_F(ServiceWorkerProviderHostTest, SetWaitingVersion_ProcessStatus) { |
provider_host1_->AssociateRegistration(registration_.get()); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Associating version_ to a provider_host's waiting version will internally |
// add the provider_host's process ref to the version. |
registration_->SetWaitingVersion(version_.get()); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Re-associating the same version and provider_host should just work too. |
registration_->SetWaitingVersion(version_.get()); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Resetting the provider_host's waiting version should remove process refs |
// from the version. |
provider_host1_->UnassociateRegistration(); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
TEST_F(ServiceWorkerProviderHostTest, |
SetWaitingVersion_MultipleHostsForSameProcess) { |
provider_host1_->AssociateRegistration(registration_.get()); |
provider_host2_->AssociateRegistration(registration_.get()); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Associating version_ to two providers as waiting version. |
registration_->SetWaitingVersion(version_.get()); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating one provider_host shouldn't remove all process refs |
// from the version yet. |
provider_host1_->UnassociateRegistration(); |
- ASSERT_TRUE(version_->HasProcessToRun()); |
+ ASSERT_TRUE(HasProcessToRun()); |
// Disassociating the other provider_host will remove all process refs. |
provider_host2_->UnassociateRegistration(); |
- ASSERT_FALSE(version_->HasProcessToRun()); |
+ ASSERT_FALSE(HasProcessToRun()); |
} |
TEST_F(ServiceWorkerProviderHostTest, |