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.h" | 5 #include "chrome/browser/ui/webui/net_internals/net_internals_ui.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <list> | 8 #include <list> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 void OnRendererReady(const ListValue* list); | 269 void OnRendererReady(const ListValue* list); |
270 void OnEnableHttpThrottling(const ListValue* list); | 270 void OnEnableHttpThrottling(const ListValue* list); |
271 void OnClearBrowserCache(const ListValue* list); | 271 void OnClearBrowserCache(const ListValue* list); |
272 void OnGetPrerenderInfo(const ListValue* list); | 272 void OnGetPrerenderInfo(const ListValue* list); |
273 #ifdef OS_CHROMEOS | 273 #ifdef OS_CHROMEOS |
274 void OnRefreshSystemLogs(const ListValue* list); | 274 void OnRefreshSystemLogs(const ListValue* list); |
275 void OnGetSystemLog(const ListValue* list); | 275 void OnGetSystemLog(const ListValue* list); |
276 void OnImportONCFile(const ListValue* list); | 276 void OnImportONCFile(const ListValue* list); |
277 void OnStoreDebugLogs(const ListValue* list); | 277 void OnStoreDebugLogs(const ListValue* list); |
278 void OnStoreDebugLogsCompleted(const FilePath& log_path, bool succeeded); | 278 void OnStoreDebugLogsCompleted(const FilePath& log_path, bool succeeded); |
| 279 void OnSetNetworkDebugMode(const ListValue* list); |
| 280 void OnSetNetworkDebugModeCompleted(const std::string& subsystem, |
| 281 bool succeeded); |
279 #endif | 282 #endif |
280 | 283 |
281 private: | 284 private: |
282 class IOThreadImpl; | 285 class IOThreadImpl; |
283 | 286 |
284 #ifdef OS_CHROMEOS | 287 #ifdef OS_CHROMEOS |
285 // Class that is used for getting network related ChromeOS logs. | 288 // Class that is used for getting network related ChromeOS logs. |
286 // Logs are fetched from ChromeOS libcros on user request, and only when we | 289 // Logs are fetched from ChromeOS libcros on user request, and only when we |
287 // don't yet have a copy of logs. If a copy is present, we send back data from | 290 // don't yet have a copy of logs. If a copy is present, we send back data from |
288 // it, else we save request and answer to it when we get logs from libcros. | 291 // it, else we save request and answer to it when we get logs from libcros. |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 base::Bind(&NetInternalsMessageHandler::OnGetSystemLog, | 645 base::Bind(&NetInternalsMessageHandler::OnGetSystemLog, |
643 base::Unretained(this))); | 646 base::Unretained(this))); |
644 web_ui()->RegisterMessageCallback( | 647 web_ui()->RegisterMessageCallback( |
645 "importONCFile", | 648 "importONCFile", |
646 base::Bind(&NetInternalsMessageHandler::OnImportONCFile, | 649 base::Bind(&NetInternalsMessageHandler::OnImportONCFile, |
647 base::Unretained(this))); | 650 base::Unretained(this))); |
648 web_ui()->RegisterMessageCallback( | 651 web_ui()->RegisterMessageCallback( |
649 "storeDebugLogs", | 652 "storeDebugLogs", |
650 base::Bind(&NetInternalsMessageHandler::OnStoreDebugLogs, | 653 base::Bind(&NetInternalsMessageHandler::OnStoreDebugLogs, |
651 base::Unretained(this))); | 654 base::Unretained(this))); |
| 655 web_ui()->RegisterMessageCallback( |
| 656 "setNetworkDebugMode", |
| 657 base::Bind(&NetInternalsMessageHandler::OnSetNetworkDebugMode, |
| 658 base::Unretained(this))); |
652 #endif | 659 #endif |
653 } | 660 } |
654 | 661 |
655 void NetInternalsMessageHandler::SendJavascriptCommand( | 662 void NetInternalsMessageHandler::SendJavascriptCommand( |
656 const std::string& command, | 663 const std::string& command, |
657 Value* arg) { | 664 Value* arg) { |
658 scoped_ptr<Value> command_value(Value::CreateStringValue(command)); | 665 scoped_ptr<Value> command_value(Value::CreateStringValue(command)); |
659 scoped_ptr<Value> value(arg); | 666 scoped_ptr<Value> value(arg); |
660 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 667 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
661 if (value.get()) { | 668 if (value.get()) { |
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1372 const FilePath& log_path, bool succeeded) { | 1379 const FilePath& log_path, bool succeeded) { |
1373 std::string status; | 1380 std::string status; |
1374 if (succeeded) | 1381 if (succeeded) |
1375 status = "Created log file: " + log_path.BaseName().AsUTF8Unsafe(); | 1382 status = "Created log file: " + log_path.BaseName().AsUTF8Unsafe(); |
1376 else | 1383 else |
1377 status = "Failed to create log file"; | 1384 status = "Failed to create log file"; |
1378 SendJavascriptCommand("receivedStoreDebugLogs", | 1385 SendJavascriptCommand("receivedStoreDebugLogs", |
1379 Value::CreateStringValue(status)); | 1386 Value::CreateStringValue(status)); |
1380 } | 1387 } |
1381 | 1388 |
| 1389 void NetInternalsMessageHandler::OnSetNetworkDebugMode(const ListValue* list) { |
| 1390 std::string subsystem; |
| 1391 if (list->GetSize() != 1 || !list->GetString(0, &subsystem)) |
| 1392 NOTREACHED(); |
| 1393 chromeos::DBusThreadManager::Get()->GetDebugDaemonClient()-> |
| 1394 SetDebugMode( |
| 1395 subsystem, |
| 1396 base::Bind( |
| 1397 &NetInternalsMessageHandler::OnSetNetworkDebugModeCompleted, |
| 1398 AsWeakPtr(), |
| 1399 subsystem)); |
| 1400 } |
| 1401 |
| 1402 void NetInternalsMessageHandler::OnSetNetworkDebugModeCompleted( |
| 1403 const std::string& subsystem, |
| 1404 bool succeeded) { |
| 1405 std::string status; |
| 1406 if (succeeded) |
| 1407 status = "Debug mode is changed to " + subsystem; |
| 1408 else |
| 1409 status = "Failed to change debug mode to " + subsystem; |
| 1410 SendJavascriptCommand("receivedSetNetworkDebugMode", |
| 1411 Value::CreateStringValue(status)); |
| 1412 } |
1382 #endif | 1413 #endif |
1383 | 1414 |
1384 void NetInternalsMessageHandler::IOThreadImpl::OnGetHttpPipeliningStatus( | 1415 void NetInternalsMessageHandler::IOThreadImpl::OnGetHttpPipeliningStatus( |
1385 const ListValue* list) { | 1416 const ListValue* list) { |
1386 DictionaryValue* status_dict = new DictionaryValue(); | 1417 DictionaryValue* status_dict = new DictionaryValue(); |
1387 | 1418 |
1388 status_dict->Set("pipelining_enabled", | 1419 status_dict->Set("pipelining_enabled", |
1389 Value::CreateBooleanValue( | 1420 Value::CreateBooleanValue( |
1390 net::HttpStreamFactory::http_pipelining_enabled())); | 1421 net::HttpStreamFactory::http_pipelining_enabled())); |
1391 | 1422 |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1692 | 1723 |
1693 NetInternalsUI::NetInternalsUI(content::WebUI* web_ui) | 1724 NetInternalsUI::NetInternalsUI(content::WebUI* web_ui) |
1694 : WebUIController(web_ui) { | 1725 : WebUIController(web_ui) { |
1695 web_ui->AddMessageHandler(new NetInternalsMessageHandler()); | 1726 web_ui->AddMessageHandler(new NetInternalsMessageHandler()); |
1696 | 1727 |
1697 // Set up the chrome://net-internals/ source. | 1728 // Set up the chrome://net-internals/ source. |
1698 Profile* profile = Profile::FromWebUI(web_ui); | 1729 Profile* profile = Profile::FromWebUI(web_ui); |
1699 profile->GetChromeURLDataManager()->AddDataSource( | 1730 profile->GetChromeURLDataManager()->AddDataSource( |
1700 CreateNetInternalsHTMLSource()); | 1731 CreateNetInternalsHTMLSource()); |
1701 } | 1732 } |
OLD | NEW |