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

Unified Diff: chrome/browser/android/bookmarks/partner_bookmarks_shim.cc

Issue 215693002: [Android] Allow non-editable partner bookmarks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Forgot to revert sanity-check. Created 6 years, 9 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/android/bookmarks/partner_bookmarks_shim.cc
diff --git a/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc b/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc
index 208027adce08516b464e3832e76049eaddff79a0..78f8072861ed7e6545aba3cb512f996885070c4a 100644
--- a/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc
+++ b/chrome/browser/android/bookmarks/partner_bookmarks_shim.cc
@@ -42,6 +42,8 @@ static const char kMappingUrl[] = "url";
static const char kMappingProviderTitle[] = "provider_title";
static const char kMappingTitle[] = "mapped_title";
+static bool g_disable_partner_bookmarks_editing = false;
+
} // namespace
// static
@@ -70,6 +72,11 @@ void PartnerBookmarksShim::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
}
+// static
+void PartnerBookmarksShim::DisablePartnerBookmarksEditing() {
+ g_disable_partner_bookmarks_editing = true;
+}
+
bool PartnerBookmarksShim::IsLoaded() const {
return g_partner_model_keeper.Get().loaded;
}
@@ -83,21 +90,34 @@ bool PartnerBookmarksShim::IsReachable(const BookmarkNode* node) const {
DCHECK(IsPartnerBookmark(node));
if (!HasPartnerBookmarks())
return false;
- for (const BookmarkNode* i = node; i != NULL; i = i->parent()) {
- const NodeRenamingMapKey key(i->url(), i->GetTitle());
- NodeRenamingMap::const_iterator remap = node_rename_remove_map_.find(key);
- if (remap != node_rename_remove_map_.end() && remap->second.empty())
- return false;
+ if (!g_disable_partner_bookmarks_editing) {
+ for (const BookmarkNode* i = node; i != NULL; i = i->parent()) {
+ const NodeRenamingMapKey key(i->url(), i->GetTitle());
+ NodeRenamingMap::const_iterator remap = node_rename_remove_map_.find(key);
+ if (remap != node_rename_remove_map_.end() && remap->second.empty())
+ return false;
+ }
}
return true;
}
+bool PartnerBookmarksShim::IsEditable(const BookmarkNode* node) const {
+ DCHECK(IsPartnerBookmark(node));
+ if (!HasPartnerBookmarks())
+ return false;
+ if (g_disable_partner_bookmarks_editing)
+ return false;
+ return true;
+}
+
void PartnerBookmarksShim::RemoveBookmark(const BookmarkNode* node) {
+ DCHECK(IsEditable(node));
RenameBookmark(node, base::string16());
}
void PartnerBookmarksShim::RenameBookmark(const BookmarkNode* node,
const base::string16& title) {
+ DCHECK(IsEditable(node));
const NodeRenamingMapKey key(node->url(), node->GetTitle());
node_rename_remove_map_[key] = title;
SaveNodeMapping();
@@ -126,10 +146,12 @@ base::string16 PartnerBookmarksShim::GetTitle(const BookmarkNode* node) const {
DCHECK(node);
DCHECK(IsPartnerBookmark(node));
- const NodeRenamingMapKey key(node->url(), node->GetTitle());
- NodeRenamingMap::const_iterator i = node_rename_remove_map_.find(key);
- if (i != node_rename_remove_map_.end())
- return i->second;
+ if (!g_disable_partner_bookmarks_editing) {
+ const NodeRenamingMapKey key(node->url(), node->GetTitle());
+ NodeRenamingMap::const_iterator i = node_rename_remove_map_.find(key);
+ if (i != node_rename_remove_map_.end())
+ return i->second;
+ }
return node->GetTitle();
}
@@ -184,6 +206,11 @@ void PartnerBookmarksShim::ClearPartnerModelForTesting() {
g_partner_model_keeper.Get().partner_bookmarks_root.reset(0);
}
+// static
+void PartnerBookmarksShim::EnablePartnerBookmarksEditing() {
+ g_disable_partner_bookmarks_editing = false;
+}
+
PartnerBookmarksShim::PartnerBookmarksShim(PrefService* prefs)
: prefs_(prefs),
observers_(

Powered by Google App Engine
This is Rietveld 408576698