mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge m-c to inbound.
This commit is contained in:
commit
7e1eac7739
@ -42,4 +42,6 @@ ENABLE_MARIONETTE=1
|
||||
ac_add_options --disable-elf-hack
|
||||
export CXXFLAGS=-DMOZ_ENABLE_JS_DUMP
|
||||
|
||||
GAIADIR=$topsrcdir/gaia
|
||||
|
||||
. "$topsrcdir/b2g/config/mozconfigs/common.override"
|
||||
|
@ -42,4 +42,6 @@ ENABLE_MARIONETTE=1
|
||||
ac_add_options --disable-elf-hack
|
||||
export CXXFLAGS=-DMOZ_ENABLE_JS_DUMP
|
||||
|
||||
GAIADIR=$topsrcdir/gaia
|
||||
|
||||
. "$topsrcdir/b2g/config/mozconfigs/common.override"
|
||||
|
@ -30,4 +30,6 @@ ENABLE_MARIONETTE=1
|
||||
|
||||
export CXXFLAGS=-DMOZ_ENABLE_JS_DUMP
|
||||
|
||||
GAIADIR=$topsrcdir/gaia
|
||||
|
||||
. "$topsrcdir/b2g/config/mozconfigs/common.override"
|
||||
|
@ -43,6 +43,23 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsDOMEventTargetHelper)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mListenerManager)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_BEGIN(nsDOMEventTargetHelper)
|
||||
if (tmp->IsBlack()) {
|
||||
if (tmp->mListenerManager) {
|
||||
tmp->mListenerManager->UnmarkGrayJSListeners();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_IN_CC_BEGIN(nsDOMEventTargetHelper)
|
||||
return tmp->IsBlack();
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_IN_CC_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_THIS_BEGIN(nsDOMEventTargetHelper)
|
||||
return tmp->IsBlack();
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_THIS_END
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsDOMEventTargetHelper)
|
||||
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
|
@ -26,7 +26,7 @@ public:
|
||||
nsDOMEventTargetHelper() : mOwner(nullptr), mHasOrHasHadOwner(false) {}
|
||||
virtual ~nsDOMEventTargetHelper();
|
||||
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsDOMEventTargetHelper)
|
||||
NS_DECL_CYCLE_COLLECTION_SKIPPABLE_SCRIPT_HOLDER_CLASS(nsDOMEventTargetHelper)
|
||||
|
||||
NS_DECL_NSIDOMEVENTTARGET
|
||||
void AddEventListener(const nsAString& aType,
|
||||
|
@ -70,7 +70,16 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsJSEventListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mContext)
|
||||
}
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsJSEventListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(nsJSEventListener)
|
||||
if (NS_UNLIKELY(cb.WantDebugInfo()) && tmp->mEventName) {
|
||||
nsAutoCString name;
|
||||
name.AppendLiteral("nsJSEventListener handlerName=");
|
||||
name.Append(
|
||||
NS_ConvertUTF16toUTF8(nsDependentAtomString(tmp->mEventName)).get());
|
||||
cb.DescribeRefCountedNode(tmp->mRefCnt.get(), name.get());
|
||||
} else {
|
||||
NS_IMPL_CYCLE_COLLECTION_DESCRIBE(nsJSEventListener, tmp->mRefCnt.get())
|
||||
}
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mContext)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
@ -81,7 +90,22 @@ NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(nsJSEventListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRACE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_BEGIN(nsJSEventListener)
|
||||
if (tmp->IsBlackForCC()) {
|
||||
return true;
|
||||
}
|
||||
// If we have a target, it is the one which has tmp as onfoo handler.
|
||||
if (tmp->mTarget) {
|
||||
nsXPCOMCycleCollectionParticipant* cp = nullptr;
|
||||
CallQueryInterface(tmp->mTarget, &cp);
|
||||
nsISupports* canonical = nullptr;
|
||||
tmp->mTarget->QueryInterface(NS_GET_IID(nsCycleCollectionISupports),
|
||||
reinterpret_cast<void**>(&canonical));
|
||||
// Usually CanSkip ends up unmarking the event listeners of mTarget,
|
||||
// so tmp may become black.
|
||||
if (cp && canonical && cp->CanSkip(canonical, true)) {
|
||||
return tmp->IsBlackForCC();
|
||||
}
|
||||
}
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_IN_CC_BEGIN(nsJSEventListener)
|
||||
|
@ -537,9 +537,6 @@ Loader::~Loader()
|
||||
// they're all done.
|
||||
}
|
||||
|
||||
NS_IMPL_ADDREF(Loader)
|
||||
NS_IMPL_RELEASE(Loader)
|
||||
|
||||
void
|
||||
Loader::DropDocumentReference(void)
|
||||
{
|
||||
|
@ -123,9 +123,7 @@ public:
|
||||
Loader(nsIDocument*);
|
||||
~Loader();
|
||||
|
||||
// This isn't a COM class but it's reference-counted like one.
|
||||
NS_IMETHOD_(nsrefcnt) AddRef();
|
||||
NS_IMETHOD_(nsrefcnt) Release();
|
||||
NS_INLINE_DECL_REFCOUNTING(Loader)
|
||||
|
||||
void DropDocumentReference(); // notification that doc is going away
|
||||
|
||||
@ -467,9 +465,6 @@ private:
|
||||
// the load data needs access to the document...
|
||||
nsIDocument* mDocument; // the document we live for
|
||||
|
||||
// Refcounting
|
||||
nsAutoRefCnt mRefCnt;
|
||||
NS_DECL_OWNINGTHREAD
|
||||
|
||||
// Number of datas still waiting to be notified on if we're notifying on a
|
||||
// whole bunch at once (e.g. in one of the stop methods). This is used to
|
||||
|
Loading…
Reference in New Issue
Block a user