Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 4 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com). | 4 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com). |
| 5 * Copyright (C) 2009 Joseph Pecoraro | 5 * Copyright (C) 2009 Joseph Pecoraro |
| 6 * | 6 * |
| 7 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
| 8 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
| 9 * are met: | 9 * are met: |
| 10 * | 10 * |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 87 */ | 87 */ |
| 88 UI.DragHandler = class { | 88 UI.DragHandler = class { |
| 89 constructor() { | 89 constructor() { |
| 90 this._elementDragMove = this._elementDragMove.bind(this); | 90 this._elementDragMove = this._elementDragMove.bind(this); |
| 91 this._elementDragEnd = this._elementDragEnd.bind(this); | 91 this._elementDragEnd = this._elementDragEnd.bind(this); |
| 92 this._mouseOutWhileDragging = this._mouseOutWhileDragging.bind(this); | 92 this._mouseOutWhileDragging = this._mouseOutWhileDragging.bind(this); |
| 93 } | 93 } |
| 94 | 94 |
| 95 _createGlassPane() { | 95 _createGlassPane() { |
| 96 this._glassPaneInUse = true; | 96 this._glassPaneInUse = true; |
| 97 if (!UI.DragHandler._glassPaneUsageCount++) | 97 if (!UI.DragHandler._glassPaneUsageCount++) { |
| 98 UI.DragHandler._glassPane = new UI.GlassPane(UI.DragHandler._documentForMo useOut); | 98 UI.DragHandler._glassPane = |
| 99 new UI.GlassPane(UI.DragHandler._documentForMouseOut, false /* dimmed */, true /* blockPointerEvents */); | |
| 100 } | |
| 99 } | 101 } |
| 100 | 102 |
| 101 _disposeGlassPane() { | 103 _disposeGlassPane() { |
| 102 if (!this._glassPaneInUse) | 104 if (!this._glassPaneInUse) |
| 103 return; | 105 return; |
| 104 this._glassPaneInUse = false; | 106 this._glassPaneInUse = false; |
| 105 if (--UI.DragHandler._glassPaneUsageCount) | 107 if (--UI.DragHandler._glassPaneUsageCount) |
| 106 return; | 108 return; |
| 107 UI.DragHandler._glassPane.dispose(); | 109 UI.DragHandler._glassPane.dispose(); |
| 108 delete UI.DragHandler._glassPane; | 110 delete UI.DragHandler._glassPane; |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 297 elementDrag(lastX, lastY); | 299 elementDrag(lastX, lastY); |
| 298 } | 300 } |
| 299 }; | 301 }; |
| 300 | 302 |
| 301 /** | 303 /** |
| 302 * @unrestricted | 304 * @unrestricted |
| 303 */ | 305 */ |
| 304 UI.GlassPane = class { | 306 UI.GlassPane = class { |
| 305 /** | 307 /** |
| 306 * @param {!Document} document | 308 * @param {!Document} document |
| 307 * @param {boolean=} dimmed | 309 * @param {boolean} dimmed |
| 310 * @param {boolean} blockPointerEvents | |
| 308 */ | 311 */ |
| 309 constructor(document, dimmed) { | 312 constructor(document, dimmed, blockPointerEvents) { |
| 310 this.element = createElement('div'); | 313 this.element = createElement('div'); |
| 311 var background = dimmed ? 'rgba(255, 255, 255, 0.5)' : 'transparent'; | 314 var background = dimmed ? 'rgba(255, 255, 255, 0.5)' : 'transparent'; |
| 312 this._zIndex = UI._glassPane ? UI._glassPane._zIndex + 1000 : | |
| 313 3000; // Deliberately starts with 3000 to hi de other z-indexed elements below. | |
| 314 this.element.style.cssText = 'position:absolute;top:0;bottom:0;left:0;right: 0;background-color:' + background + | 315 this.element.style.cssText = 'position:absolute;top:0;bottom:0;left:0;right: 0;background-color:' + background + |
| 315 ';z-index:' + this._zIndex + ';overflow:hidden;'; | 316 ';z-index:' + UI._glassPaneZIndex + ';overflow:hidden;' + (blockPointerE vents ? '' : 'pointer-events:none;'); |
| 317 UI._glassPaneZIndex += 1000; | |
| 316 document.body.appendChild(this.element); | 318 document.body.appendChild(this.element); |
| 317 UI._glassPane = this; | |
| 318 // TODO(dgozman): disallow focus outside of glass pane? | 319 // TODO(dgozman): disallow focus outside of glass pane? |
| 319 } | 320 } |
| 320 | 321 |
| 321 dispose() { | 322 dispose() { |
| 322 delete UI._glassPane; | 323 UI._glassPaneZIndex -= 1000; |
|
einbinder
2017/01/30 23:59:47
Should we do a check if this.element has a parent
| |
| 323 this.element.remove(); | 324 this.element.remove(); |
| 324 } | 325 } |
| 325 }; | 326 }; |
| 326 | 327 |
| 327 /** @type {!UI.GlassPane|undefined} */ | 328 /** @type {number} */ |
| 328 UI._glassPane; | 329 UI._glassPaneZIndex = 3000; // Deliberately starts with 3000 to hide other z-in dexed elements below. |
| 329 | 330 |
| 330 /** | 331 /** |
| 331 * @param {?Node=} node | 332 * @param {?Node=} node |
| 332 * @return {boolean} | 333 * @return {boolean} |
| 333 */ | 334 */ |
| 334 UI.isBeingEdited = function(node) { | 335 UI.isBeingEdited = function(node) { |
| 335 if (!node || node.nodeType !== Node.ELEMENT_NODE) | 336 if (!node || node.nodeType !== Node.ELEMENT_NODE) |
| 336 return false; | 337 return false; |
| 337 var element = /** {!Element} */ (node); | 338 var element = /** {!Element} */ (node); |
| 338 if (element.classList.contains('text-prompt') || element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') | 339 if (element.classList.contains('text-prompt') || element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') |
| (...skipping 871 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1210 document.defaultView.addEventListener('blur', UI._windowBlurred.bind(UI, docum ent), false); | 1211 document.defaultView.addEventListener('blur', UI._windowBlurred.bind(UI, docum ent), false); |
| 1211 document.addEventListener('focus', UI._focusChanged.bind(UI), true); | 1212 document.addEventListener('focus', UI._focusChanged.bind(UI), true); |
| 1212 | 1213 |
| 1213 if (!UI.themeSupport) | 1214 if (!UI.themeSupport) |
| 1214 UI.themeSupport = new UI.ThemeSupport(themeSetting); | 1215 UI.themeSupport = new UI.ThemeSupport(themeSetting); |
| 1215 UI.themeSupport.applyTheme(document); | 1216 UI.themeSupport.applyTheme(document); |
| 1216 | 1217 |
| 1217 var body = /** @type {!Element} */ (document.body); | 1218 var body = /** @type {!Element} */ (document.body); |
| 1218 UI.appendStyle(body, 'ui/inspectorStyle.css'); | 1219 UI.appendStyle(body, 'ui/inspectorStyle.css'); |
| 1219 UI.appendStyle(body, 'ui/popover.css'); | 1220 UI.appendStyle(body, 'ui/popover.css'); |
| 1221 UI.ModalOverlay.setRootElement(/** @type {!Element} */ (document.body)); | |
| 1220 }; | 1222 }; |
| 1221 | 1223 |
| 1222 /** | 1224 /** |
| 1223 * @param {string} name | 1225 * @param {string} name |
| 1224 * @return {string} | 1226 * @return {string} |
| 1225 */ | 1227 */ |
| 1226 UI.beautifyFunctionName = function(name) { | 1228 UI.beautifyFunctionName = function(name) { |
| 1227 return name || Common.UIString('(anonymous)'); | 1229 return name || Common.UIString('(anonymous)'); |
| 1228 }; | 1230 }; |
| 1229 | 1231 |
| (...skipping 847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2077 */ | 2079 */ |
| 2078 constructor(message, okCallback, cancelCallback) { | 2080 constructor(message, okCallback, cancelCallback) { |
| 2079 super(true); | 2081 super(true); |
| 2080 this.registerRequiredCSS('ui/confirmDialog.css'); | 2082 this.registerRequiredCSS('ui/confirmDialog.css'); |
| 2081 this.contentElement.createChild('div', 'message').createChild('span').textCo ntent = message; | 2083 this.contentElement.createChild('div', 'message').createChild('span').textCo ntent = message; |
| 2082 var buttonsBar = this.contentElement.createChild('div', 'button'); | 2084 var buttonsBar = this.contentElement.createChild('div', 'button'); |
| 2083 buttonsBar.appendChild(UI.createTextButton(Common.UIString('Ok'), okCallback )); | 2085 buttonsBar.appendChild(UI.createTextButton(Common.UIString('Ok'), okCallback )); |
| 2084 buttonsBar.appendChild(UI.createTextButton(Common.UIString('Cancel'), cancel Callback)); | 2086 buttonsBar.appendChild(UI.createTextButton(Common.UIString('Cancel'), cancel Callback)); |
| 2085 } | 2087 } |
| 2086 }; | 2088 }; |
| OLD | NEW |