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

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

Issue 2824193002: Enable use_once_callback for //content/common/*.mojom (Closed)
Patch Set: rebase Created 3 years, 8 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/service_worker_version_unittest.cc
diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc
index 08aa0d18b0ab8d95ad4c059a8efb366fd8220bf6..53a36271e64207d1f5c38c87bac50849c95951ea 100644
--- a/content/browser/service_worker/service_worker_version_unittest.cc
+++ b/content/browser/service_worker/service_worker_version_unittest.cc
@@ -834,10 +834,10 @@ class MessageReceiverControlEvents : public MessageReceiver {
void OnExtendableMessageEvent(
mojom::ExtendableMessageEventPtr event,
- const mojom::ServiceWorkerEventDispatcher::
- DispatchExtendableMessageEventCallback& callback) override {
+ mojom::ServiceWorkerEventDispatcher::
+ DispatchExtendableMessageEventCallback callback) override {
EXPECT_FALSE(extendable_message_event_callback_);
- extendable_message_event_callback_ = callback;
+ extendable_message_event_callback_ = std::move(callback);
}
void OnStopWorker(int embedded_worker_id) override {
@@ -847,10 +847,13 @@ class MessageReceiverControlEvents : public MessageReceiver {
base::Unretained(this), embedded_worker_id);
}
- const mojom::ServiceWorkerEventDispatcher::
- DispatchExtendableMessageEventCallback&
- extendable_message_event_callback() {
- return extendable_message_event_callback_;
+ bool has_extendable_message_event_callback() {
+ return !extendable_message_event_callback_.is_null();
+ }
+
+ mojom::ServiceWorkerEventDispatcher::DispatchExtendableMessageEventCallback
+ TakeExtendableMessageEventCallback() {
+ return std::move(extendable_message_event_callback_);
}
const base::Closure& stop_worker_callback() { return stop_worker_callback_; }
@@ -869,11 +872,15 @@ class ServiceWorkerRequestTimeoutTest : public ServiceWorkerVersionTest {
return base::MakeUnique<MessageReceiverControlEvents>();
}
- const mojom::ServiceWorkerEventDispatcher::
- DispatchExtendableMessageEventCallback&
- extendable_message_event_callback() {
+ bool has_extendable_message_event_callback() {
+ return static_cast<MessageReceiverControlEvents*>(helper_.get())
+ ->has_extendable_message_event_callback();
+ }
+
+ mojom::ServiceWorkerEventDispatcher::DispatchExtendableMessageEventCallback
+ TakeExtendableMessageEventCallback() {
return static_cast<MessageReceiverControlEvents*>(helper_.get())
- ->extendable_message_event_callback();
+ ->TakeExtendableMessageEventCallback();
}
const base::Closure& stop_worker_callback() {
@@ -900,14 +907,14 @@ TEST_F(ServiceWorkerRequestTimeoutTest, RequestTimeout) {
CreateReceiverOnCurrentThread(&error_status));
// Dispatch a dummy event whose response will be received by SWVersion.
- EXPECT_FALSE(extendable_message_event_callback());
+ EXPECT_FALSE(has_extendable_message_event_callback());
version_->event_dispatcher()->DispatchExtendableMessageEvent(
mojom::ExtendableMessageEvent::New(),
version_->CreateSimpleEventCallback(request_id));
base::RunLoop().RunUntilIdle();
// The renderer should have received an ExtendableMessageEvent request.
- EXPECT_TRUE(extendable_message_event_callback());
+ EXPECT_TRUE(has_extendable_message_event_callback());
// Callback has not completed yet.
EXPECT_EQ(SERVICE_WORKER_ERROR_NETWORK, error_status);
@@ -930,8 +937,8 @@ TEST_F(ServiceWorkerRequestTimeoutTest, RequestTimeout) {
// Simulate the renderer aborting the pending event.
// This should not crash: https://crbug.com/676984.
- extendable_message_event_callback().Run(SERVICE_WORKER_ERROR_ABORT,
- base::Time::Now());
+ TakeExtendableMessageEventCallback().Run(SERVICE_WORKER_ERROR_ABORT,
+ base::Time::Now());
base::RunLoop().RunUntilIdle();
// Simulate the renderer stopping the worker.
« no previous file with comments | « content/browser/service_worker/service_worker_url_request_job_unittest.cc ('k') | content/child/url_loader_client_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698