Index: Source/core/dom/EventTarget.h |
diff --git a/Source/core/dom/EventTarget.h b/Source/core/dom/EventTarget.h |
index 80033f722b9fb252b4894b867f225836d5451d92..f329952b26877de1b669f5c54ed7cb7ea0c568ba 100644 |
--- a/Source/core/dom/EventTarget.h |
+++ b/Source/core/dom/EventTarget.h |
@@ -120,9 +120,8 @@ namespace WebCore { |
virtual void uncaughtExceptionInEventHandler(); |
// Used for legacy "onEvent" attribute APIs. |
- bool setAttributeEventListener(const AtomicString& eventType, PassRefPtr<EventListener>); |
- bool clearAttributeEventListener(const AtomicString& eventType); |
- EventListener* getAttributeEventListener(const AtomicString& eventType); |
+ bool setAttributeEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, DOMWrapperWorld* isolatedWorld = 0); |
+ EventListener* getAttributeEventListener(const AtomicString& eventType, DOMWrapperWorld* isolatedWorld = 0); |
bool hasEventListeners(); |
bool hasEventListeners(const AtomicString& eventType); |
@@ -143,34 +142,36 @@ namespace WebCore { |
void fireEventListeners(Event*, EventTargetData*, EventListenerVector&); |
+ bool clearAttributeEventListener(const AtomicString& eventType, DOMWrapperWorld* isolatedWorld); |
+ |
friend class EventListenerIterator; |
}; |
// FIXME: These macros should be split into separate DEFINE and DECLARE |
// macros to avoid causing so many header includes. |
#define DEFINE_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
- EventListener* on##attribute() { return getAttributeEventListener(eventNames().attribute##Event); } \ |
- void setOn##attribute(PassRefPtr<EventListener> listener) { setAttributeEventListener(eventNames().attribute##Event, listener); } \ |
+ EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return getAttributeEventListener(eventNames().attribute##Event, isolatedWorld); } \ |
+ void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* isolatedWorld = 0) { setAttributeEventListener(eventNames().attribute##Event, listener, isolatedWorld); } \ |
#define DECLARE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
- virtual EventListener* on##attribute(); \ |
- virtual void setOn##attribute(PassRefPtr<EventListener> listener); \ |
+ virtual EventListener* on##attribute(DOMWrapperWorld* isolatedWorld); \ |
+ virtual void setOn##attribute(PassRefPtr<EventListener>, DOMWrapperWorld* isolatedWorld); \ |
#define DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(type, attribute) \ |
- EventListener* type::on##attribute() { return getAttributeEventListener(eventNames().attribute##Event); } \ |
- void type::setOn##attribute(PassRefPtr<EventListener> listener) { setAttributeEventListener(eventNames().attribute##Event, listener); } \ |
+ EventListener* type::on##attribute(DOMWrapperWorld* isolatedWorld) { return getAttributeEventListener(eventNames().attribute##Event, isolatedWorld); } \ |
+ void type::setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* isolatedWorld) { setAttributeEventListener(eventNames().attribute##Event, listener, isolatedWorld); } \ |
#define DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
- EventListener* on##attribute() { return document()->getWindowAttributeEventListener(eventNames().attribute##Event); } \ |
- void setOn##attribute(PassRefPtr<EventListener> listener) { document()->setWindowAttributeEventListener(eventNames().attribute##Event, listener); } \ |
+ EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return document()->getWindowAttributeEventListener(eventNames().attribute##Event, isolatedWorld); } \ |
+ void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* isolatedWorld) { document()->setWindowAttributeEventListener(eventNames().attribute##Event, listener, isolatedWorld); } \ |
#define DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(attribute, eventName) \ |
- EventListener* on##attribute() { return getAttributeEventListener(eventNames().eventName##Event); } \ |
- void setOn##attribute(PassRefPtr<EventListener> listener) { setAttributeEventListener(eventNames().eventName##Event, listener); } \ |
+ EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return getAttributeEventListener(eventNames().eventName##Event, isolatedWorld); } \ |
+ void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* isolatedWorld) { setAttributeEventListener(eventNames().eventName##Event, listener, isolatedWorld); } \ |
#define DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER(recipient, attribute) \ |
- EventListener* on##attribute() { return recipient ? recipient->getAttributeEventListener(eventNames().attribute##Event) : 0; } \ |
- void setOn##attribute(PassRefPtr<EventListener> listener) { if (recipient) recipient->setAttributeEventListener(eventNames().attribute##Event, listener); } \ |
+ EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return recipient ? recipient->getAttributeEventListener(eventNames().attribute##Event, isolatedWorld) : 0; } \ |
+ void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* isolatedWorld) { if (recipient) recipient->setAttributeEventListener(eventNames().attribute##Event, listener, isolatedWorld); } \ |
inline bool EventTarget::isFiringEventListeners() |
{ |