WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
72179
JSC wrappers for TextTrack and TextTrackCue should not be collected during event dispatch or when owner is reachable
https://bugs.webkit.org/show_bug.cgi?id=72179
Summary
JSC wrappers for TextTrack and TextTrackCue should not be collected during ev...
Anna Cavender
Reported
2011-11-11 13:52:52 PST
According to eric.carlson: Every non-DOM object that is an EventTarget needs code (for JSC at lease, I don't know about V8) to make sure that the wrapper isn't collected during event dispatch or while the parent/owner object is reachable. For example, see JSTextTrackListOwner::isReachableFromOpaqueRoots and the tracklist-is-reachable.html test added in
https://bugs.webkit.org/show_bug.cgi?id=71123
.
Attachments
Proposed patch
(26.00 KB, patch)
2011-12-05 17:46 PST
,
Eric Carlson
no flags
Details
Formatted Diff
Diff
Updated patch
(26.09 KB, patch)
2011-12-05 20:52 PST
,
Eric Carlson
ggaren
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Anna Cavender
Comment 1
2011-11-14 13:22:32 PST
***
Bug 72149
has been marked as a duplicate of this bug. ***
Radar WebKit Bug Importer
Comment 2
2011-11-17 12:38:31 PST
<
rdar://problem/10464469
>
Eric Carlson
Comment 3
2011-12-05 14:15:18 PST
Wrote up 73865 for the V8 changes.
Eric Carlson
Comment 4
2011-12-05 17:46:29 PST
Created
attachment 117966
[details]
Proposed patch
WebKit Review Bot
Comment 5
2011-12-05 17:52:16 PST
Attachment 117966
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/medi..." exit_code: 1 LayoutTests/ChangeLog:8: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] LayoutTests/ChangeLog:10: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] Total errors found: 2 in 19 files If any of these errors are false positives, please file a bug against check-webkit-style.
Eric Carlson
Comment 6
2011-12-05 20:52:46 PST
Created
attachment 117985
[details]
Updated patch Fix the malformed ChangeLog.
Geoffrey Garen
Comment 7
2011-12-06 20:36:02 PST
Comment on
attachment 117985
[details]
Updated patch View in context:
https://bugs.webkit.org/attachment.cgi?id=117985&action=review
r=me
> Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp:57 > + return visitor.containsOpaqueRoot(root(textTrackCue->track()->mediaElement()));
Slightly nicer to call "root(textTrackCue->track())", and put root(TextTrack*) inline in a header. That way, if a text track ever changes its mind about what its root is, we only have to update one function.
> Source/WebCore/bindings/js/JSTextTrackCustom.cpp:52 > + return visitor.containsOpaqueRoot(root(textTrack->mediaElement()));
This would be "root(textTrack)", if you followed my advice above.
> Source/WebCore/html/track/TextTrackList.cpp:93 > + scheduleAddTrackEvent(track);
Can this be "track.release()"?
> Source/WebCore/html/track/TextTrackList.cpp:96 > +void TextTrackList::remove(PassRefPtr<TextTrack> prpTrack)
Seems like prpTrack should just be a raw pointer, since we don't take ownership.
Eric Carlson
Comment 8
2011-12-09 13:35:17 PST
http://trac.webkit.org/changeset/102471
Ryosuke Niwa
Comment 9
2011-12-23 19:49:46 PST
Mac rebaseline done in
http://trac.webkit.org/changeset/103642
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug