Index: chrome/browser/resources/local_omnibox_popup/local_omnibox_popup.js |
diff --git a/chrome/browser/resources/local_omnibox_popup/local_omnibox_popup.js b/chrome/browser/resources/local_omnibox_popup/local_omnibox_popup.js |
index fa44d0edc374e3ba0fd596d61981c18da1c17050..05fd86e411944831556e2246b8f11b0220a268f9 100644 |
--- a/chrome/browser/resources/local_omnibox_popup/local_omnibox_popup.js |
+++ b/chrome/browser/resources/local_omnibox_popup/local_omnibox_popup.js |
@@ -2,6 +2,27 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+// ========================================================== |
+// Enums. |
+// ========================================================== |
+/** |
+ * Possible behaviors for navigateContentWindow. |
+ * @enum {number} |
+ * @private |
+ */ |
+var WindowOpenDisposition_ = { |
+ CURRENT_TAB: 1, |
+ NEW_BACKGROUND_TAB: 2 |
+}; |
+ |
+/** |
+ * The JavaScript button event value for a middle click. |
+ * @type {number} |
+ * @private |
+ * @const |
+ */ |
+var MIDDLE_MOUSE_BUTTON_ = 1; |
+ |
// ============================================================================= |
// Util functions |
// ============================================================================= |
@@ -53,8 +74,8 @@ function addSuggestionToBox(suggestion, box, select) { |
contentsContainer.appendChild(contents); |
suggestionDiv.appendChild(contentsContainer); |
var restrictedId = suggestion.rid; |
- suggestionDiv.onclick = function() { |
- handleSuggestionClick(restrictedId); |
+ suggestionDiv.onclick = function(event) { |
+ handleSuggestionClick(restrictedId, event); |
}; |
restrictedIds.push(restrictedId); |
@@ -199,10 +220,15 @@ function appendSuggestionStyles() { |
* Handles suggestion clicks. |
* @param {integer} restrictedId The restricted id of the suggestion being |
* clicked. |
+ * @param {Event} event The native click event. |
*/ |
-function handleSuggestionClick(restrictedId) { |
+function handleSuggestionClick(restrictedId, event) { |
clearSuggestions(); |
- getApiObjectHandle().navigateContentWindow(restrictedId); |
+ var disposition = WindowOpenDisposition_.CURRENT_TAB; |
+ if (event.button == MIDDLE_MOUSE_BUTTON_) |
+ disposition = WindowOpenDisposition_.NEW_BACKGROUND_TAB; |
+ getApiObjectHandle().navigateContentWindow( |
+ restrictedId, disposition); |
} |
/** |