[EMAIL PROTECTED] (Ugen) wrote in message 
OK...i got it to work , but it requires a patch to make
commandLineService scriptable. Trivial patch indeed. Who can i submit
the patch to?

Here it is included:
------------------------------- CUT ---------------------------------
--- mozilla/xpfe/appshell/src/nsCommandLineService.cpp   Sat Apr 27
01:32:51 2002
+++ mozilla/xpfe/appshell/src/nsCommandLineService.cpp.new  Thu Aug 15
13:35:33 2002
@@ -88,11 +88,11 @@
 }

 NS_IMETHODIMP
-nsCmdLineService::Initialize(int aArgc, char ** aArgv)
+nsCmdLineService::Initialize(unsigned int aArgc, const char ** aArgv)
 {


-  PRInt32   i=0;
+  PRUint32   i=0;
   nsresult  rv = nsnull;

   // Save aArgc and argv
@@ -163,7 +163,7 @@

             // Append the url to the arrays
            //mArgList.AppendElement((void *)PL_strdup("-url"));
-            mArgValueList.AppendElement(ProcessURLArg(aArgv[i]));
+            mArgValueList.AppendElement(ProcessURLArg((char
*)aArgv[i]));
             mArgCount++;
            continue;
         }
@@ -182,7 +182,7 @@
          * Append the url to the arrays
            */
            mArgList.AppendElement(NS_REINTERPRET_CAST(void*,
nsCRT::strdup("-url")));
-           mArgValueList.AppendElement(ProcessURLArg(aArgv[i]));
+           mArgValueList.AppendElement(ProcessURLArg((char
*)aArgv[i]));
            mArgCount++;
        }
        else {
--- mozilla/xpfe/appshell/public/nsICmdLineService.idl   Fri Sep 28
16:13:18 2001
+++ mozilla/xpfe/appshell/public/nsICmdLineService.idl.new  Thu Aug 15
13:35:15 2002
@@ -56,7 +56,8 @@
      * Warning: This will hold a reference to the original argv
      * passed into Initialze();
      */
-    [noscript] void initialize(in long argc, out string argv);
+    //[noscript] void initialize(in long argc, out string argv);
+    void initialize(in unsigned long argc, [array,size_is(argc)] in
string argv);

     /**
      * getCmdLineValue
-------------------------------------------------------------------------

Here is what the script should look like, it's a bit different from
the
example:
----------------------------
var EventQClass = Components.classes['@mozilla.org/event-queue-service;1'];
var EventQObj  =  EventQClass.getService(Components.interfaces.nsIEventQueueService);

EventQObj.createThreadEventQueue();

var AppShellClass = Components.classes['@mozilla.org/appshell/appShellService;1'];
var AppShellObj = AppShellClass.getService(Components.interfaces.nsIAppShellService);

var URLClass =  Components.classes['@mozilla.org/network/standard-url;1'];
var URLObj = URLClass.createInstance(Components.interfaces.nsIURL);

var cmdLineClass = Components.classes['@mozilla.org/appshell/commandLineService;1']
var cmdLineObject = cmdLineClass.getService(Components.interfaces.nsICmdLineService)
cmdLineObject.initialize(1, ["xpcshell"])


URLObj.spec="http://www.yahoo.com";;

AppShellObj.initialize(cmdLineObject,null);


var test = new Object();
toto = AppShellObj.createTopLevelWindow(null,URLObj, true,true,
Components.interfaces.nsIWebBrowserChrome.CHROME_ALL, 640,800,test);
toto.showModal()

URLObj.spec="http://www.nando.net";;
toto = AppShellObj.createTopLevelWindow(null,URLObj, true,true,
Components.interfaces.nsIWebBrowserChrome.CHROME_ALL, 640,800,test);
toto.showModal()
~                                         
----------------------------------------------

Reply via email to