OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |