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

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

Issue 2490623005: Remove InterfaceRegistry/Provider from service workers (Closed)
Patch Set: Created 4 years, 1 month 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_instance_unittest.cc
diff --git a/content/browser/service_worker/embedded_worker_instance_unittest.cc b/content/browser/service_worker/embedded_worker_instance_unittest.cc
index 1ded6ee740fbf9e4d2a1c41773e6016a81c18f38..7f729ab681ba0169202c09926ebb12ac6ebb4f30 100644
--- a/content/browser/service_worker/embedded_worker_instance_unittest.cc
+++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc
@@ -21,6 +21,7 @@
#include "content/common/service_worker/embedded_worker.mojom.h"
#include "content/common/service_worker/embedded_worker_messages.h"
#include "content/common/service_worker/embedded_worker_start_params.h"
+#include "content/common/service_worker/service_worker_event_dispatcher.mojom.h"
#include "content/common/service_worker/service_worker_utils.h"
#include "content/public/common/child_process_host.h"
#include "content/public/common/content_switches.h"
@@ -40,18 +41,6 @@ void SaveStatusAndCall(ServiceWorkerStatusCode* out,
callback.Run();
}
-std::unique_ptr<EmbeddedWorkerStartParams>
-CreateStartParams(int version_id, const GURL& scope, const GURL& script_url) {
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- new EmbeddedWorkerStartParams);
- params->service_worker_version_id = version_id;
- params->scope = scope;
- params->script_url = script_url;
- params->pause_after_download = false;
- params->is_installed = false;
- return params;
-}
-
} // namespace
class EmbeddedWorkerInstanceTest : public testing::Test,
@@ -113,6 +102,24 @@ class EmbeddedWorkerInstanceTest : public testing::Test,
return status;
}
+ std::unique_ptr<EmbeddedWorkerStartParams>
+ CreateStartParams(int version_id, const GURL& scope, const GURL& script_url) {
+ std::unique_ptr<EmbeddedWorkerStartParams> params(
+ new EmbeddedWorkerStartParams);
+ params->internal.service_worker_version_id = version_id;
+ params->internal.scope = scope;
+ params->internal.script_url = script_url;
+ params->internal.pause_after_download = false;
+ params->internal.is_installed = false;
+ params->dispatcher_request = CreateEventDispatcher();
+ return params;
+ }
+
+ mojom::ServiceWorkerEventDispatcherRequest CreateEventDispatcher() {
+ dispatchers_.emplace_back();
+ return mojo::GetProxy(&dispatchers_.back());
+ }
+
ServiceWorkerContextCore* context() { return helper_->context(); }
EmbeddedWorkerRegistry* embedded_worker_registry() {
@@ -128,6 +135,8 @@ class EmbeddedWorkerInstanceTest : public testing::Test,
return helper_->mock_instance_clients();
}
+ std::vector<mojom::ServiceWorkerEventDispatcherPtr> dispatchers_;
+
TestBrowserThreadBundle thread_bundle_;
std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
std::vector<EventLog> events_;
@@ -261,8 +270,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, ForceNewProcess) {
// Start once normally.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
base::RunLoop run_loop;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(service_worker_version_id, pattern, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(service_worker_version_id, pattern, url);
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
run_loop.QuitClosure()));
run_loop.Run();
@@ -285,8 +294,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, ForceNewProcess) {
// Start again.
ServiceWorkerStatusCode status;
base::RunLoop run_loop;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(service_worker_version_id, pattern, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(service_worker_version_id, pattern, url);
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
run_loop.QuitClosure()));
EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status());
@@ -365,8 +374,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, RemoveWorkerInSharedProcess) {
// Start worker1.
ServiceWorkerStatusCode status;
base::RunLoop run_loop;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id1, pattern, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id1, pattern, url);
worker1->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
run_loop.QuitClosure()));
run_loop.Run();
@@ -377,8 +386,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, RemoveWorkerInSharedProcess) {
// Start worker2.
ServiceWorkerStatusCode status;
base::RunLoop run_loop;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id2, pattern, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id2, pattern, url);
worker2->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
run_loop.QuitClosure()));
run_loop.Run();
@@ -414,8 +423,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, DetachDuringProcessAllocation) {
// Run the start worker sequence and detach during process allocation.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, scope, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, scope, url);
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
base::Bind(&base::DoNothing)));
worker->Detach();
@@ -446,8 +455,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, DetachAfterSendingStartWorkerMessage) {
// Run the start worker sequence until a start worker message is sent.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, scope, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, scope, url);
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
base::Bind(&base::DoNothing)));
base::RunLoop().RunUntilIdle();
@@ -485,8 +494,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, StopDuringProcessAllocation) {
// Stop the start worker sequence before a process is allocated.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, scope, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, scope, url);
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
base::Bind(&base::DoNothing)));
worker->Stop();
@@ -541,9 +550,9 @@ TEST_P(EmbeddedWorkerInstanceTestP, StopDuringPausedAfterDownload) {
// Run the start worker sequence until pause after download.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, scope, url));
- params->pause_after_download = true;
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, scope, url);
+ params->internal.pause_after_download = true;
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
base::Bind(&base::DoNothing)));
base::RunLoop().RunUntilIdle();
@@ -572,8 +581,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, StopAfterSendingStartWorkerMessage) {
// Run the start worker sequence until a start worker message is sent.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, scope, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, scope, url);
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
base::Bind(&base::DoNothing)));
base::RunLoop().RunUntilIdle();
@@ -634,8 +643,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, Detach) {
// Start the worker.
base::RunLoop run_loop;
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, pattern, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, pattern, url);
worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
run_loop.QuitClosure()));
run_loop.Run();
@@ -673,8 +682,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, FailToSendStartIPC) {
worker->AddListener(this);
// Attempt to start the worker.
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, pattern, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, pattern, url);
if (is_mojo_enabled()) {
worker->Start(std::move(params),
base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
@@ -713,9 +722,8 @@ class FailEmbeddedWorkerInstanceClientImpl
private:
void StartWorker(
- const EmbeddedWorkerStartParams& /* unused */,
- service_manager::mojom::InterfaceProviderPtr /* unused */,
- service_manager::mojom::InterfaceProviderRequest /* unused */) override {
+ const EmbeddedWorkerStartParamsInternal& /* unused */,
+ mojom::ServiceWorkerEventDispatcherRequest /* unused */) override {
helper_->mock_instance_clients()->clear();
}
};
@@ -741,8 +749,8 @@ TEST_P(EmbeddedWorkerInstanceTestP, RemoveRemoteInterface) {
worker->AddListener(this);
// Attempt to start the worker.
- std::unique_ptr<EmbeddedWorkerStartParams> params(
- CreateStartParams(version_id, pattern, url));
+ std::unique_ptr<EmbeddedWorkerStartParams> params =
+ CreateStartParams(version_id, pattern, url);
worker->Start(std::move(params),
base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
base::RunLoop().RunUntilIdle();

Powered by Google App Engine
This is Rietveld 408576698