| 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..bcefcd3975a80db948446c6e892bca8a5287665a 100644
|
| --- a/content/browser/service_worker/embedded_worker_test_helper.cc
|
| +++ b/content/browser/service_worker/embedded_worker_test_helper.cc
|
| @@ -8,22 +8,31 @@
|
| #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);
|
| + wrapper_->context()->SetProcessManagerForTest(
|
| + make_scoped_ptr(new ServiceWorkerProcessManager(
|
| + wrapper_, base::Bind(AlwaysTrue), base::Bind(AlwaysTrue))));
|
| registry()->AddChildProcessSender(mock_render_process_id, this);
|
| }
|
|
|
| EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() {
|
| + if (wrapper_)
|
| + wrapper_->Shutdown();
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::SimulateAddProcessToWorker(
|
| @@ -58,6 +67,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 +237,8 @@ void EmbeddedWorkerTestHelper::OnFetchEventStub(
|
| }
|
|
|
| EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() {
|
| - DCHECK(context_);
|
| - return context_->embedded_worker_registry();
|
| + DCHECK(context());
|
| + return context()->embedded_worker_registry();
|
| }
|
|
|
| } // namespace content
|
|
|