OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/browser/service_worker/service_worker_dispatcher_host.h" | 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "content/browser/browser_thread_impl.h" | 10 #include "content/browser/browser_thread_impl.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 TEST_F(ServiceWorkerDispatcherHostTest, DisabledCausesError) { | 71 TEST_F(ServiceWorkerDispatcherHostTest, DisabledCausesError) { |
72 DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch( | 72 DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch( |
73 switches::kEnableServiceWorker)); | 73 switches::kEnableServiceWorker)); |
74 | 74 |
75 scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host = | 75 scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host = |
76 new TestingServiceWorkerDispatcherHost(kRenderProcessId, | 76 new TestingServiceWorkerDispatcherHost(kRenderProcessId, |
77 context_wrapper_.get()); | 77 context_wrapper_.get()); |
78 | 78 |
79 bool handled; | 79 bool handled; |
80 dispatcher_host->OnMessageReceived( | 80 dispatcher_host->OnMessageReceived( |
81 ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, GURL(), GURL()), | 81 ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, -1, GURL(), GURL()), |
82 &handled); | 82 &handled); |
83 EXPECT_TRUE(handled); | 83 EXPECT_TRUE(handled); |
84 | 84 |
85 // TODO(alecflett): Pump the message loop when this becomes async. | 85 // TODO(alecflett): Pump the message loop when this becomes async. |
86 ASSERT_EQ(1UL, dispatcher_host->sent_messages_.size()); | 86 ASSERT_EQ(1UL, dispatcher_host->sent_messages_.size()); |
87 EXPECT_EQ( | 87 EXPECT_EQ( |
88 static_cast<uint32>(ServiceWorkerMsg_ServiceWorkerRegistrationError::ID), | 88 static_cast<uint32>(ServiceWorkerMsg_ServiceWorkerRegistrationError::ID), |
89 dispatcher_host->sent_messages_[0]->type()); | 89 dispatcher_host->sent_messages_[0]->type()); |
90 } | 90 } |
91 | 91 |
92 TEST_F(ServiceWorkerDispatcherHostTest, Enabled) { | 92 TEST_F(ServiceWorkerDispatcherHostTest, Enabled) { |
93 DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch( | 93 DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch( |
94 switches::kEnableServiceWorker)); | 94 switches::kEnableServiceWorker)); |
95 CommandLine::ForCurrentProcess()->AppendSwitch( | 95 CommandLine::ForCurrentProcess()->AppendSwitch( |
96 switches::kEnableServiceWorker); | 96 switches::kEnableServiceWorker); |
97 | 97 |
98 scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host = | 98 scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host = |
99 new TestingServiceWorkerDispatcherHost(kRenderProcessId, | 99 new TestingServiceWorkerDispatcherHost(kRenderProcessId, |
100 context_wrapper_.get()); | 100 context_wrapper_.get()); |
101 | 101 |
102 bool handled; | 102 bool handled; |
103 dispatcher_host->OnMessageReceived( | 103 dispatcher_host->OnMessageReceived( |
104 ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, GURL(), GURL()), | 104 ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, -1, GURL(), GURL()), |
105 &handled); | 105 &handled); |
106 EXPECT_TRUE(handled); | 106 EXPECT_TRUE(handled); |
107 base::RunLoop().RunUntilIdle(); | 107 base::RunLoop().RunUntilIdle(); |
108 | 108 |
109 // TODO(alecflett): Pump the message loop when this becomes async. | 109 // TODO(alecflett): Pump the message loop when this becomes async. |
110 ASSERT_EQ(1UL, dispatcher_host->sent_messages_.size()); | 110 ASSERT_EQ(1UL, dispatcher_host->sent_messages_.size()); |
111 EXPECT_EQ(static_cast<uint32>(ServiceWorkerMsg_ServiceWorkerRegistered::ID), | 111 EXPECT_EQ(static_cast<uint32>(ServiceWorkerMsg_ServiceWorkerRegistered::ID), |
112 dispatcher_host->sent_messages_[0]->type()); | 112 dispatcher_host->sent_messages_[0]->type()); |
113 } | 113 } |
114 | 114 |
115 TEST_F(ServiceWorkerDispatcherHostTest, EarlyContextDeletion) { | 115 TEST_F(ServiceWorkerDispatcherHostTest, EarlyContextDeletion) { |
116 DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch( | 116 DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch( |
117 switches::kEnableServiceWorker)); | 117 switches::kEnableServiceWorker)); |
118 CommandLine::ForCurrentProcess()->AppendSwitch( | 118 CommandLine::ForCurrentProcess()->AppendSwitch( |
119 switches::kEnableServiceWorker); | 119 switches::kEnableServiceWorker); |
120 | 120 |
121 scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host = | 121 scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host = |
122 new TestingServiceWorkerDispatcherHost(kRenderProcessId, | 122 new TestingServiceWorkerDispatcherHost(kRenderProcessId, |
123 context_wrapper_.get()); | 123 context_wrapper_.get()); |
124 | 124 |
125 context_wrapper_->Shutdown(); | 125 context_wrapper_->Shutdown(); |
126 context_wrapper_ = NULL; | 126 context_wrapper_ = NULL; |
127 | 127 |
128 bool handled; | 128 bool handled; |
129 dispatcher_host->OnMessageReceived( | 129 dispatcher_host->OnMessageReceived( |
130 ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, GURL(), GURL()), | 130 ServiceWorkerHostMsg_RegisterServiceWorker(-1, -1, -1, GURL(), GURL()), |
131 &handled); | 131 &handled); |
132 EXPECT_TRUE(handled); | 132 EXPECT_TRUE(handled); |
133 | 133 |
134 // TODO(alecflett): Pump the message loop when this becomes async. | 134 // TODO(alecflett): Pump the message loop when this becomes async. |
135 ASSERT_EQ(1UL, dispatcher_host->sent_messages_.size()); | 135 ASSERT_EQ(1UL, dispatcher_host->sent_messages_.size()); |
136 EXPECT_EQ( | 136 EXPECT_EQ( |
137 static_cast<uint32>(ServiceWorkerMsg_ServiceWorkerRegistrationError::ID), | 137 static_cast<uint32>(ServiceWorkerMsg_ServiceWorkerRegistrationError::ID), |
138 dispatcher_host->sent_messages_[0]->type()); | 138 dispatcher_host->sent_messages_[0]->type()); |
139 } | 139 } |
140 | 140 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 ServiceWorkerHostMsg_ProviderCreated(kProviderId), | 181 ServiceWorkerHostMsg_ProviderCreated(kProviderId), |
182 &handled); | 182 &handled); |
183 EXPECT_TRUE(handled); | 183 EXPECT_TRUE(handled); |
184 EXPECT_TRUE(context()->GetProviderHost(kRenderProcessId, kProviderId)); | 184 EXPECT_TRUE(context()->GetProviderHost(kRenderProcessId, kProviderId)); |
185 EXPECT_TRUE(dispatcher_host->HasOneRef()); | 185 EXPECT_TRUE(dispatcher_host->HasOneRef()); |
186 dispatcher_host = NULL; | 186 dispatcher_host = NULL; |
187 EXPECT_FALSE(context()->GetProviderHost(kRenderProcessId, kProviderId)); | 187 EXPECT_FALSE(context()->GetProviderHost(kRenderProcessId, kProviderId)); |
188 } | 188 } |
189 | 189 |
190 } // namespace content | 190 } // namespace content |
OLD | NEW |