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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
7 #include "content/browser/service_worker/embedded_worker_registry.h" | 7 #include "content/browser/service_worker/embedded_worker_registry.h" |
8 #include "content/browser/service_worker/embedded_worker_test_helper.h" | 8 #include "content/browser/service_worker/embedded_worker_test_helper.h" |
9 #include "content/browser/service_worker/service_worker_context_core.h" | 9 #include "content/browser/service_worker/service_worker_context_core.h" |
10 #include "content/browser/service_worker/service_worker_registration.h" | 10 #include "content/browser/service_worker/service_worker_registration.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 | 29 |
30 namespace { | 30 namespace { |
31 | 31 |
32 static const int kRenderProcessId = 1; | 32 static const int kRenderProcessId = 1; |
33 | 33 |
34 class MessageReceiver : public EmbeddedWorkerTestHelper { | 34 class MessageReceiver : public EmbeddedWorkerTestHelper { |
35 public: | 35 public: |
36 MessageReceiver() | 36 MessageReceiver() |
37 : EmbeddedWorkerTestHelper(kRenderProcessId), | 37 : EmbeddedWorkerTestHelper(kRenderProcessId), |
38 current_embedded_worker_id_(0) {} | 38 current_embedded_worker_id_(0) {} |
39 virtual ~MessageReceiver() {} | 39 ~MessageReceiver() override {} |
40 | 40 |
41 virtual bool OnMessageToWorker(int thread_id, | 41 bool OnMessageToWorker(int thread_id, |
42 int embedded_worker_id, | 42 int embedded_worker_id, |
43 const IPC::Message& message) override { | 43 const IPC::Message& message) override { |
44 if (EmbeddedWorkerTestHelper::OnMessageToWorker( | 44 if (EmbeddedWorkerTestHelper::OnMessageToWorker( |
45 thread_id, embedded_worker_id, message)) { | 45 thread_id, embedded_worker_id, message)) { |
46 return true; | 46 return true; |
47 } | 47 } |
48 current_embedded_worker_id_ = embedded_worker_id; | 48 current_embedded_worker_id_ = embedded_worker_id; |
49 bool handled = true; | 49 bool handled = true; |
50 IPC_BEGIN_MESSAGE_MAP(MessageReceiver, message) | 50 IPC_BEGIN_MESSAGE_MAP(MessageReceiver, message) |
51 IPC_MESSAGE_HANDLER(TestMsg_Message, OnMessage) | 51 IPC_MESSAGE_HANDLER(TestMsg_Message, OnMessage) |
52 IPC_MESSAGE_UNHANDLED(handled = false) | 52 IPC_MESSAGE_UNHANDLED(handled = false) |
53 IPC_END_MESSAGE_MAP() | 53 IPC_END_MESSAGE_MAP() |
(...skipping 24 matching lines...) Expand all Loading... |
78 base::Bind(&ObserveStatusChanges, base::Unretained(version), statuses)); | 78 base::Bind(&ObserveStatusChanges, base::Unretained(version), statuses)); |
79 } | 79 } |
80 | 80 |
81 // A specialized listener class to receive test messages from a worker. | 81 // A specialized listener class to receive test messages from a worker. |
82 class MessageReceiverFromWorker : public EmbeddedWorkerInstance::Listener { | 82 class MessageReceiverFromWorker : public EmbeddedWorkerInstance::Listener { |
83 public: | 83 public: |
84 explicit MessageReceiverFromWorker(EmbeddedWorkerInstance* instance) | 84 explicit MessageReceiverFromWorker(EmbeddedWorkerInstance* instance) |
85 : instance_(instance) { | 85 : instance_(instance) { |
86 instance_->AddListener(this); | 86 instance_->AddListener(this); |
87 } | 87 } |
88 virtual ~MessageReceiverFromWorker() { | 88 ~MessageReceiverFromWorker() override { instance_->RemoveListener(this); } |
89 instance_->RemoveListener(this); | |
90 } | |
91 | 89 |
92 virtual void OnStarted() override { NOTREACHED(); } | 90 void OnStarted() override { NOTREACHED(); } |
93 virtual void OnStopped() override { NOTREACHED(); } | 91 void OnStopped() override { NOTREACHED(); } |
94 virtual bool OnMessageReceived(const IPC::Message& message) override { | 92 bool OnMessageReceived(const IPC::Message& message) override { |
95 bool handled = true; | 93 bool handled = true; |
96 IPC_BEGIN_MESSAGE_MAP(MessageReceiverFromWorker, message) | 94 IPC_BEGIN_MESSAGE_MAP(MessageReceiverFromWorker, message) |
97 IPC_MESSAGE_HANDLER(TestMsg_MessageFromWorker, OnMessageFromWorker) | 95 IPC_MESSAGE_HANDLER(TestMsg_MessageFromWorker, OnMessageFromWorker) |
98 IPC_MESSAGE_UNHANDLED(handled = false) | 96 IPC_MESSAGE_UNHANDLED(handled = false) |
99 IPC_END_MESSAGE_MAP() | 97 IPC_END_MESSAGE_MAP() |
100 return handled; | 98 return handled; |
101 } | 99 } |
102 | 100 |
103 void OnMessageFromWorker(int value) { received_values_.push_back(value); } | 101 void OnMessageFromWorker(int value) { received_values_.push_back(value); } |
104 const std::vector<int>& received_values() const { return received_values_; } | 102 const std::vector<int>& received_values() const { return received_values_; } |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 | 388 |
391 version_->StartWorker( | 389 version_->StartWorker( |
392 CreateReceiverOnCurrentThread(&status)); | 390 CreateReceiverOnCurrentThread(&status)); |
393 base::RunLoop().RunUntilIdle(); | 391 base::RunLoop().RunUntilIdle(); |
394 | 392 |
395 // Recreated when the worker starts again. | 393 // Recreated when the worker starts again. |
396 EXPECT_TRUE(version_->cache_listener_.get()); | 394 EXPECT_TRUE(version_->cache_listener_.get()); |
397 } | 395 } |
398 | 396 |
399 } // namespace content | 397 } // namespace content |
OLD | NEW |