Closed Bug 1289143 Opened 5 years ago Closed 5 years ago

Artifacts along the border of the window


(Core :: Widget: Win32, defect, P2)

50 Branch



Tracking Status
firefox50 --- verified
firefox51 --- verified


(Reporter: dcamp, Assigned: jfkthame, NeedInfo)


(Depends on 2 open bugs)


(Keywords: regression, Whiteboard: tpi:+)


(2 files)

Attached image BorderBug.PNG
I'm getting a border around my windows.  Usually white, but sometimes artifacts show up in the border.

Surface Book i7 on the latest insider ring anniversary preview builds.  They seem to appear when I attach to an external (standard-def) monitor, and disappear when I'm back on the laptop display.
In the off chance it's helpful, the border seems to be about twice as large when maximized.
With bug 1249500 gone with the update, something else with external monitors :)

Jonathan, Markus, could this be related to a fix in bug 1154125?

Dave, do you know if this worked on earlier versions of Firefox, while using the latest preview builds?
Flags: needinfo?(jfkthame)
Flags: needinfo?(dcamp)
I think this is a regression from bug 1270954 (Dave, maybe you can confirm that by testing nightly builds from before/after it landed?).

AFAICT, this does -not- occur if you turn on the title bar; it only occurs when we're doing the "tabs in titlebar" thing. Could you try enabling the title bar in Customize, and confirm whether that resolves what you're seeing? Thanks.

I saw problems like this when I first started testing the patch in bug 1270954, and so I held back from getting that reviewed/landed for a while. Then the problem seemed to go away, and I thought that meant it had been an Insider-build issue that got fixed. But now I'm wondering if somehow I didn't test correctly, and the problem has been there all along.
Blocks: 1270954
Flags: needinfo?(jfkthame)
Keywords: regression
Can confirm that it goes away if you turn on the title bar.
Flags: needinfo?(dcamp)
Component: Graphics → Widget: Win32
Version: unspecified → 50 Branch
Priority: -- → P2
Whiteboard: tpi:+
The problem here occurs when you have a hi-dpi (e.g. 200% scaling) primary monitor, and a browser window on a lo-dpi secondary display with 100% or 125% scaling. (At 150% or more, I'm not seeing it; it probably disappears somewhere in rounding to whole pixels.) Anyhow, I think this patch resolves the bug, by adjusting the handling of WM_NCCALCSIZE to account for scaling of the window edges. :dcamp, could you test with the tryserver build (above) and confirm whether it fixes the issue for you?
Attachment #8788624 - Flags: review?(VYV03354)
Flags: needinfo?(dcamp)
BTW, the patch here improves behavior even prior to Win10 Anniv Update and the introduction of non-client area scaling, in that it maintains the window's innerWidth better (to within a pixel or so, due to possible rounding effects) when a window is moved between displays of different resolutions.

So it will reduce the existing tendency for a page to suffer unexpected layout changes when moving the window because of a resolution switch causing a change to the available CSS-px width.
Attachment #8788624 - Flags: review?(VYV03354) → review+
Bug 1289143 - Apply the appropriate scaling to window edges when processing WM_NCCALCSIZE for a window on a secondary screen with non-system DPI. r=emk
Comment on attachment 8788624 [details] [diff] [review]
Apply the appropriate scaling to window edges when processing WM_NCCALCSIZE for a window on a secondary screen with non-system DPI

Approval Request Comment
[Feature/regressing bug #]: 1270954

[User impact if declined]: possibility of small visual glitches (see screenshot) along the edges of windows on a secondary monitor

[Describe test coverage new/current, TreeHerder]: tested manually on both Win10 and Win8.1 with mixed resolution configurations

[Risks and why]: low risk - Windows-only patch, has no effect unless displays with varying resolution are present

[String/UUID change made/needed]: none
Attachment #8788624 - Flags: approval-mozilla-aurora?
Assignee: nobody → jfkthame
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
Comment on attachment 8788624 [details] [diff] [review]
Apply the appropriate scaling to window edges when processing WM_NCCALCSIZE for a window on a secondary screen with non-system DPI

Recent regression, Aurora50+
Attachment #8788624 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Flags: qe-verify+
Verified this issue as fixed on Windows 8.1 x64 and Windows 10 x64 with 2 monitors having mixed resolutions.

Testing performed using:
- Firefox 50.0b9, build ID 20161020152750;
- Latest 51.0a2 Aurora, build ID 20161024004016.
Flags: qe-verify+
QA Contact: cornel.ionce
No longer blocks: 1361758
Depends on: 1361758
You need to log in before you can comment on or make changes to this bug.