Closed
Bug 617836
Opened 15 years ago
Closed 15 years ago
XBL re-creates wrappers to its injected prototype object from their prototype chains
Categories
(Core :: XBL, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: mrbkap, Assigned: mrbkap)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(2 files)
6.42 KB,
patch
|
jst
:
review+
bzbarsky
:
approval2.0+
|
Details | Diff | Splinter Review |
2.13 KB,
patch
|
Details | Diff | Splinter Review |
With the patch for bug 616992, I noticed that when we evict viewers from the bfcache, we detach XBL bindings that have been attached in those documents. In the process of detaching XBL bindings, we try to remove the prototype object that XBL inserts into their prototype chains. In order to get the JS object, we wrap the bound node. However, if the node was collected by GC, then we'll create a *new* wrapped native for the purpose of looking up its prototype chain and not finding the XBL binding. We can avoid some work by using a different API that returns null if the object doesn't exist (i.e. XPCWrappedNative::GetUsedOnly).
Assignee | ||
Comment 1•15 years ago
|
||
Assignee | ||
Comment 2•15 years ago
|
||
Comment 3•15 years ago
|
||
Comment on attachment 496387 [details] [diff] [review]
Proposed fix
r+a=jst (and while this isn't a blocker, it came out of an attempt to fix a blocker. This makes us do less work, so in some cases this can speed things up, and thus I think we should go ahead and take it anyways. But let's wait until beta8 is out the door)
Attachment #496387 -
Flags: review?(jst)
Attachment #496387 -
Flags: review+
Attachment #496387 -
Flags: approval2.0?
![]() |
||
Updated•15 years ago
|
Attachment #496387 -
Flags: approval2.0? → approval2.0+
Assignee | ||
Comment 4•15 years ago
|
||
Whiteboard: fixed-in-tracemonkey
Assignee | ||
Comment 5•15 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•