| 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 8ec9bca7ebc974d5da1d5031793983b183565cd9..ebf1485571094172163de9e5d7760693db007cbe 100644
|
| --- a/content/browser/service_worker/service_worker_version_unittest.cc
|
| +++ b/content/browser/service_worker/service_worker_version_unittest.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/run_loop.h"
|
| +#include "content/browser/message_port_service.h"
|
| #include "content/browser/service_worker/embedded_worker_registry.h"
|
| #include "content/browser/service_worker/embedded_worker_test_helper.h"
|
| #include "content/browser/service_worker/service_worker_context_core.h"
|
| @@ -117,6 +118,15 @@ class MessageReceiverFromWorker : public EmbeddedWorkerInstance::Listener {
|
| DISALLOW_COPY_AND_ASSIGN(MessageReceiverFromWorker);
|
| };
|
|
|
| +void SetUpDummyMessagePort(std::vector<TransferredMessagePort>* ports) {
|
| + int port_id = -1;
|
| + MessagePortService::GetInstance()->Create(MSG_ROUTING_NONE, nullptr,
|
| + &port_id);
|
| + TransferredMessagePort dummy_port;
|
| + dummy_port.id = port_id;
|
| + ports->push_back(dummy_port);
|
| +}
|
| +
|
| } // namespace
|
|
|
| class ServiceWorkerVersionTest : public testing::Test {
|
| @@ -478,6 +488,20 @@ TEST_F(ServiceWorkerVersionTest, IdleTimeout) {
|
|
|
| EXPECT_EQ(SERVICE_WORKER_OK, status);
|
| EXPECT_LT(idle_time, version_->idle_time_);
|
| +
|
| + // Dispatching a message event resets the idle time.
|
| + std::vector<TransferredMessagePort> ports;
|
| + SetUpDummyMessagePort(&ports);
|
| + status = SERVICE_WORKER_ERROR_FAILED;
|
| + version_->idle_time_ -= kOneSecond;
|
| + idle_time = version_->idle_time_;
|
| + version_->DispatchMessageEvent(base::string16(), ports,
|
| + CreateReceiverOnCurrentThread(&status));
|
| + base::RunLoop().RunUntilIdle();
|
| + MessagePortService::GetInstance()->Destroy(ports[0].id);
|
| +
|
| + EXPECT_EQ(SERVICE_WORKER_OK, status);
|
| + EXPECT_LT(idle_time, version_->idle_time_);
|
| }
|
|
|
| TEST_F(ServiceWorkerVersionTest, SetDevToolsAttached) {
|
|
|