Closed Bug 65614 Opened 25 years ago Closed 25 years ago

Scaled images with width or height by % endlessly redisplay

Categories

(Core :: Layout, defect)

x86
All
defect
Not set
normal

Tracking

()

VERIFIED DUPLICATE of bug 52798

People

(Reporter: deven, Assigned: clayton)

References

()

Details

Attachments

(4 files)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux 2.2.17 i686; en-US; m18) Gecko/20010114 BuildID: 2001011421 I've often noticed a flickering line at the bottom of the comment screens on Slashdot when using Mozilla. The status line at the bottom of the window keep alternating between "Resolving host images.slashdot.org", "Sending request to images.slashdot.org" (especially) and "Document: Done" as the line flickers. I've finally gotten around to investigating this bug, and stripped down the HTML as far as possible to make a test case. (I increased the height for visibility; it has no bearing on the bug.) The bug manifests with an IMG tag scaled with a percentage width or height. HTML tables are not needed to exhibit the bug, and are not in the test case. While the IMG tag exhibits the bug, it seems to be specific to using percentages for the width and/or height, and the image can be seen (displayed properly) for small fractions of a second before flickering again. My speculation is that there's some sort of reflow being triggered after the image is loaded, and that the reflow is in turn triggering a potential resizing of the image, which is triggering a reload of the image (usually from the cache, it seems), which is causing a reflow... Someone with more understanding of the layout engine will have to tell me if my speculation is plausible or wildly off the mark, but for now I've selected Layout as the component, since it seems more appropriate than ImageLib (if my speculation is correct)... Reproducible: Always Steps to Reproduce: 1. Load the testcase. (Or load a Slashdot comment page and scroll to the end and look just before the "Search" box and pithy quote.) 2. Notice flickering of image area and status line information. Actual Results: The browser window ends up in a seemingly endless loop, repeatedly redisplaying the image in a flickering manner. (This is why I suspect an infinite reflow loop of some sort.) Expected Results: The image should load once, and not keep redisplaying. If the specified width and height are each set to a fixed number of pixels, this flickering will not occur, and the scaled image will load properly. If the width, height, or both are set by percentage, the bug manifests itself.
I think this is a dupe of bug 46910
Bug 46910 seems like it may be related, but that one is using CSS to set the width, while my test case is just using width="80%" in the IMG tag. Moreover, that bug doesn't discuss this looping behavior, and here the image here is getting sized correctly. It just flickers as it keeps reflowing the page. If you don't see flickering when loading the testcase, try hitting the reload button once or twice to see if that gets it going. It seems to sometimes have long random pauses, which might be another bug altogether... (But I never see the testcase go to "Document: Done" and stay there.)
Summary: Scaled images with width or height by percentage don't load properly. → Scaled images with width or height by % endlessly redisplay
Hmm this is flashy, it almost blinded me ;) (put a red image that takes the whole screen and you cause a lot of infarctus!). Marking new. Reproduced in mozilla0.7 and build 2001011404 win32. Note : I had to hit reload to see the problem. OS to all.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Linux → All
Could this be related to bug 63750 ?
Yes, bug 63750 looks like basically the same issue, though perhaps searching in a different direction for the answer. Maybe it's not reflow-related; that's just how it seems to me. (Has anyone investigated the possibility?)
set GECKO_BLOCK_DEBUG_FLAGS=reflow load testcase reload testcase and the reflow messages will never end.
Nice to have some confirmation of my speculations. Where do you do that set? It doesn't seem to work as an environment variable. Do you have to do it in gdb, or in Javascript, or what? So, what's causing the reflow loop?
I think this is a dup of bug 52798 by way of bug 58645.
Note: At least in the latest builds, height specified using percentages are completely ignored in strict mode.
Wow, this page REALLY shows the reflow problem -- the images shrink before your eyes, as multiple scaled-by-percentage images flicker in and out. Look at the rows in the bottom half of the second table on this page, in the right column: http://www.nichia.co.jp/lamp-e.htm
Attached file Testcase
Attached file Testcase
Please take attachment 25548 [details] because that's the correct one. This testcase shows that it keeps reloading the images time after time. It seems that after each reload width is recalculated, and so the images are getting smaller and smaller. If it doesn't trigger the bug after the initial load, just use reload to trigger the bug.
Oh, and only the first two images should trigger this bug.
I belief this is a dup of bug 52798 "gif img in table with width=100% blinks rapidly (flashes, flickers)" The same problem here, the images keep reloading time after time.
Attached file Another testcase
The first time you load that last testcase, the first image should be 100% of your screen size. After you reload this image it's also smaller. So when you reload this testcase, the size of that first image not used, but the image size itself is used.
Also note that I have set <table width="100%"> (or try any other value) for the first table and you see that it doesn't flash nor does it reload the image. But the second one keep reloading, and is getting smaller and smaller after each reload.
I also agree that this is a dup. Other bugs about the slashdot flickering have been marked as dups of that mostfreq bug, too. *** This bug has been marked as a duplicate of 52798 ***
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: