Index: chrome/browser/extensions/extension_sync_service.cc |
diff --git a/chrome/browser/extensions/extension_sync_service.cc b/chrome/browser/extensions/extension_sync_service.cc |
index 9aa0dd3240073cc21ae45bd8ae495184a9a0411f..421d7e473d7384e731c281001ee18ac79fd01e10 100644 |
--- a/chrome/browser/extensions/extension_sync_service.cc |
+++ b/chrome/browser/extensions/extension_sync_service.cc |
@@ -16,6 +16,7 @@ |
#include "chrome/browser/extensions/extension_sync_data.h" |
#include "chrome/browser/extensions/extension_sync_service_factory.h" |
#include "chrome/browser/extensions/extension_util.h" |
+#include "chrome/browser/extensions/launch_util.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/sync/glue/sync_start_util.h" |
#include "chrome/browser/sync/sync_prefs.h" |
@@ -239,7 +240,11 @@ extensions::AppSyncData ExtensionSyncService::GetAppSyncData( |
extension_service_->IsExtensionEnabled(extension.id()), |
extension_util::IsIncognitoEnabled(extension.id(), extension_service_), |
extension_prefs_->app_sorting()->GetAppLaunchOrdinal(extension.id()), |
- extension_prefs_->app_sorting()->GetPageOrdinal(extension.id())); |
+ extension_prefs_->app_sorting()->GetPageOrdinal(extension.id()), |
+ extensions::HasPreferredLaunchType(extension_prefs_, &extension) |
+ ? extensions::GetLaunchType(extension_prefs_, &extension) |
+ : extensions::LAUNCH_TYPE_INVALID); |
+ |
} |
std::vector<extensions::ExtensionSyncData> |
@@ -307,6 +312,12 @@ bool ExtensionSyncService::ProcessAppSyncData( |
app_sync_data.page_ordinal()); |
} |
+ if (app_sync_data.launch_type() >= extensions::LAUNCH_TYPE_FIRST && |
+ app_sync_data.launch_type() < extensions::NUM_LAUNCH_TYPES) { |
+ extensions::SetLaunchType(extension_service_, id, |
+ static_cast<extensions::LaunchType>(app_sync_data.launch_type())); |
+ } |
+ |
if (!ProcessExtensionSyncDataHelper(app_sync_data.extension_sync_data(), |
syncer::APPS)) { |
app_sync_bundle_.AddPendingApp(id, app_sync_data); |