Closed Bug 230943 Opened 21 years ago Closed 6 years ago

setting window.innerWidth and window.innerHeight only affects later set

Categories

(Core Graveyard :: Embedding: GTK Widget, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: dbaron, Assigned: blizzard)

References

()

Details

In TestGtkEmbed, if a page sets window.innerHeight and window.innerWidth at the
same time (which are slightly less broken than the other ways of resizing the
widow -- see bug 117756), only the later one set takes affect.

It seems the problem is that the resize doesn't happen immediately.  Making GTK
do the resize immediately would probably be the best fix.  Failing that, we
probably need to:
 * make GlobalWindowImpl::SetInner(Width|Height) get the current size from the
window rather than the docshell
 * make EmbedWindow in the GTK embedding code store its current size and return that

To test, start TestGtkEmbed and load one of the URLs:
javascript:void(window.innerHeight=500, window.innerWidth=500)
javascript:void(window.innerWidth=500, window.innerHeight=500)

compare with what happens changing one at a time:
javascript:void(window.innerHeight=300)
javascript:void(window.innerWidth=300)
Blocks: gtk2
QA Contact: pavlov → gtk-widget
Still seeing this in Firefox 3.6 on Ubuntu.  Only work around seems to be using hacky timeouts.
This bug doesn't affect Firefox.
Perhaps.  However, the behavior appears to be identical to what you describe in Firefox on Ubuntu/Linux. We've been doing a lot of testing for this and have found that setting innerHeight and innerWidth (as well as doing a moveTo) on the browser window -all in quick succession- will end up only doing the last window setting.  No issues with this on Windows.  Its as if there is some coalescing of window changes events/notifications happening somewhere where only the last one wins.  If we need to open a separate bug that's fine, but it would seem that whatever issue is affecting the GTK embed tests is the same one affecting us.
It works fine for me in Firefox on Linux.
Product: Core → Core Graveyard
Embedding: GTK Widget isn't a thing, closing.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.