Closed
Bug 1144450
Opened 9 years ago
Closed 9 years ago
infinite recursion when inspecting document.fonts.status from loadingdone event listener
Categories
(Core :: CSS Parsing and Computation, defect)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
mozilla39
Tracking | Status | |
---|---|---|
firefox39 | --- | fixed |
People
(Reporter: heycam, Assigned: heycam)
References
Details
Attachments
(5 files)
1.62 KB,
patch
|
jtd
:
review+
|
Details | Diff | Splinter Review |
921 bytes,
patch
|
jtd
:
review+
|
Details | Diff | Splinter Review |
3.27 KB,
patch
|
jtd
:
review+
|
Details | Diff | Splinter Review |
3.33 KB,
patch
|
jtd
:
review+
|
Details | Diff | Splinter Review |
7.40 KB,
patch
|
jtd
:
review+
|
Details | Diff | Splinter Review |
In the extended test in bug 1086207, we get: JavaScript error: file:///tmp/test.html, line 53: too much recursion This happens due to accessing document.fonts.status from within the loadeddone event listener.
Assignee | ||
Comment 1•9 years ago
|
||
I think the problem is that in FontFaceSet::UpdateRules, we do not have the same "check to see that the FontFaces we're adding already existed in the same order" for non-rule FontFaces that we do for rule FontFaces. This means every time we call UpdateRules when there is a non-rule FontFace present, we end up thinking that there was a change the font face set, which means calling CheckLoadingStarted. CheckLoadingStarted also has a problem (I think) that it replaces mReady with a new promise (and sets mReadyIsResolved to false, which is the cause of the infinite recursion) even when HasLoadingFontFaces() return false. We should only be replacing mReady at the same time as setting mStatus to Loading and dispatching the loading event.
Assignee | ||
Comment 2•9 years ago
|
||
In this bug I will fix the latter problem. Fixing the former will then become an optimization to save a bit of work.
Assignee | ||
Comment 3•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=119b34bcecd7
Assignee | ||
Comment 4•9 years ago
|
||
Assignee | ||
Comment 5•9 years ago
|
||
Attachment #8579817 -
Flags: review?(jdaggett)
Assignee | ||
Comment 6•9 years ago
|
||
Attachment #8579818 -
Flags: review?(jdaggett)
Assignee | ||
Comment 7•9 years ago
|
||
Attachment #8579819 -
Flags: review?(jdaggett)
Assignee | ||
Comment 8•9 years ago
|
||
Attachment #8579820 -
Flags: review?(jdaggett)
Updated•9 years ago
|
Attachment #8579816 -
Flags: review?(jdaggett) → review+
Updated•9 years ago
|
Attachment #8579817 -
Flags: review?(jdaggett) → review+
Updated•9 years ago
|
Attachment #8579818 -
Flags: review?(jdaggett) → review+
Updated•9 years ago
|
Attachment #8579819 -
Flags: review?(jdaggett) → review+
Updated•9 years ago
|
Attachment #8579820 -
Flags: review?(jdaggett) → review+
Assignee | ||
Comment 9•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=92b64d73900c
Assignee | ||
Comment 10•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/a106024f6b0d https://hg.mozilla.org/integration/mozilla-inbound/rev/f2c86fe2f8e9 https://hg.mozilla.org/integration/mozilla-inbound/rev/8530a96751c6 https://hg.mozilla.org/integration/mozilla-inbound/rev/fabd2ae32692 https://hg.mozilla.org/integration/mozilla-inbound/rev/6a83dc07c6c8
Comment 11•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/a106024f6b0d https://hg.mozilla.org/mozilla-central/rev/f2c86fe2f8e9 https://hg.mozilla.org/mozilla-central/rev/8530a96751c6 https://hg.mozilla.org/mozilla-central/rev/fabd2ae32692 https://hg.mozilla.org/mozilla-central/rev/6a83dc07c6c8
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox39:
--- → fixed
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in
before you can comment on or make changes to this bug.
Description
•