mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-10 01:08:21 +00:00
Back out revision 52f646b2055c (bug 870219) because apparently worker code can't handle ChromeOnly properties
This commit is contained in:
parent
8d84f933dc
commit
d94f23379f
@ -11,15 +11,12 @@
|
||||
#include "nsIDOMEventListener.h"
|
||||
#include "mozilla/ErrorResult.h"
|
||||
#include "mozilla/dom/Nullable.h"
|
||||
#include "nsIAtom.h"
|
||||
|
||||
class nsDOMEvent;
|
||||
|
||||
namespace mozilla {
|
||||
namespace dom {
|
||||
|
||||
class EventListener;
|
||||
class EventHandlerNonNull;
|
||||
|
||||
// IID for the dom::EventTarget interface
|
||||
#define NS_EVENTTARGET_IID \
|
||||
@ -46,24 +43,6 @@ public:
|
||||
bool aCapture,
|
||||
ErrorResult& aRv);
|
||||
bool DispatchEvent(nsDOMEvent& aEvent, ErrorResult& aRv);
|
||||
|
||||
EventHandlerNonNull* GetEventHandler(const nsAString& aType)
|
||||
{
|
||||
nsCOMPtr<nsIAtom> type = do_GetAtom(aType);
|
||||
return GetEventHandler(type);
|
||||
}
|
||||
|
||||
void SetEventHandler(const nsAString& aType, EventHandlerNonNull* aHandler,
|
||||
ErrorResult& rv)
|
||||
{
|
||||
nsCOMPtr<nsIAtom> type = do_GetAtom(aType);
|
||||
return SetEventHandler(type, aHandler, rv);
|
||||
}
|
||||
|
||||
protected:
|
||||
EventHandlerNonNull* GetEventHandler(nsIAtom* aType);
|
||||
void SetEventHandler(nsIAtom* aType, EventHandlerNonNull* aHandler,
|
||||
ErrorResult& rv);
|
||||
};
|
||||
|
||||
NS_DEFINE_STATIC_IID_ACCESSOR(EventTarget, NS_EVENTTARGET_IID)
|
||||
|
@ -22,19 +22,5 @@ EventTarget::RemoveEventListener(const nsAString& aType,
|
||||
}
|
||||
}
|
||||
|
||||
EventHandlerNonNull*
|
||||
EventTarget::GetEventHandler(nsIAtom* aType)
|
||||
{
|
||||
nsEventListenerManager* elm = GetListenerManager(false);
|
||||
return elm ? elm->GetEventHandler(aType) : nullptr;
|
||||
}
|
||||
|
||||
void
|
||||
EventTarget::SetEventHandler(nsIAtom* aType, EventHandlerNonNull* aHandler,
|
||||
ErrorResult& rv)
|
||||
{
|
||||
rv = GetListenerManager(true)->SetEventHandler(aType, aHandler);
|
||||
}
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
|
@ -90,11 +90,20 @@ public:
|
||||
nsresult SetEventHandler(nsIAtom* aType,
|
||||
JSContext* aCx,
|
||||
const JS::Value& aValue);
|
||||
using mozilla::dom::EventTarget::SetEventHandler;
|
||||
void SetEventHandler(nsIAtom* aType,
|
||||
mozilla::dom::EventHandlerNonNull* aHandler,
|
||||
mozilla::ErrorResult& rv)
|
||||
{
|
||||
rv = GetListenerManager(true)->SetEventHandler(aType, aHandler);
|
||||
}
|
||||
void GetEventHandler(nsIAtom* aType,
|
||||
JSContext* aCx,
|
||||
JS::Value* aValue);
|
||||
using mozilla::dom::EventTarget::GetEventHandler;
|
||||
mozilla::dom::EventHandlerNonNull* GetEventHandler(nsIAtom* aType)
|
||||
{
|
||||
nsEventListenerManager* elm = GetListenerManager(false);
|
||||
return elm ? elm->GetEventHandler(aType) : nullptr;
|
||||
}
|
||||
|
||||
nsresult CheckInnerWindowCorrectness()
|
||||
{
|
||||
|
@ -27,13 +27,3 @@ interface EventTarget {
|
||||
[Throws]
|
||||
boolean dispatchEvent(Event event);
|
||||
};
|
||||
|
||||
// Mozilla extensions for use by JS-implemented event targets to
|
||||
// implement on* properties.
|
||||
partial interface EventTarget {
|
||||
[ChromeOnly, Throws]
|
||||
void setEventHandler(DOMString type, EventHandler handler);
|
||||
|
||||
[ChromeOnly]
|
||||
EventHandler getEventHandler(DOMString type);
|
||||
};
|
||||
|
@ -63,17 +63,6 @@ public:
|
||||
{
|
||||
return mListenerManager.HasListeners();
|
||||
}
|
||||
|
||||
void SetEventHandler(JSContext*, const nsAString& aType, JSObject* aHandler,
|
||||
ErrorResult& rv)
|
||||
{
|
||||
rv.Throw(NS_ERROR_NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
JSObject* GetEventHandler(JSContext*, const nsAString& aType)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
END_WORKERS_NAMESPACE
|
||||
|
Loading…
x
Reference in New Issue
Block a user