Bug 687332: Move inline event listeners on EventSource to the event listener manager. r=smaug

This commit is contained in:
Kyle Huey 2011-09-29 12:06:35 -04:00
parent 6555135ee6
commit 449047ac82
3 changed files with 7 additions and 31 deletions

View File

@ -51,7 +51,7 @@ interface nsIPrincipal;
interface nsIScriptContext;
interface nsPIDOMWindow;
[scriptable, uuid(755e2d2d-a836-4539-83f4-16b51156341f)]
[scriptable, uuid(741374e9-39ed-4712-a380-93e023b271f8)]
interface nsIEventSource : nsISupports
{
readonly attribute DOMString url;
@ -63,9 +63,9 @@ interface nsIEventSource : nsISupports
readonly attribute long readyState;
// event handler attributes
attribute nsIDOMEventListener onopen;
attribute nsIDOMEventListener onmessage;
attribute nsIDOMEventListener onerror;
[implicit_jscontext] attribute jsval onopen;
[implicit_jscontext] attribute jsval onmessage;
[implicit_jscontext] attribute jsval onerror;
/**
* Close the connection, if any, and set the readyState attribute to CLOSED.

View File

@ -113,17 +113,11 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsEventSource,
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mChannelEventSink)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mHttpChannel)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mTimer)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnOpenListener)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnMessageListener)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnErrorListener)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mUnicodeDecoder)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(nsEventSource, nsDOMEventTargetWrapperCache)
tmp->Close();
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnOpenListener)
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnMessageListener)
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnErrorListener)
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
DOMCI_DATA(EventSource, nsEventSource)
@ -162,23 +156,9 @@ nsEventSource::GetReadyState(PRInt32 *aReadyState)
return NS_OK;
}
#define NS_EVENTSRC_IMPL_DOMEVENTLISTENER(_eventlistenername, _eventlistener) \
NS_IMETHODIMP \
nsEventSource::GetOn##_eventlistenername(nsIDOMEventListener * *aListener) \
{ \
return GetInnerEventListener(_eventlistener, aListener); \
} \
\
NS_IMETHODIMP \
nsEventSource::SetOn##_eventlistenername(nsIDOMEventListener * aListener) \
{ \
return RemoveAddEventListener(NS_LITERAL_STRING(#_eventlistenername), \
_eventlistener, aListener); \
}
NS_EVENTSRC_IMPL_DOMEVENTLISTENER(open, mOnOpenListener)
NS_EVENTSRC_IMPL_DOMEVENTLISTENER(error, mOnErrorListener)
NS_EVENTSRC_IMPL_DOMEVENTLISTENER(message, mOnMessageListener)
NS_IMPL_EVENT_HANDLER(nsEventSource, open)
NS_IMPL_EVENT_HANDLER(nsEventSource, error)
NS_IMPL_EVENT_HANDLER(nsEventSource, message)
NS_IMETHODIMP
nsEventSource::Close()

View File

@ -222,10 +222,6 @@ protected:
nsString mLastFieldName;
nsString mLastFieldValue;
nsRefPtr<nsDOMEventListenerWrapper> mOnOpenListener;
nsRefPtr<nsDOMEventListenerWrapper> mOnErrorListener;
nsRefPtr<nsDOMEventListenerWrapper> mOnMessageListener;
nsCOMPtr<nsILoadGroup> mLoadGroup;
/**