| Index: content/browser/service_worker/embedded_worker_test_helper.cc
|
| diff --git a/content/browser/service_worker/embedded_worker_test_helper.cc b/content/browser/service_worker/embedded_worker_test_helper.cc
|
| index 67ca05af7263a6eb494457df9c369c179e4eb098..7501f5a942628c5ef3eede71485f032f6a3dc55d 100644
|
| --- a/content/browser/service_worker/embedded_worker_test_helper.cc
|
| +++ b/content/browser/service_worker/embedded_worker_test_helper.cc
|
| @@ -8,22 +8,33 @@
|
| #include "content/browser/service_worker/embedded_worker_instance.h"
|
| #include "content/browser/service_worker/embedded_worker_registry.h"
|
| #include "content/browser/service_worker/service_worker_context_core.h"
|
| +#include "content/browser/service_worker/service_worker_context_wrapper.h"
|
| #include "content/common/service_worker/embedded_worker_messages.h"
|
| #include "content/common/service_worker/service_worker_messages.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace content {
|
|
|
| -EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper(
|
| - ServiceWorkerContextCore* context,
|
| - int mock_render_process_id)
|
| - : context_(context->AsWeakPtr()),
|
| +static bool AlwaysTrue(int process_id) {
|
| + return true;
|
| +}
|
| +
|
| +EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper(int mock_render_process_id)
|
| + : wrapper_(new ServiceWorkerContextWrapper(NULL)),
|
| next_thread_id_(0),
|
| weak_factory_(this) {
|
| + wrapper_->Init(base::FilePath(), NULL);
|
| + scoped_ptr<ServiceWorkerProcessManager> process_manager(
|
| + new ServiceWorkerProcessManager(wrapper_));
|
| + process_manager->SetProcessRefcountOpsForTest(base::Bind(AlwaysTrue),
|
| + base::Bind(AlwaysTrue));
|
| + wrapper_->context()->SetProcessManagerForTest(process_manager.Pass());
|
| registry()->AddChildProcessSender(mock_render_process_id, this);
|
| }
|
|
|
| EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() {
|
| + if (wrapper_)
|
| + wrapper_->Shutdown();
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::SimulateAddProcessToWorker(
|
| @@ -58,6 +69,15 @@ bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) {
|
| return handled;
|
| }
|
|
|
| +ServiceWorkerContextCore* EmbeddedWorkerTestHelper::context() {
|
| + return wrapper_->context();
|
| +}
|
| +
|
| +void EmbeddedWorkerTestHelper::ShutdownContext() {
|
| + wrapper_->Shutdown();
|
| + wrapper_ = NULL;
|
| +}
|
| +
|
| void EmbeddedWorkerTestHelper::OnStartWorker(
|
| int embedded_worker_id,
|
| int64 service_worker_version_id,
|
| @@ -219,8 +239,8 @@ void EmbeddedWorkerTestHelper::OnFetchEventStub(
|
| }
|
|
|
| EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() {
|
| - DCHECK(context_);
|
| - return context_->embedded_worker_registry();
|
| + DCHECK(context());
|
| + return context()->embedded_worker_registry();
|
| }
|
|
|
| } // namespace content
|
|
|