Index: chrome/common/extensions/extension.cc |
diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc |
index 03bba03247001607407bbad7e3a594fe3ba3d415..10e6411a5d04207baee584b08eb0c05cef419d4d 100644 |
--- a/chrome/common/extensions/extension.cc |
+++ b/chrome/common/extensions/extension.cc |
@@ -3776,9 +3776,15 @@ Extension::SyncType Extension::GetSyncType() const { |
bool Extension::IsSyncable() const { |
// TODO(akalin): Figure out if we need to allow some other types. |
- // We want to sync any extensions that are internal and the chrome web store. |
- return location() == Extension::INTERNAL || |
- id() == extension_misc::kWebStoreAppId; |
+ // Default apps are not synced because otherwise they will pollute profiles |
+ // that don't already have them. Specially, if a user doesn't have default |
+ // apps, creates a new profile (which get default apps) and then enables sync |
+ // for it, then their profile everywhere gets the default_apps. |
Mihai Parparita -not on Chrome
2012/08/27 18:38:00
Remove underscore in default_apps.
|
+ bool is_syncable = (location() == Extension::INTERNAL && |
Mihai Parparita -not on Chrome
2012/08/27 18:38:00
Nit: extra space after ==.
|
+ !was_installed_by_default()); |
+ // sync the chrome web store to maintain its position on the new tab page. |
Mihai Parparita -not on Chrome
2012/08/27 18:38:00
Capitalize "sync".
|
+ is_syncable |= (id() == extension_misc::kWebStoreAppId); |
+ return is_syncable; |
} |
bool Extension::ShouldDisplayInLauncher() const { |