Index: chrome/browser/extensions/extension_prefs.cc |
diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc |
index 0f231adda5354f65f2f60a72ad34357820aa673e..df6a2c7abed56f2964be9fa98d90020f8b0a4f10 100644 |
--- a/chrome/browser/extensions/extension_prefs.cc |
+++ b/chrome/browser/extensions/extension_prefs.cc |
@@ -12,19 +12,12 @@ |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
#include "base/value_conversions.h" |
-#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/extensions/api/content_settings/content_settings_store.h" |
#include "chrome/browser/extensions/api/preference/preference_api.h" |
#include "chrome/browser/extensions/extension_pref_store.h" |
#include "chrome/browser/extensions/extension_prefs_factory.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/ui/host_desktop.h" |
-#include "chrome/common/chrome_switches.h" |
-#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" |
#include "chrome/common/pref_names.h" |
-#include "chrome/common/url_constants.h" |
#include "components/user_prefs/pref_registry_syncable.h" |
-#include "content/public/browser/notification_service.h" |
#include "extensions/browser/admin_policy.h" |
#include "extensions/browser/app_sorting.h" |
#include "extensions/browser/event_router.h" |
@@ -38,13 +31,6 @@ |
#include "grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
-#if defined(USE_ASH) |
-#include "ash/shell.h" |
-#endif |
-#if defined(OS_WIN) |
-#include "win8/util/win8_util.h" |
-#endif // OS_WIN |
- |
using base::Value; |
using base::DictionaryValue; |
using base::ListValue; |
@@ -142,10 +128,6 @@ const char kPrefAllowFileAccess[] = "newAllowFileAccess"; |
// the old flag and possibly go back to that name. |
// const char kPrefAllowFileAccessOld[] = "allowFileAccess"; |
-// A preference set by the the NTP to persist the desired launch container type |
-// used for apps. |
-const char kPrefLaunchType[] = "launchType"; |
- |
// A preference specifying if the user dragged the app on the NTP. |
const char kPrefUserDraggedApp[] = "user_dragged_app_ntp"; |
@@ -1073,107 +1055,6 @@ bool ExtensionPrefs::HasAllowFileAccessSetting( |
return ext && ext->HasKey(kPrefAllowFileAccess); |
} |
-ExtensionPrefs::LaunchType ExtensionPrefs::GetLaunchType( |
- const Extension* extension) { |
- int value = -1; |
- LaunchType result = LAUNCH_TYPE_DEFAULT; |
- |
- // Launch hosted apps as windows by default for streamlined hosted apps. |
- if (CommandLine::ForCurrentProcess()-> |
- HasSwitch(switches::kEnableStreamlinedHostedApps)) { |
- result = LAUNCH_TYPE_WINDOW; |
- } |
- |
- if (ReadPrefAsInteger(extension->id(), kPrefLaunchType, &value) && |
- (value == LAUNCH_TYPE_PINNED || |
- value == LAUNCH_TYPE_REGULAR || |
- value == LAUNCH_TYPE_FULLSCREEN || |
- value == LAUNCH_TYPE_WINDOW)) { |
- result = static_cast<LaunchType>(value); |
- } |
-#if defined(OS_MACOSX) |
- // App windows are not yet supported on mac. Pref sync could make |
- // the launch type LAUNCH_TYPE_WINDOW, even if there is no UI to set it |
- // on mac. |
- if (!extension->is_platform_app() && result == LAUNCH_TYPE_WINDOW) |
- result = LAUNCH_TYPE_REGULAR; |
-#endif |
- |
-#if defined(OS_WIN) |
- // We don't support app windows in Windows 8 single window Metro mode. |
- if (win8::IsSingleWindowMetroMode() && result == LAUNCH_TYPE_WINDOW) |
- result = LAUNCH_TYPE_REGULAR; |
-#endif // OS_WIN |
- |
- return result; |
-} |
- |
-LaunchContainer ExtensionPrefs::GetLaunchContainer(const Extension* extension) { |
- LaunchContainer manifest_launch_container = |
- AppLaunchInfo::GetLaunchContainer(extension); |
- |
- const LaunchContainer kInvalidLaunchContainer = |
- static_cast<LaunchContainer>(-1); |
- |
- LaunchContainer result = kInvalidLaunchContainer; |
- |
- if (manifest_launch_container == LAUNCH_PANEL) { |
- // Apps with app.launch.container = 'panel' should always respect the |
- // manifest setting. |
- result = manifest_launch_container; |
- } else if (manifest_launch_container == LAUNCH_TAB) { |
- // Look for prefs that indicate the user's choice of launch container. The |
- // app's menu on the NTP provides a UI to set this preference. |
- ExtensionPrefs::LaunchType prefs_launch_type = GetLaunchType(extension); |
- |
- if (prefs_launch_type == LAUNCH_TYPE_WINDOW) { |
- // If the pref is set to launch a window (or no pref is set, and |
- // window opening is the default), make the container a window. |
- result = LAUNCH_WINDOW; |
-#if defined(USE_ASH) |
- } else if (prefs_launch_type == LAUNCH_TYPE_FULLSCREEN && |
- chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) { |
- // LAUNCH_TYPE_FULLSCREEN launches in a maximized app window in ash. |
- // For desktop chrome AURA on all platforms we should open the |
- // application in full screen mode in the current tab, on the same |
- // lines as non AURA chrome. |
- result = LAUNCH_WINDOW; |
-#endif |
- } else { |
- // All other launch types (tab, pinned, fullscreen) are |
- // implemented as tabs in a window. |
- result = LAUNCH_TAB; |
- } |
- } else { |
- // If a new value for app.launch.container is added, logic for it should be |
- // added here. LAUNCH_WINDOW is not present because there is no way to set |
- // it in a manifest. |
- NOTREACHED() << manifest_launch_container; |
- } |
- |
- // All paths should set |result|. |
- if (result == kInvalidLaunchContainer) { |
- DLOG(FATAL) << "Failed to set a launch container."; |
- result = LAUNCH_TAB; |
- } |
- |
- return result; |
-} |
- |
-bool ExtensionPrefs::HasPreferredLaunchContainer(const Extension* extension) { |
- int value = -1; |
- LaunchContainer manifest_launch_container = |
- AppLaunchInfo::GetLaunchContainer(extension); |
- return manifest_launch_container == LAUNCH_TAB && |
- ReadPrefAsInteger(extension->id(), kPrefLaunchType, &value); |
-} |
- |
-void ExtensionPrefs::SetLaunchType(const std::string& extension_id, |
- LaunchType launch_type) { |
- UpdateExtensionPref(extension_id, kPrefLaunchType, |
- new base::FundamentalValue(static_cast<int>(launch_type))); |
-} |
- |
bool ExtensionPrefs::DoesExtensionHaveState( |
const std::string& id, Extension::State check_state) const { |
const DictionaryValue* extension = GetExtensionPref(id); |