Index: chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc |
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc |
index f11975a85b36d70403354f9becf2484921a5c691..d1364bfb0be6ef27c676c56750a9fa266de59add 100644 |
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc |
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc |
@@ -7,6 +7,7 @@ |
#include "apps/app_window.h" |
#include "apps/app_window_registry.h" |
#include "ash/frame/frame_util.h" |
+#include "base/command_line.h" |
#include "base/files/file_path.h" |
#include "base/prefs/pref_service.h" |
#include "base/strings/utf_string_conversions.h" |
@@ -19,7 +20,9 @@ |
#include "chrome/browser/chromeos/file_manager/zip_file_creator.h" |
#include "chrome/browser/chromeos/login/users/user_manager.h" |
#include "chrome/browser/chromeos/settings/cros_settings.h" |
+#include "chrome/browser/devtools/devtools_window.h" |
#include "chrome/browser/drive/event_logger.h" |
+#include "chrome/browser/extensions/devtools_util.h" |
#include "chrome/browser/lifetime/application_lifetime.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_manager.h" |
@@ -28,6 +31,7 @@ |
#include "chrome/browser/signin/signin_manager_factory.h" |
#include "chrome/browser/ui/ash/multi_user/multi_user_util.h" |
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" |
+#include "chrome/common/chrome_switches.h" |
#include "chrome/common/extensions/api/file_browser_private.h" |
#include "chrome/common/pref_names.h" |
#include "components/signin/core/browser/profile_oauth2_token_service.h" |
@@ -437,4 +441,33 @@ bool FileBrowserPrivateVisitDesktopFunction::RunSync() { |
return true; |
} |
+bool FileBrowserPrivateOpenInspectorFunction::RunSync() { |
+ // This method doesn't have any effect if the flag 'debug-packed-apps' is not |
+ // enabled. |
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugPackedApps)) |
+ return true; |
+ |
+ using extensions::api::file_browser_private::OpenInspector::Params; |
+ const scoped_ptr<Params> params(Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params); |
+ |
+ if (params->option == "background") { |
+ // Open inspector for background page. |
+ extensions::devtools_util::InspectBackgroundPage(GetExtension(), |
+ GetProfile()); |
+ } else if (params->option == "console") { |
+ // Open inspector for foreground page and focus to console tab. |
+ DevToolsWindow::OpenDevToolsWindow(render_view_host(), |
+ DevToolsToggleAction::ShowConsole()); |
+ } else if (params->option == "element") { |
+ // Open inspector for foreground page and focus to element tab. |
+ DevToolsWindow::OpenDevToolsWindow(render_view_host(), |
+ DevToolsToggleAction::Inspect()); |
+ } else { |
+ // Open inspector for foreground page. |
+ DevToolsWindow::OpenDevToolsWindow(render_view_host()); |
+ } |
+ return true; |
+} |
+ |
} // namespace extensions |