| 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
|
|
|