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

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

Issue 380093002: Update installed ServiceWorkers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 82d206142a183a7e1d34c093e915d10730a75456..babfe74009a1052c11d0aa2ba4bffe21ef78d26d 100644
--- a/content/browser/service_worker/embedded_worker_test_helper.cc
+++ b/content/browser/service_worker/embedded_worker_test_helper.cc
@@ -18,6 +18,7 @@ namespace content {
EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper(int mock_render_process_id)
: wrapper_(new ServiceWorkerContextWrapper(NULL)),
next_thread_id_(0),
+ mock_render_process_id_(mock_render_process_id),
weak_factory_(this) {
wrapper_->InitInternal(base::FilePath(),
base::MessageLoopProxy::current(),
@@ -53,7 +54,9 @@ bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StartWorker, OnStartWorkerStub)
IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StopWorker, OnStopWorkerStub)
IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_MessageToWorker,
- OnMessageToWorkerStub)
+ OnMessageToWorkerStub);
+ IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_ResumeAfterDownload,
+ OnResumeAfterDownloadStub);
falken 2014/07/18 05:13:24 We should put the semicolon on all or none... grep
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@@ -77,8 +80,18 @@ void EmbeddedWorkerTestHelper::OnStartWorker(
int embedded_worker_id,
int64 service_worker_version_id,
const GURL& scope,
- const GURL& script_url) {
- // By default just notify the sender that the worker is started.
+ const GURL& script_url,
+ bool pause_after_download) {
+ if (pause_after_download) {
+ SimulatePausedAfterDownload(embedded_worker_id);
+ return;
+ }
+ SimulateWorkerScriptLoaded(embedded_worker_id);
+ SimulateWorkerStarted(next_thread_id_++, embedded_worker_id);
+}
+
+void EmbeddedWorkerTestHelper::OnResumeAfterDownload(int embedded_worker_id) {
+ SimulateWorkerScriptLoaded(embedded_worker_id);
SimulateWorkerStarted(next_thread_id_++, embedded_worker_id);
}
@@ -135,6 +148,20 @@ void EmbeddedWorkerTestHelper::OnFetchEvent(
std::string())));
}
+void EmbeddedWorkerTestHelper::SimulatePausedAfterDownload(
+ int embedded_worker_id) {
+ EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
+ ASSERT_TRUE(worker != NULL);
+ registry()->OnPausedAfterDownload(worker->process_id(), embedded_worker_id);
+}
+
+void EmbeddedWorkerTestHelper::SimulateWorkerScriptLoaded(
+ int embedded_worker_id) {
+ EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
+ ASSERT_TRUE(worker != NULL);
+ registry()->OnWorkerScriptLoaded(worker->process_id(), embedded_worker_id);
+}
+
void EmbeddedWorkerTestHelper::SimulateWorkerStarted(
int thread_id, int embedded_worker_id) {
EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
@@ -167,11 +194,23 @@ void EmbeddedWorkerTestHelper::OnStartWorkerStub(
base::MessageLoopProxy::current()->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));
+}
+
+void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub(
+ int embedded_worker_id) {
+ EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
+ ASSERT_TRUE(worker != NULL);
+ base::MessageLoopProxy::current()->PostTask(
+ FROM_HERE,
+ base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload,
weak_factory_.GetWeakPtr(),
- params.embedded_worker_id,
- params.service_worker_version_id,
- params.scope,
- params.script_url));
+ embedded_worker_id));
}
void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) {

Powered by Google App Engine
This is Rietveld 408576698