Closed Bug 861403 Opened 12 years ago Closed 12 years ago

Windows of request and response headers in Web Console are broken (regression)

Categories

(Core :: Widget, defect)

22 Branch
x86_64
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla23
Tracking Status
firefox21 --- unaffected
firefox22 + fixed
firefox23 + verified

People

(Reporter: epinal99-bugzilla2, Assigned: jfkthame)

References

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

Computer: screen 1920 x 1080 with zoom at 125% STR: Open the Web Console and click on any network request to display the request/response headers. Result: Rendering of the window of the network request is broken: the box resizes itself during it's displaying, dragging the window header with the mouse and moving at the top of the screen makes the window disappears outside the screen. Regression range: m-c good=2013-03-14 bad=2013-03-15 http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b672877ed046&tochange=0f7261e288f
Regression window(m-i) Good: http://hg.mozilla.org/integration/mozilla-inbound/rev/cf4112d50b68 Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20130313 Firefox/22.0 ID:20130313040337 Bad: http://hg.mozilla.org/integration/mozilla-inbound/rev/281971e111cd Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20130313 Firefox/22.0 ID:20130313043837 Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=cf4112d50b68&tochange=281971e111cd Triggered by: 281971e111cd Jonathan Kew — bug 844604 - default to auto devPixelsPerPx setting on windows. r=jimm
Blocks: 844604
Component: Untriaged → Widget: Win32
Product: Firefox → Core
Whoaa that is seriously strange. (replicated in Aurora 22 and Nightly 23.0a1 (2013-04-10))
I forgot to mention my setup is 192DPI. The window seems to be repeatedly resizing itself over and over again, like it's calculating its border width wrong and responding to the discrepancy by resizing.
Could you please try the tryserver build from https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jkew@mozilla.com-8c02fec95f48/ and let me know whether this resolves the problem for you?
This is happening because the widget methods MoveClient and ResizeClient, which take "global display pixel" coordinates when operating on top-level windows, fail to deal with the fact that the existing mBounds and GetClientOffset values they use will be measured in the widget's device pixels. So we need to convert those back to display pixels if we're going to mix them into the calculations, before calling through to Move or Resize. Doing this requires that these methods know whether or not they're being used on a top-level widget that needs to do the conversion. So I've moved that from the windows/nsWindow methods into a shared nsBaseWidget::BoundsUseDisplayPixels method, so that the same check is available to all widget methods. I don't like that name, actually, as the actual mBounds field, and APIs that -read- it, always work in device pixels; it's only the window-manipulation methods (Move and Resize) that take display pix. Not sure how to express that in the name without it becoming excessively cumbersome, though.
Attachment #737418 - Flags: review?(roc)
(In reply to Jonathan Kew (:jfkthame) from comment #4) > Could you please try the tryserver build from > https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jkew@mozilla.com- > 8c02fec95f48/ and let me know whether this resolves the problem for you? It works fine on my machine.
It turns out (unsurprisingly) that the network-request windows are slightly broken on OS X/Retina as well, though the behavior is not as obviously bizarre - just a bit mis-sized and erratic when dragged around - which is presumably why it hasn't been noticed/reported. Anyhow, the patch here fixes the issue for OS X as well.
Assignee: nobody → jfkthame
Component: Widget: Win32 → Widget
OS: Windows 7 → All
Updated patch to add a comment explaining what the new BoundsUseDisplayPixels() method means (no functional change). Carrying over r=roc.
Attachment #737418 - Attachment is obsolete: true
The tryserver build works for me. For some reason, the tool window refuses to focus. I don't know if this predates this issue or even if it's by design.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment on attachment 737451 [details] [diff] [review] fix mixing of device pixels with global display pixels in MoveClient and ResizeClient calculations. [Approval Request Comment] Bug caused by (feature/regressing bug #): hidpi support User impact if declined: erratic resizing/positioning of Network Request inspector windows (and presumably other windows with similar borders) for hidpi users Testing completed (on m-c, etc.): on Nightly for 10 days Risk to taking this patch (and alternatives if risky): low risk, just corrects coordinate systems in widget bounds calculation to stabilize behavior String or IDL/UUID changes made by this patch: none
Attachment #737451 - Flags: approval-mozilla-aurora?
Attachment #737451 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Keywords: verifyme
I can't reproduce this issue locally with the 03/29 Nightly (Fx22) on Windows 7 x64, nor with Ubuntu 12.10 x64. Loic, or whomever else can reproduce this bug, please try to verify it when you get some time.
Keywords: verifyme
You need to set a resolution different from 100% in Win 7 panel config. Mine is 125% with a full HD display.
(In reply to Loic from comment #15) > You need to set a resolution different from 100% in Win 7 panel config. > Mine is 125% with a full HD display. Thanks Loic. You also specified this in comment 0, so that's how I tested. I tried on an Ubuntu and a Win 7 and got nothing, but they were on the same machine. I did eventually manage to find a Windows 7 x64 machine that reproduces the issue and I verified this fix there (display size didn't matter, only zoom): Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: