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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 //////////////////////////////////////////////////////////////////////////////// | 97 //////////////////////////////////////////////////////////////////////////////// |
98 | 98 |
99 // Class to handle messages from the renderer needed by certain tests. | 99 // Class to handle messages from the renderer needed by certain tests. |
100 class NetInternalsTest::MessageHandler : public content::WebUIMessageHandler { | 100 class NetInternalsTest::MessageHandler : public content::WebUIMessageHandler { |
101 public: | 101 public: |
102 explicit MessageHandler(NetInternalsTest* net_internals_test); | 102 explicit MessageHandler(NetInternalsTest* net_internals_test); |
103 | 103 |
104 private: | 104 private: |
105 void RegisterMessages() override; | 105 void RegisterMessages() override; |
106 | 106 |
| 107 void RegisterMessage(const std::string& message, |
| 108 const content::WebUI::MessageCallback& handler); |
| 109 |
| 110 void HandleMessage(const content::WebUI::MessageCallback& handler, |
| 111 const base::ListValue* data); |
| 112 |
107 // Runs NetInternalsTest.callback with the given value. | 113 // Runs NetInternalsTest.callback with the given value. |
108 void RunJavascriptCallback(base::Value* value); | 114 void RunJavascriptCallback(base::Value* value); |
109 | 115 |
110 // Takes a string and provides the corresponding URL from the test server, | 116 // Takes a string and provides the corresponding URL from the test server, |
111 // which must already have been started. | 117 // which must already have been started. |
112 void GetTestServerURL(const base::ListValue* list_value); | 118 void GetTestServerURL(const base::ListValue* list_value); |
113 | 119 |
114 // Called on UI thread. Adds an entry to the cache for the specified | 120 // Called on UI thread. Adds an entry to the cache for the specified |
115 // hostname by posting a task to the IO thread. Takes the host name, | 121 // hostname by posting a task to the IO thread. Takes the host name, |
116 // ip address, net error code, and expiration time in days from now | 122 // ip address, net error code, and expiration time in days from now |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 DISALLOW_COPY_AND_ASSIGN(MessageHandler); | 161 DISALLOW_COPY_AND_ASSIGN(MessageHandler); |
156 }; | 162 }; |
157 | 163 |
158 NetInternalsTest::MessageHandler::MessageHandler( | 164 NetInternalsTest::MessageHandler::MessageHandler( |
159 NetInternalsTest* net_internals_test) | 165 NetInternalsTest* net_internals_test) |
160 : net_internals_test_(net_internals_test), | 166 : net_internals_test_(net_internals_test), |
161 incognito_browser_(NULL) { | 167 incognito_browser_(NULL) { |
162 } | 168 } |
163 | 169 |
164 void NetInternalsTest::MessageHandler::RegisterMessages() { | 170 void NetInternalsTest::MessageHandler::RegisterMessages() { |
165 web_ui()->RegisterMessageCallback("getTestServerURL", | 171 RegisterMessage( |
| 172 "getTestServerURL", |
166 base::Bind(&NetInternalsTest::MessageHandler::GetTestServerURL, | 173 base::Bind(&NetInternalsTest::MessageHandler::GetTestServerURL, |
167 base::Unretained(this))); | 174 base::Unretained(this))); |
168 web_ui()->RegisterMessageCallback("addCacheEntry", | 175 RegisterMessage("addCacheEntry", |
169 base::Bind(&NetInternalsTest::MessageHandler::AddCacheEntry, | 176 base::Bind(&NetInternalsTest::MessageHandler::AddCacheEntry, |
170 base::Unretained(this))); | 177 base::Unretained(this))); |
171 web_ui()->RegisterMessageCallback( | 178 RegisterMessage("changeNetwork", |
172 "changeNetwork", | 179 base::Bind(&NetInternalsTest::MessageHandler::ChangeNetwork, |
173 base::Bind(&NetInternalsTest::MessageHandler::ChangeNetwork, | 180 base::Unretained(this))); |
174 base::Unretained(this))); | 181 RegisterMessage("loadPage", |
175 web_ui()->RegisterMessageCallback("loadPage", | 182 base::Bind(&NetInternalsTest::MessageHandler::LoadPage, |
176 base::Bind(&NetInternalsTest::MessageHandler::LoadPage, | 183 base::Unretained(this))); |
177 base::Unretained(this))); | 184 RegisterMessage("prerenderPage", |
178 web_ui()->RegisterMessageCallback("prerenderPage", | 185 base::Bind(&NetInternalsTest::MessageHandler::PrerenderPage, |
179 base::Bind(&NetInternalsTest::MessageHandler::PrerenderPage, | 186 base::Unretained(this))); |
180 base::Unretained(this))); | 187 RegisterMessage( |
181 web_ui()->RegisterMessageCallback("navigateToPrerender", | 188 "navigateToPrerender", |
182 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender, | 189 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender, |
183 base::Unretained(this))); | 190 base::Unretained(this))); |
184 web_ui()->RegisterMessageCallback("createIncognitoBrowser", | 191 RegisterMessage( |
| 192 "createIncognitoBrowser", |
185 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser, | 193 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser, |
186 base::Unretained(this))); | 194 base::Unretained(this))); |
187 web_ui()->RegisterMessageCallback("closeIncognitoBrowser", | 195 RegisterMessage( |
| 196 "closeIncognitoBrowser", |
188 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser, | 197 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser, |
189 base::Unretained(this))); | 198 base::Unretained(this))); |
190 web_ui()->RegisterMessageCallback("getNetLogFileContents", | 199 RegisterMessage( |
191 base::Bind( | 200 "getNetLogFileContents", |
192 &NetInternalsTest::MessageHandler::GetNetLogFileContents, | 201 base::Bind(&NetInternalsTest::MessageHandler::GetNetLogFileContents, |
193 base::Unretained(this))); | 202 base::Unretained(this))); |
194 web_ui()->RegisterMessageCallback("enableDataReductionProxy", | 203 RegisterMessage( |
195 base::Bind( | 204 "enableDataReductionProxy", |
196 &NetInternalsTest::MessageHandler::EnableDataReductionProxy, | 205 base::Bind(&NetInternalsTest::MessageHandler::EnableDataReductionProxy, |
197 base::Unretained(this))); | 206 base::Unretained(this))); |
| 207 } |
| 208 |
| 209 void NetInternalsTest::MessageHandler::RegisterMessage( |
| 210 const std::string& message, |
| 211 const content::WebUI::MessageCallback& handler) { |
| 212 web_ui()->RegisterMessageCallback( |
| 213 message, base::Bind(&NetInternalsTest::MessageHandler::HandleMessage, |
| 214 base::Unretained(this), handler)); |
| 215 } |
| 216 |
| 217 void NetInternalsTest::MessageHandler::HandleMessage( |
| 218 const content::WebUI::MessageCallback& handler, |
| 219 const base::ListValue* data) { |
| 220 // The handler might run a nested loop to wait for something. |
| 221 base::MessageLoop::ScopedNestableTaskAllower nestable_task_allower( |
| 222 base::MessageLoop::current()); |
| 223 handler.Run(data); |
198 } | 224 } |
199 | 225 |
200 void NetInternalsTest::MessageHandler::RunJavascriptCallback( | 226 void NetInternalsTest::MessageHandler::RunJavascriptCallback( |
201 base::Value* value) { | 227 base::Value* value) { |
202 web_ui()->CallJavascriptFunctionUnsafe("NetInternalsTest.callback", *value); | 228 web_ui()->CallJavascriptFunctionUnsafe("NetInternalsTest.callback", *value); |
203 } | 229 } |
204 | 230 |
205 void NetInternalsTest::MessageHandler::GetTestServerURL( | 231 void NetInternalsTest::MessageHandler::GetTestServerURL( |
206 const base::ListValue* list_value) { | 232 const base::ListValue* list_value) { |
207 ASSERT_TRUE(net_internals_test_->StartTestServer()); | 233 ASSERT_TRUE(net_internals_test_->StartTestServer()); |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 if (test_server_started_) | 402 if (test_server_started_) |
377 return true; | 403 return true; |
378 test_server_started_ = embedded_test_server()->Start(); | 404 test_server_started_ = embedded_test_server()->Start(); |
379 | 405 |
380 // Sample domain for SDCH-view test. Dictionaries for localhost/127.0.0.1 | 406 // Sample domain for SDCH-view test. Dictionaries for localhost/127.0.0.1 |
381 // are forbidden. | 407 // are forbidden. |
382 host_resolver()->AddRule("testdomain.com", "127.0.0.1"); | 408 host_resolver()->AddRule("testdomain.com", "127.0.0.1"); |
383 host_resolver()->AddRule("sub.testdomain.com", "127.0.0.1"); | 409 host_resolver()->AddRule("sub.testdomain.com", "127.0.0.1"); |
384 return test_server_started_; | 410 return test_server_started_; |
385 } | 411 } |
OLD | NEW |