mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 12:25:53 +00:00
Bug 687332: Move inline event listeners on XHR to the event listener manager. r=smaug
This commit is contained in:
parent
e19cb7eb57
commit
6555135ee6
@ -53,18 +53,18 @@ interface nsIDOMBlob;
|
||||
#include "jsapi.h"
|
||||
%}
|
||||
|
||||
[scriptable, builtinclass, uuid(dea238a1-240f-45f4-9f07-7769bc69eb76)]
|
||||
[scriptable, builtinclass, uuid(8bc1357c-fe70-4741-a170-8fa50b6d23be)]
|
||||
interface nsIXMLHttpRequestEventTarget : nsIDOMEventTarget {
|
||||
// event handler attributes
|
||||
attribute nsIDOMEventListener onabort;
|
||||
attribute nsIDOMEventListener onerror;
|
||||
attribute nsIDOMEventListener onload;
|
||||
attribute nsIDOMEventListener onloadstart;
|
||||
attribute nsIDOMEventListener onprogress;
|
||||
attribute nsIDOMEventListener onloadend;
|
||||
[implicit_jscontext] attribute jsval onabort;
|
||||
[implicit_jscontext] attribute jsval onerror;
|
||||
[implicit_jscontext] attribute jsval onload;
|
||||
[implicit_jscontext] attribute jsval onloadstart;
|
||||
[implicit_jscontext] attribute jsval onprogress;
|
||||
[implicit_jscontext] attribute jsval onloadend;
|
||||
};
|
||||
|
||||
[scriptable, builtinclass, uuid(09ff3682-7759-4441-a765-f70e1a1fabcf)]
|
||||
[scriptable, builtinclass, uuid(cfa2d9fc-1871-444c-aaf9-8fc7fc7261d8)]
|
||||
interface nsIXMLHttpRequestUpload : nsIXMLHttpRequestEventTarget {
|
||||
// for future use
|
||||
};
|
||||
@ -110,7 +110,7 @@ interface nsIXMLHttpRequestUpload : nsIXMLHttpRequestEventTarget {
|
||||
* you're aware of all the security implications. And then think twice about
|
||||
* it.
|
||||
*/
|
||||
[scriptable, uuid(5cf8d518-51d0-4cd6-a69a-c3674c2de599)]
|
||||
[scriptable, uuid(10d4701f-6351-4e9b-addd-ffdba05bd425)]
|
||||
interface nsIXMLHttpRequest : nsISupports
|
||||
{
|
||||
/**
|
||||
@ -374,7 +374,7 @@ interface nsIXMLHttpRequest : nsISupports
|
||||
*
|
||||
* Call open() before setting an onreadystatechange listener.
|
||||
*/
|
||||
attribute nsIDOMEventListener onreadystatechange;
|
||||
[implicit_jscontext] attribute jsval onreadystatechange;
|
||||
};
|
||||
|
||||
[scriptable, uuid(840d0d00-e83e-4a29-b3c7-67e96e90a499)]
|
||||
@ -387,7 +387,7 @@ interface nsIXHRSendable : nsISupports {
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
[deprecated, scriptable, uuid(423fdd3d-41c9-4149-8fe5-b14a1d3912a0)]
|
||||
[deprecated, scriptable, uuid(58d2c633-2efd-45be-80ed-511dcd0407cc)]
|
||||
interface nsIJSXMLHttpRequest : nsISupports {
|
||||
/**
|
||||
* Meant to be a script-only mechanism for setting an upload progress event
|
||||
@ -402,7 +402,7 @@ interface nsIJSXMLHttpRequest : nsISupports {
|
||||
*
|
||||
* Mozilla only.
|
||||
*/
|
||||
attribute nsIDOMEventListener onuploadprogress;
|
||||
[implicit_jscontext] attribute jsval onuploadprogress;
|
||||
};
|
||||
|
||||
%{ C++
|
||||
|
@ -1792,6 +1792,7 @@ GK_ATOM(HTMLVideoFrame, "VideoFrame")
|
||||
GK_ATOM(onloadstart, "onloadstart")
|
||||
GK_ATOM(onloadend, "onloadend")
|
||||
GK_ATOM(onprogress, "onprogress")
|
||||
GK_ATOM(onuploadprogress, "onuploadprogress")
|
||||
GK_ATOM(onsuspend, "onsuspend")
|
||||
GK_ATOM(onemptied, "onemptied")
|
||||
GK_ATOM(onstalled, "onstalled")
|
||||
|
@ -288,24 +288,15 @@ nsMultipartProxyListener::OnDataAvailable(nsIRequest *aRequest,
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CLASS(nsXHREventTarget)
|
||||
|
||||
// nsXHREventTarget's CC participant doesn't actually do anything anymore
|
||||
// but these are left here as placeholders in case it needs to do something
|
||||
// in the future.
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsXHREventTarget,
|
||||
nsDOMEventTargetWrapperCache)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnLoadListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnErrorListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnAbortListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnLoadStartListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnProgressListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnLoadendListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(nsXHREventTarget,
|
||||
nsDOMEventTargetWrapperCache)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnLoadListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnErrorListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnAbortListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnLoadStartListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnProgressListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnLoadendListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsXHREventTarget)
|
||||
@ -315,83 +306,12 @@ NS_INTERFACE_MAP_END_INHERITING(nsDOMEventTargetWrapperCache)
|
||||
NS_IMPL_ADDREF_INHERITED(nsXHREventTarget, nsDOMEventTargetWrapperCache)
|
||||
NS_IMPL_RELEASE_INHERITED(nsXHREventTarget, nsDOMEventTargetWrapperCache)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::GetOnload(nsIDOMEventListener** aOnLoad)
|
||||
{
|
||||
return GetInnerEventListener(mOnLoadListener, aOnLoad);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::SetOnload(nsIDOMEventListener* aOnLoad)
|
||||
{
|
||||
return RemoveAddEventListener(NS_LITERAL_STRING(LOAD_STR),
|
||||
mOnLoadListener, aOnLoad);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::GetOnerror(nsIDOMEventListener** aOnerror)
|
||||
{
|
||||
return GetInnerEventListener(mOnErrorListener, aOnerror);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::SetOnerror(nsIDOMEventListener* aOnerror)
|
||||
{
|
||||
return RemoveAddEventListener(NS_LITERAL_STRING(ERROR_STR),
|
||||
mOnErrorListener, aOnerror);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::GetOnabort(nsIDOMEventListener** aOnabort)
|
||||
{
|
||||
return GetInnerEventListener(mOnAbortListener, aOnabort);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::SetOnabort(nsIDOMEventListener* aOnabort)
|
||||
{
|
||||
return RemoveAddEventListener(NS_LITERAL_STRING(ABORT_STR),
|
||||
mOnAbortListener, aOnabort);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::GetOnloadstart(nsIDOMEventListener** aOnloadstart)
|
||||
{
|
||||
return GetInnerEventListener(mOnLoadStartListener, aOnloadstart);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::SetOnloadstart(nsIDOMEventListener* aOnloadstart)
|
||||
{
|
||||
return RemoveAddEventListener(NS_LITERAL_STRING(LOADSTART_STR),
|
||||
mOnLoadStartListener, aOnloadstart);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::GetOnprogress(nsIDOMEventListener** aOnprogress)
|
||||
{
|
||||
return GetInnerEventListener(mOnProgressListener, aOnprogress);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::SetOnprogress(nsIDOMEventListener* aOnprogress)
|
||||
{
|
||||
return RemoveAddEventListener(NS_LITERAL_STRING(PROGRESS_STR),
|
||||
mOnProgressListener, aOnprogress);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::GetOnloadend(nsIDOMEventListener** aOnLoadend)
|
||||
{
|
||||
return GetInnerEventListener(mOnLoadendListener, aOnLoadend);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXHREventTarget::SetOnloadend(nsIDOMEventListener* aOnLoadend)
|
||||
{
|
||||
return RemoveAddEventListener(NS_LITERAL_STRING(LOADEND_STR),
|
||||
mOnLoadendListener, aOnLoadend);
|
||||
}
|
||||
NS_IMPL_EVENT_HANDLER(nsXHREventTarget, load)
|
||||
NS_IMPL_EVENT_HANDLER(nsXHREventTarget, error)
|
||||
NS_IMPL_EVENT_HANDLER(nsXHREventTarget, abort)
|
||||
NS_IMPL_EVENT_HANDLER(nsXHREventTarget, loadstart)
|
||||
NS_IMPL_EVENT_HANDLER(nsXHREventTarget, progress)
|
||||
NS_IMPL_EVENT_HANDLER(nsXHREventTarget, loadend)
|
||||
|
||||
/////////////////////////////////////////////
|
||||
|
||||
@ -585,9 +505,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsXMLHttpRequest,
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mResponseXML)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mCORSPreflightChannel)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnUploadProgressListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOnReadystatechangeListener)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mXMLParserStreamListener)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mChannelEventSink)
|
||||
@ -607,9 +524,6 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(nsXMLHttpRequest,
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mResponseXML)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mCORSPreflightChannel)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnUploadProgressListener)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOnReadystatechangeListener)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mXMLParserStreamListener)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mChannelEventSink)
|
||||
@ -650,39 +564,8 @@ NS_INTERFACE_MAP_END_INHERITING(nsXHREventTarget)
|
||||
NS_IMPL_ADDREF_INHERITED(nsXMLHttpRequest, nsXHREventTarget)
|
||||
NS_IMPL_RELEASE_INHERITED(nsXMLHttpRequest, nsXHREventTarget)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXMLHttpRequest::GetOnreadystatechange(nsIDOMEventListener * *aOnreadystatechange)
|
||||
{
|
||||
return
|
||||
nsXHREventTarget::GetInnerEventListener(mOnReadystatechangeListener,
|
||||
aOnreadystatechange);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXMLHttpRequest::SetOnreadystatechange(nsIDOMEventListener * aOnreadystatechange)
|
||||
{
|
||||
return
|
||||
nsXHREventTarget::RemoveAddEventListener(NS_LITERAL_STRING(READYSTATE_STR),
|
||||
mOnReadystatechangeListener,
|
||||
aOnreadystatechange);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXMLHttpRequest::GetOnuploadprogress(nsIDOMEventListener * *aOnuploadprogress)
|
||||
{
|
||||
return
|
||||
nsXHREventTarget::GetInnerEventListener(mOnUploadProgressListener,
|
||||
aOnuploadprogress);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXMLHttpRequest::SetOnuploadprogress(nsIDOMEventListener * aOnuploadprogress)
|
||||
{
|
||||
return
|
||||
nsXHREventTarget::RemoveAddEventListener(NS_LITERAL_STRING(UPLOADPROGRESS_STR),
|
||||
mOnUploadProgressListener,
|
||||
aOnuploadprogress);
|
||||
}
|
||||
NS_IMPL_EVENT_HANDLER(nsXMLHttpRequest, readystatechange)
|
||||
NS_IMPL_EVENT_HANDLER(nsXMLHttpRequest, uploadprogress)
|
||||
|
||||
/* readonly attribute nsIChannel channel; */
|
||||
NS_IMETHODIMP
|
||||
|
@ -80,14 +80,6 @@ public:
|
||||
nsDOMEventTargetWrapperCache)
|
||||
NS_DECL_NSIXMLHTTPREQUESTEVENTTARGET
|
||||
NS_FORWARD_NSIDOMEVENTTARGET(nsDOMEventTargetHelper::)
|
||||
|
||||
protected:
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnLoadListener;
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnErrorListener;
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnAbortListener;
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnLoadStartListener;
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnProgressListener;
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnLoadendListener;
|
||||
};
|
||||
|
||||
class nsXMLHttpRequestUpload : public nsXHREventTarget,
|
||||
@ -133,8 +125,7 @@ public:
|
||||
NS_DECL_NSIXMLHTTPREQUEST
|
||||
|
||||
// nsIJSXMLHttpRequest
|
||||
NS_IMETHOD GetOnuploadprogress(nsIDOMEventListener** aOnuploadprogress);
|
||||
NS_IMETHOD SetOnuploadprogress(nsIDOMEventListener* aOnuploadprogress);
|
||||
NS_DECL_NSIJSXMLHTTPREQUEST
|
||||
|
||||
NS_FORWARD_NSIXMLHTTPREQUESTEVENTTARGET(nsXHREventTarget::)
|
||||
|
||||
@ -257,9 +248,6 @@ protected:
|
||||
nsCOMPtr<nsIChannel> mCORSPreflightChannel;
|
||||
nsTArray<nsCString> mCORSUnsafeHeaders;
|
||||
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnUploadProgressListener;
|
||||
nsRefPtr<nsDOMEventListenerWrapper> mOnReadystatechangeListener;
|
||||
|
||||
nsCOMPtr<nsIStreamListener> mXMLParserStreamListener;
|
||||
|
||||
// used to implement getAllResponseHeaders()
|
||||
|
Loading…
Reference in New Issue
Block a user