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 |