Closed Bug 1689253 Opened 3 years ago Closed 3 years ago

resize-child-will-change-transform.html fails with non-native theme enabled.

Categories

(Core :: Widget, defect, P3)

defect

Tracking

()

RESOLVED FIXED
87 Branch
Fission Milestone M7
Tracking Status
firefox87 --- fixed

People

(Reporter: emilio, Assigned: emilio)

References

Details

(Whiteboard: fission-nnt)

Attachments

(2 files, 1 obsolete file)

No description provided.

Specifying only width/height means that xul layout will still stretch to
the container. As a result, the resizer on windows and on linux+nnt is
different size depending on whether there are scrollbars or not.

Since that doesn't seem like the intent, let's fix it so that it behaves
like Linux with the native theme, which just fixes the resizer to 15px:

https://searchfox.org/mozilla-central/rev/b9384b091e901b3283ce24b6610e80699d79fd06/widget/gtk/nsNativeThemeGTK.cpp#1678-1682

In the future we might want to support painting resizers directly in
nsNativeBasicTheme? Might be faster than the svg background. But that
being said, I don't think resizers are common enough to optimize much.

Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/aed2730aad6c
Resizer size should not depend on scrollbars. r=spohl

Backed out for layout failures

backout: https://hg.mozilla.org/integration/autoland/rev/b9e63e5b5dca4e7d22e365951a508290919e2fda

push: https://treeherder.mozilla.org/jobs?repo=autoland&selectedTaskRun=Sg2aTjHnQs2v9YYoY7RJFQ.0&revision=aed2730aad6cd12455570404f04048e97a3855df&group_state=expanded

failure log: https://treeherder.mozilla.org/logviewer?job_id=328058403&repo=autoland&lineNumber=4339

[task 2021-01-28T07:41:37.146Z] 07:41:37 INFO - must wait for load
[task 2021-01-28T07:41:37.146Z] 07:41:37 INFO - must wait for focus
[task 2021-01-28T07:41:37.147Z] 07:41:37 INFO - Buffered messages finished
[task 2021-01-28T07:41:37.147Z] 07:41:37 INFO - TEST-UNEXPECTED-FAIL | layout/xul/test/test_windowminmaxsize.xhtml | unconstrained width of 15 matches 150
[task 2021-01-28T07:41:37.147Z] 07:41:37 INFO - SimpleTest.ok@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:417:16
[task 2021-01-28T07:41:37.148Z] 07:41:37 INFO - windowOpened@chrome://mochitests/content/chrome/layout/xul/test/test_windowminmaxsize.xhtml:96:5
[task 2021-01-28T07:41:37.149Z] 07:41:37 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1037:23
[task 2021-01-28T07:41:37.149Z] 07:41:37 INFO - Not taking screenshot here: see the one that was previously logged
[task 2021-01-28T07:41:37.149Z] 07:41:37 INFO - TEST-UNEXPECTED-FAIL | layout/xul/test/test_windowminmaxsize.xhtml | unconstrained height - got 15, expected 150
[task 2021-01-28T07:41:37.150Z] 07:41:37 INFO - SimpleTest.is@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:500:14
[task 2021-01-28T07:41:37.150Z] 07:41:37 INFO - windowOpened@chrome://mochitests/content/chrome/layout/xul/test/test_windowminmaxsize.xhtml:99:5
[task 2021-01-28T07:41:37.151Z] 07:41:37 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1037:23
[task 2021-01-28T07:41:37.182Z] 07:41:37 INFO - GECKO(2105) | [Parent 2105, Main Thread] WARNING: NS_ENSURE_TRUE(uri) failed: file /builds/worker/checkouts/gecko/caps/BasePrincipal.cpp:1327
[task 2021-01-28T07:41:37.182Z] 07:41:37 INFO - must wait for load

Flags: needinfo?(emilio)
Flags: needinfo?(emilio)
Attachment #9199706 - Attachment is obsolete: true

There's no reason we should need an scrollbar box to query the size of a
scrollbar. I plan to use this in the following patch to make the size of a
resizer not vary depending on whether the container has scrollbars or not,
which is what ultimately causes the reftest failure.

Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b6ad93077575
Add a more sensible scrollbar size API to nsITheme, and use it to replace ScrollbarNonDisappearing. r=spohl
https://hg.mozilla.org/integration/autoland/rev/579a8e8a880f
Make resizer sizing not guess a size when there's not scrollbar boxes. r=spohl
Severity: -- → S3
Fission Milestone: --- → M7
Priority: -- → P3
Whiteboard: fission-nnt
Pushed by emilio@crisal.io:
https://hg.mozilla.org/integration/autoland/rev/fab280441ff9
Add missing devpx to app units conversion in unthemed scrollbar path.
Pushed by malexandru@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/de66deedfa5f
Update expectation on Windows for resize-child-will-change-transform.html a=test-only
Blocks: 1733249
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: