Closed Bug 407405 Opened 17 years ago Closed 15 years ago

Chrome windows on secondary monitors do not have the correct screen

Categories

(Core :: Widget, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 445765

People

(Reporter: pvh, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Build Identifier: 

All the properties on a chrome window's screen object will be the PrimaryScreen's properties, including width, height, left, and top.

Reproducible: Always

Steps to Reproduce:
1. create a new chrome window (Venkman is convenient)
2. position it on a secondary screen
3. ask it for a property of the screen object (try screen.left in the evaluator)

Actual Results:  
screen.left == 0

Expected Results:  
screen.left == x position of leftmost pixel of this monitor


Child windows are not affected by this bug. Try creating a browser window on a secondary screen and put javascript:alert(screen.left) into the location bar.

This bug is present in XULRunner 1.9, but does not appear to be present in the 1.8 tree and seems to be caused by switching to Thebes. I have not been able to track down how the problem is avoided in the older codebase.

Relevant Code:
nsThebesDeviceContext::FindScreen (called eventually from requesting screen.left) and nsBaseWidget::BaseCreate to see why the DeviceContextImpl has mWidget == 0x0

Plea:
If anyone knowledgable knows of a workaround for determining whether or not a window is on-screen somewhere, I would much appreciate the information.
Blocks: songbird
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
No longer blocks: songbird
You need to log in before you can comment on or make changes to this bug.