summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrfevang@chromium.org <rfevang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-02 06:34:58 +0000
committerrfevang@chromium.org <rfevang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-02 06:34:58 +0000
commit66e8fe6e3b21d65778b3d600fdda5e07b2b66727 (patch)
tree49f675ec87805b69ddf8bfdc9e78994af3d3d781
parent04140a810d17fb3baef923f73c72bccc9d8f5fb6 (diff)
downloadchromium_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.cc3
-rw-r--r--chrome/test/data/extensions/api_test/bookmarks/test.js18
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)
+ }));
+ });
}
]);
}