| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/common/extensions/sync_helper.h" | 5 #include "chrome/common/extensions/sync_helper.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "chrome/common/extensions/api/plugins/plugins_handler.h" | 8 #include "chrome/common/extensions/api/plugins/plugins_handler.h" |
| 9 #include "chrome/common/extensions/extension_constants.h" | 9 #include "chrome/common/extensions/extension_constants.h" |
| 10 #include "extensions/common/constants.h" | 10 #include "extensions/common/constants.h" |
| 11 #include "extensions/common/extension.h" | 11 #include "extensions/common/extension.h" |
| 12 #include "extensions/common/features/behavior_feature.h" | 12 #include "extensions/common/features/behavior_feature.h" |
| 13 #include "extensions/common/features/feature_provider.h" | 13 #include "extensions/common/features/feature_provider.h" |
| 14 #include "extensions/common/manifest.h" | 14 #include "extensions/common/manifest.h" |
| 15 #include "extensions/common/manifest_url_handlers.h" | 15 #include "extensions/common/manifest_url_handlers.h" |
| 16 #include "extensions/common/permissions/permissions_data.h" | 16 #include "extensions/common/permissions/permissions_data.h" |
| 17 | 17 |
| 18 namespace extensions { | 18 namespace extensions { |
| 19 namespace sync_helper { | 19 namespace sync_helper { |
| 20 | 20 |
| 21 bool IsSyncable(const Extension* extension) { | 21 bool IsSyncable(const Extension* extension) { |
| 22 if (FeatureProvider::GetBehaviorFeature(BehaviorFeature::kDoNotSync) | 22 if (FeatureProvider::BehaviorFeatureIsAvailable(BehaviorFeature::kDoNotSync, |
| 23 ->IsAvailableToExtension(extension) | 23 extension)) { |
| 24 .is_available()) { | |
| 25 return false; | 24 return false; |
| 26 } | 25 } |
| 27 | 26 |
| 28 // Default apps are not synced because otherwise they will pollute profiles | 27 // Default apps are not synced because otherwise they will pollute profiles |
| 29 // that don't already have them. Specially, if a user doesn't have default | 28 // that don't already have them. Specially, if a user doesn't have default |
| 30 // apps, creates a new profile (which get default apps) and then enables sync | 29 // apps, creates a new profile (which get default apps) and then enables sync |
| 31 // for it, then their profile everywhere gets the default apps. | 30 // for it, then their profile everywhere gets the default apps. |
| 32 bool is_syncable = (extension->location() == Manifest::INTERNAL && | 31 bool is_syncable = (extension->location() == Manifest::INTERNAL && |
| 33 !extension->was_installed_by_default()); | 32 !extension->was_installed_by_default()); |
| 34 if (!is_syncable && !IsSyncableComponentExtension(extension)) { | 33 if (!is_syncable && !IsSyncableComponentExtension(extension)) { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 80 |
| 82 bool IsSyncableComponentExtension(const Extension* extension) { | 81 bool IsSyncableComponentExtension(const Extension* extension) { |
| 83 if (!Manifest::IsComponentLocation(extension->location())) | 82 if (!Manifest::IsComponentLocation(extension->location())) |
| 84 return false; | 83 return false; |
| 85 return (extension->id() == extensions::kWebStoreAppId) || | 84 return (extension->id() == extensions::kWebStoreAppId) || |
| 86 (extension->id() == extension_misc::kChromeAppId); | 85 (extension->id() == extension_misc::kChromeAppId); |
| 87 } | 86 } |
| 88 | 87 |
| 89 } // namespace sync_helper | 88 } // namespace sync_helper |
| 90 } // namespace extensions | 89 } // namespace extensions |
| OLD | NEW |