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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/ui/GlassPane.js

Issue 2801373002: [DevTools] Listen to mousedown in SoftContextMenu once (Closed)
Patch Set: Created 3 years, 8 months 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 UI.GlassPane = class { 5 UI.GlassPane = class {
6 constructor() { 6 constructor() {
7 this._widget = new UI.Widget(true); 7 this._widget = new UI.Widget(true);
8 this._widget.markAsRoot(); 8 this._widget.markAsRoot();
9 this.element = this._widget.element; 9 this.element = this._widget.element;
10 this.contentElement = this._widget.contentElement; 10 this.contentElement = this._widget.contentElement;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 } 116 }
117 117
118 /** 118 /**
119 * @param {!Document} document 119 * @param {!Document} document
120 */ 120 */
121 show(document) { 121 show(document) {
122 if (this.isShowing()) 122 if (this.isShowing())
123 return; 123 return;
124 // Deliberately starts with 3000 to hide other z-indexed elements below. 124 // Deliberately starts with 3000 to hide other z-indexed elements below.
125 this.element.style.zIndex = 3000 + 1000 * UI.GlassPane._panes.size; 125 this.element.style.zIndex = 3000 + 1000 * UI.GlassPane._panes.size;
126 document.body.addEventListener('click', this._onMouseDownBound, true); 126 document.body.addEventListener('mousedown', this._onMouseDownBound, true);
127 this._widget.show(document.body); 127 this._widget.show(document.body);
128 UI.GlassPane._panes.add(this); 128 UI.GlassPane._panes.add(this);
129 this._positionContent(); 129 this._positionContent();
130 } 130 }
131 131
132 hide() { 132 hide() {
133 if (!this.isShowing()) 133 if (!this.isShowing())
134 return; 134 return;
135 UI.GlassPane._panes.delete(this); 135 UI.GlassPane._panes.delete(this);
136 this.element.ownerDocument.body.removeEventListener('click', this._onMouseDo wnBound, true); 136 this.element.ownerDocument.body.removeEventListener('mousedown', this._onMou seDownBound, true);
137 this._widget.detach(); 137 this._widget.detach();
138 } 138 }
139 139
140 /** 140 /**
141 * @param {!Event} event 141 * @param {!Event} event
142 */ 142 */
143 _onMouseDown(event) { 143 _onMouseDown(event) {
144 if (!this._onClickOutsideCallback) 144 if (!this._onClickOutsideCallback)
145 return; 145 return;
146 var node = event.deepElementFromPoint(); 146 var node = event.deepElementFromPoint();
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 UI.GlassPane.MarginBehavior = { 389 UI.GlassPane.MarginBehavior = {
390 Arrow: Symbol('Arrow'), 390 Arrow: Symbol('Arrow'),
391 DefaultMargin: Symbol('DefaultMargin'), 391 DefaultMargin: Symbol('DefaultMargin'),
392 NoMargin: Symbol('NoMargin') 392 NoMargin: Symbol('NoMargin')
393 }; 393 };
394 394
395 /** @type {!Map<!Document, !Element>} */ 395 /** @type {!Map<!Document, !Element>} */
396 UI.GlassPane._containers = new Map(); 396 UI.GlassPane._containers = new Map();
397 /** @type {!Set<!UI.GlassPane>} */ 397 /** @type {!Set<!UI.GlassPane>} */
398 UI.GlassPane._panes = new Set(); 398 UI.GlassPane._panes = new Set();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698