From 9f14c8db1f1f59f171162aa36ea781d15c8fdf3a Mon Sep 17 00:00:00 2001 From: "mjudge%netscape.com" Date: Fri, 14 Apr 2000 11:28:55 +0000 Subject: [PATCH] added new parameters to notification git-svn-id: svn://10.0.0.236/trunk@65981 18797224-902f-48f8-a5cc-f745e15eee43 --- .../dom/src/range/nsJSSelectionListener.cpp | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/mozilla/dom/src/range/nsJSSelectionListener.cpp b/mozilla/dom/src/range/nsJSSelectionListener.cpp index 3231a9c6dc2..b85cac085a7 100644 --- a/mozilla/dom/src/range/nsJSSelectionListener.cpp +++ b/mozilla/dom/src/range/nsJSSelectionListener.cpp @@ -34,12 +34,16 @@ #include "nsCOMPtr.h" #include "nsDOMPropEnums.h" #include "nsString.h" +#include "nsIDOMDocument.h" +#include "nsIDOMSelection.h" #include "nsIDOMSelectionListener.h" static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID); static NS_DEFINE_IID(kIJSScriptObjectIID, NS_IJSSCRIPTOBJECT_IID); static NS_DEFINE_IID(kIScriptGlobalObjectIID, NS_ISCRIPTGLOBALOBJECT_IID); +static NS_DEFINE_IID(kIDocumentIID, NS_IDOMDOCUMENT_IID); +static NS_DEFINE_IID(kISelectionIID, NS_IDOMSELECTION_IID); static NS_DEFINE_IID(kISelectionListenerIID, NS_IDOMSELECTIONLISTENER_IID); @@ -150,6 +154,8 @@ SelectionListenerNotifySelectionChanged(JSContext *cx, JSObject *obj, uintN argc { nsIDOMSelectionListener *nativeThis = (nsIDOMSelectionListener*)nsJSUtils::nsGetNativeThis(cx, obj); nsresult result = NS_OK; + nsCOMPtr b0; + nsCOMPtr b1; // If there's no private data, this must be the prototype, so ignore if (nsnull == nativeThis) { return JS_TRUE; @@ -164,8 +170,26 @@ SelectionListenerNotifySelectionChanged(JSContext *cx, JSObject *obj, uintN argc if (NS_FAILED(result)) { return nsJSUtils::nsReportError(cx, obj, result); } + if (argc < 2) { + return nsJSUtils::nsReportError(cx, obj, NS_ERROR_DOM_TOO_FEW_PARAMETERS_ERR); + } - result = nativeThis->NotifySelectionChanged(); + if (JS_FALSE == nsJSUtils::nsConvertJSValToObject((nsISupports **)(void**)getter_AddRefs(b0), + kIDocumentIID, + "Document", + cx, + argv[0])) { + return nsJSUtils::nsReportError(cx, obj, NS_ERROR_DOM_NOT_OBJECT_ERR); + } + if (JS_FALSE == nsJSUtils::nsConvertJSValToObject((nsISupports **)(void**)getter_AddRefs(b1), + kISelectionIID, + "Selection", + cx, + argv[1])) { + return nsJSUtils::nsReportError(cx, obj, NS_ERROR_DOM_NOT_OBJECT_ERR); + } + + result = nativeThis->NotifySelectionChanged(b0, b1); if (NS_FAILED(result)) { return nsJSUtils::nsReportError(cx, obj, result); } @@ -211,7 +235,7 @@ static JSPropertySpec SelectionListenerProperties[] = // static JSFunctionSpec SelectionListenerMethods[] = { - {"notifySelectionChanged", SelectionListenerNotifySelectionChanged, 0}, + {"notifySelectionChanged", SelectionListenerNotifySelectionChanged, 2}, {0} };