| Index: chrome/browser/ui/webui/net_export_ui.cc
|
| diff --git a/chrome/browser/ui/webui/net_export_ui.cc b/chrome/browser/ui/webui/net_export_ui.cc
|
| index 72db7cfe0301c26590fa5257a6a6c5f250181603..abc8b81a58464600c3ef950f34f9a5bc97f82e51 100644
|
| --- a/chrome/browser/ui/webui/net_export_ui.cc
|
| +++ b/chrome/browser/ui/webui/net_export_ui.cc
|
| @@ -20,6 +20,7 @@
|
| #include "chrome/browser/download/download_prefs.h"
|
| #include "chrome/browser/io_thread.h"
|
| #include "chrome/browser/net/net_export_helper.h"
|
| +#include "chrome/browser/platform_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/chrome_select_file_policy.h"
|
| #include "chrome/common/url_constants.h"
|
| @@ -114,6 +115,7 @@ class NetExportMessageHandler
|
| void OnStartNetLog(const base::ListValue* list);
|
| void OnStopNetLog(const base::ListValue* list);
|
| void OnSendNetLog(const base::ListValue* list);
|
| + void OnShowFile(const base::ListValue* list);
|
|
|
| // ui::SelectFileDialog::Listener implementation.
|
| void FileSelected(const base::FilePath& path,
|
| @@ -131,6 +133,9 @@ class NetExportMessageHandler
|
| // Send NetLog data via email.
|
| static void SendEmail(const base::FilePath& file_to_send);
|
|
|
| + // Reveal |path| in the shell on desktop platforms.
|
| + void ShowFileInShell(const base::FilePath& path);
|
| +
|
| // chrome://net-export can be used on both mobile and desktop platforms.
|
| // On mobile a user cannot pick where their NetLog file is saved to.
|
| // Instead, everything is saved on the user's temp directory. Thus the
|
| @@ -212,6 +217,9 @@ void NetExportMessageHandler::RegisterMessages() {
|
| net_log::kSendNetLogHandler,
|
| base::Bind(&NetExportMessageHandler::OnSendNetLog,
|
| base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback(
|
| + net_log::kShowFile,
|
| + base::Bind(&NetExportMessageHandler::OnShowFile, base::Unretained(this)));
|
| }
|
|
|
| // The net-export UI is not notified of state changes until this function runs.
|
| @@ -281,6 +289,12 @@ void NetExportMessageHandler::OnSendNetLog(const base::ListValue* list) {
|
| base::Bind(&NetExportMessageHandler::SendEmail));
|
| }
|
|
|
| +void NetExportMessageHandler::OnShowFile(const base::ListValue* list) {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| + file_writer_->GetFilePathToCompletedLog(
|
| + base::Bind(&NetExportMessageHandler::ShowFileInShell, AsWeakPtr()));
|
| +}
|
| +
|
| void NetExportMessageHandler::FileSelected(const base::FilePath& path,
|
| int index,
|
| void* params) {
|
| @@ -320,6 +334,17 @@ void NetExportMessageHandler::SendEmail(const base::FilePath& file_to_send) {
|
| #endif
|
| }
|
|
|
| +void NetExportMessageHandler::ShowFileInShell(const base::FilePath& path) {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| + if (path.empty())
|
| + return;
|
| +
|
| + // (The |profile| parameter is relevant for Chrome OS)
|
| + Profile* profile = Profile::FromWebUI(web_ui());
|
| +
|
| + platform_util::ShowItemInFolder(profile, path);
|
| +}
|
| +
|
| // static
|
| bool NetExportMessageHandler::UsingMobileUI() {
|
| #if defined(OS_ANDROID) || defined(OS_IOS)
|
|
|