OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.h" | 5 #include "chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 //////////////////////////////////////////////////////////////////////////////// | 96 //////////////////////////////////////////////////////////////////////////////// |
97 | 97 |
98 // Class to handle messages from the renderer needed by certain tests. | 98 // Class to handle messages from the renderer needed by certain tests. |
99 class NetInternalsTest::MessageHandler : public content::WebUIMessageHandler { | 99 class NetInternalsTest::MessageHandler : public content::WebUIMessageHandler { |
100 public: | 100 public: |
101 explicit MessageHandler(NetInternalsTest* net_internals_test); | 101 explicit MessageHandler(NetInternalsTest* net_internals_test); |
102 | 102 |
103 private: | 103 private: |
104 void RegisterMessages() override; | 104 void RegisterMessages() override; |
105 | 105 |
106 void RegisterMessage(const std::string& message, | |
107 const content::WebUI::MessageCallback& handler); | |
108 | |
109 void HandleMessage(const content::WebUI::MessageCallback& handler, | |
110 const base::ListValue* data); | |
111 | |
112 // Runs NetInternalsTest.callback with the given value. | 106 // Runs NetInternalsTest.callback with the given value. |
113 void RunJavascriptCallback(base::Value* value); | 107 void RunJavascriptCallback(base::Value* value); |
114 | 108 |
115 // Takes a string and provides the corresponding URL from the test server, | 109 // Takes a string and provides the corresponding URL from the test server, |
116 // which must already have been started. | 110 // which must already have been started. |
117 void GetTestServerURL(const base::ListValue* list_value); | 111 void GetTestServerURL(const base::ListValue* list_value); |
118 | 112 |
119 // Called on UI thread. Adds an entry to the cache for the specified | 113 // Called on UI thread. Adds an entry to the cache for the specified |
120 // hostname by posting a task to the IO thread. Takes the host name, | 114 // hostname by posting a task to the IO thread. Takes the host name, |
121 // ip address, net error code, and expiration time in days from now | 115 // ip address, net error code, and expiration time in days from now |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 DISALLOW_COPY_AND_ASSIGN(MessageHandler); | 151 DISALLOW_COPY_AND_ASSIGN(MessageHandler); |
158 }; | 152 }; |
159 | 153 |
160 NetInternalsTest::MessageHandler::MessageHandler( | 154 NetInternalsTest::MessageHandler::MessageHandler( |
161 NetInternalsTest* net_internals_test) | 155 NetInternalsTest* net_internals_test) |
162 : net_internals_test_(net_internals_test), | 156 : net_internals_test_(net_internals_test), |
163 incognito_browser_(NULL) { | 157 incognito_browser_(NULL) { |
164 } | 158 } |
165 | 159 |
166 void NetInternalsTest::MessageHandler::RegisterMessages() { | 160 void NetInternalsTest::MessageHandler::RegisterMessages() { |
167 RegisterMessage( | 161 web_ui()->RegisterMessageCallback("getTestServerURL", |
168 "getTestServerURL", | |
169 base::Bind(&NetInternalsTest::MessageHandler::GetTestServerURL, | 162 base::Bind(&NetInternalsTest::MessageHandler::GetTestServerURL, |
170 base::Unretained(this))); | 163 base::Unretained(this))); |
171 RegisterMessage("addCacheEntry", | 164 web_ui()->RegisterMessageCallback("addCacheEntry", |
172 base::Bind(&NetInternalsTest::MessageHandler::AddCacheEntry, | 165 base::Bind(&NetInternalsTest::MessageHandler::AddCacheEntry, |
173 base::Unretained(this))); | 166 base::Unretained(this))); |
174 RegisterMessage("loadPage", | 167 web_ui()->RegisterMessageCallback("loadPage", |
175 base::Bind(&NetInternalsTest::MessageHandler::LoadPage, | 168 base::Bind(&NetInternalsTest::MessageHandler::LoadPage, |
176 base::Unretained(this))); | 169 base::Unretained(this))); |
177 RegisterMessage("prerenderPage", | 170 web_ui()->RegisterMessageCallback("prerenderPage", |
178 base::Bind(&NetInternalsTest::MessageHandler::PrerenderPage, | 171 base::Bind(&NetInternalsTest::MessageHandler::PrerenderPage, |
179 base::Unretained(this))); | 172 base::Unretained(this))); |
180 RegisterMessage( | 173 web_ui()->RegisterMessageCallback("navigateToPrerender", |
181 "navigateToPrerender", | |
182 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender, | 174 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender, |
183 base::Unretained(this))); | 175 base::Unretained(this))); |
184 RegisterMessage( | 176 web_ui()->RegisterMessageCallback("createIncognitoBrowser", |
185 "createIncognitoBrowser", | |
186 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser, | 177 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser, |
187 base::Unretained(this))); | 178 base::Unretained(this))); |
188 RegisterMessage( | 179 web_ui()->RegisterMessageCallback("closeIncognitoBrowser", |
189 "closeIncognitoBrowser", | |
190 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser, | 180 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser, |
191 base::Unretained(this))); | 181 base::Unretained(this))); |
192 RegisterMessage( | 182 web_ui()->RegisterMessageCallback("getNetLogFileContents", |
193 "getNetLogFileContents", | 183 base::Bind( |
194 base::Bind(&NetInternalsTest::MessageHandler::GetNetLogFileContents, | 184 &NetInternalsTest::MessageHandler::GetNetLogFileContents, |
195 base::Unretained(this))); | 185 base::Unretained(this))); |
196 RegisterMessage( | 186 web_ui()->RegisterMessageCallback("enableDataReductionProxy", |
197 "enableDataReductionProxy", | 187 base::Bind( |
198 base::Bind(&NetInternalsTest::MessageHandler::EnableDataReductionProxy, | 188 &NetInternalsTest::MessageHandler::EnableDataReductionProxy, |
199 base::Unretained(this))); | 189 base::Unretained(this))); |
200 } | |
201 | |
202 void NetInternalsTest::MessageHandler::RegisterMessage( | |
203 const std::string& message, | |
204 const content::WebUI::MessageCallback& handler) { | |
205 web_ui()->RegisterMessageCallback( | |
206 message, base::Bind(&NetInternalsTest::MessageHandler::HandleMessage, | |
207 base::Unretained(this), handler)); | |
208 } | |
209 | |
210 void NetInternalsTest::MessageHandler::HandleMessage( | |
211 const content::WebUI::MessageCallback& handler, | |
212 const base::ListValue* data) { | |
213 // The handler might run a nested loop to wait for something. | |
214 base::MessageLoop::ScopedNestableTaskAllower nestable_task_allower( | |
215 base::MessageLoop::current()); | |
216 handler.Run(data); | |
217 } | 190 } |
218 | 191 |
219 void NetInternalsTest::MessageHandler::RunJavascriptCallback( | 192 void NetInternalsTest::MessageHandler::RunJavascriptCallback( |
220 base::Value* value) { | 193 base::Value* value) { |
221 web_ui()->CallJavascriptFunctionUnsafe("NetInternalsTest.callback", *value); | 194 web_ui()->CallJavascriptFunctionUnsafe("NetInternalsTest.callback", *value); |
222 } | 195 } |
223 | 196 |
224 void NetInternalsTest::MessageHandler::GetTestServerURL( | 197 void NetInternalsTest::MessageHandler::GetTestServerURL( |
225 const base::ListValue* list_value) { | 198 const base::ListValue* list_value) { |
226 ASSERT_TRUE(net_internals_test_->StartTestServer()); | 199 ASSERT_TRUE(net_internals_test_->StartTestServer()); |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 if (test_server_started_) | 363 if (test_server_started_) |
391 return true; | 364 return true; |
392 test_server_started_ = embedded_test_server()->Start(); | 365 test_server_started_ = embedded_test_server()->Start(); |
393 | 366 |
394 // Sample domain for SDCH-view test. Dictionaries for localhost/127.0.0.1 | 367 // Sample domain for SDCH-view test. Dictionaries for localhost/127.0.0.1 |
395 // are forbidden. | 368 // are forbidden. |
396 host_resolver()->AddRule("testdomain.com", "127.0.0.1"); | 369 host_resolver()->AddRule("testdomain.com", "127.0.0.1"); |
397 host_resolver()->AddRule("sub.testdomain.com", "127.0.0.1"); | 370 host_resolver()->AddRule("sub.testdomain.com", "127.0.0.1"); |
398 return test_server_started_; | 371 return test_server_started_; |
399 } | 372 } |
OLD | NEW |