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

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

Issue 1675613002: service worker: use 200 OK for update requests even in the no update case (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: asan and fix win compile? Created 4 years, 10 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_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 6d10c3179e5a448f88528dd02f7a2400be14272c..67e7f26fba5feb3463f15ebd5d51969e3722421c 100644
--- a/content/browser/service_worker/embedded_worker_instance_unittest.cc
+++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc
@@ -118,13 +118,15 @@ class StalledInStartWorkerHelper : public EmbeddedWorkerTestHelper {
void OnStartWorker(int embedded_worker_id,
int64_t service_worker_version_id,
const GURL& scope,
- const GURL& script_url) override {
+ const GURL& script_url,
+ bool pause_after_download) override {
if (force_stall_in_start_) {
// Do nothing to simulate a stall in the worker process.
return;
}
- EmbeddedWorkerTestHelper::OnStartWorker(
- embedded_worker_id, service_worker_version_id, scope, script_url);
+ EmbeddedWorkerTestHelper::OnStartWorker(embedded_worker_id,
+ service_worker_version_id, scope,
+ script_url, pause_after_download);
}
void set_force_stall_in_start(bool force_stall_in_start) {
@@ -471,6 +473,34 @@ TEST_F(EmbeddedWorkerInstanceTest, StopDuringProcessAllocation) {
worker->Stop();
}
+TEST_F(EmbeddedWorkerInstanceTest, StopDuringPausedAfterDownload) {
+ const int64_t version_id = 55L;
+ const GURL scope("http://example.com/");
+ const GURL url("http://example.com/worker.js");
+
+ scoped_ptr<EmbeddedWorkerInstance> worker =
+ embedded_worker_registry()->CreateWorker();
+ worker->AddListener(this);
+
+ // Run the start worker sequence until pause after download.
+ ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
+ worker->Start(version_id, scope, url, base::Bind(&SaveStatusAndCall, &status,
+ base::Bind(base::DoNothing)),
+ true /* pause_after_download */);
+ base::RunLoop().RunUntilIdle();
+
+ // Make the worker stopping and attempt to send a resume after download
+ // message.
+ worker->Stop();
+ worker->ResumeAfterDownload();
+ base::RunLoop().RunUntilIdle();
+
+ // The resume after download message should not have been sent.
+ EXPECT_EQ(EmbeddedWorkerInstance::STOPPED, worker->status());
+ EXPECT_FALSE(ipc_sink()->GetFirstMessageMatching(
+ EmbeddedWorkerMsg_ResumeAfterDownload::ID));
+}
+
TEST_F(EmbeddedWorkerInstanceTest, StopAfterSendingStartWorkerMessage) {
const int64_t version_id = 55L;
const GURL scope("http://example.com/");

Powered by Google App Engine
This is Rietveld 408576698