| Index: third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js b/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
|
| index 2dfef911639fb48ac31005a94cea67378f2b4fb6..4a9f3e9260c3676b56ce85cb85c6563d2ffa51f9 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
|
| @@ -568,41 +568,39 @@ Elements.ElementsPanel = class extends UI.Panel {
|
| }
|
|
|
| /**
|
| - * @param {!Element} element
|
| * @param {!Event} event
|
| - * @return {!Element|!AnchorBox|undefined}
|
| + * @return {?UI.PopoverContent}
|
| */
|
| - _getPopoverAnchor(element, event) {
|
| - var link = element;
|
| + _getPopoverContent(event) {
|
| + var link = event.target;
|
| while (link && !link[Elements.ElementsTreeElement.HrefSymbol])
|
| link = link.parentElementOrShadowHost();
|
| - return link ? link : undefined;
|
| - }
|
| -
|
| - /**
|
| - * @param {!Element|!AnchorBox} link
|
| - * @param {!UI.GlassPane} popover
|
| - * @return {!Promise<boolean>}
|
| - */
|
| - _showPopover(link, popover) {
|
| - var node = this.selectedDOMNode();
|
| - if (!node)
|
| - return Promise.resolve(false);
|
| -
|
| - var fulfill;
|
| - var promise = new Promise(x => fulfill = x);
|
| - Components.DOMPresentationUtils.buildImagePreviewContents(
|
| - node.target(), link[Elements.ElementsTreeElement.HrefSymbol], true, showPopover);
|
| - return promise;
|
| + if (!link)
|
| + return null;
|
|
|
| - /**
|
| - * @param {!Element=} contents
|
| - */
|
| - function showPopover(contents) {
|
| - if (contents)
|
| - popover.contentElement.appendChild(contents);
|
| - fulfill(!!contents);
|
| - }
|
| + return {
|
| + box: link.boxInWindow(),
|
| + show: popover => {
|
| + var node = this.selectedDOMNode();
|
| + if (!node)
|
| + return Promise.resolve(false);
|
| +
|
| + var fulfill;
|
| + var promise = new Promise(x => fulfill = x);
|
| + Components.DOMPresentationUtils.buildImagePreviewContents(
|
| + node.target(), link[Elements.ElementsTreeElement.HrefSymbol], true, showPopover);
|
| + return promise;
|
| +
|
| + /**
|
| + * @param {!Element=} contents
|
| + */
|
| + function showPopover(contents) {
|
| + if (contents)
|
| + popover.contentElement.appendChild(contents);
|
| + fulfill(!!contents);
|
| + }
|
| + }
|
| + };
|
| }
|
|
|
| _jumpToSearchResult(index) {
|
| @@ -907,9 +905,8 @@ Elements.ElementsPanel = class extends UI.Panel {
|
| var tabbedPane = this.sidebarPaneView.tabbedPane();
|
| if (this._popoverHelper)
|
| this._popoverHelper.hidePopover();
|
| - this._popoverHelper = new UI.PopoverHelper(tabbedPane.element);
|
| + this._popoverHelper = new UI.PopoverHelper(tabbedPane.element, false, this._getPopoverContent.bind(this));
|
| this._popoverHelper.setHasPadding(true);
|
| - this._popoverHelper.initializeCallbacks(this._getPopoverAnchor.bind(this), this._showPopover.bind(this));
|
| this._popoverHelper.setTimeout(0);
|
|
|
| if (horizontally) {
|
|
|