icecat: add release icecat-140.10.1-1gnu1 for ecne
This commit is contained in:
parent
a5f93cb214
commit
ff85d7c623
1256 changed files with 63469 additions and 24141 deletions
|
|
@ -1937,6 +1937,19 @@ NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_THIS_BEGIN(BrowsingContext)
|
|||
return IsCertainlyAliveForCC(tmp);
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_THIS_END
|
||||
|
||||
/* static */
|
||||
void BrowsingContext::SweepWindowProxies(JSTracer* aTrc) {
|
||||
if (!sBrowsingContexts) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (BrowsingContext* bc : sBrowsingContexts->Values()) {
|
||||
if (bc->mWindowProxy) {
|
||||
JS_UpdateWeakPointerAfterGC(aTrc, &bc->mWindowProxy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class RemoteLocationProxy
|
||||
: public RemoteObjectProxy<BrowsingContext::LocationProxy,
|
||||
Location_Binding::sCrossOriginProperties> {
|
||||
|
|
|
|||
|
|
@ -734,6 +734,9 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
|||
mWindowProxy = aWindowProxy;
|
||||
}
|
||||
|
||||
// Since mWindowProxy is a weak pointer it has to be updated during sweeping.
|
||||
static void SweepWindowProxies(JSTracer* aTrc);
|
||||
|
||||
Nullable<WindowProxyHolder> GetWindow();
|
||||
|
||||
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||
|
|
@ -1378,10 +1381,8 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
|||
|
||||
RefPtr<nsGeolocationService> mGeolocationServiceOverride;
|
||||
|
||||
// This is not a strong reference, but using a JS::Heap for that should be
|
||||
// fine. The JSObject stored in here should be a proxy with a
|
||||
// nsOuterWindowProxy handler, which will update the pointer from its
|
||||
// objectMoved hook and clear it from its finalize hook.
|
||||
// This is a weak reference. It will be updated automatically during sweeping
|
||||
// by SweepWindowProxies.
|
||||
JS::Heap<JSObject*> mWindowProxy;
|
||||
LocationProxy mLocation;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue