| 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 1253a28f20ad9084945af84e807752833ee04f2f..f2df6b57612e8242b411fa28ae93d1757f9ebd2b 100644
|
| --- a/content/browser/service_worker/embedded_worker_instance_unittest.cc
|
| +++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc
|
| @@ -8,7 +8,6 @@
|
| #include <utility>
|
| #include <vector>
|
|
|
| -#include "base/command_line.h"
|
| #include "base/macros.h"
|
| #include "base/run_loop.h"
|
| #include "base/stl_util.h"
|
| @@ -17,13 +16,9 @@
|
| #include "content/browser/service_worker/embedded_worker_test_helper.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.mojom.h"
|
| #include "content/common/service_worker/embedded_worker_messages.h"
|
| -#include "content/common/service_worker/embedded_worker_start_params.h"
|
| #include "content/public/common/child_process_host.h"
|
| -#include "content/public/common/content_switches.h"
|
| #include "content/public/test/test_browser_thread_bundle.h"
|
| -#include "mojo/public/cpp/bindings/strong_binding.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -38,15 +33,14 @@
|
| callback.Run();
|
| }
|
|
|
| -std::unique_ptr<EmbeddedWorkerStartParams>
|
| +std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params>
|
| CreateStartParams(int version_id, const GURL& scope, const GURL& script_url) {
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| - new EmbeddedWorkerStartParams);
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| + new EmbeddedWorkerMsg_StartWorker_Params);
|
| 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;
|
| }
|
|
|
| @@ -103,7 +97,7 @@
|
| const GURL& url) {
|
| ServiceWorkerStatusCode status;
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params =
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params =
|
| CreateStartParams(id, pattern, url);
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -126,24 +120,6 @@
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerInstanceTest);
|
| -};
|
| -
|
| -class EmbeddedWorkerInstanceTestP : public EmbeddedWorkerInstanceTest,
|
| - public testing::WithParamInterface<bool> {
|
| - protected:
|
| - void SetUp() override {
|
| - is_mojo_enabled_ = GetParam();
|
| - if (is_mojo_enabled()) {
|
| - base::CommandLine::ForCurrentProcess()->AppendSwitch(
|
| - switches::kMojoServiceWorker);
|
| - }
|
| - EmbeddedWorkerInstanceTest::SetUp();
|
| - }
|
| -
|
| - bool is_mojo_enabled() { return is_mojo_enabled_; }
|
| -
|
| - private:
|
| - bool is_mojo_enabled_ = false;
|
| };
|
|
|
| // A helper to simulate the start worker sequence is stalled in a worker
|
| @@ -186,11 +162,10 @@
|
| }
|
| };
|
|
|
| -TEST_P(EmbeddedWorkerInstanceTestP, StartAndStop) {
|
| - std::unique_ptr<EmbeddedWorkerInstance> worker =
|
| - embedded_worker_registry()->CreateWorker();
|
| - EXPECT_EQ(EmbeddedWorkerStatus::STOPPED, worker->status());
|
| - worker->AddListener(this);
|
| +TEST_F(EmbeddedWorkerInstanceTest, StartAndStop) {
|
| + std::unique_ptr<EmbeddedWorkerInstance> worker =
|
| + embedded_worker_registry()->CreateWorker();
|
| + EXPECT_EQ(EmbeddedWorkerStatus::STOPPED, worker->status());
|
|
|
| const int64_t service_worker_version_id = 55L;
|
| const GURL pattern("http://example.com/");
|
| @@ -203,7 +178,7 @@
|
| // Start should succeed.
|
| ServiceWorkerStatusCode status;
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params =
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params =
|
| CreateStartParams(service_worker_version_id, pattern, url);
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -225,21 +200,11 @@
|
| // EmbeddedWorkerTestHelper.
|
| EXPECT_EQ(EmbeddedWorkerStatus::STOPPED, worker->status());
|
|
|
| - if (!is_mojo_enabled()) {
|
| - // Verify that we've sent two messages to start and terminate the worker.
|
| - ASSERT_TRUE(ipc_sink()->GetUniqueMessageMatching(
|
| - EmbeddedWorkerMsg_StartWorker::ID));
|
| - }
|
| - // StopWorker should be sent in either case.
|
| + // Verify that we've sent two messages to start and terminate the worker.
|
| + ASSERT_TRUE(
|
| + ipc_sink()->GetUniqueMessageMatching(EmbeddedWorkerMsg_StartWorker::ID));
|
| ASSERT_TRUE(ipc_sink()->GetUniqueMessageMatching(
|
| EmbeddedWorkerMsg_StopWorker::ID));
|
| -
|
| - // Check if the IPCs are fired in expected order.
|
| - ASSERT_EQ(4u, events_.size());
|
| - EXPECT_EQ(PROCESS_ALLOCATED, events_[0].type);
|
| - EXPECT_EQ(START_WORKER_MESSAGE_SENT, events_[1].type);
|
| - EXPECT_EQ(STARTED, events_[2].type);
|
| - EXPECT_EQ(STOPPED, events_[3].type);
|
| }
|
|
|
| // Test that a worker that failed twice will use a new render process
|
| @@ -268,7 +233,7 @@
|
| // Start once normally.
|
| ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(service_worker_version_id, pattern, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -292,7 +257,7 @@
|
| // Start again.
|
| ServiceWorkerStatusCode status;
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(service_worker_version_id, pattern, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -372,7 +337,7 @@
|
| // Start worker1.
|
| ServiceWorkerStatusCode status;
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id1, pattern, url));
|
| worker1->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -384,7 +349,7 @@
|
| // Start worker2.
|
| ServiceWorkerStatusCode status;
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id2, pattern, url));
|
| worker2->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -421,7 +386,7 @@
|
|
|
| // Run the start worker sequence and detach during process allocation.
|
| ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id, scope, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| base::Bind(&base::DoNothing)));
|
| @@ -453,7 +418,7 @@
|
|
|
| // Run the start worker sequence until a start worker message is sent.
|
| ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id, scope, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| base::Bind(&base::DoNothing)));
|
| @@ -492,7 +457,7 @@
|
| // Stop the start worker sequence before a process is allocated.
|
| ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
|
|
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id, scope, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| base::Bind(&base::DoNothing)));
|
| @@ -542,7 +507,7 @@
|
| // Run the start worker sequence until pause after download.
|
| ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
|
|
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id, scope, url));
|
| params->pause_after_download = true;
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| @@ -573,7 +538,7 @@
|
|
|
| // Run the start worker sequence until a start worker message is sent.
|
| ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id, scope, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| base::Bind(&base::DoNothing)));
|
| @@ -635,7 +600,7 @@
|
|
|
| // Start the worker.
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id, pattern, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -670,7 +635,7 @@
|
|
|
| // Attempt to start the worker.
|
| base::RunLoop run_loop;
|
| - std::unique_ptr<EmbeddedWorkerStartParams> params(
|
| + std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params(
|
| CreateStartParams(version_id, pattern, url));
|
| worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
|
| run_loop.QuitClosure()));
|
| @@ -684,8 +649,4 @@
|
| EXPECT_EQ(EmbeddedWorkerStatus::STARTING, events_[1].status);
|
| }
|
|
|
| -INSTANTIATE_TEST_CASE_P(EmbeddedWorkerInstanceTest,
|
| - EmbeddedWorkerInstanceTestP,
|
| - ::testing::Values(false, true));
|
| -
|
| } // namespace content
|
|
|