| 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 |
| 106 // Runs NetInternalsTest.callback with the given value. | 112 // Runs NetInternalsTest.callback with the given value. |
| 107 void RunJavascriptCallback(base::Value* value); | 113 void RunJavascriptCallback(base::Value* value); |
| 108 | 114 |
| 109 // Takes a string and provides the corresponding URL from the test server, | 115 // Takes a string and provides the corresponding URL from the test server, |
| 110 // which must already have been started. | 116 // which must already have been started. |
| 111 void GetTestServerURL(const base::ListValue* list_value); | 117 void GetTestServerURL(const base::ListValue* list_value); |
| 112 | 118 |
| 113 // Called on UI thread. Adds an entry to the cache for the specified | 119 // Called on UI thread. Adds an entry to the cache for the specified |
| 114 // hostname by posting a task to the IO thread. Takes the host name, | 120 // hostname by posting a task to the IO thread. Takes the host name, |
| 115 // ip address, net error code, and expiration time in days from now | 121 // 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... |
| 151 DISALLOW_COPY_AND_ASSIGN(MessageHandler); | 157 DISALLOW_COPY_AND_ASSIGN(MessageHandler); |
| 152 }; | 158 }; |
| 153 | 159 |
| 154 NetInternalsTest::MessageHandler::MessageHandler( | 160 NetInternalsTest::MessageHandler::MessageHandler( |
| 155 NetInternalsTest* net_internals_test) | 161 NetInternalsTest* net_internals_test) |
| 156 : net_internals_test_(net_internals_test), | 162 : net_internals_test_(net_internals_test), |
| 157 incognito_browser_(NULL) { | 163 incognito_browser_(NULL) { |
| 158 } | 164 } |
| 159 | 165 |
| 160 void NetInternalsTest::MessageHandler::RegisterMessages() { | 166 void NetInternalsTest::MessageHandler::RegisterMessages() { |
| 161 web_ui()->RegisterMessageCallback("getTestServerURL", | 167 RegisterMessage( |
| 168 "getTestServerURL", |
| 162 base::Bind(&NetInternalsTest::MessageHandler::GetTestServerURL, | 169 base::Bind(&NetInternalsTest::MessageHandler::GetTestServerURL, |
| 163 base::Unretained(this))); | 170 base::Unretained(this))); |
| 164 web_ui()->RegisterMessageCallback("addCacheEntry", | 171 RegisterMessage("addCacheEntry", |
| 165 base::Bind(&NetInternalsTest::MessageHandler::AddCacheEntry, | 172 base::Bind(&NetInternalsTest::MessageHandler::AddCacheEntry, |
| 166 base::Unretained(this))); | 173 base::Unretained(this))); |
| 167 web_ui()->RegisterMessageCallback("loadPage", | 174 RegisterMessage("loadPage", |
| 168 base::Bind(&NetInternalsTest::MessageHandler::LoadPage, | 175 base::Bind(&NetInternalsTest::MessageHandler::LoadPage, |
| 169 base::Unretained(this))); | 176 base::Unretained(this))); |
| 170 web_ui()->RegisterMessageCallback("prerenderPage", | 177 RegisterMessage("prerenderPage", |
| 171 base::Bind(&NetInternalsTest::MessageHandler::PrerenderPage, | 178 base::Bind(&NetInternalsTest::MessageHandler::PrerenderPage, |
| 172 base::Unretained(this))); | 179 base::Unretained(this))); |
| 173 web_ui()->RegisterMessageCallback("navigateToPrerender", | 180 RegisterMessage( |
| 181 "navigateToPrerender", |
| 174 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender, | 182 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender, |
| 175 base::Unretained(this))); | 183 base::Unretained(this))); |
| 176 web_ui()->RegisterMessageCallback("createIncognitoBrowser", | 184 RegisterMessage( |
| 185 "createIncognitoBrowser", |
| 177 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser, | 186 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser, |
| 178 base::Unretained(this))); | 187 base::Unretained(this))); |
| 179 web_ui()->RegisterMessageCallback("closeIncognitoBrowser", | 188 RegisterMessage( |
| 189 "closeIncognitoBrowser", |
| 180 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser, | 190 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser, |
| 181 base::Unretained(this))); | 191 base::Unretained(this))); |
| 182 web_ui()->RegisterMessageCallback("getNetLogFileContents", | 192 RegisterMessage( |
| 183 base::Bind( | 193 "getNetLogFileContents", |
| 184 &NetInternalsTest::MessageHandler::GetNetLogFileContents, | 194 base::Bind(&NetInternalsTest::MessageHandler::GetNetLogFileContents, |
| 185 base::Unretained(this))); | 195 base::Unretained(this))); |
| 186 web_ui()->RegisterMessageCallback("enableDataReductionProxy", | 196 RegisterMessage( |
| 187 base::Bind( | 197 "enableDataReductionProxy", |
| 188 &NetInternalsTest::MessageHandler::EnableDataReductionProxy, | 198 base::Bind(&NetInternalsTest::MessageHandler::EnableDataReductionProxy, |
| 189 base::Unretained(this))); | 199 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); |
| 190 } | 217 } |
| 191 | 218 |
| 192 void NetInternalsTest::MessageHandler::RunJavascriptCallback( | 219 void NetInternalsTest::MessageHandler::RunJavascriptCallback( |
| 193 base::Value* value) { | 220 base::Value* value) { |
| 194 web_ui()->CallJavascriptFunctionUnsafe("NetInternalsTest.callback", *value); | 221 web_ui()->CallJavascriptFunctionUnsafe("NetInternalsTest.callback", *value); |
| 195 } | 222 } |
| 196 | 223 |
| 197 void NetInternalsTest::MessageHandler::GetTestServerURL( | 224 void NetInternalsTest::MessageHandler::GetTestServerURL( |
| 198 const base::ListValue* list_value) { | 225 const base::ListValue* list_value) { |
| 199 ASSERT_TRUE(net_internals_test_->StartTestServer()); | 226 ASSERT_TRUE(net_internals_test_->StartTestServer()); |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 if (test_server_started_) | 390 if (test_server_started_) |
| 364 return true; | 391 return true; |
| 365 test_server_started_ = embedded_test_server()->Start(); | 392 test_server_started_ = embedded_test_server()->Start(); |
| 366 | 393 |
| 367 // Sample domain for SDCH-view test. Dictionaries for localhost/127.0.0.1 | 394 // Sample domain for SDCH-view test. Dictionaries for localhost/127.0.0.1 |
| 368 // are forbidden. | 395 // are forbidden. |
| 369 host_resolver()->AddRule("testdomain.com", "127.0.0.1"); | 396 host_resolver()->AddRule("testdomain.com", "127.0.0.1"); |
| 370 host_resolver()->AddRule("sub.testdomain.com", "127.0.0.1"); | 397 host_resolver()->AddRule("sub.testdomain.com", "127.0.0.1"); |
| 371 return test_server_started_; | 398 return test_server_started_; |
| 372 } | 399 } |
| OLD | NEW |