Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(935)

Unified Diff: content/browser/service_worker/embedded_worker_test_helper.cc

Issue 2307543002: ServiceWorker: Mojofication of EWInstance::StopWorker (Closed)
Patch Set: Added a check of the status when detached Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
« no previous file with comments | « content/browser/service_worker/embedded_worker_test_helper.h ('k') | content/common/service_worker/embedded_worker.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698