| 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 |