| 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 2b9644ca92a59ec6e175f9ef020e6422283563be..d70420a970e8010fe37c27ca98796d690d6b327d 100644
|
| --- a/content/browser/service_worker/embedded_worker_test_helper.cc
|
| +++ b/content/browser/service_worker/embedded_worker_test_helper.cc
|
| @@ -24,7 +24,6 @@
|
| #include "content/common/service_worker/embedded_worker_start_params.h"
|
| #include "content/common/service_worker/fetch_event_dispatcher.mojom.h"
|
| #include "content/common/service_worker/service_worker_messages.h"
|
| -#include "content/common/service_worker/service_worker_status_code.h"
|
| #include "content/public/common/push_event_payload.h"
|
| #include "content/public/test/mock_render_process_host.h"
|
| #include "content/public/test/test_browser_context.h"
|
| @@ -61,18 +60,16 @@ class MockMessagePortMessageFilter : public MessagePortMessageFilter {
|
| class EmbeddedWorkerTestHelper::MockEmbeddedWorkerSetup
|
| : public mojom::EmbeddedWorkerSetup {
|
| public:
|
| + explicit MockEmbeddedWorkerSetup(
|
| + const base::WeakPtr<EmbeddedWorkerTestHelper>& helper)
|
| + : helper_(helper) {}
|
| +
|
| static void Create(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper,
|
| mojom::EmbeddedWorkerSetupRequest request) {
|
| mojo::MakeStrongBinding(base::MakeUnique<MockEmbeddedWorkerSetup>(helper),
|
| std::move(request));
|
| }
|
|
|
| - explicit MockEmbeddedWorkerSetup(
|
| - const base::WeakPtr<EmbeddedWorkerTestHelper>& helper)
|
| - : helper_(helper) {}
|
| -
|
| - ~MockEmbeddedWorkerSetup() override {}
|
| -
|
| void ExchangeInterfaceProviders(
|
| int32_t thread_id,
|
| shell::mojom::InterfaceProviderRequest request,
|
| @@ -109,10 +106,23 @@ void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StartWorker(
|
|
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker,
|
| - helper_->weak_factory_.GetWeakPtr(), params.embedded_worker_id,
|
| - params.service_worker_version_id, params.scope,
|
| - params.script_url, params.pause_after_download));
|
| + base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, helper_->AsWeakPtr(),
|
| + params.embedded_worker_id, params.service_worker_version_id,
|
| + params.scope, params.script_url, params.pause_after_download));
|
| +}
|
| +
|
| +void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StopWorker(
|
| + const StopWorkerCallback& callback) {
|
| + if (!helper_)
|
| + return;
|
| +
|
| + ASSERT_TRUE(embedded_worker_id_);
|
| + EmbeddedWorkerInstance* worker =
|
| + helper_->registry()->GetWorker(embedded_worker_id_.value());
|
| + ASSERT_TRUE(worker != NULL);
|
| + EXPECT_EQ(EmbeddedWorkerStatus::STOPPING, worker->status());
|
| +
|
| + callback.Run();
|
| }
|
|
|
| // static
|
| @@ -234,6 +244,11 @@ bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) {
|
| return handled;
|
| }
|
|
|
| +void EmbeddedWorkerTestHelper::RegisterMockInstanceClient(
|
| + std::unique_ptr<MockEmbeddedWorkerInstanceClient> client) {
|
| + mock_instance_clients_.push_back(std::move(client));
|
| +}
|
| +
|
| ServiceWorkerContextCore* EmbeddedWorkerTestHelper::context() {
|
| return wrapper_->context();
|
| }
|
| @@ -420,10 +435,9 @@ void EmbeddedWorkerTestHelper::OnStartWorkerStub(
|
| EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status());
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker,
|
| - weak_factory_.GetWeakPtr(), params.embedded_worker_id,
|
| - params.service_worker_version_id, params.scope,
|
| - params.script_url, params.pause_after_download));
|
| + base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, AsWeakPtr(),
|
| + params.embedded_worker_id, params.service_worker_version_id,
|
| + params.scope, params.script_url, params.pause_after_download));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub(
|
| @@ -432,7 +446,7 @@ void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub(
|
| ASSERT_TRUE(worker);
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload,
|
| - weak_factory_.GetWeakPtr(), embedded_worker_id));
|
| + AsWeakPtr(), embedded_worker_id));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) {
|
| @@ -440,7 +454,7 @@ void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) {
|
| ASSERT_TRUE(worker != NULL);
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnStopWorker,
|
| - weak_factory_.GetWeakPtr(), embedded_worker_id));
|
| + AsWeakPtr(), embedded_worker_id));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnMessageToWorkerStub(
|
| @@ -454,30 +468,30 @@ void EmbeddedWorkerTestHelper::OnMessageToWorkerStub(
|
| FROM_HERE,
|
| base::Bind(
|
| base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker),
|
| - weak_factory_.GetWeakPtr(), thread_id, embedded_worker_id, message));
|
| + AsWeakPtr(), thread_id, embedded_worker_id, message));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) {
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent,
|
| - weak_factory_.GetWeakPtr(),
|
| - current_embedded_worker_id_, request_id));
|
| + FROM_HERE,
|
| + base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, AsWeakPtr(),
|
| + current_embedded_worker_id_, request_id));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub(
|
| int request_id,
|
| const ServiceWorkerMsg_ExtendableMessageEvent_Params& params) {
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent,
|
| - weak_factory_.GetWeakPtr(),
|
| - current_embedded_worker_id_, request_id));
|
| + FROM_HERE,
|
| + base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent,
|
| + AsWeakPtr(), current_embedded_worker_id_, request_id));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnInstallEventStub(int request_id) {
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent,
|
| - weak_factory_.GetWeakPtr(),
|
| - current_embedded_worker_id_, request_id));
|
| + FROM_HERE,
|
| + base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent, AsWeakPtr(),
|
| + current_embedded_worker_id_, request_id));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnFetchEventStub(
|
| @@ -486,18 +500,17 @@ void EmbeddedWorkerTestHelper::OnFetchEventStub(
|
| const ServiceWorkerFetchRequest& request,
|
| const FetchCallback& callback) {
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnFetchEvent,
|
| - weak_factory_.GetWeakPtr(),
|
| - thread_id_embedded_worker_id_map_[thread_id],
|
| - response_id, request, callback));
|
| + FROM_HERE,
|
| + base::Bind(&EmbeddedWorkerTestHelper::OnFetchEvent, AsWeakPtr(),
|
| + thread_id_embedded_worker_id_map_[thread_id], response_id,
|
| + request, callback));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnPushEventStub(
|
| int request_id,
|
| const PushEventPayload& payload) {
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent,
|
| - weak_factory_.GetWeakPtr(),
|
| + FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent, AsWeakPtr(),
|
| current_embedded_worker_id_, request_id, payload));
|
| }
|
|
|
| @@ -536,9 +549,9 @@ EmbeddedWorkerTestHelper::CreateInterfaceRegistry(MockRenderProcessHost* rph) {
|
| std::unique_ptr<shell::InterfaceRegistry> registry(
|
| new shell::InterfaceRegistry);
|
| registry->AddInterface(
|
| - base::Bind(&MockEmbeddedWorkerSetup::Create, weak_factory_.GetWeakPtr()));
|
| - registry->AddInterface(base::Bind(&MockEmbeddedWorkerInstanceClient::Bind,
|
| - weak_factory_.GetWeakPtr()));
|
| + base::Bind(&MockEmbeddedWorkerSetup::Create, AsWeakPtr()));
|
| + registry->AddInterface(
|
| + base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr()));
|
|
|
| shell::mojom::InterfaceProviderPtr interfaces;
|
| registry->Bind(mojo::GetProxy(&interfaces));
|
|
|