| 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 36e0dc685712142488595259d4c701410d14402d..4b10bcc3b6b45db48a4541027816a11f9f434a1e 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
|
| @@ -389,7 +389,7 @@
|
| const BookmarkNode* parent_node = GetNodeFromString(model, params->parent_id);
|
| if (!CanBeModified(parent_node))
|
| return false;
|
| - bool can_paste = bookmark_utils::CanPasteFromClipboard(model, parent_node);
|
| + bool can_paste = bookmark_utils::CanPasteFromClipboard(parent_node);
|
| if (!can_paste)
|
| return false;
|
|
|
| @@ -417,14 +417,15 @@
|
| scoped_ptr<CanPaste::Params> params(CanPaste::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params);
|
|
|
| - BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile());
|
| - const BookmarkNode* parent_node = GetNodeFromString(model, params->parent_id);
|
| + ChromeBookmarkClient* client = GetChromeBookmarkClient();
|
| + const BookmarkNode* parent_node =
|
| + GetNodeFromString(client->model(), params->parent_id);
|
| if (!parent_node) {
|
| error_ = bookmark_keys::kNoParentError;
|
| return false;
|
| }
|
| - bool can_paste =
|
| - bookmark_utils::CanPasteFromClipboard(model, parent_node);
|
| + bool can_paste = bookmark_utils::CanPasteFromClipboard(parent_node) &&
|
| + !client->IsDescendantOfManagedNode(parent_node);
|
| SetResult(new base::FundamentalValue(can_paste));
|
| return true;
|
| }
|
|
|