summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarv@chromium.org <arv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-29 21:02:00 +0000
committerarv@chromium.org <arv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-29 21:02:00 +0000
commit2b6417aa01cf426d38e27f42a012594c63023e18 (patch)
tree1d33ea3f3e1d8d4e2e44c2af86148ee1d6ee02b4
parent7c64a2f4b4aa2b755a67b6625d3a508039e2fad4 (diff)
downloadchromium_src-2b6417aa01cf426d38e27f42a012594c63023e18.zip
chromium_src-2b6417aa01cf426d38e27f42a012594c63023e18.tar.gz
chromium_src-2b6417aa01cf426d38e27f42a012594c63023e18.tar.bz2
Some small bookmark manager fixes.
1. Do not limit search results to 50 items. 2. Middle clicking a bookmark should open it in a new tab 3. Clear lead/anchor item when clearing the selection. BUG=39589, 39704, 39611 TEST=1. Search for http (or some other common term). The number of items in the result should not be limited to 50 items. 2. Middle click on a bookmark. It should open in a new tab. 3. See crbug.com/39611 Review URL: http://codereview.chromium.org/1508004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42994 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/extension_bookmarks_module.cc4
-rw-r--r--chrome/browser/resources/bookmark_manager/js/bmm/bookmarklist.js27
-rw-r--r--chrome/browser/resources/bookmark_manager/js/cr/ui/listselectionmodel.js1
3 files changed, 26 insertions, 6 deletions
diff --git a/chrome/browser/extensions/extension_bookmarks_module.cc b/chrome/browser/extensions/extension_bookmarks_module.cc
index e0fadaf..2d09ef9 100644
--- a/chrome/browser/extensions/extension_bookmarks_module.cc
+++ b/chrome/browser/extensions/extension_bookmarks_module.cc
@@ -404,7 +404,9 @@ bool SearchBookmarksFunction::RunImpl() {
ListValue* json = new ListValue();
std::wstring lang = profile()->GetPrefs()->GetString(prefs::kAcceptLanguages);
std::vector<const BookmarkNode*> nodes;
- bookmark_utils::GetBookmarksContainingText(model, query, 50, lang, &nodes);
+ bookmark_utils::GetBookmarksContainingText(model, query,
+ std::numeric_limits<int>::max(),
+ lang, &nodes);
std::vector<const BookmarkNode*>::iterator i = nodes.begin();
for (; i != nodes.end(); ++i) {
const BookmarkNode* node = *i;
diff --git a/chrome/browser/resources/bookmark_manager/js/bmm/bookmarklist.js b/chrome/browser/resources/bookmark_manager/js/bmm/bookmarklist.js
index b0c0dfe..a827db0 100644
--- a/chrome/browser/resources/bookmark_manager/js/bmm/bookmarklist.js
+++ b/chrome/browser/resources/bookmark_manager/js/bmm/bookmarklist.js
@@ -119,14 +119,31 @@ cr.define('bmm', function() {
* @param {Event} e The click event object.
*/
handleClick_: function(e) {
+ var self = this;
+
+ function dispatch(url, kind) {
+ var event = self.ownerDocument.createEvent('Event');
+ event.initEvent('urlClicked', true, false);
+ event.url = url;
+ event.kind = kind;
+ self.dispatchEvent(event);
+ }
var el = e.target;
+
+ // Handle clicks on the links to URLs.
if (el.href) {
- var event = this.ownerDocument.createEvent('Event');
- event.initEvent('urlClicked', true, false);
- event.url = el.href;
- event.kind = e.shiftKey ? 'window' : e.button == 1 ? 'tab' : 'self';
- this.dispatchEvent(event);
+ dispatch(el.href,
+ e.shiftKey ? 'window' : e.button == 1 ? 'tab' : 'self');
+
+ // Handle middle click to open bookmark in a new tab.
+ } else if (e.button == 1) {
+ while (el.parentNode != this) {
+ el = el.parentNode;
+ }
+ var node = el.bookmarkNode;
+ if (!bmm.isFolder(node))
+ dispatch(node.url, 'tab');
}
},
diff --git a/chrome/browser/resources/bookmark_manager/js/cr/ui/listselectionmodel.js b/chrome/browser/resources/bookmark_manager/js/cr/ui/listselectionmodel.js
index 70c261f..f4a3d43 100644
--- a/chrome/browser/resources/bookmark_manager/js/cr/ui/listselectionmodel.js
+++ b/chrome/browser/resources/bookmark_manager/js/cr/ui/listselectionmodel.js
@@ -308,6 +308,7 @@ cr.define('cr.ui', function() {
*/
clear: function() {
this.beginChange_();
+ this.anchorItem = this.leadItem = null;
this.clearAllSelected_();
this.endChange_();
},