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

Unified Diff: chrome/browser/sync/test/integration/sync_extension_helper.cc

Issue 1136543003: Extensions: Store disable reasons in Sync (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add test Created 5 years, 7 months 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
Index: chrome/browser/sync/test/integration/sync_extension_helper.cc
diff --git a/chrome/browser/sync/test/integration/sync_extension_helper.cc b/chrome/browser/sync/test/integration/sync_extension_helper.cc
index a04167147f705119e2d9c51fe79d45c1cbbea9dc..c88b26a69ece940ea2d446a8cf0eddfc3d94a2b7 100644
--- a/chrome/browser/sync/test/integration/sync_extension_helper.cc
+++ b/chrome/browser/sync/test/integration/sync_extension_helper.cc
@@ -16,6 +16,7 @@
#include "chrome/browser/sync/test/integration/sync_datatype_helper.h"
#include "chrome/browser/sync/test/integration/sync_test.h"
#include "components/crx_file/id_util.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/install_flag.h"
@@ -27,17 +28,19 @@
#include "testing/gtest/include/gtest/gtest.h"
using extensions::Extension;
+using extensions::ExtensionPrefs;
using extensions::ExtensionRegistry;
using extensions::Manifest;
SyncExtensionHelper::ExtensionState::ExtensionState()
- : enabled_state(ENABLED), incognito_enabled(false) {}
+ : enabled_state(ENABLED), disable_reasons(0), incognito_enabled(false) {}
SyncExtensionHelper::ExtensionState::~ExtensionState() {}
bool SyncExtensionHelper::ExtensionState::Equals(
const SyncExtensionHelper::ExtensionState &other) const {
return ((enabled_state == other.enabled_state) &&
+ (disable_reasons == other.disable_reasons) &&
(incognito_enabled == other.incognito_enabled));
}
@@ -205,20 +208,20 @@ SyncExtensionHelper::ExtensionStateMap
ExtensionService* extension_service =
extensions::ExtensionSystem::Get(profile)->extension_service();
- for (extensions::ExtensionSet::const_iterator it = extensions->begin();
- it != extensions->end(); ++it) {
- const std::string& id = (*it)->id();
+ for (const scoped_refptr<const Extension>& extension : *extensions) {
+ const std::string& id = extension->id();
extension_state_map[id].enabled_state =
not at google - send to devlin 2015/05/12 18:04:17 Consider saving a reference to extension_state_map
Marc Treib 2015/05/19 12:12:03 Done. (Should it be a pointer instead of a referen
not at google - send to devlin 2015/05/19 14:32:10 I use non-const references for references into STL
Marc Treib 2015/05/19 15:30:56 Yup, I only found that as well. Alright, thanks fo
extension_service->IsExtensionEnabled(id) ?
ExtensionState::ENABLED :
ExtensionState::DISABLED;
+ extension_state_map[id].disable_reasons =
+ ExtensionPrefs::Get(profile)->GetDisableReasons(id);
extension_state_map[id].incognito_enabled =
extensions::util::IsIncognitoEnabled(id, profile);
- DVLOG(2) << "Extension " << (*it)->id() << " in profile "
- << profile_debug_name << " is "
- << (extension_service->IsExtensionEnabled(id) ?
- "enabled" : "disabled");
+ DVLOG(2) << "Extension " << id << " in profile " << profile_debug_name
+ << " is " << (extension_service->IsExtensionEnabled(id) ?
+ "enabled" : "disabled");
}
const extensions::PendingExtensionManager* pending_extension_manager =
@@ -228,11 +231,13 @@ SyncExtensionHelper::ExtensionStateMap
pending_extension_manager->GetPendingIdsForUpdateCheck(&pending_crx_ids);
std::list<std::string>::const_iterator id;
- for (id = pending_crx_ids.begin(); id != pending_crx_ids.end(); ++id) {
- extension_state_map[*id].enabled_state = ExtensionState::PENDING;
- extension_state_map[*id].incognito_enabled =
- extensions::util::IsIncognitoEnabled(*id, profile);
- DVLOG(2) << "Extension " << *id << " in profile "
+ for (const std::string& id : pending_crx_ids) {
+ extension_state_map[id].enabled_state = ExtensionState::PENDING;
+ extension_state_map[id].disable_reasons =
+ ExtensionPrefs::Get(profile)->GetDisableReasons(id);
+ extension_state_map[id].incognito_enabled =
+ extensions::util::IsIncognitoEnabled(id, profile);
+ DVLOG(2) << "Extension " << id << " in profile "
<< profile_debug_name << " is pending";
}

Powered by Google App Engine
This is Rietveld 408576698