| Index: chrome/browser/resources/bookmark_manager/js/bmm/bookmark_list.js
|
| diff --git a/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_list.js b/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_list.js
|
| index 64f5976d276173d123354deccea222e862a10ae0..ef4fa82b5f466c122ba4cb2120bbe74d7e354bcf 100644
|
| --- a/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_list.js
|
| +++ b/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_list.js
|
| @@ -68,7 +68,6 @@ cr.define('bmm', function() {
|
| /** @inheritDoc */
|
| decorate: function() {
|
| List.prototype.decorate.call(this);
|
| - this.addEventListener('click', this.handleClick_);
|
| this.addEventListener('mousedown', this.handleMouseDown_);
|
|
|
| // HACK(arv): http://crbug.com/40902
|
| @@ -190,26 +189,17 @@ cr.define('bmm', function() {
|
| },
|
|
|
| /**
|
| - * Handles the clicks on the list so that we can check if the user clicked
|
| - * on a link or a folder.
|
| + * Dispatches an urlClicked event which is used to open URLs in new
|
| + * tabs etc.
|
| * @private
|
| - * @param {!Event} e The click event object.
|
| + * @param {string} url The URL that was clicked.
|
| + * @param {!Event} originalEvent The original click event object.
|
| */
|
| - handleClick_: function(e) {
|
| - // Handle middle click to open bookmark in a new tab.
|
| - if (e.button == 1) {
|
| - var el = e.target;
|
| - while (el.parentNode != this) {
|
| - el = el.parentNode;
|
| - }
|
| - var node = el.bookmarkNode;
|
| - if (!bmm.isFolder(node)) {
|
| - var event = new cr.Event('urlClicked', true, false);
|
| - event.url = node.url;
|
| - event.originalEvent = e;
|
| - this.dispatchEvent(event);
|
| - }
|
| - }
|
| + dispatchUrlClickedEvent_: function(url, originalEvent) {
|
| + var event = new cr.Event('urlClicked', true, false);
|
| + event.url = url;
|
| + event.originalEvent = originalEvent;
|
| + this.dispatchEvent(event);
|
| },
|
|
|
| /**
|
| @@ -243,15 +233,13 @@ cr.define('bmm', function() {
|
| handleMiddleMouseUp_: function(e) {
|
| this.removeEventListener('mouseup', this.handleMiddleMouseUp_);
|
| if (e.button == 1) {
|
| - var clickEvent = document.createEvent('MouseEvent');
|
| - clickEvent.initMouseEvent('click',
|
| - true, // canBubble
|
| - true, // cancelable,
|
| - e.view, e.detail,
|
| - e.screenX, e.screenY, e.clientX, e.clientY,
|
| - e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
|
| - e.button, e.relatedTarget);
|
| - e.target.dispatchEvent(clickEvent);
|
| + var el = e.target;
|
| + while (el.parentNode != this) {
|
| + el = el.parentNode;
|
| + }
|
| + var node = el.bookmarkNode;
|
| + if (node && !bmm.isFolder(node))
|
| + this.dispatchUrlClickedEvent_(node.url, e);
|
| }
|
| },
|
|
|
|
|