Index: chrome/browser/extensions/launch_util.cc |
diff --git a/chrome/browser/extensions/launch_util.cc b/chrome/browser/extensions/launch_util.cc |
index 14423aec6f3a0682b86f874d8af828d2a4a60b01..f6bb5cccefa56b90dfdeae7bbdd7da3fedb40238 100644 |
--- a/chrome/browser/extensions/launch_util.cc |
+++ b/chrome/browser/extensions/launch_util.cc |
@@ -7,6 +7,7 @@ |
#include "base/command_line.h" |
#include "base/values.h" |
#include "chrome/browser/extensions/extension_prefs.h" |
+#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/ui/host_desktop.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/extensions/extension_constants.h" |
@@ -32,7 +33,7 @@ const char kPrefLaunchType[] = "launchType"; |
LaunchType GetLaunchType(const ExtensionPrefs* prefs, |
const Extension* extension) { |
- int value = -1; |
+ int value = LAUNCH_TYPE_INVALID; |
LaunchType result = LAUNCH_TYPE_DEFAULT; |
// Launch hosted apps as windows by default for streamlined hosted apps. |
@@ -66,11 +67,27 @@ LaunchType GetLaunchType(const ExtensionPrefs* prefs, |
return result; |
} |
-void SetLaunchType(ExtensionPrefs* prefs, |
+void SetLaunchType(ExtensionService* service, |
const std::string& extension_id, |
LaunchType launch_type) { |
- prefs->UpdateExtensionPref(extension_id, kPrefLaunchType, |
+ DCHECK(launch_type >= LAUNCH_TYPE_FIRST && launch_type < NUM_LAUNCH_TYPES); |
+ |
+ service->extension_prefs()->UpdateExtensionPref(extension_id, kPrefLaunchType, |
new base::FundamentalValue(static_cast<int>(launch_type))); |
+ |
+ // Sync the launch type. |
+ const Extension* extension = service->GetInstalledExtension(extension_id); |
+ if (extension) { |
+ ExtensionSyncService::Get(service->profile())-> |
+ SyncExtensionChangeIfNeeded(*extension); |
+ } |
+} |
+ |
+bool HasPreferredLaunchType(const ExtensionPrefs* prefs, |
+ const Extension* extension) { |
+ int value = LAUNCH_TYPE_INVALID; |
+ return extension && |
+ prefs->ReadPrefAsInteger(extension->id(), kPrefLaunchType, &value); |
Nicolas Zea
2013/12/18 21:14:04
Just to double check, this will return false if th
calamity
2013/12/19 06:27:52
Yep.
|
} |
LaunchContainer GetLaunchContainer(const ExtensionPrefs* prefs, |