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

Unified Diff: chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc

Issue 308273002: Made the bookmarks extension APIs aware of managed bookmarks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 6 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/extensions/api/bookmarks/bookmark_api_helpers.cc
diff --git a/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc b/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
index 182cbb4a9844617f47dad2b678a27efb88b24ba0..49fc0433463f20ddd3c2b4c9a3fc42684e5d3f01 100644
--- a/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
+++ b/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
@@ -9,6 +9,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/bookmarks/chrome_bookmark_client.h"
#include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h"
#include "chrome/common/extensions/api/bookmarks.h"
#include "components/bookmarks/browser/bookmark_model.h"
@@ -97,10 +98,11 @@ void AddNodeFoldersOnly(const BookmarkNode* node,
return AddNodeHelper(node, nodes, recurse, true);
}
-bool RemoveNode(BookmarkModel* model,
+bool RemoveNode(ChromeBookmarkClient* client,
int64 id,
bool recursive,
std::string* error) {
+ BookmarkModel* model = client->model();
const BookmarkNode* node = GetBookmarkNodeByID(model, id);
if (!node) {
*error = keys::kNoNodeError;
@@ -110,6 +112,10 @@ bool RemoveNode(BookmarkModel* model,
*error = keys::kModifySpecialError;
return false;
}
+ if (client->IsDescendantOfManagedNode(node)) {
+ *error = keys::kModifyManagedError;
+ return false;
+ }
if (node->is_folder() && !node->empty() && !recursive) {
*error = keys::kFolderNotEmptyError;
return false;

Powered by Google App Engine
This is Rietveld 408576698