Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5067)

Unified Diff: chrome/browser/extensions/extension_prefs.cc

Issue 105733003: Move LaunchType out of ExtensionPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix indenting Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_prefs.h ('k') | chrome/browser/extensions/launch_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « chrome/browser/extensions/extension_prefs.h ('k') | chrome/browser/extensions/launch_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698