Index: chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc |
diff --git a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc |
index 82ca22dc080752a1cb0f377f39d9563323db3839..fea374a576afe2ff37ab3df1940bd58b7363800f 100644 |
--- a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc |
+++ b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc |
@@ -721,7 +721,15 @@ bool BookmarkManagerPrivateSetMetaInfoFunction::RunOnReady() { |
if (!node) |
return false; |
+ if (!CanBeModified(node)) |
+ return false; |
+ |
BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile()); |
+ if (model->is_permanent_node(node)) { |
+ error_ = bookmark_keys::kModifySpecialError; |
+ return false; |
+ } |
+ |
model->SetNodeMetaInfo(node, params->key, params->value); |
return true; |
} |
@@ -735,7 +743,15 @@ bool BookmarkManagerPrivateUpdateMetaInfoFunction::RunOnReady() { |
if (!node) |
return false; |
+ if (!CanBeModified(node)) |
+ return false; |
+ |
BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile()); |
+ if (model->is_permanent_node(node)) { |
+ error_ = bookmark_keys::kModifySpecialError; |
+ return false; |
+ } |
+ |
BookmarkNode::MetaInfoMap new_meta_info( |
params->meta_info_changes.additional_properties); |
if (node->GetMetaInfoMap()) { |