| 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 b2f802133e3304c61d69a9c05e8eebff7d25e177..93abef456f330cac6d41d9a786eb8b32b5f68e41 100644
|
| --- a/content/browser/service_worker/embedded_worker_test_helper.cc
|
| +++ b/content/browser/service_worker/embedded_worker_test_helper.cc
|
| @@ -61,26 +61,17 @@ 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));
|
| + // TODO(shimazu): Remove this mock after EmbeddedWorkerSetup is removed.
|
| + NOTREACHED();
|
| }
|
|
|
| void AttachServiceWorkerEventDispatcher(
|
| int32_t thread_id,
|
| mojom::ServiceWorkerEventDispatcherRequest request) override {
|
| - if (!helper_)
|
| - return;
|
| - helper_->OnSetupMojo(thread_id, std::move(request));
|
| + NOTREACHED();
|
| }
|
| -
|
| - private:
|
| - base::WeakPtr<EmbeddedWorkerTestHelper> helper_;
|
| };
|
|
|
| EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::
|
| @@ -101,18 +92,10 @@ void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StartWorker(
|
|
|
| EmbeddedWorkerInstance* worker =
|
| helper_->registry()->GetWorker(params.embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status());
|
|
|
| - base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, helper_->AsWeakPtr(),
|
| - params.embedded_worker_id, params.service_worker_version_id,
|
| - params.scope, params.script_url, params.pause_after_download));
|
| - base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&EmbeddedWorkerTestHelper::OnSetupMojo, helper_->AsWeakPtr(),
|
| - worker->thread_id(), base::Passed(&dispatcher_request)));
|
| + helper_->OnStartWorkerStub(params, std::move(dispatcher_request));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StopWorker(
|
| @@ -127,7 +110,7 @@ void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StopWorker(
|
| // is removed right after sending StopWorker.
|
| if (worker)
|
| EXPECT_EQ(EmbeddedWorkerStatus::STOPPING, worker->status());
|
| - callback.Run();
|
| + helper_->OnStopWorkerStub(callback);
|
| }
|
|
|
| // static
|
| @@ -256,10 +239,8 @@ bool EmbeddedWorkerTestHelper::Send(IPC::Message* message) {
|
| bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) {
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message)
|
| - IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StartWorker, OnStartWorkerStub)
|
| IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_ResumeAfterDownload,
|
| OnResumeAfterDownloadStub)
|
| - IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StopWorker, OnStopWorkerStub)
|
| IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_MessageToWorker,
|
| OnMessageToWorkerStub)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| @@ -298,11 +279,18 @@ net::HttpResponseInfo EmbeddedWorkerTestHelper::CreateHttpResponseInfo() {
|
| return info;
|
| }
|
|
|
| -void EmbeddedWorkerTestHelper::OnStartWorker(int embedded_worker_id,
|
| - int64_t service_worker_version_id,
|
| - const GURL& scope,
|
| - const GURL& script_url,
|
| - bool pause_after_download) {
|
| +void EmbeddedWorkerTestHelper::OnStartWorker(
|
| + int embedded_worker_id,
|
| + int64_t service_worker_version_id,
|
| + const GURL& scope,
|
| + const GURL& script_url,
|
| + bool pause_after_download,
|
| + mojom::ServiceWorkerEventDispatcherRequest request) {
|
| + EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| + ASSERT_TRUE(worker);
|
| + MockServiceWorkerEventDispatcher::Create(AsWeakPtr(), worker->thread_id(),
|
| + std::move(request));
|
| +
|
| embedded_worker_id_service_worker_version_id_map_[embedded_worker_id] =
|
| service_worker_version_id;
|
| SimulateWorkerReadyForInspection(embedded_worker_id);
|
| @@ -318,9 +306,10 @@ void EmbeddedWorkerTestHelper::OnResumeAfterDownload(int embedded_worker_id) {
|
| SimulateWorkerStarted(embedded_worker_id);
|
| }
|
|
|
| -void EmbeddedWorkerTestHelper::OnStopWorker(int embedded_worker_id) {
|
| +void EmbeddedWorkerTestHelper::OnStopWorker(
|
| + const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback) {
|
| // By default just notify the sender that the worker is stopped.
|
| - SimulateWorkerStopped(embedded_worker_id);
|
| + callback.Run();
|
| }
|
|
|
| bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id,
|
| @@ -339,13 +328,6 @@ bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id,
|
| return handled;
|
| }
|
|
|
| -void EmbeddedWorkerTestHelper::OnSetupMojo(
|
| - int thread_id,
|
| - mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) {
|
| - MockServiceWorkerEventDispatcher::Create(AsWeakPtr(), thread_id,
|
| - std::move(dispatcher_request));
|
| -}
|
| -
|
| void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id,
|
| int request_id) {
|
| SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished(
|
| @@ -403,7 +385,7 @@ void EmbeddedWorkerTestHelper::OnPushEvent(int embedded_worker_id,
|
| void EmbeddedWorkerTestHelper::SimulateWorkerReadyForInspection(
|
| int embedded_worker_id) {
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| registry()->OnWorkerReadyForInspection(worker->process_id(),
|
| embedded_worker_id);
|
| }
|
| @@ -428,7 +410,7 @@ void EmbeddedWorkerTestHelper::SimulateWorkerScriptCached(
|
| void EmbeddedWorkerTestHelper::SimulateWorkerScriptLoaded(
|
| int embedded_worker_id) {
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| registry()->OnWorkerScriptLoaded(worker->process_id(), embedded_worker_id);
|
| }
|
|
|
| @@ -437,7 +419,7 @@ void EmbeddedWorkerTestHelper::SimulateWorkerThreadStarted(
|
| int embedded_worker_id) {
|
| thread_id_embedded_worker_id_map_[thread_id] = embedded_worker_id;
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| registry()->OnWorkerThreadStarted(worker->process_id(), thread_id,
|
| embedded_worker_id);
|
| }
|
| @@ -446,20 +428,20 @@ void EmbeddedWorkerTestHelper::SimulateWorkerScriptEvaluated(
|
| int embedded_worker_id,
|
| bool success) {
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| registry()->OnWorkerScriptEvaluated(worker->process_id(), embedded_worker_id,
|
| success);
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::SimulateWorkerStarted(int embedded_worker_id) {
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| registry()->OnWorkerStarted(worker->process_id(), embedded_worker_id);
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::SimulateWorkerStopped(int embedded_worker_id) {
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - if (worker != NULL)
|
| + if (worker)
|
| registry()->OnWorkerStopped(worker->process_id(), embedded_worker_id);
|
| }
|
|
|
| @@ -469,16 +451,18 @@ void EmbeddedWorkerTestHelper::SimulateSend(IPC::Message* message) {
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnStartWorkerStub(
|
| - const EmbeddedWorkerStartParams& params) {
|
| + const EmbeddedWorkerStartParams& params,
|
| + mojom::ServiceWorkerEventDispatcherRequest request) {
|
| EmbeddedWorkerInstance* worker =
|
| registry()->GetWorker(params.embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status());
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| FROM_HERE,
|
| base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, AsWeakPtr(),
|
| params.embedded_worker_id, params.service_worker_version_id,
|
| - params.scope, params.script_url, params.pause_after_download));
|
| + params.scope, params.script_url, params.pause_after_download,
|
| + base::Passed(&request)));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub(
|
| @@ -490,12 +474,11 @@ void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub(
|
| AsWeakPtr(), embedded_worker_id));
|
| }
|
|
|
| -void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) {
|
| - EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| +void EmbeddedWorkerTestHelper::OnStopWorkerStub(
|
| + const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback) {
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnStopWorker,
|
| - AsWeakPtr(), embedded_worker_id));
|
| + AsWeakPtr(), callback));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnMessageToWorkerStub(
|
| @@ -503,7 +486,7 @@ void EmbeddedWorkerTestHelper::OnMessageToWorkerStub(
|
| int embedded_worker_id,
|
| const IPC::Message& message) {
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| - ASSERT_TRUE(worker != NULL);
|
| + ASSERT_TRUE(worker);
|
| EXPECT_EQ(worker->thread_id(), thread_id);
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| FROM_HERE,
|
|
|