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

Side by Side Diff: content/browser/service_worker/service_worker_version_unittest.cc

Issue 1795863006: service worker: Attribute purpose to start worker attempts for UMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdint.h> 5 #include <stdint.h>
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "content/browser/message_port_service.h" 9 #include "content/browser/message_port_service.h"
10 #include "content/browser/service_worker/embedded_worker_registry.h" 10 #include "content/browser/service_worker/embedded_worker_registry.h"
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 helper_.reset(); 246 helper_.reset();
247 } 247 }
248 248
249 void SimulateDispatchEvent(ServiceWorkerMetrics::EventType event_type) { 249 void SimulateDispatchEvent(ServiceWorkerMetrics::EventType event_type) {
250 ServiceWorkerStatusCode status = 250 ServiceWorkerStatusCode status =
251 SERVICE_WORKER_ERROR_MAX_VALUE; // dummy value 251 SERVICE_WORKER_ERROR_MAX_VALUE; // dummy value
252 252
253 // Make sure worker is running. 253 // Make sure worker is running.
254 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner); 254 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner);
255 version_->RunAfterStartWorker(runner->QuitClosure(), 255 version_->RunAfterStartWorker(runner->QuitClosure(),
256 CreateReceiverOnCurrentThread(&status)); 256 CreateReceiverOnCurrentThread(&status),
257 event_type);
257 runner->Run(); 258 runner->Run();
258 EXPECT_EQ(SERVICE_WORKER_ERROR_MAX_VALUE, status); 259 EXPECT_EQ(SERVICE_WORKER_ERROR_MAX_VALUE, status);
259 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status()); 260 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status());
260 261
261 // Start request, as if an event is being dispatched. 262 // Start request, as if an event is being dispatched.
262 int request_id = version_->StartRequest( 263 int request_id = version_->StartRequest(
263 event_type, CreateReceiverOnCurrentThread(&status)); 264 event_type, CreateReceiverOnCurrentThread(&status));
264 base::RunLoop().RunUntilIdle(); 265 base::RunLoop().RunUntilIdle();
265 266
266 // And finish request, as if a response to the event was received. 267 // And finish request, as if a response to the event was received.
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
776 registration_->set_last_update_check(GetYesterday()); 777 registration_->set_last_update_check(GetYesterday());
777 base::TimeTicks stale_time = 778 base::TimeTicks stale_time =
778 base::TimeTicks::Now() - 779 base::TimeTicks::Now() -
779 base::TimeDelta::FromMinutes( 780 base::TimeDelta::FromMinutes(
780 ServiceWorkerVersion::kStartNewWorkerTimeoutMinutes + 1); 781 ServiceWorkerVersion::kStartNewWorkerTimeoutMinutes + 1);
781 version_->stale_time_ = stale_time; 782 version_->stale_time_ = stale_time;
782 783
783 // Stale time is not deferred. 784 // Stale time is not deferred.
784 version_->RunAfterStartWorker( 785 version_->RunAfterStartWorker(
785 base::Bind(&base::DoNothing), 786 base::Bind(&base::DoNothing),
786 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 787 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback),
788 ServiceWorkerMetrics::EventType::UNKNOWN);
787 version_->RunAfterStartWorker( 789 version_->RunAfterStartWorker(
788 base::Bind(&base::DoNothing), 790 base::Bind(&base::DoNothing),
789 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 791 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback),
792 ServiceWorkerMetrics::EventType::UNKNOWN);
790 base::RunLoop().RunUntilIdle(); 793 base::RunLoop().RunUntilIdle();
791 EXPECT_EQ(stale_time, version_->stale_time_); 794 EXPECT_EQ(stale_time, version_->stale_time_);
792 795
793 // Timeout triggers the update. 796 // Timeout triggers the update.
794 version_->OnTimeoutTimer(); 797 version_->OnTimeoutTimer();
795 EXPECT_TRUE(version_->stale_time_.is_null()); 798 EXPECT_TRUE(version_->stale_time_.is_null());
796 EXPECT_TRUE(version_->update_timer_.IsRunning()); 799 EXPECT_TRUE(version_->update_timer_.IsRunning());
797 800
798 // Update timer is not deferred. 801 // Update timer is not deferred.
799 base::TimeTicks run_time = version_->update_timer_.desired_run_time(); 802 base::TimeTicks run_time = version_->update_timer_.desired_run_time();
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
1456 helper_->SimulateSendSimpleEventResult( 1459 helper_->SimulateSendSimpleEventResult(
1457 version_->embedded_worker()->embedded_worker_id(), request_id, 1460 version_->embedded_worker()->embedded_worker_id(), request_id,
1458 blink::WebServiceWorkerEventResultRejected); 1461 blink::WebServiceWorkerEventResultRejected);
1459 runner->Run(); 1462 runner->Run();
1460 1463
1461 // Verify callback was called with correct status. 1464 // Verify callback was called with correct status.
1462 EXPECT_EQ(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, status); 1465 EXPECT_EQ(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, status);
1463 } 1466 }
1464 1467
1465 } // namespace content 1468 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698