Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: ui/webui/resources/js/cr/ui/menu_button.js

Issue 682393002: history/settings/extensions/help: focus current frame on mousedown if necessary (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: arv@ review Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/resources/uber/uber_utils.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // <include src="../../assert.js"> 5 // <include src="../../assert.js">
6 6
7 cr.exportPath('cr.ui'); 7 cr.exportPath('cr.ui');
8 8
9 /** 9 /**
10 * Enum for type of hide. Delayed is used when called by clicking on a 10 * Enum for type of hide. Delayed is used when called by clicking on a
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 * Handles event callbacks. 91 * Handles event callbacks.
92 * @param {Event} e The event object. 92 * @param {Event} e The event object.
93 */ 93 */
94 handleEvent: function(e) { 94 handleEvent: function(e) {
95 if (!this.menu) 95 if (!this.menu)
96 return; 96 return;
97 97
98 switch (e.type) { 98 switch (e.type) {
99 case 'mousedown': 99 case 'mousedown':
100 if (e.currentTarget == this.ownerDocument) { 100 if (e.currentTarget == this.ownerDocument) {
101 if (e.target instanceof Element && !this.contains(e.target) && 101 if (e.target instanceof Node && !this.contains(e.target) &&
102 !this.menu.contains(e.target)) { 102 !this.menu.contains(e.target)) {
103 this.hideMenu(); 103 this.hideMenu();
104 } else { 104 } else {
105 e.preventDefault(); 105 e.preventDefault();
106 } 106 }
107 } else { 107 } else {
108 if (this.isMenuShown()) { 108 if (this.isMenuShown()) {
109 this.hideMenu(); 109 this.hideMenu();
110 } else if (e.button == 0) { // Only show the menu when using left 110 } else if (e.button == 0) { // Only show the menu when using left
111 // mouse button. 111 // mouse button.
(...skipping 14 matching lines...) Expand all
126 if (this.menu.handleKeyDown(e)) { 126 if (this.menu.handleKeyDown(e)) {
127 e.preventDefault(); 127 e.preventDefault();
128 e.stopPropagation(); 128 e.stopPropagation();
129 } 129 }
130 } 130 }
131 131
132 // Show the focus ring on keypress. 132 // Show the focus ring on keypress.
133 this.classList.remove('using-mouse'); 133 this.classList.remove('using-mouse');
134 break; 134 break;
135 case 'focus': 135 case 'focus':
136 if (e.target instanceof Element && !this.contains(e.target) && 136 if (e.target instanceof Node && !this.contains(e.target) &&
137 !this.menu.contains(e.target)) { 137 !this.menu.contains(e.target)) {
138 this.hideMenu(); 138 this.hideMenu();
139 // Show the focus ring on focus - if it's come from a mouse event, 139 // Show the focus ring on focus - if it's come from a mouse event,
140 // the focus ring will be hidden in the mousedown event handler, 140 // the focus ring will be hidden in the mousedown event handler,
141 // executed after this. 141 // executed after this.
142 this.classList.remove('using-mouse'); 142 this.classList.remove('using-mouse');
143 } 143 }
144 break; 144 break;
145 case 'activate': 145 case 'activate':
146 var hideDelayed = e.target instanceof cr.ui.MenuItem && 146 var hideDelayed = e.target instanceof cr.ui.MenuItem &&
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 'drop-down-arrow-hover', ARROW_WIDTH, ARROW_HEIGHT, opt_hoverColor); 300 'drop-down-arrow-hover', ARROW_WIDTH, ARROW_HEIGHT, opt_hoverColor);
301 createDropDownArrowCanvas( 301 createDropDownArrowCanvas(
302 'drop-down-arrow-active', ARROW_WIDTH, ARROW_HEIGHT, opt_activeColor); 302 'drop-down-arrow-active', ARROW_WIDTH, ARROW_HEIGHT, opt_activeColor);
303 }; 303 };
304 304
305 // Export 305 // Export
306 return { 306 return {
307 MenuButton: MenuButton, 307 MenuButton: MenuButton,
308 }; 308 };
309 }); 309 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/uber/uber_utils.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698