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

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: fix memleak in 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..d51c5a940162f86326eb86a7d8bcd2864732b175 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,21 @@ 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();
- extension_state_map[id].enabled_state =
+ for (const scoped_refptr<const Extension>& extension : *extensions) {
+ const std::string& id = extension->id();
+ ExtensionState& extension_state = extension_state_map[id];
+ extension_state.enabled_state =
extension_service->IsExtensionEnabled(id) ?
ExtensionState::ENABLED :
ExtensionState::DISABLED;
- extension_state_map[id].incognito_enabled =
+ extension_state.disable_reasons =
+ ExtensionPrefs::Get(profile)->GetDisableReasons(id);
+ extension_state.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 =
@@ -227,12 +231,14 @@ SyncExtensionHelper::ExtensionStateMap
std::list<std::string> pending_crx_ids;
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) {
+ ExtensionState& extension_state = extension_state_map[id];
+ extension_state.enabled_state = ExtensionState::PENDING;
+ extension_state.disable_reasons =
+ ExtensionPrefs::Get(profile)->GetDisableReasons(id);
+ extension_state.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