Layout doesn't get adjusted correctly when resizing the window

RESOLVED INVALID

Status

()

Core
Layout
RESOLVED INVALID
5 years ago
3 years ago

People

(Reporter: Tobi Reif, Unassigned)

Tracking

({qawanted})

23 Branch
x86
Mac OS X
qawanted
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(2 attachments)

(Reporter)

Description

5 years ago
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:23.0) Gecko/20100101 Firefox/23.0 (Beta/Release)
Build ID: 20130814063812

Steps to reproduce:

Load http://tobireif.com/ . Drag the right edge of the window to the left (quickly) (eg and back).


Actual results:

Sometimes, the outer circles of the "stamp" (the layout item which includes the mailto link) become very much disaligned with the rest of that area.


Expected results:

The layout (including the circles) should stay intact during and after resize. (Just FYI: works in Chrome).
Perhaps call the resize event one last time right at the end of each resize phase?

Comment 1

5 years ago
Created attachment 800252 [details]
FF26-screenshot.png

Updated

5 years ago

Updated

5 years ago
Component: Untriaged → Layout
Product: Firefox → Core
(Reporter)

Comment 2

5 years ago
It might be that the fix is not layout related, but related to events.

(I meant: Perhaps *fire* the resize event one last time right at the end of each resize phase.)
We fire resize events any time a resize happpens; there can't be resizing without a resize event firing later.

It looks like the scripts on the page which manually reposition everything just randomly forget to do it sometimes.... unless this is a graphics invalidation bug with retained layers or something?
Keywords: qawanted, testcase-wanted

Comment 4

5 years ago
Created attachment 801061 [details]
semi-reduced zip, open index.html
Flags: needinfo?(bzbarsky)
Fwiw, if I change:
$(window).resize(function() {
  positionAContactCircle(contactCircle1);
  positionAContactCircle(contactCircle2);
  positionContact();
});

to:
$(window).resize(function() {
  positionContact();
  positionAContactCircle(contactCircle1);
  positionAContactCircle(contactCircle2);
});

then it seems to work as intended.

It looks like positionAContactCircle() is using the current position of
"contact", which is updated in positionContact()...
(Reporter)

Comment 6

5 years ago
Thanks Mats!

Sorry guys for posting an issue whose resolution is not one to take place in the FF code. It worked in Chrome, so I thought my JS code seems to at least potentially be OK (it is possible to run it and get the intended layout), and posted the issue.

When I change the position of the resize functions it works reliably. Strange that it worked in Chrome with the wrong sequence of positioning func calls.

The fixed code is at http://tobireif.com/ .

Closing as "resolved" and "invalid".
Status: UNCONFIRMED → RESOLVED
Last Resolved: 5 years ago
Flags: needinfo?(bzbarsky)
Resolution: --- → INVALID

Comment 7

5 years ago
Another example that shows Chrome is not automatically the reference for code rendering. :D
It's possible that Chrome fires an extra resize event even when the size has not changed...  or something.
Keywords: testcase-wanted
You need to log in before you can comment on or make changes to this bug.