diff --git a/browser/components/extensions/test/browser/browser.toml b/browser/components/extensions/test/browser/browser.toml index 8b76c526c634..863fbe1fd529 100644 --- a/browser/components/extensions/test/browser/browser.toml +++ b/browser/components/extensions/test/browser/browser.toml @@ -363,6 +363,8 @@ https_first_disabled = true ["browser_ext_popup_background.js"] +["browser_ext_popup_bug1906132.js"] + ["browser_ext_popup_corners.js"] ["browser_ext_popup_focus.js"] diff --git a/browser/components/extensions/test/browser/browser_ext_popup_bug1906132.js b/browser/components/extensions/test/browser/browser_ext_popup_bug1906132.js new file mode 100644 index 000000000000..b17e0848bd5e --- /dev/null +++ b/browser/components/extensions/test/browser/browser_ext_popup_bug1906132.js @@ -0,0 +1,57 @@ +/* Any copyright is dedicated to the Public Domain. + https://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +add_task(async function test_bug_1906132() { + let extension = ExtensionTestUtils.loadExtension({ + background() {}, + + manifest: { + browser_action: { + default_popup: "popup.html", + default_area: "navbar", + browser_style: false, + }, + }, + + files: { + "popup.html": ` + + +
+
+ some content +
+
+`, + }, + }); + + await extension.startup(); + + clickBrowserAction(extension); + let browser = await awaitExtensionPanel(extension); + + is(browser.getBoundingClientRect().height, 200, "Should be the right height"); + + await closeBrowserAction(extension); + await extension.unload(); +}); diff --git a/layout/generic/ViewportFrame.cpp b/layout/generic/ViewportFrame.cpp index 65e748a89513..ff68df4c8277 100644 --- a/layout/generic/ViewportFrame.cpp +++ b/layout/generic/ViewportFrame.cpp @@ -353,6 +353,12 @@ void ViewportFrame::Reflow(nsPresContext* aPresContext, // Reflow the frame kidReflowInput.SetComputedBSize(aReflowInput.ComputedBSize()); + if (aReflowInput.IsBResizeForWM(kidWM)) { + kidReflowInput.SetBResize(true); + } + if (aReflowInput.IsBResizeForPercentagesForWM(kidWM)) { + kidReflowInput.mFlags.mIsBResizeForPercentages = true; + } ReflowChild(kidFrame, aPresContext, kidDesiredSize, kidReflowInput, 0, 0, ReflowChildFlags::Default, aStatus); kidBSize = kidDesiredSize.BSize(wm);