diff --git a/devtools/client/inspector/shared/test/browser_styleinspector_tooltip-closes-on-new-selection.js b/devtools/client/inspector/shared/test/browser_styleinspector_tooltip-closes-on-new-selection.js index 8b68ab700762..7f15d4fbe82b 100644 --- a/devtools/client/inspector/shared/test/browser_styleinspector_tooltip-closes-on-new-selection.js +++ b/devtools/client/inspector/shared/test/browser_styleinspector_tooltip-closes-on-new-selection.js @@ -27,7 +27,7 @@ function* testRuleView(ruleView, inspector) { let tooltip = ruleView.tooltips.previewTooltip; let tooltipContent = ruleView.styleDocument.createElementNS(XHTML_NS, "div"); - yield tooltip.setContent(tooltipContent, 100, 30); + yield tooltip.setContent(tooltipContent, {width: 100, height: 30}); // Stop listening for mouse movements because it's not needed for this test, // and causes intermittent failures on Linux. When this test runs in the suite @@ -52,7 +52,8 @@ function* testComputedView(computedView, inspector) { let tooltip = computedView.tooltips.previewTooltip; let tooltipContent = computedView.styleDocument.createElementNS(XHTML_NS, "div"); - yield tooltip.setContent(tooltipContent, 100, 30); + yield tooltip.setContent(tooltipContent, {width: 100, height: 30}); + // Stop listening for mouse movements because it's not needed for this test, // and causes intermittent failures on Linux. When this test runs in the suite // sometimes a mouseleave event is dispatched at the start, which causes the diff --git a/devtools/client/netmonitor/netmonitor-view.js b/devtools/client/netmonitor/netmonitor-view.js index 34988dcbadad..b6d29fa3682b 100644 --- a/devtools/client/netmonitor/netmonitor-view.js +++ b/devtools/client/netmonitor/netmonitor-view.js @@ -2385,7 +2385,7 @@ RequestsMenuView.prototype = Heritage.extend(WidgetMethods, { el.appendChild(frameEl); } - tooltip.setContent(el, REQUESTS_TOOLTIP_STACK_TRACE_WIDTH); + tooltip.setContent(el, {width: REQUESTS_TOOLTIP_STACK_TRACE_WIDTH}); return true; }), diff --git a/devtools/client/shared/test/browser_html_tooltip-01.js b/devtools/client/shared/test/browser_html_tooltip-01.js index d93f77590e08..6b166b2a0c4a 100644 --- a/devtools/client/shared/test/browser_html_tooltip-01.js +++ b/devtools/client/shared/test/browser_html_tooltip-01.js @@ -40,7 +40,7 @@ add_task(function* () { let tooltip = new HTMLTooltip({doc}, {}); info("Set tooltip content"); - tooltip.setContent(getTooltipContent(doc), 100, 50); + tooltip.setContent(getTooltipContent(doc), {width: 100, height: 50}); is(tooltip.isVisible(), false, "Tooltip is not visible"); diff --git a/devtools/client/shared/test/browser_html_tooltip-02.js b/devtools/client/shared/test/browser_html_tooltip-02.js index 6ff8e8e948cb..2359667d9517 100644 --- a/devtools/client/shared/test/browser_html_tooltip-02.js +++ b/devtools/client/shared/test/browser_html_tooltip-02.js @@ -42,7 +42,7 @@ function* testClickInTooltipContent(doc) { info("Test a tooltip is not closed when clicking inside itself"); let tooltip = new HTMLTooltip({doc}, {}); - tooltip.setContent(getTooltipContent(doc), 100, 50); + tooltip.setContent(getTooltipContent(doc), {width: 100, height: 50}); yield showTooltip(tooltip, doc.getElementById("box1")); let onTooltipContainerClick = once(tooltip.container, "click"); @@ -58,7 +58,7 @@ function* testConsumeOutsideClicksFalse(doc) { let box4 = doc.getElementById("box4"); let tooltip = new HTMLTooltip({doc}, {consumeOutsideClicks: false}); - tooltip.setContent(getTooltipContent(doc), 100, 50); + tooltip.setContent(getTooltipContent(doc), {width: 100, height: 50}); yield showTooltip(tooltip, doc.getElementById("box1")); let onBox4Clicked = once(box4, "click"); @@ -81,7 +81,7 @@ function* testConsumeOutsideClicksTrue(doc) { box4.addEventListener("click", () => box4clicks++); let tooltip = new HTMLTooltip({doc}, {consumeOutsideClicks: true}); - tooltip.setContent(getTooltipContent(doc), 100, 50); + tooltip.setContent(getTooltipContent(doc), {width: 100, height: 50}); yield showTooltip(tooltip, doc.getElementById("box1")); let onHidden = once(tooltip, "hidden"); @@ -99,7 +99,7 @@ function* testClickInOuterIframe(doc) { let frame = doc.getElementById("frame"); let tooltip = new HTMLTooltip({doc}); - tooltip.setContent(getTooltipContent(doc), 100, 50); + tooltip.setContent(getTooltipContent(doc), {width: 100, height: 50}); yield showTooltip(tooltip, doc.getElementById("box1")); let onHidden = once(tooltip, "hidden"); @@ -118,7 +118,7 @@ function* testClickInInnerIframe(doc) { let iframe = doc.createElementNS(HTML_NS, "iframe"); iframe.style.width = "100px"; iframe.style.height = "50px"; - tooltip.setContent(iframe, 100, 50); + tooltip.setContent(iframe, {width: 100, height: 50}); yield showTooltip(tooltip, doc.getElementById("box1")); let onTooltipContainerClick = once(tooltip.container, "click"); diff --git a/devtools/client/shared/test/browser_html_tooltip-03.js b/devtools/client/shared/test/browser_html_tooltip-03.js index d207d656cdad..5eb64bb85a89 100644 --- a/devtools/client/shared/test/browser_html_tooltip-03.js +++ b/devtools/client/shared/test/browser_html_tooltip-03.js @@ -132,6 +132,6 @@ function* createTooltip(doc, autofocus) { div.style.height = "50px"; div.innerHTML = ''; - tooltip.setContent(div, 150, 50); + tooltip.setContent(div, {width: 150, height: 50}); return tooltip; } diff --git a/devtools/client/shared/test/browser_html_tooltip-04.js b/devtools/client/shared/test/browser_html_tooltip-04.js index 868363861b3d..7815bbbc5a9a 100644 --- a/devtools/client/shared/test/browser_html_tooltip-04.js +++ b/devtools/client/shared/test/browser_html_tooltip-04.js @@ -43,7 +43,7 @@ add_task(function* () { let tooltip = new HTMLTooltip({doc}, {}); let div = doc.createElementNS(HTML_NS, "div"); div.style.height = "100%"; - tooltip.setContent(div, TOOLTIP_WIDTH, TOOLTIP_HEIGHT); + tooltip.setContent(div, {width: TOOLTIP_WIDTH, height: TOOLTIP_HEIGHT}); let box1 = doc.getElementById("box1"); let box2 = doc.getElementById("box2"); diff --git a/devtools/client/shared/test/browser_html_tooltip-05.js b/devtools/client/shared/test/browser_html_tooltip-05.js index 1f6f12323c45..bad4e919b030 100644 --- a/devtools/client/shared/test/browser_html_tooltip-05.js +++ b/devtools/client/shared/test/browser_html_tooltip-05.js @@ -40,7 +40,7 @@ add_task(function* () { let tooltip = new HTMLTooltip({doc}, {}); let div = doc.createElementNS(HTML_NS, "div"); div.style.height = "100%"; - tooltip.setContent(div, TOOLTIP_WIDTH, TOOLTIP_HEIGHT); + tooltip.setContent(div, {width: TOOLTIP_WIDTH, height: TOOLTIP_HEIGHT}); let box1 = doc.getElementById("box1"); let box2 = doc.getElementById("box2"); diff --git a/devtools/client/shared/test/browser_html_tooltip_arrow-01.js b/devtools/client/shared/test/browser_html_tooltip_arrow-01.js index aa7630c85f75..3169cb3cda9d 100644 --- a/devtools/client/shared/test/browser_html_tooltip_arrow-01.js +++ b/devtools/client/shared/test/browser_html_tooltip_arrow-01.js @@ -60,7 +60,7 @@ add_task(function* () { let tooltip = new HTMLTooltip({doc}, {type: "arrow"}); let div = doc.createElementNS(HTML_NS, "div"); div.style.height = "35px"; - tooltip.setContent(div, 200, 35); + tooltip.setContent(div, {width: 200, height: 35}); let {right: docRight} = doc.documentElement.getBoundingClientRect(); diff --git a/devtools/client/shared/test/browser_html_tooltip_arrow-02.js b/devtools/client/shared/test/browser_html_tooltip_arrow-02.js index 7437b2e1e4e7..b1954d5ab69c 100644 --- a/devtools/client/shared/test/browser_html_tooltip_arrow-02.js +++ b/devtools/client/shared/test/browser_html_tooltip_arrow-02.js @@ -54,7 +54,7 @@ add_task(function* () { let tooltip = new HTMLTooltip({doc}, {type: "arrow"}); let div = doc.createElementNS(HTML_NS, "div"); div.style.height = "35px"; - tooltip.setContent(div, 200, 35); + tooltip.setContent(div, {width: 200, height: 35}); let {right: docRight} = doc.documentElement.getBoundingClientRect(); diff --git a/devtools/client/shared/test/browser_html_tooltip_variable-height.js b/devtools/client/shared/test/browser_html_tooltip_variable-height.js index 9abcbe5e2e6e..2e2c52cb5e3e 100644 --- a/devtools/client/shared/test/browser_html_tooltip_variable-height.js +++ b/devtools/client/shared/test/browser_html_tooltip_variable-height.js @@ -40,7 +40,7 @@ add_task(function* () { info("Set tooltip content 50px tall, but request a container 200px tall"); let tooltipContent = doc.createElementNS(HTML_NS, "div"); tooltipContent.style.cssText = "height: " + TOOLTIP_HEIGHT + "px; background: red;"; - tooltip.setContent(tooltipContent, CONTAINER_WIDTH, CONTAINER_HEIGHT); + tooltip.setContent(tooltipContent, {width: CONTAINER_WIDTH, height: CONTAINER_HEIGHT}); info("Show the tooltip and check the container and panel height."); yield showTooltip(tooltip, doc.getElementById("box1")); diff --git a/devtools/client/shared/widgets/HTMLTooltip.js b/devtools/client/shared/widgets/HTMLTooltip.js index d58b22149cbc..b17916a66647 100644 --- a/devtools/client/shared/widgets/HTMLTooltip.js +++ b/devtools/client/shared/widgets/HTMLTooltip.js @@ -108,15 +108,13 @@ HTMLTooltip.prototype = { * * @param {Element} content * The tooltip content, should be a HTML element. - * @param {Number} width - * Preferred width for the tooltip container - * @param {Number} height (optional) - * Preferred height for the tooltip container. If the content height is - * smaller than the container's height, the tooltip will automatically - * shrink around the content. If not specified, will use all the height - * available. + * @param {Object} + * - {Number} width: preferred width for the tooltip container + * - {Number} height: optional, preferred height for the tooltip container. This + * parameter acts as a max-height for the tooltip content. If not specified, + * the tooltip will be able to use all the height available. */ - setContent: function (content, width, height = Infinity) { + setContent: function (content, {width, height = Infinity}) { let themeHeight = EXTRA_HEIGHT[this.type] + 2 * EXTRA_BORDER[this.type]; let themeWidth = 2 * EXTRA_BORDER[this.type]; diff --git a/devtools/client/shared/widgets/tooltip/EventTooltipHelper.js b/devtools/client/shared/widgets/tooltip/EventTooltipHelper.js index 0dcb16b902bf..be8cee4955f2 100644 --- a/devtools/client/shared/widgets/tooltip/EventTooltipHelper.js +++ b/devtools/client/shared/widgets/tooltip/EventTooltipHelper.js @@ -160,7 +160,7 @@ EventTooltip.prototype = { this._addContentListeners(header); } - this._tooltip.setContent(this.container, CONTAINER_WIDTH); + this._tooltip.setContent(this.container, {width: CONTAINER_WIDTH}); this._tooltip.on("hidden", this.destroy); }, diff --git a/devtools/client/shared/widgets/tooltip/ImageTooltipHelper.js b/devtools/client/shared/widgets/tooltip/ImageTooltipHelper.js index 63a9436841ce..79626212e7e4 100644 --- a/devtools/client/shared/widgets/tooltip/ImageTooltipHelper.js +++ b/devtools/client/shared/widgets/tooltip/ImageTooltipHelper.js @@ -111,7 +111,7 @@ function setImageTooltip(tooltip, doc, imageUrl, options) { } let width = Math.max(CONTAINER_MIN_WIDTH, imgWidth + 2 * IMAGE_PADDING); - tooltip.setContent(div, width, height); + tooltip.setContent(div, {width, height}); } /* @@ -133,7 +133,7 @@ function setBrokenImageTooltip(tooltip, doc) { let message = GetStringFromName("previewTooltip.image.brokenImage"); div.textContent = message; - tooltip.setContent(div, 150, 30); + tooltip.setContent(div, {width: 150, height: 30}); } module.exports.getImageDimensions = getImageDimensions;