| 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 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 TransferredMessagePort dummy_port; | 155 TransferredMessagePort dummy_port; |
| 156 dummy_port.id = port_id; | 156 dummy_port.id = port_id; |
| 157 ports->push_back(dummy_port); | 157 ports->push_back(dummy_port); |
| 158 } | 158 } |
| 159 | 159 |
| 160 base::Time GetYesterday() { | 160 base::Time GetYesterday() { |
| 161 return base::Time::Now() - base::TimeDelta::FromDays(1) - | 161 return base::Time::Now() - base::TimeDelta::FromDays(1) - |
| 162 base::TimeDelta::FromSeconds(1); | 162 base::TimeDelta::FromSeconds(1); |
| 163 } | 163 } |
| 164 | 164 |
| 165 class TestMojoServiceImpl : public TestMojoService { | 165 class TestMojoServiceImpl : public mojom::TestMojoService { |
| 166 public: | 166 public: |
| 167 static void Create(mojo::InterfaceRequest<TestMojoService> request) { | 167 static void Create(mojo::InterfaceRequest<mojom::TestMojoService> request) { |
| 168 new TestMojoServiceImpl(std::move(request)); | 168 new TestMojoServiceImpl(std::move(request)); |
| 169 } | 169 } |
| 170 | 170 |
| 171 void DoSomething(const DoSomethingCallback& callback) override { | 171 void DoSomething(const DoSomethingCallback& callback) override { |
| 172 callback.Run(); | 172 callback.Run(); |
| 173 } | 173 } |
| 174 | 174 |
| 175 void GetRequestorName(const GetRequestorNameCallback& callback) override { | 175 void GetRequestorName(const GetRequestorNameCallback& callback) override { |
| 176 callback.Run(mojo::String("")); | 176 callback.Run(mojo::String("")); |
| 177 } | 177 } |
| 178 | 178 |
| 179 private: | 179 private: |
| 180 explicit TestMojoServiceImpl(mojo::InterfaceRequest<TestMojoService> request) | 180 explicit TestMojoServiceImpl( |
| 181 mojo::InterfaceRequest<mojom::TestMojoService> request) |
| 181 : binding_(this, std::move(request)) {} | 182 : binding_(this, std::move(request)) {} |
| 182 | 183 |
| 183 mojo::StrongBinding<TestMojoService> binding_; | 184 mojo::StrongBinding<mojom::TestMojoService> binding_; |
| 184 }; | 185 }; |
| 185 | 186 |
| 186 } // namespace | 187 } // namespace |
| 187 | 188 |
| 188 class ServiceWorkerVersionTest : public testing::Test { | 189 class ServiceWorkerVersionTest : public testing::Test { |
| 189 protected: | 190 protected: |
| 190 struct RunningStateListener : public ServiceWorkerVersion::Listener { | 191 struct RunningStateListener : public ServiceWorkerVersion::Listener { |
| 191 RunningStateListener() : last_status(ServiceWorkerVersion::STOPPED) {} | 192 RunningStateListener() : last_status(ServiceWorkerVersion::STOPPED) {} |
| 192 ~RunningStateListener() override {} | 193 ~RunningStateListener() override {} |
| 193 void OnRunningStateChanged(ServiceWorkerVersion* version) override { | 194 void OnRunningStateChanged(ServiceWorkerVersion* version) override { |
| (...skipping 997 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1191 version_->StartWorker(ServiceWorkerMetrics::EventType::SYNC, | 1192 version_->StartWorker(ServiceWorkerMetrics::EventType::SYNC, |
| 1192 CreateReceiverOnCurrentThread(&status)); | 1193 CreateReceiverOnCurrentThread(&status)); |
| 1193 base::RunLoop().RunUntilIdle(); | 1194 base::RunLoop().RunUntilIdle(); |
| 1194 EXPECT_EQ(SERVICE_WORKER_OK, status); | 1195 EXPECT_EQ(SERVICE_WORKER_OK, status); |
| 1195 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status()); | 1196 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status()); |
| 1196 | 1197 |
| 1197 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner); | 1198 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner); |
| 1198 int request_id = version_->StartRequest( | 1199 int request_id = version_->StartRequest( |
| 1199 ServiceWorkerMetrics::EventType::SYNC, | 1200 ServiceWorkerMetrics::EventType::SYNC, |
| 1200 CreateReceiverOnCurrentThread(&status, runner->QuitClosure())); | 1201 CreateReceiverOnCurrentThread(&status, runner->QuitClosure())); |
| 1201 base::WeakPtr<TestMojoService> service = | 1202 base::WeakPtr<mojom::TestMojoService> service = |
| 1202 version_->GetMojoServiceForRequest<TestMojoService>(request_id); | 1203 version_->GetMojoServiceForRequest<mojom::TestMojoService>(request_id); |
| 1203 service->DoSomething(runner->QuitClosure()); | 1204 service->DoSomething(runner->QuitClosure()); |
| 1204 runner->Run(); | 1205 runner->Run(); |
| 1205 | 1206 |
| 1206 // Mojo service does exist in worker, so error callback should not have been | 1207 // Mojo service does exist in worker, so error callback should not have been |
| 1207 // called and FinishRequest should return true. | 1208 // called and FinishRequest should return true. |
| 1208 EXPECT_EQ(SERVICE_WORKER_OK, status); | 1209 EXPECT_EQ(SERVICE_WORKER_OK, status); |
| 1209 EXPECT_TRUE(version_->FinishRequest(request_id, true)); | 1210 EXPECT_TRUE(version_->FinishRequest(request_id, true)); |
| 1210 } | 1211 } |
| 1211 | 1212 |
| 1212 TEST_F(ServiceWorkerVersionTest, NonExistentMojoService) { | 1213 TEST_F(ServiceWorkerVersionTest, NonExistentMojoService) { |
| 1213 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_NETWORK; // dummy value | 1214 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_NETWORK; // dummy value |
| 1214 | 1215 |
| 1215 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); | 1216 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); |
| 1216 version_->StartWorker(ServiceWorkerMetrics::EventType::SYNC, | 1217 version_->StartWorker(ServiceWorkerMetrics::EventType::SYNC, |
| 1217 CreateReceiverOnCurrentThread(&status)); | 1218 CreateReceiverOnCurrentThread(&status)); |
| 1218 base::RunLoop().RunUntilIdle(); | 1219 base::RunLoop().RunUntilIdle(); |
| 1219 EXPECT_EQ(SERVICE_WORKER_OK, status); | 1220 EXPECT_EQ(SERVICE_WORKER_OK, status); |
| 1220 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status()); | 1221 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status()); |
| 1221 | 1222 |
| 1222 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner); | 1223 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner); |
| 1223 int request_id = version_->StartRequest( | 1224 int request_id = version_->StartRequest( |
| 1224 ServiceWorkerMetrics::EventType::SYNC, | 1225 ServiceWorkerMetrics::EventType::SYNC, |
| 1225 CreateReceiverOnCurrentThread(&status, runner->QuitClosure())); | 1226 CreateReceiverOnCurrentThread(&status, runner->QuitClosure())); |
| 1226 base::WeakPtr<TestMojoService> service = | 1227 base::WeakPtr<mojom::TestMojoService> service = |
| 1227 version_->GetMojoServiceForRequest<TestMojoService>(request_id); | 1228 version_->GetMojoServiceForRequest<mojom::TestMojoService>(request_id); |
| 1228 service->DoSomething(runner->QuitClosure()); | 1229 service->DoSomething(runner->QuitClosure()); |
| 1229 runner->Run(); | 1230 runner->Run(); |
| 1230 | 1231 |
| 1231 // Mojo service doesn't exist in worker, so error callback should have been | 1232 // Mojo service doesn't exist in worker, so error callback should have been |
| 1232 // called and FinishRequest should return false. | 1233 // called and FinishRequest should return false. |
| 1233 EXPECT_EQ(SERVICE_WORKER_ERROR_FAILED, status); | 1234 EXPECT_EQ(SERVICE_WORKER_ERROR_FAILED, status); |
| 1234 EXPECT_FALSE(version_->FinishRequest(request_id, true)); | 1235 EXPECT_FALSE(version_->FinishRequest(request_id, true)); |
| 1235 } | 1236 } |
| 1236 | 1237 |
| 1237 TEST_F(ServiceWorkerVersionTest, DispatchEvent) { | 1238 TEST_F(ServiceWorkerVersionTest, DispatchEvent) { |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1482 helper_->SimulateSendSimpleEventResult( | 1483 helper_->SimulateSendSimpleEventResult( |
| 1483 version_->embedded_worker()->embedded_worker_id(), request_id, | 1484 version_->embedded_worker()->embedded_worker_id(), request_id, |
| 1484 blink::WebServiceWorkerEventResultRejected); | 1485 blink::WebServiceWorkerEventResultRejected); |
| 1485 runner->Run(); | 1486 runner->Run(); |
| 1486 | 1487 |
| 1487 // Verify callback was called with correct status. | 1488 // Verify callback was called with correct status. |
| 1488 EXPECT_EQ(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, status); | 1489 EXPECT_EQ(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, status); |
| 1489 } | 1490 } |
| 1490 | 1491 |
| 1491 } // namespace content | 1492 } // namespace content |
| OLD | NEW |