зеркало из https://github.com/mozilla/gecko-dev.git
Bug 916685, no need to store empty event handlers, r=bz
--HG-- extra : rebase_source : 4a1b7e5e177744438f6bb59d58b0e2f6e2fe3b5c
This commit is contained in:
Родитель
131d1d31a7
Коммит
e9d1e76549
|
@ -900,7 +900,9 @@ nsEventListenerManager::CompileEventHandlerInternal(nsListenerStruct *aListenerS
|
|||
JS::Rooted<JSObject*> boundHandler(cx);
|
||||
JS::Rooted<JSObject*> scope(cx, listener->GetEventScope());
|
||||
context->BindCompiledEventHandler(mTarget, scope, handler, &boundHandler);
|
||||
if (listener->EventName() == nsGkAtoms::onerror && win) {
|
||||
if (!boundHandler) {
|
||||
listener->ForgetHandler();
|
||||
} else if (listener->EventName() == nsGkAtoms::onerror && win) {
|
||||
nsRefPtr<OnErrorEventHandlerNonNull> handlerCallback =
|
||||
new OnErrorEventHandlerNonNull(boundHandler);
|
||||
listener->SetHandler(handlerCallback);
|
||||
|
|
|
@ -214,6 +214,11 @@ public:
|
|||
return mHandler;
|
||||
}
|
||||
|
||||
void ForgetHandler()
|
||||
{
|
||||
mHandler.ForgetHandler();
|
||||
}
|
||||
|
||||
nsIAtom* EventName() const
|
||||
{
|
||||
return mEventName;
|
||||
|
|
Загрузка…
Ссылка в новой задаче