Closed
Bug 277208
Opened 20 years ago
Closed 19 years ago
A lot of nested marquees can make Mozilla freeze
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: martijn.martijn, Assigned: martijn.martijn)
References
Details
(Keywords: testcase)
Attachments
(4 files, 3 obsolete files)
2.44 KB,
text/html
|
Details | |
880 bytes,
application/xhtml+xml
|
Details | |
937 bytes,
application/xhtml+xml
|
Details | |
1.04 KB,
patch
|
bzbarsky
:
review+
bzbarsky
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a6) Gecko/20050103 Firefox/1.0+
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a6) Gecko/20050103 Firefox/1.0+
The testcase that I will attach gives a nice/silly effect in IE6, but in Mozilla
it makes the browser freeze and completely unusable until I close it.
This was mentioned at:
http://forums.mozillazine.org/viewtopic.php?t=190367
It consists of a lot of nested <marquee> tags.
Either, Mozilla should give a warning that a script is causing Mozilla to run
slowly, etc and give the user the capability to shut the script down or Mozilla
should not support <marquee> deeply nested marquees. This could be done in
html.css, perhaps? Something like: marquee marquee marquee marquee
{-moz-binding:none;} , maybe?
Reproducible: Always
Assignee | ||
Comment 1•20 years ago
|
||
Assignee | ||
Comment 2•20 years ago
|
||
Oops, I see now that bug 239840 is basically the same bug.
Boris, is this something worth considering?
The nesting level where I disable marquee bindings here is rather arbritary.
Assignee | ||
Updated•20 years ago
|
Attachment #170433 -
Flags: review?(bzbarsky)
Comment 3•20 years ago
|
||
So... what's the real performance problem here? Is it really marquee-specific?
Or would it happen with any nested set of scrollframes?
Assignee | ||
Comment 4•20 years ago
|
||
I'm not sure what you mean. The testcase doesn't freeze when I disable javascript.
Do you want to see a testcase with a minimal marquee.xml example that still
freezes Mozilla?
Assignee | ||
Updated•20 years ago
|
Attachment #170433 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 5•20 years ago
|
||
This testcase -based on the marquee code- doesn't need javascript to make it
hang/freeze Mozilla. It freezes Mozilla for 10 seconds or so.
but when I add another <marquee>, it will freeze Mozilla much longer. Every
added <marquee> seems to increase the freezing time exponentially.
Attachment #170433 -
Attachment is obsolete: true
Assignee | ||
Comment 6•20 years ago
|
||
The xbl binding is necessary to trigger the bug. In other words, replacing the
<marquee> with the <xul:hbox style="margin: 0 100%;"> (entirely or partly)
doesn't trigger the bug.
Assignee | ||
Comment 7•20 years ago
|
||
sorry, the testcase were wrong.
Attachment #171451 -
Attachment is obsolete: true
Attachment #171482 -
Attachment is obsolete: true
Assignee | ||
Comment 8•20 years ago
|
||
Testcase2 is basically the result content of the xbl binding. This is also very
slow. So xul hboxes -with 100% margin- nested inside inline boxes are very slow
with rendering.
Assignee | ||
Comment 9•20 years ago
|
||
Ok, testcase2 is not slow for me in:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a4) Gecko/20040928
Firefox/0.9.1+ 07:26am
But it is extremely slow for me in:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a4) Gecko/20040929
Firefox/0.9.1+ 08:09am
http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2004-09-28+07%3A00%3A00&maxdate=2004-09-29+08%3A00%3A00&cvsroot=%2Fcvsroot
Maybe a regression from bug 258513?
cc-ing you, Boris. You might be interested in this.
This regression I mention here, is probably not the cause of the bug I initially
reported, though.
Comment 10•20 years ago
|
||
Yes, the box landing seems to be a very likely cause for this... There are also
some scrollframe changes in that range, but they look innocuous.
Assignee | ||
Comment 11•19 years ago
|
||
Well, replacing the xul:hbox by a html:div style="display:table" seems to fix
this issue and does not seem to have any other side-effects.
Assignee | ||
Comment 12•19 years ago
|
||
There is at least one large difference between xul:hbox and display:table that
could influence marquees: text in the xul:hbox widens the xul:hbox even with
spaces in the text. That's not the case with display:table. There, the text gets
split across multiple lines. (maybe that's also what xul:hbox should be doing?
Where can I find info on that?)
But there's a rule in the xbl-marquee.xml that's preventing that:
this.innerDiv.style.whiteSpace = "nowrap";
http://lxr.mozilla.org/seamonkey/source/layout/style/xbl-marquee/xbl-marquee.xml#229
So that's why I still think that display:table would be fine to use.
The patch also seems to fix bug 269257, by the way.
Assignee | ||
Updated•19 years ago
|
Attachment #187631 -
Flags: review?(bzbarsky)
Comment 13•19 years ago
|
||
Comment on attachment 187631 [details] [diff] [review]
patchv1
Seems reasonable, though I'd like a followup bug on the box perf issue, with
the [reflow-refactor] annotation in the status whiteboard.
Attachment #187631 -
Flags: superreview+
Attachment #187631 -
Flags: review?(bzbarsky)
Attachment #187631 -
Flags: review+
Comment 14•19 years ago
|
||
Checked in on the trunk...
Assignee | ||
Comment 15•19 years ago
|
||
(In reply to comment #13)
> Seems reasonable, though I'd like a followup bug on the box perf issue, with
> the [reflow-refactor] annotation in the status whiteboard.
Ok, I filed bug 307763.
Updated•19 years ago
|
Assignee: nobody → martijn.martijn
Assignee | ||
Comment 16•19 years ago
|
||
This bug is fixed. The follow-up bug is bug 307763.
The first testcase isn't behaving exactly like IE6 (Mozilla is behaving a bit
erraticly in the beginning), but I'm not even sure if that's something worth
filing a bug for (with such a complicated testcase and such a special circumstance).
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Comment 17•19 years ago
|
||
*** Bug 309861 has been marked as a duplicate of this bug. ***
Comment 18•19 years ago
|
||
*** Bug 309861 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 19•18 years ago
|
||
*** Bug 339677 has been marked as a duplicate of this bug. ***
No longer depends on: 339677
Comment 20•18 years ago
|
||
See also bug 239840, "hang when many nested <marquee> tags are used. exponential time increase".
You need to log in
before you can comment on or make changes to this bug.
Description
•