diff options
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_(); }, |