Perma Windows 7 DevEdition open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" starting with Gecko 68

NEW
Unassigned

Status

()

defect
P1
normal
4 months ago
22 days ago

People

(Reporter: RaulGurzau, Unassigned)

Tracking

({leave-open, regression})

unspecified
Points:
---

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox66 unaffected, firefox67 unaffected, firefox68+ verified)

Details

Attachments

(4 attachments)

[Tracking Requested - why for this release]:

Central as beta simulation: https://treeherder.mozilla.org/#/jobs?repo=try&resultStatus=testfailed%2Cbusted%2Cexception&revision=7d697d08b5569edf179d3f1d700a5506ace0cd01&selectedJob=237220993&searchStr=windows%2C7%2Cdevedition%2Copt%2Cweb%2Cplatform%2Ctests%2Cwith%2Ce10s%2Ctest-windows7-32-devedition%2Fopt-web-platform-tests-e10s-9%2Cw-e10s%28wpt9%29

Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=237220993&repo=try&lineNumber=5538

Log snippet:

15:21:18 INFO - PID 1992 | JavaScript warning: chrome://browser/content/tabbrowser.js, line 4834: Array.unshift is deprecated; use Array.prototype.unshift instead
15:21:18 INFO - PID 1992 | JavaScript warning: chrome://global/content/bindings/tabbox.xml, line 162: Array.forEach is deprecated; use Array.prototype.forEach instead
15:21:18 INFO - PID 1992 | JavaScript warning: chrome://browser/content/browser-ctrlTab.js, line 568: Array.filter is deprecated; use Array.prototype.filter instead
15:21:18 INFO - PID 1992 | JavaScript warning: chrome://browser/content/tabbrowser.js, line 4834: Array.unshift is deprecated; use Array.prototype.unshift instead
15:21:33 INFO -
15:21:33 INFO - TEST-PASS | /html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html | features "innerheight=/404" should NOT set "height=404"
15:21:33 INFO - TEST-PASS | /html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html | features "innerheight=_404" should NOT set "height=404"
15:21:33 INFO - TEST-PASS | /html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html | features "innerheight=L404" should NOT set "height=404"
15:21:33 INFO - TEST-UNEXPECTED-FAIL | /html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" - assert_equals: "top=0,left=0,width=401,innerheight=405.5 value after first non-digit will be ignored" expected 405 but got 400
15:21:33 INFO - runWindowTests/</</<@http://web-platform.test:8000/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html:68:9
15:21:33 INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1587:25
15:21:33 INFO - Test.prototype.step_func_done/<@http://web-platform.test:8000/resources/testharness.js:1627:32
15:21:33 INFO - PrefixedMessage.prototype.onMessage/<@http://web-platform.test:8000/common/PrefixedPostMessage.js:53:12
15:21:33 INFO -
15:21:33 INFO - TEST-UNEXPECTED-FAIL | /html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html | features "innerheight=405.32" should set "height=405" - assert_equals: "top=0,left=0,width=401,innerheight=405.32 value after first non-digit will be ignored" expected 405 but got 400
15:21:33 INFO - runWindowTests/</</<@http://web-platform.test:8000/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html:68:9
15:21:33 INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1587:25
15:21:33 INFO - Test.prototype.step_func_done/<@http://web-platform.test:8000/resources/testharness.js:1627:32
15:21:33 INFO - PrefixedMessage.prototype.onMessage/<@http://web-platform.test:8000/common/PrefixedPostMessage.js:53:12

Flags: needinfo?(kmaglione+bmo)
Summary: Perma open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" when Gecko 68 merges to Beta on 2019-05-06 → Perma Windows 7 DevEdition open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" when Gecko 68 merges to Beta on 2019-05-06

Plausible. Let's see what happens after bug 1540856 lands.

Flags: needinfo?(kmaglione+bmo)
Priority: -- → P2

As this is a new regression and causing perma failure, P1.
(Sorry for highering the priority, Alphan)

Priority: P2 → P1

Same scenario as bug 1540566 comment 2. Web platform tests shouldn't care what browser theme is applied. If this test fails when the dev edition is applied, either the test is broken or our behavior is broken when the dev edition theme is applied. It's up to the owner of the test do decide which.

Flags: needinfo?(kmaglione+bmo)

Hi Alphan, according to comment 5, could you please help investigate how this test is doing with dev edition theme and what we should do for 68 before the beta merge? Thank you very much.

Flags: needinfo?(alchen)

The test is using window.open() with featureString to set "innerheight".
It should ignore the value after first non-digit.
In the failure testcase, we should set "405" rather than 405.5.
However, the value we get here is 400.

Trying to figure the difference....

Flags: needinfo?(alchen)

There is a coincidence between bug 1540566 and this bug(bug 1540551).
The difference of target height and actual height is 5.

For bug 1540551,
expected 405 but got 400

For bug 1540566,
height (195) should be around twice what was requested (100)
--> It means expected 200(=100*2) but got 195

According to Comment 5 and Comment 8, there is difference between whether dev theme is applied or not.
The symptom is happened on Window 7.

From DOM side, I have no idea about the difference.
Could you input something about what will happen if we apply dev theme?
Or suggest someone who is familiar with dev theme?

Flags: needinfo?(pbrosset)
Flags: needinfo?(jwalker)

Looking at the test, I have no immediate ideas as to why changing the theme would impact it.
The theme that applies to the DevTools toolbox is different than the Firefox dark theme (which is, I think, a light-weight theme defined here). There is nothing in common between the 2 except that the Firefox dark theme originally was inspired by the devtools dark theme which, at some stage, was applied to the DevEdition release.
I think others than me would better be able to help. Sorry I don't know much about browser themes or WPT.
I'm also going to clear needinfo for Joe since he doesn't currently work on devtools.

Flags: needinfo?(pbrosset)
Flags: needinfo?(jwalker)

This is about the Firefox dark theme, which is the default theme for dev edition builds, and therefore is applied for (plain and chrome) mochitests and web platform tests run in those builds.

Works with a build from the simulation run when executing on Windows 10 1803 and running the test from w3c-test.org.

The issue reproduces here (OS: Windows 8.1, artifact build set to 32 bit) even before the bug got filed and not only with DevEdition:

assert_equals: "top=0,left=0,width=401,innerheight=405.5 value after first non-digit will be ignored" expected 405 but got 404

The first merge of central to beta is less than 2 weeks away. Please prioritize this.

Flags: needinfo?(alchen)

Henri is helping with this. Do you have any findings so far?

Flags: needinfo?(alchen) → needinfo?(hsivonen)

Not yet due to focusing on a couple of other priority items first. I'll give this issue a better look now.

Flags: needinfo?(hsivonen)

I can't reproduce the problem when downloading the 32-bit try build and running it locally on 64-bit Windows 7.

In any case, this does not seem to be a DOM API issue. My hypothesis is that there is a one-pixel try-server-only layout glitch with the dev edition theme. I think it's not worthwhile to track down the layout glitch. Rather, I think the best avenue for fixing this would be making the dev edition theme not display a tab when opening a window with these options. See the attachments: The normal theme does not show a tab. The dev edition shows a tab, and unlike with normal browser windows, the tab is not painted into the title bar.

Component: DOM: Core & HTML → Theme
Product: Core → Firefox

layout glitch with the dev edition theme.

For clarity: When the new window opens, we spin the event loop and load the XUL UI. We then ask layout what size the XUL browser area ended up being. What gets laid out with the dev edition theme is substantially different from what gets laid out with the normal theme.

Tested on a Windows 7 with Nightly (= Beta) and DevEdition from today's beta simulation and couldn't reproduce the issue (all tests passed). Even passed for DevEdition after changing the screen resolution from 1600x900 to 1280x768.

How shall this be fixed? Annotations of the failing tests as expected or disable them?

(In reply to Henri Sivonen (:hsivonen) from comment #23)

layout glitch with the dev edition theme.

For clarity: When the new window opens, we spin the event loop and load the XUL UI. We then ask layout what size the XUL browser area ended up being. What gets laid out with the dev edition theme is substantially different from what gets laid out with the normal theme.

That does sound like something that should be fixed...

Does the tab disappear after the window is painted, or does it stay visible?

(In reply to Kris Maglione [:kmag] from comment #25)

Does the tab disappear after the window is painted, or does it stay visible?

It appears right away (and has to appear when the window is still invisible during window creation, because otherwise the failures would be off by more than one pixel). The attached screenshot show the result of the exact same window.open() call in Nightly and in Dev Edition built from trunk.

It looks like the Dev Edition theme lacks special case for window.open()ed windows, but the native title bar is still window.open()-like. (I.e. window.open()ed windows have a native title bar in Dev Edition, too, unlike normal windows.)

Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/f92e2f3f7fa9
Disable window height tests failing on Windows 7 DevEdition r=hsivonen
Keywords: leave-open
Summary: Perma Windows 7 DevEdition open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" when Gecko 68 merges to Beta on 2019-05-06 → Perma Windows 7 DevEdition open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" starting Gecko 68
Summary: Perma Windows 7 DevEdition open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" starting Gecko 68 → Perma Windows 7 DevEdition open-features-non-integer-innerheight.html | features "innerheight=405.5" should set "height=405" starting with Gecko 68

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression
You need to log in before you can comment on or make changes to this bug.