diff options
author | rfevang@chromium.org <rfevang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-02 06:34:58 +0000 |
---|---|---|
committer | rfevang@chromium.org <rfevang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-02 06:34:58 +0000 |
commit | 66e8fe6e3b21d65778b3d600fdda5e07b2b66727 (patch) | |
tree | 49f675ec87805b69ddf8bfdc9e78994af3d3d781 | |
parent | 04140a810d17fb3baef923f73c72bccc9d8f5fb6 (diff) | |
download | chromium_src-66e8fe6e3b21d65778b3d600fdda5e07b2b66727.zip chromium_src-66e8fe6e3b21d65778b3d600fdda5e07b2b66727.tar.gz chromium_src-66e8fe6e3b21d65778b3d600fdda5e07b2b66727.tar.bz2 |
Don't set the URL field of folders for bookmarks.onChanged.
Fixes an issue where renaming a folder in the bookmark manager would
turn a folder into a file.
BUG=358613
Review URL: https://codereview.chromium.org/220473011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261085 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/extensions/api/bookmarks/bookmarks_api.cc | 3 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/bookmarks/test.js | 18 |
2 files changed, 20 insertions, 1 deletions
diff --git a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc index 9c55b1c..9fd2857 100644 --- a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc +++ b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc @@ -248,7 +248,8 @@ void BookmarkEventRouter::BookmarkNodeChanged(BookmarkModel* model, // BookmarkModel to indicate what changed. bookmarks::OnChanged::ChangeInfo change_info; change_info.title = base::UTF16ToUTF8(node->GetTitle()); - change_info.url.reset(new std::string(node->url().spec())); + if (node->is_url()) + change_info.url.reset(new std::string(node->url().spec())); DispatchEvent(bookmarks::OnChanged::kEventName, bookmarks::OnChanged::Create(base::Int64ToString(node->id()), diff --git a/chrome/test/data/extensions/api_test/bookmarks/test.js b/chrome/test/data/extensions/api_test/bookmarks/test.js index 394cbdc..b48a289 100644 --- a/chrome/test/data/extensions/api_test/bookmarks/test.js +++ b/chrome/test/data/extensions/api_test/bookmarks/test.js @@ -504,6 +504,24 @@ chrome.test.runTests([ chrome.test.assertTrue(compareNode(node3, results[0])); chrome.test.assertTrue(compareNode(node2, results[1])); })); + }, + + function updateFolder() { + chrome.bookmarks.create({title: 'folder'}, function(folder) { + var newTitle = 'changedFolder'; + chrome.test.listenOnce(chrome.bookmarks.onChanged, pass( + function(id, changes) { + chrome.test.assertEq(folder.id, id); + chrome.test.assertEq(newTitle, changes.title); + chrome.test.assertFalse('url' in changes); + })); + + chrome.bookmarks.update(folder.id, {title: newTitle}, pass( + function(result) { + chrome.test.assertEq(newTitle, result.title); + chrome.test.assertFalse('url' in result) + })); + }); } ]); } |