Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/ui/GlassPane.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/ui/GlassPane.js b/third_party/WebKit/Source/devtools/front_end/ui/GlassPane.js |
| index d94c4433f8ef964737a2a43dc3dbd745cc872538..6661d1f336004e8c1326918df9fad566e6078397 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/ui/GlassPane.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/ui/GlassPane.js |
| @@ -12,7 +12,8 @@ UI.GlassPane = class { |
| this.element.shadowRoot.appendChild(this._arrowElement); |
| this.registerRequiredCSS('ui/glassPane.css'); |
| - this.element.classList.add('no-pointer-events'); |
| + this.setPointerEventsBehavior(UI.GlassPane.PointerEventsBehavior.BlockedByGlassPane); |
| + |
| this._onMouseDownBound = this._onMouseDown.bind(this); |
| /** @type {?function(!Event)} */ |
| this._onClickOutsideCallback = null; |
| @@ -51,10 +52,14 @@ UI.GlassPane = class { |
| } |
| /** |
| - * @param {boolean} blockPointerEvents |
| + * @param {!UI.GlassPane.PointerEventsBehavior} pointerEventsBehavior |
| */ |
| - setBlockPointerEvents(blockPointerEvents) { |
| - this.element.classList.toggle('no-pointer-events', !blockPointerEvents); |
| + setPointerEventsBehavior(pointerEventsBehavior) { |
| + this.element.classList.toggle( |
| + 'no-pointer-events', pointerEventsBehavior !== UI.GlassPane.PointerEventsBehavior.BlockedByGlassPane); |
| + this.contentElement.style.setProperty( |
|
dgozman
2017/04/25 23:54:14
I believe this can be class as well, since content
alph
2017/04/26 00:13:48
Done.
|
| + 'pointer-events', |
| + pointerEventsBehavior === UI.GlassPane.PointerEventsBehavior.PierceContents ? 'none' : 'auto'); |
| } |
| /** |
| @@ -364,9 +369,14 @@ UI.GlassPane = class { |
| } |
| }; |
| -/** |
| - * @enum {symbol} |
| - */ |
| +/** @enum {symbol} */ |
| +UI.GlassPane.PointerEventsBehavior = { |
| + BlockedByGlassPane: Symbol('BlockedByGlassPane'), |
| + PierceGlassPane: Symbol('PierceGlassPane'), |
| + PierceContents: Symbol('PierceContents') |
| +}; |
| + |
| +/** @enum {symbol} */ |
| UI.GlassPane.AnchorBehavior = { |
| PreferTop: Symbol('PreferTop'), |
| PreferBottom: Symbol('PreferBottom'), |
| @@ -374,18 +384,14 @@ UI.GlassPane.AnchorBehavior = { |
| PreferRight: Symbol('PreferRight'), |
| }; |
| -/** |
| - * @enum {symbol} |
| - */ |
| +/** @enum {symbol} */ |
| UI.GlassPane.SizeBehavior = { |
| SetExactSize: Symbol('SetExactSize'), |
| SetExactWidthMaxHeight: Symbol('SetExactWidthMaxHeight'), |
| MeasureContent: Symbol('MeasureContent') |
| }; |
| -/** |
| - * @enum {symbol} |
| - */ |
| +/** @enum {symbol} */ |
| UI.GlassPane.MarginBehavior = { |
| Arrow: Symbol('Arrow'), |
| DefaultMargin: Symbol('DefaultMargin'), |