Compare commits

..

1460 Commits

Author SHA1 Message Date
(no author)
258dc9fead This commit was manufactured by cvs2svn to create branch 'src'.
git-svn-id: svn://10.0.0.236/branches/src@33658 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:10:01 +00:00
dougt%netscape.com
beddda65df adding res to our build path.
git-svn-id: svn://10.0.0.236/trunk@33657 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:10:00 +00:00
dougt%netscape.com
5c3e3cdd3f Adding our fancy progress UI.
git-svn-id: svn://10.0.0.236/trunk@33656 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:09:36 +00:00
pinkerton%netscape.com
558824942f idl files added for streams.
git-svn-id: svn://10.0.0.236/trunk@33655 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:04:22 +00:00
pinkerton%netscape.com
d4747fd632 adding new stream idl files.
git-svn-id: svn://10.0.0.236/trunk@33654 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:03:53 +00:00
rickg%netscape.com
6f748adfbe fixed warnings
git-svn-id: svn://10.0.0.236/trunk@33653 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:03:08 +00:00
rogerl%netscape.com
822b8f09da Instruction sequence clean-up courtesy of Dan Price & Blake Jones at Sun.
git-svn-id: svn://10.0.0.236/trunk@33652 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:02:17 +00:00
wtc%netscape.com
919c19301a Bugzilla bug #4842: do not export pr/include/md.
git-svn-id: svn://10.0.0.236/trunk@33650 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:00:57 +00:00
dougt%netscape.com
66869d908f Adding Progress dialog to project.
CLeaning up error message when you open this project.


git-svn-id: svn://10.0.0.236/trunk@33649 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:59:49 +00:00
putterman%netscape.com
d702efe1d1 added files: mozilla/mailnews/base/src/nsMsgBiffManager.cpp
git-svn-id: svn://10.0.0.236/trunk@33648 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:59:23 +00:00
sspitzer%netscape.com
22e0711e46 if 0 unused functions. add license to top of file. remove shadow warnings.
git-svn-id: svn://10.0.0.236/trunk@33647 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:58:08 +00:00
dougt%netscape.com
41cd02ba7e Changing ProgressNotifier to be nsISupports.
Adding a GUI progress dialog!


git-svn-id: svn://10.0.0.236/trunk@33646 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:57:43 +00:00
putterman%netscape.com
89dd1c2239 Make sure Mork Handles get freed.
git-svn-id: svn://10.0.0.236/trunk@33645 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:57:41 +00:00
putterman%netscape.com
7bc3828ed6 Set the folder charset.
git-svn-id: svn://10.0.0.236/trunk@33644 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:56:45 +00:00
putterman%netscape.com
a873ad7774 Added Charset functions.
git-svn-id: svn://10.0.0.236/trunk@33643 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:56:14 +00:00
putterman%netscape.com
ba27c68079 Added BiffManager.
git-svn-id: svn://10.0.0.236/trunk@33642 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:55:47 +00:00
putterman%netscape.com
a1fcf4c0ad Added Biff Manager and CharSet functions.
git-svn-id: svn://10.0.0.236/trunk@33641 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:54:59 +00:00
putterman%netscape.com
419a185961 Add nsIMsgBiffManager interface. Add Set/GetCharset to nsIMsgFolder.
git-svn-id: svn://10.0.0.236/trunk@33640 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:53:37 +00:00
mcmullen%netscape.com
3e1f70d882 Checked in in error
git-svn-id: svn://10.0.0.236/trunk@33639 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:52:33 +00:00
mcmullen%netscape.com
82a842477e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33638 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:50:16 +00:00
akkana%netscape.com
5731d83f36 Vidur's initial implementation of Insert HTML Fragment
git-svn-id: svn://10.0.0.236/trunk@33637 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:38:38 +00:00
sfraser%netscape.com
3a5255df19 Added nsHTMLFragmentContentSink.cpp for akkana
git-svn-id: svn://10.0.0.236/trunk@33636 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:36:44 +00:00
wtc%netscape.com
0b6cf61cc5 Bugzilla bug #4842: do not export private NSPR headers (private/pprmwait.h,
private/primpl.h, and md/*.h) to mozilla/dist.  NSPR files will get
these headers from the source tree, via -I$(MOD_DEPTH)/pr/include and
-I$(MOD_DEPTH)/pr/include/private.  Non-NSPR files must not include
these private NSPR headers and should get the exported NSPR headers
from mozilla/dist/<platform.OBJ>/include.


git-svn-id: svn://10.0.0.236/trunk@33631 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:35:44 +00:00
dougt%netscape.com
8e85d7909c Putting the software distributor in its own folder in rdf.
git-svn-id: svn://10.0.0.236/trunk@33630 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:32:11 +00:00
briano%netscape.com
047aef7665 Fixed the Unix builds. DON'T USE C++ COMMENTS IN C FILES.
git-svn-id: svn://10.0.0.236/trunk@33629 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:30:39 +00:00
sspitzer%netscape.com
0dc8ade3f8 either it is an XPIDL source or we EXPORT it. not both. thanks for warren
for finding this.


git-svn-id: svn://10.0.0.236/trunk@33628 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:30:19 +00:00
akkana%netscape.com
435dce283a Part of Vidur's html fragment changes: files which aren't in the build yet
git-svn-id: svn://10.0.0.236/trunk@33627 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:30:12 +00:00
akkana%netscape.com
432eed6e43 Part of Vidur's html fragment changes
git-svn-id: svn://10.0.0.236/trunk@33626 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:27:43 +00:00
chuang%netscape.com
e4a0f545dd Add directory default preferences
git-svn-id: svn://10.0.0.236/trunk@33625 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:27:31 +00:00
briano%netscape.com
d16eea578a distclean is now a distinct target that does everything that realclean does and more.
git-svn-id: svn://10.0.0.236/trunk@33624 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:23:06 +00:00
briano%netscape.com
66c1de0502 Now ignores .map files as well. Requested by Jerry.Kirk@nexware.com.
git-svn-id: svn://10.0.0.236/trunk@33623 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:17:23 +00:00
alecf%netscape.com
93e325c1b9 export DOM XPIDL stubs on windows
git-svn-id: svn://10.0.0.236/trunk@33622 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:16:57 +00:00
dougt%netscape.com
04a2f5105b Adding our IDL project to the build process.
git-svn-id: svn://10.0.0.236/trunk@33621 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:14:57 +00:00
rickg%netscape.com
0add2b3b48 fixed offset error in FindCharInSet() and RFindCharInSet()
git-svn-id: svn://10.0.0.236/trunk@33620 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:12:27 +00:00
valeski%netscape.com
90ac10cb57 http - fixed build probs
test - moved a local var into a #ifdef because it was throwing a warning on windows


git-svn-id: svn://10.0.0.236/trunk@33619 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:12:26 +00:00
akkana%netscape.com
15d273f907 Vidur's HTML fragment content sink; Kostello's document/html encoders
git-svn-id: svn://10.0.0.236/trunk@33618 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:11:53 +00:00
sspitzer%netscape.com
7fde6bff35 checked in header file is now the same as the generated makefile
git-svn-id: svn://10.0.0.236/trunk@33617 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:06:57 +00:00
waterson%netscape.com
87f514938b Remove NS_IS_ERROR() macro; it's both redundant with NS_FAILED() and wrong.
git-svn-id: svn://10.0.0.236/trunk@33616 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:03:07 +00:00
dougt%netscape.com
ccf1224954 A IDL for our Install Progress. This is generic enough that anyone that want
to do proxy install notifications can use this.


git-svn-id: svn://10.0.0.236/trunk@33615 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:02:39 +00:00
dougt%netscape.com
dbff150eae Adding my first cut of the progress dialog. Yes, it sucks.
git-svn-id: svn://10.0.0.236/trunk@33614 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:01:14 +00:00
chuang%netscape.com
ba0d7456fd Add clean up code
git-svn-id: svn://10.0.0.236/trunk@33613 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 22:00:57 +00:00
gordon%netscape.com
e2d03331fc Make Lookup() a pure virtual method.
git-svn-id: svn://10.0.0.236/trunk@33612 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:57:14 +00:00
rpotts%netscape.com
34c7ad4f20 Fixes to build on Linux...
git-svn-id: svn://10.0.0.236/trunk@33611 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:56:56 +00:00
rpotts%netscape.com
fb06e002b2 Fixes to build on Linux... Removed nettest since it is not building on windows either.
git-svn-id: svn://10.0.0.236/trunk@33610 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:56:29 +00:00
rickg%netscape.com
497df4ffa4 fixed bug 7275 -- dup identifier
git-svn-id: svn://10.0.0.236/trunk@33609 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:56:22 +00:00
dougt%netscape.com
4226961c5c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33608 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:54:51 +00:00
warren%netscape.com
88b0158486 Replaced by nsFileChooser.cpp
git-svn-id: svn://10.0.0.236/trunk@33607 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:53:41 +00:00
gordon%netscape.com
16f4d20fa2 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33606 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:53:30 +00:00
warren%netscape.com
c816c010a8 added files: mozilla/widget/src/xpwidgets/nsFileChooser.cpp, removed files: mozilla/widget/src/xpwidgets/nsFileSpecWithUIImpl.cpp
git-svn-id: svn://10.0.0.236/trunk@33605 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:51:27 +00:00
warren%netscape.com
42b3b62f98 Fixed GenericFactory linkage problems.
git-svn-id: svn://10.0.0.236/trunk@33604 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:51:14 +00:00
warren%netscape.com
05a6513cf0 IDLized stream interfaces. Required rename of overloaded Write method (now WriteFrom). Added nsIBufferInputStream for peek capability.
git-svn-id: svn://10.0.0.236/trunk@33603 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:51:09 +00:00
warren%netscape.com
eb370460d3 Added nsIFileChooser to break dependency on nsFileSpec internals.
git-svn-id: svn://10.0.0.236/trunk@33602 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:51:02 +00:00
warren%netscape.com
7351c02659 Left over from mozilla/base/src.
git-svn-id: svn://10.0.0.236/trunk@33601 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:50:54 +00:00
warren%netscape.com
bee72685ed IDLized stream interfaces. Required rename of overloaded Write method (now WriteFrom).
git-svn-id: svn://10.0.0.236/trunk@33600 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:50:47 +00:00
ducarroz%netscape.com
418eca62e4 oops, the file too add was nsDirPrefs.cpp and not abprefs.cpp
git-svn-id: svn://10.0.0.236/trunk@33599 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:49:07 +00:00
jband%netscape.com
714db32d2e use the newly-FRIEND-ized js_AllocStack, js_FreeStack, and js_Invoke functions instead of JS_CallFunctionName to assure that the gcthing converted args we accumulate before making the call are properly rooted. This is a lot more efficient than the alternative of explicitly rooting them with JS_AddRoot. Up to this point these gcthings (doubles and strings) were dangling. Thanks to brendan for this suggstion.
git-svn-id: svn://10.0.0.236/trunk@33598 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:44:37 +00:00
mcmullen%netscape.com
85375455f0 In progress
git-svn-id: svn://10.0.0.236/trunk@33597 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:43:44 +00:00
chuang%netscape.com
90d511edd2 Hook up directory preferences
git-svn-id: svn://10.0.0.236/trunk@33596 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:41:27 +00:00
mcmullen%netscape.com
1b9109a192 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33595 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:41:11 +00:00
jband%netscape.com
edbf476869 make js_AllocStack, js_FreeStack, and js_Invoke, FRIEND functions so that they can be used by our good friend xpconnect.
git-svn-id: svn://10.0.0.236/trunk@33594 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:39:08 +00:00
ducarroz%netscape.com
9ad032ce7f add abprefs.cpp
git-svn-id: svn://10.0.0.236/trunk@33593 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:36:04 +00:00
ducarroz%netscape.com
0cc1cdced0 remove nsIPref.h as it know generated and installed by xpidl.
git-svn-id: svn://10.0.0.236/trunk@33592 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:35:41 +00:00
ramiro%netscape.com
19682f3362 Comment out debug code that is making it impossible to have timeouts
greater than 10 seconds.


git-svn-id: svn://10.0.0.236/trunk@33591 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:31:38 +00:00
chuang%netscape.com
4a147a3a33 Port PREF_CreateChildList and PREF_NextChild into nsIpref.
git-svn-id: svn://10.0.0.236/trunk@33590 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:25:25 +00:00
hangas%netscape.com
48166cf26b Added card view pane to address book window and added selectaddress.xul
git-svn-id: svn://10.0.0.236/trunk@33589 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:18:33 +00:00
mcmullen%netscape.com
b8824dceb3 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33588 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:18:31 +00:00
alecf%netscape.com
f9c75510b9 check in nsIMessenger.idl - the new Messenger appcore
git-svn-id: svn://10.0.0.236/trunk@33587 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:18:13 +00:00
hangas%netscape.com
ec215423b2 Added selectaddress.xul, addressbucket.xul. Also modified the addressbook window to have a cardview pane.
git-svn-id: svn://10.0.0.236/trunk@33586 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:15:13 +00:00
ducarroz%netscape.com
f84203fc13 add xulstub.idl
git-svn-id: svn://10.0.0.236/trunk@33585 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:00:47 +00:00
ducarroz%netscape.com
58d501079e add build instruction for dom:public:MANIFETS_IDL and domIDL.mcp
git-svn-id: svn://10.0.0.236/trunk@33584 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:00:45 +00:00
ducarroz%netscape.com
dc7dbe247b add nsISupportsArray.idl
git-svn-id: svn://10.0.0.236/trunk@33583 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:00:44 +00:00
ducarroz%netscape.com
6c7546bd5e add xulstubs.idl
git-svn-id: svn://10.0.0.236/trunk@33582 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:00:43 +00:00
ducarroz%netscape.com
cb47db499d First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33581 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:57:17 +00:00
waldemar%netscape.com
278f1afe6b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33580 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:53:14 +00:00
waldemar%netscape.com
43df2e7833 Added support for lookahead constraints
git-svn-id: svn://10.0.0.236/trunk@33579 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:52:04 +00:00
waldemar%netscape.com
038abfdf29 Added general-grammar-symbol? predicate
git-svn-id: svn://10.0.0.236/trunk@33578 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:50:21 +00:00
waldemar%netscape.com
4d092e8b8c Moved pieces of file around
git-svn-id: svn://10.0.0.236/trunk@33577 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:49:13 +00:00
waterson%netscape.com
3fef74e475 Remove dependency from clobber rule.
git-svn-id: svn://10.0.0.236/trunk@33576 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:48:13 +00:00
alecf%netscape.com
a46402dd58 oops, forgot to make this native code for C++
git-svn-id: svn://10.0.0.236/trunk@33575 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:47:09 +00:00
dbragg%netscape.com
67850fd5ac Changed the explicit implementation of AddRef and Release to NS_IMPL_ADDREF and NS_IMPL_RELEASE(nsPrefMigrationFactory)
git-svn-id: svn://10.0.0.236/trunk@33574 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:44:56 +00:00
scc%netscape.com
3b2708bb1d fixed for VMS
git-svn-id: svn://10.0.0.236/trunk@33573 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:36:53 +00:00
mcmullen%netscape.com
cc0a79b6ba Added a convenience function - BuildIDLProject()
git-svn-id: svn://10.0.0.236/trunk@33572 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:32:50 +00:00
terry%mozilla.org
891049d55c Keep the connection to the database open for as little as possible,
and that while in a lock.  That way, multiple checkins all happening at
once can't overflow mysql with too many connections.


git-svn-id: svn://10.0.0.236/trunk@33571 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:32:20 +00:00
briano%netscape.com
8c4f75f993 Had to add another 'else true' to an if block for QNX.
git-svn-id: svn://10.0.0.236/trunk@33570 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:28:34 +00:00
waterson%netscape.com
191fbca633 Replace NS_IS_ERROR() with NS_FAILED(): NS_IS_ERROR() is buggy and redundant.
git-svn-id: svn://10.0.0.236/trunk@33569 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:25:15 +00:00
waterson%netscape.com
60b26e5ed9 Remove unnecessary LINCS now that all headers are pushed to the same directory.
git-svn-id: svn://10.0.0.236/trunk@33568 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:22:54 +00:00
kmcclusk%netscape.com
c27c21e21f Fix for bug #1177. Added a new method ConditionRect which is used to fix coordinate
overflow problems under WIN95. Condition rect converts nsRect to a RECT with cooordinates
modified to acceptable ranges for WIN95.


git-svn-id: svn://10.0.0.236/trunk@33567 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:19:32 +00:00
sspitzer%netscape.com
862fc98636 cast to remove compiler warnings. use PL_strlen() instead of strlen()
rename index to indx to prevent shadow warnings on Linux.


git-svn-id: svn://10.0.0.236/trunk@33566 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:15:38 +00:00
cata%netscape.com
5302e7fe0c Fixed OpenVMS portability problem.
git-svn-id: svn://10.0.0.236/trunk@33565 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:09:56 +00:00
waterson%netscape.com
719a74de7c Fix XPIDL_MODULE typos.
git-svn-id: svn://10.0.0.236/trunk@33564 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:06:49 +00:00
valeski%netscape.com
165e836611 proxy api change
git-svn-id: svn://10.0.0.236/trunk@33563 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:05:22 +00:00
valeski%netscape.com
fa400cb631 added header removal functionality and various return value checks
git-svn-id: svn://10.0.0.236/trunk@33562 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:04:07 +00:00
kmcclusk%netscape.com
dd4956930e Fix for bugs #7442, #7523. Removed the code in WindowProc that was setting the
someWindow local variable based on the lParam for combo box events.
Instead someWindow is set using the default code
with uses the (HWND hWnd) passed in as an argument. Even though the MS documentation claims
you should use the lParam it does not work. This is what was causing the crashes on WIN95.


git-svn-id: svn://10.0.0.236/trunk@33561 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:03:53 +00:00
valeski%netscape.com
6fe73d1391 added the class id to identify the actual class that implements teh nsINetNotify interface
git-svn-id: svn://10.0.0.236/trunk@33560 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:00:38 +00:00
mcmullen%netscape.com
58a6264ae5 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33559 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:57:28 +00:00
Jerry.Kirk%Nexwarecorp.com
10296ff3be - Added the Pt_LINK_INSERT flag to make the activate callback for the menuitem
-  occur before the Unrealize of the menu which destroyed the menuitem


git-svn-id: svn://10.0.0.236/trunk@33558 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:56:57 +00:00
terry%mozilla.org
62e075ea8f Explain how to configure things so that big attachments will work.
git-svn-id: svn://10.0.0.236/trunk@33557 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:56:43 +00:00
Jerry.Kirk%Nexwarecorp.com
625a2ba748 - Removing nsTimer.cpp this has been moved to gfx/src/photon
git-svn-id: svn://10.0.0.236/trunk@33556 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:53:42 +00:00
chuang%netscape.com
5b5ecc1343 Bug 6423 addressbook.xul: non-localizable XUL file
git-svn-id: svn://10.0.0.236/trunk@33555 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:45:56 +00:00
ramiro%netscape.com
8acb44ac4f Remove duplicate nsTimer.cpp files.
git-svn-id: svn://10.0.0.236/trunk@33554 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:44:16 +00:00
ramiro%netscape.com
8f44cd7f7c Remove duplicate nsTimer.cpp files.
git-svn-id: svn://10.0.0.236/trunk@33553 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:37:42 +00:00
hyatt%netscape.com
5fafa9d1ee Adding support for the chrome registry naming stuff.
git-svn-id: svn://10.0.0.236/trunk@33552 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:32:47 +00:00
nisheeth%netscape.com
45ad1c7cb1 Fix for bug 6518. The XML DTD now always gets used when the content type is text/xml.
git-svn-id: svn://10.0.0.236/trunk@33551 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:09:28 +00:00
akkana%netscape.com
745560561e comment out three directories which no longer exist
git-svn-id: svn://10.0.0.236/trunk@33550 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:09:15 +00:00
waterson%netscape.com
600dee2ecb Add rules to remove generated header files in clobber and clobber_all.
git-svn-id: svn://10.0.0.236/trunk@33549 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 19:01:19 +00:00
briano%netscape.com
921259705c Automated update
git-svn-id: svn://10.0.0.236/trunk@33548 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:59:51 +00:00
jdunn%netscape.com
aaee4fea28 fix AIX linking...
git-svn-id: svn://10.0.0.236/trunk@33547 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:56:28 +00:00
pinkerton%netscape.com
4fb78a28ec More changes for Carbon, submitted by Eoin Norris at Apple (e.norris@apple.com).
git-svn-id: svn://10.0.0.236/trunk@33546 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:55:40 +00:00
rickg%netscape.com
61eb346dee fix bug 7479 per Erik VanDerPoel
git-svn-id: svn://10.0.0.236/trunk@33545 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:45:39 +00:00
waterson%netscape.com
9b3eb7e645 Fixes to get building on OpenVMS. Thanks to Colin R. Blake <colin@theblakes.com>.
git-svn-id: svn://10.0.0.236/trunk@33544 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:38:31 +00:00
despotdaemon%netscape.com
8be01e5f06 Pseudo-automatic update of changes made by blizzard@redhat.com.
git-svn-id: svn://10.0.0.236/trunk@33543 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:37:40 +00:00
harishd%netscape.com
918d57f892 Fix for Bug# 7343
git-svn-id: svn://10.0.0.236/trunk@33542 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:35:32 +00:00
leaf%mozilla.org
49754e3084 adding error output for fullcircle initialization
git-svn-id: svn://10.0.0.236/trunk@33541 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:35:04 +00:00
harishd%netscape.com
3d89375932 Allowing <MAP> to contain BLOCK elements - As per spec.
Allowing <A> to contain BLOCK elements - For Compatibility.


git-svn-id: svn://10.0.0.236/trunk@33540 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:34:55 +00:00
andreas.otte%primus-online.de
04535e2c18 fixes to get the test working under linux, mac stuff still missing
git-svn-id: svn://10.0.0.236/trunk@33539 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:34:51 +00:00
waterson%netscape.com
095d917a3a Single public include directory on Win32.
git-svn-id: svn://10.0.0.236/trunk@33538 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:34:27 +00:00
despotdaemon%netscape.com
e31d58ad71 Pseudo-automatic update of changes made by ornduff@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@33537 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:31:55 +00:00
ssu%netscape.com
699b3418bc Added nsInstallFileOpItem.cpp to the build process. The file contains file operation routines for thejavascript Install object (module xpInstall).
git-svn-id: svn://10.0.0.236/trunk@33536 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:31:16 +00:00
despotdaemon%netscape.com
d8150a741c Pseudo-automatic update of changes made by terry@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@33535 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:31:00 +00:00
ssu%netscape.com
b6d73cd7dc added file operation functionality to the javascript Install object
git-svn-id: svn://10.0.0.236/trunk@33534 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:19:14 +00:00
mcmullen%netscape.com
40e8a964a4 Patches for OpenVMS and conversions to nsQuickSort(). Thanks to Colin Blake and James Lewis Nance (resp)
git-svn-id: svn://10.0.0.236/trunk@33533 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:15:53 +00:00
andreas.otte%primus-online.de
57a4701276 fixes to get the test running under linux, mac stuff still missing
git-svn-id: svn://10.0.0.236/trunk@33532 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:12:13 +00:00
sspitzer%netscape.com
469bb1383f more changes for moving creation of objects to the component manager and the news factory. a few nsCOMPtr changes. stop checking nsCOMPtrs against nsnull
git-svn-id: svn://10.0.0.236/trunk@33531 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:09:54 +00:00
ssu%netscape.com
1f72c58a25 initial checkin of file operation functions for xpInstall
git-svn-id: svn://10.0.0.236/trunk@33530 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:07:29 +00:00
pinkerton%netscape.com
8aba8f4226 unpatch leaf's hack in 1.73 since form submission now works correctly. Mac now once again submits the form when return is pressed.
git-svn-id: svn://10.0.0.236/trunk@33529 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:05:40 +00:00
jdunn%netscape.com
8fb064570a include ctype.h for isalpha, tolower & isspace
git-svn-id: svn://10.0.0.236/trunk@33528 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 18:03:15 +00:00
jdunn%netscape.com
a3f4cecbc8 change false to PR_FALSE
git-svn-id: svn://10.0.0.236/trunk@33527 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 17:57:36 +00:00
kin%netscape.com
252ca95cfc Enabled LOCK/UNLOCK macros.
git-svn-id: svn://10.0.0.236/trunk@33524 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 15:26:48 +00:00
dcone%netscape.com
d669607412 Put braces in to get rid of many compiler warnings.
git-svn-id: svn://10.0.0.236/trunk@33523 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 13:48:20 +00:00
Jerry.Kirk%Nexwarecorp.com
cd285c06b3 - Adding support for the Photon UI for viewer
- Modified Makefile.in and added nsPhMain.cpp and nsPhMenu.cpp


git-svn-id: svn://10.0.0.236/trunk@33522 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 12:16:22 +00:00
rickg%netscape.com
8ae24eebcd fix searching errors; safeguard assign
git-svn-id: svn://10.0.0.236/trunk@33521 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 10:49:14 +00:00
pierre%netscape.com
19ae9087ee Fixed various problems with popups (fixed width, empty strings, strings starting with '-'). Simplified some functions too.
git-svn-id: svn://10.0.0.236/trunk@33520 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 08:38:52 +00:00
pierre%netscape.com
decad0c777 Remove a flicker in scrollbars introduced by last checkin (#5763 "Forms overlaid/leave bitgunk upon reflow on Mac")
git-svn-id: svn://10.0.0.236/trunk@33519 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 08:34:09 +00:00
briano%netscape.com
4349a4c372 Added distclean target (same as realclean and clobber_all). It will need to be refined.
git-svn-id: svn://10.0.0.236/trunk@33518 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 08:15:52 +00:00
rjc%netscape.com
75b7d2622b Remove some of the hard-coded URLs from the personal toolbar as they are duplicates of the URLs stored in the "Personal Toolbar" bookmarks folder. Also, give containers on the personal toolbar a distinct folder icon.
git-svn-id: svn://10.0.0.236/trunk@33517 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 07:41:05 +00:00
rjc%netscape.com
2214595591 Added XUL templates for main menubar and toolbar (which means that the personal toolbar now actually shows the URLs placed in the "Personal Toolbar" folder in bookmarks).
git-svn-id: svn://10.0.0.236/trunk@33516 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 07:33:38 +00:00
rjc%netscape.com
fe40de5eb5 XUL templates are now strong enough to support building menus and menuitems.
git-svn-id: svn://10.0.0.236/trunk@33515 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 07:16:18 +00:00
rpotts%netscape.com
ca99e307b1 fixed a string that was not being null-terminated...
git-svn-id: svn://10.0.0.236/trunk@33514 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 06:44:10 +00:00
rpotts%netscape.com
224501d0a4 fixed up some reference counting problems...
git-svn-id: svn://10.0.0.236/trunk@33513 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 06:36:23 +00:00
jfrancis%netscape.com
61ea2c363e groundwork for block transformation functionality
git-svn-id: svn://10.0.0.236/trunk@33512 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 06:01:08 +00:00
jfrancis%netscape.com
1476c475ca using nsAutoEditBatch where appropriate; changed all "result" variables to "res" so they won't show up types in mac dev editor; groundwork for block transformation functions
git-svn-id: svn://10.0.0.236/trunk@33511 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 06:00:23 +00:00
jfrancis%netscape.com
491c1d952c fixing a comment
git-svn-id: svn://10.0.0.236/trunk@33510 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 05:58:38 +00:00
jfrancis%netscape.com
21515af814 adding stackbased class for editor transaction batching
git-svn-id: svn://10.0.0.236/trunk@33509 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 05:58:20 +00:00
rpotts%netscape.com
6327f9fde1 Added raptorgfxwin.lib for nsITimer support :-(
git-svn-id: svn://10.0.0.236/trunk@33508 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 05:45:56 +00:00
rpotts%netscape.com
168f5cc214 Added support for testing Sync transport access and Suspending and resuming transports...
git-svn-id: svn://10.0.0.236/trunk@33507 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 05:45:23 +00:00
rpotts%netscape.com
ab4f275c13 Added support for Suspend/Resume...
git-svn-id: svn://10.0.0.236/trunk@33506 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 05:43:56 +00:00
putterman%netscape.com
688c0a17be Change column sizes.
git-svn-id: svn://10.0.0.236/trunk@33505 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 05:40:14 +00:00
putterman%netscape.com
948ccc0fd5 Fixed size columns with no wrap.
git-svn-id: svn://10.0.0.236/trunk@33504 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 05:39:56 +00:00
alecf%netscape.com
a767dfee83 add XPIDL stubs for these DOM objects so that we can access them from XPConnect
git-svn-id: svn://10.0.0.236/trunk@33503 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 04:39:14 +00:00
alecf%netscape.com
eecc727865 add DOM XPIDL stubs so that we can pass these DOM objects through XPConnect
(the stubs are needed to associate interface names with IIDs)


git-svn-id: svn://10.0.0.236/trunk@33502 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 04:36:19 +00:00
karnaze%netscape.com
90b7e7dc88 bug 1252, check for null view
git-svn-id: svn://10.0.0.236/trunk@33501 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 04:34:49 +00:00
alecf%netscape.com
f5b66c33e8 oops, we need this function on mac
git-svn-id: svn://10.0.0.236/trunk@33500 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 04:34:08 +00:00
karnaze%netscape.com
5a822a4442 additional regression tests
git-svn-id: svn://10.0.0.236/trunk@33499 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 04:33:47 +00:00
briano%netscape.com
047adc85c2 Backed out my change. NSPR provides the perfect fix, but wraps it in macro defs that mozilla doesn't have.
git-svn-id: svn://10.0.0.236/trunk@33498 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 03:31:56 +00:00
briano%netscape.com
186eeb7ade Changes to support OpenVMS. Thanks to colin@theblakes.com.
git-svn-id: svn://10.0.0.236/trunk@33497 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 03:20:31 +00:00
sspitzer%netscape.com
6ec055f791 fix bustage on mac.
mac exposed the circular include problem I was having.  (windows and linux
did not.)

also, remove self include nsINNTPNewsgroupList.idl


git-svn-id: svn://10.0.0.236/trunk@33496 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 03:16:36 +00:00
briano%netscape.com
03e0af9159 Added support for OpenVMS. Thanks to colin@theblakes.com.
git-svn-id: svn://10.0.0.236/trunk@33495 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 03:16:09 +00:00
briano%netscape.com
597c22a044 New (temporary?) file for Colin Blake's (colin@theblakes.com) OpenVMS port.
git-svn-id: svn://10.0.0.236/trunk@33494 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 03:14:45 +00:00
alecf%netscape.com
030f92be34 fix a bunch of warnings in mime - #if 0 out some unused functions
git-svn-id: svn://10.0.0.236/trunk@33493 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 03:12:10 +00:00
tague%netscape.com
6775a74ffb Fixed bug #5402 and #5439. Thanks to Peter Edberg and Eric Schlegel for their assistance.
git-svn-id: svn://10.0.0.236/trunk@33492 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 03:00:26 +00:00
alecf%netscape.com
b3d5874c1c fix random unused/uninitialized variables
git-svn-id: svn://10.0.0.236/trunk@33491 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:59:19 +00:00
alecf%netscape.com
58e9c7413c while I'm here, fix a bunch of warnings about unused static functions and unused variables
git-svn-id: svn://10.0.0.236/trunk@33490 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:56:40 +00:00
alecf%netscape.com
501b89a036 fix for bustage
git-svn-id: svn://10.0.0.236/trunk@33489 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:50:05 +00:00
karnaze%netscape.com
00ca6c9749 new regression test
git-svn-id: svn://10.0.0.236/trunk@33488 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:43:45 +00:00
karnaze%netscape.com
f286a1e3c4 bug 7243. Rewrote FixedTableLayoutStrategy::AssignPreliminaryColumnWidths
git-svn-id: svn://10.0.0.236/trunk@33487 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:42:33 +00:00
sspitzer%netscape.com
ead8ea010a need this on windows to find rosetta.h
git-svn-id: svn://10.0.0.236/trunk@33486 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:38:53 +00:00
putterman%netscape.com
2b4b9f2ea1 remove old resource files that were previously moved to a new location.
git-svn-id: svn://10.0.0.236/trunk@33485 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:36:36 +00:00
putterman%netscape.com
6de0478559 remove resource files from old ui directory. These were moved to their new locations
a few days ago.


git-svn-id: svn://10.0.0.236/trunk@33484 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:30:26 +00:00
putterman%netscape.com
e16504ac07 remove resource files from old ui directory. These were moved to their new
locations a few days ago.


git-svn-id: svn://10.0.0.236/trunk@33483 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:27:02 +00:00
waterson%netscape.com
2085aa9016 Use 'ref=' attribute to avoid confounding copy and move menus.
git-svn-id: svn://10.0.0.236/trunk@33482 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:25:47 +00:00
sspitzer%netscape.com
b73b3a8e54 a whole bunch of changes.
No more NS_New* for the news objects.  Now you must go through the component
manager and use the news factory.

fixes all over to deal with this.

Fix the MODULE.  It should be news, not mailnews or nntp.

more scriptability (XPIDL) changes for news.


git-svn-id: svn://10.0.0.236/trunk@33481 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:24:08 +00:00
waterson%netscape.com
2a6140c0ed Bug 4045. Make GenericBuilder and its kin look at the 'ref=' attribute first, so that it's possible to have two elements in the same document tree that refer to the same RDF resource.
git-svn-id: svn://10.0.0.236/trunk@33480 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:23:50 +00:00
briano%netscape.com
ac911ab6e8 Handle the (Unix) platform-specific DLL naming conventions properly.
git-svn-id: svn://10.0.0.236/trunk@33479 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:10:17 +00:00
peterl%netscape.com
dce2798cf1 fixed warnings
git-svn-id: svn://10.0.0.236/trunk@33478 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:09:03 +00:00
alecf%netscape.com
3a8e3ec86e add interface methods for new Find methods
git-svn-id: svn://10.0.0.236/trunk@33477 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:07:58 +00:00
sspitzer%netscape.com
2cd146a257 not part of the build, yet.
git-svn-id: svn://10.0.0.236/trunk@33476 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:07:40 +00:00
alecf%netscape.com
bae70e4faa add new functions GetServersByIdentity and GetIdentitiesByServer
git-svn-id: svn://10.0.0.236/trunk@33475 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:07:21 +00:00
peterl%netscape.com
84ffea59f4 added cloning
git-svn-id: svn://10.0.0.236/trunk@33474 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:58:11 +00:00
tague%netscape.com
a493647d58 Fixed #7294: Need implementation of accept-language to nsLocale Factory method.
git-svn-id: svn://10.0.0.236/trunk@33473 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:57:55 +00:00
peterl%netscape.com
38a9e60f9c added modified state
added cloning with actual copy on write


git-svn-id: svn://10.0.0.236/trunk@33472 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:57:52 +00:00
peterl%netscape.com
763257dc99 added cloning and dirtying of sheet on modify
git-svn-id: svn://10.0.0.236/trunk@33471 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:57:13 +00:00
peterl%netscape.com
9b21c07832 added modified test for loaded sheets
git-svn-id: svn://10.0.0.236/trunk@33470 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:56:14 +00:00
peterl%netscape.com
4d95b1fb3d added modified test to api
git-svn-id: svn://10.0.0.236/trunk@33469 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:55:02 +00:00
peterl%netscape.com
3e8a2d89bf fixed leak of css loader
git-svn-id: svn://10.0.0.236/trunk@33468 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:54:35 +00:00
pavlov%pavlov.net
639e475b9c real fix for bug #7468 from Tomi Leppikangas <tomilepp@ousrvr2.oulu.fi>
git-svn-id: svn://10.0.0.236/trunk@33467 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:54:15 +00:00
mcmullen%netscape.com
242ec9344f Fix to #6398 using patch provided by jim_nance@yahoo.com (who does, apparently, yahoo).
git-svn-id: svn://10.0.0.236/trunk@33466 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:40:47 +00:00
mcmullen%netscape.com
dee7faf9fb Alias resolution now happens almost any time a spec is created from a non-spec. Needed to make things work properly.
git-svn-id: svn://10.0.0.236/trunk@33465 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:28:52 +00:00
Jerry.Kirk%Nexwarecorp.com
f5efa082c3 Adding support for Photon UI
git-svn-id: svn://10.0.0.236/trunk@33464 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:21:42 +00:00
Jerry.Kirk%Nexwarecorp.com
aff6f09518 - Adding support for lots more widgets than the original version
-  which was just a place holder after all.


git-svn-id: svn://10.0.0.236/trunk@33463 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:18:49 +00:00
Jerry.Kirk%Nexwarecorp.com
e10d1c5ca2 - These files update the GFX portion of the Photon UI
- They still include lots of debug and not implemented functions.


git-svn-id: svn://10.0.0.236/trunk@33462 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:15:23 +00:00
Jerry.Kirk%Nexwarecorp.com
6799e545e2 - These files bring the Photon UI uptodate.
- They still include lots of debug that will be cleaned out later
-  once everything works.


git-svn-id: svn://10.0.0.236/trunk@33461 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:13:06 +00:00
cathleen%netscape.com
bae50c5a7b prevent getting an outrageous index value, when a char is not found in a
given nsStr.  broke XPInstall.


git-svn-id: svn://10.0.0.236/trunk@33460 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:11:14 +00:00
nhotta%netscape.com
dac458ca9f Auto charset detection support.
git-svn-id: svn://10.0.0.236/trunk@33459 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:08:25 +00:00
ducarroz%netscape.com
d30d8feb8f fix bustage, prefidl was build to early...
git-svn-id: svn://10.0.0.236/trunk@33458 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 01:06:14 +00:00
briano%netscape.com
f4e1b2ab58 Automated update
git-svn-id: svn://10.0.0.236/trunk@33457 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:59:48 +00:00
beard%netscape.com
3d2bd36390 added more pre-flight checks, added more coordinate range checks to rectangle based primitives.
git-svn-id: svn://10.0.0.236/trunk@33456 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:57:34 +00:00
beard%netscape.com
e95d62462e fixed potential memory problems.
git-svn-id: svn://10.0.0.236/trunk@33455 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:56:32 +00:00
pierre%netscape.com
ad56425d92 #5763 "Forms overlaid/leave bitgunk upon reflow on Mac"
git-svn-id: svn://10.0.0.236/trunk@33454 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:51:38 +00:00
jdunn%netscape.com
4319c17320 for AIX (only) specify -bso to fix dynamic linking
git-svn-id: svn://10.0.0.236/trunk@33453 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:51:10 +00:00
jdunn%netscape.com
e91b02a6ec added newline at end of file. HP won't compile without it
git-svn-id: svn://10.0.0.236/trunk@33452 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:48:16 +00:00
jdunn%netscape.com
775c4e26b4 fix compile warning by declaring nsIMsgMessageService public
git-svn-id: svn://10.0.0.236/trunk@33451 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:46:14 +00:00
briano%netscape.com
cfde85940e Automated update
git-svn-id: svn://10.0.0.236/trunk@33450 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:44:51 +00:00
briano%netscape.com
a85f8174d2 Added a check to determine which library ostream is found in (if any).
git-svn-id: svn://10.0.0.236/trunk@33449 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:43:10 +00:00
ducarroz%netscape.com
efef2c979e add build instruction for libprefIDL.mcp
git-svn-id: svn://10.0.0.236/trunk@33448 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:42:00 +00:00
mcmullen%netscape.com
c96b0cab03 Implemented XP default prefs. Thanks to seth for the makefile magic!
git-svn-id: svn://10.0.0.236/trunk@33447 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:41:11 +00:00
ducarroz%netscape.com
d85cad1185 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33446 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:40:55 +00:00
mcmullen%netscape.com
9b2897ed07 Implemented xp default prefs
git-svn-id: svn://10.0.0.236/trunk@33445 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:40:08 +00:00
tague%netscape.com
19735cf0e4 Fixed bug #5402 and #5439: Mac menus not displaying Unicode properly. Thanks to Peter Edberg and Eric Shlegel for help with this fix.
git-svn-id: svn://10.0.0.236/trunk@33444 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:35:00 +00:00
mcmullen%netscape.com
79b29b038e Implemented XP default prefs
git-svn-id: svn://10.0.0.236/trunk@33443 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:34:20 +00:00
mcmullen%netscape.com
31bb6d7d91 Implemented XP default prefs.
git-svn-id: svn://10.0.0.236/trunk@33442 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:31:40 +00:00
mcmullen%netscape.com
58f92b73a7 Removed some "obsolete" functions.
git-svn-id: svn://10.0.0.236/trunk@33441 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:30:21 +00:00
ramiro%netscape.com
44bc8fa19b Backout pavlov's last change which broken list boxes. Some items would
display as garbage.


git-svn-id: svn://10.0.0.236/trunk@33440 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:28:37 +00:00
mcmullen%netscape.com
22d37fa34a Using XP technique for default prefs now.
git-svn-id: svn://10.0.0.236/trunk@33439 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:27:44 +00:00
mcmullen%netscape.com
72f1a9ad67 Remove the resources from this file. Now moving to an XP solution.
git-svn-id: svn://10.0.0.236/trunk@33438 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:27:04 +00:00
rogerl%netscape.com
795f76c118 Changed behaviour of Script.exec so that it gains access to the current
scope when invoked, rather than grabbing the topmost. Prevented exec from
being called indirectly.


git-svn-id: svn://10.0.0.236/trunk@33437 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 00:08:00 +00:00
vidur%netscape.com
3513ed9ef8 New file. Checked in while the tree is closed, but it's not yet in the build
git-svn-id: svn://10.0.0.236/trunk@33436 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 23:45:51 +00:00
jband%netscape.com
9842f1c067 updating status page
git-svn-id: svn://10.0.0.236/trunk@33435 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 23:28:23 +00:00
gagan%netscape.com
f2a60e78bf Test case changes
git-svn-id: svn://10.0.0.236/trunk@33434 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 23:02:53 +00:00
robinf%netscape.com
875da77c11 Fixing bug 7247 - outdated Checklist.ini file was being used; I'm replacing it with the correct versin that also preserves Varada's help changes.
git-svn-id: svn://10.0.0.236/trunk@33433 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 20:42:30 +00:00
hangas%netscape.com
442c5942e2 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33431 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 20:14:57 +00:00
rogerl%netscape.com
7900eaf22b blowing off commented out junk
git-svn-id: svn://10.0.0.236/trunk@33429 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 18:07:40 +00:00
valeski%netscape.com
21a47721b7 nsIHTTPConnection.h - extended the nsIHTTPConnection interface so the internal streamlistener is accessible.
nsHTTPConnection.cpp - GetInputStream now uses a syncStream listener.
nsHTTPConnection.h  - api update to support new nsIHTTPConnection interface and added nsIStreamListener member.
nsHTTPResponseListener.cpp - added code to push data through the pipe


git-svn-id: svn://10.0.0.236/trunk@33428 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 17:23:45 +00:00
dbragg%netscape.com
81cf527e9e Re-added nsJAR.cpp and nsJARFactory.cpp to the CPPSRCS macro
git-svn-id: svn://10.0.0.236/trunk@33427 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 16:52:42 +00:00
dbragg%netscape.com
660f2ae174 Re-added the nsJAR.obj and nsJARFactory.obj files to the OBJS macro.
git-svn-id: svn://10.0.0.236/trunk@33426 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 16:51:39 +00:00
harishd%netscape.com
e8154e17b9 Fix for bug# 6960. Treating '<<' as equivalent to '&lt;<'
git-svn-id: svn://10.0.0.236/trunk@33425 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 16:33:08 +00:00
norris%netscape.com
d13f41523a Fix NullPointerException for "abc".match("a\");
git-svn-id: svn://10.0.0.236/trunk@33424 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 16:12:19 +00:00
morse%netscape.com
0ee692c543 further cleanup of dialogs
git-svn-id: svn://10.0.0.236/trunk@33423 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 14:16:31 +00:00
dougt%netscape.com
dd062cadde Changing Pref creation from CreateI (which does not work) to GetService.
git-svn-id: svn://10.0.0.236/trunk@33422 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 14:06:48 +00:00
gagan%netscape.com
88847965be CVS is misbehaving with me again... didnt pick these up... Updates to HTTP. Need nsSyncStreamListener to complete the test.
git-svn-id: svn://10.0.0.236/trunk@33421 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 13:26:47 +00:00
gagan%netscape.com
af1e981abd Updates to HTTP. Need SyncStreamListener to complete the test.
git-svn-id: svn://10.0.0.236/trunk@33420 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 13:25:29 +00:00
andreas.otte%primus-online.de
04e4e1d9d3 integrating Alec Fletts nsISupportsArray changes
remove manual registration
adding creation of eventqueue
giving EventQueueService the right CIID


git-svn-id: svn://10.0.0.236/trunk@33419 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 11:42:43 +00:00
andreas.otte%primus-online.de
2d3061e100 removed manual registration, added autoregistration
git-svn-id: svn://10.0.0.236/trunk@33418 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 11:30:05 +00:00
andreas.otte%primus-online.de
637e77f2d7 removed manual registration
git-svn-id: svn://10.0.0.236/trunk@33417 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 11:29:26 +00:00
andreas.otte%primus-online.de
d9ce16287f removed manual registration
git-svn-id: svn://10.0.0.236/trunk@33416 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 11:27:07 +00:00
andreas.otte%primus-online.de
4bf5562097 integrating Alec Fletts nsISupportsArray changes
git-svn-id: svn://10.0.0.236/trunk@33415 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 11:12:21 +00:00
sspitzer%netscape.com
67ea546b22 ignore the generated Makefiles
git-svn-id: svn://10.0.0.236/trunk@33414 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 06:52:12 +00:00
sspitzer%netscape.com
6f6c1c99d1 fix build bustage caused by MODULE=news fix
git-svn-id: svn://10.0.0.236/trunk@33413 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 06:21:21 +00:00
valeski%netscape.com
76fa3c81f3 moved external module insertion to new http file
git-svn-id: svn://10.0.0.236/trunk@33412 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 05:33:34 +00:00
morse%netscape.com
c05fecdcf6 cleanup preview dialog
git-svn-id: svn://10.0.0.236/trunk@33411 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 04:58:40 +00:00
alecf%netscape.com
08a5c58cdc fix windows bustage
git-svn-id: svn://10.0.0.236/trunk@33410 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 04:46:07 +00:00
rpotts%netscape.com
4859239f0a PRCList cleanup. More syncronization code... some work toward blocking streams.
git-svn-id: svn://10.0.0.236/trunk@33409 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 04:26:55 +00:00
sspitzer%netscape.com
b130d2a2cd fix more build breakage
git-svn-id: svn://10.0.0.236/trunk@33408 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 04:07:09 +00:00
jband%netscape.com
55628061ba another patch from khym@bga.com (Dave Huang)
git-svn-id: svn://10.0.0.236/trunk@33407 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 03:49:30 +00:00
sspitzer%netscape.com
f4453539a7 the MODULE is news, not mailnews.
git-svn-id: svn://10.0.0.236/trunk@33406 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 03:47:39 +00:00
sspitzer%netscape.com
86b06cb29c fix build bustage caused by fixing the MODULE name in the makefile.win files
git-svn-id: svn://10.0.0.236/trunk@33405 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 03:41:56 +00:00
jband%netscape.com
30176c16a1 removing disinformation from README
git-svn-id: svn://10.0.0.236/trunk@33404 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 03:19:55 +00:00
alecf%netscape.com
b9b4113e8c fix mac bustage (use nsISupportsArray->ElementAt)
git-svn-id: svn://10.0.0.236/trunk@33403 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 03:08:13 +00:00
blizzard%redhat.com
1a834f1030 consistent debugging output
git-svn-id: svn://10.0.0.236/trunk@33402 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:55:23 +00:00
blizzard%redhat.com
14fc1e4601 start on other events
git-svn-id: svn://10.0.0.236/trunk@33401 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:54:49 +00:00
jband%netscape.com
cd076f1ea8 platform check contributed by Bert Driehuis <bert_driehuis@nl.compuware.com>
git-svn-id: svn://10.0.0.236/trunk@33400 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:35:00 +00:00
jband%netscape.com
3b10acc614 adding netbsd m68k support contributed by khym@bga.com (Dave Huang)
git-svn-id: svn://10.0.0.236/trunk@33399 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:26:38 +00:00
sspitzer%netscape.com
7d21da0927 fix for #7420. this is the news module, not the mailnews module (which is corresponds to base). cut and paste error
git-svn-id: svn://10.0.0.236/trunk@33396 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:06:36 +00:00
alecf%netscape.com
78af0740c9 first cut at scriptifying nsISupportsArray - remove constness from all methods, add new XPCOM compatible methods and fix layout code to handle lack of const methods
git-svn-id: svn://10.0.0.236/trunk@33395 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:06:32 +00:00
mcmullen%netscape.com
81238e0903 Export the prefs init files to dist.
git-svn-id: svn://10.0.0.236/trunk@33394 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:05:57 +00:00
mcmullen%netscape.com
a69876c761 Added an optional parameter ($flat) to InstallFromManifest, to force any relative-path hierarchy in the manifest file to be flattened in the dest dir.
git-svn-id: svn://10.0.0.236/trunk@33393 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:05:36 +00:00
dougt%netscape.com
c50a5e04b6 Version Registry used NATIVE strings not NSPR paths. Adjusting.
git-svn-id: svn://10.0.0.236/trunk@33392 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:05:12 +00:00
alecf%netscape.com
0522ebe906 add XPIDLized version of nsISupportsArray
git-svn-id: svn://10.0.0.236/trunk@33391 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 02:03:45 +00:00
scc%netscape.com
fb55bb044f replaced tabs with spaces as per our standards
git-svn-id: svn://10.0.0.236/trunk@33390 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:59:28 +00:00
mcmullen%netscape.com
99e5f7a6ec First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33389 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:59:23 +00:00
blizzard%redhat.com
eabf44a2c4 more work in initialization code
git-svn-id: svn://10.0.0.236/trunk@33388 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:48:21 +00:00
jband%netscape.com
9d5e33dbe5 removing this unused and ill-named file
git-svn-id: svn://10.0.0.236/trunk@33387 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:47:19 +00:00
blizzard%redhat.com
a815adc7d2 fix some background color settings, remove something from the event mask
git-svn-id: svn://10.0.0.236/trunk@33386 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:47:13 +00:00
scc%netscape.com
7c2cb084f3 added comparisons that will allow |nsnull != myPtr| et al
git-svn-id: svn://10.0.0.236/trunk@33385 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:29:55 +00:00
jband%netscape.com
be0e327b20 updated status page
git-svn-id: svn://10.0.0.236/trunk@33384 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:25:08 +00:00
blizzard%redhat.com
8a9b1ba0ae fix implementation of the creation of DrawingSurfaces
git-svn-id: svn://10.0.0.236/trunk@33383 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:18:05 +00:00
blizzard%redhat.com
7f65462657 fix call signature for XCopyArea()
git-svn-id: svn://10.0.0.236/trunk@33382 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:16:56 +00:00
briano%netscape.com
2270332ca1 No need to build bsdecho anymore.
git-svn-id: svn://10.0.0.236/trunk@33381 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:15:08 +00:00
rickg%netscape.com
cd66536638 replaced nsString2.h references with nsString.h
git-svn-id: svn://10.0.0.236/trunk@33378 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:03:41 +00:00
jband%netscape.com
22c59c3108 use only C style comments in these files to make Irix happy
git-svn-id: svn://10.0.0.236/trunk@33377 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:57:32 +00:00
dougt%netscape.com
9bfeea7808 Removing direct link to libpref. Now using the wonders of xpcom.
git-svn-id: svn://10.0.0.236/trunk@33376 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:56:13 +00:00
dougt%netscape.com
888e28f6c8 removing direct link to prefs.
git-svn-id: svn://10.0.0.236/trunk@33375 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:52:40 +00:00
dougt%netscape.com
16ec6ef7d6 Calling pref via xpcom.
git-svn-id: svn://10.0.0.236/trunk@33374 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:52:18 +00:00
dougt%netscape.com
748bc8c1e8 Adding Gestalt() to Install object
git-svn-id: svn://10.0.0.236/trunk@33373 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:45:46 +00:00
jfrancis%netscape.com
bf4871f469 fix for subtree iter Init - now works when inited over a single textnode
git-svn-id: svn://10.0.0.236/trunk@33372 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:41:45 +00:00
danm%netscape.com
c1acc38286 fixed firstTime assertion in destructor
git-svn-id: svn://10.0.0.236/trunk@33371 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:33:49 +00:00
nhotta%netscape.com
c127edce28 Bug fix for 7425.
git-svn-id: svn://10.0.0.236/trunk@33370 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:16:23 +00:00
alecf%netscape.com
8c8b316a08 stop using [] operator on nsISupportsArray - going away for scriptability
git-svn-id: svn://10.0.0.236/trunk@33369 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:14:41 +00:00
rjc%netscape.com
1597ac3ef0 Add ability to find "Internet Search Sites" folder on Mac.
git-svn-id: svn://10.0.0.236/trunk@33368 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:12:10 +00:00
ducarroz%netscape.com
81b14c26cd Mailnews use XPIDL 1.0d5 to generated header files.
git-svn-id: svn://10.0.0.236/trunk@33367 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:11:39 +00:00
alecf%netscape.com
3e1c511db7 stop using [] operator on nsISupportsArray - going away for scriptability.
git-svn-id: svn://10.0.0.236/trunk@33366 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:07:54 +00:00
ducarroz%netscape.com
6409e11a3e Update the IDL file in order to be able to use it finally... Part of mailnews Mac XPIDL landing.
git-svn-id: svn://10.0.0.236/trunk@33365 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:07:23 +00:00
ducarroz%netscape.com
186608ba02 Close message compose window after sending the message. Fix for bug #7161
git-svn-id: svn://10.0.0.236/trunk@33364 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:07:22 +00:00
ducarroz%netscape.com
ba1bdda025 Don't export header files that are generated by the XPIDL compiler. Part of mailnews Mac XPIDL landing.
git-svn-id: svn://10.0.0.236/trunk@33363 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:07:21 +00:00
rjc%netscape.com
f3b2ee2aaf Checking in a workaround for bug #7437 until Rickg fixes that.
git-svn-id: svn://10.0.0.236/trunk@33362 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 00:01:23 +00:00
mjudge%netscape.com
cd7086a430 invalid != for unix I will investigate this later. What i am checkin in now SHOULD remove any ambiguity in the code.
git-svn-id: svn://10.0.0.236/trunk@33361 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:53:01 +00:00
dougt%netscape.com
ef2427958c Removing AddRef and Release. Moving to MACRO.
Fixing qi.


git-svn-id: svn://10.0.0.236/trunk@33360 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:33:55 +00:00
rogerl%netscape.com
632556d9fd Bug #7197 (related) - capture and free char pointers going to error
reporter.
Bug #5875 - eval of named function within a function resulted in the
function not being visible at the start of the eval string.


git-svn-id: svn://10.0.0.236/trunk@33359 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:17:19 +00:00
alecf%netscape.com
3e42a98b3b stop using [] operator on nsISupportsArrays - going away for scriptability
git-svn-id: svn://10.0.0.236/trunk@33358 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:15:03 +00:00
pnunn%netscape.com
789dbd21d2 These 2 lines caused a crash with editor. Take out for study. pnunn.
git-svn-id: svn://10.0.0.236/trunk@33357 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:14:55 +00:00
alecf%netscape.com
8e28d6560b stop using [] operator on nsISupportsArrays (going away for scriptability)
git-svn-id: svn://10.0.0.236/trunk@33356 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:13:37 +00:00
ducarroz%netscape.com
620da07cd1 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33355 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:12:32 +00:00
alecf%netscape.com
826ada0475 stop using [] operator (going away for scriptability)
git-svn-id: svn://10.0.0.236/trunk@33354 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:10:12 +00:00
rogerl%netscape.com
0d914860f2 Bug #7197 - free other error report message junk
git-svn-id: svn://10.0.0.236/trunk@33353 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:07:59 +00:00
mjudge%netscape.com
45583c2b3d new table selection code drag inside and outside of tables with ease. added some overriding methods to nsTableCellFrame and nsTableFrame to make selection "draw" correctly for those containers.
git-svn-id: svn://10.0.0.236/trunk@33352 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:04:13 +00:00
danm%netscape.com
07a75789a0 protect nsWebShell's destructor from being called recursively a little earlier in the destructor. fixes a crash (bug 7157).
git-svn-id: svn://10.0.0.236/trunk@33351 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 23:02:15 +00:00
andreas.otte%primus-online.de
e9bb07a3af make libnetwerk.so a component
git-svn-id: svn://10.0.0.236/trunk@33350 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:49:26 +00:00
rogerl%netscape.com
9ebb01e7ba Fixed non-terminating regexp when max quantifier is unspecified as in :
var s = 'zzabc.';
var reg = /[^z]{1,}\./;
s.match(reg);
- wasn't checking for reaching end of text.


git-svn-id: svn://10.0.0.236/trunk@33349 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:43:17 +00:00
evaughan%netscape.com
dc2afd5568 added a fieldset example.
git-svn-id: svn://10.0.0.236/trunk@33348 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:30:59 +00:00
pierre%netscape.com
9792ff4115 Don't printf() like crazy when displaying very long pages such as http://slip/res-lib/morte1.htm in DEBUG builds.
git-svn-id: svn://10.0.0.236/trunk@33347 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:11:32 +00:00
jfrancis%netscape.com
15b90c541c linking against nspr
git-svn-id: svn://10.0.0.236/trunk@33346 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:07:00 +00:00
andreas.otte%primus-online.de
493509f148 Ignore TestSocketTransport
git-svn-id: svn://10.0.0.236/trunk@33345 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:04:46 +00:00
andreas.otte%primus-online.de
7e0bd9cc66 Build TestProtocols
git-svn-id: svn://10.0.0.236/trunk@33344 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:03:48 +00:00
valeski%netscape.com
1eadc7ed71 variable name change
git-svn-id: svn://10.0.0.236/trunk@33343 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:03:47 +00:00
andreas.otte%primus-online.de
56e778a5a4 Some fixes to build TestProtocols under linux
git-svn-id: svn://10.0.0.236/trunk@33342 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:02:40 +00:00
nhotta%netscape.com
c51cde96d0 Consolidated old conversion wrapper function.
git-svn-id: svn://10.0.0.236/trunk@33341 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 22:00:16 +00:00
pnunn%netscape.com
519ddef8c6 move kISupportsIID declaration local. pnunn.
git-svn-id: svn://10.0.0.236/trunk@33340 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:53:12 +00:00
evaughan%netscape.com
e9f6f7321b Reworked fieldsets to fix numerous bugs.
git-svn-id: svn://10.0.0.236/trunk@33339 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:52:11 +00:00
pnunn%netscape.com
a891c75bcd move kISupportsIID declaration local. and clean up ic. pnunn.
git-svn-id: svn://10.0.0.236/trunk@33338 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:50:37 +00:00
rpotts%netscape.com
5eebf63884 Added synchronization to socket transport APIs... Added access methods for getting the PRCList from a transport...
git-svn-id: svn://10.0.0.236/trunk@33337 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:37:52 +00:00
dbragg%netscape.com
c5c6a7eaa4 Change the implementation of AddRef and Release to use the macros NS_IMPL_ADDREF() and NS_IMPL_RELEASE() in nsJARFactory.cpp
git-svn-id: svn://10.0.0.236/trunk@33336 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:37:09 +00:00
rjc%netscape.com
31b01cce79 Disable XUL templates for the moment.
git-svn-id: svn://10.0.0.236/trunk@33335 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:34:05 +00:00
dbragg%netscape.com
bfabbdf8a8 removed the nsJAR.cpp and nsJARFactory.cpp from the CPPSRCS due to compile error that I need to investigate.
git-svn-id: svn://10.0.0.236/trunk@33334 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:31:29 +00:00
valeski%netscape.com
9a9f18acca Added the user agent string getter methods to nsINetService, as well as the implementation of them. Note: that they current aren't being initialized.
git-svn-id: svn://10.0.0.236/trunk@33333 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:27:25 +00:00
dbragg%netscape.com
4e8b22d8c7 backed out the nsJAR.cpp and nsJARFactory.cpp from CPPSRCS due to a change in XPCOM that caused it to not compile.
git-svn-id: svn://10.0.0.236/trunk@33332 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:22:27 +00:00
dbragg%netscape.com
79e7830db7 Added nsJAR.cpp and nsJARFactory.cpp to the CPPSRCS macro
git-svn-id: svn://10.0.0.236/trunk@33331 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:17:12 +00:00
dbragg%netscape.com
2b71c4666a removed export of nsIZipArchive.h since it doesn't exist
git-svn-id: svn://10.0.0.236/trunk@33330 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:15:47 +00:00
dbragg%netscape.com
78909ffc37 XPCOM interface files for libjar
git-svn-id: svn://10.0.0.236/trunk@33329 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 21:08:32 +00:00
terry%mozilla.org
159a7267fa Added simple sanity checking of the dependencies table.
git-svn-id: svn://10.0.0.236/trunk@33328 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 20:52:15 +00:00
leaf%mozilla.org
823307583a updating to new nsString implementation (fix courtesy shaver)
git-svn-id: svn://10.0.0.236/trunk@33326 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 18:06:14 +00:00
bruce%cybersight.com
e1dc1df6b8 Woops. Typo.
git-svn-id: svn://10.0.0.236/trunk@33325 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 05:16:32 +00:00
jband%netscape.com
fc63d5b20e notify xpconnect before destroying a JSContext
git-svn-id: svn://10.0.0.236/trunk@33324 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 02:43:41 +00:00
jband%netscape.com
b15710a19b added test
git-svn-id: svn://10.0.0.236/trunk@33323 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 02:43:02 +00:00
jband%netscape.com
c900b45a0b 1) Removed old and duplicate .idl, .h, and .xpt files.
2) Support passing an interface identifier to getService and NewInstance.
3) Added AbandonJSContext to allow for cleanup of per JSContext data.
4) Added interface inheritence tests.


git-svn-id: svn://10.0.0.236/trunk@33322 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 02:39:44 +00:00
jband%netscape.com
3a49dee03c updating readme
git-svn-id: svn://10.0.0.236/trunk@33321 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-01 02:31:13 +00:00
blizzard%redhat.com
64757d8306 more drawing work
git-svn-id: svn://10.0.0.236/trunk@33320 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 23:34:13 +00:00
pavlov%pavlov.net
abac85d95f remove lots of spaces from the end of a bunch of lines
git-svn-id: svn://10.0.0.236/trunk@33319 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 23:24:09 +00:00
blizzard%redhat.com
42be6bb145 set up the offscreen surface correctly
git-svn-id: svn://10.0.0.236/trunk@33318 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 22:48:01 +00:00
rickg%netscape.com
6be8624091 update to nsString2 as default impl
git-svn-id: svn://10.0.0.236/trunk@33317 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 22:09:05 +00:00
blizzard%redhat.com
89a91692cb more work to complete the rendering context code
git-svn-id: svn://10.0.0.236/trunk@33316 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 21:52:16 +00:00
blizzard%redhat.com
d66bc43084 the beginnings of popstate()/pushstate()
git-svn-id: svn://10.0.0.236/trunk@33315 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 21:01:51 +00:00
bruce%cybersight.com
f8b6024ed9 Few more fixes for header files.
git-svn-id: svn://10.0.0.236/trunk@33314 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 19:50:25 +00:00
jband%netscape.com
27e6638619 updating paths to new location of this directory and updating status page
git-svn-id: svn://10.0.0.236/trunk@33313 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 19:48:25 +00:00
jband%netscape.com
e717a0b4df converting these html files to redirect to moved pages
git-svn-id: svn://10.0.0.236/trunk@33312 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 19:45:54 +00:00
bruce%cybersight.com
fc7f0cd5c0 Reduces # of header files included. This work needs to spread out into all of mozilla/widget though as many things are getting drug in that don't need to be by things outside of mozilla/widget/src/gtk. I tested this on both egcs and gcc 2.7.2.3, so should be okay.
Also includes an nsAutoCString usage in nsPopUpMenu.cpp.


git-svn-id: svn://10.0.0.236/trunk@33310 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 19:41:43 +00:00
ramiro%netscape.com
cced26d923 Add casts for picky compiler.
git-svn-id: svn://10.0.0.236/trunk@33309 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 18:47:33 +00:00
ftang%netscape.com
f554159121 move files to ucvtw, ucvtw2, ucvko
git-svn-id: svn://10.0.0.236/trunk@33308 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:58:38 +00:00
ftang%netscape.com
ee23445864 move cid
git-svn-id: svn://10.0.0.236/trunk@33307 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:54:52 +00:00
ftang%netscape.com
1d26f847a1 move big5, euc-kr, euc-tw convertesr into ucvtw, ucvtw2, ucvko
git-svn-id: svn://10.0.0.236/trunk@33306 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:48:16 +00:00
ftang%netscape.com
4a162957c9 remove big5, euc-kr, euc-tw converter to ucvtw, ucvtw2, and ucvko
git-svn-id: svn://10.0.0.236/trunk@33305 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:39:13 +00:00
ftang%netscape.com
1164281a78 add ucvtw, ucvtw2, ucvko
git-svn-id: svn://10.0.0.236/trunk@33304 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:33:13 +00:00
ftang%netscape.com
f65e463703 add converter table
git-svn-id: svn://10.0.0.236/trunk@33303 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:29:41 +00:00
ramiro%netscape.com
987f03b42c Make sure nsTarget.h is complied as C++ source.
nsTarget.h is a c++ header, which includes other c++ headers.  It needs to
be complied as c++ source.

If everything in this page needs to be compiled as C code, then why
isnt this file a .c file ?


git-svn-id: svn://10.0.0.236/trunk@33302 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:29:28 +00:00
ftang%netscape.com
7f9b113adc add euc-kr to ucvko
git-svn-id: svn://10.0.0.236/trunk@33301 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:28:21 +00:00
ftang%netscape.com
c922cd5c96 add euc-tw converters to ucvtw2
git-svn-id: svn://10.0.0.236/trunk@33300 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:26:09 +00:00
ftang%netscape.com
8a26b18c39 move big5 to ucvtw
git-svn-id: svn://10.0.0.236/trunk@33299 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:17:07 +00:00
ftang%netscape.com
b3c86c8fb5 remove big5, euc-kr, euc-tw converter
git-svn-id: svn://10.0.0.236/trunk@33298 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:14:14 +00:00
ftang%netscape.com
05a53730b3 remove big5, euc-kr and euc-tw converter and place them into ucvtw ucvtw2 adn ucvko
git-svn-id: svn://10.0.0.236/trunk@33297 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:10:36 +00:00
ftang%netscape.com
beac4f1dd6 remove Big5, euc-kr, euc-tw converter. Big5 will move to ucvtw, euc-tw will move to ucvtw2, euc-kr will move to ucvko
git-svn-id: svn://10.0.0.236/trunk@33296 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 16:03:16 +00:00
ramiro%netscape.com
fc0e8c02c3 Add cast for picky compiler.
git-svn-id: svn://10.0.0.236/trunk@33295 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 15:09:31 +00:00
bruce%cybersight.com
32a42a1458 There is currently an ordering dependency between nsIPref.h and prefapi.h until something gets straightened out. As I don't know when this is happening, and this was breaking the OSF/1 build, handle this for now by moving nsIPref.h before prefapi.h in the includes.
git-svn-id: svn://10.0.0.236/trunk@33294 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 06:13:06 +00:00
bruce%cybersight.com
7347b46631 Add GetIID() methods to these interfaces. To support an upcoming checkin.
git-svn-id: svn://10.0.0.236/trunk@33293 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 05:27:36 +00:00
rpotts%netscape.com
ae34b7b8b8 Added a new test for the socket transport...
git-svn-id: svn://10.0.0.236/trunk@33292 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 05:18:19 +00:00
rpotts%netscape.com
f1ee7c702e First pass at supporting simultaneous read and write on sockets...
git-svn-id: svn://10.0.0.236/trunk@33291 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 05:15:40 +00:00
blizzard%redhat.com
7ec48cc0e3 make sure to set the border pixel for created windows to avoid bad_match errors. patch from Tim Rowley <tor@cs.brown.edu>.
git-svn-id: svn://10.0.0.236/trunk@33290 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 03:46:38 +00:00
blizzard%redhat.com
201d199cd2 more fixes for displays that have more than one visual. expose events threaten to work now.
git-svn-id: svn://10.0.0.236/trunk@33289 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 03:05:33 +00:00
blizzard%redhat.com
95d84178be fix bugs in region code
git-svn-id: svn://10.0.0.236/trunk@33288 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 03:01:39 +00:00
beard%netscape.com
908c53ae23 workaround for bug #6529, don't read the first buffer until at least 4 bytes are available, otherwise the image decoder library can't tell what kind of image it is. this is a blatant hack.
git-svn-id: svn://10.0.0.236/trunk@33287 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 02:33:31 +00:00
pavlov%pavlov.net
7c8f1eb23c oops, real fix.
git-svn-id: svn://10.0.0.236/trunk@33286 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 02:07:44 +00:00
pavlov%pavlov.net
70502ed30b fix build
git-svn-id: svn://10.0.0.236/trunk@33285 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 02:03:33 +00:00
beard%netscape.com
8e7f97a2b5 bug #7354: arrow key scrolling, force the update to deal with different event priorities.
git-svn-id: svn://10.0.0.236/trunk@33284 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:45:23 +00:00
beard%netscape.com
4669666c70 added DEBUG code to measure redraw time if control key is held down during an update.
git-svn-id: svn://10.0.0.236/trunk@33283 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:38:31 +00:00
beard%netscape.com
70252d17f7 nsGraphicState->mTMatrix is now an object rather than a pointer. added #include "nsFontMetricsMac.h", and "nsGraphicState.h".
git-svn-id: svn://10.0.0.236/trunk@33282 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:31:08 +00:00
beard%netscape.com
6204b883ee added kClippingChanged bit, and kEverythingChanged to GraphicStateChanges enum. Increased mChanges field to from 8-bit to 32-bit mask. added additional "aChanges" argument to SelectDrawingSurface() to indicate what graphics states have to be reset.
git-svn-id: svn://10.0.0.236/trunk@33281 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:31:06 +00:00
beard%netscape.com
ce202a44a2 SelectDrawingSurface() now selectively restores color, clipping, and font metrics, according to the bitmask passed in the "aChanges" parameter. PushState() saves the current changes in the pushed nsGraphicState, and PopState() restores it.
git-svn-id: svn://10.0.0.236/trunk@33280 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:31:02 +00:00
beard%netscape.com
7541270009 added mChanges, bitmask indicating differences between graphics states, made mTMatrix a member object to reduce allocations, added mNext link field to support recycling. Changed nsGraphicsStatePool to just keep a free list of nsGraphicState objects rather than an array.
git-svn-id: svn://10.0.0.236/trunk@33279 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:30:59 +00:00
beard%netscape.com
1698ba99b2 nsGraphicStatePool now just keeps a free list of nsGraphicState objects. nsGraphicState::Clear() sets the matrix to the identify matrix rather than deallocating it. nsGraphicState::Duplicate() no longer calls Clear(), instead it just copies all fields. DuplicateRgn() now takes an optional region to copy into, to avoid redundant allocate/recycle steps.
git-svn-id: svn://10.0.0.236/trunk@33278 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:30:58 +00:00
beard%netscape.com
6e1f5688d3 forward declare nsGraphicState rather than #include "nsGraphicState.h". #include "nsFontMetricsMac.h" also unnecessary.
git-svn-id: svn://10.0.0.236/trunk@33277 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:30:56 +00:00
briano%netscape.com
719248f336 Automated update
git-svn-id: svn://10.0.0.236/trunk@33276 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:29:47 +00:00
ramiro%netscape.com
7cff2a3f06 It was breaking on libc5 linux without pthreads.
git-svn-id: svn://10.0.0.236/trunk@33275 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 01:21:10 +00:00
pavlov%pavlov.net
bad0d1f61a use nsAutoCString()
git-svn-id: svn://10.0.0.236/trunk@33274 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-31 00:16:30 +00:00
morse%netscape.com
3b5dccc140 clean up single signon viewer
git-svn-id: svn://10.0.0.236/trunk@33273 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 21:17:23 +00:00
morse%netscape.com
d308c2597a clean up single singon viewer
git-svn-id: svn://10.0.0.236/trunk@33272 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 21:15:53 +00:00
morse%netscape.com
5c184c4008 clean up single signon viewer wallet.h
git-svn-id: svn://10.0.0.236/trunk@33271 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 21:11:34 +00:00
morse%netscape.com
453bef4833 clean up single signon viewer nsIWalletService.h
git-svn-id: svn://10.0.0.236/trunk@33270 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 21:11:02 +00:00
blizzard%redhat.com
b762842f0d Always use the visual that was chosen by xlibrgb. Also, make sure to set
the colormap member in XCreateWindow() if it's set in the xlibrgb code.


git-svn-id: svn://10.0.0.236/trunk@33269 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 20:36:09 +00:00
bruce%cybersight.com
fd958b07e4 The include guard name changed with the conversion of nsIPref to xpidl. This file needed to be updated for that. Should fix the OSF/1 build.
git-svn-id: svn://10.0.0.236/trunk@33268 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 18:48:56 +00:00
blizzard%redhat.com
e2b27f1c3d Apply build patches from Tim Rowley <tor@cs.brown.edu> to get working
with native solaris compiler


git-svn-id: svn://10.0.0.236/trunk@33267 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 16:58:31 +00:00
mcafee%netscape.com
ce94ecf174 Removing spurious semicolon. Thanks to David Gardiner for this fix.
git-svn-id: svn://10.0.0.236/trunk@33266 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 07:54:22 +00:00
mcafee%netscape.com
b50988fb24 nsIGenericTransferable.h was removed on 13th May. Thanks to David Gardiner for this fix.
git-svn-id: svn://10.0.0.236/trunk@33265 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 07:50:39 +00:00
rjc%netscape.com
3dc6f7abb8 Small bug fix with FTP; be a little bit smarter at what paths need filtering out (along with "." and "..", skip any absolute URLs, as they usually point "up" the path to the parent)
git-svn-id: svn://10.0.0.236/trunk@33264 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 06:15:58 +00:00
rjc%netscape.com
08094cc66c Add support for separators in "Related Links" data.
git-svn-id: svn://10.0.0.236/trunk@33263 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 06:02:30 +00:00
beard%netscape.com
9858118e3a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33262 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 02:15:01 +00:00
pavlov%pavlov.net
cd573f406c we don't need the mAlign thing anymore since we have an event box
git-svn-id: svn://10.0.0.236/trunk@33261 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 02:09:42 +00:00
sspitzer%netscape.com
8e4539c047 fix mac build bustage. if we have a MANIFEST file, you need to add it to this perl module. I've made changes for news/build/MANIFEST, addrbook/build/MANIFEST and compose/build/MANIFEST
hopefully this prevent future build breakage.  many thanks to patrick beard for the help.


git-svn-id: svn://10.0.0.236/trunk@33260 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 01:23:43 +00:00
beard%netscape.com
6c321c01eb changed region pool to use 2 linked lists of slots instead of an array, for constant time allocation and recycling. no longer allocates a fixed size pool, and regions are truly owned by the caller until recycled.
git-svn-id: svn://10.0.0.236/trunk@33259 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 00:48:01 +00:00
sspitzer%netscape.com
130616b151 XPIDL-ify nsINntpService
git-svn-id: svn://10.0.0.236/trunk@33258 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 00:13:05 +00:00
sspitzer%netscape.com
a83737950b XPIDL-ify nsINntpService. use "scriptable" instead of "object" in the news idl files
git-svn-id: svn://10.0.0.236/trunk@33257 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-30 00:12:41 +00:00
dougt%netscape.com
257a2436d8 kISupportsIID is not defined on unix, but it is on windoze...
git-svn-id: svn://10.0.0.236/trunk@33256 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 23:01:25 +00:00
dougt%netscape.com
9a2a180d5b Adding a few more functions to nsIEventQueue.
Moving proxy to use nsIEventQueue instead of PLEvents direct.


git-svn-id: svn://10.0.0.236/trunk@33255 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 22:50:25 +00:00
sspitzer%netscape.com
7077a1cb82 XPIDL-ify nsINNTPHost and adjust accordingly
git-svn-id: svn://10.0.0.236/trunk@33254 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 22:45:35 +00:00
blizzard%redhat.com
9e4c8b1cda catch up to new apis for file widget
git-svn-id: svn://10.0.0.236/trunk@33253 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:51:29 +00:00
beard%netscape.com
d4e201e366 make sure mScriptContextOwner isn't NULL (apologies to sspitzer, made the test consistent with line #2283, hope you don't mind)
git-svn-id: svn://10.0.0.236/trunk@33252 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:43:24 +00:00
ducarroz%netscape.com
8d44318d91 fix for bug 7329. MAC ONLY: if a file doesn't exist while doing an open and the flag PR_CREATE_FILE is set shouldn't abort.
git-svn-id: svn://10.0.0.236/trunk@33251 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:27:18 +00:00
ducarroz%netscape.com
db9b4787ed fix for bug 7329. Deleteting a file that doesn't exist should not invalidate the nsFileSpec.
git-svn-id: svn://10.0.0.236/trunk@33250 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:27:16 +00:00
sspitzer%netscape.com
cf8491ff39 DEBUG_sspitzer -> DEBUG_NEWS
git-svn-id: svn://10.0.0.236/trunk@33249 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:05:09 +00:00
sspitzer%netscape.com
6e79f5d0d7 fix const weirdness. clean up code for solaris compiler
git-svn-id: svn://10.0.0.236/trunk@33248 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:03:48 +00:00
sspitzer%netscape.com
0082a73e65 remove the const in preparation for moving to XPIDL
git-svn-id: svn://10.0.0.236/trunk@33247 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:02:30 +00:00
sspitzer%netscape.com
e6265caf5c remove stupid code because it's stupid
git-svn-id: svn://10.0.0.236/trunk@33246 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:01:19 +00:00
sspitzer%netscape.com
91729e56cc XPIDL-ify nsINNTPNewsgroupList, and adjust accordingly.
change DEBUG_sspitzer to DEBUG_NEWS


git-svn-id: svn://10.0.0.236/trunk@33245 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 21:00:12 +00:00
sspitzer%netscape.com
160a1a5c12 fix for #7344. check for nsnull before dereferencing.
git-svn-id: svn://10.0.0.236/trunk@33244 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 20:55:48 +00:00
mcafee%netscape.com
3a9be214cd Fixing warnings.
git-svn-id: svn://10.0.0.236/trunk@33243 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 19:36:55 +00:00
bienvenu%netscape.com
a9a03df0a5 get local mail filters working
git-svn-id: svn://10.0.0.236/trunk@33242 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 17:09:39 +00:00
bienvenu%netscape.com
9bad0afcb4 fix match hdrs for filters
git-svn-id: svn://10.0.0.236/trunk@33241 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 17:08:53 +00:00
bruce%cybersight.com
b79cb3c360 Remove static IID kISupportsIID from the default QueryInterfaces implementation macro. Replace with call to nsISupports::GetIID(). Tested by dp, myself and tague on the 3 main platforms (Win32, Linux and Mac respectively).
git-svn-id: svn://10.0.0.236/trunk@33240 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 16:25:18 +00:00
bruce%cybersight.com
06932ac48e Fix usage of kISupportsIID so that my next checkin won't hork the tree.
git-svn-id: svn://10.0.0.236/trunk@33239 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 16:22:36 +00:00
alla%lysator.liu.se
d3f4687540 Update licence to MPL 1.1
git-svn-id: svn://10.0.0.236/trunk@33238 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 12:38:22 +00:00
rickg%netscape.com
d206293316 searching should be slightly faster now
git-svn-id: svn://10.0.0.236/trunk@33237 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 09:40:49 +00:00
rickg%netscape.com
1879574b9f using brute-force search for now
git-svn-id: svn://10.0.0.236/trunk@33236 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 09:28:56 +00:00
mcafee%netscape.com
234f802a7a Fix implicit declaration warning for atoi(). Thansk to Brian Ryner bryner@uiuc.edu for this fix.
git-svn-id: svn://10.0.0.236/trunk@33235 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 08:56:53 +00:00
rickg%netscape.com
27daf0bb9c sync with nsString2 API
git-svn-id: svn://10.0.0.236/trunk@33234 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 08:52:19 +00:00
law%netscape.com
b4be9d1b80 Fix build bustage
git-svn-id: svn://10.0.0.236/trunk@33233 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 07:31:57 +00:00
rickg%netscape.com
ab77576555 final update to nsString2 before switchover
git-svn-id: svn://10.0.0.236/trunk@33232 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 07:29:46 +00:00
law%netscape.com
d915cf89eb Fix build bustage
git-svn-id: svn://10.0.0.236/trunk@33231 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 07:22:58 +00:00
mcmullen%netscape.com
7e572e4c2d Added nsFileSpecWithUIImp.cpp
git-svn-id: svn://10.0.0.236/trunk@33230 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 07:04:16 +00:00
rickg%netscape.com
9bfb8e7b48 updated to nsString2 api's
git-svn-id: svn://10.0.0.236/trunk@33229 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 07:02:08 +00:00
mcafee%netscape.com
183b5e384b Adding test#16, gfx widgets, to match viewer tests.
git-svn-id: svn://10.0.0.236/trunk@33228 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 06:22:00 +00:00
mcafee%netscape.com
c630040d7c Adding nsFileSpecWithUIImpl.cpp to resolve NS_NewFileSpecWithUI(). r=mcmullen
git-svn-id: svn://10.0.0.236/trunk@33227 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 06:08:56 +00:00
law%netscape.com
6daa1032ea added files: mozilla/widget/src/xpwidgets/nsFileSpecWithUIImpl.cpp
git-svn-id: svn://10.0.0.236/trunk@33226 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 03:28:56 +00:00
rickg%netscape.com
bf2176589a oops -- I didn't mean to update these -- backing out
git-svn-id: svn://10.0.0.236/trunk@33225 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 03:04:16 +00:00
rickg%netscape.com
4cf139826e fixed nsString2 usage error introduced by observerlist change
git-svn-id: svn://10.0.0.236/trunk@33224 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 03:01:22 +00:00
rickg%netscape.com
6c837aa5f5 fixed nsString2 usage error
git-svn-id: svn://10.0.0.236/trunk@33223 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 02:44:53 +00:00
bruce%cybersight.com
ceefa91fa1 Use $(DLL_SUFFIX) here as well.
git-svn-id: svn://10.0.0.236/trunk@33222 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 02:25:28 +00:00
bruce%cybersight.com
d07a526aa3 Use $(DLL_SUFFIX) for shared lib linking.
git-svn-id: svn://10.0.0.236/trunk@33221 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 02:19:03 +00:00
bruce%cybersight.com
f92670e2de Correct typo, fix HP-UX bustage.
git-svn-id: svn://10.0.0.236/trunk@33220 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 02:15:07 +00:00
law%netscape.com
03b76d98f7 Switching to idl-ed nsIObserverService
git-svn-id: svn://10.0.0.236/trunk@33219 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 02:13:10 +00:00
mcmullen%netscape.com
76225b5e9f For Bill
git-svn-id: svn://10.0.0.236/trunk@33218 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 02:01:28 +00:00
mcmullen%netscape.com
8a800cd243 Return value
git-svn-id: svn://10.0.0.236/trunk@33217 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:51:02 +00:00
briano%netscape.com
49e5805acd No longer needed.
git-svn-id: svn://10.0.0.236/trunk@33216 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:47:55 +00:00
briano%netscape.com
7b02faa581 Yanked out some of the obsolete \$OS_ARCH.mk stuff.
git-svn-id: svn://10.0.0.236/trunk@33215 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:44:42 +00:00
mcmullen%netscape.com
23d46569d9 move widgetry out of xpcom
git-svn-id: svn://10.0.0.236/trunk@33214 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:37:55 +00:00
rjc%netscape.com
7b59c73e18 Add window titles to bookmarks and history windows.
git-svn-id: svn://10.0.0.236/trunk@33213 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:35:00 +00:00
briano%netscape.com
b7c9744632 Removed the coreconf.mk include. Not used anymore.
git-svn-id: svn://10.0.0.236/trunk@33212 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:32:26 +00:00
law%netscape.com
91a562b7e7 XPIDL-ifying nsIOberver/nsIObserverService
git-svn-id: svn://10.0.0.236/trunk@33211 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:30:27 +00:00
mcmullen%netscape.com
be6f95027b Use NS_COM (not NS_BASE)
git-svn-id: svn://10.0.0.236/trunk@33210 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:29:28 +00:00
vidur%netscape.com
dd84ad6b9c possibly temporary sink implementation to build a document fragment.
git-svn-id: svn://10.0.0.236/trunk@33209 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:29:01 +00:00
mcmullen%netscape.com
95205de0f7 Moved widgetry out.
git-svn-id: svn://10.0.0.236/trunk@33208 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:28:25 +00:00
mcmullen%netscape.com
bac887f003 Moved widgetry out of xpcom
git-svn-id: svn://10.0.0.236/trunk@33207 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:26:53 +00:00
jefft%netscape.com
bc6d75a88d fixed unmatching memory free
git-svn-id: svn://10.0.0.236/trunk@33206 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:20:28 +00:00
jefft%netscape.com
07f8b16b51 removed unneeded code
git-svn-id: svn://10.0.0.236/trunk@33205 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:19:48 +00:00
mcmullen%netscape.com
8f8244080e Moving widgetry out of xpcom
git-svn-id: svn://10.0.0.236/trunk@33204 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:08:22 +00:00
mcmullen%netscape.com
b5b08c137a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33203 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 01:05:14 +00:00
law%netscape.com
bbc3324ba6 XPIDL-ifying nsIObserver/nsIObserverService
git-svn-id: svn://10.0.0.236/trunk@33202 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 00:51:17 +00:00
briano%netscape.com
05718b3a41 Added support for alphapca56.
git-svn-id: svn://10.0.0.236/trunk@33201 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 00:49:32 +00:00
sspitzer%netscape.com
ca49018988 fix the subscribe xul and css
git-svn-id: svn://10.0.0.236/trunk@33200 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 00:28:02 +00:00
rjc%netscape.com
8af3565667 Clean up sidebar.xul a bit.
git-svn-id: svn://10.0.0.236/trunk@33199 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 00:26:06 +00:00
rjc%netscape.com
3f9b90736d Fix some bugs with template rules. Added some needed styles for bookmarks window. Fixed a bug with sorting in bookmarks window (don't add RDFCore into list, as its unnecessary.) Bookmarks panel in sidebar is now using template rules.
git-svn-id: svn://10.0.0.236/trunk@33198 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 00:17:32 +00:00
andreas.otte%primus-online.de
a3f8b20c4a Some more ignorance
git-svn-id: svn://10.0.0.236/trunk@33196 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 00:06:00 +00:00
sspitzer%netscape.com
932bee9140 cvs ignorage for the generate Makefiles
git-svn-id: svn://10.0.0.236/trunk@33195 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:52:47 +00:00
andreas.otte%primus-online.de
e041ebaa15 Adding missing headerfiles
git-svn-id: svn://10.0.0.236/trunk@33194 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:48:58 +00:00
andreas.otte%primus-online.de
e125343119 Change to "camel case" nsIHttpEventSink
git-svn-id: svn://10.0.0.236/trunk@33193 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:48:12 +00:00
alecf%netscape.com
9567118abd don't leak!
git-svn-id: svn://10.0.0.236/trunk@33192 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:28:37 +00:00
alecf%netscape.com
9ad1882a72 remove call to GetCharPref
git-svn-id: svn://10.0.0.236/trunk@33191 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:28:04 +00:00
alecf%netscape.com
52b75a95ab aug, I'll get this right yet - pass in propertyURL correctly
git-svn-id: svn://10.0.0.236/trunk@33190 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:26:14 +00:00
alecf%netscape.com
b52718c716 aug. Rename GetCharPref to CopyCharPref
git-svn-id: svn://10.0.0.236/trunk@33189 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:25:27 +00:00
alecf%netscape.com
a574617304 remove call to GetCharPref()
git-svn-id: svn://10.0.0.236/trunk@33188 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:25:09 +00:00
alecf%netscape.com
2510376d81 I forgot to make this interface scriptable
git-svn-id: svn://10.0.0.236/trunk@33187 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:04:19 +00:00
alecf%netscape.com
f9894ef49b register nsIPref with a useable progID
git-svn-id: svn://10.0.0.236/trunk@33186 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 23:02:13 +00:00
hyatt%netscape.com
fe7fca2d88 Focus tracker actually tracks!
git-svn-id: svn://10.0.0.236/trunk@33185 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:55:10 +00:00
rjc%netscape.com
3b06514866 Use entities instead of hard-coded text in translation menus.
git-svn-id: svn://10.0.0.236/trunk@33184 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:50:45 +00:00
ducarroz%netscape.com
7ad3c4fd60 Messenger resources now go to the chrome folder.
git-svn-id: svn://10.0.0.236/trunk@33183 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:43:26 +00:00
warren%netscape.com
558763612e Added nsConstructorPattern.cpp
git-svn-id: svn://10.0.0.236/trunk@33182 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:41:13 +00:00
putterman%netscape.com
e391e874ed Part of new mailnews resources hierarchy.
git-svn-id: svn://10.0.0.236/trunk@33179 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:38:07 +00:00
gagan%netscape.com
f4adea711f General fixes and changed #include nsHTTPEventSink to match the camel-case
file name. Will be fixed when we migrate to network.


git-svn-id: svn://10.0.0.236/trunk@33178 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:34:41 +00:00
putterman%netscape.com
37f6d16f84 Update preference tree with new chrome urls.
git-svn-id: svn://10.0.0.236/trunk@33177 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:34:12 +00:00
putterman%netscape.com
ac36146d26 update registry for new mailnews hierarchy.
git-svn-id: svn://10.0.0.236/trunk@33176 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:33:30 +00:00
gagan%netscape.com
04a5280ac2 General fixes.
git-svn-id: svn://10.0.0.236/trunk@33175 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:31:47 +00:00
alecf%netscape.com
c416cb0b7f oops, missed a few more size_t's
git-svn-id: svn://10.0.0.236/trunk@33174 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:30:30 +00:00
alecf%netscape.com
ebae6f9e6a fix mac bustage - missed this size_t when switching to XPIDL syntax
git-svn-id: svn://10.0.0.236/trunk@33173 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:29:53 +00:00
hyatt%netscape.com
8f4bb1fd1d added files: mozilla/rdf/content/src/nsXULFocusTracker.cpp, mozilla/rdf/content/src/nsJSXULFocusTracker.cpp
git-svn-id: svn://10.0.0.236/trunk@33172 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:29:25 +00:00
hyatt%netscape.com
6e23c7709d More accurate tracking of chrome shells.
git-svn-id: svn://10.0.0.236/trunk@33171 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:26:48 +00:00
hyatt%netscape.com
8ab04357b8 Editing makefiles to add sources for the focus tracker.
git-svn-id: svn://10.0.0.236/trunk@33170 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:18:11 +00:00
dougt%netscape.com
f862aa1262 Adding Proxy to the xpcom init.
git-svn-id: svn://10.0.0.236/trunk@33169 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:17:24 +00:00
hyatt%netscape.com
a04d952090 Adding source files for focus tracker.
git-svn-id: svn://10.0.0.236/trunk@33168 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:16:47 +00:00
hyatt%netscape.com
4d38f002e7 More focus tracker work.
git-svn-id: svn://10.0.0.236/trunk@33167 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:15:57 +00:00
dougt%netscape.com
1c9d2fef90 Adding "Fire And Forget" async method calling.
Added Create() function for the generic factory.
Made ProxyObject into an nsISupports Object for refcounting.
Fixed proxytest to work in the new xpcom2 world.


git-svn-id: svn://10.0.0.236/trunk@33166 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:15:20 +00:00
dougt%netscape.com
7ab6deb1ee Adding a local include path to proxy/src
git-svn-id: svn://10.0.0.236/trunk@33165 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:10:55 +00:00
dp%netscape.com
3a5dab8bf1 Fixed crasher bug# 7311 by removing aggregation. Both constructors need to take an additional parameter that will initialize the outer need to happen. Doing the bigger change of introducing aggregation later
git-svn-id: svn://10.0.0.236/trunk@33164 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:09:32 +00:00
putterman%netscape.com
24d65d93d0 Add resultPane.xul to MANIFEST file.
git-svn-id: svn://10.0.0.236/trunk@33163 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:05:54 +00:00
alecf%netscape.com
71447ceef1 turn on XPConnect for nsIPref
git-svn-id: svn://10.0.0.236/trunk@33162 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:03:40 +00:00
alecf%netscape.com
38f7a21ce8 make nsIPref scriptable, and turn on XPIDL compiling on unix
(windows is on the way)


git-svn-id: svn://10.0.0.236/trunk@33161 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 22:01:07 +00:00
hyatt%netscape.com
ddf3af4762 Focus tracker stubbing.
git-svn-id: svn://10.0.0.236/trunk@33160 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:56:07 +00:00
kmcclusk%netscape.com
c41abdbd0f Added test16 to GTK menu. Also added missing aform.css, bform.css, cform.css
mozform.css and demoform.css file to be exported in Makefile.in


git-svn-id: svn://10.0.0.236/trunk@33159 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:55:33 +00:00
kin%netscape.com
ffa546bdb8 Fixed double addref in EnableUndo() that was causing us to leak the transaction manager on destruction of the editor.
git-svn-id: svn://10.0.0.236/trunk@33158 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:49:24 +00:00
ftang%netscape.com
c591be3574 do not call StopDocumentLoading to avoid libnet reent problem. return NS_ERROR_ABORT to indicate reload happend. set teh rendering to false instead of true
git-svn-id: svn://10.0.0.236/trunk@33157 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:41:51 +00:00
andreas.otte%primus-online.de
a5c671ac6d copy strres.properties to $(DIST)/bin/res to give StringBundleTest something to work with
git-svn-id: svn://10.0.0.236/trunk@33156 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:37:38 +00:00
alecf%netscape.com
3e84cf3fad remove bogus files from build
git-svn-id: svn://10.0.0.236/trunk@33155 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:34:58 +00:00
ftang%netscape.com
36d5b17045 change the ReloadDocument implementation by using RefreshURL do avoid reentrance problem in libnet
git-svn-id: svn://10.0.0.236/trunk@33154 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:32:29 +00:00
buster%netscape.com
9041cef161 Preparation for ender-based text control
* added focus listener.  Doesn't do much yet, but when focus notifications start appearing, we'll be ready for them.  The code is in
place to hide selection when we lose focus and paint selection when we get focus.  That's probably not quite right, but it's a start.
We will need to be able to determine the distinction between losing focus to another control within our app, and losing focus to
another app.
* added support for disabled and readonly states in the editor.  This is accomplished by having flags set by the client, and letting the
rules system deal with those flags.  The flags I added are:
     TEXT_EDITOR_FLAG_PLAINTEXT   0x01   // only plain text editing is allowed
     TEXT_EDITOR_FLAG_SINGLELINE  0x02   // enter key and CR-LF handled specially
     TEXT_EDITOR_FLAG_PASSWORD    0x04   // text is not entered into content, only a representative character
     TEXT_EDITOR_FLAG_READONLY    0x08   // editing events are disabled.  Editor may still accept focus.
     TEXT_EDITOR_FLAG_DISALBED    0x10   // all events are disabled (like scrolling).  Editor will not accept focus.
* added WillInsertBreak/DidInsertBreak into text rules, so flags could be checked.  This gets us readonly, disabled, and single line
behavior.
* cleaned up the code that allocates, registers, and destroys event listeners.  Thanks to Kin and Simon for cleaning up the
ownership model on the listeners, it was a big help.
* added support for a max text length.  You can now tell the text editor, be no bigger than n characters.


git-svn-id: svn://10.0.0.236/trunk@33153 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:24:18 +00:00
jfrancis%netscape.com
677f048b01 cleanup util function duplication
git-svn-id: svn://10.0.0.236/trunk@33152 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:17:30 +00:00
kmcclusk%netscape.com
94269e3783 fix for bug #6971. Added support for clicking and dragging over items in single
and multiselect listboxes. Also supports holding down the shift and ctrl keys
while dragging.


git-svn-id: svn://10.0.0.236/trunk@33151 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 21:12:09 +00:00
nhotta%netscape.com
7ebe97b8fd Added a check for force charset.
git-svn-id: svn://10.0.0.236/trunk@33150 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:53:29 +00:00
nhotta%netscape.com
a24d244b6d Clean up and preparing for auto detection.
git-svn-id: svn://10.0.0.236/trunk@33149 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:40:05 +00:00
dp%netscape.com
95269e387d Component Registry
git-svn-id: svn://10.0.0.236/trunk@33148 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:38:16 +00:00
hyatt%netscape.com
68ad61de89 Oops.
git-svn-id: svn://10.0.0.236/trunk@33147 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:33:46 +00:00
jefft%netscape.com
1ed83e8684 partially fixed bug 7147 -- Drop-down menu does not show folder when selecting Move Message
git-svn-id: svn://10.0.0.236/trunk@33146 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:30:23 +00:00
hyatt%netscape.com
5d45fcaf0d Adding the focus tracker to the XUL document.
git-svn-id: svn://10.0.0.236/trunk@33145 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:24:58 +00:00
sspitzer%netscape.com
e6f952c10b ignore the generated Makefile
git-svn-id: svn://10.0.0.236/trunk@33144 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:21:36 +00:00
ducarroz%netscape.com
903a6e4472 remove nsVCardTransition.cpp who has been deleted from the tree
git-svn-id: svn://10.0.0.236/trunk@33143 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:14:47 +00:00
sspitzer%netscape.com
b7a48c9846 fix build bustage. that file is gone.
git-svn-id: svn://10.0.0.236/trunk@33142 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:12:41 +00:00
putterman%netscape.com
13a28a59b2 Part of new mailnews resources hierarchy.
git-svn-id: svn://10.0.0.236/trunk@33141 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:10:53 +00:00
cata%netscape.com
dc27be6d15 My part of fix for bug 6890.
git-svn-id: svn://10.0.0.236/trunk@33140 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:03:35 +00:00
mscott%netscape.com
1dc1c7e03c Remove inadvertant ';' in if clause. thanks to sfraser for pointing it out.
git-svn-id: svn://10.0.0.236/trunk@33139 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:00:33 +00:00
rhp%netscape.com
c9797c9c42 Changes for using string bundles
git-svn-id: svn://10.0.0.236/trunk@33138 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 20:00:32 +00:00
rhp%netscape.com
3d056f04dc Changes for using string bundles
git-svn-id: svn://10.0.0.236/trunk@33137 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 19:58:00 +00:00
sspitzer%netscape.com
2510e792e4 changes for makeing news scriptable
git-svn-id: svn://10.0.0.236/trunk@33136 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 19:43:14 +00:00
putterman%netscape.com
0e64747804 Part of new mailnews resources hierarchy.
git-svn-id: svn://10.0.0.236/trunk@33135 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 19:41:31 +00:00
ducarroz%netscape.com
6dd7f4ebb9 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33134 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 19:40:07 +00:00
blizzard%redhat.com
0c19e74a19 make sure the right dll name is hardcoded. patch from Jeremy Lea <reg@shale.csir.co.za>
git-svn-id: svn://10.0.0.236/trunk@33133 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 19:32:40 +00:00
rogerl%netscape.com
7448fc1fe9 Moved from stack to inline execution.
git-svn-id: svn://10.0.0.236/trunk@33132 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 19:00:48 +00:00
despotdaemon%netscape.com
734272ce20 Pseudo-automatic update of changes made by shaver@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@33131 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 16:49:14 +00:00
despotdaemon%netscape.com
e07f94077b Pseudo-automatic update of changes made by shaver@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@33130 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 16:48:27 +00:00
blizzard%redhat.com
33764d7917 make sure that globals are defined here for display properties. also, make sure that the gfx module for xlib is linked explicitly with the xlib libraries so that the tests link
git-svn-id: svn://10.0.0.236/trunk@33129 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 15:11:21 +00:00
dcone%netscape.com
d528aba0b3 Fixed RealizeFont() to use a screen DC when printing for a few windows calls
git-svn-id: svn://10.0.0.236/trunk@33128 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 14:13:53 +00:00
briano%netscape.com
94e1a5a318 Automated update
git-svn-id: svn://10.0.0.236/trunk@33127 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 12:44:46 +00:00
ramiro%netscape.com
8271fa4606 Add support for building gtk widget as part of mozilla builds.
git-svn-id: svn://10.0.0.236/trunk@33126 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 12:43:59 +00:00
rhp%netscape.com
7bc0c9f66a New files for using string bundles
git-svn-id: svn://10.0.0.236/trunk@33125 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 12:39:28 +00:00
ramiro%netscape.com
b28b5728fc Fix it so it works in the xpcom2.0 world. Add cvsignore stuff.
git-svn-id: svn://10.0.0.236/trunk@33124 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 12:06:56 +00:00
ramiro%netscape.com
e31c0aa03a Add a module name for the GtkMozilla widget.
git-svn-id: svn://10.0.0.236/trunk@33123 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 11:43:41 +00:00
ramiro%netscape.com
0138a4b52e Importing Alexander Larsson's (alex@signum.se) gtkmozilla widget to the tree.
gtkmozilla is a GTK+ widget which can be used to embed mozilla in any gtk
application.


git-svn-id: svn://10.0.0.236/trunk@33122 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 11:34:26 +00:00
waterson%netscape.com
ba006b5e43 Bug 6895. Create HTML elements (not XUL elements) when the tag is in the HTML namespace. Minor performance enhancements to reduce number of calls to layout during content model construction.
git-svn-id: svn://10.0.0.236/trunk@33121 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 11:30:59 +00:00
andreas.otte%primus-online.de
9b0fa808b0 make no shared lib and do not install it in $(DIST)/bin
git-svn-id: svn://10.0.0.236/trunk@33120 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 11:20:30 +00:00
despotdaemon%netscape.com
5bc328b41d Pseudo-automatic update of changes made by driehuis@playbeing.org.
git-svn-id: svn://10.0.0.236/trunk@33119 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 11:10:06 +00:00
andreas.otte%primus-online.de
c0de187979 First Checked In
git-svn-id: svn://10.0.0.236/trunk@33118 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 09:16:47 +00:00
andreas.otte%primus-online.de
e10182b265 First Checked In
git-svn-id: svn://10.0.0.236/trunk@33117 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 09:11:38 +00:00
andreas.otte%primus-online.de
9e01e165dd Making libftp.so a component
git-svn-id: svn://10.0.0.236/trunk@33116 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 08:23:48 +00:00
andreas.otte%primus-online.de
cd20f1b732 Making libhttp.so a component
git-svn-id: svn://10.0.0.236/trunk@33115 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 08:22:46 +00:00
rickg%netscape.com
3ffa9ea51f small performance enhancement -- less searching
git-svn-id: svn://10.0.0.236/trunk@33114 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 07:14:08 +00:00
peterl%netscape.com
ffdd85ba9e clone URLs before handing to netlib. "chrome:" and "resource:" urls get munged destroying hash keys...
git-svn-id: svn://10.0.0.236/trunk@33113 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 06:50:52 +00:00
bruce%cybersight.com
1f2b1aac51 Remove a shadowing variable declaration.
git-svn-id: svn://10.0.0.236/trunk@33112 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 06:49:30 +00:00
bruce%cybersight.com
cde17134e5 Fix a shadowed variable.
git-svn-id: svn://10.0.0.236/trunk@33111 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 06:13:00 +00:00
dp%netscape.com
ef8f4ab569 Checking for NULL progid. This should return correct error values from RegisterComponent()
git-svn-id: svn://10.0.0.236/trunk@33110 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 06:06:14 +00:00
despotdaemon%netscape.com
f92915cd5f Pseudo-automatic update of changes made by alla@lysator.liu.se.
git-svn-id: svn://10.0.0.236/trunk@33109 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:41:08 +00:00
bruce%cybersight.com
1cbb18e94c Remove local shadowing of variable.
git-svn-id: svn://10.0.0.236/trunk@33108 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:29:26 +00:00
sspitzer%netscape.com
ee971c748b make unix like the other platforms (use ImapMail as the imap mail dir)
git-svn-id: svn://10.0.0.236/trunk@33107 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:20:32 +00:00
tague%netscape.com
db7ff131bb Added TSM Input Method support for the Macintosh. (Added a call to CloseTSMAwareApplication).
git-svn-id: svn://10.0.0.236/trunk@33106 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:06:54 +00:00
tague%netscape.com
6a071c8399 Added TSM Input Method support for the Macintosh.
git-svn-id: svn://10.0.0.236/trunk@33105 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:06:38 +00:00
tague%netscape.com
e7fef14463 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33104 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:05:46 +00:00
tague%netscape.com
22bf182e3b Added InitTSMAwareApplication to the Toolbox initialization sequence. Part of a set of check-ins to add TSM Input Method support on the Mac.
git-svn-id: svn://10.0.0.236/trunk@33103 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:05:27 +00:00
tague%netscape.com
c128e3f98a Updated self test.
git-svn-id: svn://10.0.0.236/trunk@33102 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 05:01:54 +00:00
dp%netscape.com
75dc8b1770 Fixing nsrefcnt to be unsigned long to maintain binary compatibility. All Addref() and Release() prototypes modified appropriately
git-svn-id: svn://10.0.0.236/trunk@33100 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 04:53:17 +00:00
hyatt%netscape.com
0e14bcd81f Temporary hack to avoid crashing.
git-svn-id: svn://10.0.0.236/trunk@33099 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 04:39:59 +00:00
blizzard%redhat.com
8d158427ae move global xlib symbols, fix hard coded toolkit name in makefile
git-svn-id: svn://10.0.0.236/trunk@33098 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 04:13:29 +00:00
blizzard%redhat.com
01fda6864c remove hard coded toolkit name
git-svn-id: svn://10.0.0.236/trunk@33097 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 04:12:24 +00:00
blizzard%redhat.com
f9946cc363 remove hard coded toolkit names in tests
git-svn-id: svn://10.0.0.236/trunk@33096 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:42:59 +00:00
briano%netscape.com
f5fe452f6b Got rid of the BSDECHO macro. Obsolete.
git-svn-id: svn://10.0.0.236/trunk@33095 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:36:21 +00:00
sspitzer%netscape.com
33f48b3ff6 remove my comment
git-svn-id: svn://10.0.0.236/trunk@33094 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:36:04 +00:00
briano%netscape.com
02ebcfbb55 No longer needed.
git-svn-id: svn://10.0.0.236/trunk@33093 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:27:37 +00:00
sspitzer%netscape.com
e887d056c5 whoops, I should only be setting some prefs if they didn't have a prefs file
git-svn-id: svn://10.0.0.236/trunk@33092 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:24:30 +00:00
tague%netscape.com
843b282e49 Updated self-test so that it continues to build.
git-svn-id: svn://10.0.0.236/trunk@33091 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:19:22 +00:00
tague%netscape.com
05bf124d2e Updated self-test so it continues to build
git-svn-id: svn://10.0.0.236/trunk@33090 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:19:05 +00:00
sspitzer%netscape.com
82bc367b26 make my hack less of a hack. use the pref api instead of writing out the the
stream.

this is much better.  (thanks to alecf for the suggestion).


git-svn-id: svn://10.0.0.236/trunk@33089 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:16:03 +00:00
alecf%netscape.com
f79f5654b8 use XPIDL on windows for all these IDL files
git-svn-id: svn://10.0.0.236/trunk@33088 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 03:08:27 +00:00
sfraser%netscape.com
2d9635b42b Fix hyatt's checking with a null test, so that you don't crash when closing windows.
git-svn-id: svn://10.0.0.236/trunk@33087 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 02:57:20 +00:00
bienvenu%netscape.com
2dd64c1f5f fix ref counting problem on isupports filter stuff
git-svn-id: svn://10.0.0.236/trunk@33086 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 02:15:31 +00:00
bienvenu%netscape.com
946289b75e fix filter folder name to be one byte
git-svn-id: svn://10.0.0.236/trunk@33085 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 02:14:59 +00:00
pollmann%netscape.com
2ac238458d Bug 3322: Windows sends NS_CONTROL_CHANGE events
git-svn-id: svn://10.0.0.236/trunk@33084 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 02:11:55 +00:00
dp%netscape.com
03e1f16be9 Reversing changing type of nsrefcnt. Mailnews code has specific Release() implementation that mention a different type. We need to fix that first.
git-svn-id: svn://10.0.0.236/trunk@33083 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 02:07:49 +00:00
pierre%netscape.com
9c6fa042ec File Removed.
git-svn-id: svn://10.0.0.236/trunk@33082 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 02:00:54 +00:00
pierre%netscape.com
6d4e050edd Fixed the Profiler build for NSRuntime.mcp
git-svn-id: svn://10.0.0.236/trunk@33081 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:54:27 +00:00
mccabe%netscape.com
a3eb871c1e Added the xpcom/sample directory to the build, so I can point people to the minimal XPConnect sample code there without them having to rebuild to try it out.
git-svn-id: svn://10.0.0.236/trunk@33080 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:49:47 +00:00
nhotta%netscape.com
bd54474c8c Added force character set.
git-svn-id: svn://10.0.0.236/trunk@33079 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:31:55 +00:00
mang%subcarrier.org
cea521ce2b documented existence of -g flag
git-svn-id: svn://10.0.0.236/trunk@33078 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:25:31 +00:00
dp%netscape.com
c6b7ed14b1 Fixed Binary compability with COM's nsIUnknown w.r.t return value types of Addref and Release.
nsrefcnt is defined as unsigned long for windows machines with 4 bytes per long.


git-svn-id: svn://10.0.0.236/trunk@33077 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:22:35 +00:00
dp%netscape.com
5add7d2de6 - Adding in PROGID and Classname for registration of xpcom components.
- Registering FILESPEC


git-svn-id: svn://10.0.0.236/trunk@33075 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:14:59 +00:00
mccabe%netscape.com
8f6488d835 Removed unused and nonsensical voidRef typedef.
git-svn-id: svn://10.0.0.236/trunk@33074 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:14:50 +00:00
briano%netscape.com
42a8cd9e92 Added support for Rhapsody.
git-svn-id: svn://10.0.0.236/trunk@33073 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:10:22 +00:00
pollmann%netscape.com
96795774f2 Bug 3322: nsSelectControlFrames's ControlChanged does what MouseClicked used to - checks for selection changes and sends out onChange DOM events.
git-svn-id: svn://10.0.0.236/trunk@33072 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:06:42 +00:00
pollmann%netscape.com
1187a6df01 Bug 3322: NS_CONTROL_CHANGE events call ControlChanged on the form frame.
git-svn-id: svn://10.0.0.236/trunk@33071 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:05:19 +00:00
alecf%netscape.com
a344c4e0be GetCharPref() is going away for nsIPref scriptability - use CopyCharPref instead
git-svn-id: svn://10.0.0.236/trunk@33070 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:56:53 +00:00
alecf%netscape.com
0164889fa4 GetCharPref is going away for nsIPref scriptability - use CopyCharPref instead
git-svn-id: svn://10.0.0.236/trunk@33069 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:51:34 +00:00
dp%netscape.com
4b8edfa961 Added aggregation. Implemented Create() so that the GenericFactory can create IFileSpec
Objects if registered.


git-svn-id: svn://10.0.0.236/trunk@33068 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:50:42 +00:00
alecf%netscape.com
9d05a018f8 GetCharPref() is going away for nsIPref scriptability. Use CopyCharPref instead
git-svn-id: svn://10.0.0.236/trunk@33067 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:50:29 +00:00
alecf%netscape.com
742aefc647 remove calls to GetCharPref() (going away for nsIPref scriptability)
git-svn-id: svn://10.0.0.236/trunk@33066 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:48:49 +00:00
mcmullen%netscape.com
935485f6ac Removed base/baseDebug.shlb
git-svn-id: svn://10.0.0.236/trunk@33065 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:48:24 +00:00
akkana%netscape.com
83e9e8100d Add paste/insert as quotation into editor app cores to be accessible from JS.
git-svn-id: svn://10.0.0.236/trunk@33062 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:46:34 +00:00
pierre%netscape.com
6c1eeac67f #6988 "Click in grow box shrinks window by 1 pixel"
git-svn-id: svn://10.0.0.236/trunk@33061 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:42:49 +00:00
pierre%netscape.com
75ff1ae0ae #3930 "file selection control displays complete path"
git-svn-id: svn://10.0.0.236/trunk@33060 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:40:18 +00:00
pierre%netscape.com
2f9ac3f4fe Fixed eColor_TextSelectXXXXX
git-svn-id: svn://10.0.0.236/trunk@33059 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:38:43 +00:00
bienvenu%netscape.com
d4ad8ca047 fix build bustage in filter code
git-svn-id: svn://10.0.0.236/trunk@33058 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:38:24 +00:00
sfraser%netscape.com
52c77e40f7 Remove the appcore from the AppCoresManager in onunload().
git-svn-id: svn://10.0.0.236/trunk@33057 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:37:04 +00:00
pierre%netscape.com
c521aaf211 #7143 "Subscript element not properly supported"
git-svn-id: svn://10.0.0.236/trunk@33056 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:32:12 +00:00
ducarroz%netscape.com
a621ce34a3 Remove msgLocal dependency
git-svn-id: svn://10.0.0.236/trunk@33055 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:28:37 +00:00
pollmann%netscape.com
ab2d2ac01a Bug 3322: Opps, removing some debugging cruft.
git-svn-id: svn://10.0.0.236/trunk@33054 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:28:07 +00:00
bienvenu%netscape.com
a15f8bc010 checkpoint search and filter stuff
git-svn-id: svn://10.0.0.236/trunk@33053 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:26:55 +00:00
mcafee%netscape.com
d69a763605 Adding support for rhapsody build. r=briano, this change got stomped a while back.
git-svn-id: svn://10.0.0.236/trunk@33052 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:25:23 +00:00
sfraser%netscape.com
9d05f87b8c Fix ownership issues in the EditorAppCore, and removed some obsolete IID definitions. The EditorAppCore now holds the owning reference of the editor.
git-svn-id: svn://10.0.0.236/trunk@33051 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:23:03 +00:00
vidur%netscape.com
3de7a62b23 Fix for bug 6125. DOMImplementation::hasFeature() now works better
git-svn-id: svn://10.0.0.236/trunk@33050 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:22:47 +00:00
sfraser%netscape.com
b06e9252d3 Fix refcounting in the AppCoresManager's list of appcores.
git-svn-id: svn://10.0.0.236/trunk@33049 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:21:43 +00:00
rickg%netscape.com
09ee75b19d fixed bug 6950
git-svn-id: svn://10.0.0.236/trunk@33048 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:21:24 +00:00
sfraser%netscape.com
da0d7aa52f Removed obsolete IID definitions, use GetIID() instead.
git-svn-id: svn://10.0.0.236/trunk@33047 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:20:41 +00:00
sfraser%netscape.com
a3971dfdc8 Fix the event listeners to no longer hold owning pointer to the editor.
git-svn-id: svn://10.0.0.236/trunk@33046 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:19:51 +00:00
vidur%netscape.com
ba13725fae Added noscript qualifier to HTMLDocument::Open, Write and Writeln and moved the JS-specific versions over to NSHTMLDocument.
git-svn-id: svn://10.0.0.236/trunk@33045 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:18:48 +00:00
vidur%netscape.com
0f89791d58 Added support for noscript qualifier to attributes and methods. When this qualifier is used, the corresponding attribute or method is not reflected in the glue.
git-svn-id: svn://10.0.0.236/trunk@33044 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:17:38 +00:00
sfraser%netscape.com
64b0f22ee5 Change the transactions to have non-owning pointers to the editor.
git-svn-id: svn://10.0.0.236/trunk@33043 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:16:55 +00:00
sfraser%netscape.com
a6a9b7ff1b Changed transactions not to have owning pointers to the Editor.
git-svn-id: svn://10.0.0.236/trunk@33042 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:13:02 +00:00
sspitzer%netscape.com
ecc686ddd7 fix windows bustage for my change to nsPref.cpp
git-svn-id: svn://10.0.0.236/trunk@33041 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:06:51 +00:00
sspitzer%netscape.com
31cf7f4f21 if no prefs file exists, take a stab at creating a useful one for those inside netscape.
there aren't enough getter methods in the profile code to get the smtp server and the other info.
for now, all I can get is the default profile name


git-svn-id: svn://10.0.0.236/trunk@33040 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 00:03:43 +00:00
pollmann%netscape.com
dd73af6349 Bug 3322: GTK combo boxes send NS_CONTROL_CHANGE events appropriately.
git-svn-id: svn://10.0.0.236/trunk@33039 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:57:58 +00:00
pollmann%netscape.com
cbb27d7b1a Bug 3322: Adding NS_CONTROL_CHANGE event. This will be used for <SELECT>'s onChange.
git-svn-id: svn://10.0.0.236/trunk@33038 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:53:42 +00:00
mcmullen%netscape.com
2df1b20304 Removed base
git-svn-id: svn://10.0.0.236/trunk@33037 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:44:54 +00:00
akkana%netscape.com
aaa5a0d986 Fixing crash because of unprotected NULL ptr. - akkana & dp
git-svn-id: svn://10.0.0.236/trunk@33036 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:42:34 +00:00
pinkerton%netscape.com
fcd5e4098b remove obsolete tree/toolbar cid's
git-svn-id: svn://10.0.0.236/trunk@33035 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:39:49 +00:00
endico%mozilla.org
10019111c3 add missing )
git-svn-id: svn://10.0.0.236/trunk@33034 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:38:06 +00:00
mcmullen%netscape.com
7328b9506b Removed obsolete base/baseDebug.shlb
git-svn-id: svn://10.0.0.236/trunk@33033 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:28:37 +00:00
endico%mozilla.org
cbce679312 allow message/news mime type for included message as this is what is used by communicator 3.x
git-svn-id: svn://10.0.0.236/trunk@33032 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:25:52 +00:00
pinkerton%netscape.com
bf5c6d5787 removed obsolete class id's (trees, toolbars).
git-svn-id: svn://10.0.0.236/trunk@33031 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:22:20 +00:00
av%netscape.com
4cc6799ade Getting windowless plugin stuff into
git-svn-id: svn://10.0.0.236/trunk@33030 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:20:09 +00:00
wtc%netscape.com
5f8254e1e3 Bugzilla bug #7077: modified compile-et.pl so that it adds comments
(error strings) before the error code macro definitions in the
generated header.  Also updated prerr.h to reflect this change.
Thanks to John Gardiner Myers <jgmyers@netscape.com> for contributing
the fix.


git-svn-id: svn://10.0.0.236/trunk@33029 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:20:02 +00:00
pinkerton%netscape.com
7532f5f99a remove references and cid's for tree, toolbar, and content connector widgets. These no longer exist.
git-svn-id: svn://10.0.0.236/trunk@33028 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:17:14 +00:00
wtc%netscape.com
eb01f91b47 Bugzilla bug #4471: specify -mips3 when compiling on IRIX 6.5,
otherwise it defaults to -mips4 if the build machine is mips4.


git-svn-id: svn://10.0.0.236/trunk@33027 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 23:03:31 +00:00
dp%netscape.com
24134a98b3 Adding progid and classname
git-svn-id: svn://10.0.0.236/trunk@33026 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:47:27 +00:00
dp%netscape.com
59a44299f5 Removing ending ;
git-svn-id: svn://10.0.0.236/trunk@33025 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:45:24 +00:00
pnunn%netscape.com
baf00d853b Removing old defs and added tests for null ptrs. pnunn.
git-svn-id: svn://10.0.0.236/trunk@33024 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:42:57 +00:00
dp%netscape.com
786e6495f2 Adding PROGID and ClassName
git-svn-id: svn://10.0.0.236/trunk@33023 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:41:23 +00:00
pnunn%netscape.com
a4ee63dc0b Removing old defs. pnunn.
git-svn-id: svn://10.0.0.236/trunk@33022 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:40:52 +00:00
pinkerton%netscape.com
7d7ff977e0 fixes to get collapsed grippies to be the same size as the toolbar that was collapsed. It was my error that I caught earlier, but forgot to go back to it. Chris' code did the right thing.
git-svn-id: svn://10.0.0.236/trunk@33021 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:39:10 +00:00
dougt%netscape.com
872559b2e2 Adding proxy to the xpcom targets.
git-svn-id: svn://10.0.0.236/trunk@33020 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:36:30 +00:00
pnunn%netscape.com
0fd33088e3 Removing old def's. pnunn.
git-svn-id: svn://10.0.0.236/trunk@33019 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:36:17 +00:00
nisheeth%netscape.com
74f3d38e5c Allow LAYER tags to nest within themselves.
git-svn-id: svn://10.0.0.236/trunk@33018 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:28:31 +00:00
phillip%netscape.com
0683f4b25f fixed the initialization of run_time in test_url
git-svn-id: svn://10.0.0.236/trunk@33017 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:27:14 +00:00
nisheeth%netscape.com
c769b176af Accept percentage values for the LEFT and TOP attributes of the LAYER tag.
git-svn-id: svn://10.0.0.236/trunk@33016 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:26:23 +00:00
gayatrib%netscape.com
0f58123a8c A sample tree widget
git-svn-id: svn://10.0.0.236/trunk@33015 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:24:12 +00:00
akkana%netscape.com
a17f9d67df Add plaintext editor as an option in browser and editor menus
git-svn-id: svn://10.0.0.236/trunk@33014 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:21:48 +00:00
pinkerton%netscape.com
89169dcd21 more toolbar expanding/collapsing work. Significant portions donated by Chris Lattner. Thanks, Chris!
git-svn-id: svn://10.0.0.236/trunk@33013 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:17:25 +00:00
mscott%netscape.com
f0b1744305 Remove obsolete dependency on local.
git-svn-id: svn://10.0.0.236/trunk@33012 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:16:07 +00:00
mscott%netscape.com
656dc81b53 No longer need to link against local.
git-svn-id: svn://10.0.0.236/trunk@33011 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:14:51 +00:00
dougt%netscape.com
caa4ab68bc Proof of concept for SoftwareUpdate sidebar.
git-svn-id: svn://10.0.0.236/trunk@33010 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:14:10 +00:00
mscott%netscape.com
f122959927 Use nsIMgParseMailMsgState & the component manager so we don't have to link against local to pick up the message parser.
git-svn-id: svn://10.0.0.236/trunk@33009 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:13:57 +00:00
mscott%netscape.com
c7a630e624 Register component for nsIMgParseMailMsgState.
git-svn-id: svn://10.0.0.236/trunk@33008 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:11:18 +00:00
mscott%netscape.com
bacdc1fd8d use nsIMgParseMailMsgState. This generalizes the message parser behind an interface so other components can use it without linking against local.
git-svn-id: svn://10.0.0.236/trunk@33007 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:10:10 +00:00
alecf%netscape.com
265482041f fix script to use "Makefile.in" in addition to Makefile
git-svn-id: svn://10.0.0.236/trunk@33006 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:09:55 +00:00
despotdaemon%netscape.com
e3f8e1e82b Pseudo-automatic update of changes made by andreas.otte@primus-online.de.
git-svn-id: svn://10.0.0.236/trunk@33005 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:09:50 +00:00
mscott%netscape.com
912dd37391 Export nsIMsgParseMailMsgState.h
git-svn-id: svn://10.0.0.236/trunk@33004 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:09:15 +00:00
mscott%netscape.com
5ad0afc9b0 Add claas id for nsIMgParseMailMsgState
git-svn-id: svn://10.0.0.236/trunk@33003 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:06:40 +00:00
dougt%netscape.com
f74fc1db68 removing an evil and unneeded delete [].
git-svn-id: svn://10.0.0.236/trunk@33002 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:02:17 +00:00
phillip%netscape.com
36067e8aea cleaned up the url_list init routine and added a TODO for relative paths
git-svn-id: svn://10.0.0.236/trunk@33001 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:01:53 +00:00
valeski%netscape.com
2ca0726f11 added some extern module stuff #ifdef'd zero
git-svn-id: svn://10.0.0.236/trunk@33000 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:00:30 +00:00
amasri%netscape.com
46bade0898 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32999 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:57:35 +00:00
mcmullen%netscape.com
f8124537e4 Removed obsolete base.shlb/baseDebug.shlb
git-svn-id: svn://10.0.0.236/trunk@32998 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:48:55 +00:00
sfraser%netscape.com
86e6e3dc96 Add GetIID() methods.
git-svn-id: svn://10.0.0.236/trunk@32997 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:47:38 +00:00
sfraser%netscape.com
f38ac12c18 Remove MathLib, which is now rolled into the InterfaceStubs library
git-svn-id: svn://10.0.0.236/trunk@32996 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:47:00 +00:00
phillip%netscape.com
1af9623598 smoketest perl script. should run in any unix flavor, but has dependencies
on killall, and other issues that might need to be rectified.


git-svn-id: svn://10.0.0.236/trunk@32995 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:44:06 +00:00
mcmullen%netscape.com
b31ee1a094 Removed obsolete base.shlb/baseDebug.shlb
git-svn-id: svn://10.0.0.236/trunk@32994 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:40:58 +00:00
mscott%netscape.com
81a3042d4b export nsIMsgParseMailMsgState.h
git-svn-id: svn://10.0.0.236/trunk@32993 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:39:28 +00:00
rhp%netscape.com
87bf68ae8e Adding new string bundle file
git-svn-id: svn://10.0.0.236/trunk@32992 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:37:10 +00:00
rhp%netscape.com
3e01b3a131 Adding string bundle properties file
git-svn-id: svn://10.0.0.236/trunk@32991 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:36:03 +00:00
rhp%netscape.com
c4d52014e9 Doing cleanup
git-svn-id: svn://10.0.0.236/trunk@32990 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:35:19 +00:00
rhp%netscape.com
0d40815f06 removed files: mozilla/mailnews/mime/cthandlers/vcard/oldi18n.c
git-svn-id: svn://10.0.0.236/trunk@32989 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:34:39 +00:00
valeski%netscape.com
e5f7a73eb9 added the idl dir and initial nsIHttpNotify.idl
git-svn-id: svn://10.0.0.236/trunk@32988 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:31:26 +00:00
valeski%netscape.com
575e5af27c module mananger implementation files
git-svn-id: svn://10.0.0.236/trunk@32987 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:30:31 +00:00
valeski%netscape.com
c052d96d7c idl: added the idl dir and some initial files.
added module manager headers and idl files


git-svn-id: svn://10.0.0.236/trunk@32986 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:29:52 +00:00
locka%iol.ie
003c65199f New test for post data
git-svn-id: svn://10.0.0.236/trunk@32985 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:29:12 +00:00
locka%iol.ie
abd8b8adcc New tab dialogs
git-svn-id: svn://10.0.0.236/trunk@32984 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:28:46 +00:00
locka%iol.ie
5100390c9b Revamped layout and fixed some refcount problems
git-svn-id: svn://10.0.0.236/trunk@32983 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:28:13 +00:00
locka%iol.ie
4990561042 no message
git-svn-id: svn://10.0.0.236/trunk@32982 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:27:35 +00:00
locka%iol.ie
eafd9fcb69 Added activescript mime type
git-svn-id: svn://10.0.0.236/trunk@32981 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:27:20 +00:00
locka%iol.ie
b763bb4066 Added #include for ActiveScript.h and ItemContainer.h
git-svn-id: svn://10.0.0.236/trunk@32980 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:26:28 +00:00
dougt%netscape.com
5ba4026869 Changes and bug fixes suggested by brendan.
git-svn-id: svn://10.0.0.236/trunk@32979 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:25:43 +00:00
locka%iol.ie
be3b08d07a Added framework for plugin to support VBScript and JScript files
git-svn-id: svn://10.0.0.236/trunk@32978 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:24:47 +00:00
locka%iol.ie
42226b5df8 Removed. DEF file is generated from a script now
git-svn-id: svn://10.0.0.236/trunk@32977 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:23:35 +00:00
locka%iol.ie
719493e64a Fixed new window navigation code (bad return op)
git-svn-id: svn://10.0.0.236/trunk@32976 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:22:42 +00:00
locka%iol.ie
5e5edcdbdd Added ItemContainer.cpp/obj targets
Added targets for building npmozctl in plugin or control only modes
Added target to create npmozctl.def using a batch file


git-svn-id: svn://10.0.0.236/trunk@32975 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:21:34 +00:00
locka%iol.ie
e8dc9fadb1 Move Ole item container stuff into separate class
git-svn-id: svn://10.0.0.236/trunk@32974 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:20:00 +00:00
locka%iol.ie
101f91d00b no message
git-svn-id: svn://10.0.0.236/trunk@32973 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:18:29 +00:00
kmcclusk%netscape.com
45d6c97be2 fixes for bugs #5809, #5852, #6828, #6973.
Added a new test16.html sample to test gfx-rendered widgets to viewer.
Added support for test17.html sample to test printing.


git-svn-id: svn://10.0.0.236/trunk@32972 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:17:10 +00:00
locka%iol.ie
8de19e46fe Ole item container methods seperated from control site class
git-svn-id: svn://10.0.0.236/trunk@32971 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:16:06 +00:00
sfraser%netscape.com
1139fd18b2 Add GetIID() method.
git-svn-id: svn://10.0.0.236/trunk@32970 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:16:03 +00:00
locka%iol.ie
6da03d4790 Batch file for creating npmozctl.def depending on the settings
git-svn-id: svn://10.0.0.236/trunk@32969 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:15:08 +00:00
mcmullen%netscape.com
3d6a617237 No longer maintained
git-svn-id: svn://10.0.0.236/trunk@32968 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:14:33 +00:00
jefft%netscape.com
3b12e8a8f7 fixed bug 7163 - imap directory not automatically created if missing
git-svn-id: svn://10.0.0.236/trunk@32967 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:14:02 +00:00
valeski%netscape.com
0986f52eb2 removed these two because they've been added to the proper idl directory
git-svn-id: svn://10.0.0.236/trunk@32966 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:13:34 +00:00
kmcclusk%netscape.com
c6457d5277 fix for bug #6876 File open dialog shown twice. Removed call to Show() in GetFile().
GetFile should only be used retrieve settings it should not have a side effect of
showing the dialog.
Added WIN32 support for top-level borderless windows.


git-svn-id: svn://10.0.0.236/trunk@32965 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:09:49 +00:00
hyatt%netscape.com
12a219cc2e Teaching windows to check their enclosing chrome documents for capture
(and bubbling).


git-svn-id: svn://10.0.0.236/trunk@32964 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:06:51 +00:00
dougt%netscape.com
2b080200d0 adjusting #ifdef below the SetScriptObject definition.
git-svn-id: svn://10.0.0.236/trunk@32963 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:06:04 +00:00
hyatt%netscape.com
6c7b70d9cf Web shells now know about their enclosed chrome shell.
git-svn-id: svn://10.0.0.236/trunk@32962 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:05:27 +00:00
hyatt%netscape.com
ba4d048748 (1) The document now checks the window for capture.
(2) Frames and iframes now know their nearest enclosing chrome shells.


git-svn-id: svn://10.0.0.236/trunk@32961 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:04:52 +00:00
hyatt%netscape.com
e8b9317e9a Implementing document and window capture in the XUL DOM.
git-svn-id: svn://10.0.0.236/trunk@32960 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:03:59 +00:00
dougt%netscape.com
000ebd5129 Fixed Reported Bugs: 5577, 5579, 5580, 6116, 6620, 6621, 6707, 6709, 6714.
Fixed overloading
Fixed calls to version registry
removed nsInstallInfo from the stream listener.


git-svn-id: svn://10.0.0.236/trunk@32959 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:02:57 +00:00
saari%netscape.com
c3676ddd14 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32958 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 21:00:28 +00:00
sdagley%netscape.com
c617dbe6a8 Add new method to find out what type of file the user selected from the type/filter list in the save dialog.
git-svn-id: svn://10.0.0.236/trunk@32957 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:54:53 +00:00
mscott%netscape.com
50cf3af193 Not part of build yet. An interface that will sit on top of the message mail statee parser so other components can use it.
git-svn-id: svn://10.0.0.236/trunk@32956 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:53:19 +00:00
kin%netscape.com
ee983116d2 Changed all occurrences of GetUndoString() and GetRedoString() to accept nsString *.
git-svn-id: svn://10.0.0.236/trunk@32955 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:50:52 +00:00
kin%netscape.com
738e62b792 Changed GetUndoString() and GetRedoString() to use nsString *.
git-svn-id: svn://10.0.0.236/trunk@32954 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:50:05 +00:00
kin%netscape.com
7bc6609fe1 Changed interface and implementation to us NS_IMETHOD and NS_IMPMETHOD macros.
git-svn-id: svn://10.0.0.236/trunk@32953 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:48:55 +00:00
bruce%cybersight.com
52e19f80ba should've been a forward declaration of nsIPresContext. This will remove 117 warnings.
git-svn-id: svn://10.0.0.236/trunk@32952 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:48:01 +00:00
erik%netscape.com
a0126ba567 Switched over to auto-registration. Added Unix and Mac support.
git-svn-id: svn://10.0.0.236/trunk@32951 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:46:26 +00:00
tague%netscape.com
fcbcd25ccd Fix bug #6680 Mac -date not displayed in thread pane.
git-svn-id: svn://10.0.0.236/trunk@32950 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:42:15 +00:00
morse%netscape.com
f75dce26e9 clean up usage of prefs
git-svn-id: svn://10.0.0.236/trunk@32949 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:40:38 +00:00
tague%netscape.com
53e250e5db Fix for bug #6680 Mac - date not displayed in Message pane folders.
git-svn-id: svn://10.0.0.236/trunk@32948 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:39:13 +00:00
nhotta%netscape.com
8713fb96f4 Test for GetIID().
git-svn-id: svn://10.0.0.236/trunk@32947 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:37:48 +00:00
danm%netscape.com
71f871b32e disseminate search part of chrome URL to contained webshells as content URLs
git-svn-id: svn://10.0.0.236/trunk@32946 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:36:15 +00:00
nhotta%netscape.com
71fb9cdaa9 Added GetIID().
git-svn-id: svn://10.0.0.236/trunk@32945 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:36:11 +00:00
danm%netscape.com
b6a87070d1 save search part of URL when munging and reconstructing
git-svn-id: svn://10.0.0.236/trunk@32944 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:34:42 +00:00
terry%mozilla.org
826c87d676 Oops; was flailing if rankdir wasn't defined.
git-svn-id: svn://10.0.0.236/trunk@32943 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 20:20:57 +00:00
terry%mozilla.org
645adb498b Allow user to control orientation of graph; default it to left-to-right.
git-svn-id: svn://10.0.0.236/trunk@32942 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 19:53:25 +00:00
sspitzer%netscape.com
db94f5bdc4 fix bustage.
we used to have -llocalmail in our link line.  but that's a component, so that's
wrong, so mcafee removed it.  but we weren't linking against liblocalmail.so, we were actually linking in liblocalmail.a.  but briano's change to mozilla/config/rules.mk made it so liblocalmail.a got moved into dist/lib/components, so now
we need to explictly link against this .a

the problem is in this .a is a class that we need.  mscott is working on
the right fix, and he'll remove this when he re-arranges the code.


git-svn-id: svn://10.0.0.236/trunk@32941 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 19:14:42 +00:00
terry%mozilla.org
eca43aebd8 Notify by mail whenever a related bug changes status.
git-svn-id: svn://10.0.0.236/trunk@32940 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 18:18:29 +00:00
mcmullen%netscape.com
e3d8b1723a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32939 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 17:59:00 +00:00
terry%mozilla.org
b36743f38f Patched minor security hole; don't show summary of bugs that the user
doesn't have permission to see.


git-svn-id: svn://10.0.0.236/trunk@32938 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 15:17:25 +00:00
dcone%netscape.com
10a88b0aec Fixed bug 4904 -- converted to DIB, then printed..
git-svn-id: svn://10.0.0.236/trunk@32937 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 14:48:15 +00:00
terry%mozilla.org
99b60f19eb Make sure every node that we asked about shows up in the graph, even
if it doesn't have any dependency relationships.


git-svn-id: svn://10.0.0.236/trunk@32936 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 14:42:19 +00:00
terry%mozilla.org
cc21ba2461 Added dependencies, so that you can mark which bugs depend on which
other ones.


git-svn-id: svn://10.0.0.236/trunk@32935 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 14:13:41 +00:00
rhp%netscape.com
df198909c3 Fix for 8bit character display in vcards
git-svn-id: svn://10.0.0.236/trunk@32934 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 12:19:36 +00:00
mccabe%netscape.com
941450016c Fix to 6880. xpt_link now prints an informative error message when it encounters duplicate interface names with different iids.
git-svn-id: svn://10.0.0.236/trunk@32933 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 11:02:05 +00:00
rickg%netscape.com
7efb6bc5b9 cleanup warnings
git-svn-id: svn://10.0.0.236/trunk@32932 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 10:57:22 +00:00
rickg%netscape.com
e725246f20 cleanup warnings
git-svn-id: svn://10.0.0.236/trunk@32931 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 10:53:29 +00:00
rickg%netscape.com
2b68d411fb fix bug 5094
git-svn-id: svn://10.0.0.236/trunk@32930 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 10:33:50 +00:00
rickg%netscape.com
84c1546321 fix bug 5094
git-svn-id: svn://10.0.0.236/trunk@32929 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 10:32:33 +00:00
rickg%netscape.com
67386c5d2b fixed bug in findStr
git-svn-id: svn://10.0.0.236/trunk@32928 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 10:28:50 +00:00
mccabe%netscape.com
d294b25d15 Fix to 5032. xpt_link and xpt_dump now detect input files with bad 'XPCOM TypeLib" headers and fail gracefully with informative error messages, rather than crashing.
Yes, I'm pretty confident this checkin won't interact with the current runtime bustage.


git-svn-id: svn://10.0.0.236/trunk@32927 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 10:11:32 +00:00
dp%netscape.com
05ab725ffe Patch from andreas.otte@primus-online.de Thanks Andreas
git-svn-id: svn://10.0.0.236/trunk@32926 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 08:50:52 +00:00
rickg%netscape.com
50850f828c fixed bug in nsString2::find() -- this will soon use boyer-moore
git-svn-id: svn://10.0.0.236/trunk@32925 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 07:59:16 +00:00
rickg%netscape.com
0ca0dd52fd changed to align with nsString2
git-svn-id: svn://10.0.0.236/trunk@32924 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 07:38:37 +00:00
rickg%netscape.com
3247092783 fix nsString2 link error
git-svn-id: svn://10.0.0.236/trunk@32923 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 07:29:33 +00:00
rickg%netscape.com
43d615affd Added IsValidFragment()
git-svn-id: svn://10.0.0.236/trunk@32922 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:44:44 +00:00
alecf%netscape.com
b73b8cb8b2 API change GetUserName -> GetUsername
git-svn-id: svn://10.0.0.236/trunk@32921 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:40:41 +00:00
alecf%netscape.com
38c264dc74 include the right CID file
git-svn-id: svn://10.0.0.236/trunk@32920 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:38:20 +00:00
mcafee%netscape.com
0df73ec598 Looks like liblocalmail became a component, removing it from the link line.
git-svn-id: svn://10.0.0.236/trunk@32919 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:37:04 +00:00
bienvenu%netscape.com
366ad15bae fix build bustage
git-svn-id: svn://10.0.0.236/trunk@32918 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:32:31 +00:00
alecf%netscape.com
4ae56ead0a oops, trailing semicolon
git-svn-id: svn://10.0.0.236/trunk@32917 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:31:10 +00:00
alecf%netscape.com
c68af1f705 IDL-ify three more interfaces
git-svn-id: svn://10.0.0.236/trunk@32916 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:30:01 +00:00
bienvenu%netscape.com
01d76c68b5 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@32915 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:24:06 +00:00
alecf%netscape.com
7386dfda61 remove useless IDL file
git-svn-id: svn://10.0.0.236/trunk@32914 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:19:20 +00:00
bienvenu%netscape.com
274ea0802f fix build bustage
git-svn-id: svn://10.0.0.236/trunk@32913 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:08:15 +00:00
alecf%netscape.com
b2898f19d3 remove useless nsIMsg.h
git-svn-id: svn://10.0.0.236/trunk@32912 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 06:04:43 +00:00
alecf%netscape.com
eaf90f5247 API change GetUserName -> GetUsername
git-svn-id: svn://10.0.0.236/trunk@32911 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:54:06 +00:00
alecf%netscape.com
637bf8cbd4 API change - GetUserName -> GetUsername
git-svn-id: svn://10.0.0.236/trunk@32910 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:51:24 +00:00
bienvenu%netscape.com
956ac1ae96 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@32909 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:47:52 +00:00
alecf%netscape.com
83ede1c3cb API change - Get/SetUserName -> Get/SetUsername
git-svn-id: svn://10.0.0.236/trunk@32908 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:47:28 +00:00
alecf%netscape.com
6e661fd1e5 API name change
git-svn-id: svn://10.0.0.236/trunk@32907 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:43:30 +00:00
alecf%netscape.com
1d7c7f46f2 stop exporting generated files
git-svn-id: svn://10.0.0.236/trunk@32906 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:38:50 +00:00
bienvenu%netscape.com
8113ea6c5a get filter stuff linking
git-svn-id: svn://10.0.0.236/trunk@32905 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:36:13 +00:00
alecf%netscape.com
215d241d04 rename GetUserName -> GetUsername because Win32 substitutes all GetUserName's with GetUserNameA
git-svn-id: svn://10.0.0.236/trunk@32904 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:36:10 +00:00
alecf%netscape.com
b86cd0452a remove this useless header file
git-svn-id: svn://10.0.0.236/trunk@32903 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:30:16 +00:00
alecf%netscape.com
582a9185ae add CIDs from interface files
git-svn-id: svn://10.0.0.236/trunk@32902 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:23:22 +00:00
alecf%netscape.com
29be124720 add component URLs to all our components so they are now scriptable
git-svn-id: svn://10.0.0.236/trunk@32901 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:23:08 +00:00
alecf%netscape.com
cd489ad8c5 rev these interfaces
add "scriptable" attribute to all interfaces
fix some bogus IIDs
redeclare some stuff in IDL that wasn't declared before


git-svn-id: svn://10.0.0.236/trunk@32900 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:19:55 +00:00
alecf%netscape.com
31d7890554 IDLify this interface - had to change char* to const char*
git-svn-id: svn://10.0.0.236/trunk@32899 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:19:02 +00:00
bruce%cybersight.com
d4e8e106ad 'friend class' instead of 'friend' .. HP-UX's aCC requires this.
git-svn-id: svn://10.0.0.236/trunk@32898 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:18:59 +00:00
bruce%cybersight.com
ee1b4aecf8 HP-UX's aCC compiler requires main() to return int.
git-svn-id: svn://10.0.0.236/trunk@32897 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:17:27 +00:00
bruce%cybersight.com
2262015b95 main() must return int for HP-UX's aCC compiler.
git-svn-id: svn://10.0.0.236/trunk@32896 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:14:57 +00:00
bruce%cybersight.com
6df9b5515f Add line feed on last line for native unix compilers.
git-svn-id: svn://10.0.0.236/trunk@32895 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:13:32 +00:00
bruce%cybersight.com
3980522bcc Fix a small memory leak.
git-svn-id: svn://10.0.0.236/trunk@32894 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:12:12 +00:00
bienvenu%netscape.com
d948bc1de7 add GetPriority
git-svn-id: svn://10.0.0.236/trunk@32893 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 05:09:00 +00:00
alecf%netscape.com
1e2082a55c finish IDL-ifying these interfaces
Also stop caching the local mail directory in the pop3 sink and instead ask for it on demand from the nsIMsgIncomingServer


git-svn-id: svn://10.0.0.236/trunk@32892 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:56:53 +00:00
alecf%netscape.com
4c209b88a6 remove unnecessary windows-specific code
git-svn-id: svn://10.0.0.236/trunk@32891 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:55:40 +00:00
alecf%netscape.com
b6a9d43c58 fix these asserts so that we know which variable is bad
git-svn-id: svn://10.0.0.236/trunk@32890 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:55:10 +00:00
alecf%netscape.com
d120241f1f IDL-ify these interfaces
move CIDs into nsMsgLocalCID


git-svn-id: svn://10.0.0.236/trunk@32889 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:53:32 +00:00
alecf%netscape.com
241968b8ac IDL-ify this interface
had to make nsFileSpec non-const for now


git-svn-id: svn://10.0.0.236/trunk@32888 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:51:20 +00:00
alecf%netscape.com
a5732710d0 include the CID file because CIDs are going away from interfaces
git-svn-id: svn://10.0.0.236/trunk@32887 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:47:13 +00:00
bienvenu%netscape.com
9bf0b9cc22 add GetPriority method
git-svn-id: svn://10.0.0.236/trunk@32886 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:40:52 +00:00
putterman%netscape.com
b73c3f375a Remove images from threadPane to speed up.
git-svn-id: svn://10.0.0.236/trunk@32885 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:40:41 +00:00
briano%netscape.com
c5c63ae38f Put component .a files in the right place.
git-svn-id: svn://10.0.0.236/trunk@32884 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:25:42 +00:00
dp%netscape.com
fbfb36b38c Fixing tests to link with components/libraptorhtml.so. This aint the right thing. The test should be modified to use the componentmanager to get to the object
git-svn-id: svn://10.0.0.236/trunk@32883 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:21:30 +00:00
sfraser%netscape.com
86400388d0 Fix for bug 4051 -- with large memory allocation, quit on launch. Was a numeric overflow in the memory manager initialization.
git-svn-id: svn://10.0.0.236/trunk@32882 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:12:22 +00:00
sfraser%netscape.com
c084b125b6 Add Find, FindNext, and RunUnitTest calls.
git-svn-id: svn://10.0.0.236/trunk@32881 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:10:41 +00:00
sfraser%netscape.com
580f23cfb4 Add unit test call to nsIEditor, and implement it in nsText- and nsHTMLEditors.
git-svn-id: svn://10.0.0.236/trunk@32880 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:10:04 +00:00
sfraser%netscape.com
e35dabfe6c Remove the old key code function, and call the new unit test routine
git-svn-id: svn://10.0.0.236/trunk@32879 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:08:59 +00:00
sfraser%netscape.com
47ef8f5d66 Add Find, Find Next, and Unit Test menu items
git-svn-id: svn://10.0.0.236/trunk@32878 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:08:11 +00:00
sfraser%netscape.com
0126a0d7da Change dedent to outdent, and alignpopup to align.
git-svn-id: svn://10.0.0.236/trunk@32877 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:06:54 +00:00
sfraser%netscape.com
0b4fb25a6c Fix the page title
git-svn-id: svn://10.0.0.236/trunk@32876 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:06:17 +00:00
cmanske%netscape.com
d636aa3f93 Changed ED_AlignPopup.gif to ED_Alig.gif in makefiles
git-svn-id: svn://10.0.0.236/trunk@32875 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:04:02 +00:00
leaf%mozilla.org
4e77af1360 fixing -kb flag
git-svn-id: svn://10.0.0.236/trunk@32874 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 04:01:08 +00:00
sfraser%netscape.com
b52cf7a2d2 Add page titles, and white background through style.
git-svn-id: svn://10.0.0.236/trunk@32873 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:56:07 +00:00
cmanske%netscape.com
40995de196 Readding gifs with -kb
git-svn-id: svn://10.0.0.236/trunk@32872 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:48:52 +00:00
alecf%netscape.com
81f21fb3d3 fix memory leak
git-svn-id: svn://10.0.0.236/trunk@32871 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:48:37 +00:00
bienvenu%netscape.com
6dbcf00c03 add exports for search adaptor
git-svn-id: svn://10.0.0.236/trunk@32870 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:47:43 +00:00
cmanske%netscape.com
dfaf135e8c Removing gifs not checked in with -kb
git-svn-id: svn://10.0.0.236/trunk@32869 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:47:05 +00:00
cmanske%netscape.com
7dd52e699b Removing gif not checked in with -kb
git-svn-id: svn://10.0.0.236/trunk@32868 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:45:36 +00:00
alecf%netscape.com
9f85645497 fix some leaks by using nsXPIDLCString
git-svn-id: svn://10.0.0.236/trunk@32867 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:43:52 +00:00
bienvenu%netscape.com
ac017fdaa8 d'oh, cpp files
git-svn-id: svn://10.0.0.236/trunk@32866 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:43:43 +00:00
sfraser%netscape.com
70eb047d5c File Removed.
git-svn-id: svn://10.0.0.236/trunk@32865 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:43:02 +00:00
sfraser%netscape.com
8ee2ca49aa First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32864 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:42:49 +00:00
sfraser%netscape.com
3e4a97652b Fix -kb flag
git-svn-id: svn://10.0.0.236/trunk@32863 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:40:22 +00:00
jdunn%netscape.com
b17ebf8e4c backing out my change to LIBS_DIR... this will get the tests building again
git-svn-id: svn://10.0.0.236/trunk@32862 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:35:52 +00:00
bienvenu%netscape.com
499fa8012f fix unix build problem
git-svn-id: svn://10.0.0.236/trunk@32861 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:33:12 +00:00
sspitzer%netscape.com
43bbc4ab19 fix build bustage on UNIX
git-svn-id: svn://10.0.0.236/trunk@32860 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:31:25 +00:00
sspitzer%netscape.com
94548f7847 fix UNIX build bustage
git-svn-id: svn://10.0.0.236/trunk@32859 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:30:33 +00:00
blizzard%redhat.com
df93e5b409 start breaking out widgets into their own classes
git-svn-id: svn://10.0.0.236/trunk@32858 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:26:18 +00:00
bienvenu%netscape.com
1af0d39200 add export and new objs
git-svn-id: svn://10.0.0.236/trunk@32857 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 03:25:01 +00:00
jdunn%netscape.com
67de40dbf5 Add AIX/ppc source files for compiling
git-svn-id: svn://10.0.0.236/trunk@32856 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:56:47 +00:00
jdunn%netscape.com
7db211aa5c xptcall files for PowerPC/POWER/POWER2 architecture for AIX
git-svn-id: svn://10.0.0.236/trunk@32855 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:56:03 +00:00
sspitzer%netscape.com
c2787101ae remove unnecessary crap
git-svn-id: svn://10.0.0.236/trunk@32854 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:50:46 +00:00
dp%netscape.com
c8c3ae6671 Fixing tests by linking in a component dll raptorhtml
git-svn-id: svn://10.0.0.236/trunk@32853 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:46:26 +00:00
sspitzer%netscape.com
0392492c8e fixed this test to go through the component manager. turn it back on.
git-svn-id: svn://10.0.0.236/trunk@32852 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:41:16 +00:00
ramiro%netscape.com
0896868259 Remove these from the unix build to reduce the evil possibility of a fork.
git-svn-id: svn://10.0.0.236/trunk@32851 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:31:44 +00:00
sspitzer%netscape.com
7824659ae2 commenting out tests until we get them to work
git-svn-id: svn://10.0.0.236/trunk@32850 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:25:56 +00:00
slamm%netscape.com
35aa96cf75 Use absolute path for link in sidebar panel.
git-svn-id: svn://10.0.0.236/trunk@32849 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:18:19 +00:00
sspitzer%netscape.com
a95a637288 fix UNIX build bustage
git-svn-id: svn://10.0.0.236/trunk@32847 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 02:04:41 +00:00
sspitzer%netscape.com
90776e45b2 fix UNIX build bustage
git-svn-id: svn://10.0.0.236/trunk@32846 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:52:34 +00:00
akkana%netscape.com
e742bedf03 Require pref headers now
git-svn-id: svn://10.0.0.236/trunk@32845 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:46:06 +00:00
sspitzer%netscape.com
5d502b0735 fix the makefile. looks like this test will need to be worked on to
get it to link.  commenting out of build for now.


git-svn-id: svn://10.0.0.236/trunk@32844 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:46:01 +00:00
bienvenu%netscape.com
90ae0652bb fix build bustage by adding prefs include
git-svn-id: svn://10.0.0.236/trunk@32843 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:45:27 +00:00
sspitzer%netscape.com
18fad49073 don't need to do this. back it out.
git-svn-id: svn://10.0.0.236/trunk@32842 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:41:47 +00:00
rjc%netscape.com
823d8b28af Add translation button option to browser toolbar.
git-svn-id: svn://10.0.0.236/trunk@32841 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:27:48 +00:00
mcmullen%netscape.com
0b24073733 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32840 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:27:31 +00:00
slamm%netscape.com
24403c35b6 Put "C" links back. People want them.
git-svn-id: svn://10.0.0.236/trunk@32839 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:26:56 +00:00
sspitzer%netscape.com
66b2feeaba fix UNIX build bustage. we will still have runtime bustage, but I'll fix that
next


git-svn-id: svn://10.0.0.236/trunk@32837 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:22:14 +00:00
jj%netscape.com
fe61ced7bb updated version to M7 in Finder's get info string (tip)
git-svn-id: svn://10.0.0.236/trunk@32835 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:17:55 +00:00
mcafee%netscape.com
d7d4ac5401 There is no tests directory here.
git-svn-id: svn://10.0.0.236/trunk@32833 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:11:39 +00:00
mcafee%netscape.com
ff327d82b9 Some code wasn't ifdef'd for DOING_FILTERS properly. a=bienvenu
git-svn-id: svn://10.0.0.236/trunk@32832 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:07:24 +00:00
sspitzer%netscape.com
9b14315a11 fix unix build breakage
git-svn-id: svn://10.0.0.236/trunk@32831 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 01:06:51 +00:00
mcafee%netscape.com
e01c4bdb2b -lraptorhtml is a component now, don't link with it.
git-svn-id: svn://10.0.0.236/trunk@32830 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:55:09 +00:00
bienvenu%netscape.com
18e3b3048a try to fix unix build bustage
git-svn-id: svn://10.0.0.236/trunk@32829 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:52:18 +00:00
rjc%netscape.com
c40c66fe3d Enabled language translation menu items.
git-svn-id: svn://10.0.0.236/trunk@32828 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:47:58 +00:00
sspitzer%netscape.com
5671027b87 fix unix build bustage
git-svn-id: svn://10.0.0.236/trunk@32826 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:24:49 +00:00
slamm%netscape.com
a0e042f38c Only refresh sidebar panel every 5 minutes.
git-svn-id: svn://10.0.0.236/trunk@32825 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:22:02 +00:00
akkana%netscape.com
156d763247 Insert / Paste as Quotation.
git-svn-id: svn://10.0.0.236/trunk@32824 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:08:15 +00:00
slamm%netscape.com
e8fdf841dd Use static pages for tinderbox instead of scripts. Fix for 7091. Approved by chofmann.
git-svn-id: svn://10.0.0.236/trunk@32823 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:07:06 +00:00
sfraser%netscape.com
af6ac5dfd1 Add nsAOLCiter.cpp and nsInternetCiter.cpp for akkana.
git-svn-id: svn://10.0.0.236/trunk@32822 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:04:31 +00:00
bienvenu%netscape.com
e7490b6b23 more work on search and filters
git-svn-id: svn://10.0.0.236/trunk@32821 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:04:10 +00:00
mcmullen%netscape.com
0c0cedbbc6 Set switches to prevent whining.
git-svn-id: svn://10.0.0.236/trunk@32820 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 00:00:38 +00:00
peterl%netscape.com
a2fae0d329 tweaks to css loader handling
git-svn-id: svn://10.0.0.236/trunk@32819 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:59:00 +00:00
peterl%netscape.com
5595317476 use css loader to load css sheets
better css handling


git-svn-id: svn://10.0.0.236/trunk@32818 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:58:06 +00:00
bienvenu%netscape.com
2e0166ad71 fix memory leaks and problem with stale msf files after marking read via reading a msg
git-svn-id: svn://10.0.0.236/trunk@32817 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:57:21 +00:00
peterl%netscape.com
b03385d1b8 fixed ref counting of global atoms
git-svn-id: svn://10.0.0.236/trunk@32816 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:56:57 +00:00
bienvenu%netscape.com
c2b91a445c changes for mail filters, including setting root folder for server
git-svn-id: svn://10.0.0.236/trunk@32815 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:56:21 +00:00
peterl%netscape.com
1fb18ff43d sync to nsIStyledContent API change
git-svn-id: svn://10.0.0.236/trunk@32814 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:55:49 +00:00
peterl%netscape.com
648d964b00 changed cascading code to include rules from children
added rule cascade per media


git-svn-id: svn://10.0.0.236/trunk@32813 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:55:12 +00:00
peterl%netscape.com
ac26eb5e97 better handling of CR/LF after escapes
git-svn-id: svn://10.0.0.236/trunk@32812 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:53:39 +00:00
peterl%netscape.com
9f25668214 better handling of bad @imports
git-svn-id: svn://10.0.0.236/trunk@32811 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:53:16 +00:00
peterl%netscape.com
6402470144 added load agent sheet
added support for non-blocking inline sheets


git-svn-id: svn://10.0.0.236/trunk@32810 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:52:37 +00:00
bienvenu%netscape.com
4a1940cef2 changes for mail filters
git-svn-id: svn://10.0.0.236/trunk@32809 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:51:53 +00:00
peterl%netscape.com
e487e20991 added Clearmedia
git-svn-id: svn://10.0.0.236/trunk@32808 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:51:42 +00:00
peterl%netscape.com
ca3b3a5c45 added drop doc reference
added load agent sheet
added usage notes


git-svn-id: svn://10.0.0.236/trunk@32807 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:51:25 +00:00
peterl%netscape.com
47dac71798 drop doc reference on CSS loader
git-svn-id: svn://10.0.0.236/trunk@32806 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:50:26 +00:00
peterl%netscape.com
a47fc826f9 made inline style sheet non-blocking
fixed processing of link type ("rel")
fixed handling of mime type


git-svn-id: svn://10.0.0.236/trunk@32805 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:49:33 +00:00
peterl%netscape.com
2f48852462 prepped MapAttributeInto for use with table cells too
git-svn-id: svn://10.0.0.236/trunk@32804 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:48:19 +00:00
putterman%netscape.com
4959bb80c8 Add treecol style and add with tag to columns.
git-svn-id: svn://10.0.0.236/trunk@32803 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:47:33 +00:00
peterl%netscape.com
57eef2000d sync to nsIStyledContent API change
add table style rule to table cell


git-svn-id: svn://10.0.0.236/trunk@32802 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:47:19 +00:00
putterman%netscape.com
09dc1f3a12 More work on DeleteFolders.
git-svn-id: svn://10.0.0.236/trunk@32801 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:47:01 +00:00
peterl%netscape.com
438c25b48d sync to nsIStyledContent API change
git-svn-id: svn://10.0.0.236/trunk@32800 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:46:45 +00:00
putterman%netscape.com
bb9287a4c6 Speed up peqWithParameters.
git-svn-id: svn://10.0.0.236/trunk@32799 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:46:11 +00:00
peterl%netscape.com
8e305ff705 use CSS loader to load ua.css
git-svn-id: svn://10.0.0.236/trunk@32798 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:45:37 +00:00
putterman%netscape.com
35518dc271 Add methods for deleting folders.
git-svn-id: svn://10.0.0.236/trunk@32797 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:45:03 +00:00
peterl%netscape.com
56971cfe55 added assertion to resolve style
git-svn-id: svn://10.0.0.236/trunk@32796 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:44:56 +00:00
briano%netscape.com
fcb08ca6c5 Automated update
git-svn-id: svn://10.0.0.236/trunk@32795 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:44:47 +00:00
peterl%netscape.com
2c1e117763 changed style rule API to use array
git-svn-id: svn://10.0.0.236/trunk@32794 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:44:32 +00:00
peterl%netscape.com
65253c8003 switch to CSS loader for loading CSS sheets
fixed mime type processing


git-svn-id: svn://10.0.0.236/trunk@32793 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:43:40 +00:00
peterl%netscape.com
ecf990dfb9 tweaks to CSS loader usage
git-svn-id: svn://10.0.0.236/trunk@32792 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:42:29 +00:00
peterl%netscape.com
4d494b07ec made Equals() test ref & search too
git-svn-id: svn://10.0.0.236/trunk@32791 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:41:22 +00:00
sspitzer%netscape.com
ca3c4a9b18 build tests and mailnews by default now.
git-svn-id: svn://10.0.0.236/trunk@32790 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:34:47 +00:00
briano%netscape.com
96d4e74d3f Automated update
git-svn-id: svn://10.0.0.236/trunk@32789 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:29:47 +00:00
jdunn%netscape.com
51a88ee945 for AIX we need to use the C compiler for the assembler - this is
for the xptcall stuff


git-svn-id: svn://10.0.0.236/trunk@32788 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:26:31 +00:00
beard%netscape.com
714023e638 changed access paths
git-svn-id: svn://10.0.0.236/trunk@32787 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:21:40 +00:00
beard%netscape.com
01c730055a bumped version to 1.0d5
git-svn-id: svn://10.0.0.236/trunk@32786 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:20:41 +00:00
beard%netscape.com
a6619dfacb added <stdio.h> since xpt_xdr.h no longer #includes nspr includes.
git-svn-id: svn://10.0.0.236/trunk@32785 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:20:24 +00:00
beard%netscape.com
dd78165338 removed unnecessary NSPR include files
git-svn-id: svn://10.0.0.236/trunk@32784 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:20:23 +00:00
beard%netscape.com
6a2be890f5 added prlog.h, prprf.h since since xpt_xdr.h no longer includes nspr headers.
git-svn-id: svn://10.0.0.236/trunk@32783 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:20:22 +00:00
sspitzer%netscape.com
18e0727f96 cvs ignorage
git-svn-id: svn://10.0.0.236/trunk@32782 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:19:18 +00:00
beard%netscape.com
e7a351adf6 linker now generates aliases to headers in project output directory.
git-svn-id: svn://10.0.0.236/trunk@32781 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:17:34 +00:00
beard%netscape.com
75f674aa06 header files are now linkable.
git-svn-id: svn://10.0.0.236/trunk@32780 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:17:31 +00:00
beard%netscape.com
6bfedcbca8 now compiles header files into the project data folder.
git-svn-id: svn://10.0.0.236/trunk@32779 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:17:28 +00:00
akkana%netscape.com
3ec15b44de Add Internet and AOL style citers
git-svn-id: svn://10.0.0.236/trunk@32778 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:14:05 +00:00
akkana%netscape.com
b1ae4e654f Add nsICiter, for mail quoting
git-svn-id: svn://10.0.0.236/trunk@32777 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:13:03 +00:00
mscott%netscape.com
661a028cef Quiet noisy printf...
git-svn-id: svn://10.0.0.236/trunk@32776 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:05:30 +00:00
mscott%netscape.com
0e12f9337f Bug #6722 --> replace PR_Open with nsFileSpec/nsFileStream.
git-svn-id: svn://10.0.0.236/trunk@32775 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 23:01:23 +00:00
mscott%netscape.com
aed53619d9 Bug 6722 --> replace PR_Open with nsFileSpec/nsFileStream.
git-svn-id: svn://10.0.0.236/trunk@32774 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:59:26 +00:00
mscott%netscape.com
1ce95e8e42 fix mismatched memory frees *again*
git-svn-id: svn://10.0.0.236/trunk@32773 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:57:02 +00:00
mcafee%netscape.com
3b9aa5a506 Fixing solaris bustage, link with the c++ compiler.
git-svn-id: svn://10.0.0.236/trunk@32772 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:56:26 +00:00
bruce%cybersight.com
9050b667f4 Fix a free memory mismatch.
git-svn-id: svn://10.0.0.236/trunk@32771 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:53:12 +00:00
mscott%netscape.com
3b8f573139 Fix mismatched memory free. Bug #6722 --> replace PR_Open use with nsFileSpec & nsFileStream.
git-svn-id: svn://10.0.0.236/trunk@32770 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:53:03 +00:00
morse%netscape.com
0d2fa7b421 added modal dialogs for wallet
git-svn-id: svn://10.0.0.236/trunk@32769 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:50:49 +00:00
briano%netscape.com
e49dc3916a Automated update
git-svn-id: svn://10.0.0.236/trunk@32768 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:49:35 +00:00
mscott%netscape.com
1c75203f0b Fix memory leak of mailbox struct.
git-svn-id: svn://10.0.0.236/trunk@32767 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:49:09 +00:00
briano%netscape.com
9ecb48761a Eliminated the hard-coded NSPR version number.
git-svn-id: svn://10.0.0.236/trunk@32766 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:49:03 +00:00
gordon%netscape.com
3694a3a15d Added files for Wallet and Signon.
git-svn-id: svn://10.0.0.236/trunk@32765 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:46:55 +00:00
jfrancis%netscape.com
54b66fca14 fix for bug 5979
git-svn-id: svn://10.0.0.236/trunk@32764 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:44:08 +00:00
mscott%netscape.com
38e23a1ddf Fix uninitialized memory read.
git-svn-id: svn://10.0.0.236/trunk@32763 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:43:01 +00:00
morse%netscape.com
4b29935cdf added modal dialogs for wallet
git-svn-id: svn://10.0.0.236/trunk@32762 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:42:49 +00:00
jdunn%netscape.com
dfe1966918 Fixing link/runtime problem with certain platforms. Linking against the 'libs'
directory is forcing AIX to link statically instead of dynamically.


git-svn-id: svn://10.0.0.236/trunk@32761 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:40:14 +00:00
cmanske%netscape.com
b431e666a0 Fixed missing do_QueryInterface that busted Linux build
git-svn-id: svn://10.0.0.236/trunk@32760 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:30:50 +00:00
rogerl%netscape.com
4d597b6ebd Bug #6359 and other changes motivated by Waldemar's specification.
git-svn-id: svn://10.0.0.236/trunk@32759 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:28:32 +00:00
jfrancis%netscape.com
4c900f0761 fixed dom range gravity error
git-svn-id: svn://10.0.0.236/trunk@32758 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:28:04 +00:00
cbegle%netscape.com
4e49683cd7 adding more javascript language tests
git-svn-id: svn://10.0.0.236/trunk@32756 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:24:04 +00:00
karnaze%netscape.com
703e798b06 Rewrote DistributeRemainingSpace a 2nd time and added compat mode.
bug 6068, 6933. nsTableRowGroupFrame::CalculateRowHeights - changed row spans to consider
top and bottom margins during height calculations. Calculations using percentages ensure that the sum of
rows sum exactly to excess.

bug 6404 BasicTableLayoutStrategy::BalanceColumnsConstrained cols in span other than 1st col was
not getting additional allocations from cell. ::DistributeRemainSpace uses max width of col
instead of max effective width. Also added checks for negative value during percentage calculations.


git-svn-id: svn://10.0.0.236/trunk@32755 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:22:23 +00:00
cbegle%netscape.com
f035e2c00f adding more javascript language tests.
git-svn-id: svn://10.0.0.236/trunk@32754 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:22:06 +00:00
karnaze%netscape.com
abd5271465 bug 7083, nsFormFrame doesn't involve netlib if the action is not specified
git-svn-id: svn://10.0.0.236/trunk@32753 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:20:53 +00:00
briano%netscape.com
7a9fe21323 Fix for NO_STATIC_LIB builds.
git-svn-id: svn://10.0.0.236/trunk@32752 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:20:12 +00:00
karnaze%netscape.com
3fc2f46a67 new regression tests
git-svn-id: svn://10.0.0.236/trunk@32751 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:19:02 +00:00
briano%netscape.com
96b6460762 Fix for the case where NSPR is built separately and isn't listed in LD_LIBRARY_PATH.
git-svn-id: svn://10.0.0.236/trunk@32750 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:18:37 +00:00
cbegle%netscape.com
0870f2480f adding new javascript tests - liveconnect
git-svn-id: svn://10.0.0.236/trunk@32749 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:14:51 +00:00
cmanske%netscape.com
17fe0f273b Changed font face popup to use menu until popup XUL window works
git-svn-id: svn://10.0.0.236/trunk@32747 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:11:11 +00:00
erik%netscape.com
35ded4bb12 Added manual registration for EventQueue and PersistentProperties. Sigh.
git-svn-id: svn://10.0.0.236/trunk@32746 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:08:27 +00:00
cbegle%netscape.com
b8cc57c616 adding new tests for the javascript language - liveconnect.
git-svn-id: svn://10.0.0.236/trunk@32745 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:07:01 +00:00
erik%netscape.com
1a2da74509 Added NULL pointer checking, since netlib returns NULL even though return
value said it succeeded.


git-svn-id: svn://10.0.0.236/trunk@32744 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:06:51 +00:00
alecf%netscape.com
091ce91816 add CID to prepare for moving CIDs into the factory
git-svn-id: svn://10.0.0.236/trunk@32743 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:59:45 +00:00
jefft%netscape.com
d367eda3ef more on cached connection work - time out and number of maximum connections per host implementation; fixed delete messages not working problem; fixed crash when server disconnect the connection; inproper ref counting problem
git-svn-id: svn://10.0.0.236/trunk@32742 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:56:36 +00:00
bruce%cybersight.com
8a02d53443 Use 'friend class' rather than just 'friend' to fix potential build bustage on HP-UX
git-svn-id: svn://10.0.0.236/trunk@32741 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:55:23 +00:00
alecf%netscape.com
15d0866ebe moving CIDs out of the interface headers, so including the right factory CID files
git-svn-id: svn://10.0.0.236/trunk@32740 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:54:25 +00:00
sspitzer%netscape.com
4a0bd5377c add the cvsignorage again, and this time don't break the build.
git-svn-id: svn://10.0.0.236/trunk@32739 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:53:31 +00:00
blizzard%redhat.com
b1c6f06c80 more xlib work
git-svn-id: svn://10.0.0.236/trunk@32738 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:52:58 +00:00
jefft%netscape.com
21c8df11b9 defautl set fDeleteIsMoveToTrash to true
git-svn-id: svn://10.0.0.236/trunk@32737 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:52:54 +00:00
bruce%cybersight.com
eb44502f36 Fix a free memory mismatch hopefully.
git-svn-id: svn://10.0.0.236/trunk@32736 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:52:06 +00:00
jefft%netscape.com
9aa1d6f707 more on cached connection work - time out and number of maximum connections per host implementation
git-svn-id: svn://10.0.0.236/trunk@32735 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:51:38 +00:00
cbegle%netscape.com
742c46d624 adding more javascript language tests to the repository.
git-svn-id: svn://10.0.0.236/trunk@32734 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:48:43 +00:00
sspitzer%netscape.com
91ea168aa3 do the ignore again. this time, without breaking the build.
git-svn-id: svn://10.0.0.236/trunk@32733 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:48:42 +00:00
jefft%netscape.com
4972001b1d use NS_IF_ADDREF & NS_IF_RELEASE instead of NS_ADDREF & NS_RELEASE in case of null mURL & mProxy
git-svn-id: svn://10.0.0.236/trunk@32732 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:46:42 +00:00
jefft%netscape.com
347046e38e make sure stream Wrire() returns correct error code when the stream is closed
git-svn-id: svn://10.0.0.236/trunk@32731 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:45:20 +00:00
sspitzer%netscape.com
d6bab07673 turn DEBUG_sspitzer into DEBUG_NEWS.
use PR_sscanf instead of sscanf.
add more debugging printfs


git-svn-id: svn://10.0.0.236/trunk@32730 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:45:19 +00:00
jefft%netscape.com
c2d6d491cb make sure net_flush_sockstub_data() return correct error code
git-svn-id: svn://10.0.0.236/trunk@32729 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:43:44 +00:00
sspitzer%netscape.com
7c5a298cba don't compare url (and prefs) to nsnull. check that !url (and !prefs) is true
git-svn-id: svn://10.0.0.236/trunk@32728 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:43:42 +00:00
joki%netscape.com
dc86961440 Beginnings of JavaScript security bits.
git-svn-id: svn://10.0.0.236/trunk@32727 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:43:28 +00:00
cmanske%netscape.com
eaea155fe6 Continued UI work: Spell checker fixes, toolbar improvements, popup menus implemented for paragraph style, font face and color, setting font color test UI, etc.
git-svn-id: svn://10.0.0.236/trunk@32726 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:40:51 +00:00
cmanske%netscape.com
6812ea4767 Added editor methods for setting body attributes and background color. Removed getFirstMisspelled word - not needed
git-svn-id: svn://10.0.0.236/trunk@32725 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:40:34 +00:00
cmanske%netscape.com
19afc54e3f Removed Windows-specific default directory string from prefs
git-svn-id: svn://10.0.0.236/trunk@32724 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:39:59 +00:00
cbegle%netscape.com
1bf49d671c adding more javascript language tests to the repository.
git-svn-id: svn://10.0.0.236/trunk@32723 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:37:13 +00:00
sspitzer%netscape.com
bfc1a2bd1b the new subscribe xul and associated files
git-svn-id: svn://10.0.0.236/trunk@32722 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:36:29 +00:00
dbragg%netscape.com
f4b1dcb59d Added *aResult for status values per XPCOM
git-svn-id: svn://10.0.0.236/trunk@32721 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:22:58 +00:00
cbegle%netscape.com
8e3e85b033 Adding ecma 2 tests to the repository.
git-svn-id: svn://10.0.0.236/trunk@32720 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:22:57 +00:00
dbragg%netscape.com
05424febc3 Changed DEPTH
git-svn-id: svn://10.0.0.236/trunk@32719 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:22:15 +00:00
dbragg%netscape.com
8186a4bde5 Added *aResult for result values passed as parameters rather than straight returns.
git-svn-id: svn://10.0.0.236/trunk@32718 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:21:37 +00:00
dbragg%netscape.com
a6a6569fc1 Changed the depth to take into account the parent profile directory.
git-svn-id: svn://10.0.0.236/trunk@32717 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:20:45 +00:00
dbragg%netscape.com
6bb3716bad Top level pref migration tool makefile
git-svn-id: svn://10.0.0.236/trunk@32716 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:19:53 +00:00
mcafee%netscape.com
b44e749d1f Removing unnecessary mcom_db.h include.
git-svn-id: svn://10.0.0.236/trunk@32715 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:18:51 +00:00
kin%netscape.com
85e00a320c Disabled HACKForceRedraw() calls. Added calls to nsIViewManager::BeginUpdateViewBatch() and nsIViewManager::EndUpdateViewBatch().
git-svn-id: svn://10.0.0.236/trunk@32714 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:18:12 +00:00
kin%netscape.com
cf9cdb1bd0 Added support for nsITransactionListener.
Cleaned up includes in header files.


git-svn-id: svn://10.0.0.236/trunk@32713 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:16:25 +00:00
kin%netscape.com
7b98a8d777 Initial checkin of file.
git-svn-id: svn://10.0.0.236/trunk@32712 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:14:32 +00:00
pinkerton%netscape.com
a8f72852cc missing [] on delete of internal array in operator=.
git-svn-id: svn://10.0.0.236/trunk@32711 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:13:29 +00:00
kin%netscape.com
18516ebae7 Added implementation of BeginUpdateViewBatch() and
EndUpdateViewBatch() to nsIViewManager and nsViewManager.


git-svn-id: svn://10.0.0.236/trunk@32710 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:13:06 +00:00
pinkerton%netscape.com
fc7ff68029 fix GetChildren() to not copy the child list and to use a proper enumerator.
git-svn-id: svn://10.0.0.236/trunk@32709 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:12:54 +00:00
pinkerton%netscape.com
e6fc33339b new files for multiple d&d apis
git-svn-id: svn://10.0.0.236/trunk@32708 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:10:23 +00:00
pinkerton%netscape.com
708238d28c updated to new multiple-item d&d apis.
git-svn-id: svn://10.0.0.236/trunk@32707 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:08:26 +00:00
pinkerton%netscape.com
ef9d28c245 updated to new multiple item d&d api's.
git-svn-id: svn://10.0.0.236/trunk@32706 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:08:21 +00:00
pinkerton%netscape.com
651d8eb4ff new multiple-item drag and drop apis.
git-svn-id: svn://10.0.0.236/trunk@32705 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:08:14 +00:00
leaf%mozilla.org
6e52e8f88b forgot the xpcom .cvsignore file, added it.
git-svn-id: svn://10.0.0.236/trunk@32704 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:06:41 +00:00
rpotts%netscape.com
67cddc9e2a Initialized m_Request to nsnull to prevent a crash durng destruction - it was trying to free uninitialized memory :-(
git-svn-id: svn://10.0.0.236/trunk@32703 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:04:11 +00:00
valeski%netscape.com
9c7d7f0526 removed #include "nsXPComCIID.h" as it is no longer pertinent
git-svn-id: svn://10.0.0.236/trunk@32702 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 20:51:19 +00:00
norris%netscape.com
8eccc51ac0 Fix bug 6705.
git-svn-id: svn://10.0.0.236/trunk@32701 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:55:51 +00:00
norris%netscape.com
3f184135b9 Remove class path for merging into a single JAR file.
git-svn-id: svn://10.0.0.236/trunk@32700 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:52:40 +00:00
norris%netscape.com
4ac0b82248 fix node property printing
git-svn-id: svn://10.0.0.236/trunk@32699 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:48:45 +00:00
norris%netscape.com
9ed83503b9 clean up formatting
git-svn-id: svn://10.0.0.236/trunk@32698 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:48:02 +00:00
mcmullen%netscape.com
49f57b19e4 Headers settings did not have the linker turned on!
git-svn-id: svn://10.0.0.236/trunk@32697 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:36:12 +00:00
mcmullen%netscape.com
a33b38ec39 Restored lines that were deleted erroneously
git-svn-id: svn://10.0.0.236/trunk@32696 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:15:23 +00:00
sspitzer%netscape.com
ca7e198ba7 doh!
git-svn-id: svn://10.0.0.236/trunk@32695 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:12:35 +00:00
sspitzer%netscape.com
3209450c20 remove this to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@32694 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:03:16 +00:00
sspitzer%netscape.com
04f4224977 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@32693 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 19:01:27 +00:00
sspitzer%netscape.com
c5a72de283 remove this, causing build bustage
git-svn-id: svn://10.0.0.236/trunk@32692 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 18:56:19 +00:00
slamm%netscape.com
e4d6de7add Update Sidebar Flash and Panel Content when new data arrives.
git-svn-id: svn://10.0.0.236/trunk@32691 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 18:51:47 +00:00
sspitzer%netscape.com
fae129ad83 more cvsignorage for the xpcom2 landing
git-svn-id: svn://10.0.0.236/trunk@32690 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 18:50:14 +00:00
slamm%netscape.com
1836d83870 Generate static pages for Sidebar Flash and Tinderbox Panel
git-svn-id: svn://10.0.0.236/trunk@32689 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 18:12:11 +00:00
sspitzer%netscape.com
0d144495bb cvs ignorage for xpcom2 landing
git-svn-id: svn://10.0.0.236/trunk@32688 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 17:51:05 +00:00
sspitzer%netscape.com
d8d2640ea6 cvs ignorage
git-svn-id: svn://10.0.0.236/trunk@32687 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 17:49:37 +00:00
sspitzer%netscape.com
e9f0137097 get smtp test to build again on UNIX
git-svn-id: svn://10.0.0.236/trunk@32686 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 17:23:25 +00:00
sspitzer%netscape.com
f3e783aa96 fix build breakage on UNIX
git-svn-id: svn://10.0.0.236/trunk@32682 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 16:19:50 +00:00
sspitzer%netscape.com
8ab72bf494 fix the news test makefiles so they build on UNIX, now that xpcom2 has
landed.  turn them back on.


git-svn-id: svn://10.0.0.236/trunk@32681 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 15:45:49 +00:00
despotdaemon%netscape.com
333442ca27 Pseudo-automatic update of changes made by dp@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32680 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 09:05:12 +00:00
gagan%netscape.com
355d2415e5 Removed nsITimer dependency.
git-svn-id: svn://10.0.0.236/trunk@32679 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 08:53:17 +00:00
dp%netscape.com
ddfb2643e7 adding services
git-svn-id: svn://10.0.0.236/trunk@32678 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 08:11:53 +00:00
dp%netscape.com
e0aba42207 Adding services
git-svn-id: svn://10.0.0.236/trunk@32677 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 08:11:36 +00:00
alecf%netscape.com
946b0ad955 smtp test is broken, comment it out for now
git-svn-id: svn://10.0.0.236/trunk@32676 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 08:11:35 +00:00
alecf%netscape.com
187f5f483b fix bustage by adding gfx/img/mozutil
git-svn-id: svn://10.0.0.236/trunk@32675 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 08:07:54 +00:00
alecf%netscape.com
74ae74ea52 disable news tests for now because we can't find XP_StringHash2
git-svn-id: svn://10.0.0.236/trunk@32674 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 08:05:57 +00:00
dp%netscape.com
b38880e3c9 Initial version
git-svn-id: svn://10.0.0.236/trunk@32673 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 08:05:08 +00:00
alecf%netscape.com
6c19103b4c fix tests by adding the right libraries
git-svn-id: svn://10.0.0.236/trunk@32672 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:56:47 +00:00
alecf%netscape.com
95fe94914a fix bustage by adding the right libraries
git-svn-id: svn://10.0.0.236/trunk@32671 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:52:14 +00:00
dp%netscape.com
3a5d687365 removing -lreg
git-svn-id: svn://10.0.0.236/trunk@32670 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:47:14 +00:00
dp%netscape.com
b83d6b6d30 Fixing tests
git-svn-id: svn://10.0.0.236/trunk@32669 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:46:01 +00:00
dp%netscape.com
655c1f04e0 removing -lreg
git-svn-id: svn://10.0.0.236/trunk@32668 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:41:15 +00:00
dp%netscape.com
c148345c5d Adding gfxMOZ_TOOLKIT and gfxps to get NS_NewTimer()
git-svn-id: svn://10.0.0.236/trunk@32667 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:30:34 +00:00
dp%netscape.com
a0c3fdf37a Adding gfx to get NS_NewTimer() and dependents
git-svn-id: svn://10.0.0.236/trunk@32666 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:29:10 +00:00
dp%netscape.com
3f90728ff4 removing -lreg
git-svn-id: svn://10.0.0.236/trunk@32665 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:16:38 +00:00
dp%netscape.com
f08ae4972b removing -lreg
git-svn-id: svn://10.0.0.236/trunk@32664 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 07:08:19 +00:00
leaf%mozilla.org
fbdf5cebe7 removing xpcom/tools/xpidl from SeaMonkeyCore pull (using the ! feature)
... get it? bang? as in "shoot me!"?


git-svn-id: svn://10.0.0.236/trunk@32663 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 06:43:13 +00:00
dp%netscape.com
187d3e7a0a Adding NSPR_LIB
git-svn-id: svn://10.0.0.236/trunk@32662 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 06:36:34 +00:00
rpotts%netscape.com
dbd00bdf86 Some fixes to get the http test case running... Fixed the handler factory to correctly return the instance. Changed to CID of the URL being created to NS_STANDARDURL_CID. Fixed a signed/unsigned crash when creating connections...
git-svn-id: svn://10.0.0.236/trunk@32661 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 06:34:44 +00:00
leaf%mozilla.org
d07ce90146 enumerating xpcom subdirs, so that we don't pull the directories
that confuse the mac build


git-svn-id: svn://10.0.0.236/trunk@32659 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 05:43:44 +00:00
mcmullen%netscape.com
5d866434a9 Use explicit paths to stop these being found in an obsolete directory (mcmullen@netscape.com)
git-svn-id: svn://10.0.0.236/trunk@32658 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 05:38:17 +00:00
dp%netscape.com
bc2119868a stdafx.h
git-svn-id: svn://10.0.0.236/trunk@32657 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 05:03:05 +00:00
donm%netscape.com
ea7463ef42 removed referecne to libreg and libraptorbase
git-svn-id: svn://10.0.0.236/trunk@32656 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 04:59:47 +00:00
dp%netscape.com
6eec8b748a adding symbol XPTI_GetInterfaceInfoManager
git-svn-id: svn://10.0.0.236/trunk@32655 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 04:54:36 +00:00
dp%netscape.com
1375f254e8 reversing previous change 'cause I added the missing to xpcom/build/dlldeps.cpp
and things work.


git-svn-id: svn://10.0.0.236/trunk@32654 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 04:43:01 +00:00
varada%netscape.com
6e7dbb1dd7 4.2 version
git-svn-id: svn://10.0.0.236/trunk@32652 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 04:25:02 +00:00
dp%netscape.com
277d0e37fa I dont have a clue why I need this. If I dont add the xptinfo.lib
to the link line, I get a undefined for _XPTI_GetInterfaceInfoManager

Some windows dude should fix this.


git-svn-id: svn://10.0.0.236/trunk@32650 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 04:16:23 +00:00
mcmullen%netscape.com
21160719fa Fix "missing from view hierarchy alert" (mcmullen@netscape.com)
git-svn-id: svn://10.0.0.236/trunk@32649 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 04:06:34 +00:00
despotdaemon%netscape.com
2bf61ac50f Pseudo-automatic update of changes made by dp@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32648 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 04:06:22 +00:00
jj%netscape.com
140a0795ca Turn on build{all} which I turned off by mistake.
git-svn-id: svn://10.0.0.236/trunk@32647 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 03:52:01 +00:00
dp%netscape.com
4e84129c48 landing xpcom20/21 branch
git-svn-id: svn://10.0.0.236/trunk@32646 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 02:16:15 +00:00
dp%netscape.com
27980027bd landing xpcom20/21 branch
git-svn-id: svn://10.0.0.236/trunk@32645 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 02:05:00 +00:00
dp%netscape.com
befa259a88 Landing xpcom20/21 branch.
git-svn-id: svn://10.0.0.236/trunk@32644 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 01:38:36 +00:00
rogerl%netscape.com
300d6f0885 Hmmm, new changes these are.
git-svn-id: svn://10.0.0.236/trunk@32641 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 01:01:07 +00:00
ducarroz%netscape.com
5bd2264bd8 fix bug 6914
git-svn-id: svn://10.0.0.236/trunk@32633 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 23:37:48 +00:00
ducarroz%netscape.com
a99ce6029c bug fix 6628
git-svn-id: svn://10.0.0.236/trunk@32632 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 23:35:39 +00:00
leaf%mozilla.org
028387ac22 Filtering out form submission in all cases, to get location bar working
for mac. This will be fixed RSN.


git-svn-id: svn://10.0.0.236/trunk@32631 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 23:25:19 +00:00
varada%netscape.com
620b516012 make file test
git-svn-id: svn://10.0.0.236/trunk@32630 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 23:17:31 +00:00
varada%netscape.com
44f9511d1e summary file
git-svn-id: svn://10.0.0.236/trunk@32629 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 23:14:40 +00:00
varada%netscape.com
4e859a3427 help files
git-svn-id: svn://10.0.0.236/trunk@32628 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 22:46:14 +00:00
rogerl%netscape.com
68589204d4 New.
git-svn-id: svn://10.0.0.236/trunk@32627 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 21:50:03 +00:00
rogerl%netscape.com
1c31755a34 JSValue changes, closing in on JSObject API. Began 'correct' semantic
implementation for various operators.


git-svn-id: svn://10.0.0.236/trunk@32626 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 21:49:40 +00:00
gagan%netscape.com
2988832256 Moved nsHTTPEnums.h to public.
git-svn-id: svn://10.0.0.236/trunk@32625 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 21:38:53 +00:00
gagan%netscape.com
5c58a69c87 Moved nsHTTPEnums from src to here.
git-svn-id: svn://10.0.0.236/trunk@32624 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 21:38:27 +00:00
gagan%netscape.com
6e9de80cdb Fixed nsIURL.h to nsIUrl.h... Thanks Andreas.
git-svn-id: svn://10.0.0.236/trunk@32623 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 21:33:23 +00:00
gagan%netscape.com
8a25c9f2a4 Changes inherited from nsIProtocolHandler. Also changed default port to 21.
git-svn-id: svn://10.0.0.236/trunk@32622 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 21:31:46 +00:00
varada%netscape.com
027e4bdeec rshell ini files
git-svn-id: svn://10.0.0.236/trunk@32613 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 21:11:00 +00:00
varada%netscape.com
631c184bac make file
git-svn-id: svn://10.0.0.236/trunk@32612 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 20:59:43 +00:00
rogerl%netscape.com
d7b7852ec3 Fixed 'continue label'
git-svn-id: svn://10.0.0.236/trunk@32611 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 20:29:12 +00:00
terry%mozilla.org
897a11c822 Fixed bug 7000 -- handle hyphens in hostnames of email addresses when
highlighting.


git-svn-id: svn://10.0.0.236/trunk@32610 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 19:52:34 +00:00
slamm%netscape.com
55e6c5cc50 Add type='content' to content iframe. Important for selection. Fix for 7033.
git-svn-id: svn://10.0.0.236/trunk@32609 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 19:52:13 +00:00
kmcclusk%netscape.com
0fc070726c patch for #bug 6934. Checkin approved by Chris Hofmann.
Added check to nsTitledButtonFrame::DisplayAltFeedback to verify the icon returned from
LoadIconImage for is not null. This will prevent aRenderingContext.DrawImage from being
passed a null aImage parameter.


git-svn-id: svn://10.0.0.236/trunk@32606 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 19:37:16 +00:00
slamm%netscape.com
562ebffbf8 Avoid implicitly defining build records.
git-svn-id: svn://10.0.0.236/trunk@32605 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 19:35:13 +00:00
terry%mozilla.org
5fc44755dd Avoid mid-air collisions (implementing a suggestion by
py8ieh=bugzilla@bath.ac.uk).


git-svn-id: svn://10.0.0.236/trunk@32602 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 19:22:31 +00:00
slamm%netscape.com
4ed80a7abf If a build is new it's 'last_status' is building.
git-svn-id: svn://10.0.0.236/trunk@32601 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 19:04:09 +00:00
slamm%netscape.com
80a62bb9ad Fix tree selector. Needed content-type header.
git-svn-id: svn://10.0.0.236/trunk@32600 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 18:15:13 +00:00
despotdaemon%netscape.com
c6f2379b56 Pseudo-automatic update of changes made by dshea@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32597 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 18:02:28 +00:00
terry%mozilla.org
c921fc5969 Fixed stupid typo.
git-svn-id: svn://10.0.0.236/trunk@32596 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 17:59:39 +00:00
valeski%netscape.com
a059dccf5d adding http's events for the nsNetModuleMgr api so necko can interract with external modules
git-svn-id: svn://10.0.0.236/trunk@32595 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 17:34:59 +00:00
valeski%netscape.com
7b7bf7e46b the base class for necko events to be used with the nsINetModuleMgr api
git-svn-id: svn://10.0.0.236/trunk@32594 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 17:29:04 +00:00
valeski%netscape.com
0cb3cc1efc added revised comment
git-svn-id: svn://10.0.0.236/trunk@32593 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 17:27:01 +00:00
varada%netscape.com
8ac1c9a419 rshell.ini changes
git-svn-id: svn://10.0.0.236/trunk@32589 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 07:42:48 +00:00
ftang%netscape.com
465fa2e874 fix bug 6740. approved by christ hofmann. reviewed by harish. This is a temp fix. ftang should move this hack out of parser after M6
git-svn-id: svn://10.0.0.236/trunk@32577 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 02:35:27 +00:00
ftang%netscape.com
3f23cb5ab3 fix bug 6740. approved by christ hofmann
git-svn-id: svn://10.0.0.236/trunk@32576 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 02:30:03 +00:00
hyatt%netscape.com
c0131df702 Better fix for 6746.
git-svn-id: svn://10.0.0.236/trunk@32561 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 00:29:55 +00:00
slamm%netscape.com
8cefe08ef9 Try again.
git-svn-id: svn://10.0.0.236/trunk@32560 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 00:20:21 +00:00
slamm%netscape.com
f73e6d2d52 Get proper quoting of who_menu javascript.
git-svn-id: svn://10.0.0.236/trunk@32559 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 00:17:46 +00:00
slamm%netscape.com
ad601d143e Add contentframe.(xul|js|css) for Sidebar and Content frames.
git-svn-id: svn://10.0.0.236/trunk@32558 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-25 00:07:50 +00:00
sspitzer%netscape.com
e29e293a08 point the start page to a page that explains how to set up your prefs
git-svn-id: svn://10.0.0.236/trunk@32553 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 23:37:57 +00:00
slamm%netscape.com
f1c786090a Finish last checkin. Put sidebar grippy.gif in res/toolbar for now.
git-svn-id: svn://10.0.0.236/trunk@32552 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 23:35:06 +00:00
sspitzer%netscape.com
e3155e4d76 fix for #6908. a=chofmann, r=mscott.
fixes the bug on mac and linux where loading news messages would cause the app to spin.


git-svn-id: svn://10.0.0.236/trunk@32551 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 23:30:04 +00:00
slamm%netscape.com
13e98335f2 Use grippy/boxes/iframes for sidebar instead of frameset. Use 790x580 as default size to make room for sidebar.
git-svn-id: svn://10.0.0.236/trunk@32550 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 23:26:23 +00:00
slamm%netscape.com
1de23c8325 Last part of fix for 6776. Check for containers properly when openening bookmarks. Previously approved by chofmann. Fix by rjc.
git-svn-id: svn://10.0.0.236/trunk@32549 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 23:25:52 +00:00
valeski%netscape.com
d33ff7bff6 added context arguments and a set headers method.
git-svn-id: svn://10.0.0.236/trunk@32547 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 22:06:12 +00:00
putterman%netscape.com
d2bdbe597b Fix for 7002. Speed up mail by commenting out call to UpdateSummaryTotals. Reviewed by
mscott and approved by chofmann.


git-svn-id: svn://10.0.0.236/trunk@32546 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 22:03:47 +00:00
putterman%netscape.com
a7b42660c6 Fix for 6975. Make sure there's a valid database before accessing it. Reviewed by
mscott. Approved by chofmann.


git-svn-id: svn://10.0.0.236/trunk@32545 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 22:02:50 +00:00
slamm%netscape.com
138daa554b Deal with out of order times for express.
git-svn-id: svn://10.0.0.236/trunk@32544 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 21:43:57 +00:00
terry%mozilla.org
21e1b9aafb Added "Neutrino" to the list of operating systems
git-svn-id: svn://10.0.0.236/trunk@32543 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 21:37:27 +00:00
briano%netscape.com
b98e0b0e8f Automated update
git-svn-id: svn://10.0.0.236/trunk@32541 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 21:18:00 +00:00
terry%mozilla.org
2ff78cf3dc Patch by Mark B. Hamby <mhamby@logicon.com> (somewhat hacked up by me) --
Allow case insensitive and regexp based searches for strings in bugs.


git-svn-id: svn://10.0.0.236/trunk@32540 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 21:16:18 +00:00
waterson%netscape.com
28d20d9b44 Bug 6968. Turn of MOZ_BRPROF by default.
git-svn-id: svn://10.0.0.236/trunk@32534 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 21:13:58 +00:00
slamm%netscape.com
b98d1970e4 Recommit my last set of changes, but logs work now.
git-svn-id: svn://10.0.0.236/trunk@32533 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 21:03:10 +00:00
beard%netscape.com
ae1abcf9e1 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32532 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 20:48:58 +00:00
dcone%netscape.com
d70cff6cc5 Fixed a printing crashing bug in Update(),
Now check to make sure mWindowPtr is not null.


git-svn-id: svn://10.0.0.236/trunk@32531 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 20:44:53 +00:00
valeski%netscape.com
eb1f2f4ddc the notify api and the external module interface now use the nsIObserver stuff
git-svn-id: svn://10.0.0.236/trunk@32530 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 20:40:21 +00:00
terry%mozilla.org
7ced32b722 Get rid of stupid debugging code.
git-svn-id: svn://10.0.0.236/trunk@32526 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 19:55:43 +00:00
valeski%netscape.com
c38f34b326 First whack at various external module apis.
git-svn-id: svn://10.0.0.236/trunk@32525 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 19:50:39 +00:00
terry%mozilla.org
d023c05a97 Added Mac System 8.6.
git-svn-id: svn://10.0.0.236/trunk@32524 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 19:44:34 +00:00
terry%mozilla.org
0a52d2313d Make sure login name is in canonical form.
git-svn-id: svn://10.0.0.236/trunk@32523 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 19:42:28 +00:00
valeski%netscape.com
95c10ecee6 wrong parameters were being passed into the handler's NewUrl() call
git-svn-id: svn://10.0.0.236/trunk@32522 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 19:33:52 +00:00
terry%mozilla.org
fbb008de3f Oops; fixed stupid typo.
git-svn-id: svn://10.0.0.236/trunk@32521 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 19:08:59 +00:00
terry%mozilla.org
6d208dc683 Don't put the filename in the content-type field; it's apparently not legal MIME for some content-types.
git-svn-id: svn://10.0.0.236/trunk@32520 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 19:06:04 +00:00
terry%mozilla.org
eef2c776d2 Back out slamm's recent changes; they have introduced bugs (like not being able to view logs).
git-svn-id: svn://10.0.0.236/trunk@32519 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 18:39:30 +00:00
beard%netscape.com
1a1cb758d7 bug #5352: navigator.javaEnabled() now looks at "security.enable_java" preference.
a=chofmann, r=matt


git-svn-id: svn://10.0.0.236/trunk@32514 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 16:41:55 +00:00
warren%netscape.com
ca81a76eee Added timer stuff from base.
git-svn-id: svn://10.0.0.236/trunk@32511 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 09:17:05 +00:00
warren%netscape.com
660db546ca Moving changes from XPCOM20_BRANCH forward.
git-svn-id: svn://10.0.0.236/trunk@32510 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 09:03:23 +00:00
slamm%netscape.com
d4e8d39fc5 Make it nice and pretty. Iron out a couple bugs.
git-svn-id: svn://10.0.0.236/trunk@32509 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 05:56:26 +00:00
briano%netscape.com
ab94629a76 Fixed the breakage this incomplete makefile was causing NO_STATIC_LIB builds.
git-svn-id: svn://10.0.0.236/trunk@32508 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 04:55:52 +00:00
waterson%netscape.com
fc9e4a40b6 Bug 6957. Add kEventQueueCID to the registry setup so these tests will run. a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@32507 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 03:53:02 +00:00
waterson%netscape.com
a50c2b1916 Bug 6958. Fix inconsistency between string and string size. a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@32506 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 03:51:56 +00:00
slamm%netscape.com
6d4330ffc8 Shrink the sidebar panel to fit.
git-svn-id: svn://10.0.0.236/trunk@32505 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-24 01:00:22 +00:00
beard%netscape.com
c2dc2fe83d added mozilla/js/rhino/org/mozilla/javascript/ListenerCollection.java
git-svn-id: svn://10.0.0.236/trunk@32502 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-23 20:07:05 +00:00
sspitzer%netscape.com
0c048f3fbe fix for #6935. skip newsrc lines that look like this:
3746EF3F.6080309@netscape.com:
3746EF3F.6080309%40netscape.com:

Those aren't legal newsgroup names.  But previous versions of Communicator
dump that into the newsrc file when you load these urls:

news://news.mozilla.org/3746EF3F.6080309@netscape.com
news://news.mozilla.org/3746EF3F.6080309%40netscape.com


git-svn-id: svn://10.0.0.236/trunk@32501 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-23 00:44:46 +00:00
bruce%cybersight.com
40889bdd16 Approved by chofmann. This fixes a large leak over time. This allocation is not necessary (nor are many others in this file), as the code being called to fill the value is also allocating the memory, so the memory is/was getting allocated twice. This fixes bug #6926.
git-svn-id: svn://10.0.0.236/trunk@32500 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 19:50:26 +00:00
sspitzer%netscape.com
912c86ce04 fix for #6889. a=chofmann.
use tempMessage.eml so that reply to news works.


git-svn-id: svn://10.0.0.236/trunk@32499 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 19:37:13 +00:00
briano%netscape.com
c3f6e70075 I'm hoping this will fix the breakage that results from not having . in one's PATH.
git-svn-id: svn://10.0.0.236/trunk@32498 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 06:42:48 +00:00
blizzard%redhat.com
3e47ad9913 remove these files
git-svn-id: svn://10.0.0.236/trunk@32497 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 06:16:21 +00:00
briano%netscape.com
e0c74b0459 Fix for the -r flag problem and the redundant rules warning. And a whole bunch of housecleaning. Approved by leaf@mozilla.org. Let me know if I ripped out something I shouldn't have.
git-svn-id: svn://10.0.0.236/trunk@32496 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 05:55:23 +00:00
sspitzer%netscape.com
2792a83996 fix for #6919. heed the "news.max_articles" pref.
git-svn-id: svn://10.0.0.236/trunk@32495 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 02:11:30 +00:00
cmanske%netscape.com
349ebe0c32 Set initial focus to editor window. Fixes bug 5724. Reviewed by sfraser
git-svn-id: svn://10.0.0.236/trunk@32494 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 00:40:59 +00:00
gagan%netscape.com
d30c026ed3 Made the baseURL default to null.
git-svn-id: svn://10.0.0.236/trunk@32493 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 00:21:32 +00:00
gagan%netscape.com
01320ab1a7 Made the baseURL a default to null.
git-svn-id: svn://10.0.0.236/trunk@32492 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 00:21:08 +00:00
varada%netscape.com
d041f6d030 summary file
git-svn-id: svn://10.0.0.236/trunk@32491 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 00:06:00 +00:00
varada%netscape.com
1d18fb85f0 summary header
git-svn-id: svn://10.0.0.236/trunk@32490 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-22 00:05:42 +00:00
despotdaemon%netscape.com
c9ae4cbeaa Pseudo-automatic update of changes made by amasri@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32489 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 23:58:43 +00:00
waterson%netscape.com
68d0b53a77 Okay, let's try that again.
git-svn-id: svn://10.0.0.236/trunk@32488 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 23:42:02 +00:00
waterson%netscape.com
2a66d40a96 Add GetIID() for use with nsCOMPtr.
git-svn-id: svn://10.0.0.236/trunk@32487 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 23:40:57 +00:00
evaughan%netscape.com
c284bebfcd fixed bug #5857. Permission from hofmann.
git-svn-id: svn://10.0.0.236/trunk@32486 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 23:36:56 +00:00
rickg%netscape.com
fb0094ea78 fixed per cyeh
git-svn-id: svn://10.0.0.236/trunk@32485 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 23:11:16 +00:00
rickg%netscape.com
2903ac39ff fix bug 6901 per CYEH
git-svn-id: svn://10.0.0.236/trunk@32484 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 23:01:37 +00:00
sspitzer%netscape.com
4c9db6123d fix for #6031. the summary file names for newsgroups are based on
the newsgroup name.  if the name is too long for the native file
system, use the hash function to come up with a new name.

move that has code out of xp_hash.c and into newsSummarySpec.cpp

in 4.x, this was the only place it was used anyways.

fix my debugging printf.

re-arrange addressbook makefiles in mailnews/makefiles so that people
who use obj-dir can build.


git-svn-id: svn://10.0.0.236/trunk@32483 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:21:23 +00:00
waterson%netscape.com
9ee75ce1da Bug 4629. Store an ID= attribute on bookmark folders to ensure that we assign them the same resource in the graph between runs.
git-svn-id: svn://10.0.0.236/trunk@32482 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:19:12 +00:00
waterson%netscape.com
354245fef7 Bug 4629. Use PR_Now() to get a 'more unique' starting point for anonymous resources.
git-svn-id: svn://10.0.0.236/trunk@32481 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:18:29 +00:00
despotdaemon%netscape.com
eb6a2e6316 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32480 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:16:24 +00:00
despotdaemon%netscape.com
511da500c2 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32479 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:15:27 +00:00
despotdaemon%netscape.com
a24d9d25b8 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32478 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:15:13 +00:00
despotdaemon%netscape.com
65fa901bb3 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32477 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:14:07 +00:00
despotdaemon%netscape.com
766ff2dec0 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32476 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:09:43 +00:00
despotdaemon%netscape.com
7d7bc9d49b Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32475 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 22:06:18 +00:00
waterson%netscape.com
44c9dba247 More bug 6823. Add comments to keep this problem from happening again.
git-svn-id: svn://10.0.0.236/trunk@32474 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 21:23:04 +00:00
waterson%netscape.com
ea935454c0 More bug 6823. Need to have a GetIID() on nsIEventListenerManager.
git-svn-id: svn://10.0.0.236/trunk@32473 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 21:22:02 +00:00
gordon%netscape.com
5a04291c95 Fix for bug#4312. Conditionalized patching of StackSpace so it's only done when patching is allowed. Use FindSymbol to dynamically lookup NewRoutineDescriptor and CallOSTrapUniversalProc so we can link against CarbonLib.
git-svn-id: svn://10.0.0.236/trunk@32470 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 20:08:09 +00:00
hyatt%netscape.com
5693100c68 Fix for the regression described in bug 6823.
git-svn-id: svn://10.0.0.236/trunk@32469 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 19:27:02 +00:00
despotdaemon%netscape.com
209790657a Pseudo-automatic update of changes made by cltbld@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32468 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 18:54:08 +00:00
despotdaemon%netscape.com
1e8046be24 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@32467 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 18:52:29 +00:00
waterson%netscape.com
9c1c29cef1 Bug 6884. Set up a 'real' flash demo that pulls data from tinderbox.
git-svn-id: svn://10.0.0.236/trunk@32466 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 18:20:09 +00:00
phillip%netscape.com
5e0f381936 fixed the problem that caused url redirects to appear to fail
git-svn-id: svn://10.0.0.236/trunk@32465 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 18:14:59 +00:00
briano%netscape.com
7f1a6d453f Automated update
git-svn-id: svn://10.0.0.236/trunk@32464 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 10:14:45 +00:00
briano%netscape.com
e82cb7df52 Fix for IRIX 5.x.
git-svn-id: svn://10.0.0.236/trunk@32463 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 10:12:30 +00:00
briano%netscape.com
8c88c7ad7d Fixed a bug in the object comparison for IRIX when -c is not used.
git-svn-id: svn://10.0.0.236/trunk@32462 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 09:22:24 +00:00
gagan%netscape.com
11117ef82b Added files for the HTTP Handler.
git-svn-id: svn://10.0.0.236/trunk@32461 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 07:14:19 +00:00
gagan%netscape.com
aec7daa5c4 Changes for the HTTP Handler.
git-svn-id: svn://10.0.0.236/trunk@32460 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 07:12:31 +00:00
gagan%netscape.com
b9261fb86d Changes for the handler.
git-svn-id: svn://10.0.0.236/trunk@32459 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 07:12:11 +00:00
gagan%netscape.com
e13f57ca36 HTTP changes.
git-svn-id: svn://10.0.0.236/trunk@32458 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 06:35:21 +00:00
gagan%netscape.com
c58c477d7d HTTP Handler work.
git-svn-id: svn://10.0.0.236/trunk@32457 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 06:33:17 +00:00
gagan%netscape.com
efc9573668 Miscellaneous fixes.
git-svn-id: svn://10.0.0.236/trunk@32456 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 06:30:21 +00:00
gagan%netscape.com
284149ab16 Added TestProtocols.cpp and renamed nettest to testnet since that was conflicting with nettest in dist.
git-svn-id: svn://10.0.0.236/trunk@32455 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 06:29:13 +00:00
norris%netscape.com
47a21f205f Manifest for jstools.jar to enable use of 1.2 -jar option.
git-svn-id: svn://10.0.0.236/trunk@32454 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 06:13:37 +00:00
gagan%netscape.com
41d1744692 Updates on HTTP handler. This will now move to mozilla/netwerk/protocol/http.
git-svn-id: svn://10.0.0.236/trunk@32453 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 06:12:56 +00:00
sspitzer%netscape.com
9a0b939639 fix for #6790. a=chofmann, r=mscott.
make news messages show up in the message pane on the Mac


git-svn-id: svn://10.0.0.236/trunk@32450 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 04:54:04 +00:00
briano%netscape.com
2054fad41c Added support for NetBSD/arm, SCO OpenServer, and IRIX 5.x.
git-svn-id: svn://10.0.0.236/trunk@32449 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 04:24:30 +00:00
briano%netscape.com
d52c86ccc5 Minor tweak that'll only affect SCO right now (because that's the only platform using it right now).
git-svn-id: svn://10.0.0.236/trunk@32448 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 04:21:25 +00:00
despotdaemon%netscape.com
82889fbb12 Pseudo-automatic update of changes made by dp@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32447 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 03:51:28 +00:00
warren%netscape.com
7833f90dd4 Jband's fix for forward decls. Approved: Chofmann, reviewed: mang.
git-svn-id: svn://10.0.0.236/trunk@32446 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 03:18:25 +00:00
gordon%netscape.com
d247d9c4ce First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32445 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 02:40:00 +00:00
danm%netscape.com
c19163cc12 LoadMenuItem no longer adds the item to mMenuDelegates. Fixes bug 6446. written by saari, r=danm, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@32444 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 02:34:03 +00:00
matt%netscape.com
6bc4c5b576 Adding window.title stuff for internationalization
git-svn-id: svn://10.0.0.236/trunk@32443 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 01:37:24 +00:00
matt%netscape.com
dd58251e31 Adding composer.xul file for internationalization
git-svn-id: svn://10.0.0.236/trunk@32442 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 01:34:05 +00:00
matt%netscape.com
7be80a6f8c Adding prefs xul files approved by hoffman for internationalization
git-svn-id: svn://10.0.0.236/trunk@32441 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 01:33:11 +00:00
cyeh%netscape.com
ce03d40b14 make the offensive photo link point to terry
git-svn-id: svn://10.0.0.236/trunk@32440 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 01:25:34 +00:00
pierre%netscape.com
0fe41ffe46 #6246 "Styled text is offset leftwards, only on Mac OS", a=cyeh, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@32438 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 00:58:27 +00:00
dveditz%netscape.com
6a55615243 fixing build for Win9x -- profile resources not getting exported. Approved chofmann
git-svn-id: svn://10.0.0.236/trunk@32437 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 00:57:48 +00:00
rogerl%netscape.com
f70f2834fd Continuing JSValue fun.
git-svn-id: svn://10.0.0.236/trunk@32436 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 00:54:26 +00:00
endico%mozilla.org
426e6d0544 "tree" is now alias for "trees" command since its mistyped so often
git-svn-id: svn://10.0.0.236/trunk@32435 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 00:42:55 +00:00
slamm%netscape.com
fcb7109ee1 Avoid loading container urls. Bug #6776. Fix from rjc. Approved by chofmann.
git-svn-id: svn://10.0.0.236/trunk@32434 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 00:42:23 +00:00
slamm%netscape.com
37eeeb48d1 Fix for i18n entities. Bug #6373. Approved by chofmann.
git-svn-id: svn://10.0.0.236/trunk@32433 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-21 00:39:39 +00:00
norris%netscape.com
24146f1d2e Add methods for getting and setting key-value pairs.
git-svn-id: svn://10.0.0.236/trunk@32432 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 23:54:53 +00:00
pollmann%netscape.com
a6b8074078 Bug 2999: Option values of "" handled correctly now R=vidur A=chofmann
git-svn-id: svn://10.0.0.236/trunk@32431 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 23:25:34 +00:00
vidur%netscape.com
ea99b5ffb8 Fix for bug 6843. Option.selected returns the correct value for non-multi-selects.
git-svn-id: svn://10.0.0.236/trunk@32430 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 23:24:06 +00:00
briano%netscape.com
ba2c36c185 Fixed a bug that only exhibited itself if NO_STATIC_LIB was defined. The tools (../tools) require that libxpt.a gets built no matter what, and that wasn't happening.
git-svn-id: svn://10.0.0.236/trunk@32429 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 23:17:03 +00:00
joki%netscape.com
91abaf6632 Fix for bug 6005, crash on window closing via script. A: chofmann, R: vidur
git-svn-id: svn://10.0.0.236/trunk@32427 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 23:16:53 +00:00
vidur%netscape.com
518d3ab653 Fix for bug 4050 - problem with HTMLSelectElement::Add(). Fix reviewed by Eric Pollmann and approved by CYeh.
git-svn-id: svn://10.0.0.236/trunk@32424 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 21:50:14 +00:00
rogerl%netscape.com
095914ec44 Switching to JSValue throughout. Implementing operators per base type.
git-svn-id: svn://10.0.0.236/trunk@32415 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 21:16:11 +00:00
tague%netscape.com
faaa440343 Fixed bug #6680. Approved by chofmann.
git-svn-id: svn://10.0.0.236/trunk@32410 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 19:21:51 +00:00
tague%netscape.com
dfc83b2766 Fix for #5916 - Input Method Candidate list rendered as blobs. Approved by chofmann.
git-svn-id: svn://10.0.0.236/trunk@32409 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 18:56:48 +00:00
mcafee%netscape.com
7604eff355 Adding Tab test to Debug | XPToolkit. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@32403 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 17:45:15 +00:00
mcafee%netscape.com
bf494e7c8e Exporting tab.xul. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@32402 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 17:44:05 +00:00
mcafee%netscape.com
4475d624e9 Test for tab widget. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@32401 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 17:43:00 +00:00
jfrancis%netscape.com
abe9be9f5a adding layout/html/content/public/MANIFEST to dist build
git-svn-id: svn://10.0.0.236/trunk@32400 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 13:40:18 +00:00
hyatt%netscape.com
cd7befee69 No manifest file was included for this directory. ^%&#^%&#@$
git-svn-id: svn://10.0.0.236/trunk@32399 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 09:13:00 +00:00
rickg%netscape.com
ec1b421792 checkin to fix bugs per hofmann
git-svn-id: svn://10.0.0.236/trunk@32387 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 07:36:54 +00:00
hyatt%netscape.com
7130ae80a6 Fixes for bugs 6746 and 6747. Approved by chofmann@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32386 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 06:39:37 +00:00
rickg%netscape.com
e488bea319 fixed string usage error
git-svn-id: svn://10.0.0.236/trunk@32385 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 06:19:14 +00:00
matt%netscape.com
c27a89875a Adding internationalization stuff for xul...Appoved by chris
git-svn-id: svn://10.0.0.236/trunk@32384 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:58:58 +00:00
gordon%netscape.com
2dc3eb46f0 Fix for bug#6662 "PR_Open does not set hpb.fileParam.ioDirID field".
git-svn-id: svn://10.0.0.236/trunk@32383 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:58:42 +00:00
matt%netscape.com
dc92e40330 Adding xul files for prefs
git-svn-id: svn://10.0.0.236/trunk@32382 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:35:50 +00:00
gordon%netscape.com
e45d4dcf50 Resolves bug# 4314 "create separate build script for NSPR" by factoring the builds of the dist directory and projects into the minimum necessary for NSPR (collectively referred to as Runtime) and the rest of the Client. Reviewed by Simon Fraser.
git-svn-id: svn://10.0.0.236/trunk@32381 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:34:01 +00:00
gordon%netscape.com
f685c26237 Preparation for separate runtime builds on Mac. Added $build{runtime} = 0;
git-svn-id: svn://10.0.0.236/trunk@32380 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:31:25 +00:00
briano%netscape.com
e4cdad0924 Fix for BSDI builds.
git-svn-id: svn://10.0.0.236/trunk@32379 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:27:20 +00:00
mscott%netscape.com
3b76d4e0e1 Back out ftang's changes to fix show stopper on mailnews: Bug #6740. Right now mailnews is helpless without backing this out.
git-svn-id: svn://10.0.0.236/trunk@32378 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:23:44 +00:00
mscott%netscape.com
028805ce34 Remove nsNewsArticleSet.h for sspitzer.
git-svn-id: svn://10.0.0.236/trunk@32377 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:18:13 +00:00
mjudge%netscape.com
80a995847b incorrect C++ put class:: in front of method name illegal ASCII C++ MAC picks this up i guess 1 line change
git-svn-id: svn://10.0.0.236/trunk@32373 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 03:01:02 +00:00
briano%netscape.com
c333d68726 Fix for SCO OpenServer builds. _SCO_DS is always set by SCO's compiler.
git-svn-id: svn://10.0.0.236/trunk@32371 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 02:57:37 +00:00
sspitzer%netscape.com
0f2bba7589 removed files: mozilla/mailnews/news/src/nsNNTPArticleSet.cpp
git-svn-id: svn://10.0.0.236/trunk@32370 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 02:57:19 +00:00
sspitzer%netscape.com
2f55b75945 added files: mozilla/mailnews/base/util/nsMsgKeySet.cpp, removed files: mozilla/mailnews/base/util/nsNewsSet.cpp
git-svn-id: svn://10.0.0.236/trunk@32369 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 02:56:02 +00:00
sspitzer%netscape.com
a075788a2b remove duplicate implementations of nsNewsSet. rename nsNewsSet to nsMsgKeySet.
heed the news set.  this fixes #6730 and #6244.


git-svn-id: svn://10.0.0.236/trunk@32368 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 02:54:25 +00:00
danm%netscape.com
e04f933a9b more error checking, a missing GetIID method and another test button should fix bug 6751. a:chofmann
git-svn-id: svn://10.0.0.236/trunk@32366 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 02:24:31 +00:00
rjc%netscape.com
a363c3d579 Fix Unix bustage on previous checking for bug # 6778.
git-svn-id: svn://10.0.0.236/trunk@32365 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 01:55:37 +00:00
akkana%netscape.com
0325b11e9d 6773: an nsresult was being checked before it was initialized. Appv'd chofmann
git-svn-id: svn://10.0.0.236/trunk@32364 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 01:48:12 +00:00
sdagley%netscape.com
f53c9186a2 Fix bug #3534. Now set EOF and file position to requested offset in a seek when the offset is past the current EOF. With this fix pinkerton's workaround in reg.c is no longer required si it has been removed. Reviewed pinkerton, approved chofmann.
git-svn-id: svn://10.0.0.236/trunk@32359 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 01:25:54 +00:00
rjc%netscape.com
343cde0381 Fix bug # 6778. Reviewed by sdagley, approved by chofmann.
The fix consists of checking the proper default namespace on attributes (instead of using the XUL namespace), and adding a XUL template in for the bookmarks panel in the sidebar.


git-svn-id: svn://10.0.0.236/trunk@32358 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 01:21:20 +00:00
briano%netscape.com
94873d50e0 Fix for SCO's brain-damaged C++ (cfront) compiler.
git-svn-id: svn://10.0.0.236/trunk@32355 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 01:01:43 +00:00
mjudge%netscape.com
85ff7d2a69 reviewed sfraser approved choffman 6771 6762 UMR and Extreemly inefficient table selection code fixed simply
git-svn-id: svn://10.0.0.236/trunk@32354 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 00:52:00 +00:00
slamm%netscape.com
cfbf2cd253 Avoid user layers with gecko client. Need to use style sheets instead.
git-svn-id: svn://10.0.0.236/trunk@32353 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 00:36:09 +00:00
rogerl%netscape.com
a58c620f15 New.
git-svn-id: svn://10.0.0.236/trunk@32351 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 00:14:26 +00:00
rogerl%netscape.com
13a12a7a0e Switch to new JSValue hierarchy.
Added logical/bitwise ops.


git-svn-id: svn://10.0.0.236/trunk@32350 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-20 00:13:38 +00:00
norris%netscape.com
59c0460b7f Remove Java 2 dependency.
git-svn-id: svn://10.0.0.236/trunk@32349 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 23:58:37 +00:00
joki%netscape.com
99c9b77e71 Partial fix for 3289, reduce number of repaints/reflow when mousing over toolbar buttons. A:chofmann
git-svn-id: svn://10.0.0.236/trunk@32348 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 23:28:18 +00:00
sfraser%netscape.com
630ff78826 Fix for bugs 4907, 5317; New blank editor window, and Edit Page. r akkana, kin. a chofmann.
git-svn-id: svn://10.0.0.236/trunk@32347 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 23:27:34 +00:00
beard%netscape.com
c7a927daba bugs #5062, #4703: have to create per view manager rendering contexts, even when the shared drawing surfaces are already big enough.
a=chofmann


git-svn-id: svn://10.0.0.236/trunk@32346 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 23:23:47 +00:00
slamm%netscape.com
a43127ccdd Change last checkin to use legal perl.
git-svn-id: svn://10.0.0.236/trunk@32345 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 23:20:23 +00:00
slamm%netscape.com
566be6aa75 Tighten up the date format for the sidebar panel.
git-svn-id: svn://10.0.0.236/trunk@32343 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 23:14:02 +00:00
slamm%netscape.com
360c999ef3 Update the sidebar panel every minute.
git-svn-id: svn://10.0.0.236/trunk@32342 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 23:07:54 +00:00
evaughan%netscape.com
e737c85970 Fixed some visibility bugs in order to make the tab widget work correctly.
git-svn-id: svn://10.0.0.236/trunk@32341 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 22:14:11 +00:00
harishd%netscape.com
26a1b6b64c Fix for Bug# 6716 - Handling multiple <BODY> tags in a document.
Fix for Bug# 6644 - Illegal content handling in tables - Tweaked.
(R) rickg (A) chofmann


git-svn-id: svn://10.0.0.236/trunk@32340 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 22:14:01 +00:00
harishd%netscape.com
84a87a74ea Fix for bug#6716. For handling multiple <BODY> tags in a document.
(R) rickg, (A) chofmann


git-svn-id: svn://10.0.0.236/trunk@32339 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 22:10:30 +00:00
varada%netscape.com
1db6814e57 help files
git-svn-id: svn://10.0.0.236/trunk@32338 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 21:53:48 +00:00
slamm%netscape.com
2160b10698 Add flash panel data.
git-svn-id: svn://10.0.0.236/trunk@32336 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 21:20:00 +00:00
kin%netscape.com
cee4c90dcf Fix build bustage when --disable-editor is used.
Approved by chofmann@netscape.com and leaf@mozilla.org.


git-svn-id: svn://10.0.0.236/trunk@32335 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 20:26:51 +00:00
dp%netscape.com
c2b4ac8d85 Caret files moved from base/
git-svn-id: svn://10.0.0.236/trunk@32334 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 19:17:07 +00:00
briano%netscape.com
658ee7c60f Automated update
git-svn-id: svn://10.0.0.236/trunk@32320 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 09:59:43 +00:00
briano%netscape.com
6f78a45311 SCO OS5 specific addition.
git-svn-id: svn://10.0.0.236/trunk@32319 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 09:51:11 +00:00
briano%netscape.com
5e5eea3805 Replaced 'true' and 'false' with 'PR_TRUE' and 'PR_FALSE' to make it compile on Unix.
git-svn-id: svn://10.0.0.236/trunk@32318 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 09:13:05 +00:00
hyatt%netscape.com
e830099295 Fix for bug 5911.
git-svn-id: svn://10.0.0.236/trunk@32317 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 08:26:21 +00:00
waterson%netscape.com
6fba724d9a Check for null pointer to avoid crashes in Unix viewer.
git-svn-id: svn://10.0.0.236/trunk@32316 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 08:06:47 +00:00
mcafee%netscape.com
19edd7a6eb Fixing missing toolbar problem. r=danm a=me
git-svn-id: svn://10.0.0.236/trunk@32315 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 07:51:48 +00:00
waterson%netscape.com
2195264b65 Re-wrote to avoid use of NS_WITH_SERVICE macro; otherwise, we'll get annoying asserts in viewer.
git-svn-id: svn://10.0.0.236/trunk@32314 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 07:22:57 +00:00
waterson%netscape.com
34cd29be6b Don't PR_DELETE() an uninitialized pointer.
git-svn-id: svn://10.0.0.236/trunk@32313 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 07:08:38 +00:00
waterson%netscape.com
dfd13a3ca2 Fix crash bugs: failure to initialize m_reg member.
git-svn-id: svn://10.0.0.236/trunk@32312 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 07:02:07 +00:00
mscott%netscape.com
16455599d2 For consistancies sake, back out the rest of hangas's changes until he can
add a selectaddress.xul file.


git-svn-id: svn://10.0.0.236/trunk@32311 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 06:36:36 +00:00
mscott%netscape.com
71835d3564 for consistencies sake, back out the rest of hangas's changes until he
can add a selectaddress.xul file.


git-svn-id: svn://10.0.0.236/trunk@32310 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 06:33:30 +00:00
dveditz%netscape.com
40a71a16e6 AddDirectory() implemented
git-svn-id: svn://10.0.0.236/trunk@32309 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 06:32:16 +00:00
waterson%netscape.com
7b6216c6da Fix Linux ambiguity with nsCOMPtr.
git-svn-id: svn://10.0.0.236/trunk@32308 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 06:10:17 +00:00
dp%netscape.com
d04ca385bf Reversing previous checkin. It should have happened in XPCOM20_BRANCH
git-svn-id: svn://10.0.0.236/trunk@32305 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 06:04:03 +00:00
dp%netscape.com
6b3eb939ca Revering previous checkin. It should have happned on the XPCOM20_BRANCH
git-svn-id: svn://10.0.0.236/trunk@32304 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:58:54 +00:00
waterson%netscape.com
c72d0600be No longer needed.
git-svn-id: svn://10.0.0.236/trunk@32303 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:57:55 +00:00
waterson%netscape.com
578acf08dd These files are generated now.
git-svn-id: svn://10.0.0.236/trunk@32302 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:57:28 +00:00
dp%netscape.com
b3ad6cd575 Removing gmbase
git-svn-id: svn://10.0.0.236/trunk@32301 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:54:49 +00:00
waterson%netscape.com
25aa4f9895 Bug 5630. Use nsRandomAccessInputStream to read a line at a time (vs. a character at a time). Tip o' the hat to jim_nance@yahoo.com.
git-svn-id: svn://10.0.0.236/trunk@32300 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:53:14 +00:00
dp%netscape.com
f406cee28d Damn it! the previous changes should have happened on the branch. Reversing them
git-svn-id: svn://10.0.0.236/trunk@32298 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:32:58 +00:00
rjc%netscape.com
516af96c29 Apply Scott Putterman's fix for XUL sorting.
git-svn-id: svn://10.0.0.236/trunk@32297 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:30:25 +00:00
ducarroz%netscape.com
0944dea8ea remove META tag (bug 6675)
git-svn-id: svn://10.0.0.236/trunk@32296 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:30:19 +00:00
dp%netscape.com
761e60c611 Adding nsTimer
git-svn-id: svn://10.0.0.236/trunk@32295 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:24:52 +00:00
gayatrib%netscape.com
9051554538 Added code to invoke ProfileManager from command line and turned on the CreateProfileWizard
git-svn-id: svn://10.0.0.236/trunk@32293 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:20:06 +00:00
gayatrib%netscape.com
85b0a2ae2c removed all references to profile as it is a component now
git-svn-id: svn://10.0.0.236/trunk@32292 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:17:32 +00:00
gayatrib%netscape.com
17ec435584 updated to include the new profile manager services
git-svn-id: svn://10.0.0.236/trunk@32291 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:15:15 +00:00
dp%netscape.com
714d9cd092 Moving these files from base
git-svn-id: svn://10.0.0.236/trunk@32290 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:14:43 +00:00
gayatrib%netscape.com
6293ec9e2e updated javascript reflection file that includes the new profile manager services
git-svn-id: svn://10.0.0.236/trunk@32289 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:12:30 +00:00
gayatrib%netscape.com
adff7dfe1c Added method interfaces to support the new profile manager services
git-svn-id: svn://10.0.0.236/trunk@32288 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:08:42 +00:00
gayatrib%netscape.com
9eea30984d Addd prfoile core
git-svn-id: svn://10.0.0.236/trunk@32287 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:06:58 +00:00
gayatrib%netscape.com
bbebdbaba4 idl file for profile core services
git-svn-id: svn://10.0.0.236/trunk@32286 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:03:11 +00:00
pollmann%netscape.com
bf40fe13d4 Bug 3187: Teach Windows select widgets how to insert in the middle of a list (4 of 3)
git-svn-id: svn://10.0.0.236/trunk@32285 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:02:35 +00:00
rickg%netscape.com
1f82bdb300 fixed bug 6597 and added memory allocation conditioning
git-svn-id: svn://10.0.0.236/trunk@32284 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 05:01:46 +00:00
gayatrib%netscape.com
d2804028ef modified to support profile locations on all platforms
git-svn-id: svn://10.0.0.236/trunk@32283 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:59:38 +00:00
gayatrib%netscape.com
801221dd1a added profileSwitch file to the makefile
git-svn-id: svn://10.0.0.236/trunk@32282 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:48:44 +00:00
dveditz%netscape.com
d434b9b24c nsZipArchive.h
git-svn-id: svn://10.0.0.236/trunk@32281 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:48:19 +00:00
gayatrib%netscape.com
b8d08203e2 new header file to serve as a profile code compilation switch
git-svn-id: svn://10.0.0.236/trunk@32280 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:46:35 +00:00
bienvenu%netscape.com
e89bee40e5 turn on protocol logging in release mode
git-svn-id: svn://10.0.0.236/trunk@32279 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:43:00 +00:00
gayatrib%netscape.com
01c85ce31c Added method interfaces to support the new profile manager services
git-svn-id: svn://10.0.0.236/trunk@32278 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:40:39 +00:00
gayatrib%netscape.com
efb54792ef Added code to support the new profile manager services
git-svn-id: svn://10.0.0.236/trunk@32277 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:38:44 +00:00
pollmann%netscape.com
3573f16191 Bug 3187: Add widget update on option creation and destruction. (3 of 3)
git-svn-id: svn://10.0.0.236/trunk@32276 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:37:41 +00:00
gayatrib%netscape.com
c63e427915 new makefile with all the new ui files
git-svn-id: svn://10.0.0.236/trunk@32275 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:35:39 +00:00
gayatrib%netscape.com
0be1d8e285 rename profile ui
git-svn-id: svn://10.0.0.236/trunk@32274 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:35:10 +00:00
gayatrib%netscape.com
9dee62ff25 contains profile manager ui
git-svn-id: svn://10.0.0.236/trunk@32273 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:33:56 +00:00
gayatrib%netscape.com
2aa3635dc8 profile manager ui
git-svn-id: svn://10.0.0.236/trunk@32272 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:32:45 +00:00
gayatrib%netscape.com
a8a79313de The first navigation frame of create profile wizard
git-svn-id: svn://10.0.0.236/trunk@32271 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:30:58 +00:00
gayatrib%netscape.com
d165c6540e The first navigation frame of create profile wizard called from profile manager
git-svn-id: svn://10.0.0.236/trunk@32270 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:30:22 +00:00
gayatrib%netscape.com
1ad3d01d97 This causes the last page of create profile wizard called from profile manager to return to profile manager
git-svn-id: svn://10.0.0.236/trunk@32269 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:29:03 +00:00
waterson%netscape.com
b821dd8efa Implement nsIDOMNSDocument properly. Factor logic for createElement & createElementWithNamespace.
git-svn-id: svn://10.0.0.236/trunk@32268 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:28:40 +00:00
gayatrib%netscape.com
db5313ab6a New navigation frame that does not have Next button on last page of CreateProfile wizard
git-svn-id: svn://10.0.0.236/trunk@32267 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:24:31 +00:00
gayatrib%netscape.com
2e926b0f3d File to display error messages
git-svn-id: svn://10.0.0.236/trunk@32266 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:22:42 +00:00
gayatrib%netscape.com
f6427501b8 Create profile wizard from profile manager
git-svn-id: svn://10.0.0.236/trunk@32265 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:21:53 +00:00
gayatrib%netscape.com
f018923f09 Added new navigation frames to prevent the coexistence of next finish buttons
git-svn-id: svn://10.0.0.236/trunk@32264 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:20:28 +00:00
gayatrib%netscape.com
0c7e0d0b4d New file to return to profile manager from the last screen
git-svn-id: svn://10.0.0.236/trunk@32263 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:19:33 +00:00
gayatrib%netscape.com
1304cdd3ab Added code to remember the edit field values
git-svn-id: svn://10.0.0.236/trunk@32262 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:17:51 +00:00
gayatrib%netscape.com
ac8ca05247 Modified to include all the new xul files
git-svn-id: svn://10.0.0.236/trunk@32261 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:13:22 +00:00
danm%netscape.com
1a007edda6 adding partial (for DOM elements) chromemask support to apprunner
git-svn-id: svn://10.0.0.236/trunk@32260 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:11:54 +00:00
alecf%netscape.com
94d0973f92 add string-replacement capabilitiy to PrefsCore - now prefs can be dynamically changed on the fly in a given document
git-svn-id: svn://10.0.0.236/trunk@32259 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:11:38 +00:00
alecf%netscape.com
db405c3b81 update XPIDL version of the DOM IDL file
git-svn-id: svn://10.0.0.236/trunk@32258 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:10:42 +00:00
dveditz%netscape.com
dfa3e02e66 new file
git-svn-id: svn://10.0.0.236/trunk@32257 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 04:06:40 +00:00
waterson%netscape.com
258ae5e444 Re-arrange to fix win32 bustage.
git-svn-id: svn://10.0.0.236/trunk@32255 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:56:19 +00:00
waterson%netscape.com
4d49159014 Use nsIRDFService::GetDataSource(). For now we need to, because you can't Init() the same RDF/XML datasource twice. This kinda sucks because it's synchronous.
git-svn-id: svn://10.0.0.236/trunk@32254 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:54:43 +00:00
briano%netscape.com
6bc37247a3 Fixed the typo that was breaking Unix builds.
git-svn-id: svn://10.0.0.236/trunk@32253 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:48:06 +00:00
pollmann%netscape.com
b6fa9960a1 Bug 3187: Add frame notification on option creation and destruction.
git-svn-id: svn://10.0.0.236/trunk@32252 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:46:25 +00:00
waterson%netscape.com
5e090240e2 Remove #define out PR_LOG_ALWAYS to fix bustage.
git-svn-id: svn://10.0.0.236/trunk@32251 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:46:13 +00:00
varada%netscape.com
51a83d2af2 .aps file
git-svn-id: svn://10.0.0.236/trunk@32250 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:46:05 +00:00
waterson%netscape.com
8434a7ac0f Remove fstream.h to fix bustage.
git-svn-id: svn://10.0.0.236/trunk@32249 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:45:50 +00:00
varada%netscape.com
3ea51694df rc file
git-svn-id: svn://10.0.0.236/trunk@32248 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:45:41 +00:00
pollmann%netscape.com
816fa2970a Bug 3322: onChange won't be sent when the combo box is first clicked now. (2 of x)
git-svn-id: svn://10.0.0.236/trunk@32247 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:37:23 +00:00
varada%netscape.com
68ef87ec21 help files
git-svn-id: svn://10.0.0.236/trunk@32246 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:31:11 +00:00
varada%netscape.com
3f79cd70a9 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@32245 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:25:38 +00:00
davidm%netscape.com
b5cc6cd2be Add code to post fix string to title and to tell the window mediator about title changes
git-svn-id: svn://10.0.0.236/trunk@32244 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:21:19 +00:00
dveditz%netscape.com
e8f14c6429 allow multi-user finds
git-svn-id: svn://10.0.0.236/trunk@32243 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:21:03 +00:00
varada%netscape.com
9a4d4d903a *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@32242 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:17:50 +00:00
davidm%netscape.com
30d38944c3 Added code to tell the window mediator about title changes and to post fix titles with a XUL attribute
git-svn-id: svn://10.0.0.236/trunk@32241 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:04:39 +00:00
blizzard%redhat.com
2b320c95a5 bpp stands for bytes per pixel, not bits per pixel in certian circumstances. make sure that the image data buffer is allocated properly.
git-svn-id: svn://10.0.0.236/trunk@32239 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:04:03 +00:00
davidm%netscape.com
fdd634ea0d Register and Unregister Windows with the window manager
git-svn-id: svn://10.0.0.236/trunk@32238 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:03:48 +00:00
mscott%netscape.com
e4872fe72e Fix build breakage for Hangas by backing out the makefile change until he can check in selectadress.xul.
git-svn-id: svn://10.0.0.236/trunk@32237 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 03:00:35 +00:00
davidm%netscape.com
43b44d234c Add nsWindowMediator to build and factory
git-svn-id: svn://10.0.0.236/trunk@32236 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:57:55 +00:00
davidm%netscape.com
1075fd5a73 Add nsWindowMediator to the build and the factory
git-svn-id: svn://10.0.0.236/trunk@32235 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:57:00 +00:00
mscott%netscape.com
75950cb4be Fix Mac build for hangas by backing out his selectaddress.xul change as we don't have that file.
git-svn-id: svn://10.0.0.236/trunk@32234 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:56:55 +00:00
mscott%netscape.com
9337e6bd58 fix windows build for hangas. backing out his changes as we don't have a selectaddress.xul file to export.
git-svn-id: svn://10.0.0.236/trunk@32233 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:55:45 +00:00
sdagley%netscape.com
0b62b2ac05 Add test to see if async I/O has completed before we actually yield the thread. Part of the I/O improvments tagged under bug #3536. Approved wtc.
git-svn-id: svn://10.0.0.236/trunk@32232 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:49:00 +00:00
ssu%netscape.com
99d4c5019c fixing bug #6661
git-svn-id: svn://10.0.0.236/trunk@32231 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:26:54 +00:00
hangas%netscape.com
7ba7493123 Added selectaddress.xul
git-svn-id: svn://10.0.0.236/trunk@32230 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:19:09 +00:00
davidm%netscape.com
0050102589 Update to compile on windows
git-svn-id: svn://10.0.0.236/trunk@32229 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:18:02 +00:00
hangas%netscape.com
6ac1059acf Added addressbook.js to support address picker dialog
git-svn-id: svn://10.0.0.236/trunk@32228 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:11:38 +00:00
hangas%netscape.com
c7a9bc7baa Added code for selectaddress.xul (address picker)
git-svn-id: svn://10.0.0.236/trunk@32227 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:10:28 +00:00
dveditz%netscape.com
266386bbc8 further bullet-proofing against bad callers
git-svn-id: svn://10.0.0.236/trunk@32226 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 02:02:47 +00:00
bienvenu%netscape.com
ef1b20c6a3 more work on filter actions
git-svn-id: svn://10.0.0.236/trunk@32225 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:56:32 +00:00
bienvenu%netscape.com
fc679f3a50 temporarily don't build nsIDOMMsgAppcore.idl
git-svn-id: svn://10.0.0.236/trunk@32224 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:47:41 +00:00
beard%netscape.com
1ff80f1a72 bug #5670: renamed nsJNIEnvRef -> GetProxyEnv, got rid of operator ->, added GetSecureEnv. Changed CreateProxyJNI to return NULL if getSecureEnv() returns NULL, so the proxy JNI doesn't have to check for NULL. Makes OJI more robust when a JVM isn't available.
git-svn-id: svn://10.0.0.236/trunk@32223 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:44:35 +00:00
beard%netscape.com
c3189f1186 bug #5670: making more robust when MRJ session can't be created.
git-svn-id: svn://10.0.0.236/trunk@32222 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:39:51 +00:00
nhotta%netscape.com
92e29ad6ba Changed to pick up result of MIME decoder and unicode converter.
git-svn-id: svn://10.0.0.236/trunk@32221 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:37:46 +00:00
pavlov%pavlov.net
381560d068 fix for combo box bustage (bug 6712)
git-svn-id: svn://10.0.0.236/trunk@32220 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:37:21 +00:00
wtc%netscape.com
de50d2c987 More SCO OpenServer updates from Brian Ostrom <briano@netscape.com>.
git-svn-id: svn://10.0.0.236/trunk@32219 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:28:21 +00:00
jefft%netscape.com
9ce211f3a8 fixed VC++ 5.0 bustage problem
git-svn-id: svn://10.0.0.236/trunk@32218 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:15:17 +00:00
srinivas%netscape.com
d4d2f2d4ae Fixed a typo in previous checkin
git-svn-id: svn://10.0.0.236/trunk@32216 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:14:12 +00:00
pollmann%netscape.com
d11280c6a1 Bug 3187: Adding an IndexOf method to nsOptionList. We'll use this in the option constructor and destructor (1 of 3)
git-svn-id: svn://10.0.0.236/trunk@32215 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:11:48 +00:00
briano%netscape.com
210fb8660e Fix for bug 6650 to handle toolkits other than GTK. Thanks to Jerry.Kirk@Nexwarecorp.com.
git-svn-id: svn://10.0.0.236/trunk@32214 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:08:52 +00:00
putterman%netscape.com
20bdfd3714 Generate headers from idl.
git-svn-id: svn://10.0.0.236/trunk@32213 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:07:54 +00:00
jefft%netscape.com
f8a56ed92d fixed delete message barf on creating new message header
git-svn-id: svn://10.0.0.236/trunk@32212 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:05:05 +00:00
pollmann%netscape.com
90b1164b81 Enabling SIZE attribute change for selects.
git-svn-id: svn://10.0.0.236/trunk@32211 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 01:03:02 +00:00
pollmann%netscape.com
56257e3041 Enabling MULTIPLE attribute change for selects.
git-svn-id: svn://10.0.0.236/trunk@32210 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:59:06 +00:00
srinivas%netscape.com
2bb10f123a OpenVMS port; checkin for "Colin R. Blake" <colin@theblakes.com>.
git-svn-id: svn://10.0.0.236/trunk@32205 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:53:52 +00:00
ducarroz%netscape.com
2e381d9c66 Fix Reply and Forward who wasn't working since new Ender LoadUrl. Implement a temporary HTML support.
git-svn-id: svn://10.0.0.236/trunk@32204 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:52:51 +00:00
ducarroz%netscape.com
28640c9f72 remove the dot in front of Reply, Reply all and Forward.
git-svn-id: svn://10.0.0.236/trunk@32203 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:52:49 +00:00
ducarroz%netscape.com
0918b5d247 Fix ender loading URL problem when doing a reply or forward
git-svn-id: svn://10.0.0.236/trunk@32202 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:52:48 +00:00
ducarroz%netscape.com
69c0c80750 Remove redefinition of GetTimeMac
git-svn-id: svn://10.0.0.236/trunk@32201 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:52:47 +00:00
tague%netscape.com
edb9416a50 Fixed up componet registration
git-svn-id: svn://10.0.0.236/trunk@32200 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:50:19 +00:00
nhotta%netscape.com
b884b5b8cb Bug fix #6680, removed duplicated declarations of the variable res.
git-svn-id: svn://10.0.0.236/trunk@32199 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:49:25 +00:00
wtc%netscape.com
03851cef0f Bugzilla bug #4761: define _LARGEFILE64_SOURCE explicitly if we are
on Solaris 2.6 or 2.7 and using gcc.  Thanks to vdemarco@novazen.com
and mcafee@netscape.com for reporting this problem.


git-svn-id: svn://10.0.0.236/trunk@32198 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:40:28 +00:00
alecf%netscape.com
e65ae33ece fix for #5792 - remove leading '/' that occurs on unix
git-svn-id: svn://10.0.0.236/trunk@32197 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:36:58 +00:00
alecf%netscape.com
5271aa89f7 fix newline at end of file
git-svn-id: svn://10.0.0.236/trunk@32196 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:36:13 +00:00
pollmann%netscape.com
3dd13e0a9b Enabling cols and rows attribute change for framesets. (1 of 3)
git-svn-id: svn://10.0.0.236/trunk@32195 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:34:56 +00:00
alecf%netscape.com
a279a7a81a fix up this datasource to support the AccountManager:
- add a new arc out from each account accounts "Settings"
- add new properties on Settings - Main, Advanced, Server, Copies
- add arcs out from Main, Advanced, Server, and Copies for Name and PageTag


git-svn-id: svn://10.0.0.236/trunk@32194 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:34:48 +00:00
alecf%netscape.com
2344b9a917 remove unused variable
git-svn-id: svn://10.0.0.236/trunk@32193 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:30:13 +00:00
alecf%netscape.com
e4e38fbc72 add FilterEditor to windows build
git-svn-id: svn://10.0.0.236/trunk@32192 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:27:56 +00:00
alecf%netscape.com
595f8b0db4 ok, ok, cool RGB is going away
git-svn-id: svn://10.0.0.236/trunk@32191 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:25:26 +00:00
alecf%netscape.com
1c96e551ca switch over to titledbuttons, plus some minor tweaks
git-svn-id: svn://10.0.0.236/trunk@32190 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:24:47 +00:00
ftang%netscape.com
7d0cd1a7e1 get charset information from nsIWebShell to implement META charset reload
git-svn-id: svn://10.0.0.236/trunk@32189 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:24:41 +00:00
ftang%netscape.com
13637ff3b0 call the new ReloadDocument api from nsIWebShellServices
git-svn-id: svn://10.0.0.236/trunk@32188 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:23:59 +00:00
alecf%netscape.com
fb8408bdda fix up the tree widget to look a little nicer
git-svn-id: svn://10.0.0.236/trunk@32187 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:23:39 +00:00
ftang%netscape.com
f55cd93707 add method to push necessary informaiton to implement Meta charset observeration
git-svn-id: svn://10.0.0.236/trunk@32186 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:23:03 +00:00
alecf%netscape.com
a0fd39c794 first cut at a message filter edito
git-svn-id: svn://10.0.0.236/trunk@32185 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:21:55 +00:00
peterl%netscape.com
31183b200b fix mac, better whitespace after escape handling
git-svn-id: svn://10.0.0.236/trunk@32184 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:18:30 +00:00
matt%netscape.com
3cdde75401 Adding prefswindow.xul for internationalization
git-svn-id: svn://10.0.0.236/trunk@32183 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:17:12 +00:00
slamm%netscape.com
9e37379393 Remove shortcut column from sidebar panel.
git-svn-id: svn://10.0.0.236/trunk@32182 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:15:46 +00:00
alecf%netscape.com
8b849e5a45 update account manager to use the account manager data source
git-svn-id: svn://10.0.0.236/trunk@32180 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:12:48 +00:00
briano%netscape.com
1323fcc79a Fixed the handling of the tests directory. Only go there if ENABLE_TESTS is defined.
git-svn-id: svn://10.0.0.236/trunk@32179 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:07:00 +00:00
despotdaemon%netscape.com
c9ff599b14 Pseudo-automatic update of changes made by dp@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@32178 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:06:03 +00:00
peterl%netscape.com
61bdcd6a95 fixed ambiguous cast for nsCOMPtr on linux
git-svn-id: svn://10.0.0.236/trunk@32177 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:05:40 +00:00
mscott%netscape.com
f6673c61f4 cleanup makefile.
git-svn-id: svn://10.0.0.236/trunk@32176 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:02:29 +00:00
peterl%netscape.com
fa00846804 added nsICSSLoader
git-svn-id: svn://10.0.0.236/trunk@32175 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-19 00:00:58 +00:00
mscott%netscape.com
8427db7291 Updates with msgcoreutil building as a dll.
git-svn-id: svn://10.0.0.236/trunk@32174 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:59:45 +00:00
mscott%netscape.com
f4b55cfac2 clean up makefile, remove unnecessary define.
git-svn-id: svn://10.0.0.236/trunk@32173 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:59:16 +00:00
mscott%netscape.com
38eaa8d5a4 remove linkage against rdfutil_s. we don't need it anymore.
git-svn-id: svn://10.0.0.236/trunk@32172 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:57:37 +00:00
mscott%netscape.com
3311e09e62 Make base\util build as a dll. This includes defining IMPL_NS_MSG_BASE and adding makefile code to generate the dll.
git-svn-id: svn://10.0.0.236/trunk@32171 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:56:48 +00:00
mscott%netscape.com
735a8482d0 Add NS_MSG_BASE to class declaration to help make base\util build as a dll on win32.
git-svn-id: svn://10.0.0.236/trunk@32170 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:55:39 +00:00
joki%netscape.com
80216e03d8 added files: mozilla/dom/src/events/nsJSUIEvent.cpp
git-svn-id: svn://10.0.0.236/trunk@32169 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:51:30 +00:00
joki%netscape.com
5ff7e26f51 Breaking nsIDOMEvent out into nsIDOMEvent and nsIDOMUIEvent.
git-svn-id: svn://10.0.0.236/trunk@32168 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:51:04 +00:00
despotdaemon%netscape.com
d60619287e Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@32167 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:49:40 +00:00
despotdaemon%netscape.com
00817dfc89 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@32166 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:48:53 +00:00
putterman%netscape.com
c006f7db14 Show "???" when message counts are unknown. Use RDF collation key sorting.
git-svn-id: svn://10.0.0.236/trunk@32165 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:48:15 +00:00
mscott%netscape.com
3e64b2deb0 define NS_MSG_BASE which is used as a prefix in front of all functions & classes in base\util. This macro applies to win32 only right now. It is used to declare things as export when building the file and import when we are linking against the file. This helps us make msgcoreutil build as a dynamic library on win32.
git-svn-id: svn://10.0.0.236/trunk@32164 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:46:23 +00:00
vidur%netscape.com
d44b617f1f Fix for bug 3387. document.opened pages now get the URL of their source document.
git-svn-id: svn://10.0.0.236/trunk@32163 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:44:55 +00:00
joki%netscape.com
51e46314a9 Breaking nsIDOMEvent interface into nsIDOMEvent and nsIDOMUIEvent to be up to spec with DOM Lvl2
git-svn-id: svn://10.0.0.236/trunk@32162 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:41:49 +00:00
peterl%netscape.com
171c9be5e3 added files: mozilla/layout/html/style/src/nsCSSLoader.cpp
git-svn-id: svn://10.0.0.236/trunk@32161 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:24:20 +00:00
jefft%netscape.com
0d0b5978aa set default maximum connections to be 5 instead of 2
git-svn-id: svn://10.0.0.236/trunk@32160 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:24:07 +00:00
waterson%netscape.com
a7112c4071 Bug 5630. Use nsRandomAccessInputStream to improve read performance. Also, use nsIProfile::GetCurrentProfileDir() to locate the history files.
git-svn-id: svn://10.0.0.236/trunk@32159 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:20:31 +00:00
waterson%netscape.com
11d52f0cf0 Remove unnecessary #include of jsapi.h
git-svn-id: svn://10.0.0.236/trunk@32158 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:19:28 +00:00
hangas%netscape.com
2669e7d5bd Make sure that we print some data string, even if INTL functions fail. Fixes Mac crasher. Checked in for putterman.
git-svn-id: svn://10.0.0.236/trunk@32157 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:17:26 +00:00
peterl%netscape.com
d564d38b2f added css loader support
git-svn-id: svn://10.0.0.236/trunk@32156 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:16:26 +00:00
peterl%netscape.com
d3c3b79635 removed extra call to did set style context
git-svn-id: svn://10.0.0.236/trunk@32155 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:15:51 +00:00
peterl%netscape.com
dd4beafc1d added css loader
git-svn-id: svn://10.0.0.236/trunk@32154 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:15:10 +00:00
peterl%netscape.com
3130c85e81 added clone & insert child support
added drag-n-drop pseudo support


git-svn-id: svn://10.0.0.236/trunk@32153 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:14:29 +00:00
jefft%netscape.com
87c730467e backout the previous checkin for using nsCOMPtr; using nsVoidArray is by design
git-svn-id: svn://10.0.0.236/trunk@32152 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:14:05 +00:00
peterl%netscape.com
5bb0c3cacc fixed escape parsing
git-svn-id: svn://10.0.0.236/trunk@32151 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:13:27 +00:00
peterl%netscape.com
b7aff5bf82 made border style a reflow hint
git-svn-id: svn://10.0.0.236/trunk@32150 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:12:52 +00:00
peterl%netscape.com
5c9c0822b4 added css loader for child sheet
added drag pseudo classes
fixed background parsing bug


git-svn-id: svn://10.0.0.236/trunk@32149 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:12:17 +00:00
peterl%netscape.com
986a0eeaa9 added drag-n-drop psuedo classes
git-svn-id: svn://10.0.0.236/trunk@32148 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:10:53 +00:00
norris%netscape.com
9abc6cdfb8 Fix bug 6313 'Rhino: "new Function" doesn't work properly with superglobal'
Also clean up Context.exit() to be more consistent with Context.enter(),
and make SecuritySupport work with JavaAdapter.


git-svn-id: svn://10.0.0.236/trunk@32147 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:10:20 +00:00
peterl%netscape.com
578aa44744 added insert child sheet & clone methods
git-svn-id: svn://10.0.0.236/trunk@32146 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:10:09 +00:00
peterl%netscape.com
70aa3c9c01 added set child loader
git-svn-id: svn://10.0.0.236/trunk@32145 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:09:47 +00:00
peterl%netscape.com
9bd2b9bacf added drag pseudo classes
git-svn-id: svn://10.0.0.236/trunk@32144 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:09:21 +00:00
peterl%netscape.com
8b5f7b3982 added insert style sheet
git-svn-id: svn://10.0.0.236/trunk@32143 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:08:14 +00:00
peterl%netscape.com
880965a09e added css loader accessor
git-svn-id: svn://10.0.0.236/trunk@32142 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:07:53 +00:00
wtc%netscape.com
00517b5353 On SCO OpenServer 5, ENOBUFS and ENOSR are defined to be the
same thing.  So check whether they are equal.  Thanks to
Brian Ostrom <briano@netscape.com> for the bug fix.


git-svn-id: svn://10.0.0.236/trunk@32141 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:07:00 +00:00
peterl%netscape.com
77dcc5b017 added css loader support
added insert style sheet support


git-svn-id: svn://10.0.0.236/trunk@32140 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:06:31 +00:00
peterl%netscape.com
16649009d7 moved style sheet loading into css loader
git-svn-id: svn://10.0.0.236/trunk@32139 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:05:43 +00:00
peterl%netscape.com
e0c6c93da5 use css loader to get css parser for style attribute
git-svn-id: svn://10.0.0.236/trunk@32138 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:04:44 +00:00
peterl%netscape.com
c39d4db3d8 added css loader
git-svn-id: svn://10.0.0.236/trunk@32137 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:04:12 +00:00
peterl%netscape.com
38d391cd8b fixed change hint for border style
git-svn-id: svn://10.0.0.236/trunk@32136 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:03:29 +00:00
peterl%netscape.com
48831354ab added insert style sheet
fixed some observer notifications


git-svn-id: svn://10.0.0.236/trunk@32135 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:03:04 +00:00
peterl%netscape.com
9b48d494aa added insert style sheet method
git-svn-id: svn://10.0.0.236/trunk@32134 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:02:25 +00:00
peterl%netscape.com
0c7573e961 added css loader support
fixed document observer calls


git-svn-id: svn://10.0.0.236/trunk@32133 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 23:02:00 +00:00
norris%netscape.com
7c96700fcf Fix formatting.
git-svn-id: svn://10.0.0.236/trunk@32132 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:55:11 +00:00
norris%netscape.com
ecd847a6ac Clearer formatting.
git-svn-id: svn://10.0.0.236/trunk@32131 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:54:15 +00:00
rogerl%netscape.com
3e84c63771 New functionality
git-svn-id: svn://10.0.0.236/trunk@32130 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:50:53 +00:00
rogerl%netscape.com
3c0a85e0de New stuff - better handle on breaks etc, started try/catch
git-svn-id: svn://10.0.0.236/trunk@32129 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:49:59 +00:00
cata%netscape.com
0f957021ce Modified UTF-7 converters added.
git-svn-id: svn://10.0.0.236/trunk@32128 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:43:57 +00:00
slamm%netscape.com
879feefbc6 Ignore missing files (i.e. the dist directory is missing). General cleanup
git-svn-id: svn://10.0.0.236/trunk@32127 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:42:44 +00:00
jefft%netscape.com
936261fa15 call load url from imap incoming server
git-svn-id: svn://10.0.0.236/trunk@32126 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:39:32 +00:00
cata%netscape.com
614b3aef26 Modified UTF-7 converers added to the buid.
git-svn-id: svn://10.0.0.236/trunk@32125 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:38:26 +00:00
jefft%netscape.com
23329a5ec2 more on cached connections work -- urlQueue now implemented on nsImapIncomingServer instead of nsImapService; LoadNextQueuedUrl() will be triggered when finishing a running url
git-svn-id: svn://10.0.0.236/trunk@32124 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:38:25 +00:00
cata%netscape.com
2b2c1f127d added files: mozilla/intl/uconv/ucvlatin/nsUnicodeToMUTF7.cpp, mozilla/intl/uconv/ucvlatin/nsMUTF7ToUnicode.cpp
git-svn-id: svn://10.0.0.236/trunk@32123 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:37:47 +00:00
cata%netscape.com
30d3f19f65 Created.
git-svn-id: svn://10.0.0.236/trunk@32122 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:36:25 +00:00
jefft%netscape.com
9fd1d0a92d more on cached connections - removed CreateImapConnection(), LoadNextQueuedUrl() method
git-svn-id: svn://10.0.0.236/trunk@32121 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:34:41 +00:00
jefft%netscape.com
13c13360c9 more on cached connections - added TellThreadToDie() method
git-svn-id: svn://10.0.0.236/trunk@32120 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:33:49 +00:00
jefft%netscape.com
59d4a5b3d6 more on cached imap connections work - added Get/SetMaximumConnectionsNumber(), GetImapConnectionAndLoadUrl(), LoadNextQueuedUrl(), RemoveConnection() method
git-svn-id: svn://10.0.0.236/trunk@32119 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:32:46 +00:00
norris%netscape.com
baca4771b2 Add submission:
Subject:
            Re: Modified Context.java
       Date:
            Sat, 15 May 1999 08:01:37 +0000
      From:
            "Ian D. Stewart" <idstewart@softhome.net>
        To:
            Norris Boyd <norris@netscape.com>
 References:
            1 , 2 , 3 , 4 , 5




Ian D. Stewart wrote:

  Norris Boyd wrote:




    Can I help with EventListener collector?

  Actually, I have a working implementation complete (attatched), but by all means, feel free to add any functionality you feel
  may be missing, or to tweak the code .

Norris,

After I sent I my last e-mail, I noticed some potential issues using Object[] in ListenerCollection.getListeners(Class iface).
I'm attatching a new version, which uses a Vector object.  This should resolve those issues.


Ian


git-svn-id: svn://10.0.0.236/trunk@32118 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:32:25 +00:00
jefft%netscape.com
bf5f974f6c use nsCOMPtr for m_listeners
git-svn-id: svn://10.0.0.236/trunk@32117 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:30:10 +00:00
mjudge%netscape.com
82364c7531 oops fogot default boolean for non start or end node selection
git-svn-id: svn://10.0.0.236/trunk@32116 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:29:27 +00:00
sfraser%netscape.com
752634424b Implement nsCaret::GetWindowRelativeCoordinates for IME
git-svn-id: svn://10.0.0.236/trunk@32115 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:24:55 +00:00
law%netscape.com
8a1d815009 Fix bustage on Win95/Win98
git-svn-id: svn://10.0.0.236/trunk@32113 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:20:19 +00:00
law%netscape.com
08e59dff74 Minor improvements
git-svn-id: svn://10.0.0.236/trunk@32111 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:18:16 +00:00
radha%netscape.com
806caa2a3c Fix for bug # 5906. Update the URLbar with the url only if the page was loaded succesfully.
git-svn-id: svn://10.0.0.236/trunk@32109 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:14:33 +00:00
alecf%netscape.com
e1ffcac441 check return values when adding stuff to the history graph.
a=waterson


git-svn-id: svn://10.0.0.236/trunk@32108 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:11:35 +00:00
radha%netscape.com
2242257bef Hook up print button to BrowserPrint()
Give  a id to the "Stop" menuitem.


git-svn-id: svn://10.0.0.236/trunk@32107 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 22:11:20 +00:00
saari%netscape.com
d1ab6c3d35 fixing a release bug for Pavlov
git-svn-id: svn://10.0.0.236/trunk@32106 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:53:58 +00:00
karnaze%netscape.com
d59987018b new frameset regression tests
git-svn-id: svn://10.0.0.236/trunk@32105 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:52:57 +00:00
sspitzer%netscape.com
ec347d3e88 cvs ignorage for the generated Makefiles
git-svn-id: svn://10.0.0.236/trunk@32104 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:50:31 +00:00
rods%netscape.com
4c79f4e847 added nsFontRetrieverService
git-svn-id: svn://10.0.0.236/trunk@32103 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:49:47 +00:00
rods%netscape.com
3cfe0e08c1 Fixed up pointers to ref in params
git-svn-id: svn://10.0.0.236/trunk@32102 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:49:20 +00:00
rods%netscape.com
876efbebfb Adding nsFontRetrieverService and nsFontSizeIterator to build
git-svn-id: svn://10.0.0.236/trunk@32100 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:48:57 +00:00
rods%netscape.com
69aea6aefa adding nsIFontRetriverService and nsIFontName & Size iterator interfaces
git-svn-id: svn://10.0.0.236/trunk@32099 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:47:17 +00:00
sspitzer%netscape.com
5d61031095 changes to get news to work at the same time as imap and pop. the news part of the fix for #6405
git-svn-id: svn://10.0.0.236/trunk@32098 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:46:56 +00:00
beard%netscape.com
512e2c9a82 bug #5093: added call to Invalidate() when changing the position of scrollbar thumb.
git-svn-id: svn://10.0.0.236/trunk@32097 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:45:55 +00:00
beard%netscape.com
5ea7452f80 bug #5093: removed redundant calls to nsWidget::Invalidate(), fixed in nsScrollbar.cpp instead.
git-svn-id: svn://10.0.0.236/trunk@32096 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:45:46 +00:00
davidm%netscape.com
20d78b0ec9 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32095 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:44:52 +00:00
rods%netscape.com
5bd5af0abf Changed pointer to refs for name params
git-svn-id: svn://10.0.0.236/trunk@32094 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:43:22 +00:00
warren%netscape.com
a89e09d70c Added
git-svn-id: svn://10.0.0.236/trunk@32093 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:43:13 +00:00
davidm%netscape.com
e4b72ea23c File Removed.
git-svn-id: svn://10.0.0.236/trunk@32092 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:42:21 +00:00
danm%netscape.com
594f95b126 removing debugging cruft accidentally left in
git-svn-id: svn://10.0.0.236/trunk@32091 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:41:41 +00:00
davidm%netscape.com
a3d105efae Adding nsIWindowMediator.h
git-svn-id: svn://10.0.0.236/trunk@32090 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:41:13 +00:00
davidm%netscape.com
103862f6ae removing nsIWindowMediator.h
git-svn-id: svn://10.0.0.236/trunk@32089 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:41:05 +00:00
rods%netscape.com
de7c94af93 Added delete of array in destructor
git-svn-id: svn://10.0.0.236/trunk@32088 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:40:33 +00:00
danm%netscape.com
2c28021cb8 adding 'do not localize' comments
git-svn-id: svn://10.0.0.236/trunk@32087 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:39:23 +00:00
davidm%netscape.com
58c7d9bd34 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32086 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:38:47 +00:00
mscott%netscape.com
8c4a381879 Remove NS_RDF from this class declaration. This was giving us link warnings in every dll that linked with this library on windows. Why? When we link against the library, the macro is defining the class as an imported class; however because the library is statically linked, it really is a local declaration.
a=waterson


git-svn-id: svn://10.0.0.236/trunk@32084 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:28:43 +00:00
mscott%netscape.com
ce7f3e87d3 fix for bug #6219 -- send data every 2K so we don't fill up our internal buffer when sending a message.
git-svn-id: svn://10.0.0.236/trunk@32083 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:25:55 +00:00
mscott%netscape.com
1dabd287b7 Imap was removed from the build when the address book stuff was added yesterday!! re-add it back in.
git-svn-id: svn://10.0.0.236/trunk@32082 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:24:55 +00:00
valeski%netscape.com
55f42c3285 nsFtpConnectionThread now implements (not yet properly) nsICancelable.
git-svn-id: svn://10.0.0.236/trunk@32081 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 21:01:49 +00:00
valeski%netscape.com
bc1b396aa4 added the correct EventQueueCID
git-svn-id: svn://10.0.0.236/trunk@32080 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 20:56:25 +00:00
valeski%netscape.com
f6b4f57ea0 changed us over to teh correct EventQueueServiceCID
git-svn-id: svn://10.0.0.236/trunk@32079 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 20:53:38 +00:00
valeski%netscape.com
acb9c1b110 added eventQueue CID registration and am now passing in an EventQueue in to NewConnection
git-svn-id: svn://10.0.0.236/trunk@32078 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 20:52:07 +00:00
leaf%mozilla.org
4e6a65e4b2 backing out dveditz's changes (seems to be breaking mac)
git-svn-id: svn://10.0.0.236/trunk@32077 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 18:55:34 +00:00
blizzard%redhat.com
1b6077d184 catch up with changes to GTK font code
git-svn-id: svn://10.0.0.236/trunk@32076 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 15:39:41 +00:00
blizzard%redhat.com
cf68f7d7ab squelch warnings
git-svn-id: svn://10.0.0.236/trunk@32075 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 15:28:36 +00:00
dveditz%netscape.com
0087c0c77e missing lock
git-svn-id: svn://10.0.0.236/trunk@32074 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 14:49:02 +00:00
dveditz%netscape.com
5dc525a78a NSReg.h
git-svn-id: svn://10.0.0.236/trunk@32073 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 14:46:02 +00:00
pierre%netscape.com
0619f79267 Check mRootView in RenderViews to fix a crash with Photon. Patch from Jerry.Kirk@Nexwarecorp.com.
git-svn-id: svn://10.0.0.236/trunk@32072 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 14:37:57 +00:00
rods%netscape.com
bd15e6f4fd Added IsFontScaleable method
git-svn-id: svn://10.0.0.236/trunk@32071 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 13:46:49 +00:00
pierre%netscape.com
f46fadfca9 #5949 "Frequent resizing of window causes apprunner to stop drawing"
git-svn-id: svn://10.0.0.236/trunk@32070 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 13:14:46 +00:00
jfrancis%netscape.com
850244ea34 collapsed ranges now result in empty iterators over them
git-svn-id: svn://10.0.0.236/trunk@32069 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 11:11:14 +00:00
hyatt%netscape.com
5874d635ea Popup arbitrary XUL lives!
git-svn-id: svn://10.0.0.236/trunk@32068 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 10:29:48 +00:00
hyatt%netscape.com
7b8c7b11e4 Seems pretty basic to me. Not sure what the heck this function was trying
to be before.


git-svn-id: svn://10.0.0.236/trunk@32067 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 10:27:31 +00:00
hyatt%netscape.com
1b8c11755c Disabling the cloned style sheets. This is causing trouble. Will probably have
to force them to be reparsed.


git-svn-id: svn://10.0.0.236/trunk@32066 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 10:21:11 +00:00
hyatt%netscape.com
6e68596b53 Fixes.
git-svn-id: svn://10.0.0.236/trunk@32065 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 09:28:00 +00:00
dp%netscape.com
0602d256ab undoing previous change. It should have happened on the XPCOM20 BRANCH
git-svn-id: svn://10.0.0.236/trunk@32063 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 09:24:08 +00:00
dp%netscape.com
08898c02b7 Rolling over from initial XPCOM 2.0 changes
git-svn-id: svn://10.0.0.236/trunk@32062 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 09:19:05 +00:00
dp%netscape.com
35f66733c1 Initial version
git-svn-id: svn://10.0.0.236/trunk@32061 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 09:11:01 +00:00
hyatt%netscape.com
9a95f742b8 Oh yeah, baby.
git-svn-id: svn://10.0.0.236/trunk@32060 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 09:03:53 +00:00
hyatt%netscape.com
4c4f807908 Should all work. (Yeah, right.)
git-svn-id: svn://10.0.0.236/trunk@32059 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 09:03:26 +00:00
mccabe%netscape.com
09745d5cb3 Remove lecacy hack that moved .xpt files from over in js/src/xpconnect to components, now that xpconnect exports its own .xpt files.
git-svn-id: svn://10.0.0.236/trunk@32058 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 09:01:01 +00:00
hyatt%netscape.com
7028d1b5a5 GetIID. ARGH!
git-svn-id: svn://10.0.0.236/trunk@32057 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 08:37:54 +00:00
hyatt%netscape.com
0d7c115896 Popup listener knows how to be a blur listener.
git-svn-id: svn://10.0.0.236/trunk@32056 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 08:37:41 +00:00
hyatt%netscape.com
249db4a226 Taking advantage of Nisheeth and Rick's new method. Thanks guys!
git-svn-id: svn://10.0.0.236/trunk@32055 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 08:04:37 +00:00
hyatt%netscape.com
f309c8582f Typo.
git-svn-id: svn://10.0.0.236/trunk@32054 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 07:42:31 +00:00
hyatt%netscape.com
aca13cb5e1 Working on popup documents.
git-svn-id: svn://10.0.0.236/trunk@32053 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 07:40:59 +00:00
law%netscape.com
2f74243567 New File->Open dialog
git-svn-id: svn://10.0.0.236/trunk@32052 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 07:23:24 +00:00
law%netscape.com
2d75737602 New File->Open dialog
git-svn-id: svn://10.0.0.236/trunk@32051 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 07:13:15 +00:00
rjc%netscape.com
95b791809d Make sure that the bookmark panel includes the right RDF datasources! Also, show the bookmark shortcut column.
git-svn-id: svn://10.0.0.236/trunk@32050 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 07:02:06 +00:00
rjc%netscape.com
5ab8c67277 Get rid of a few warnings.
git-svn-id: svn://10.0.0.236/trunk@32049 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 06:34:15 +00:00
rjc%netscape.com
d7236ba605 More XUL template changes. Also re-enabling XUL_TEMPLATES.
git-svn-id: svn://10.0.0.236/trunk@32048 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 06:27:04 +00:00
rjc%netscape.com
7fae3a5430 Even more support for collation keys.
git-svn-id: svn://10.0.0.236/trunk@32047 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 06:19:04 +00:00
hyatt%netscape.com
ab58434d2a Fix for bug 6459.
git-svn-id: svn://10.0.0.236/trunk@32046 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 06:17:51 +00:00
hyatt%netscape.com
1310d3ed52 Had the wrong integer value for the right mouse button.
git-svn-id: svn://10.0.0.236/trunk@32045 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 06:05:43 +00:00
waterson%netscape.com
28cf421846 Fix historyComponent.mcp -> history.mcp, etc.
git-svn-id: svn://10.0.0.236/trunk@32044 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 05:47:00 +00:00
waterson%netscape.com
cafeb46339 Enable link coloring.
git-svn-id: svn://10.0.0.236/trunk@32043 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 05:21:37 +00:00
karnaze%netscape.com
d6b03337dc support for css padding in table cells
git-svn-id: svn://10.0.0.236/trunk@32042 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 05:18:16 +00:00
sspitzer%netscape.com
dd79ec16b3 fix solaris build bustage.
git-svn-id: svn://10.0.0.236/trunk@32041 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 05:13:48 +00:00
sspitzer%netscape.com
966410fc1b the target is Makefile, not Makefile.in
git-svn-id: svn://10.0.0.236/trunk@32040 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 05:12:24 +00:00
matt%netscape.com
eeab9a8429 Fixing spelling error
git-svn-id: svn://10.0.0.236/trunk@32039 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:48:07 +00:00
pierre%netscape.com
c9f34f1ca6 removed last week's hack to access the 'ldes' resource, replaced it with the new nsMacResources
git-svn-id: svn://10.0.0.236/trunk@32038 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:43:03 +00:00
pierre%netscape.com
d4c31955ec use local resources in SetCursor
git-svn-id: svn://10.0.0.236/trunk@32037 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:41:03 +00:00
pierre%netscape.com
6c7400ec77 added nsMacResources, changed DLL entry points to __initializeResources and __terminateResources
git-svn-id: svn://10.0.0.236/trunk@32036 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:40:33 +00:00
pierre%netscape.com
0df62da469 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32035 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:37:22 +00:00
matt%netscape.com
68eea8afae *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@32034 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:34:15 +00:00
waterson%netscape.com
f6ee21e30b Add history component.
git-svn-id: svn://10.0.0.236/trunk@32033 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:12:21 +00:00
waterson%netscape.com
48d327130b Move global history implementation out of appshell and into xpfe/components.
git-svn-id: svn://10.0.0.236/trunk@32032 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:11:43 +00:00
waterson%netscape.com
57fae59e1a Add xpfe/components/history to the build.
git-svn-id: svn://10.0.0.236/trunk@32031 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:10:42 +00:00
waterson%netscape.com
b603a5f3a0 Moved nsHistoryDataSource implementation info xpfe/components/history.
git-svn-id: svn://10.0.0.236/trunk@32030 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:10:09 +00:00
waterson%netscape.com
a55a62ae49 Moved nsHistoryDataSource implementation into xpfe/components/history.
git-svn-id: svn://10.0.0.236/trunk@32029 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:09:44 +00:00
evaughan%netscape.com
2a4db9892a Fixed box insertion removeal bug.
git-svn-id: svn://10.0.0.236/trunk@32028 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 04:06:52 +00:00
waterson%netscape.com
183b38a5ea Remove extraneous whitespace.
git-svn-id: svn://10.0.0.236/trunk@32027 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:54:25 +00:00
waterson%netscape.com
0a67db947b Use nsServiceManager to get singleton datasources instead of nsComponentManager.
git-svn-id: svn://10.0.0.236/trunk@32026 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:53:18 +00:00
slamm%netscape.com
e8068b7cce oops. Make sure it's debug only.
git-svn-id: svn://10.0.0.236/trunk@32025 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:51:11 +00:00
slamm%netscape.com
2fbc2039de Add some debugging support.
git-svn-id: svn://10.0.0.236/trunk@32024 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:46:20 +00:00
sspitzer%netscape.com
a9f1826ac3 quick, fix my build bustage before anyone else sees it!
git-svn-id: svn://10.0.0.236/trunk@32023 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:43:24 +00:00
waterson%netscape.com
0644ede4df Add history component makefiles.
git-svn-id: svn://10.0.0.236/trunk@32022 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:40:25 +00:00
sspitzer%netscape.com
392b1b6ed5 "fat" is "NewsFAT" on the mac. turn my comment into an annoying printf, so
I'll be bugged to fix it.


git-svn-id: svn://10.0.0.236/trunk@32021 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:35:28 +00:00
waterson%netscape.com
0d50048950 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32020 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:15:19 +00:00
pierre%netscape.com
2727e1270a updated comments the Profiler
git-svn-id: svn://10.0.0.236/trunk@32019 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 03:05:07 +00:00
pierre%netscape.com
5fcc506a0d Moved the Profiler stuff into separate targets in NSRuntime. Udapted the build scripts.
git-svn-id: svn://10.0.0.236/trunk@32018 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:59:03 +00:00
waterson%netscape.com
00b0219976 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@32017 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:53:28 +00:00
karnaze%netscape.com
f9c6ef5e22 new regression tests
git-svn-id: svn://10.0.0.236/trunk@32016 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:46:51 +00:00
ftang%netscape.com
93add79105 fix misusage of nsAutoString w/ GetUnicode() method, which cause trouble in UNIX
git-svn-id: svn://10.0.0.236/trunk@32015 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:28:33 +00:00
alecf%netscape.com
a8e057659b fix some warnings, get rid of variable named index() and cache value of GetSize()
git-svn-id: svn://10.0.0.236/trunk@32014 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:22:56 +00:00
mccabe%netscape.com
08bf172e28 Only alloc space for interface records if we actually have interfaces; fixes a calloc(1,0) bug that was breaking the AIX build. (Thanks to Jim Dunn <jdunn@netscape.com> for finding this, and to Mike Shaver <shaver@netscape.com> for contributing the patch.
The xpcom tree remains closed, but this patch gets in for m6 by special dispensation.

A=leaf,dp


git-svn-id: svn://10.0.0.236/trunk@32011 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:10:05 +00:00
vidur%netscape.com
7e5b8dacb8 Partial fix for bug 6554. document.writing the body from a script in the head now works.
git-svn-id: svn://10.0.0.236/trunk@32010 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:08:04 +00:00
despotdaemon%netscape.com
d3862f711b Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@32009 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:07:38 +00:00
ftang%netscape.com
8fc1fa9995 temp turn off the webshell call to fix resursive issue.
git-svn-id: svn://10.0.0.236/trunk@32008 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 02:04:53 +00:00
95 changed files with 18627 additions and 699 deletions

View File

@@ -1,699 +0,0 @@
/* -*- Mode: c++; tab-width: 2; indent-tabs-mode: nil; -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsFileWidget.h"
#include "nsStringUtil.h"
#include <StandardFile.h>
#include <ICAPI.h>
#include "nsMacControl.h"
#include "nsFileSpec.h"
#define DBG 0
NS_IMPL_ADDREF(nsFileWidget)
NS_IMPL_RELEASE(nsFileWidget)
//-------------------------------------------------------------------------
//
// nsFileWidget constructor
//
//-------------------------------------------------------------------------
nsFileWidget::nsFileWidget()
{
NS_INIT_REFCNT();
mIOwnEventLoop = PR_FALSE;
mNumberOfFilters = 0;
// Zero out the type lists
for (int i = 0; i < kMaxTypeListCount; i++)
{
mTypeLists[i] = 0L;
}
}
//-------------------------------------------------------------------------
//
// nsFileWidget destructor
//
//-------------------------------------------------------------------------
nsFileWidget::~nsFileWidget()
{
// Destroy any filters we have built
if (mNumberOfFilters)
{
for (int i = 0; i < kMaxTypeListCount; i++)
{
if (mTypeLists[i])
DisposePtr((Ptr)mTypeLists[i]);
}
}
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::Create(nsIWidget *aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell,
nsIToolkit *aToolkit,
nsWidgetInitData *aInitData)
{
nsString title("Open");
Create(aParent, title, eMode_load, aContext, aAppShell, aToolkit, aInitData);
return NS_OK;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget:: Create(nsIWidget *aParent,
const nsString& aTitle,
nsFileDlgMode aMode,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell,
nsIToolkit *aToolkit,
void *aInitData)
{
mTitle = aTitle;
mMode = aMode;
mWindowPtr = nsnull;
return NS_OK;
}
/**
* Implement the standard QueryInterface for NS_IWIDGET_IID and NS_ISUPPORTS_IID
* @param aIID The name of the class implementing the method
* @param _classiiddef The name of the #define symbol that defines the IID
* for the class (e.g. NS_ISUPPORTS_IID)
*/
nsresult nsFileWidget::QueryInterface(const nsIID& aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
static NS_DEFINE_IID(kIFileWidgetIID, NS_IFILEWIDGET_IID);
if (aIID.Equals(kIFileWidgetIID)) {
*aInstancePtr = (void*) ((nsIFileWidget*)this);
AddRef();
return NS_OK;
}
return nsWindow::QueryInterface(aIID,aInstancePtr);
}
NS_IMETHODIMP nsFileWidget::Create(nsNativeWidget aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell,
nsIToolkit *aToolkit,
nsWidgetInitData *aInitData)
{
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Ok's the dialog
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::OnOk()
{
mWasCancelled = PR_FALSE;
mIOwnEventLoop = PR_FALSE;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Cancel the dialog
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::OnCancel()
{
mWasCancelled = PR_TRUE;
mIOwnEventLoop = PR_FALSE;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Show - Display the file dialog
//
//-------------------------------------------------------------------------
PRBool nsFileWidget::Show()
{
nsString filterList;
GetFilterListArray(filterList);
char *filterBuffer = filterList.ToNewCString();
Str255 title;
Str255 defaultName;
nsMacControl::StringToStr255(mTitle,title);
nsMacControl::StringToStr255(mDefault,defaultName);
FSSpec theFile;
PRBool userClicksOK = PR_FALSE;
// XXX Ignore the filter list for now....
if (mMode == eMode_load)
userClicksOK = GetFile ( title, &theFile );
else if (mMode == eMode_save)
userClicksOK = PutFile ( title, defaultName, &theFile );
else if (mMode == eMode_getfolder)
userClicksOK = GetFolder ( title, &theFile );
// Clean up filter buffers
delete[] filterBuffer;
if ( userClicksOK ) {
nsNativeFileSpec fileSpec(theFile);
nsFilePath filePath(fileSpec);
mFile = filePath;
mFileSpec = fileSpec;
}
return userClicksOK;
}
//-------------------------------------------------------------------------
//
// myProc
//
// An event filter proc for NavServices so the dialogs will be movable-modals. However,
// this doesn't seem to work as of yet...I'll play around with it some more.
//
//-------------------------------------------------------------------------
pascal void myProc ( NavEventCallbackMessage msg, NavCBRecPtr cbRec, NavCallBackUserData data ) ;
pascal void myProc ( NavEventCallbackMessage msg, NavCBRecPtr cbRec, NavCallBackUserData data )
{
WindowPtr window = reinterpret_cast<WindowPtr>(cbRec->eventData.eventDataParms.event->message);
switch ( msg ) {
case kNavCBEvent:
switch ( cbRec->eventData.eventDataParms.event->what ) {
case updateEvt:
::BeginUpdate(window);
::EndUpdate(window);
break;
}
break;
}
}
//-------------------------------------------------------------------------
//
// PutFile
//
// Use NavServices to do a PutFile. Returns PR_TRUE if the user presses OK in the dialog. If
// they do so, the location to put the file and the name, etc is in the FSSpec.
//
//-------------------------------------------------------------------------
PRBool
nsFileWidget :: PutFile ( Str255 & inTitle, Str255 & inDefaultName, FSSpec* outSpec )
{
PRBool retVal = PR_FALSE;
NavReplyRecord reply;
NavDialogOptions dialogOptions;
NavEventUPP eventProc = NewNavEventProc(myProc); // doesn't really matter if this fails
OSType typeToSave = 'TEXT';
OSType creatorToSave = 'MOZZ';
OSErr anErr = NavGetDefaultDialogOptions(&dialogOptions);
if (anErr == noErr) {
// Set the options for how the get file dialog will appear
dialogOptions.dialogOptionFlags |= kNavNoTypePopup;
dialogOptions.dialogOptionFlags |= kNavDontAutoTranslate;
dialogOptions.dialogOptionFlags |= kNavDontAddTranslateItems;
dialogOptions.dialogOptionFlags ^= kNavAllowMultipleFiles;
::BlockMoveData(inTitle, dialogOptions.message, *inTitle + 1);
// Display the get file dialog
anErr = ::NavPutFile(
NULL,
&reply,
&dialogOptions,
eventProc,
typeToSave,
creatorToSave,
NULL); // callbackUD
// See if the user has selected save
if (anErr == noErr && reply.validRecord) {
AEKeyword theKeyword;
DescType actualType;
Size actualSize;
FSSpec theFSSpec;
// Get the FSSpec for the file to be opened
anErr = AEGetNthPtr(&(reply.selection), 1, typeFSS, &theKeyword, &actualType,
&theFSSpec, sizeof(theFSSpec), &actualSize);
if (anErr == noErr) {
*outSpec = theFSSpec; // Return the FSSpec
if (reply.replacing)
mSelectResult = nsFileDlgResults_Replace;
else
mSelectResult = nsFileDlgResults_OK;
// Some housekeeping for Nav Services
::NavCompleteSave(&reply, kNavTranslateInPlace);
::NavDisposeReply(&reply);
retVal = PR_TRUE;
}
} // if user clicked OK
} // if can get dialog options
if ( eventProc ) {
#if TARGET_CARBON
::DisposeNavEventUPP(eventProc);
#else
::DisposeRoutineDescriptor(eventProc);
#endif
}
return retVal;
} // PutFile
//-------------------------------------------------------------------------
//
// GetFile
//
// Use NavServices to do a GetFile. Returns PR_TRUE if the user presses OK in the dialog. If
// they do so, the selected file is in the FSSpec.
//
//-------------------------------------------------------------------------
PRBool
nsFileWidget :: GetFile ( Str255 & inTitle, /* filter list here later */ FSSpec* outSpec )
{
PRBool retVal = PR_FALSE;
NavReplyRecord reply;
NavDialogOptions dialogOptions;
NavEventUPP eventProc = NewNavEventProc(myProc); // doesn't really matter if this fails
OSErr anErr = NavGetDefaultDialogOptions(&dialogOptions);
if (anErr == noErr) {
// Set the options for how the get file dialog will appear
dialogOptions.dialogOptionFlags |= kNavNoTypePopup;
dialogOptions.dialogOptionFlags |= kNavDontAutoTranslate;
dialogOptions.dialogOptionFlags |= kNavDontAddTranslateItems;
dialogOptions.dialogOptionFlags ^= kNavAllowMultipleFiles;
::BlockMoveData(inTitle, dialogOptions.message, *inTitle + 1);
// Display the get file dialog
anErr = ::NavGetFile(
NULL,
&reply,
&dialogOptions,
eventProc,
NULL, // preview proc
NULL, // filter proc
NULL, //typeList,
NULL); // callbackUD
// See if the user has selected save
if (anErr == noErr && reply.validRecord) {
AEKeyword theKeyword;
DescType actualType;
Size actualSize;
FSSpec theFSSpec;
// Get the FSSpec for the file to be opened
anErr = AEGetNthPtr(&(reply.selection), 1, typeFSS, &theKeyword, &actualType,
&theFSSpec, sizeof(theFSSpec), &actualSize);
if (anErr == noErr) {
*outSpec = theFSSpec; // Return the FSSpec
mSelectResult = nsFileDlgResults_OK;
// Some housekeeping for Nav Services
::NavDisposeReply(&reply);
retVal = PR_TRUE;
}
} // if user clicked OK
} // if can get dialog options
if ( eventProc ) {
#if TARGET_CARBON
::DisposeNavEventUPP(eventProc);
#else
::DisposeRoutineDescriptor(eventProc);
#endif
}
return retVal;
} // GetFile
//-------------------------------------------------------------------------
//
// GetFolder
//
// Use NavServices to do a PutFile. Returns PR_TRUE if the user presses OK in the dialog. If
// they do so, the folder location is in the FSSpec.
//
//-------------------------------------------------------------------------
PRBool
nsFileWidget :: GetFolder ( Str255 & inTitle, FSSpec* outSpec )
{
PRBool retVal = PR_FALSE;
NavReplyRecord reply;
NavDialogOptions dialogOptions;
NavEventUPP eventProc = NewNavEventProc(myProc); // doesn't really matter if this fails
OSErr anErr = NavGetDefaultDialogOptions(&dialogOptions);
if (anErr == noErr) {
// Set the options for how the get file dialog will appear
dialogOptions.dialogOptionFlags |= kNavNoTypePopup;
dialogOptions.dialogOptionFlags |= kNavDontAutoTranslate;
dialogOptions.dialogOptionFlags |= kNavDontAddTranslateItems;
dialogOptions.dialogOptionFlags ^= kNavAllowMultipleFiles;
::BlockMoveData(inTitle, dialogOptions.message, *inTitle + 1);
// Display the get file dialog
anErr = ::NavChooseFolder(
NULL,
&reply,
&dialogOptions,
eventProc,
NULL, // filter proc
NULL); // callbackUD
// See if the user has selected save
if (anErr == noErr && reply.validRecord) {
AEKeyword theKeyword;
DescType actualType;
Size actualSize;
FSSpec theFSSpec;
// Get the FSSpec for the file to be opened
anErr = AEGetNthPtr(&(reply.selection), 1, typeFSS, &theKeyword, &actualType,
&theFSSpec, sizeof(theFSSpec), &actualSize);
if (anErr == noErr) {
*outSpec = theFSSpec; // Return the FSSpec
mSelectResult = nsFileDlgResults_OK;
// Some housekeeping for Nav Services
::NavDisposeReply(&reply);
retVal = PR_TRUE;
}
} // if user clicked OK
} // if can get dialog options
if ( eventProc ) {
#if TARGET_CARBON
::DisposeNavEventUPP(eventProc);
#else
::DisposeRoutineDescriptor(eventProc);
#endif
}
return retVal;
} // GetFolder
//-------------------------------------------------------------------------
//
// Convert filter titles + filters into a Windows filter string
//
//-------------------------------------------------------------------------
void nsFileWidget::GetFilterListArray(nsString& aFilterList)
{
aFilterList.SetLength(0);
for (PRUint32 i = 0; i < mNumberOfFilters; i++) {
const nsString& title = mTitles[i];
const nsString& filter = mFilters[i];
aFilterList.Append(title);
aFilterList.Append('\0');
aFilterList.Append(filter);
aFilterList.Append('\0');
}
aFilterList.Append('\0');
}
//-------------------------------------------------------------------------
//
// Set the list of filters
//
// Note - Since the XP representation of filters is based on the Win32
// file dialog mechanism of supplying a .ext list of files to
// display we need to do some massaging to convert this into
// something useful on the Mac. Luckily Internet Config provides
// a mechanism to get a file's Mac type based on the .ext so
// we'll utilize that.
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::SetFilterList(PRUint32 aNumberOfFilters,const nsString aTitles[],const nsString aFilters[])
{
unsigned char typeTemp[256];
unsigned char tempChar;
OSType tempOSType;
ICInstance icInstance;
ICError icErr;
Handle mappings = NewHandleClear(4);
ICAttr attr;
ICMapEntry icEntry;
mNumberOfFilters = aNumberOfFilters;
mTitles = aTitles;
mFilters = aFilters;
#if 0 // FOR NOW JUST BYPASS ALL THIS CODE
icErr = ICStart(&icInstance, 'MOZZ');
if (icErr == noErr)
{
icErr = ICFindConfigFile(icInstance, 0, nil);
if (icErr == noErr)
{
icErr = ICFindPrefHandle(icInstance, kICMapping, &attr, mappings);
if (icErr != noErr)
goto bail_w_IC;
}
else
goto bail_w_IC;
}
else
goto bail_wo_IC;
if (aNumberOfFilters)
{
// First we allocate the memory for the Mac type lists
for (PRUint32 loop1 = 0; loop1 < mNumberOfFilters; loop1++)
{
mTypeLists[loop1] =
(NavTypeListPtr)NewPtrClear(sizeof(NavTypeList) + kMaxTypesPerFilter * sizeof(OSType));
if (mTypeLists[loop1] == nil)
goto bail_w_IC;
}
// Now loop through each of the filter strings
for (PRUint32 loop1 = 0; loop1 < mNumberOfFilters; loop1++)
{
const nsString& filter = mFilters[loop1];
PRUint32 filterIndex = 0; // Index into the filter string
if (filter[filterIndex])
{
PRUint32 typeTempIndex = 1; // Index into the temp string for a single filter type
PRUint32 typesInThisFilter = 0; // Count for # of types in this filter
bool finishedThisFilter = false; // Flag so we know when we're finsihed with the filter
do // Loop throught the characters of filter string
{
if ((tempChar == ';') || (tempChar == 0))
{ // End of filter type reached
typeTemp[typeTempIndex] = 0;
typeTemp[0] = typeTempIndex - 1;
icErr = ICMapEntriesFilename(icInstance, mappings, typeTemp, &icEntry);
if (icErr != icPrefNotFoundErr)
{
bool addToList = true;
tempOSType = icEntry.file_type;
for (PRUint32 typeIndex = 0; typeIndex < typesInThisFilter; typeIndex++)
{
if (mTypeLists[loop1]->osType[typeIndex] == tempOSType)
{
addToList = false;
break;
}
}
if (addToList)
mTypeLists[loop1]->osType[typesInThisFilter++] = tempOSType;
}
typeTempIndex = 0; // Reset the temp string for the type
typeTemp[0] = 0;
if (tempChar == 0)
finishedThisFilter = true;
}
else
{
typeTemp[typeTempIndex++] = tempChar;
}
filterIndex++;
} while (!finishedThisFilter);
// Set hoe many OSTypes we actually found
mTypeLists[loop1]->osTypeCount = typesInThisFilter;
}
}
}
bail_w_IC:
ICStop(icInstance);
bail_wo_IC:
#endif // FOR NOW JUST BYPASS ALL THIS CODE
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the file + path
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::GetFile(nsFileSpec& aFile)
{
aFile = mFileSpec;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the file + path
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::SetDefaultString(const nsString& aString)
{
mDefault = aString;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set the display directory
//
//-------------------------------------------------------------------------
NS_METHOD nsFileWidget::SetDisplayDirectory(const nsFileSpec& aDirectory)
{
mDisplayDirectory = aDirectory;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the display directory
//
//-------------------------------------------------------------------------
NS_METHOD nsFileWidget::GetDisplayDirectory(nsFileSpec& aDirectory)
{
aDirectory = mDisplayDirectory;
return NS_OK;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
nsFileDlgResults nsFileWidget::GetFile(
nsIWidget * aParent,
const nsString & promptString,
nsFileSpec & theFileSpec)
{
Create(aParent, promptString, eMode_load, nsnull, nsnull);
if (Show() == PR_TRUE)
{
theFileSpec = mFileSpec;
return mSelectResult;
}
return nsFileDlgResults_Cancel;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
nsFileDlgResults nsFileWidget::GetFolder(
nsIWidget * aParent,
const nsString & promptString,
nsFileSpec & theFileSpec)
{
Create(aParent, promptString, eMode_getfolder, nsnull, nsnull);
if (Show() == PR_TRUE)
{
theFileSpec = mFileSpec;
return mSelectResult;
}
return nsFileDlgResults_Cancel;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
nsFileDlgResults nsFileWidget::PutFile(
nsIWidget * aParent,
const nsString & promptString,
nsFileSpec & theFileSpec)
{
Create(aParent, promptString, eMode_save, nsnull, nsnull);
if (Show() == PR_TRUE)
{
theFileSpec = mFileSpec;
return mSelectResult;
}
return nsFileDlgResults_Cancel;
}

View File

@@ -0,0 +1,39 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code,
# released March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# Contributors:
# Daniel Veditz <dveditz@netscape.com>
# Douglas Turner <dougt@netscape.com>
DEPTH = ..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = public
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/config/rules.mk

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,30 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code,
# released March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# Contributors:
# Daniel Veditz <dveditz@netscape.com>
# Douglas Turner <dougt@netscape.com>
DEPTH=..
DIRS= public res src
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,33 @@
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NC="http://home.netscape.com/NC-rdf#">
<RDF:Bag ID="NC:SoftwareUpdateRoot">
<RDF:li>
<RDF:Bag ID="NC:NewSoftwareToday" NC:title="New Software">
<RDF:li>
<RDF:Description ID="AimUpdate344">
<NC:type resource="http://home.netscape.com/NC-rdf#SoftwarePackage" />
<NC:title>AOL AIM</NC:title>
<NC:description>An Instant Message Client</NC:description>
<NC:version>3.4.1.12</NC:version>
<NC:registryKey>/AOL/AIM/</NC:registryKey>
<NC:url>http://home.netscape.com/index.html</NC:url>
</RDF:Description>
</RDF:li>
<RDF:li>
<RDF:Description ID="PGPPlugin345">
<NC:type resource="http://home.netscape.com/NC-rdf#SoftwarePackage" />
<NC:title>PGP Plugin For Mozilla</NC:title>
<NC:description>A high grade encryption plugin</NC:description>
<NC:version>1.1.2.0</NC:version>
<NC:registryKey>/PGP/ROCKS/</NC:registryKey>
<NC:url>http://home.netscape.com/index.html</NC:url>
</RDF:Description>
</RDF:li>
</RDF:Bag>
</RDF:li>
</RDF:Bag>
</RDF:RDF>

View File

@@ -0,0 +1,57 @@
window {
display: block;
}
tree {
display: table;
background-color: #FFFFFF;
border: none;
border-spacing: 0px;
width: 100%;
}
treecol {
display: table-column;
width: 200px;
}
treeitem {
display: table-row;
}
treehead {
display: table-header-group;
}
treebody {
display: table-row-group;
}
treecell {
display: table-cell;
font-family: Verdana, Sans-Serif;
font-size: 8pt;
}
treecell[selectedcell] {
background-color: yellow;
}
treehead treeitem treecell {
background-color: #c0c0c0;
border: outset 1px;
border-color: white #707070 #707070 white;
padding-left: 4px;
}
treeitem[type="http://home.netscape.com/NC-rdf#SoftwarePackage"] > treecell > titledbutton {
list-style-image: url("resource:/res/rdf/SoftwareUpdatePackage.gif");
}
treeitem[type="http://home.netscape.com/NC-rdf#Folder"] > treecell > titledbutton {
list-style-image: url("resource:/res/rdf/bookmark-folder-closed.gif");
treeitem[type="http://home.netscape.com/NC-rdf#Folder"][open="true"] > treecell > titledbutton {
list-style-image: url("resource:/res/rdf/bookmark-folder-open.gif");
}

View File

@@ -0,0 +1,123 @@
// the rdf service
var RDF = Components.classes['component://netscape/rdf/rdf-service'].getService();
RDF = RDF.QueryInterface(Components.interfaces.nsIRDFService);
function getAttr(registry,service,attr_name)
{
var attr = registry.GetTarget(service,
RDF.GetResource('http://home.netscape.com/NC-rdf#' + attr_name),
true);
if (attr)
attr = attr.QueryInterface(Components.interfaces.nsIRDFLiteral);
if (attr)
attr = attr.Value;
return attr;
}
function Init()
{
// this is the main rdf file.
var mainRegistry = RDF.GetDataSource('resource://res/rdf/SoftwareUpdates.rdf');
var mainContainer = Components.classes['component://netscape/rdf/container'].createInstance();
mainContainer = mainContainer.QueryInterface(Components.interfaces.nsIRDFContainer);
mainContainer.Init(mainRegistry, RDF.GetResource('NC:SoftwareUpdateDataSources'));
// Now enumerate all of the softwareupdate datasources.
var mainEnumerator = mainContainer.GetElements();
while (mainEnumerator.HasMoreElements())
{
var aDistributor = mainEnumerator.GetNext();
aDistributor = aDistributor.QueryInterface(Components.interfaces.nsIRDFResource);
var distributorContainer = Components.classes['component://netscape/rdf/container'].createInstance();
distributorContainer = distributorContainer.QueryInterface(Components.interfaces.nsIRDFContainer);
var distributorRegistry = RDF.GetDataSource(aDistributor.Value);
var distributorResource = RDF.GetResource('NC:SoftwareUpdateRoot');
distributorContainer.Init(distributorRegistry, distributorResource);
// Now enumerate all of the distributorContainer's packages.
var distributorEnumerator = distributorContainer.GetElements();
while (distributorEnumerator.HasMoreElements())
{
var aPackage = distributorEnumerator.GetNext();
aPackage = aPackage.QueryInterface(Components.interfaces.nsIRDFResource);
// remove any that we do not want.
if (getAttr(distributorRegistry, aPackage, 'title') == "AOL AIM")
{
//distributorContainer.RemoveElement(aPackage, true);
}
}
var tree = document.getElementById('tree');
// Add it to the tree control's composite datasource.
tree.database.AddDataSource(distributorRegistry);
}
// Install all of the stylesheets in the softwareupdate Registry into the
// panel.
// TODO
// XXX hack to force the tree to rebuild
var treebody = document.getElementById('NC:SoftwareUpdateRoot');
treebody.setAttribute('id', 'NC:SoftwareUpdateRoot');
}
function OpenURL(event, node)
{
if (node.getAttribute('type') == "http://home.netscape.com/NC-rdf#SoftwarePackage")
{
url = node.getAttribute('url');
/*window.open(url,'bookmarks');*/
var toolkitCore = XPAppCoresManager.Find("ToolkitCore");
if (!toolkitCore)
{
toolkitCore = new ToolkitCore();
if (toolkitCore)
{
toolkitCore.Init("ToolkitCore");
}
}
if (toolkitCore)
{
toolkitCore.ShowWindow(url,window);
}
dump("OpenURL(" + url + ")\n");
return true;
}
return false;
}
// To get around "window.onload" not working in viewer.
function Boot()
{
var tree = document.getElementById('tree');
if (tree == null) {
setTimeout(Boot, 0);
}
else {
Init();
}
}
setTimeout('Boot()', 0);

View File

@@ -0,0 +1,30 @@
<?xml version="1.0"?>
<?xml-stylesheet href="resource:/res/rdf/sidebar.css" type="text/css"?>
<?xml-stylesheet href="resource:/res/rdf/SoftwareUpdate.css" type="text/css"?>
<window
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<html:script src="SoftwareUpdate.js"/>
<tree id="tree"
flex="100%"
datasources="rdf:softwareupdates"
ondblclick="return OpenURL(event, event.target.parentNode);">
<treecol rdf:resource="http://home.netscape.com/NC-rdf#title" />
<treecol rdf:resource="http://home.netscape.com/NC-rdf#description" />
<treecol rdf:resource="http://home.netscape.com/NC-rdf#version" />
<treehead>
<treeitem>
<treecell>Title</treecell>
<treecell>Description</treecell>
<treecell>Version</treecell>
</treeitem>
</treehead>
<treebody id="NC:SoftwareUpdateRoot" rdf:containment="http://home.netscape.com/NC-rdf#child" />
</tree>
</window>

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

View File

@@ -0,0 +1,7 @@
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NC="http://home.netscape.com/softwareupdate-schema#">
<RDF:Bag ID="NC:SoftwareUpdateDataSources">
<RDF:li resource="resource:/res/rdf/SoftwareUpdate-Source-1.rdf" />
</RDF:Bag>
</RDF:RDF>

View File

@@ -0,0 +1,6 @@
#
# This is a list of local files which get copied to the mozilla:dist directory
#
nsISoftwareUpdate.h
nsSoftwareUpdateIIDs.h

View File

@@ -0,0 +1,47 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code,
# released March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# Contributors:
# Daniel Veditz <dveditz@netscape.com>
# Douglas Turner <dougt@netscape.com>
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = xpinstall
XPIDLSRCS = nsIXPInstallProgress.idl
EXPORTS = \
nsIDOMInstallTriggerGlobal.h \
nsIDOMInstallVersion.h \
nsSoftwareUpdateIIDs.h \
nsISoftwareUpdate.h \
$(NULL)
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,113 @@
interface Install
{
/* IID: { 0x18c2f988, 0xb09f, 0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53}} */
const int BAD_PACKAGE_NAME = -200;
const int UNEXPECTED_ERROR = -201;
const int ACCESS_DENIED = -202;
const int TOO_MANY_CERTIFICATES = -203; /* Installer file must have 1 certificate */
const int NO_INSTALLER_CERTIFICATE = -204; /* Installer file must have a certificate */
const int NO_CERTIFICATE = -205; /* Extracted file is not signed */
const int NO_MATCHING_CERTIFICATE = -206; /* Extracted file does not match installer certificate */
const int UNKNOWN_JAR_FILE = -207; /* JAR file has not been opened */
const int INVALID_ARGUMENTS = -208; /* Bad arguments to a function */
const int ILLEGAL_RELATIVE_PATH = -209; /* Illegal relative path */
const int USER_CANCELLED = -210; /* User cancelled */
const int INSTALL_NOT_STARTED = -211;
const int SILENT_MODE_DENIED = -212;
const int NO_SUCH_COMPONENT = -213; /* no such component in the registry. */
const int FILE_DOES_NOT_EXIST = -214; /* File cannot be deleted as it does not exist */
const int FILE_READ_ONLY = -215; /* File cannot be deleted as it is read only. */
const int FILE_IS_DIRECTORY = -216; /* File cannot be deleted as it is a directory */
const int NETWORK_FILE_IS_IN_USE = -217; /* File on the network is in-use */
const int APPLE_SINGLE_ERR = -218; /* error in AppleSingle unpacking */
const int INVALID_PATH_ERR = -219; /* GetFolder() did not like the folderID */
const int PATCH_BAD_DIFF = -220; /* error in GDIFF patch */
const int PATCH_BAD_CHECKSUM_TARGET = -221; /* source file doesn't checksum */
const int PATCH_BAD_CHECKSUM_RESULT = -222; /* final patched file fails checksum */
const int UNINSTALL_FAILED = -223; /* error while uninstalling a package */
const int GESTALT_UNKNOWN_ERR = -5550;
const int GESTALT_INVALID_ARGUMENT = -5551;
const int SUCCESS = 0;
const int REBOOT_NEEDED = 999;
/* install types */
const int LIMITED_INSTALL = 0;
const int FULL_INSTALL = 1;
const int NO_STATUS_DLG = 2;
const int NO_FINALIZE_DLG = 4;
// these should not be public...
/* message IDs*/
const int SU_INSTALL_FILE_UNEXPECTED_MSG_ID = 0;
const int SU_DETAILS_REPLACE_FILE_MSG_ID = 1;
const int SU_DETAILS_INSTALL_FILE_MSG_ID = 2;
//////////////////////////
readonly attribute wstring UserPackageName;
readonly attribute wstring RegPackageName;
void Install();
void AbortInstall();
long AddDirectory( in wstring regName,
in wstring version,
in wstring jarSource,
in InstallFolder folder,
in wstring subdir,
in boolean forceMode );
long AddSubcomponent( in wstring regName,
in wstring version,
in wstring jarSource,
in InstallFolder folder,
in wstring targetName,
in boolean forceMode );
long DeleteComponent( in wstring registryName);
long DeleteFile( in InstallFolder folder,
in wstring relativeFileName );
long DiskSpaceAvailable( in InstallFolder folder );
long Execute(in wstring jarSource, in wstring args);
long FinalizeInstall();
long Gestalt (in wstring selector);
InstallFolder GetComponentFolder( in wstring regName,
in wstring subdirectory);
InstallFolder GetFolder(in wstring targetFolder,
in wstring subdirectory);
long GetLastError();
long GetWinProfile(in InstallFolder folder, in wstring file);
long GetWinRegistry();
long Patch( in wstring regName,
in wstring version,
in wstring jarSource,
in InstallFolder folder,
in wstring targetName );
void ResetError();
void SetPackageFolder( in InstallFolder folder );
long StartInstall( in wstring userPackageName,
in wstring packageName,
in wstring version,
in long flags );
long Uninstall( in wstring packageName);
};

View File

@@ -0,0 +1,24 @@
interface InstallTriggerGlobal
{
/* IID: { 0x18c2f987, 0xb09f, 0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53}} */
const int MAJOR_DIFF = 4;
const int MINOR_DIFF = 3;
const int REL_DIFF = 2;
const int BLD_DIFF = 1;
const int EQUAL = 0;
boolean UpdateEnabled ();
long StartSoftwareUpdate(in wstring URL);
long ConditionalSoftwareUpdate( in wstring URL,
in wstring regName,
in long diffLevel,
in wstring version,
in long mode);
long CompareVersion( in wstring regName, in wstring version );
};

View File

@@ -0,0 +1,34 @@
interface InstallVersion
{
/* IID: { 0x18c2f986, 0xb09f, 0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53}} */
const int EQUAL = 0;
const int BLD_DIFF = 1;
const int BLD_DIFF_MINUS = -1;
const int REL_DIFF = 2;
const int REL_DIFF_MINUS = -2;
const int MINOR_DIFF = 3;
const int MINOR_DIFF_MINUS = -3;
const int MAJOR_DIFF = 4;
const int MAJOR_DIFF_MINUS = -4;
attribute int major;
attribute int minor;
attribute int release;
attribute int build;
void InstallVersion();
void init(in wstring versionString);
/*
void init(in int major, in int minor, in int release, in int build);
*/
wstring toString();
/* int compareTo(in wstring version);
int compareTo(in int major, in int minor, in int release, in int build);
*/
int compareTo(in InstallVersion versionObject);
};

View File

@@ -0,0 +1,36 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code,
# released March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# Contributors:
# Daniel Veditz <dveditz@netscape.com>
# Douglas Turner <dougt@netscape.com>
MODULE=xpinstall
DEPTH=..\..
EXPORTS= nsIDOMInstallTriggerGlobal.h \
nsIDOMInstallVersion.h \
nsSoftwareUpdateIIDs.h \
nsISoftwareUpdate.h
XPIDLSRCS = .\nsIXPInstallProgress.idl
include <$(DEPTH)\config\config.mak>
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1 @@
#error

View File

@@ -0,0 +1,96 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/* AUTO-GENERATED. DO NOT EDIT!!! */
#ifndef nsIDOMInstallTriggerGlobal_h__
#define nsIDOMInstallTriggerGlobal_h__
#include "nsISupports.h"
#include "nsString.h"
#include "nsIScriptContext.h"
#define NS_IDOMINSTALLTRIGGERGLOBAL_IID \
{ 0x18c2f987, 0xb09f, 0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53}}
class nsIDOMInstallTriggerGlobal : public nsISupports {
public:
static const nsIID& IID() { static nsIID iid = NS_IDOMINSTALLTRIGGERGLOBAL_IID; return iid; }
enum {
MAJOR_DIFF = 4,
MINOR_DIFF = 3,
REL_DIFF = 2,
BLD_DIFF = 1,
EQUAL = 0
};
NS_IMETHOD UpdateEnabled(PRBool* aReturn)=0;
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32* aReturn)=0;
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32 aFlags, PRInt32* aReturn)=0;
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn)=0;
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn)=0;
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn)=0;
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn)=0;
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)=0;
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)=0;
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn)=0;
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)=0;
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)=0;
};
#define NS_DECL_IDOMINSTALLTRIGGERGLOBAL \
NS_IMETHOD UpdateEnabled(PRBool* aReturn); \
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32 aFlags, PRInt32* aReturn); \
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32* aReturn); \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn); \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn); \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn); \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn); \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn); \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn); \
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn); \
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn); \
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn); \
#define NS_FORWARD_IDOMINSTALLTRIGGERGLOBAL(_to) \
NS_IMETHOD UpdateEnabled(PRBool* aReturn) { return _to##UpdateEnabled(aReturn); } \
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32 aFlags, PRInt32* aReturn) { return _to##StartSoftwareUpdate(aURL, aFlags, aReturn); } \
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32* aReturn) { return _to##StartSoftwareUpdate(aURL, aReturn); } \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn) { return _to##ConditionalSoftwareUpdate(aURL, aRegName, aDiffLevel, aVersion, aMode, aReturn); } \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn) { return _to##ConditionalSoftwareUpdate(aURL, aRegName, aDiffLevel, aVersion, aMode, aReturn); } \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, nsIDOMInstallVersion* aRegName, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn) { return _to##ConditionalSoftwareUpdate(aURL, aDiffLevel, aVersion, aMode, aReturn); } \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn) { return _to##ConditionalSoftwareUpdate(aURL, aDiffLevel, aVersion, aMode, aReturn); } \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn) { return _to##ConditionalSoftwareUpdate(aURL, aDiffLevel, aVersion, aReturn); } \
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn) { return _to##ConditionalSoftwareUpdate(aURL, aDiffLevel, aVersion, aReturn); } \
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aMajor, aMinor, aRelease, aBuild, aReturn); } \
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aVersion, aReturn); } \
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aVersion, aReturn); } \
extern nsresult NS_InitInstallTriggerGlobalClass(nsIScriptContext *aContext, void **aPrototype);
extern "C" NS_DOM nsresult NS_NewScriptInstallTriggerGlobal(nsIScriptContext *aContext, nsISupports *aSupports, nsISupports *aParent, void **aReturn);
#endif // nsIDOMInstallTriggerGlobal_h__

View File

@@ -0,0 +1,107 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/* AUTO-GENERATED. DO NOT EDIT!!! */
#ifndef nsIDOMInstallVersion_h__
#define nsIDOMInstallVersion_h__
#include "nsISupports.h"
#include "nsString.h"
#include "nsIScriptContext.h"
class nsIDOMInstallVersion;
#define NS_IDOMINSTALLVERSION_IID \
{ 0x18c2f986, 0xb09f, 0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53}}
class nsIDOMInstallVersion : public nsISupports {
public:
static const nsIID& IID() { static nsIID iid = NS_IDOMINSTALLVERSION_IID; return iid; }
enum {
EQUAL = 0,
BLD_DIFF = 1,
BLD_DIFF_MINUS = -1,
REL_DIFF = 2,
REL_DIFF_MINUS = -2,
MINOR_DIFF = 3,
MINOR_DIFF_MINUS = -3,
MAJOR_DIFF = 4,
MAJOR_DIFF_MINUS = -4
};
NS_IMETHOD GetMajor(PRInt32* aMajor)=0;
NS_IMETHOD SetMajor(PRInt32 aMajor)=0;
NS_IMETHOD GetMinor(PRInt32* aMinor)=0;
NS_IMETHOD SetMinor(PRInt32 aMinor)=0;
NS_IMETHOD GetRelease(PRInt32* aRelease)=0;
NS_IMETHOD SetRelease(PRInt32 aRelease)=0;
NS_IMETHOD GetBuild(PRInt32* aBuild)=0;
NS_IMETHOD SetBuild(PRInt32 aBuild)=0;
NS_IMETHOD Init(const nsString& aVersionString)=0;
NS_IMETHOD ToString(nsString& aReturn)=0;
NS_IMETHOD CompareTo(nsIDOMInstallVersion* aVersionObject, PRInt32* aReturn)=0;
NS_IMETHOD CompareTo(const nsString& aString, PRInt32* aReturn)=0;
NS_IMETHOD CompareTo(PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn)=0;
};
#define NS_DECL_IDOMINSTALLVERSION \
NS_IMETHOD GetMajor(PRInt32* aMajor); \
NS_IMETHOD SetMajor(PRInt32 aMajor); \
NS_IMETHOD GetMinor(PRInt32* aMinor); \
NS_IMETHOD SetMinor(PRInt32 aMinor); \
NS_IMETHOD GetRelease(PRInt32* aRelease); \
NS_IMETHOD SetRelease(PRInt32 aRelease); \
NS_IMETHOD GetBuild(PRInt32* aBuild); \
NS_IMETHOD SetBuild(PRInt32 aBuild); \
NS_IMETHOD Init(const nsString& aVersionString); \
NS_IMETHOD ToString(nsString& aReturn); \
NS_IMETHOD CompareTo(nsIDOMInstallVersion* aVersionObject, PRInt32* aReturn); \
NS_IMETHOD CompareTo(const nsString& aString, PRInt32* aReturn); \
NS_IMETHOD CompareTo(PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn); \
#define NS_FORWARD_IDOMINSTALLVERSION(_to) \
NS_IMETHOD GetMajor(PRInt32* aMajor) { return _to##GetMajor(aMajor); } \
NS_IMETHOD SetMajor(PRInt32 aMajor) { return _to##SetMajor(aMajor); } \
NS_IMETHOD GetMinor(PRInt32* aMinor) { return _to##GetMinor(aMinor); } \
NS_IMETHOD SetMinor(PRInt32 aMinor) { return _to##SetMinor(aMinor); } \
NS_IMETHOD GetRelease(PRInt32* aRelease) { return _to##GetRelease(aRelease); } \
NS_IMETHOD SetRelease(PRInt32 aRelease) { return _to##SetRelease(aRelease); } \
NS_IMETHOD GetBuild(PRInt32* aBuild) { return _to##GetBuild(aBuild); } \
NS_IMETHOD SetBuild(PRInt32 aBuild) { return _to##SetBuild(aBuild); } \
NS_IMETHOD Init(const nsString& aVersionString) { return _to##Init(aVersionString); } \
NS_IMETHOD ToString(nsString& aReturn) { return _to##ToString(aReturn); } \
NS_IMETHOD CompareTo(nsIDOMInstallVersion* aVersionObject, PRInt32* aReturn) { return _to##CompareTo(aVersionObject, aReturn); } \
NS_IMETHOD CompareTo(const nsString& aString, PRInt32* aReturn) { return _to##CompareTo(aString, aReturn); } \
NS_IMETHOD CompareTo(PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn) { return _to##CompareTo(aMajor, aMinor, aRelease, aBuild, aReturn); } \
extern nsresult NS_InitInstallVersionClass(nsIScriptContext *aContext, void **aPrototype);
extern "C" NS_DOM nsresult NS_NewScriptInstallVersion(nsIScriptContext *aContext, nsISupports *aSupports, nsISupports *aParent, void **aReturn);
#endif // nsIDOMInstallVersion_h__

View File

@@ -0,0 +1,85 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsISoftwareUpdate_h__
#define nsISoftwareUpdate_h__
#include "nsISupports.h"
#include "nsIFactory.h"
#include "nsString.h"
#include "nsIXPInstallProgress.h"
#define NS_IXPINSTALLCOMPONENT_PROGID NS_IAPPSHELLCOMPONENT_PROGID "/xpinstall"
#define NS_IXPINSTALLCOMPONENT_CLASSNAME "Mozilla XPInstall Component"
#define NS_ISOFTWAREUPDATE_IID \
{ 0x18c2f992, \
0xb09f, \
0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53}\
}
class nsISoftwareUpdate : public nsISupports
{
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISOFTWAREUPDATE_IID)
NS_IMETHOD InstallJar(const nsString& fromURL,
const nsString& localFile,
long flags) = 0;
NS_IMETHOD RegisterNotifier(nsIXPInstallProgress *notifier) = 0;
NS_IMETHOD InstallPending(void) = 0;
/* FIX: these should be in a private interface */
NS_IMETHOD InstallJarCallBack() = 0;
NS_IMETHOD GetTopLevelNotifier(nsIXPInstallProgress **notifier) = 0;
};
class nsSoftwareUpdateFactory : public nsIFactory
{
public:
nsSoftwareUpdateFactory();
virtual ~nsSoftwareUpdateFactory();
NS_DECL_ISUPPORTS
NS_IMETHOD CreateInstance(nsISupports *aOuter,
REFNSIID aIID,
void **aResult);
NS_IMETHOD LockFactory(PRBool aLock);
};
#endif // nsISoftwareUpdate_h__

View File

@@ -0,0 +1,30 @@
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsISupports.idl"
[uuid(eea90d40-b059-11d2-915e-c12b696c9333)]
interface nsIXPInstallProgress : nsISupports
{
void BeforeJavascriptEvaluation();
void AfterJavascriptEvaluation();
void InstallStarted([const] in string UIPackageName);
void ItemScheduled([const] in string message );
void InstallFinalization([const] in string message, in long itemNum, in long totNum );
void InstallAborted();
};

View File

@@ -0,0 +1,93 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsIXPInstallProgressNotifier_h__
#define nsIXPInstallProgressNotifier_h__
class nsIXPInstallProgressNotifier
{
public:
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Function name : BeforeJavascriptEvaluation
// Description : This will be called when prior to the install script being evaluate
// Return type : void
// Argument : void
///////////////////////////////////////////////////////////////////////////////////////////////////////
virtual void BeforeJavascriptEvaluation(void) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Function name : AfterJavascriptEvaluation
// Description : This will be called after the install script has being evaluated
// Return type : void
// Argument : void
///////////////////////////////////////////////////////////////////////////////////////////////////////
virtual void AfterJavascriptEvaluation(void) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Function name : InstallStarted
// Description : This will be called when StartInstall has been called
// Return type : void
// Argument : char* UIPackageName - User Package Name
///////////////////////////////////////////////////////////////////////////////////////////////////////
virtual void InstallStarted(const char* UIPackageName) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Function name : ItemScheduled
// Description : This will be called when items are being scheduled
// Return type : Any value returned other than zero, will be treated as an error and the script will be aborted
// Argument : The message that should be displayed to the user
///////////////////////////////////////////////////////////////////////////////////////////////////////
virtual long ItemScheduled( const char* message ) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Function name : InstallFinalization
// Description : This will be called when the installation is in its Finalize stage
// Return type : void
// Argument : char* message - The message that should be displayed to the user
// Argument : long itemNum - This is the current item number
// Argument : long totNum - This is the total number of items
///////////////////////////////////////////////////////////////////////////////////////////////////////
virtual void InstallFinalization( const char* message, long itemNum, long totNum ) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Function name : InstallAborted
// Description : This will be called when the install is aborted
// Return type : void
// Argument : void
///////////////////////////////////////////////////////////////////////////////////////////////////////
virtual void InstallAborted(void) = 0;
};
#endif

View File

@@ -0,0 +1,64 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsSoftwareUpdateIIDs_h___
#define nsSoftwareUpdateIIDs_h___
#define NS_SoftwareUpdate_CID \
{ /* 18c2f989-b09f-11d2-bcde-00805f0e1353 */ \
0x18c2f989, \
0xb09f, \
0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53} \
}
#define NS_SoftwareUpdateInstall_CID \
{ /* 18c2f98b-b09f-11d2-bcde-00805f0e1353 */ \
0x18c2f98b, \
0xb09f, \
0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53} \
}
#define NS_SoftwareUpdateInstallTrigger_CID \
{ /* 18c2f98d-b09f-11d2-bcde-00805f0e1353 */ \
0x18c2f98d, \
0xb09f, \
0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53} \
}
#define NS_SoftwareUpdateInstallVersion_CID \
{ /* 18c2f98f-b09f-11d2-bcde-00805f0e1353 */ \
0x18c2f98f, \
0xb09f, \
0x11d2, \
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53} \
}
#endif /* nsSoftwareUpdateIIDs_h___ */

View File

@@ -0,0 +1,3 @@
progress.xul
progress.css
progress.html

View File

@@ -0,0 +1,34 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/config/rules.mk
EXPORT_RESOURCE_XPINSTALL = \
$(srcdir)/progress.xul \
$(srcdir)/progress.html \
$(srcdir)/progress.css \
$(NULL)
install::
$(INSTALL) $(EXPORT_RESOURCE_XPINSTALL) $(DIST)/bin/res/xpinstall

View File

@@ -0,0 +1,31 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=..\..
IGNORE_MANIFEST=1
include <$(DEPTH)\config\rules.mak>
install:: $(DLL)
$(MAKE_INSTALL) progress.xul $(DIST)\bin\res\xpinstall
$(MAKE_INSTALL) progress.css $(DIST)\bin\res\xpinstall
$(MAKE_INSTALL) progress.html $(DIST)\bin\res\xpinstall
clobber::
rm -f $(DIST)\res\xpinstall\progress.xul
rm -f $(DIST)\res\xpinstall\progress.css
rm -f $(DIST)\res\xpinstall\progress.html

View File

@@ -0,0 +1,3 @@
TD {
font: 10pt sans-serif;
}

View File

@@ -0,0 +1,16 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#C0C0C0" style="overflow:visible; margin: 0px; color-background: rgb(192,192,192);">
<center>
<table BORDER COLS=5 WIDTH="99%" style="color-background:rgb(192,192,192);">
<tr>
<td WIDTH="3%" NOWRAP style="border: 1px inset rgb(192,192,192);">&nbsp</td>
<td WIDTH="3%" NOWRAP style="border: 1px inset rgb(192,192,192);">&nbsp</td>
<td WIDTH="3%" NOWRAP style="border: 1px inset rgb(192,192,192);">&nbsp</td>
<td WIDTH="10%" NOWRAP style="border: 1px inset rgb(192,192,192);">&nbsp</td>
<td WIDTH="81%" NOWRAP style="border: 1px inset rgb(192,192,192);">&nbsp</td>
</tr>
</table>
</center>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<?xml version="1.0"?>
<?xml-stylesheet href="../samples/xul.css" type="text/css"?>
<?xml-stylesheet href="progress.css" type="text/css"?>
<!DOCTYPE window
[
<!ENTITY downloadWindow.title "XPInstall Progress">
<!ENTITY status "Status:">
<!ENTITY cancelButtonTitle "Cancel">
]
>
<window xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="XPInstall Progress"
width="425"
height="225">
<data>
<broadcaster id="data.canceled" type="string" value="false"/>
</data>
<html:script>
function cancelInstall()
{
var cancelData = document.getElementById("data.canceled");
cancelData.setAttribute( "value", "true");
}
</html:script>
<html:center>
<html:table style="width:100%;">
<html:tr>
<html:td align="center">
<html:input id="dialog.uiPackageName" readonly="" style="background-color:lightgray;width:300px;"/>
</html:td>
</html:tr>
<html:tr>
<html:td nowrap="" style="border: 1px rgb(192,192,192);" align="center">
<html:input id="dialog.currentAction" readonly="" style="background-color:lightgray;width:450px;"/>
</html:td>
</html:tr>
<html:tr>
<html:td align="center" width="15%" nowrap="" style="border: 1px rgb(192,192,192);">
<progressmeter id="dialog.progress" mode="undetermined" style="width:300px;height:16px;">
</progressmeter>
</html:td>
</html:tr>
<html:tr>
<html:td align="center" width="3%" nowrap="" style="border: 1px rgb(192,192,192);">
<html:button onclick="cancelInstall()" height="12">
&cancelButtonTitle;
</html:button>
</html:td>
</html:tr>
</html:table>
</html:center>
</window>

View File

@@ -0,0 +1,61 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code,
# released March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# Contributors:
# Daniel Veditz <dveditz@netscape.com>
# Douglas Turner <dougt@netscape.com>
DEPTH = ../..
topsrcdir = @top_srcdir@
VPATH = @srcdir@
srcdir = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = xpinstall
LIBRARY_NAME = xpinstall
IS_COMPONENT = 1
REQUIRES = dom js netlib raptor xpcom
CPPSRCS = \
nsSoftwareUpdate.cpp \
nsInstall.cpp \
nsInstallDelete.cpp \
nsInstallExecute.cpp \
nsInstallFile.cpp \
nsInstallFolder.cpp \
nsInstallPatch.cpp \
nsInstallUninstall.cpp \
nsInstallTrigger.cpp \
nsInstallResources.cpp \
nsJSInstall.cpp \
nsJSInstallTriggerGlobal.cpp\
nsSoftwareUpdateRun.cpp \
nsSoftwareUpdateStream.cpp \
nsTopProgressNotifier.cpp \
nsLoggingProgressNotifier \
ScheduledTasks.cpp \
nsInstallFileOpItem.cpp \
$(NULL)
INCLUDES += -I$(srcdir)/../public
include $(topsrcdir)/config/rules.mk

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,233 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#ifndef SU_PAS_H
#define SU_PAS_H
#include <Errors.h>
#include <Types.h>
#include <Files.h>
#include <Script.h>
#include <Resources.h>
typedef struct PASHeader /* header portion of Patchable AppleSingle */
{
UInt32 magicNum; /* internal file type tag = 0x00244200*/
UInt32 versionNum; /* format version: 1 = 0x00010000 */
UInt8 filler[16]; /* filler */
UInt16 numEntries; /* number of entries which follow */
} PASHeader ;
typedef struct PASEntry /* one Patchable AppleSingle entry descriptor */
{
UInt32 entryID; /* entry type: see list, 0 invalid */
UInt32 entryOffset; /* offset, in bytes, from beginning */
/* of file to this entry's data */
UInt32 entryLength; /* length of data in octets */
} PASEntry;
typedef struct PASMiscInfo
{
short fileHasResFork;
short fileResAttrs;
OSType fileType;
OSType fileCreator;
UInt32 fileFlags;
} PASMiscInfo;
typedef struct PASResFork
{
short NumberOfTypes;
} PASResFork;
typedef struct PASResource
{
short attr;
short attrID;
OSType attrType;
Str255 attrName;
unsigned long length;
} PASResource;
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#define kCreator 'MOSS'
#define kType 'PASf'
#define PAS_BUFFER_SIZE (1024*512)
#define PAS_MAGIC_NUM (0x00244200)
#define PAS_VERSION (0x00010000)
enum
{
ePas_Data = 1,
ePas_Misc,
ePas_Resource
};
#ifdef __cplusplus
extern "C" {
#endif
/* Prototypes */
OSErr PAS_EncodeFile(FSSpec *inSpec, FSSpec *outSpec);
OSErr PAS_DecodeFile(FSSpec *inSpec, FSSpec *outSpec);
#ifdef __cplusplus
}
#endif
#endif /* SU_PAS_H */

View File

@@ -0,0 +1,380 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nscore.h"
#include "NSReg.h"
#include "nsFileSpec.h"
#include "nsFileStream.h"
#include "nsInstall.h" // for error codes
#include "prmem.h"
#include "ScheduledTasks.h"
#ifdef _WINDOWS
#include <sys/stat.h>
#include <windows.h>
BOOL WIN32_IsMoveFileExBroken()
{
/* the NT option MOVEFILE_DELAY_UNTIL_REBOOT is broken on
* Windows NT 3.51 Service Pack 4 and NT 4.0 before Service Pack 2
*/
BOOL broken = FALSE;
OSVERSIONINFO osinfo;
// they *all* appear broken--better to have one way that works.
return TRUE;
osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if (GetVersionEx(&osinfo) && osinfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
if ( osinfo.dwMajorVersion == 3 && osinfo.dwMinorVersion == 51 )
{
if ( 0 == stricmp(osinfo.szCSDVersion,"Service Pack 4"))
{
broken = TRUE;
}
}
else if ( osinfo.dwMajorVersion == 4 )
{
if (osinfo.szCSDVersion[0] == '\0' ||
(0 == stricmp(osinfo.szCSDVersion,"Service Pack 1")))
{
broken = TRUE;
}
}
}
return broken;
}
PRInt32 DoWindowsReplaceExistingFileStuff(const char* currentName, const char* finalName)
{
PRInt32 err = 0;
char* final = strdup(finalName);
char* current = strdup(currentName);
/* couldn't delete, probably in use. Schedule for later */
DWORD dwVersion, dwWindowsMajorVersion;
/* Get OS version info */
dwVersion = GetVersion();
dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
/* Get build numbers for Windows NT or Win32s */
if (dwVersion < 0x80000000) // Windows NT
{
/* On Windows NT */
if ( WIN32_IsMoveFileExBroken() )
{
/* the MOVEFILE_DELAY_UNTIL_REBOOT option doesn't work on
* NT 3.51 SP4 or on NT 4.0 until SP2
*/
struct stat statbuf;
PRBool nameFound = PR_FALSE;
char tmpname[_MAX_PATH];
strncpy( tmpname, finalName, _MAX_PATH );
int len = strlen(tmpname);
while (!nameFound && len < _MAX_PATH )
{
tmpname[len-1] = '~';
tmpname[len] = '\0';
if ( stat(tmpname, &statbuf) != 0 )
nameFound = TRUE;
else
len++;
}
if ( nameFound )
{
if ( MoveFile( finalName, tmpname ) )
{
if ( MoveFile( currentName, finalName ) )
{
DeleteFileNowOrSchedule(nsFileSpec(tmpname));
}
else
{
/* 2nd move failed, put old file back */
MoveFile( tmpname, finalName );
}
}
else
{
/* non-executable in use; schedule for later */
return -1; // let the start registry stuff do our work!
}
}
}
else if ( MoveFileEx(currentName, finalName, MOVEFILE_DELAY_UNTIL_REBOOT) )
{
err = 0;
}
}
else // Windows 95 or Win16
{
/*
* Place an entry in the WININIT.INI file in the Windows directory
* to delete finalName and rename currentName to be finalName at reboot
*/
int strlen;
char Src[_MAX_PATH]; // 8.3 name
char Dest[_MAX_PATH]; // 8.3 name
strlen = GetShortPathName( (LPCTSTR)currentName, (LPTSTR)Src, (DWORD)sizeof(Src) );
if ( strlen > 0 )
{
free(current);
current = strdup(Src);
}
strlen = GetShortPathName( (LPCTSTR) finalName, (LPTSTR) Dest, (DWORD) sizeof(Dest));
if ( strlen > 0 )
{
free(final);
final = strdup(Dest);
}
/* NOTE: use OEM filenames! Even though it looks like a Windows
* .INI file, WININIT.INI is processed under DOS
*/
AnsiToOem( final, final );
AnsiToOem( current, current );
if ( WritePrivateProfileString( "Rename", final, current, "WININIT.INI" ) )
err = 0;
}
free(final);
free(current);
return err;
}
#endif
REGERR DeleteFileNowOrSchedule(nsFileSpec& filename)
{
REGERR result = 0;
filename.Delete(false);
if (filename.Exists())
{
RKEY newkey;
HREG reg;
if ( REGERR_OK == NR_RegOpen("", &reg) )
{
if (REGERR_OK == NR_RegAddKey( reg, ROOTKEY_PRIVATE, REG_DELETE_LIST_KEY, &newkey) )
{
// FIX should be using nsPersistentFileDescriptor!!!
result = NR_RegSetEntry( reg, newkey, (char*)(const char*)filename.GetNativePathCString(), REGTYPE_ENTRY_FILE, nsnull, 0);
if (result == REGERR_OK)
result = nsInstall::REBOOT_NEEDED;
}
NR_RegClose(reg);
}
}
return result;
}
/* tmp file is the bad one that we want to replace with target. */
REGERR ReplaceFileNowOrSchedule(nsFileSpec& replacementFile, nsFileSpec& doomedFile )
{
REGERR result = 0;
if(replacementFile == doomedFile)
{
/* do not have to do anything */
return result;
}
doomedFile.Delete(false);
if (! doomedFile.Exists() )
{
// Now that we have move the existing file, we can move the mExtracedFile into place.
nsFileSpec parentofFinalFile;
doomedFile.GetParent(parentofFinalFile);
result = replacementFile.Move(parentofFinalFile);
if ( NS_SUCCEEDED(result) )
{
char* leafName = doomedFile.GetLeafName();
replacementFile.Rename(leafName);
nsCRT::free(leafName);
}
}
else
{
#ifdef _WINDOWS
if (DoWindowsReplaceExistingFileStuff(replacementFile.GetNativePathCString(), doomedFile.GetNativePathCString()) == 0)
return 0;
#endif
RKEY newkey;
HREG reg;
if ( REGERR_OK == NR_RegOpen("", &reg) )
{
result = NR_RegAddKey( reg, ROOTKEY_PRIVATE, REG_REPLACE_LIST_KEY, &newkey);
if ( result == REGERR_OK )
{
char* replacementFileName = (char*)(const char*)replacementFile.GetNativePathCString();
result = NR_RegSetEntry( reg, newkey, (char*)(const char*)doomedFile.GetNativePathCString(), REGTYPE_ENTRY_FILE, replacementFileName, strlen(replacementFileName));
if (result == REGERR_OK)
result = nsInstall::REBOOT_NEEDED;
}
NR_RegClose(reg);
}
}
return result;
}
void DeleteScheduledFiles(void);
void ReplaceScheduledFiles(void);
extern "C" void PerformScheduledTasks(void *data)
{
DeleteScheduledFiles();
ReplaceScheduledFiles();
}
void DeleteScheduledFiles(void)
{
HREG reg;
if (REGERR_OK == NR_RegOpen("", &reg))
{
RKEY key;
REGENUM state;
/* perform scheduled file deletions and replacements (PC only) */
if (REGERR_OK == NR_RegGetKey(reg, ROOTKEY_PRIVATE, REG_DELETE_LIST_KEY,&key))
{
char buf[MAXREGNAMELEN];
while (REGERR_OK == NR_RegEnumEntries(reg, key, &state, buf, sizeof(buf), NULL ))
{
nsFileSpec doomedFile(buf);
doomedFile.Delete(PR_FALSE);
if (! doomedFile.Exists())
{
NR_RegDeleteEntry( reg, key, buf );
}
}
/* delete list node if empty */
if (REGERR_NOMORE == NR_RegEnumEntries( reg, key, &state, buf, sizeof(buf), NULL ))
{
NR_RegDeleteKey(reg, ROOTKEY_PRIVATE, REG_DELETE_LIST_KEY);
}
}
NR_RegClose(reg);
}
}
void ReplaceScheduledFiles(void)
{
HREG reg;
if (REGERR_OK == NR_RegOpen("", &reg))
{
RKEY key;
REGENUM state;
/* replace files if any listed */
if (REGERR_OK == NR_RegGetKey(reg, ROOTKEY_PRIVATE, REG_REPLACE_LIST_KEY, &key))
{
char tmpfile[MAXREGNAMELEN];
char target[MAXREGNAMELEN];
state = 0;
while (REGERR_OK == NR_RegEnumEntries(reg, key, &state, tmpfile, sizeof(tmpfile), NULL ))
{
nsFileSpec replaceFile(tmpfile);
if (! replaceFile.Exists() )
{
NR_RegDeleteEntry( reg, key, tmpfile );
}
else if ( REGERR_OK != NR_RegGetEntryString( reg, key, tmpfile, target, sizeof(target) ) )
{
/* can't read target filename, corruption? */
NR_RegDeleteEntry( reg, key, tmpfile );
}
else
{
nsFileSpec targetFile(target);
targetFile.Delete(PR_FALSE);
if (!targetFile.Exists())
{
nsFileSpec parentofTarget;
targetFile.GetParent(parentofTarget);
nsresult result = replaceFile.Move(parentofTarget);
if ( NS_SUCCEEDED(result) )
{
char* leafName = targetFile.GetLeafName();
replaceFile.Rename(leafName);
nsCRT::free(leafName);
NR_RegDeleteEntry( reg, key, tmpfile );
}
}
}
}
/* delete list node if empty */
if (REGERR_NOMORE == NR_RegEnumEntries(reg, key, &state, tmpfile, sizeof(tmpfile), NULL ))
{
NR_RegDeleteKey(reg, ROOTKEY_PRIVATE, REG_REPLACE_LIST_KEY);
}
}
NR_RegClose(reg);
}
}

View File

@@ -0,0 +1,42 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef __SCHEDULEDTASKS_H__
#define __SCHEDULEDTASKS_H__
#include "NSReg.h"
#include "nsFileSpec.h"
REGERR DeleteFileNowOrSchedule(nsFileSpec& filename);
REGERR ReplaceFileNowOrSchedule(nsFileSpec& tmpfile, nsFileSpec& target );
extern "C" void PerformScheduledTasks(void *data);
#endif

View File

@@ -0,0 +1,135 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/*--------------------------------------------------------------
* GDIFF.H
*
* Constants used in processing the GDIFF format
*--------------------------------------------------------------*/
#include "prio.h"
#include "nsFileSpec.h"
#define GDIFF_MAGIC "\xD1\xFF\xD1\xFF"
#define GDIFF_MAGIC_LEN 4
#define GDIFF_VER 5
#define GDIFF_EOF "\0"
#define GDIFF_VER_POS 4
#define GDIFF_CS_POS 5
#define GDIFF_CSLEN_POS 6
#define GDIFF_HEADERSIZE 7
#define GDIFF_APPDATALEN 4
#define GDIFF_CS_NONE 0
#define GDIFF_CS_MD5 1
#define GDIFF_CS_SHA 2
#define GDIFF_CS_CRC32 32
#define CRC32_LEN 4
/*--------------------------------------
* GDIFF opcodes
*------------------------------------*/
#define ENDDIFF 0
#define ADD8MAX 246
#define ADD16 247
#define ADD32 248
#define COPY16BYTE 249
#define COPY16SHORT 250
#define COPY16LONG 251
#define COPY32BYTE 252
#define COPY32SHORT 253
#define COPY32LONG 254
#define COPY64 255
/* instruction sizes */
#define ADD16SIZE 2
#define ADD32SIZE 4
#define COPY16BYTESIZE 3
#define COPY16SHORTSIZE 4
#define COPY16LONGSIZE 6
#define COPY32BYTESIZE 5
#define COPY32SHORTSIZE 6
#define COPY32LONGSIZE 8
#define COPY64SIZE 12
/*--------------------------------------
* error codes
*------------------------------------*/
#define GDIFF_OK 0
#define GDIFF_ERR_UNKNOWN -1
#define GDIFF_ERR_ARGS -2
#define GDIFF_ERR_ACCESS -3
#define GDIFF_ERR_MEM -4
#define GDIFF_ERR_HEADER -5
#define GDIFF_ERR_BADDIFF -6
#define GDIFF_ERR_OPCODE -7
#define GDIFF_ERR_OLDFILE -8
#define GDIFF_ERR_CHKSUMTYPE -9
#define GDIFF_ERR_CHECKSUM -10
#define GDIFF_ERR_CHECKSUM_TARGET -11
#define GDIFF_ERR_CHECKSUM_RESULT -12
/*--------------------------------------
* types
*------------------------------------*/
#ifndef AIX
#ifdef OSF1
#include <sys/types.h>
#else
typedef unsigned char uchar;
#endif
#endif
typedef struct _diffdata {
PRFileDesc* fSrc;
PRFileDesc* fOut;
PRFileDesc* fDiff;
uint8 checksumType;
uint8 checksumLength;
uchar* oldChecksum;
uchar* newChecksum;
PRBool bMacAppleSingle;
PRBool bWin32BoundImage;
uchar* databuf;
uint32 bufsize;
} DIFFDATA;
typedef DIFFDATA* pDIFFDATA;
/*--------------------------------------
* miscellaneous
*------------------------------------*/
#define APPFLAG_W32BOUND "autoinstall:Win32PE"
#define APPFLAG_APPLESINGLE "autoinstall:AppleSingle"
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif

View File

@@ -0,0 +1,111 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code,
# released March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# Contributors:
# Daniel Veditz <dveditz@netscape.com>
# Douglas Turner <dougt@netscape.com>
DEPTH=..\..
IGNORE_MANIFEST=1
MAKE_OBJ_TYPE = DLL
MODULE=xpinstall
DLL=.\$(OBJDIR)\$(MODULE).dll
DEFINES=-D_IMPL_NS_DOM -DWIN32_LEAN_AND_MEAN
LCFLAGS = \
$(LCFLAGS) \
$(DEFINES) \
$(NULL)
LINCS= \
-I$(PUBLIC)\xpinstall \
-I$(PUBLIC)\jar \
-I$(PUBLIC)\libreg \
-I$(PUBLIC)\netlib \
-I$(PUBLIC)\xpcom \
-I$(PUBLIC)\pref \
-I$(PUBLIC)\rdf \
-I$(PUBLIC)\js \
-I$(PUBLIC)\dom \
-I$(PUBLIC)\raptor \
-I$(PUBLIC)\nspr2 \
-I$(PUBLIC)\zlib \
-I$(PUBLIC)\xpfe\components \
$(NULL)
LLIBS = \
$(DIST)\lib\jar50.lib \
$(DIST)\lib\libreg32.lib \
$(DIST)\lib\netlib.lib \
$(DIST)\lib\xpcom.lib \
$(DIST)\lib\js3250.lib \
$(DIST)\lib\jsdombase_s.lib \
$(DIST)\lib\jsdomevents_s.lib \
$(DIST)\lib\zlib.lib \
$(DIST)\lib\plc3.lib \
$(LIBNSPR) \
$(NULL)
OBJS = \
.\$(OBJDIR)\nsInstall.obj \
.\$(OBJDIR)\nsInstallTrigger.obj \
.\$(OBJDIR)\nsInstallVersion.obj \
.\$(OBJDIR)\nsInstallFolder.obj \
.\$(OBJDIR)\nsJSInstall.obj \
.\$(OBJDIR)\nsJSInstallTriggerGlobal.obj \
.\$(OBJDIR)\nsJSInstallVersion.obj \
.\$(OBJDIR)\nsSoftwareUpdate.obj \
.\$(OBJDIR)\nsSoftwareUpdateRun.obj \
.\$(OBJDIR)\nsSoftwareUpdateStream.obj \
.\$(OBJDIR)\nsInstallFile.obj \
.\$(OBJDIR)\nsInstallDelete.obj \
.\$(OBJDIR)\nsInstallExecute.obj \
.\$(OBJDIR)\nsInstallPatch.obj \
.\$(OBJDIR)\nsInstallUninstall.obj \
.\$(OBJDIR)\nsInstallResources.obj \
.\$(OBJDIR)\nsTopProgressNotifier.obj \
.\$(OBJDIR)\nsLoggingProgressNotifier.obj\
.\$(OBJDIR)\ScheduledTasks.obj \
.\$(OBJDIR)\nsWinReg.obj \
.\$(OBJDIR)\nsJSWinReg.obj \
.\$(OBJDIR)\nsWinRegItem.obj \
.\$(OBJDIR)\nsWinRegValue.obj \
.\$(OBJDIR)\nsWinProfile.obj \
.\$(OBJDIR)\nsJSWinProfile.obj \
.\$(OBJDIR)\nsWinProfileItem.obj \
.\$(OBJDIR)\nsInstallProgressDialog.obj \
.\$(OBJDIR)\nsInstallFileOpItem.obj \
$(NULL)
include <$(DEPTH)\config\rules.mak>
install:: $(DLL)
$(MAKE_INSTALL) .\$(OBJDIR)\$(MODULE).lib $(DIST)\lib
$(MAKE_INSTALL) .\$(OBJDIR)\$(MODULE).dll $(DIST)\bin\components
clobber::
rm -f $(DIST)\lib\$(MODULE).lib
rm -f $(DIST)\bin\components\$(MODULE).dll

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,265 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef __NS_INSTALL_H__
#define __NS_INSTALL_H__
#include "nscore.h"
#include "nsISupports.h"
#include "jsapi.h"
#include "plevent.h"
#include "nsString.h"
#include "nsFileSpec.h"
#include "nsVector.h"
#include "nsHashtable.h"
#include "nsSoftwareUpdate.h"
#include "nsInstallObject.h"
#include "nsInstallVersion.h"
#include "nsIXPInstallProgress.h"
class nsInstallInfo
{
public:
nsInstallInfo(const nsString& fromURL, const nsString& localFile, long flags);
nsInstallInfo(nsVector* fromURL, nsVector* localFiles, long flags);
virtual ~nsInstallInfo();
nsString& GetFromURL(PRUint32 index = 0);
nsString& GetLocalFile(PRUint32 index = 0);
void GetArguments(nsString& args, PRUint32 index = 0);
long GetFlags();
PRBool IsMultipleTrigger();
static void DeleteVector(nsVector* vector);
private:
PRBool mMultipleTrigger;
nsresult mError;
long mFlags;
nsVector *mFromURLs;
nsVector *mLocalFiles;
};
class nsInstall
{
friend class nsWinReg;
friend class nsWinProfile;
public:
enum
{
BAD_PACKAGE_NAME = -200,
UNEXPECTED_ERROR = -201,
ACCESS_DENIED = -202,
TOO_MANY_CERTIFICATES = -203,
NO_INSTALLER_CERTIFICATE = -204,
NO_CERTIFICATE = -205,
NO_MATCHING_CERTIFICATE = -206,
UNKNOWN_JAR_FILE = -207,
INVALID_ARGUMENTS = -208,
ILLEGAL_RELATIVE_PATH = -209,
USER_CANCELLED = -210,
INSTALL_NOT_STARTED = -211,
SILENT_MODE_DENIED = -212,
NO_SUCH_COMPONENT = -213,
FILE_DOES_NOT_EXIST = -214,
FILE_READ_ONLY = -215,
FILE_IS_DIRECTORY = -216,
NETWORK_FILE_IS_IN_USE = -217,
APPLE_SINGLE_ERR = -218,
INVALID_PATH_ERR = -219,
PATCH_BAD_DIFF = -220,
PATCH_BAD_CHECKSUM_TARGET = -221,
PATCH_BAD_CHECKSUM_RESULT = -222,
UNINSTALL_FAILED = -223,
GESTALT_UNKNOWN_ERR = -5550,
GESTALT_INVALID_ARGUMENT = -5551,
SUCCESS = 0,
REBOOT_NEEDED = 999,
LIMITED_INSTALL = 0,
FULL_INSTALL = 1,
NO_STATUS_DLG = 2,
NO_FINALIZE_DLG = 4,
INSTALL_FILE_UNEXPECTED_MSG_ID = 0,
DETAILS_REPLACE_FILE_MSG_ID = 1,
DETAILS_INSTALL_FILE_MSG_ID = 2
};
nsInstall();
virtual ~nsInstall();
PRInt32 SetScriptObject(void* aScriptObject);
PRInt32 SaveWinRegPrototype(void* aScriptObject);
PRInt32 SaveWinProfilePrototype(void* aScriptObject);
JSObject* RetrieveWinRegPrototype(void);
JSObject* RetrieveWinProfilePrototype(void);
PRInt32 GetUserPackageName(nsString& aUserPackageName);
PRInt32 GetRegPackageName(nsString& aRegPackageName);
PRInt32 AbortInstall();
PRInt32 AddDirectory(const nsString& aRegName, const nsString& aVersion, const nsString& aJarSource, const nsString& aFolder, const nsString& aSubdir, PRBool aForceMode, PRInt32* aReturn);
PRInt32 AddDirectory(const nsString& aRegName, const nsString& aVersion, const nsString& aJarSource, const nsString& aFolder, const nsString& aSubdir, PRInt32* aReturn);
PRInt32 AddDirectory(const nsString& aRegName, const nsString& aJarSource, const nsString& aFolder, const nsString& aSubdir, PRInt32* aReturn);
PRInt32 AddDirectory(const nsString& aJarSource, PRInt32* aReturn);
PRInt32 AddSubcomponent(const nsString& aRegName, const nsString& aVersion, const nsString& aJarSource, const nsString& aFolder, const nsString& aTargetName, PRBool aForceMode, PRInt32* aReturn);
PRInt32 AddSubcomponent(const nsString& aRegName, const nsString& aVersion, const nsString& aJarSource, const nsString& aFolder, const nsString& aTargetName, PRInt32* aReturn);
PRInt32 AddSubcomponent(const nsString& aRegName, const nsString& aJarSource, const nsString& aFolder, const nsString& aTargetName, PRInt32* aReturn);
PRInt32 AddSubcomponent(const nsString& aJarSource, PRInt32* aReturn);
PRInt32 DeleteComponent(const nsString& aRegistryName, PRInt32* aReturn);
PRInt32 DeleteFile(const nsString& aFolder, const nsString& aRelativeFileName, PRInt32* aReturn);
PRInt32 DiskSpaceAvailable(const nsString& aFolder, PRInt32* aReturn);
PRInt32 Execute(const nsString& aJarSource, const nsString& aArgs, PRInt32* aReturn);
PRInt32 Execute(const nsString& aJarSource, PRInt32* aReturn);
PRInt32 FinalizeInstall(PRInt32* aReturn);
PRInt32 Gestalt(const nsString& aSelector, PRInt32* aReturn);
PRInt32 GetComponentFolder(const nsString& aComponentName, const nsString& aSubdirectory, nsString** aFolder);
PRInt32 GetComponentFolder(const nsString& aComponentName, nsString** aFolder);
PRInt32 GetFolder(const nsString& aTargetFolder, const nsString& aSubdirectory, nsString** aFolder);
PRInt32 GetFolder(const nsString& aTargetFolder, nsString** aFolder);
PRInt32 GetLastError(PRInt32* aReturn);
PRInt32 GetWinProfile(const nsString& aFolder, const nsString& aFile, JSContext* jscontext, JSClass* WinProfileClass, jsval* aReturn);
PRInt32 GetWinRegistry(JSContext* jscontext, JSClass* WinRegClass, jsval* aReturn);
PRInt32 Patch(const nsString& aRegName, const nsString& aVersion, const nsString& aJarSource, const nsString& aFolder, const nsString& aTargetName, PRInt32* aReturn);
PRInt32 Patch(const nsString& aRegName, const nsString& aJarSource, const nsString& aFolder, const nsString& aTargetName, PRInt32* aReturn);
PRInt32 ResetError();
PRInt32 SetPackageFolder(const nsString& aFolder);
PRInt32 StartInstall(const nsString& aUserPackageName, const nsString& aPackageName, const nsString& aVersion, PRInt32* aReturn);
PRInt32 Uninstall(const nsString& aPackageName, PRInt32* aReturn);
PRInt32 FileOpDirCreate(nsFileSpec& aTarget, PRInt32* aReturn);
PRInt32 FileOpDirGetParent(nsFileSpec& aTarget, nsFileSpec* aReturn);
PRInt32 FileOpDirRemove(nsFileSpec& aTarget, PRInt32 aFlags, PRInt32* aReturn);
PRInt32 FileOpDirRename(nsFileSpec& aSrc, nsFileSpec& aTarget, PRInt32* aReturn);
PRInt32 FileOpFileCopy(nsFileSpec& aSrc, nsFileSpec& aTarget, PRInt32* aReturn);
PRInt32 FileOpFileDelete(nsFileSpec& aTarget, PRInt32 aFlags, PRInt32* aReturn);
PRInt32 FileOpFileExists(nsFileSpec& aTarget, PRBool* aReturn);
PRInt32 FileOpFileExecute(nsFileSpec& aTarget, nsString& aParams, PRInt32* aReturn);
PRInt32 FileOpFileGetNativeVersion(nsFileSpec& aTarget, nsString* aReturn);
PRInt32 FileOpFileGetDiskSpaceAvailable(nsFileSpec& aTarget, PRUint32* aReturn);
PRInt32 FileOpFileGetModDate(nsFileSpec& aTarget, nsFileSpec::TimeStamp* aReturn);
PRInt32 FileOpFileGetSize(nsFileSpec& aTarget, PRUint32* aReturn);
PRInt32 FileOpFileIsDirectory(nsFileSpec& aTarget, PRBool* aReturn);
PRInt32 FileOpFileIsFile(nsFileSpec& aTarget, PRBool* aReturn);
PRInt32 FileOpFileModDateChanged(nsFileSpec& aTarget, nsFileSpec::TimeStamp& aOldStamp, PRBool* aReturn);
PRInt32 FileOpFileMove(nsFileSpec& aSrc, nsFileSpec& aTarget, PRInt32* aReturn);
PRInt32 FileOpFileRename(nsFileSpec& aSrc, nsFileSpec& aTarget, PRInt32* aReturn);
PRInt32 FileOpFileWinShortcutCreate(nsFileSpec& aTarget, PRInt32 aFlags, PRInt32* aReturn);
PRInt32 FileOpFileMacAliasCreate(nsFileSpec& aTarget, PRInt32 aFlags, PRInt32* aReturn);
PRInt32 FileOpFileUnixLinkCreate(nsFileSpec& aTarget, PRInt32 aFlags, PRInt32* aReturn);
PRInt32 ExtractFileFromJar(const nsString& aJarfile, nsFileSpec* aSuggestedName, nsFileSpec** aRealName);
void AddPatch(nsHashKey *aKey, nsFileSpec* fileName);
void GetPatch(nsHashKey *aKey, nsFileSpec* fileName);
void GetJarFileLocation(nsString& aFile);
void SetJarFileLocation(const nsString& aFile);
void GetInstallArguments(nsString& args);
void SetInstallArguments(const nsString& args);
private:
JSObject* mScriptObject;
JSObject* mWinRegObject;
JSObject* mWinProfileObject;
nsString mJarFileLocation;
void* mJarFileData;
nsString mInstallArguments;
PRBool mUserCancelled;
PRBool mUninstallPackage;
PRBool mRegisterPackage;
nsString mRegistryPackageName; /* Name of the package we are installing */
nsString mUIName; /* User-readable package name */
nsInstallVersion* mVersionInfo; /* Component version info */
nsVector* mInstalledFiles;
nsHashtable* mPatchList;
nsIXPInstallProgress *mNotifier;
PRInt32 mLastError;
void ParseFlags(int flags);
PRInt32 SanityCheck(void);
void GetTime(nsString &aString);
PRInt32 GetQualifiedRegName(const nsString& name, nsString& qualifiedRegName );
PRInt32 GetQualifiedPackageName( const nsString& name, nsString& qualifiedName );
void CurrentUserNode(nsString& userRegNode);
PRBool BadRegName(const nsString& regName);
PRInt32 SaveError(PRInt32 errcode);
void CleanUp();
PRInt32 OpenJARFile(void);
void CloseJARFile(void);
PRInt32 ExtractDirEntries(const nsString& directory, nsVector *paths);
PRInt32 ScheduleForInstall(nsInstallObject* ob);
};
#endif

View File

@@ -0,0 +1,235 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "prmem.h"
#include "nsFileSpec.h"
#include "VerReg.h"
#include "ScheduledTasks.h"
#include "nsInstallDelete.h"
#include "nsInstallResources.h"
#include "nsInstall.h"
#include "nsIDOMInstallVersion.h"
nsInstallDelete::nsInstallDelete( nsInstall* inInstall,
const nsString& folderSpec,
const nsString& inPartialPath,
PRInt32 *error)
: nsInstallObject(inInstall)
{
if ((folderSpec == "null") || (inInstall == NULL))
{
*error = nsInstall::INVALID_ARGUMENTS;
return;
}
mDeleteStatus = DELETE_FILE;
mFinalFile = nsnull;
mRegistryName = "";
mFinalFile = new nsFileSpec(folderSpec);
*mFinalFile += inPartialPath;
*error = ProcessInstallDelete();
}
nsInstallDelete::nsInstallDelete( nsInstall* inInstall,
const nsString& inComponentName,
PRInt32 *error)
: nsInstallObject(inInstall)
{
if (inInstall == NULL)
{
*error = nsInstall::INVALID_ARGUMENTS;
return;
}
mDeleteStatus = DELETE_COMPONENT;
mFinalFile = nsnull;
mRegistryName = inComponentName;
*error = ProcessInstallDelete();
}
nsInstallDelete::~nsInstallDelete()
{
if (mFinalFile == nsnull)
delete mFinalFile;
}
PRInt32 nsInstallDelete::Prepare()
{
// no set-up necessary
return nsInstall::SUCCESS;
}
PRInt32 nsInstallDelete::Complete()
{
PRInt32 err = nsInstall::SUCCESS;
if (mInstall == NULL)
return nsInstall::INVALID_ARGUMENTS;
if (mDeleteStatus == DELETE_COMPONENT)
{
char* temp = mRegistryName.ToNewCString();
err = VR_Remove(temp);
delete [] temp;
}
if ((mDeleteStatus == DELETE_FILE) || (err == REGERR_OK))
{
err = NativeComplete();
}
else
{
err = nsInstall::UNEXPECTED_ERROR;
}
return err;
}
void nsInstallDelete::Abort()
{
}
char* nsInstallDelete::toString()
{
char* buffer = new char[1024];
if (mDeleteStatus == DELETE_COMPONENT)
{
sprintf( buffer, nsInstallResources::GetDeleteComponentString(), nsAutoCString(mRegistryName));
}
else
{
if (mFinalFile)
sprintf( buffer, nsInstallResources::GetDeleteFileString(), mFinalFile->GetCString());
}
return buffer;
}
PRBool
nsInstallDelete::CanUninstall()
{
return PR_FALSE;
}
PRBool
nsInstallDelete::RegisterPackageNode()
{
return PR_FALSE;
}
PRInt32 nsInstallDelete::ProcessInstallDelete()
{
PRInt32 err;
char* tempCString = nsnull;
if (mDeleteStatus == DELETE_COMPONENT)
{
/* Check if the component is in the registry */
tempCString = mRegistryName.ToNewCString();
err = VR_InRegistry( tempCString );
if (err != REGERR_OK)
{
return err;
}
else
{
char* tempRegistryString;
tempRegistryString = (char*)PR_Calloc(MAXREGPATHLEN, sizeof(char));
err = VR_GetPath( tempCString , MAXREGPATHLEN, tempRegistryString);
if (err == REGERR_OK)
{
if (mFinalFile)
delete mFinalFile;
mFinalFile = new nsFileSpec(tempRegistryString);
}
PR_FREEIF(tempRegistryString);
}
}
if(tempCString)
delete [] tempCString;
if (mFinalFile->Exists())
{
if (mFinalFile->IsFile())
{
err = nsInstall::SUCCESS;
}
else
{
err = nsInstall::FILE_IS_DIRECTORY;
}
}
else
{
err = nsInstall::FILE_DOES_NOT_EXIST;
}
return err;
}
PRInt32 nsInstallDelete::NativeComplete()
{
if (mFinalFile->Exists())
{
if (mFinalFile->IsFile())
{
return DeleteFileNowOrSchedule(*mFinalFile);
}
else
{
return nsInstall::FILE_IS_DIRECTORY;
}
}
return nsInstall::FILE_DOES_NOT_EXIST;
}

View File

@@ -0,0 +1,78 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsInstallDelete_h__
#define nsInstallDelete_h__
#include "prtypes.h"
#include "nsString.h"
#include "nsInstallObject.h"
#include "nsInstall.h"
#define DELETE_COMPONENT 1
#define DELETE_FILE 2
class nsInstallDelete : public nsInstallObject
{
public:
nsInstallDelete( nsInstall* inInstall,
const nsString& folderSpec,
const nsString& inPartialPath,
PRInt32 *error);
nsInstallDelete( nsInstall* inInstall,
const nsString& ,
PRInt32 *error);
virtual ~nsInstallDelete();
PRInt32 Prepare();
PRInt32 Complete();
void Abort();
char* toString();
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
/* Private Fields */
nsFileSpec* mFinalFile;
nsString mRegistryName;
PRInt32 mDeleteStatus;
PRInt32 ProcessInstallDelete();
PRInt32 NativeComplete();
};
#endif /* nsInstallDelete_h__ */

View File

@@ -0,0 +1,136 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "prmem.h"
#include "nsFileSpec.h"
#include "VerReg.h"
#include "nsInstallExecute.h"
#include "nsInstallResources.h"
#include "ScheduledTasks.h"
#include "nsInstall.h"
#include "nsIDOMInstallVersion.h"
nsInstallExecute:: nsInstallExecute( nsInstall* inInstall,
const nsString& inJarLocation,
const nsString& inArgs,
PRInt32 *error)
: nsInstallObject(inInstall)
{
if ((inInstall == nsnull) || (inJarLocation == "null"))
{
*error = nsInstall::INVALID_ARGUMENTS;
return;
}
mJarLocation = inJarLocation;
mArgs = inArgs;
mExecutableFile = nsnull;
}
nsInstallExecute::~nsInstallExecute()
{
if (mExecutableFile)
delete mExecutableFile;
}
PRInt32 nsInstallExecute::Prepare()
{
if (mInstall == NULL || mJarLocation == "null")
return nsInstall::INVALID_ARGUMENTS;
return mInstall->ExtractFileFromJar(mJarLocation, nsnull, &mExecutableFile);
}
PRInt32 nsInstallExecute::Complete()
{
if (mExecutableFile == nsnull)
return nsInstall::INVALID_ARGUMENTS;
nsFileSpec app( *mExecutableFile);
if (!app.Exists())
{
return nsInstall::INVALID_ARGUMENTS;
}
PRInt32 result = app.Execute( mArgs );
DeleteFileNowOrSchedule( app );
return result;
}
void nsInstallExecute::Abort()
{
/* Get the names */
if (mExecutableFile == nsnull)
return;
DeleteFileNowOrSchedule(*mExecutableFile);
}
char* nsInstallExecute::toString()
{
char* buffer = new char[1024];
// if the FileSpec is NULL, just us the in jar file name.
if (mExecutableFile == nsnull)
{
char *tempString = mJarLocation.ToNewCString();
sprintf( buffer, nsInstallResources::GetExecuteString(), tempString);
delete [] tempString;
}
else
{
sprintf( buffer, nsInstallResources::GetExecuteString(), mExecutableFile->GetCString());
}
return buffer;
}
PRBool
nsInstallExecute::CanUninstall()
{
return PR_FALSE;
}
PRBool
nsInstallExecute::RegisterPackageNode()
{
return PR_FALSE;
}

View File

@@ -0,0 +1,73 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsInstallExecute_h__
#define nsInstallExecute_h__
#include "prtypes.h"
#include "nsString.h"
#include "nsInstallObject.h"
#include "nsInstall.h"
#include "nsIDOMInstallVersion.h"
class nsInstallExecute : public nsInstallObject
{
public:
nsInstallExecute( nsInstall* inInstall,
const nsString& inJarLocation,
const nsString& inArgs,
PRInt32 *error);
virtual ~nsInstallExecute();
PRInt32 Prepare();
PRInt32 Complete();
void Abort();
char* toString();
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
nsString mJarLocation; // Location in the JAR
nsString mArgs; // command line arguments
nsFileSpec *mExecutableFile; // temporary file location
PRInt32 NativeComplete(void);
void NativeAbort(void);
};
#endif /* nsInstallExecute_h__ */

View File

@@ -0,0 +1,366 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nsInstallFile.h"
#include "nsFileSpec.h"
#include "VerReg.h"
#include "ScheduledTasks.h"
#include "nsInstall.h"
#include "nsIDOMInstallVersion.h"
#include "nsInstallResources.h"
/* Public Methods */
/* Constructor
inInstall - softUpdate object we belong to
inComponentName - full path of the registry component
inVInfo - full version info
inJarLocation - location inside the JAR file
inFinalFileSpec - final location on disk
*/
nsInstallFile::nsInstallFile(nsInstall* inInstall,
const nsString& inComponentName,
const nsString& inVInfo,
const nsString& inJarLocation,
const nsString& folderSpec,
const nsString& inPartialPath,
PRBool forceInstall,
PRInt32 *error)
: nsInstallObject(inInstall)
{
mVersionRegistryName = nsnull;
mJarLocation = nsnull;
mExtracedFile = nsnull;
mFinalFile = nsnull;
mVersionInfo = nsnull;
mUpgradeFile = PR_FALSE;
if ((folderSpec == "null") || (inInstall == NULL))
{
*error = nsInstall::INVALID_ARGUMENTS;
return;
}
/* Check for existence of the newer version */
PRBool versionNewer = PR_FALSE; // Is this a newer version
char* qualifiedRegNameString = inComponentName.ToNewCString();
if ( (forceInstall == PR_FALSE ) && (inVInfo != "") && ( VR_ValidateComponent( qualifiedRegNameString ) == 0 ) )
{
nsInstallVersion *newVersion = new nsInstallVersion();
newVersion->Init(inVInfo);
VERSION versionStruct;
VR_GetVersion( qualifiedRegNameString, &versionStruct );
nsInstallVersion* oldVersion = new nsInstallVersion();
oldVersion->Init(versionStruct.major,
versionStruct.minor,
versionStruct.release,
versionStruct.build);
PRInt32 areTheyEqual;
newVersion->CompareTo(oldVersion, &areTheyEqual);
delete oldVersion;
delete newVersion;
if (areTheyEqual == nsIDOMInstallVersion::MAJOR_DIFF_MINUS ||
areTheyEqual == nsIDOMInstallVersion::MINOR_DIFF_MINUS ||
areTheyEqual == nsIDOMInstallVersion::REL_DIFF_MINUS ||
areTheyEqual == nsIDOMInstallVersion::BLD_DIFF_MINUS )
{
// the file to be installed is OLDER than what is on disk. Return error
delete qualifiedRegNameString;
*error = areTheyEqual;
return;
}
}
delete qualifiedRegNameString;
mFinalFile = new nsFileSpec(folderSpec);
*mFinalFile += inPartialPath;
mReplaceFile = mFinalFile->Exists();
if (mReplaceFile == PR_FALSE)
{
nsFileSpec parent;
mFinalFile->GetParent(parent);
nsFileSpec makeDirs(parent.GetCString(), PR_TRUE);
}
mForceInstall = forceInstall;
mVersionRegistryName = new nsString(inComponentName);
mJarLocation = new nsString(inJarLocation);
mVersionInfo = new nsString(inVInfo);
nsString regPackageName;
mInstall->GetRegPackageName(regPackageName);
// determine Child status
if ( regPackageName == "" )
{
// in the "current communicator package" absolute pathnames (start
// with slash) indicate shared files -- all others are children
mChildFile = ( mVersionRegistryName->CharAt(0) != '/' );
}
else
{
// there is no "starts with" api in nsString. LAME!
nsString startsWith;
mVersionRegistryName->Left(startsWith, regPackageName.Length());
if (startsWith.Equals(regPackageName))
{
mChildFile = true;
}
else
{
mChildFile = false;
}
}
}
nsInstallFile::~nsInstallFile()
{
if (mVersionRegistryName)
delete mVersionRegistryName;
if (mJarLocation)
delete mJarLocation;
if (mExtracedFile)
delete mExtracedFile;
if (mFinalFile)
delete mFinalFile;
if (mVersionInfo)
delete mVersionInfo;
}
/* Prepare
* Extracts file out of the JAR archive
*/
PRInt32 nsInstallFile::Prepare()
{
if (mInstall == nsnull || mFinalFile == nsnull || mJarLocation == nsnull )
return nsInstall::INVALID_ARGUMENTS;
return mInstall->ExtractFileFromJar(*mJarLocation, mFinalFile, &mExtracedFile);
}
/* Complete
* Completes the install:
* - move the downloaded file to the final location
* - updates the registry
*/
PRInt32 nsInstallFile::Complete()
{
PRInt32 err;
if (mInstall == nsnull || mVersionRegistryName == nsnull || mFinalFile == nsnull )
{
return nsInstall::INVALID_ARGUMENTS;
}
err = CompleteFileMove();
if ( 0 == err || nsInstall::REBOOT_NEEDED == err )
{
err = RegisterInVersionRegistry();
}
return err;
}
void nsInstallFile::Abort()
{
if (mExtracedFile != nsnull)
mExtracedFile->Delete(PR_FALSE);
}
char* nsInstallFile::toString()
{
char* buffer = new char[1024];
if (mFinalFile == nsnull)
{
sprintf( buffer, nsInstallResources::GetInstallFileString(), nsnull);
}
else if (mReplaceFile)
{
// we are replacing this file.
sprintf( buffer, nsInstallResources::GetReplaceFileString(), mFinalFile->GetCString());
}
else
{
sprintf( buffer, nsInstallResources::GetInstallFileString(), mFinalFile->GetCString());
}
return buffer;
}
PRInt32 nsInstallFile::CompleteFileMove()
{
int result = 0;
if (mExtracedFile == nsnull)
{
return -1;
}
if ( *mExtracedFile == *mFinalFile )
{
/* No need to rename, they are the same */
result = 0;
}
else
{
result = ReplaceFileNowOrSchedule(*mExtracedFile, *mFinalFile );
}
return result;
}
PRInt32
nsInstallFile::RegisterInVersionRegistry()
{
int refCount;
nsString regPackageName;
mInstall->GetRegPackageName(regPackageName);
// Register file and log for Uninstall
if (!mChildFile)
{
int found;
if (regPackageName != "")
{
found = VR_UninstallFileExistsInList( (char*)(const char*)nsAutoCString(regPackageName) ,
(char*)(const char*)nsAutoCString(*mVersionRegistryName));
}
else
{
found = VR_UninstallFileExistsInList( "", (char*)(const char*)nsAutoCString(*mVersionRegistryName) );
}
if (found != REGERR_OK)
mUpgradeFile = PR_FALSE;
else
mUpgradeFile = PR_TRUE;
}
else if (REGERR_OK == VR_InRegistry( (char*)(const char*)nsAutoCString(*mVersionRegistryName)))
{
mUpgradeFile = PR_TRUE;
}
else
{
mUpgradeFile = PR_FALSE;
}
if ( REGERR_OK != VR_GetRefCount( (char*)(const char*)nsAutoCString(*mVersionRegistryName), &refCount ))
{
refCount = 0;
}
VR_Install( (char*)(const char*)nsAutoCString(*mVersionRegistryName),
(char*)(const char*)mFinalFile->GetNativePathCString(), // DO NOT CHANGE THIS.
(char*)(const char*)nsAutoCString(*mVersionInfo),
PR_FALSE );
if (mUpgradeFile)
{
if (refCount == 0)
VR_SetRefCount( (char*)(const char*)nsAutoCString(*mVersionRegistryName), 1 );
else
VR_SetRefCount( (char*)(const char*)nsAutoCString(*mVersionRegistryName), refCount ); //FIX?? what should the ref count be/
}
else
{
if (refCount != 0)
{
VR_SetRefCount( (char*)(const char*)nsAutoCString(*mVersionRegistryName), refCount + 1 );
}
else
{
if (mReplaceFile)
VR_SetRefCount( (char*)(const char*)nsAutoCString(*mVersionRegistryName), 2 );
else
VR_SetRefCount( (char*)(const char*)nsAutoCString(*mVersionRegistryName), 1 );
}
}
if ( !mChildFile && !mUpgradeFile )
{
if (regPackageName != "")
{
VR_UninstallAddFileToList( (char*)(const char*)nsAutoCString(regPackageName),
(char*)(const char*)nsAutoCString(*mVersionRegistryName));
}
else
{
VR_UninstallAddFileToList( "", (char*)(const char*)nsAutoCString(*mVersionRegistryName) );
}
}
return nsInstall::SUCCESS;
}
/* CanUninstall
* InstallFile() installs files which can be uninstalled,
* hence this function returns true.
*/
PRBool
nsInstallFile::CanUninstall()
{
return TRUE;
}
/* RegisterPackageNode
* InstallFile() installs files which need to be registered,
* hence this function returns true.
*/
PRBool
nsInstallFile::RegisterPackageNode()
{
return TRUE;
}

View File

@@ -0,0 +1,93 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsInstallFile_h__
#define nsInstallFile_h__
#include "prtypes.h"
#include "nsString.h"
#include "nsInstallObject.h"
#include "nsInstall.h"
#include "nsInstallVersion.h"
class nsInstallFile : public nsInstallObject
{
public:
/*************************************************************
* Public Methods
*
* Constructor
* inSoftUpdate - softUpdate object we belong to
* inComponentName - full path of the registry component
* inVInfo - full version info
* inJarLocation - location inside the JAR file
* inFinalFileSpec - final location on disk
*************************************************************/
nsInstallFile( nsInstall* inInstall,
const nsString& inVRName,
const nsString& inVInfo,
const nsString& inJarLocation,
const nsString& folderSpec,
const nsString& inPartialPath,
PRBool forceInstall,
PRInt32 *error);
virtual ~nsInstallFile();
PRInt32 Prepare();
PRInt32 Complete();
void Abort();
char* toString();
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
/* Private Fields */
nsString* mVersionInfo; /* Version info for this file*/
nsString* mJarLocation; /* Location in the JAR */
nsFileSpec* mExtracedFile; /* temporary file location */
nsFileSpec* mFinalFile; /* final file destination */
nsString* mVersionRegistryName; /* full version path */
PRBool mForceInstall; /* whether install is forced */
PRBool mReplaceFile; /* whether file exists */
PRBool mChildFile; /* whether file is a child */
PRBool mUpgradeFile; /* whether file is an upgrade */
PRInt32 CompleteFileMove();
PRInt32 RegisterInVersionRegistry();
};
#endif /* nsInstallFile_h__ */

View File

@@ -0,0 +1,38 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsInstallFileOpEnums_h__
#define nsInstallFileOpEnums_h__
typedef enum nsInstallFileOpEnums {
NS_FOP_DIR_CREATE = 0,
NS_FOP_DIR_REMOVE = 1,
NS_FOP_DIR_RENAME = 2,
NS_FOP_FILE_COPY = 3,
NS_FOP_FILE_DELETE = 4,
NS_FOP_FILE_EXECUTE = 5,
NS_FOP_FILE_MOVE = 6,
NS_FOP_FILE_RENAME = 7,
NS_FOP_WIN_SHORTCUT_CREATE = 8,
NS_FOP_MAC_ALIAS_CREATE = 9,
NS_FOP_UNIX_LINK_CREATE = 10,
NS_FOP_FILE_SET_STAT = 11
} nsInstallFileOpEnums;
#endif /* nsInstallFileOpEnums_h__ */

View File

@@ -0,0 +1,316 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nspr.h"
#include "nsInstall.h"
#include "nsInstallFileOpEnums.h"
#include "nsInstallFileOpItem.h"
/* Public Methods */
nsInstallFileOpItem::nsInstallFileOpItem(nsInstall* aInstallObj,
PRInt32 aCommand,
nsFileSpec& aTarget,
PRInt32 aFlags,
PRInt32* aReturn)
:nsInstallObject(aInstallObj)
{
mIObj = aInstallObj;
mCommand = aCommand;
mFlags = aFlags;
mSrc = nsnull;
mParams = nsnull;
mTarget = new nsFileSpec(aTarget);
*aReturn = NS_OK;
}
nsInstallFileOpItem::nsInstallFileOpItem(nsInstall* aInstallObj,
PRInt32 aCommand,
nsFileSpec& aSrc,
nsFileSpec& aTarget,
PRInt32* aReturn)
:nsInstallObject(aInstallObj)
{
mIObj = aInstallObj;
mCommand = aCommand;
mFlags = 0;
mSrc = new nsFileSpec(aSrc);
mParams = nsnull;
mTarget = new nsFileSpec(aTarget);
*aReturn = NS_OK;
}
nsInstallFileOpItem::nsInstallFileOpItem(nsInstall* aInstallObj,
PRInt32 aCommand,
nsFileSpec& aTarget,
PRInt32* aReturn)
:nsInstallObject(aInstallObj)
{
mIObj = aInstallObj;
mCommand = aCommand;
mFlags = 0;
mSrc = nsnull;
mParams = nsnull;
mTarget = new nsFileSpec(aTarget);
*aReturn = NS_OK;
}
nsInstallFileOpItem::nsInstallFileOpItem(nsInstall* aInstallObj,
PRInt32 aCommand,
nsFileSpec& aTarget,
nsString& aParams,
PRInt32* aReturn)
:nsInstallObject(aInstallObj)
{
mIObj = aInstallObj;
mCommand = aCommand;
mFlags = 0;
mSrc = nsnull;
mParams = new nsString(aParams);
mTarget = new nsFileSpec(aTarget);
*aReturn = NS_OK;
}
nsInstallFileOpItem::~nsInstallFileOpItem()
{
if(mSrc)
delete mSrc;
if(mTarget)
delete mTarget;
}
PRInt32 nsInstallFileOpItem::Complete()
{
PRInt32 aReturn = NS_OK;
switch(mCommand)
{
case NS_FOP_DIR_CREATE:
NativeFileOpDirCreate(mTarget);
break;
case NS_FOP_DIR_REMOVE:
NativeFileOpDirRemove(mTarget, mFlags);
break;
case NS_FOP_DIR_RENAME:
NativeFileOpDirRename(mSrc, mTarget);
break;
case NS_FOP_FILE_COPY:
NativeFileOpFileCopy(mSrc, mTarget);
break;
case NS_FOP_FILE_DELETE:
NativeFileOpFileDelete(mTarget, mFlags);
break;
case NS_FOP_FILE_EXECUTE:
NativeFileOpFileExecute(mTarget, mParams);
break;
case NS_FOP_FILE_MOVE:
NativeFileOpFileMove(mSrc, mTarget);
break;
case NS_FOP_FILE_RENAME:
NativeFileOpFileRename(mSrc, mTarget);
break;
case NS_FOP_WIN_SHORTCUT_CREATE:
NativeFileOpWinShortcutCreate();
break;
case NS_FOP_MAC_ALIAS_CREATE:
NativeFileOpMacAliasCreate();
break;
case NS_FOP_UNIX_LINK_CREATE:
NativeFileOpUnixLinkCreate();
break;
}
return aReturn;
}
float nsInstallFileOpItem::GetInstallOrder()
{
return 3;
}
char* nsInstallFileOpItem::toString()
{
nsString result;
char* resultCString;
switch(mCommand)
{
case NS_FOP_FILE_COPY:
result = "Copy file: ";
result.Append(mSrc->GetNativePathCString());
result.Append(" to ");
result.Append(mTarget->GetNativePathCString());
resultCString = result.ToNewCString();
break;
case NS_FOP_FILE_DELETE:
result = "Delete file: ";
result.Append(mTarget->GetNativePathCString());
resultCString = result.ToNewCString();
break;
case NS_FOP_FILE_MOVE:
result = "Move file: ";
result.Append(mSrc->GetNativePathCString());
result.Append(" to ");
result.Append(mTarget->GetNativePathCString());
resultCString = result.ToNewCString();
break;
case NS_FOP_FILE_RENAME:
result = "Rename file: ";
result.Append(mTarget->GetNativePathCString());
resultCString = result.ToNewCString();
break;
case NS_FOP_DIR_CREATE:
result = "Create Folder: ";
result.Append(mTarget->GetNativePathCString());
resultCString = result.ToNewCString();
break;
case NS_FOP_DIR_REMOVE:
result = "Remove Folder: ";
result.Append(mTarget->GetNativePathCString());
resultCString = result.ToNewCString();
break;
case NS_FOP_WIN_SHORTCUT_CREATE:
break;
case NS_FOP_MAC_ALIAS_CREATE:
break;
case NS_FOP_UNIX_LINK_CREATE:
break;
case NS_FOP_FILE_SET_STAT:
result = "Set file stat: ";
result.Append(mTarget->GetNativePathCString());
resultCString = result.ToNewCString();
break;
default:
result = "Unkown file operation command!";
resultCString = result.ToNewCString();
break;
}
return resultCString;
}
PRInt32 nsInstallFileOpItem::Prepare()
{
return NULL;
}
void nsInstallFileOpItem::Abort()
{
}
/* Private Methods */
/* CanUninstall
* InstallFileOpItem() does not install any files which can be uninstalled,
* hence this function returns false.
*/
PRBool
nsInstallFileOpItem::CanUninstall()
{
return FALSE;
}
/* RegisterPackageNode
* InstallFileOpItem() does notinstall files which need to be registered,
* hence this function returns false.
*/
PRBool
nsInstallFileOpItem::RegisterPackageNode()
{
return FALSE;
}
//
// File operation functions begin here
//
PRInt32
nsInstallFileOpItem::NativeFileOpDirCreate(nsFileSpec* aTarget)
{
aTarget->CreateDirectory();
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpDirRemove(nsFileSpec* aTarget, PRInt32 aFlags)
{
aTarget->Delete(aFlags);
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpDirRename(nsFileSpec* aSrc, nsFileSpec* aTarget)
{
aSrc->Rename(*aTarget);
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpFileCopy(nsFileSpec* aSrc, nsFileSpec* aTarget)
{
aSrc->Copy(*aTarget);
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpFileDelete(nsFileSpec* aTarget, PRInt32 aFlags)
{
aTarget->Delete(aFlags);
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpFileExecute(nsFileSpec* aTarget, nsString* aParams)
{
aTarget->Execute(*aParams);
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpFileMove(nsFileSpec* aSrc, nsFileSpec* aTarget)
{
aSrc->Move(*aTarget);
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpFileRename(nsFileSpec* aSrc, nsFileSpec* aTarget)
{
aSrc->Rename(*aTarget);
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpWinShortcutCreate()
{
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpMacAliasCreate()
{
return NS_OK;
}
PRInt32
nsInstallFileOpItem::NativeFileOpUnixLinkCreate()
{
return NS_OK;
}

View File

@@ -0,0 +1,111 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsInstallFileOpItem_h__
#define nsInstallFileOpItem_h__
#include "prtypes.h"
#include "nsFileSpec.h"
#include "nsSoftwareUpdate.h"
#include "nsInstallObject.h"
#include "nsInstall.h"
class nsInstallFileOpItem : public nsInstallObject
{
public:
/* Public Fields */
/* Public Methods */
// used by:
// FileOpFileDelete()
nsInstallFileOpItem(nsInstall* installObj,
PRInt32 aCommand,
nsFileSpec& aTarget,
PRInt32 aFlags,
PRInt32* aReturn);
// used by:
// FileOpDirRemove()
// FileOpDirRename()
// FileOpFileCopy()
// FileOpFileMove()
// FileOpFileRename()
nsInstallFileOpItem(nsInstall* installObj,
PRInt32 aCommand,
nsFileSpec& aSrc,
nsFileSpec& aTarget,
PRInt32* aReturn);
// used by:
// FileOpDirCreate()
nsInstallFileOpItem(nsInstall* aInstallObj,
PRInt32 aCommand,
nsFileSpec& aTarget,
PRInt32* aReturn);
// used by:
// FileOpFileExecute()
nsInstallFileOpItem(nsInstall* aInstallObj,
PRInt32 aCommand,
nsFileSpec& aTarget,
nsString& aParams,
PRInt32* aReturn);
~nsInstallFileOpItem();
PRInt32 Prepare(void);
PRInt32 Complete();
char* toString();
void Abort();
float GetInstallOrder();
/* should these be protected? */
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
/* Private Fields */
nsInstall* mIObj; // initiating Install object
nsFileSpec* mSrc;
nsFileSpec* mTarget;
nsString* mParams;
long mFStat;
PRInt32 mFlags;
PRInt32 mCommand;
/* Private Methods */
PRInt32 NativeFileOpDirCreate(nsFileSpec* aTarget);
PRInt32 NativeFileOpDirRemove(nsFileSpec* aTarget, PRInt32 aFlags);
PRInt32 NativeFileOpDirRename(nsFileSpec* aSrc, nsFileSpec* aTarget);
PRInt32 NativeFileOpFileCopy(nsFileSpec* aSrc, nsFileSpec* aTarget);
PRInt32 NativeFileOpFileDelete(nsFileSpec* aTarget, PRInt32 aFlags);
PRInt32 NativeFileOpFileExecute(nsFileSpec* aTarget, nsString* aParams);
PRInt32 NativeFileOpFileMove(nsFileSpec* aSrc, nsFileSpec* aTarget);
PRInt32 NativeFileOpFileRename(nsFileSpec* aSrc, nsFileSpec* aTarget);
PRInt32 NativeFileOpWinShortcutCreate();
PRInt32 NativeFileOpMacAliasCreate();
PRInt32 NativeFileOpUnixLinkCreate();
};
#endif /* nsInstallFileOpItem_h__ */

View File

@@ -0,0 +1,336 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nsInstall.h"
#include "nsInstallFolder.h"
#include "nscore.h"
#include "prtypes.h"
#include "nsRepository.h"
#include "nsString.h"
#include "nsFileSpec.h"
#include "nsSpecialSystemDirectory.h"
#include "nsFileLocations.h"
#include "nsIFileLocator.h"
struct DirectoryTable
{
char * directoryName; /* The formal directory name */
PRInt32 folderEnum; /* Directory ID */
};
struct DirectoryTable DirectoryTable[] =
{
{"Plugins", 100 },
{"Program", 101 },
{"Communicator", 102 },
{"User Pick", 103 },
{"Temporary", 104 },
{"Installed", 105 },
{"Current User", 106 },
{"Preferences", 107 },
{"OS Drive", 108 },
{"file:///", 109 },
{"Components", 110 },
{"Chrome", 111 },
{"Win System", 200 },
{"Windows", 201 },
{"Mac System", 300 },
{"Mac Desktop", 301 },
{"Mac Trash", 302 },
{"Mac Startup", 303 },
{"Mac Shutdown", 304 },
{"Mac Apple Menu", 305 },
{"Mac Control Panel", 306 },
{"Mac Extension", 307 },
{"Mac Fonts", 308 },
{"Mac Preferences", 309 },
{"Mac Documents", 310 },
{"Unix Local", 400 },
{"Unix Lib", 401 },
{"", -1 }
};
nsInstallFolder::nsInstallFolder(const nsString& aFolderID)
{
mFileSpec = nsnull;
SetDirectoryPath( aFolderID, "");
}
nsInstallFolder::nsInstallFolder(const nsString& aFolderID, const nsString& aRelativePath)
{
mFileSpec = nsnull;
/*
aFolderID can be either a Folder enum in which case we merely pass it to SetDirectoryPath, or
it can be a Directory. If it is the later, it must already exist and of course be a directory
not a file.
*/
nsFileSpec dirCheck(aFolderID);
if ( (dirCheck.Error() == NS_OK) && (dirCheck.IsDirectory()) && (dirCheck.Exists()))
{
nsString tempString = aFolderID;
tempString += aRelativePath;
mFileSpec = new nsFileSpec(tempString);
// make sure that the directory is created.
nsFileSpec(mFileSpec->GetCString(), PR_TRUE);
}
else
{
SetDirectoryPath( aFolderID, aRelativePath);
}
}
nsInstallFolder::~nsInstallFolder()
{
if (mFileSpec != nsnull)
delete mFileSpec;
}
void
nsInstallFolder::GetDirectoryPath(nsString& aDirectoryPath)
{
aDirectoryPath = "";
if (mFileSpec != nsnull)
{
// We want the a NATIVE path.
aDirectoryPath.SetString(mFileSpec->GetCString());
}
}
void
nsInstallFolder::SetDirectoryPath(const nsString& aFolderID, const nsString& aRelativePath)
{
if ( aFolderID.EqualsIgnoreCase("User Pick") )
{
PickDefaultDirectory();
return;
}
else if ( aFolderID.EqualsIgnoreCase("Installed") )
{
mFileSpec = new nsFileSpec(aRelativePath, PR_TRUE); // creates the directories to the relative path.
return;
}
else
{
PRInt32 folderDirSpecID = MapNameToEnum(aFolderID);
switch (folderDirSpecID)
{
case 100: /////////////////////////////////////////////////////////// Plugins
SetAppShellDirectory(nsSpecialFileSpec::App_PluginsDirectory );
break;
case 101: /////////////////////////////////////////////////////////// Program
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::OS_CurrentProcessDirectory ));
break;
case 102: /////////////////////////////////////////////////////////// Communicator
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::OS_CurrentProcessDirectory ));
break;
case 103: /////////////////////////////////////////////////////////// User Pick
// we should never be here.
mFileSpec = nsnull;
break;
case 104: /////////////////////////////////////////////////////////// Temporary
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::OS_TemporaryDirectory ));
break;
case 105: /////////////////////////////////////////////////////////// Installed
// we should never be here.
mFileSpec = nsnull;
break;
case 106: /////////////////////////////////////////////////////////// Current User
SetAppShellDirectory(nsSpecialFileSpec::App_UserProfileDirectory50 );
break;
case 107: /////////////////////////////////////////////////////////// Preferences
SetAppShellDirectory(nsSpecialFileSpec::App_PrefsDirectory50 );
break;
case 108: /////////////////////////////////////////////////////////// OS Drive
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::OS_DriveDirectory ));
break;
case 109: /////////////////////////////////////////////////////////// File URL
{
nsString tempFileURLString = aFolderID;
tempFileURLString += aRelativePath;
mFileSpec = new nsFileSpec( nsFileURL(tempFileURLString) );
}
break;
case 110: /////////////////////////////////////////////////////////// Components
SetAppShellDirectory(nsSpecialFileSpec::App_ComponentsDirectory );
break;
case 111: /////////////////////////////////////////////////////////// Chrome
SetAppShellDirectory(nsSpecialFileSpec::App_ChromeDirectory );
break;
case 200: /////////////////////////////////////////////////////////// Win System
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Win_SystemDirectory ));
break;
case 201: /////////////////////////////////////////////////////////// Windows
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Win_WindowsDirectory ));
break;
case 300: /////////////////////////////////////////////////////////// Mac System
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_SystemDirectory ));
break;
case 301: /////////////////////////////////////////////////////////// Mac Desktop
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_DesktopDirectory ));
break;
case 302: /////////////////////////////////////////////////////////// Mac Trash
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_TrashDirectory ));
break;
case 303: /////////////////////////////////////////////////////////// Mac Startup
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_StartupDirectory ));
break;
case 304: /////////////////////////////////////////////////////////// Mac Shutdown
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_StartupDirectory ));
break;
case 305: /////////////////////////////////////////////////////////// Mac Apple Menu
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_AppleMenuDirectory ));
break;
case 306: /////////////////////////////////////////////////////////// Mac Control Panel
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_ControlPanelDirectory ));
break;
case 307: /////////////////////////////////////////////////////////// Mac Extension
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_ExtensionDirectory ));
break;
case 308: /////////////////////////////////////////////////////////// Mac Fonts
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_FontsDirectory ));
break;
case 309: /////////////////////////////////////////////////////////// Mac Preferences
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_PreferencesDirectory ));
break;
case 310: /////////////////////////////////////////////////////////// Mac Documents
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Mac_DocumentsDirectory ));
break;
case 400: /////////////////////////////////////////////////////////// Unix Local
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Unix_LocalDirectory ));
break;
case 401: /////////////////////////////////////////////////////////// Unix Lib
mFileSpec = new nsFileSpec( nsSpecialSystemDirectory( nsSpecialSystemDirectory::Unix_LibDirectory ));
break;
case -1:
default:
mFileSpec = nsnull;
return;
}
#ifndef XP_MAC
if (aRelativePath.Length() > 0)
{
nsString tempPath(aRelativePath);
if (aRelativePath.Last() != '/' || aRelativePath.Last() != '\\')
tempPath += '/';
*mFileSpec += tempPath;
}
#endif
// make sure that the directory is created.
nsFileSpec(mFileSpec->GetCString(), PR_TRUE);
}
}
void nsInstallFolder::PickDefaultDirectory()
{
//FIX: Need to put up a dialog here and set mFileSpec
return;
}
/* MapNameToEnum
* maps name from the directory table to its enum */
PRInt32
nsInstallFolder::MapNameToEnum(const nsString& name)
{
int i = 0;
if ( name == "null")
return -1;
while ( DirectoryTable[i].directoryName[0] != 0 )
{
if ( name.EqualsIgnoreCase(DirectoryTable[i].directoryName) )
return DirectoryTable[i].folderEnum;
i++;
}
return -1;
}
static NS_DEFINE_IID(kFileLocatorIID, NS_IFILELOCATOR_IID);
static NS_DEFINE_IID(kFileLocatorCID, NS_FILELOCATOR_CID);
void
nsInstallFolder::SetAppShellDirectory(PRUint32 value)
{
nsIFileLocator * appShellLocator;
nsresult rv = nsComponentManager::CreateInstance(kFileLocatorCID,
nsnull,
kFileLocatorIID,
(void**) &appShellLocator);
if ( NS_SUCCEEDED(rv) )
{
mFileSpec = new nsFileSpec();
appShellLocator->GetFileLocation(value, mFileSpec);
NS_RELEASE(appShellLocator);
}
}

View File

@@ -0,0 +1,58 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef __NS_INSTALLFOLDER_H__
#define __NS_INSTALLFOLDER_H__
#include "nscore.h"
#include "prtypes.h"
#include "nsString.h"
#include "nsFileSpec.h"
#include "nsSpecialSystemDirectory.h"
class nsInstallFolder
{
public:
nsInstallFolder(const nsString& aFolderID);
nsInstallFolder(const nsString& aFolderID, const nsString& aRelativePath);
virtual ~nsInstallFolder();
void GetDirectoryPath(nsString& aDirectoryPath);
private:
nsFileSpec* mFileSpec;
void SetDirectoryPath(const nsString& aFolderID, const nsString& aRelativePath);
void PickDefaultDirectory();
PRInt32 MapNameToEnum(const nsString& name);
void SetAppShellDirectory(PRUint32 value);
};
#endif

View File

@@ -0,0 +1,52 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsInstallObject_h__
#define nsInstallObject_h__
#include "prtypes.h"
class nsInstall;
class nsInstallObject
{
public:
/* Public Methods */
nsInstallObject(nsInstall* inInstall) {mInstall = inInstall; }
/* Override with your set-up action */
virtual PRInt32 Prepare() = 0;
/* Override with your Completion action */
virtual PRInt32 Complete() = 0;
/* Override with an explanatory string for the progress dialog */
virtual char* toString() = 0;
/* Override with your clean-up function */
virtual void Abort() = 0;
/* should these be protected? */
virtual PRBool CanUninstall() = 0;
virtual PRBool RegisterPackageNode() = 0;
protected:
nsInstall* mInstall;
};
#endif /* nsInstallObject_h__ */

View File

@@ -0,0 +1,986 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsFileSpec.h"
#include "prmem.h"
#include "nsInstall.h"
#include "nsInstallPatch.h"
#include "nsInstallResources.h"
#include "nsIDOMInstallVersion.h"
#include "zlib.h"
#include "gdiff.h"
#include "VerReg.h"
#include "ScheduledTasks.h"
#include "plstr.h"
#include "xp_file.h" /* for XP_PlatformFileToURL */
#ifdef XP_MAC
#include "PatchableAppleSingle.h"
#endif
#define BUFSIZE 32768
#define OPSIZE 1
#define MAXCMDSIZE 12
#define SRCFILE 0
#define OUTFILE 1
#define getshort(s) (uint16)( ((uchar)*(s) << 8) + ((uchar)*((s)+1)) )
#define getlong(s) \
(uint32)( ((uchar)*(s) << 24) + ((uchar)*((s)+1) << 16 ) + \
((uchar)*((s)+2) << 8) + ((uchar)*((s)+3)) )
static int32 gdiff_parseHeader( pDIFFDATA dd );
static int32 gdiff_validateFile( pDIFFDATA dd, int file );
static int32 gdiff_valCRC32( pDIFFDATA dd, PRFileDesc* fh, uint32 chksum );
static int32 gdiff_ApplyPatch( pDIFFDATA dd );
static int32 gdiff_getdiff( pDIFFDATA dd, uchar *buffer, uint32 length );
static int32 gdiff_add( pDIFFDATA dd, uint32 count );
static int32 gdiff_copy( pDIFFDATA dd, uint32 position, uint32 count );
static int32 gdiff_validateFile( pDIFFDATA dd, int file );
nsInstallPatch::nsInstallPatch( nsInstall* inInstall,
const nsString& inVRName,
const nsString& inVInfo,
const nsString& inJarLocation,
PRInt32 *error)
: nsInstallObject(inInstall)
{
char tempTargetFile[MAXREGPATHLEN];
char* tempVersionString = inVRName.ToNewCString();
PRInt32 err = VR_GetPath(tempVersionString, MAXREGPATHLEN, tempTargetFile );
delete [] tempVersionString;
if (err != REGERR_OK)
{
*error = nsInstall::NO_SUCH_COMPONENT;
return;
}
nsString folderSpec(tempTargetFile);
mPatchFile = nsnull;
mTargetFile = nsnull;
mPatchedFile = nsnull;
mRegistryName = new nsString(inVRName);
mJarLocation = new nsString(inJarLocation);
mTargetFile = new nsFileSpec(folderSpec);
mVersionInfo = new nsInstallVersion();
mVersionInfo->Init(inVInfo);
}
nsInstallPatch::nsInstallPatch( nsInstall* inInstall,
const nsString& inVRName,
const nsString& inVInfo,
const nsString& inJarLocation,
const nsString& folderSpec,
const nsString& inPartialPath,
PRInt32 *error)
: nsInstallObject(inInstall)
{
if ((inInstall == nsnull) || (inVRName == "null") || (inJarLocation == "null"))
{
*error = nsInstall::INVALID_ARGUMENTS;
return;
}
mPatchFile = nsnull;
mTargetFile = nsnull;
mPatchedFile = nsnull;
mRegistryName = new nsString(inVRName);
mJarLocation = new nsString(inJarLocation);
mVersionInfo = new nsInstallVersion();
mVersionInfo->Init(inVInfo);
mTargetFile = new nsFileSpec(folderSpec);
if(inPartialPath != "null")
*mTargetFile += inPartialPath;
}
nsInstallPatch::~nsInstallPatch()
{
if (mVersionInfo)
delete mVersionInfo;
if (mTargetFile)
delete mTargetFile;
if (mJarLocation)
delete mJarLocation;
if (mRegistryName)
delete mRegistryName;
if (mPatchedFile)
delete mPatchedFile;
if (mPatchFile)
delete mPatchFile;
}
PRInt32 nsInstallPatch::Prepare()
{
PRInt32 err;
PRBool deleteOldSrc;
if (mTargetFile == nsnull)
return nsInstall::INVALID_ARGUMENTS;
if (mTargetFile->Exists())
{
if (mTargetFile->IsFile())
{
err = nsInstall::SUCCESS;
}
else
{
err = nsInstall::FILE_IS_DIRECTORY;
}
}
else
{
err = nsInstall::FILE_DOES_NOT_EXIST;
}
if (err != nsInstall::SUCCESS)
{
return err;
}
err = mInstall->ExtractFileFromJar(*mJarLocation, mTargetFile, &mPatchFile);
nsFileSpec *fileName = nsnull;
nsVoidKey ikey( HashFilePath( nsFilePath(*mTargetFile) ) );
mInstall->GetPatch(&ikey, fileName);
if (fileName != nsnull)
{
deleteOldSrc = PR_TRUE;
}
else
{
fileName = mTargetFile;
deleteOldSrc = PR_FALSE;
}
err = NativePatch( *fileName, // the file to patch
*mPatchFile, // the patch that was extracted from the jarfile
&mPatchedFile); // the new patched file
if (err != nsInstall::SUCCESS)
{
return err;
}
PR_ASSERT(mPatchedFile != nsnull);
mInstall->AddPatch(&ikey, mPatchedFile );
if ( deleteOldSrc )
{
DeleteFileNowOrSchedule(*fileName );
}
return err;
}
PRInt32 nsInstallPatch::Complete()
{
if ((mInstall == nsnull) || (mVersionInfo == nsnull) || (mPatchedFile == nsnull) || (mTargetFile == nsnull))
{
return nsInstall::INVALID_ARGUMENTS;
}
PRInt32 err = nsInstall::SUCCESS;
nsFileSpec *fileName = nsnull;
nsVoidKey ikey( HashFilePath( nsFilePath(*mTargetFile) ) );
mInstall->GetPatch(&ikey, fileName);
if (fileName != nsnull && (*fileName == *mPatchedFile) )
{
// the patch has not been superceded--do final replacement
err = ReplaceFileNowOrSchedule( *mTargetFile, *mPatchedFile);
if ( 0 == err || nsInstall::REBOOT_NEEDED == err )
{
nsString tempVersionString;
mVersionInfo->ToString(tempVersionString);
char* tempRegName = mRegistryName->ToNewCString();
char* tempVersion = tempVersionString.ToNewCString();
err = VR_Install( tempRegName,
(char*) (const char *) nsNSPRPath(*mTargetFile),
tempVersion,
PR_FALSE );
delete [] tempRegName;
delete [] tempVersion;
}
else
{
err = nsInstall::UNEXPECTED_ERROR;
}
}
else
{
// nothing -- old intermediate patched file was
// deleted by a superceding patch
}
return err;
}
void nsInstallPatch::Abort()
{
nsFileSpec *fileName = nsnull;
nsVoidKey ikey( HashFilePath( nsFilePath(*mTargetFile) ) );
mInstall->GetPatch(&ikey, fileName);
if (fileName != nsnull && (*fileName == *mPatchedFile) )
{
DeleteFileNowOrSchedule( *mPatchedFile );
}
}
char* nsInstallPatch::toString()
{
char* buffer = new char[1024];
// FIX! sprintf( buffer, nsInstallResources::GetPatchFileString(), mPatchedFile->GetCString());
return buffer;
}
PRBool
nsInstallPatch::CanUninstall()
{
return PR_FALSE;
}
PRBool
nsInstallPatch::RegisterPackageNode()
{
return PR_FALSE;
}
PRInt32
nsInstallPatch::NativePatch(const nsFileSpec &sourceFile, const nsFileSpec &patchFile, nsFileSpec **newFile)
{
DIFFDATA *dd;
PRInt32 status = GDIFF_ERR_MEM;
char *tmpurl = NULL;
char *realfile = PL_strdup(nsNSPRPath(sourceFile)); // needs to be sourceFile!!!
nsFileSpec outFileSpec = sourceFile;
dd = (DIFFDATA *)PR_Calloc( 1, sizeof(DIFFDATA));
if (dd != NULL)
{
dd->databuf = (uchar*)PR_Malloc(BUFSIZE);
if (dd->databuf == NULL)
{
status = GDIFF_ERR_MEM;
goto cleanup;
}
dd->bufsize = BUFSIZE;
// validate patch header & check for special instructions
dd->fDiff = PR_Open (nsNSPRPath(patchFile), PR_RDONLY, 0666);
if (dd->fDiff != NULL)
{
status = gdiff_parseHeader(dd);
} else {
status = GDIFF_ERR_ACCESS;
}
#ifdef dono
#ifdef WIN32
/* unbind Win32 images */
if ( dd->bWin32BoundImage && status == GDIFF_OK ) {
tmpurl = WH_TempName( xpURL, NULL );
if ( tmpurl != NULL ) {
if (su_unbind( srcfile, srctype, tmpurl, xpURL ))
{
PL_strfree(realfile);
realfile = tmpurl;
realtype = xpURL;
}
}
else
status = GDIFF_ERR_MEM;
}
#endif
#endif
#ifdef XP_MAC
if ( dd->bMacAppleSingle && status == GDIFF_OK )
{
// create a tmp file, so that we can AppleSingle the src file
nsSpecialSystemDirectory tempMacFile(nsSpecialSystemDirectory::OS_TemporaryDirectory);
nsString srcName = sourceFile.GetLeafName();
tempMacFile.SetLeafName(srcName);
tempMacFile.MakeUnique();
// Encode!
// Encode src file, and put into temp file
FSSpec sourceSpec = sourceFile.GetFSSpec();
FSSpec tempSpec = tempMacFile.GetFSSpec();
status = PAS_EncodeFile(&sourceSpec, &tempSpec);
if (status == noErr)
{
// set
PL_strfree(realfile);
realfile = PL_strdup(nsNSPRPath(tempMacFile));
}
}
#endif
if (status != NS_OK)
goto cleanup;
// make a unique file at the same location of our source file (FILENAME-ptch.EXT)
nsString patchFileName = "-ptch";
nsString newFileName = sourceFile.GetLeafName();
PRInt32 index;
if ((index = newFileName.RFind(".")) > 0)
{
nsString extention;
nsString fileName;
newFileName.Right(extention, (newFileName.Length() - index) );
newFileName.Left(fileName, (newFileName.Length() - (newFileName.Length() - index)));
newFileName = fileName + patchFileName + extention;
} else {
newFileName += patchFileName;
}
outFileSpec.SetLeafName(newFileName); //????
outFileSpec.MakeUnique();
char *outFile = PL_strdup(nsNSPRPath(outFileSpec));
// apply patch to the source file
dd->fSrc = PR_Open ( realfile, PR_RDONLY, 0666);
dd->fOut = PR_Open ( outFile, PR_RDWR|PR_CREATE_FILE|PR_TRUNCATE, 0666);
if (dd->fSrc != NULL && dd->fOut != NULL)
{
status = gdiff_validateFile (dd, SRCFILE);
// specify why diff failed
if (status == GDIFF_ERR_CHECKSUM)
status = GDIFF_ERR_CHECKSUM_TARGET;
if (status == GDIFF_OK)
status = gdiff_ApplyPatch(dd);
if (status == GDIFF_OK)
status = gdiff_validateFile (dd, OUTFILE);
if (status == GDIFF_ERR_CHECKSUM)
status = GDIFF_ERR_CHECKSUM_RESULT;
if (status == GDIFF_OK)
{
*newFile = &outFileSpec;
if ( outFile != nsnull)
PL_strfree( outFile );
}
} else {
status = GDIFF_ERR_ACCESS;
}
}
#ifdef XP_MAC
if ( dd->bMacAppleSingle && status == GDIFF_OK )
{
// create another file, so that we can decode somewhere
nsFileSpec anotherName = outFileSpec;
anotherName.MakeUnique();
// Close the out file so that we can read it
PR_Close( dd->fOut );
dd->fOut = NULL;
FSSpec outSpec = outFileSpec.GetFSSpec();
FSSpec anotherSpec = anotherName.GetFSSpec();
status = PAS_DecodeFile(&outSpec, &anotherSpec);
if (status != noErr)
{
goto cleanup;
}
nsFileSpec parent;
outFileSpec.GetParent(parent);
outFileSpec.Delete(PR_FALSE);
anotherName.Copy(parent);
*newFile = &anotherName;
}
#endif
cleanup:
if ( dd != NULL )
{
if ( dd->fSrc != nsnull )
PR_Close( dd->fSrc );
if ( dd->fDiff != nsnull )
PR_Close( dd->fDiff );
if ( dd->fOut != nsnull )
{
PR_Close( dd->fOut );
}
if ( status != GDIFF_OK )
//XP_FileRemove( outfile, outtype );
newFile = NULL;
PR_FREEIF( dd->databuf );
PR_FREEIF( dd->oldChecksum );
PR_FREEIF( dd->newChecksum );
PR_DELETE(dd);
}
if ( tmpurl != NULL ) {
//XP_FileRemove( tmpurl, xpURL );
tmpurl = NULL;
PR_DELETE( tmpurl );
}
/* lets map any GDIFF error to nice SU errors */
switch (status)
{
case GDIFF_OK:
break;
case GDIFF_ERR_HEADER:
case GDIFF_ERR_BADDIFF:
case GDIFF_ERR_OPCODE:
case GDIFF_ERR_CHKSUMTYPE:
status = nsInstall::PATCH_BAD_DIFF;
break;
case GDIFF_ERR_CHECKSUM_TARGET:
status = nsInstall::PATCH_BAD_CHECKSUM_TARGET;
break;
case GDIFF_ERR_CHECKSUM_RESULT:
status = nsInstall::PATCH_BAD_CHECKSUM_RESULT;
break;
case GDIFF_ERR_OLDFILE:
case GDIFF_ERR_ACCESS:
case GDIFF_ERR_MEM:
case GDIFF_ERR_UNKNOWN:
default:
status = nsInstall::UNEXPECTED_ERROR;
break;
}
return status;
// return -1; //old return value
}
void*
nsInstallPatch::HashFilePath(const nsFilePath& aPath)
{
PRUint32 rv = 0;
char* cPath = PL_strdup(nsNSPRPath(aPath));
if(cPath != nsnull)
{
char ch;
char* filePath = PL_strdup(cPath);
PRUint32 cnt=0;
while ((ch = *filePath++) != 0)
{
// FYI: rv = rv*37 + ch
rv = ((rv << 5) + (rv << 2) + rv) + ch;
cnt++;
}
for (PRUint32 i=0; i<=cnt; i++)
*filePath--;
PL_strfree(filePath);
}
PL_strfree(cPath);
return (void*)rv;
}
/*---------------------------------------------------------
* gdiff_parseHeader()
*
* reads and validates the GDIFF header info
*---------------------------------------------------------
*/
static
int32 gdiff_parseHeader( pDIFFDATA dd )
{
int32 err = GDIFF_OK;
uint8 cslen;
uint8 oldcslen;
uint8 newcslen;
uint32 nRead;
uchar header[GDIFF_HEADERSIZE];
/* Read the fixed-size part of the header */
nRead = PR_Read (dd->fDiff, header, GDIFF_HEADERSIZE);
if ( nRead != GDIFF_HEADERSIZE ||
memcmp( header, GDIFF_MAGIC, GDIFF_MAGIC_LEN ) != 0 ||
header[GDIFF_VER_POS] != GDIFF_VER )
{
err = GDIFF_ERR_HEADER;
}
else
{
/* get the checksum information */
dd->checksumType = header[GDIFF_CS_POS];
cslen = header[GDIFF_CSLEN_POS];
if ( cslen > 0 )
{
oldcslen = cslen / 2;
newcslen = cslen - oldcslen;
PR_ASSERT( newcslen == oldcslen );
dd->checksumLength = oldcslen;
dd->oldChecksum = (uchar*)PR_MALLOC(oldcslen);
dd->newChecksum = (uchar*)PR_MALLOC(newcslen);
if ( dd->oldChecksum != NULL && dd->newChecksum != NULL )
{
nRead = PR_Read (dd->fDiff, dd->oldChecksum, oldcslen);
if ( nRead == oldcslen )
{
nRead = PR_Read (dd->fDiff, dd->newChecksum, newcslen);
if ( nRead != newcslen ) {
err = GDIFF_ERR_HEADER;
}
}
else {
err = GDIFF_ERR_HEADER;
}
}
else {
err = GDIFF_ERR_MEM;
}
}
/* get application data, if any */
if ( err == GDIFF_OK )
{
uint32 appdataSize;
uchar *buf;
uchar lenbuf[GDIFF_APPDATALEN];
nRead = PR_Read(dd->fDiff, lenbuf, GDIFF_APPDATALEN);
if ( nRead == GDIFF_APPDATALEN )
{
appdataSize = getlong(lenbuf);
if ( appdataSize > 0 )
{
buf = (uchar *)PR_MALLOC( appdataSize );
if ( buf != NULL )
{
nRead = PR_Read (dd->fDiff, buf, appdataSize);
if ( nRead == appdataSize )
{
if ( 0 == memcmp( buf, APPFLAG_W32BOUND, appdataSize ) )
dd->bWin32BoundImage = TRUE;
if ( 0 == memcmp( buf, APPFLAG_APPLESINGLE, appdataSize ) )
dd->bMacAppleSingle = TRUE;
}
else {
err = GDIFF_ERR_HEADER;
}
PR_DELETE( buf );
}
else {
err = GDIFF_ERR_MEM;
}
}
}
else {
err = GDIFF_ERR_HEADER;
}
}
}
return (err);
}
/*---------------------------------------------------------
* gdiff_validateFile()
*
* computes the checksum of the file and compares it to
* the value stored in the GDIFF header
*---------------------------------------------------------
*/
static
int32 gdiff_validateFile( pDIFFDATA dd, int file )
{
int32 result;
PRFileDesc* fh;
uchar* chksum;
/* which file are we dealing with? */
if ( file == SRCFILE ) {
fh = dd->fSrc;
chksum = dd->oldChecksum;
}
else { /* OUTFILE */
fh = dd->fOut;
chksum = dd->newChecksum;
}
/* make sure file's at beginning */
PR_Seek( fh, 0, PR_SEEK_SET );
/* calculate appropriate checksum */
switch (dd->checksumType)
{
case GDIFF_CS_NONE:
result = GDIFF_OK;
break;
case GDIFF_CS_CRC32:
if ( dd->checksumLength == CRC32_LEN )
result = gdiff_valCRC32( dd, fh, getlong(chksum) );
else
result = GDIFF_ERR_HEADER;
break;
case GDIFF_CS_MD5:
case GDIFF_CS_SHA:
default:
/* unsupported checksum type */
result = GDIFF_ERR_CHKSUMTYPE;
break;
}
/* reset file position to beginning and return status */
PR_Seek( fh, 0, PR_SEEK_SET );
return (result);
}
/*---------------------------------------------------------
* gdiff_valCRC32()
*
* computes the checksum of the file and compares it to
* the passed in checksum. Assumes file is positioned at
* beginning.
*---------------------------------------------------------
*/
static
int32 gdiff_valCRC32( pDIFFDATA dd, PRFileDesc* fh, uint32 chksum )
{
uint32 crc;
uint32 nRead;
crc = crc32(0L, Z_NULL, 0);
nRead = PR_Read (fh, dd->databuf, dd->bufsize);
while ( nRead > 0 )
{
crc = crc32( crc, dd->databuf, nRead );
nRead = PR_Read (fh, dd->databuf, dd->bufsize);
}
if ( crc == chksum )
return GDIFF_OK;
else
return GDIFF_ERR_CHECKSUM;
}
/*---------------------------------------------------------
* gdiff_ApplyPatch()
*
* Combines patch data with source file to produce the
* new target file. Assumes all three files have been
* opened, GDIFF header read, and all other setup complete
*
* The GDIFF patch is processed sequentially which random
* access is neccessary for the source file.
*---------------------------------------------------------
*/
static
int32 gdiff_ApplyPatch( pDIFFDATA dd )
{
int32 err;
XP_Bool done;
uint32 position;
uint32 count;
uchar opcode;
uchar cmdbuf[MAXCMDSIZE];
done = FALSE;
while ( !done ) {
err = gdiff_getdiff( dd, &opcode, OPSIZE );
if ( err != GDIFF_OK )
break;
switch (opcode)
{
case ENDDIFF:
done = TRUE;
break;
case ADD16:
err = gdiff_getdiff( dd, cmdbuf, ADD16SIZE );
if ( err == GDIFF_OK ) {
err = gdiff_add( dd, getshort( cmdbuf ) );
}
break;
case ADD32:
err = gdiff_getdiff( dd, cmdbuf, ADD32SIZE );
if ( err == GDIFF_OK ) {
err = gdiff_add( dd, getlong( cmdbuf ) );
}
break;
case COPY16BYTE:
err = gdiff_getdiff( dd, cmdbuf, COPY16BYTESIZE );
if ( err == GDIFF_OK ) {
position = getshort( cmdbuf );
count = *(cmdbuf + sizeof(short));
err = gdiff_copy( dd, position, count );
}
break;
case COPY16SHORT:
err = gdiff_getdiff( dd, cmdbuf, COPY16SHORTSIZE );
if ( err == GDIFF_OK ) {
position = getshort( cmdbuf );
count = getshort(cmdbuf + sizeof(short));
err = gdiff_copy( dd, position, count );
}
break;
case COPY16LONG:
err = gdiff_getdiff( dd, cmdbuf, COPY16LONGSIZE );
if ( err == GDIFF_OK ) {
position = getshort( cmdbuf );
count = getlong(cmdbuf + sizeof(short));
err = gdiff_copy( dd, position, count );
}
break;
case COPY32BYTE:
err = gdiff_getdiff( dd, cmdbuf, COPY32BYTESIZE );
if ( err == GDIFF_OK ) {
position = getlong( cmdbuf );
count = *(cmdbuf + sizeof(long));
err = gdiff_copy( dd, position, count );
}
break;
case COPY32SHORT:
err = gdiff_getdiff( dd, cmdbuf, COPY32SHORTSIZE );
if ( err == GDIFF_OK ) {
position = getlong( cmdbuf );
count = getshort(cmdbuf + sizeof(long));
err = gdiff_copy( dd, position, count );
}
break;
case COPY32LONG:
err = gdiff_getdiff( dd, cmdbuf, COPY32LONGSIZE );
if ( err == GDIFF_OK ) {
position = getlong( cmdbuf );
count = getlong(cmdbuf + sizeof(long));
err = gdiff_copy( dd, position, count );
}
break;
case COPY64:
/* we don't support 64-bit file positioning yet */
err = GDIFF_ERR_OPCODE;
break;
default:
err = gdiff_add( dd, opcode );
break;
}
if ( err != GDIFF_OK )
done = TRUE;
}
/* return status */
return (err);
}
/*---------------------------------------------------------
* gdiff_getdiff()
*
* reads the next "length" bytes of the diff into "buffer"
*
* XXX: need a diff buffer to optimize reads!
*---------------------------------------------------------
*/
static
int32 gdiff_getdiff( pDIFFDATA dd, uchar *buffer, uint32 length )
{
uint32 bytesRead;
bytesRead = PR_Read (dd->fDiff, buffer, length);
if ( bytesRead != length )
return GDIFF_ERR_BADDIFF;
return GDIFF_OK;
}
/*---------------------------------------------------------
* gdiff_add()
*
* append "count" bytes from diff file to new file
*---------------------------------------------------------
*/
static
int32 gdiff_add( pDIFFDATA dd, uint32 count )
{
int32 err = GDIFF_OK;
uint32 nRead;
uint32 chunksize;
while ( count > 0 ) {
chunksize = ( count > dd->bufsize) ? dd->bufsize : count;
nRead = PR_Read (dd->fDiff, dd->databuf, chunksize);
if ( nRead != chunksize ) {
err = GDIFF_ERR_BADDIFF;
break;
}
PR_Write (dd->fOut, dd->databuf, chunksize);
count -= chunksize;
}
return (err);
}
/*---------------------------------------------------------
* gdiff_copy()
*
* copy "count" bytes from "position" in source file
*---------------------------------------------------------
*/
static
int32 gdiff_copy( pDIFFDATA dd, uint32 position, uint32 count )
{
int32 err = GDIFF_OK;
uint32 nRead;
uint32 chunksize;
PR_Seek (dd->fSrc, position, PR_SEEK_SET);
while ( count > 0 ) {
chunksize = (count > dd->bufsize) ? dd->bufsize : count;
nRead = PR_Read (dd->fSrc, dd->databuf, chunksize);
if ( nRead != chunksize ) {
err = GDIFF_ERR_OLDFILE;
break;
}
PR_Write (dd->fOut, dd->databuf, chunksize);
count -= chunksize;
}
return (err);
}

View File

@@ -0,0 +1,79 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsInstallPatch_h__
#define nsInstallPatch_h__
#include "prtypes.h"
#include "nsString.h"
#include "nsInstallObject.h"
#include "nsInstall.h"
#include "nsInstallFolder.h"
#include "nsInstallVersion.h"
class nsInstallPatch : public nsInstallObject
{
public:
nsInstallPatch( nsInstall* inInstall,
const nsString& inVRName,
const nsString& inVInfo,
const nsString& inJarLocation,
const nsString& folderSpec,
const nsString& inPartialPath,
PRInt32 *error);
nsInstallPatch( nsInstall* inInstall,
const nsString& inVRName,
const nsString& inVInfo,
const nsString& inJarLocation,
PRInt32 *error);
virtual ~nsInstallPatch();
PRInt32 Prepare();
PRInt32 Complete();
void Abort();
char* toString();
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
nsInstallVersion *mVersionInfo;
nsFileSpec *mTargetFile;
nsFileSpec *mPatchFile;
nsFileSpec *mPatchedFile;
nsString *mJarLocation;
nsString *mRegistryName;
PRInt32 NativePatch(const nsFileSpec &sourceFile, const nsFileSpec &patchfile, nsFileSpec **newFile);
void* HashFilePath(const nsFilePath& aPath);
};
#endif /* nsInstallPatch_h__ */

View File

@@ -0,0 +1,343 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#include "nsIXPInstallProgress.h"
#include "nsInstallProgressDialog.h"
#include "nsIAppShellComponentImpl.h"
#include "nsIServiceManager.h"
#include "nsIDocumentViewer.h"
#include "nsIContent.h"
#include "nsINameSpaceManager.h"
#include "nsIContentViewer.h"
#include "nsIDOMElement.h"
#include "nsINetService.h"
#include "nsIWebShell.h"
#include "nsIWebShellWindow.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID( kAppShellServiceCID, NS_APPSHELL_SERVICE_CID );
static NS_DEFINE_IID( kNetServiceCID, NS_NETSERVICE_CID );
// Utility to set element attribute.
static nsresult setAttribute( nsIDOMXULDocument *doc,
const char *id,
const char *name,
const nsString &value ) {
nsresult rv = NS_OK;
if ( doc ) {
// Find specified element.
nsCOMPtr<nsIDOMElement> elem;
rv = doc->GetElementById( id, getter_AddRefs( elem ) );
if ( elem ) {
// Set the text attribute.
rv = elem->SetAttribute( name, value );
if ( NS_SUCCEEDED( rv ) ) {
} else {
DEBUG_PRINTF( PR_STDOUT, "%s %d: SetAttribute failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
} else {
DEBUG_PRINTF( PR_STDOUT, "%s %d: GetElementById failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
} else {
rv = NS_ERROR_NULL_POINTER;
}
return rv;
}
// Utility to get element attribute.
static nsresult getAttribute( nsIDOMXULDocument *doc,
const char *id,
const char *name,
nsString &value ) {
nsresult rv = NS_OK;
if ( doc ) {
// Find specified element.
nsCOMPtr<nsIDOMElement> elem;
rv = doc->GetElementById( id, getter_AddRefs( elem ) );
if ( elem ) {
// Set the text attribute.
rv = elem->GetAttribute( name, value );
if ( NS_SUCCEEDED( rv ) ) {
} else {
DEBUG_PRINTF( PR_STDOUT, "%s %d: SetAttribute failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
} else {
DEBUG_PRINTF( PR_STDOUT, "%s %d: GetElementById failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
} else {
rv = NS_ERROR_NULL_POINTER;
}
return rv;
}
nsInstallProgressDialog::nsInstallProgressDialog()
{
NS_INIT_REFCNT();
mWindow = nsnull;
mDocument = nsnull;
}
nsInstallProgressDialog::~nsInstallProgressDialog()
{
}
NS_IMPL_ADDREF( nsInstallProgressDialog );
NS_IMPL_RELEASE( nsInstallProgressDialog );
NS_IMETHODIMP
nsInstallProgressDialog::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL) {
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if (aIID.Equals(nsIXPInstallProgress::GetIID())) {
*aInstancePtr = (void*) ((nsInstallProgressDialog*)this);
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(nsIXULWindowCallbacks::GetIID())) {
*aInstancePtr = (void*) ((nsIXULWindowCallbacks*)this);
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(kISupportsIID)) {
*aInstancePtr = (void*) (nsISupports*)((nsIXPInstallProgress*)this);
NS_ADDREF_THIS();
return NS_OK;
}
return NS_ERROR_NO_INTERFACE;
}
NS_IMETHODIMP
nsInstallProgressDialog::BeforeJavascriptEvaluation()
{
nsresult rv = NS_OK;
// Get app shell service.
nsIAppShellService *appShell;
rv = nsServiceManager::GetService( kAppShellServiceCID,
nsIAppShellService::GetIID(),
(nsISupports**)&appShell );
if ( NS_SUCCEEDED( rv ) )
{
// Open "progress" dialog.
nsIURL *url;
rv = NS_NewURL( &url, "resource:/res/xpinstall/progress.xul" );
if ( NS_SUCCEEDED(rv) )
{
nsIWebShellWindow *newWindow;
rv = appShell->CreateTopLevelWindow( nsnull,
url,
PR_TRUE,
newWindow,
nsnull,
this, // callbacks??
0,
0 );
if ( NS_SUCCEEDED( rv ) )
{
mWindow = newWindow;
NS_RELEASE( newWindow );
if (mWindow != nsnull)
mWindow->Show(PR_TRUE);
}
else
{
DEBUG_PRINTF( PR_STDOUT, "Error creating progress dialog, rv=0x%X\n", (int)rv );
}
NS_RELEASE( url );
}
nsServiceManager::ReleaseService( kAppShellServiceCID, appShell );
}
else
{
DEBUG_PRINTF( PR_STDOUT, "Unable to get app shell service, rv=0x%X\n", (int)rv );
}
return NS_OK;
}
NS_IMETHODIMP
nsInstallProgressDialog::AfterJavascriptEvaluation()
{
if (mWindow)
{
mWindow->Close();
}
return NS_OK;
}
NS_IMETHODIMP
nsInstallProgressDialog::InstallStarted(const char *UIPackageName)
{
setAttribute( mDocument, "dialog.uiPackageName", "value", nsString(UIPackageName) );
return NS_OK;
}
NS_IMETHODIMP
nsInstallProgressDialog::ItemScheduled(const char *message)
{
PRInt32 maxChars = 40;
nsString theMessage(message);
PRInt32 len = theMessage.Length();
if (len > maxChars)
{
PRInt32 offset = (len/2) - ((len - maxChars)/2);
PRInt32 count = (len - maxChars);
theMessage.Cut(offset, count);
theMessage.Insert(nsString("..."), offset);
}
setAttribute( mDocument, "dialog.currentAction", "value", theMessage );
nsString aValue;
getAttribute( mDocument, "data.canceled", "value", aValue );
if (aValue.EqualsIgnoreCase("true"))
return -1;
return NS_OK;
}
NS_IMETHODIMP
nsInstallProgressDialog::InstallFinalization(const char *message, PRInt32 itemNum, PRInt32 totNum)
{
PRInt32 maxChars = 40;
nsString theMessage(message);
PRInt32 len = theMessage.Length();
if (len > maxChars)
{
PRInt32 offset = (len/2) - ((len - maxChars)/2);
PRInt32 count = (len - maxChars);
theMessage.Cut(offset, count);
theMessage.Insert(nsString("..."), offset);
}
setAttribute( mDocument, "dialog.currentAction", "value", theMessage );
nsresult rv = NS_OK;
char buf[16];
PR_snprintf( buf, sizeof buf, "%lu", totNum );
setAttribute( mDocument, "dialog.progress", "max", buf );
if (totNum != 0)
{
PR_snprintf( buf, sizeof buf, "%lu", ((totNum-itemNum)/totNum) );
}
else
{
PR_snprintf( buf, sizeof buf, "%lu", 0 );
}
setAttribute( mDocument, "dialog.progress", "value", buf );
return NS_OK;
}
NS_IMETHODIMP
nsInstallProgressDialog::InstallAborted()
{
return NS_OK;
}
// Do startup stuff from C++ side.
NS_IMETHODIMP
nsInstallProgressDialog::ConstructBeforeJavaScript(nsIWebShell *aWebShell)
{
nsresult rv = NS_OK;
// Get content viewer from the web shell.
nsCOMPtr<nsIContentViewer> contentViewer;
rv = aWebShell ? aWebShell->GetContentViewer(getter_AddRefs(contentViewer))
: NS_ERROR_NULL_POINTER;
if ( contentViewer ) {
// Up-cast to a document viewer.
nsCOMPtr<nsIDocumentViewer> docViewer( do_QueryInterface( contentViewer, &rv ) );
if ( docViewer ) {
// Get the document from the doc viewer.
nsCOMPtr<nsIDocument> document;
rv = docViewer->GetDocument(*getter_AddRefs(document));
if ( document ) {
// Upcast to XUL document.
mDocument = do_QueryInterface( document, &rv );
if ( ! mDocument )
{
DEBUG_PRINTF( PR_STDOUT, "%s %d: Upcast to nsIDOMXULDocument failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
}
else
{
DEBUG_PRINTF( PR_STDOUT, "%s %d: GetDocument failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
}
else
{
DEBUG_PRINTF( PR_STDOUT, "%s %d: Upcast to nsIDocumentViewer failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
}
else
{
DEBUG_PRINTF( PR_STDOUT, "%s %d: GetContentViewer failed, rv=0x%X\n",
__FILE__, (int)__LINE__, (int)rv );
}
return rv;
}

View File

@@ -0,0 +1,67 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#ifndef __nsInstallProgressDialog_h__
#define __nsInstallProgressDialog_h__
#include "nsIXPInstallProgress.h"
#include "nsISupports.h"
#include "nsISupportsUtils.h"
#include "nsCOMPtr.h"
#include "nsIWebShell.h"
#include "nsIWebShellWindow.h"
#include "nsIXULWindowCallbacks.h"
#include "nsIDocument.h"
#include "nsIDOMXULDocument.h"
class nsInstallProgressDialog : public nsIXPInstallProgress, public nsIXULWindowCallbacks
{
public:
nsInstallProgressDialog();
virtual ~nsInstallProgressDialog();
NS_DECL_ISUPPORTS
NS_IMETHOD BeforeJavascriptEvaluation();
NS_IMETHOD AfterJavascriptEvaluation();
NS_IMETHOD InstallStarted(const char *UIPackageName);
NS_IMETHOD ItemScheduled(const char *message);
NS_IMETHOD InstallFinalization(const char *message, PRInt32 itemNum, PRInt32 totNum);
NS_IMETHOD InstallAborted();
// Declare implementations of nsIXULWindowCallbacks interface functions.
NS_IMETHOD ConstructBeforeJavaScript(nsIWebShell *aWebShell);
NS_IMETHOD ConstructAfterJavaScript(nsIWebShell *aWebShell) { return NS_OK; }
private:
nsCOMPtr<nsIDOMXULDocument> mDocument;
nsCOMPtr<nsIWebShellWindow> mWindow;
};
#endif

View File

@@ -0,0 +1,67 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nsInstallResources.h"
char* nsInstallResources::GetInstallFileString(void)
{
return "Installing: %s";
}
char* nsInstallResources::GetReplaceFileString(void)
{
return "Replacing %s";
}
char* nsInstallResources::GetDeleteFileString(void)
{
return "Deleting file: %s";
}
char* nsInstallResources::GetDeleteComponentString(void)
{
return "Deleting component: %s";
}
char* nsInstallResources::GetExecuteString(void)
{
return "Executing: %s";
}
char* nsInstallResources::GetExecuteWithArgsString(void)
{
return "Executing: %s with argument: %s";
}
char* nsInstallResources::GetPatchFileString(void)
{
return "Patching: %s";
}
char* nsInstallResources::GetUninstallString(void)
{
return "Uninstalling: %s";
}

View File

@@ -0,0 +1,45 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef __NS_INSTALLRESOURCES_H__
#define __NS_INSTALLRESOURCES_H__
class nsInstallResources
{
public:
static char* GetInstallFileString(void);
static char* GetReplaceFileString(void);
static char* GetDeleteFileString(void);
static char* GetDeleteComponentString(void);
static char* GetExecuteString(void);
static char* GetExecuteWithArgsString(void);
static char* GetPatchFileString(void);
static char* GetUninstallString(void);
};
#endif

View File

@@ -0,0 +1,359 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsSoftwareUpdate.h"
#include "nsSoftwareUpdateStream.h"
#include "nsInstallTrigger.h"
#include "nsIDOMInstallTriggerGlobal.h"
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIScriptGlobalObject.h"
#include "nsIPref.h"
#include "nsRepository.h"
#include "nsIServiceManager.h"
#include "nsSpecialSystemDirectory.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID);
static NS_DEFINE_IID(kIInstallTrigger_IID, NS_IDOMINSTALLTRIGGERGLOBAL_IID);
static NS_DEFINE_IID(kIInstallTrigger_CID, NS_SoftwareUpdateInstallTrigger_CID);
nsInstallTrigger::nsInstallTrigger()
{
mScriptObject = nsnull;
NS_INIT_REFCNT();
}
nsInstallTrigger::~nsInstallTrigger()
{
}
NS_IMETHODIMP
nsInstallTrigger::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kIScriptObjectOwnerIID))
{
*aInstancePtr = (void*) ((nsIScriptObjectOwner*)this);
AddRef();
return NS_OK;
}
else if ( aIID.Equals(kIInstallTrigger_IID) )
{
*aInstancePtr = (void*) ((nsIDOMInstallTriggerGlobal*)this);
AddRef();
return NS_OK;
}
else if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*)(nsISupports*)(nsIScriptObjectOwner*)this;
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsInstallTrigger)
NS_IMPL_RELEASE(nsInstallTrigger)
NS_IMETHODIMP
nsInstallTrigger::GetScriptObject(nsIScriptContext *aContext, void** aScriptObject)
{
NS_PRECONDITION(nsnull != aScriptObject, "null arg");
nsresult res = NS_OK;
if (nsnull == mScriptObject)
{
nsIScriptGlobalObject *global = aContext->GetGlobalObject();
res = NS_NewScriptInstallTriggerGlobal( aContext,
(nsISupports *)(nsIDOMInstallTriggerGlobal*)this,
(nsISupports *)global,
&mScriptObject);
NS_IF_RELEASE(global);
}
*aScriptObject = mScriptObject;
return res;
}
NS_IMETHODIMP
nsInstallTrigger::SetScriptObject(void *aScriptObject)
{
mScriptObject = aScriptObject;
return NS_OK;
}
static NS_DEFINE_IID(kPrefsIID, NS_IPREF_IID);
static NS_DEFINE_IID(kPrefsCID, NS_PREF_CID);
NS_IMETHODIMP
nsInstallTrigger::UpdateEnabled(PRBool* aReturn)
{
nsIPref * prefs;
nsresult rv = nsServiceManager::GetService(kPrefsCID,
kPrefsIID,
(nsISupports**) &prefs);
if ( NS_SUCCEEDED(rv) )
{
rv = prefs->GetBoolPref( (const char*) AUTOUPDATE_ENABLE_PREF, aReturn);
if (NS_FAILED(rv))
{
*aReturn = PR_FALSE;
}
NS_RELEASE(prefs);
}
else
{
*aReturn = PR_FALSE; /* no prefs manager. set to false */
}
//FIX!!!!!!!!!!
*aReturn = PR_TRUE;
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::StartSoftwareUpdate(const nsString& aURL, PRInt32 aFlags, PRInt32* aReturn)
{
nsString localFile;
CreateTempFileFromURL(aURL, localFile);
// start the download (this will clean itself up)
nsSoftwareUpdateListener *downloader = new nsSoftwareUpdateListener(aURL, localFile, aFlags);
*aReturn = NS_OK; // maybe we should do something more.
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::StartSoftwareUpdate(const nsString& aURL, PRInt32* aReturn)
{
nsString localFile;
CreateTempFileFromURL(aURL, localFile);
// start the download (this will clean itself up)
nsSoftwareUpdateListener *downloader = new nsSoftwareUpdateListener(aURL, localFile, 0);
*aReturn = NS_OK; // maybe we should do something more.
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)
{
return NS_OK;
}
// this will take a nsIUrl, and create a temporary file. If it is local, we just us it.
void
nsInstallTrigger::CreateTempFileFromURL(const nsString& aURL, nsString& tempFileString)
{
// Checking to see if the url is local
if ( aURL.EqualsIgnoreCase("file://", 7) )
{
tempFileString.SetString( nsNSPRPath(nsFileURL(aURL)) );
}
else
{
nsSpecialSystemDirectory tempFile(nsSpecialSystemDirectory::OS_TemporaryDirectory);
PRInt32 result = aURL.RFind("/");
if (result != -1)
{
nsString jarName;
aURL.Right(jarName, (aURL.Length() - result) );
PRInt32 argOffset = jarName.RFind("?");
if (argOffset != -1)
{
// we need to remove ? and everything after it
jarName.Truncate(argOffset);
}
tempFile += jarName;
}
else
{
tempFile += "xpinstall.jar";
}
tempFile.MakeUnique();
tempFileString.SetString( nsNSPRPath( nsFilePath(tempFile) ) );
}
}
/////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
nsInstallTriggerFactory::nsInstallTriggerFactory(void)
{
NS_INIT_REFCNT();
}
nsInstallTriggerFactory::~nsInstallTriggerFactory(void)
{
NS_ASSERTION(mRefCnt == 0, "non-zero refcnt at destruction");
}
NS_IMETHODIMP
nsInstallTriggerFactory::QueryInterface(const nsIID &aIID, void **aResult)
{
if (! aResult)
return NS_ERROR_NULL_POINTER;
// Always NULL result, in case of failure
*aResult = nsnull;
if (aIID.Equals(kISupportsIID)) {
*aResult = NS_STATIC_CAST(nsISupports*, this);
AddRef();
return NS_OK;
} else if (aIID.Equals(kIFactoryIID)) {
*aResult = NS_STATIC_CAST(nsIFactory*, this);
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsInstallTriggerFactory);
NS_IMPL_RELEASE(nsInstallTriggerFactory);
NS_IMETHODIMP
nsInstallTriggerFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (! aResult)
return NS_ERROR_NULL_POINTER;
*aResult = nsnull;
nsresult rv;
nsInstallTrigger *inst = new nsInstallTrigger();
if (! inst)
return NS_ERROR_OUT_OF_MEMORY;
if (NS_FAILED(rv = inst->QueryInterface(aIID, aResult)))
{
// We didn't get the right interface.
NS_ERROR("didn't support the interface you wanted");
}
return rv;
}
NS_IMETHODIMP
nsInstallTriggerFactory::LockFactory(PRBool aLock)
{
// Not implemented in simplest case.
return NS_OK;
}

View File

@@ -0,0 +1,72 @@
#ifndef __NS_INSTALLTRIGGER_H__
#define __NS_INSTALLTRIGGER_H__
#include "nscore.h"
#include "nsString.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIScriptObjectOwner.h"
#include "nsIDOMInstallTriggerGlobal.h"
#include "nsSoftwareUpdate.h"
#include "prtypes.h"
#include "nsHashtable.h"
#include "nsVector.h"
class nsInstallTrigger: public nsIScriptObjectOwner, public nsIDOMInstallTriggerGlobal
{
public:
static const nsIID& IID() { static nsIID iid = NS_SoftwareUpdateInstallTrigger_CID; return iid; }
nsInstallTrigger();
~nsInstallTrigger();
NS_DECL_ISUPPORTS
NS_IMETHOD GetScriptObject(nsIScriptContext *aContext, void** aScriptObject);
NS_IMETHOD SetScriptObject(void* aScriptObject);
NS_IMETHOD UpdateEnabled(PRBool* aReturn);
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32 aFlags, PRInt32* aReturn);
NS_IMETHOD StartSoftwareUpdate(const nsString& aURL, PRInt32* aReturn);
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn);
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn);
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn);
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn);
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn);
NS_IMETHOD ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn);
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn);
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn);
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn);
private:
void *mScriptObject;
void CreateTempFileFromURL(const nsString& aURL, nsString& tempFileString);
};
class nsInstallTriggerFactory : public nsIFactory
{
public:
nsInstallTriggerFactory();
~nsInstallTriggerFactory();
NS_DECL_ISUPPORTS
NS_IMETHOD CreateInstance(nsISupports *aOuter,
REFNSIID aIID,
void **aResult);
NS_IMETHOD LockFactory(PRBool aLock);
};
#endif

View File

@@ -0,0 +1,196 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nsInstall.h"
#include "nsInstallUninstall.h"
#include "nsInstallResources.h"
#include "VerReg.h"
#include "prmem.h"
#include "nsFileSpec.h"
#include "ScheduledTasks.h"
extern "C" NS_EXPORT PRInt32 SU_Uninstall(char *regPackageName);
REGERR su_UninstallProcessItem(char *component_path);
nsInstallUninstall::nsInstallUninstall( nsInstall* inInstall,
const nsString& regName,
PRInt32 *error)
: nsInstallObject(inInstall)
{
if (regName == "null")
{
*error = nsInstall::INVALID_ARGUMENTS;
return;
}
mRegName.SetString(regName);
char* userName = (char*)PR_Malloc(MAXREGPATHLEN);
PRInt32 err = VR_GetUninstallUserName( (char*) (const char*) nsAutoCString(regName),
userName,
MAXREGPATHLEN );
mUIName.SetString(userName);
if (err != REGERR_OK)
{
*error = nsInstall::NO_SUCH_COMPONENT;
}
PR_FREEIF(userName);
}
nsInstallUninstall::~nsInstallUninstall()
{
}
PRInt32 nsInstallUninstall::Prepare()
{
// no set-up necessary
return nsInstall::SUCCESS;
}
PRInt32 nsInstallUninstall::Complete()
{
PRInt32 err = nsInstall::SUCCESS;
if (mInstall == NULL)
return nsInstall::INVALID_ARGUMENTS;
err = SU_Uninstall( (char*)(const char*) nsAutoCString(mRegName) );
return err;
}
void nsInstallUninstall::Abort()
{
}
char* nsInstallUninstall::toString()
{
char* buffer = new char[1024];
char* temp = mUIName.ToNewCString();
sprintf( buffer, nsInstallResources::GetUninstallString(), temp);
delete [] temp;
return buffer;
}
PRBool
nsInstallUninstall::CanUninstall()
{
return PR_FALSE;
}
PRBool
nsInstallUninstall::RegisterPackageNode()
{
return PR_FALSE;
}
extern "C" NS_EXPORT PRInt32 SU_Uninstall(char *regPackageName)
{
REGERR status = REGERR_FAIL;
char pathbuf[MAXREGPATHLEN+1] = {0};
char sharedfilebuf[MAXREGPATHLEN+1] = {0};
REGENUM state = 0;
int32 length;
int32 err;
if (regPackageName == NULL)
return REGERR_PARAM;
if (pathbuf == NULL)
return REGERR_PARAM;
/* Get next path from Registry */
status = VR_Enum( regPackageName, &state, pathbuf, MAXREGPATHLEN );
/* if we got a good path */
while (status == REGERR_OK)
{
char component_path[2*MAXREGPATHLEN+1] = {0};
strcat(component_path, regPackageName);
length = strlen(regPackageName);
if (component_path[length - 1] != '/')
strcat(component_path, "/");
strcat(component_path, pathbuf);
err = su_UninstallProcessItem(component_path);
status = VR_Enum( regPackageName, &state, pathbuf, MAXREGPATHLEN );
}
err = VR_Remove(regPackageName);
// there is a problem here. It looks like if the file is refcounted, we still blow away the reg key
// FIX!
state = 0;
status = VR_UninstallEnumSharedFiles( regPackageName, &state, sharedfilebuf, MAXREGPATHLEN );
while (status == REGERR_OK)
{
err = su_UninstallProcessItem(sharedfilebuf);
err = VR_UninstallDeleteFileFromList(regPackageName, sharedfilebuf);
status = VR_UninstallEnumSharedFiles( regPackageName, &state, sharedfilebuf, MAXREGPATHLEN );
}
err = VR_UninstallDeleteSharedFilesKey(regPackageName);
err = VR_UninstallDestroy(regPackageName);
return err;
}
REGERR su_UninstallProcessItem(char *component_path)
{
int refcount;
int err;
char filepath[MAXREGPATHLEN];
err = VR_GetPath(component_path, sizeof(filepath), filepath);
if ( err == REGERR_OK )
{
err = VR_GetRefCount(component_path, &refcount);
if ( err == REGERR_OK )
{
--refcount;
if (refcount > 0)
err = VR_SetRefCount(component_path, refcount);
else
{
err = VR_Remove(component_path);
DeleteFileNowOrSchedule(nsFileSpec(filepath));
}
}
else
{
/* delete node and file */
err = VR_Remove(component_path);
DeleteFileNowOrSchedule(nsFileSpec(filepath));
}
}
return err;
}

View File

@@ -0,0 +1,63 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsInstallUninstall_h__
#define nsInstallUninstall_h__
#include "prtypes.h"
#include "nsString.h"
#include "nsInstallObject.h"
#include "nsInstall.h"
class nsInstallUninstall : public nsInstallObject
{
public:
nsInstallUninstall( nsInstall* inInstall,
const nsString& regName,
PRInt32 *error);
virtual ~nsInstallUninstall();
PRInt32 Prepare();
PRInt32 Complete();
void Abort();
char* toString();
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
nsString mRegName; // Registry name of package
nsString mUIName; // User name of package
};
#endif /* nsInstallUninstall_h__ */

View File

@@ -0,0 +1,399 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsSoftwareUpdate.h"
#include "nsInstallVersion.h"
#include "nsIDOMInstallVersion.h"
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIScriptGlobalObject.h"
#include "prprf.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID);
static NS_DEFINE_IID(kIInstallVersion_IID, NS_IDOMINSTALLVERSION_IID);
nsInstallVersion::nsInstallVersion()
{
mScriptObject = nsnull;
NS_INIT_REFCNT();
}
nsInstallVersion::~nsInstallVersion()
{
}
NS_IMETHODIMP
nsInstallVersion::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kIScriptObjectOwnerIID))
{
*aInstancePtr = (void*) ((nsIScriptObjectOwner*)this);
AddRef();
return NS_OK;
}
else if ( aIID.Equals(kIInstallVersion_IID) )
{
*aInstancePtr = (void*) ((nsIDOMInstallVersion*)this);
AddRef();
return NS_OK;
}
else if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*)(nsISupports*)(nsIScriptObjectOwner*)this;
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsInstallVersion)
NS_IMPL_RELEASE(nsInstallVersion)
NS_IMETHODIMP
nsInstallVersion::GetScriptObject(nsIScriptContext *aContext, void** aScriptObject)
{
NS_PRECONDITION(nsnull != aScriptObject, "null arg");
nsresult res = NS_OK;
if (nsnull == mScriptObject)
{
res = NS_NewScriptInstallVersion(aContext,
(nsISupports *)(nsIDOMInstallVersion*)this,
nsnull,
&mScriptObject);
}
*aScriptObject = mScriptObject;
return res;
}
NS_IMETHODIMP
nsInstallVersion::SetScriptObject(void *aScriptObject)
{
mScriptObject = aScriptObject;
return NS_OK;
}
// this will go away when our constructors can have parameters.
NS_IMETHODIMP
nsInstallVersion::Init(PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild)
{
major = aMajor;
minor = aMinor;
release = aRelease;
build = aBuild;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::Init(const nsString& version)
{
PRInt32 errorCode;
PRInt32 aMajor, aMinor, aRelease, aBuild;
major = minor = release = build = 0;
errorCode = nsInstallVersion::StringToVersionNumbers(version, &aMajor, &aMinor, &aRelease, &aBuild);
if (NS_SUCCEEDED(errorCode))
{
Init(aMajor, aMinor, aRelease, aBuild);
}
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::GetMajor(PRInt32* aMajor)
{
*aMajor = major;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::SetMajor(PRInt32 aMajor)
{
major = aMajor;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::GetMinor(PRInt32* aMinor)
{
*aMinor = minor;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::SetMinor(PRInt32 aMinor)
{
minor = aMinor;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::GetRelease(PRInt32* aRelease)
{
*aRelease = release;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::SetRelease(PRInt32 aRelease)
{
release = aRelease;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::GetBuild(PRInt32* aBuild)
{
*aBuild = build;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::SetBuild(PRInt32 aBuild)
{
build = aBuild;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::CompareTo(nsIDOMInstallVersion* aVersion, PRInt32* aReturn)
{
PRInt32 aMajor, aMinor, aRelease, aBuild;
aVersion->GetMajor(&aMajor);
aVersion->GetMinor(&aMinor);
aVersion->GetRelease(&aRelease);
aVersion->GetBuild(&aBuild);
CompareTo(aMajor, aMinor, aRelease, aBuild, aReturn);
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::CompareTo(const nsString& aAString, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::CompareTo(PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn)
{
int diff;
if ( major == aMajor )
{
if ( minor == aMinor )
{
if ( release == aRelease )
{
if ( build == aBuild )
diff = EQUAL;
else if ( build > aBuild )
diff = BLD_DIFF;
else
diff = BLD_DIFF_MINUS;
}
else if ( release > aRelease )
diff = REL_DIFF;
else
diff = REL_DIFF_MINUS;
}
else if ( minor > aMinor )
diff = MINOR_DIFF;
else
diff = MINOR_DIFF_MINUS;
}
else if ( major > aMajor )
diff = MAJOR_DIFF;
else
diff = MAJOR_DIFF_MINUS;
*aReturn = diff;
return NS_OK;
}
NS_IMETHODIMP
nsInstallVersion::ToString(nsString& aReturn)
{
char *result=NULL;
result = PR_sprintf_append(result, "%d.%d.%d.%d", major, minor, release, build);
aReturn = result;
return NS_OK;
}
nsresult
nsInstallVersion::StringToVersionNumbers(const nsString& version, PRInt32 *aMajor, PRInt32 *aMinor, PRInt32 *aRelease, PRInt32 *aBuild)
{
PRInt32 errorCode;
int dot = version.Find('.', 0);
if ( dot == -1 )
{
*aMajor = version.ToInteger(&errorCode);
}
else
{
nsString majorStr;
version.Mid(majorStr, 0, dot);
*aMajor = majorStr.ToInteger(&errorCode);
int prev = dot+1;
dot = version.Find('.',prev);
if ( dot == -1 )
{
nsString minorStr;
version.Mid(minorStr, prev, version.Length() - prev);
*aMinor = minorStr.ToInteger(&errorCode);
}
else
{
nsString minorStr;
version.Mid(minorStr, prev, dot - prev);
*aMinor = minorStr.ToInteger(&errorCode);
prev = dot+1;
dot = version.Find('.',prev);
if ( dot == -1 )
{
nsString releaseStr;
version.Mid(releaseStr, prev, version.Length() - prev);
*aRelease = releaseStr.ToInteger(&errorCode);
}
else
{
nsString releaseStr;
version.Mid(releaseStr, prev, dot - prev);
*aRelease = releaseStr.ToInteger(&errorCode);
prev = dot+1;
if ( version.Length() > dot )
{
nsString buildStr;
version.Mid(buildStr, prev, version.Length() - prev);
*aBuild = buildStr.ToInteger(&errorCode);
}
}
}
}
return errorCode;
}
/////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
nsInstallVersionFactory::nsInstallVersionFactory(void)
{
NS_INIT_REFCNT();
}
nsInstallVersionFactory::~nsInstallVersionFactory(void)
{
NS_ASSERTION(mRefCnt == 0, "non-zero refcnt at destruction");
}
NS_IMETHODIMP
nsInstallVersionFactory::QueryInterface(const nsIID &aIID, void **aResult)
{
if (! aResult)
return NS_ERROR_NULL_POINTER;
// Always NULL result, in case of failure
*aResult = nsnull;
if (aIID.Equals(kISupportsIID)) {
*aResult = NS_STATIC_CAST(nsISupports*, this);
AddRef();
return NS_OK;
} else if (aIID.Equals(kIFactoryIID)) {
*aResult = NS_STATIC_CAST(nsIFactory*, this);
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsInstallVersionFactory);
NS_IMPL_RELEASE(nsInstallVersionFactory);
NS_IMETHODIMP
nsInstallVersionFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
/* do I have to use iSupports? */
nsInstallVersion *inst = new nsInstallVersion();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (NS_FAILED(result))
delete inst;
return result;
}
NS_IMETHODIMP
nsInstallVersionFactory::LockFactory(PRBool aLock)
{
return NS_OK;
}

View File

@@ -0,0 +1,76 @@
#ifndef __NS_INSTALLVERSION_H__
#define __NS_INSTALLVERSION_H__
#include "nscore.h"
#include "nsString.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIScriptObjectOwner.h"
#include "nsIDOMInstallVersion.h"
#include "nsSoftwareUpdate.h"
#include "prtypes.h"
class nsInstallVersion: public nsIScriptObjectOwner, public nsIDOMInstallVersion
{
public:
static const nsIID& IID() { static nsIID iid = NS_SoftwareUpdateInstallVersion_CID; return iid; }
nsInstallVersion();
virtual ~nsInstallVersion();
NS_DECL_ISUPPORTS
NS_IMETHOD GetScriptObject(nsIScriptContext *aContext, void** aScriptObject);
NS_IMETHOD SetScriptObject(void* aScriptObject);
NS_IMETHOD Init(PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild);
NS_IMETHOD Init(const nsString& aVersionString);
NS_IMETHOD GetMajor(PRInt32* aMajor);
NS_IMETHOD SetMajor(PRInt32 aMajor);
NS_IMETHOD GetMinor(PRInt32* aMinor);
NS_IMETHOD SetMinor(PRInt32 aMinor);
NS_IMETHOD GetRelease(PRInt32* aRelease);
NS_IMETHOD SetRelease(PRInt32 aRelease);
NS_IMETHOD GetBuild(PRInt32* aBuild);
NS_IMETHOD SetBuild(PRInt32 aBuild);
NS_IMETHOD ToString(nsString& aReturn);
NS_IMETHOD CompareTo(nsIDOMInstallVersion* aVersion, PRInt32* aReturn);
NS_IMETHOD CompareTo(const nsString& aString, PRInt32* aReturn);
NS_IMETHOD CompareTo(PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn);
static nsresult StringToVersionNumbers(const nsString& version, PRInt32 *aMajor, PRInt32 *aMinor, PRInt32 *aRelease, PRInt32 *aBuild);
private:
void *mScriptObject;
PRInt32 major;
PRInt32 minor;
PRInt32 release;
PRInt32 build;
};
class nsInstallVersionFactory : public nsIFactory
{
public:
nsInstallVersionFactory();
virtual ~nsInstallVersionFactory();
NS_DECL_ISUPPORTS
NS_IMETHOD CreateInstance(nsISupports *aOuter,
REFNSIID aIID,
void **aResult);
NS_IMETHOD LockFactory(PRBool aLock);
};
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,665 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/* AUTO-GENERATED. DO NOT EDIT!!! */
#include "jsapi.h"
#include "nsJSUtils.h"
#include "nscore.h"
#include "nsIScriptContext.h"
#include "nsIJSScriptObject.h"
#include "nsIScriptObjectOwner.h"
#include "nsIScriptGlobalObject.h"
#include "nsIPtr.h"
#include "nsString.h"
#include "nsIDOMInstallVersion.h"
#include "nsIDOMInstallTriggerGlobal.h"
extern void ConvertJSValToStr(nsString& aString,
JSContext* aContext,
jsval aValue);
extern void ConvertStrToJSVal(const nsString& aProp,
JSContext* aContext,
jsval* aReturn);
extern PRBool ConvertJSValToBool(PRBool* aProp,
JSContext* aContext,
jsval aValue);
extern PRBool ConvertJSValToObj(nsISupports** aSupports,
REFNSIID aIID,
const nsString& aTypeName,
JSContext* aContext,
jsval aValue);
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(kIInstallTriggerGlobalIID, NS_IDOMINSTALLTRIGGERGLOBAL_IID);
NS_DEF_PTR(nsIDOMInstallTriggerGlobal);
/***********************************************************************/
//
// InstallTriggerGlobal Properties Getter
//
PR_STATIC_CALLBACK(JSBool)
GetInstallTriggerGlobalProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
nsIDOMInstallTriggerGlobal *a = (nsIDOMInstallTriggerGlobal*)JS_GetPrivate(cx, obj);
// If there's no private data, this must be the prototype, so ignore
if (nsnull == a) {
return JS_TRUE;
}
if (JSVAL_IS_INT(id)) {
switch(JSVAL_TO_INT(id)) {
case 0:
default:
return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp);
}
}
else {
return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp);
}
return PR_TRUE;
}
/***********************************************************************/
//
// InstallTriggerGlobal Properties Setter
//
PR_STATIC_CALLBACK(JSBool)
SetInstallTriggerGlobalProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
nsIDOMInstallTriggerGlobal *a = (nsIDOMInstallTriggerGlobal*)JS_GetPrivate(cx, obj);
// If there's no private data, this must be the prototype, so ignore
if (nsnull == a) {
return JS_TRUE;
}
if (JSVAL_IS_INT(id)) {
switch(JSVAL_TO_INT(id)) {
case 0:
default:
return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp);
}
}
else {
return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp);
}
return PR_TRUE;
}
//
// InstallTriggerGlobal finalizer
//
PR_STATIC_CALLBACK(void)
FinalizeInstallTriggerGlobal(JSContext *cx, JSObject *obj)
{
nsJSUtils::nsGenericFinalize(cx, obj);
}
//
// InstallTriggerGlobal enumerate
//
PR_STATIC_CALLBACK(JSBool)
EnumerateInstallTriggerGlobal(JSContext *cx, JSObject *obj)
{
return nsJSUtils::nsGenericEnumerate(cx, obj);
}
//
// InstallTriggerGlobal resolve
//
PR_STATIC_CALLBACK(JSBool)
ResolveInstallTriggerGlobal(JSContext *cx, JSObject *obj, jsval id)
{
return nsJSUtils::nsGenericResolve(cx, obj, id);
}
//
// Native method UpdateEnabled
//
PR_STATIC_CALLBACK(JSBool)
InstallTriggerGlobalUpdateEnabled(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMInstallTriggerGlobal *nativeThis = (nsIDOMInstallTriggerGlobal*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
PRBool nativeRet;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if (argc >= 0) {
if (NS_OK != nativeThis->UpdateEnabled(&nativeRet)) {
return JS_FALSE;
}
*rval = BOOLEAN_TO_JSVAL(nativeRet);
}
else {
JS_ReportError(cx, "Function UpdateEnabled requires 0 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method StartSoftwareUpdate
//
PR_STATIC_CALLBACK(JSBool)
InstallTriggerGlobalStartSoftwareUpdate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMInstallTriggerGlobal *nativeThis = (nsIDOMInstallTriggerGlobal*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
PRInt32 nativeRet;
nsAutoString b0;
PRInt32 b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if (argc >= 2)
{
// public int StartSoftwareUpdate(String url,
// int flag);
ConvertJSValToStr(b0, cx, argv[0]);
if(!JS_ValueToInt32(cx, argv[1], (int32 *)&b1))
{
JS_ReportError(cx, "2nd parameter must be a number");
return JS_FALSE;
}
if(NS_OK != nativeThis->StartSoftwareUpdate(b0, b1, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else if(argc >= 1)
{
// public int StartSoftwareUpdate(String url);
ConvertJSValToStr(b0, cx, argv[0]);
if(NS_OK != nativeThis->StartSoftwareUpdate(b0, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "Function StartSoftwareUpdate requires 2 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method ConditionalSoftwareUpdate
//
PR_STATIC_CALLBACK(JSBool)
InstallTriggerGlobalConditionalSoftwareUpdate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMInstallTriggerGlobal *nativeThis = (nsIDOMInstallTriggerGlobal*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
PRInt32 nativeRet;
nsAutoString b0;
nsAutoString b1;
nsAutoString b2str;
PRInt32 b2int;
nsAutoString b3str;
PRInt32 b3int;
PRInt32 b4;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if(argc >= 5)
{
// public int ConditionalSoftwareUpdate(String url,
// String registryName,
// int diffLevel,
// String version, --OR-- VersionInfo version
// int mode);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
if(!JS_ValueToInt32(cx, argv[2], (int32 *)&b2int))
{
JS_ReportError(cx, "3rd parameter must be a number");
return JS_FALSE;
}
if(!JS_ValueToInt32(cx, argv[4], (int32 *)&b4))
{
JS_ReportError(cx, "5th parameter must be a number");
return JS_FALSE;
}
if(JSVAL_IS_OBJECT(argv[3]))
{
JSObject* jsobj = JSVAL_TO_OBJECT(argv[3]);
JSClass* jsclass = JS_GetClass(cx, jsobj);
if((nsnull != jsclass) && (jsclass->flags & JSCLASS_HAS_PRIVATE))
{
nsIDOMInstallVersion* version = (nsIDOMInstallVersion*)JS_GetPrivate(cx, jsobj);
if(NS_OK != nativeThis->ConditionalSoftwareUpdate(b0, b1, b2int, version, b4, &nativeRet))
{
return JS_FALSE;
}
}
}
else
{
ConvertJSValToStr(b3str, cx, argv[3]);
if(NS_OK != nativeThis->ConditionalSoftwareUpdate(b0, b1, b2int, b3str, b4, &nativeRet))
{
return JS_FALSE;
}
}
*rval = INT_TO_JSVAL(nativeRet);
}
else if(argc >= 4)
{
// public int ConditionalSoftwareUpdate(String url,
// String registryName,
// String version, --OR-- VersionInfo version
// int mode);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
if(!JS_ValueToInt32(cx, argv[3], (int32 *)&b3int))
{
JS_ReportError(cx, "4th parameter must be a number");
return JS_FALSE;
}
if(JSVAL_IS_OBJECT(argv[2]))
{
JSObject* jsobj = JSVAL_TO_OBJECT(argv[2]);
JSClass* jsclass = JS_GetClass(cx, jsobj);
if((nsnull != jsclass) && (jsclass->flags & JSCLASS_HAS_PRIVATE))
{
nsIDOMInstallVersion* version = (nsIDOMInstallVersion*)JS_GetPrivate(cx, jsobj);
if(NS_OK != nativeThis->ConditionalSoftwareUpdate(b0, b1, version, b3int, &nativeRet))
{
return JS_FALSE;
}
}
}
else
{
ConvertJSValToStr(b2str, cx, argv[2]);
if(NS_OK != nativeThis->ConditionalSoftwareUpdate(b0, b1, b2str, b3int, &nativeRet))
{
return JS_FALSE;
}
}
*rval = INT_TO_JSVAL(nativeRet);
}
else if(argc >= 3)
{
// public int ConditionalSoftwareUpdate(String url,
// String registryName,
// String version); --OR-- VersionInfo version
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
if(JSVAL_IS_OBJECT(argv[2]))
{
JSObject* jsobj = JSVAL_TO_OBJECT(argv[2]);
JSClass* jsclass = JS_GetClass(cx, jsobj);
if((nsnull != jsclass) && (jsclass->flags & JSCLASS_HAS_PRIVATE))
{
nsIDOMInstallVersion* version = (nsIDOMInstallVersion*)JS_GetPrivate(cx, jsobj);
if(NS_OK != nativeThis->ConditionalSoftwareUpdate(b0, b1, version, &nativeRet))
{
return JS_FALSE;
}
}
}
else
{
ConvertJSValToStr(b2str, cx, argv[2]);
if(NS_OK != nativeThis->ConditionalSoftwareUpdate(b0, b1, b2str, &nativeRet))
{
return JS_FALSE;
}
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "Function ConditionalSoftwareUpdate requires 5 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method CompareVersion
//
PR_STATIC_CALLBACK(JSBool)
InstallTriggerGlobalCompareVersion(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMInstallTriggerGlobal *nativeThis = (nsIDOMInstallTriggerGlobal*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
PRInt32 nativeRet;
nsAutoString b0;
nsAutoString b1str;
PRInt32 b1int;
PRInt32 b2int;
PRInt32 b3int;
PRInt32 b4int;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if(argc >= 5)
{
// public int CompareVersion(String registryName,
// int major,
// int minor,
// int release,
// int build);
ConvertJSValToStr(b0, cx, argv[0]);
if(!JS_ValueToInt32(cx, argv[1], (int32 *)&b1int))
{
JS_ReportError(cx, "2th parameter must be a number");
return JS_FALSE;
}
if(!JS_ValueToInt32(cx, argv[2], (int32 *)&b2int))
{
JS_ReportError(cx, "3th parameter must be a number");
return JS_FALSE;
}
if(!JS_ValueToInt32(cx, argv[3], (int32 *)&b3int))
{
JS_ReportError(cx, "4th parameter must be a number");
return JS_FALSE;
}
if(!JS_ValueToInt32(cx, argv[4], (int32 *)&b4int))
{
JS_ReportError(cx, "5th parameter must be a number");
return JS_FALSE;
}
if(NS_OK != nativeThis->CompareVersion(b0, b1int, b2int, b3int, b4int, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else if(argc >= 2)
{
// public int CompareVersion(String registryName,
// String version); --OR-- VersionInfo version
ConvertJSValToStr(b0, cx, argv[0]);
if(JSVAL_IS_OBJECT(argv[1]))
{
JSObject* jsobj = JSVAL_TO_OBJECT(argv[1]);
JSClass* jsclass = JS_GetClass(cx, jsobj);
if((nsnull != jsclass) && (jsclass->flags & JSCLASS_HAS_PRIVATE))
{
nsIDOMInstallVersion* version = (nsIDOMInstallVersion*)JS_GetPrivate(cx, jsobj);
if(NS_OK != nativeThis->CompareVersion(b0, version, &nativeRet))
{
return JS_FALSE;
}
}
}
else
{
ConvertJSValToStr(b1str, cx, argv[1]);
if(NS_OK != nativeThis->CompareVersion(b0, b1str, &nativeRet))
{
return JS_FALSE;
}
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "Function CompareVersion requires 5 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
/***********************************************************************/
//
// class for InstallTriggerGlobal
//
JSClass InstallTriggerGlobalClass = {
"InstallTriggerGlobal",
JSCLASS_HAS_PRIVATE,
JS_PropertyStub,
JS_PropertyStub,
GetInstallTriggerGlobalProperty,
SetInstallTriggerGlobalProperty,
EnumerateInstallTriggerGlobal,
ResolveInstallTriggerGlobal,
JS_ConvertStub,
FinalizeInstallTriggerGlobal
};
//
// InstallTriggerGlobal class properties
//
static JSPropertySpec InstallTriggerGlobalProperties[] =
{
{0}
};
//
// InstallTriggerGlobal class methods
//
static JSFunctionSpec InstallTriggerGlobalMethods[] =
{
{"UpdateEnabled", InstallTriggerGlobalUpdateEnabled, 0},
{"StartSoftwareUpdate", InstallTriggerGlobalStartSoftwareUpdate, 2},
{"ConditionalSoftwareUpdate", InstallTriggerGlobalConditionalSoftwareUpdate, 5},
{"CompareVersion", InstallTriggerGlobalCompareVersion, 5},
{0}
};
//
// InstallTriggerGlobal constructor
//
PR_STATIC_CALLBACK(JSBool)
InstallTriggerGlobal(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
}
//
// InstallTriggerGlobal class initialization
//
nsresult NS_InitInstallTriggerGlobalClass(nsIScriptContext *aContext, void **aPrototype)
{
JSContext *jscontext = (JSContext *)aContext->GetNativeContext();
JSObject *proto = nsnull;
JSObject *constructor = nsnull;
JSObject *parent_proto = nsnull;
JSObject *global = JS_GetGlobalObject(jscontext);
jsval vp;
if ((PR_TRUE != JS_LookupProperty(jscontext, global, "InstallTriggerGlobal", &vp)) ||
!JSVAL_IS_OBJECT(vp) ||
((constructor = JSVAL_TO_OBJECT(vp)) == nsnull) ||
(PR_TRUE != JS_LookupProperty(jscontext, JSVAL_TO_OBJECT(vp), "prototype", &vp)) ||
!JSVAL_IS_OBJECT(vp)) {
proto = JS_InitClass(jscontext, // context
global, // global object
parent_proto, // parent proto
&InstallTriggerGlobalClass, // JSClass
InstallTriggerGlobal, // JSNative ctor
0, // ctor args
InstallTriggerGlobalProperties, // proto props
InstallTriggerGlobalMethods, // proto funcs
nsnull, // ctor props (static)
nsnull); // ctor funcs (static)
if (nsnull == proto) {
return NS_ERROR_FAILURE;
}
if ((PR_TRUE == JS_LookupProperty(jscontext, global, "InstallTriggerGlobal", &vp)) &&
JSVAL_IS_OBJECT(vp) &&
((constructor = JSVAL_TO_OBJECT(vp)) != nsnull)) {
vp = INT_TO_JSVAL(nsIDOMInstallTriggerGlobal::MAJOR_DIFF);
JS_SetProperty(jscontext, constructor, "MAJOR_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallTriggerGlobal::MINOR_DIFF);
JS_SetProperty(jscontext, constructor, "MINOR_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallTriggerGlobal::REL_DIFF);
JS_SetProperty(jscontext, constructor, "REL_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallTriggerGlobal::BLD_DIFF);
JS_SetProperty(jscontext, constructor, "BLD_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallTriggerGlobal::EQUAL);
JS_SetProperty(jscontext, constructor, "EQUAL", &vp);
}
}
else if ((nsnull != constructor) && JSVAL_IS_OBJECT(vp)) {
proto = JSVAL_TO_OBJECT(vp);
}
else {
return NS_ERROR_FAILURE;
}
if (aPrototype) {
*aPrototype = proto;
}
return NS_OK;
}
//
// Method for creating a new InstallTriggerGlobal JavaScript object
//
extern "C" NS_DOM nsresult NS_NewScriptInstallTriggerGlobal(nsIScriptContext *aContext, nsISupports *aSupports, nsISupports *aParent, void **aReturn)
{
NS_PRECONDITION(nsnull != aContext && nsnull != aSupports && nsnull != aReturn, "null argument to NS_NewScriptInstallTriggerGlobal");
JSObject *proto;
JSObject *parent;
nsIScriptObjectOwner *owner;
JSContext *jscontext = (JSContext *)aContext->GetNativeContext();
nsresult result = NS_OK;
nsIDOMInstallTriggerGlobal *aInstallTriggerGlobal;
if (nsnull == aParent) {
parent = nsnull;
}
else if (NS_OK == aParent->QueryInterface(kIScriptObjectOwnerIID, (void**)&owner)) {
if (NS_OK != owner->GetScriptObject(aContext, (void **)&parent)) {
NS_RELEASE(owner);
return NS_ERROR_FAILURE;
}
NS_RELEASE(owner);
}
else {
return NS_ERROR_FAILURE;
}
if (NS_OK != NS_InitInstallTriggerGlobalClass(aContext, (void **)&proto)) {
return NS_ERROR_FAILURE;
}
result = aSupports->QueryInterface(kIInstallTriggerGlobalIID, (void **)&aInstallTriggerGlobal);
if (NS_OK != result) {
return result;
}
// create a js object for this class
*aReturn = JS_NewObject(jscontext, &InstallTriggerGlobalClass, proto, parent);
if (nsnull != *aReturn) {
// connect the native object to the js object
JS_SetPrivate(jscontext, (JSObject *)*aReturn, aInstallTriggerGlobal);
}
else {
NS_RELEASE(aInstallTriggerGlobal);
return NS_ERROR_FAILURE;
}
return NS_OK;
}

View File

@@ -0,0 +1,659 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/* AUTO-GENERATED. DO NOT EDIT!!! */
#include "jsapi.h"
#include "nsJSUtils.h"
#include "nscore.h"
#include "nsIScriptContext.h"
#include "nsIJSScriptObject.h"
#include "nsIScriptObjectOwner.h"
#include "nsIScriptGlobalObject.h"
#include "nsIPtr.h"
#include "nsString.h"
#include "nsIDOMInstallVersion.h"
#include "nsIScriptNameSpaceManager.h"
#include "nsRepository.h"
#include "nsDOMCID.h"
extern void ConvertJSValToStr(nsString& aString,
JSContext* aContext,
jsval aValue);
extern void ConvertStrToJSVal(const nsString& aProp,
JSContext* aContext,
jsval* aReturn);
extern PRBool ConvertJSValToBool(PRBool* aProp,
JSContext* aContext,
jsval aValue);
extern PRBool ConvertJSValToObj(nsISupports** aSupports,
REFNSIID aIID,
const nsString& aTypeName,
JSContext* aContext,
jsval aValue);
void ConvertJSvalToVersionString(nsString& versionString, JSContext* cx, jsval* argument);
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(kIInstallVersionIID, NS_IDOMINSTALLVERSION_IID);
NS_DEF_PTR(nsIDOMInstallVersion);
//
// InstallVersion property ids
//
enum InstallVersion_slots {
INSTALLVERSION_MAJOR = -1,
INSTALLVERSION_MINOR = -2,
INSTALLVERSION_RELEASE = -3,
INSTALLVERSION_BUILD = -4
};
/***********************************************************************/
//
// InstallVersion Properties Getter
//
PR_STATIC_CALLBACK(JSBool)
GetInstallVersionProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
nsIDOMInstallVersion *a = (nsIDOMInstallVersion*)JS_GetPrivate(cx, obj);
// If there's no private data, this must be the prototype, so ignore
if (nsnull == a) {
return JS_TRUE;
}
if (JSVAL_IS_INT(id)) {
switch(JSVAL_TO_INT(id)) {
case INSTALLVERSION_MAJOR:
{
PRInt32 prop;
if (NS_OK == a->GetMajor(&prop)) {
*vp = INT_TO_JSVAL(prop);
}
else {
return JS_FALSE;
}
break;
}
case INSTALLVERSION_MINOR:
{
PRInt32 prop;
if (NS_OK == a->GetMinor(&prop)) {
*vp = INT_TO_JSVAL(prop);
}
else {
return JS_FALSE;
}
break;
}
case INSTALLVERSION_RELEASE:
{
PRInt32 prop;
if (NS_OK == a->GetRelease(&prop)) {
*vp = INT_TO_JSVAL(prop);
}
else {
return JS_FALSE;
}
break;
}
case INSTALLVERSION_BUILD:
{
PRInt32 prop;
if (NS_OK == a->GetBuild(&prop)) {
*vp = INT_TO_JSVAL(prop);
}
else {
return JS_FALSE;
}
break;
}
default:
return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp);
}
}
else {
return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp);
}
return PR_TRUE;
}
/***********************************************************************/
//
// InstallVersion Properties Setter
//
PR_STATIC_CALLBACK(JSBool)
SetInstallVersionProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
nsIDOMInstallVersion *a = (nsIDOMInstallVersion*)JS_GetPrivate(cx, obj);
// If there's no private data, this must be the prototype, so ignore
if (nsnull == a) {
return JS_TRUE;
}
if (JSVAL_IS_INT(id)) {
switch(JSVAL_TO_INT(id)) {
case INSTALLVERSION_MAJOR:
{
PRInt32 prop;
int32 temp;
if (JSVAL_IS_NUMBER(*vp) && JS_ValueToInt32(cx, *vp, &temp)) {
prop = (PRInt32)temp;
}
else {
JS_ReportError(cx, "Parameter must be a number");
return JS_FALSE;
}
a->SetMajor(prop);
break;
}
case INSTALLVERSION_MINOR:
{
PRInt32 prop;
int32 temp;
if (JSVAL_IS_NUMBER(*vp) && JS_ValueToInt32(cx, *vp, &temp)) {
prop = (PRInt32)temp;
}
else {
JS_ReportError(cx, "Parameter must be a number");
return JS_FALSE;
}
a->SetMinor(prop);
break;
}
case INSTALLVERSION_RELEASE:
{
PRInt32 prop;
int32 temp;
if (JSVAL_IS_NUMBER(*vp) && JS_ValueToInt32(cx, *vp, &temp)) {
prop = (PRInt32)temp;
}
else {
JS_ReportError(cx, "Parameter must be a number");
return JS_FALSE;
}
a->SetRelease(prop);
break;
}
case INSTALLVERSION_BUILD:
{
PRInt32 prop;
int32 temp;
if (JSVAL_IS_NUMBER(*vp) && JS_ValueToInt32(cx, *vp, &temp)) {
prop = (PRInt32)temp;
}
else {
JS_ReportError(cx, "Parameter must be a number");
return JS_FALSE;
}
a->SetBuild(prop);
break;
}
default:
return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp);
}
}
else {
return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp);
}
return PR_TRUE;
}
//
// InstallVersion finalizer
//
PR_STATIC_CALLBACK(void)
FinalizeInstallVersion(JSContext *cx, JSObject *obj)
{
nsJSUtils::nsGenericFinalize(cx, obj);
}
//
// InstallVersion enumerate
//
PR_STATIC_CALLBACK(JSBool)
EnumerateInstallVersion(JSContext *cx, JSObject *obj)
{
return nsJSUtils::nsGenericEnumerate(cx, obj);
}
//
// InstallVersion resolve
//
PR_STATIC_CALLBACK(JSBool)
ResolveInstallVersion(JSContext *cx, JSObject *obj, jsval id)
{
return nsJSUtils::nsGenericResolve(cx, obj, id);
}
//
// Native method Init
//
PR_STATIC_CALLBACK(JSBool)
InstallVersionInit(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMInstallVersion *nativeThis = (nsIDOMInstallVersion*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
nsAutoString b0;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if (argc >= 1) {
nsJSUtils::nsConvertJSValToString(b0, cx, argv[0]);
if (NS_OK != nativeThis->Init(b0)) {
return JS_FALSE;
}
*rval = JSVAL_VOID;
}
else {
JS_ReportError(cx, "Function init requires 1 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method ToString
//
PR_STATIC_CALLBACK(JSBool)
InstallVersionToString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMInstallVersion *nativeThis = (nsIDOMInstallVersion*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
nsAutoString nativeRet;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if (argc >= 0) {
if (NS_OK != nativeThis->ToString(nativeRet)) {
return JS_FALSE;
}
nsJSUtils::nsConvertStringToJSVal(nativeRet, cx, rval);
}
else {
JS_ReportError(cx, "Function toString requires 0 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method CompareTo
//
PR_STATIC_CALLBACK(JSBool)
InstallVersionCompareTo(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMInstallVersion *nativeThis = (nsIDOMInstallVersion*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
PRInt32 nativeRet;
nsString b0str;
PRInt32 b0int;
PRInt32 b1int;
PRInt32 b2int;
PRInt32 b3int;
nsIDOMInstallVersionPtr versionObj;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if(argc >= 4)
{
// public int CompareTo(int major,
// int minor,
// int release,
// int build);
if(!JSVAL_IS_INT(argv[0]))
{
JS_ReportError(cx, "1st parameter must be a number");
return JS_FALSE;
}
else if(!JSVAL_IS_INT(argv[1]))
{
JS_ReportError(cx, "2nd parameter must be a number");
return JS_FALSE;
}
else if(!JSVAL_IS_INT(argv[2]))
{
JS_ReportError(cx, "3rd parameter must be a number");
return JS_FALSE;
}
else if(!JSVAL_IS_INT(argv[3]))
{
JS_ReportError(cx, "4th parameter must be a number");
return JS_FALSE;
}
b0int = JSVAL_TO_INT(argv[0]);
b1int = JSVAL_TO_INT(argv[1]);
b2int = JSVAL_TO_INT(argv[2]);
b3int = JSVAL_TO_INT(argv[3]);
if(NS_OK != nativeThis->CompareTo(b0int, b1int, b2int, b3int, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else if(argc >= 1)
{
// public int AddDirectory(String version); --OR-- VersionInfo version
if(JSVAL_IS_OBJECT(argv[0]))
{
if(JS_FALSE == ConvertJSValToObj((nsISupports **)&versionObj,
kIInstallVersionIID,
"InstallVersion",
cx,
argv[0]))
{
return JS_FALSE;
}
if(NS_OK != nativeThis->CompareTo(versionObj, &nativeRet))
{
return JS_FALSE;
}
}
else
{
ConvertJSValToStr(b0str, cx, argv[0]);
if(NS_OK != nativeThis->CompareTo(b0str, &nativeRet))
{
return JS_FALSE;
}
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "Function compareTo requires 4 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
/***********************************************************************/
//
// class for InstallVersion
//
JSClass InstallVersionClass = {
"InstallVersion",
JSCLASS_HAS_PRIVATE,
JS_PropertyStub,
JS_PropertyStub,
GetInstallVersionProperty,
SetInstallVersionProperty,
EnumerateInstallVersion,
ResolveInstallVersion,
JS_ConvertStub,
FinalizeInstallVersion
};
//
// InstallVersion class properties
//
static JSPropertySpec InstallVersionProperties[] =
{
{"major", INSTALLVERSION_MAJOR, JSPROP_ENUMERATE},
{"minor", INSTALLVERSION_MINOR, JSPROP_ENUMERATE},
{"release", INSTALLVERSION_RELEASE, JSPROP_ENUMERATE},
{"build", INSTALLVERSION_BUILD, JSPROP_ENUMERATE},
{0}
};
//
// InstallVersion class methods
//
static JSFunctionSpec InstallVersionMethods[] =
{
{"init", InstallVersionInit, 1},
{"toString", InstallVersionToString, 0},
{"compareTo", InstallVersionCompareTo, 1},
{0}
};
//
// InstallVersion constructor
//
PR_STATIC_CALLBACK(JSBool)
InstallVersion(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsresult result;
nsIID classID;
nsIScriptContext* context = (nsIScriptContext*)JS_GetContextPrivate(cx);
nsIScriptNameSpaceManager* manager;
nsIDOMInstallVersion *nativeThis;
nsIScriptObjectOwner *owner = nsnull;
static NS_DEFINE_IID(kIDOMInstallVersionIID, NS_IDOMINSTALLVERSION_IID);
result = context->GetNameSpaceManager(&manager);
if (NS_OK != result) {
return JS_FALSE;
}
result = manager->LookupName("InstallVersion", PR_TRUE, classID);
NS_RELEASE(manager);
if (NS_OK != result) {
return JS_FALSE;
}
result = nsRepository::CreateInstance(classID,
nsnull,
kIDOMInstallVersionIID,
(void **)&nativeThis);
if (NS_OK != result) {
return JS_FALSE;
}
// XXX We should be calling Init() on the instance
result = nativeThis->QueryInterface(kIScriptObjectOwnerIID, (void **)&owner);
if (NS_OK != result) {
NS_RELEASE(nativeThis);
return JS_FALSE;
}
owner->SetScriptObject((void *)obj);
JS_SetPrivate(cx, obj, nativeThis);
NS_RELEASE(owner);
return JS_TRUE;
}
//
// InstallVersion class initialization
//
nsresult NS_InitInstallVersionClass(nsIScriptContext *aContext, void **aPrototype)
{
JSContext *jscontext = (JSContext *)aContext->GetNativeContext();
JSObject *proto = nsnull;
JSObject *constructor = nsnull;
JSObject *parent_proto = nsnull;
JSObject *global = JS_GetGlobalObject(jscontext);
jsval vp;
if ((PR_TRUE != JS_LookupProperty(jscontext, global, "InstallVersion", &vp)) ||
!JSVAL_IS_OBJECT(vp) ||
((constructor = JSVAL_TO_OBJECT(vp)) == nsnull) ||
(PR_TRUE != JS_LookupProperty(jscontext, JSVAL_TO_OBJECT(vp), "prototype", &vp)) ||
!JSVAL_IS_OBJECT(vp)) {
proto = JS_InitClass(jscontext, // context
global, // global object
parent_proto, // parent proto
&InstallVersionClass, // JSClass
InstallVersion, // JSNative ctor
0, // ctor args
InstallVersionProperties, // proto props
InstallVersionMethods, // proto funcs
nsnull, // ctor props (static)
nsnull); // ctor funcs (static)
if (nsnull == proto) {
return NS_ERROR_FAILURE;
}
if ((PR_TRUE == JS_LookupProperty(jscontext, global, "InstallVersion", &vp)) &&
JSVAL_IS_OBJECT(vp) &&
((constructor = JSVAL_TO_OBJECT(vp)) != nsnull)) {
vp = INT_TO_JSVAL(nsIDOMInstallVersion::EQUAL);
JS_SetProperty(jscontext, constructor, "EQUAL", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::BLD_DIFF);
JS_SetProperty(jscontext, constructor, "BLD_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::BLD_DIFF_MINUS);
JS_SetProperty(jscontext, constructor, "BLD_DIFF_MINUS", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::REL_DIFF);
JS_SetProperty(jscontext, constructor, "REL_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::REL_DIFF_MINUS);
JS_SetProperty(jscontext, constructor, "REL_DIFF_MINUS", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::MINOR_DIFF);
JS_SetProperty(jscontext, constructor, "MINOR_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::MINOR_DIFF_MINUS);
JS_SetProperty(jscontext, constructor, "MINOR_DIFF_MINUS", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::MAJOR_DIFF);
JS_SetProperty(jscontext, constructor, "MAJOR_DIFF", &vp);
vp = INT_TO_JSVAL(nsIDOMInstallVersion::MAJOR_DIFF_MINUS);
JS_SetProperty(jscontext, constructor, "MAJOR_DIFF_MINUS", &vp);
}
}
else if ((nsnull != constructor) && JSVAL_IS_OBJECT(vp)) {
proto = JSVAL_TO_OBJECT(vp);
}
else {
return NS_ERROR_FAILURE;
}
if (aPrototype) {
*aPrototype = proto;
}
return NS_OK;
}
//
// Method for creating a new InstallVersion JavaScript object
//
extern "C" NS_DOM nsresult NS_NewScriptInstallVersion(nsIScriptContext *aContext, nsISupports *aSupports, nsISupports *aParent, void **aReturn)
{
NS_PRECONDITION(nsnull != aContext && nsnull != aSupports && nsnull != aReturn, "null argument to NS_NewScriptInstallVersion");
JSObject *proto;
JSObject *parent;
nsIScriptObjectOwner *owner;
JSContext *jscontext = (JSContext *)aContext->GetNativeContext();
nsresult result = NS_OK;
nsIDOMInstallVersion *aInstallVersion;
if (nsnull == aParent) {
parent = nsnull;
}
else if (NS_OK == aParent->QueryInterface(kIScriptObjectOwnerIID, (void**)&owner)) {
if (NS_OK != owner->GetScriptObject(aContext, (void **)&parent)) {
NS_RELEASE(owner);
return NS_ERROR_FAILURE;
}
NS_RELEASE(owner);
}
else {
return NS_ERROR_FAILURE;
}
if (NS_OK != NS_InitInstallVersionClass(aContext, (void **)&proto)) {
return NS_ERROR_FAILURE;
}
result = aSupports->QueryInterface(kIInstallVersionIID, (void **)&aInstallVersion);
if (NS_OK != result) {
return result;
}
// create a js object for this class
*aReturn = JS_NewObject(jscontext, &InstallVersionClass, proto, parent);
if (nsnull != *aReturn) {
// connect the native object to the js object
JS_SetPrivate(jscontext, (JSObject *)*aReturn, aInstallVersion);
}
else {
NS_RELEASE(aInstallVersion);
return NS_ERROR_FAILURE;
}
return NS_OK;
}

View File

@@ -0,0 +1,207 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "jsapi.h"
#include "nscore.h"
#include "nsIScriptContext.h"
#include "nsString.h"
#include "nsInstall.h"
#include "nsWinProfile.h"
#include "nsJSWinProfile.h"
extern void ConvertJSValToStr(nsString& aString,
JSContext* aContext,
jsval aValue);
extern void ConvertStrToJSVal(const nsString& aProp,
JSContext* aContext,
jsval* aReturn);
extern PRBool ConvertJSValToBool(PRBool* aProp,
JSContext* aContext,
jsval aValue);
extern PRBool ConvertJSValToObj(nsISupports** aSupports,
REFNSIID aIID,
const nsString& aTypeName,
JSContext* aContext,
jsval aValue);
static void PR_CALLBACK WinProfileCleanup(JSContext *cx, JSObject *obj)
{
nsWinProfile *nativeThis = (nsWinProfile*)JS_GetPrivate(cx, obj);
delete nativeThis;
}
/***********************************************************************************/
// Native mothods for WinProfile functions
//
// Native method GetString
//
PR_STATIC_CALLBACK(JSBool)
WinProfileGetString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinProfile *nativeThis = (nsWinProfile*)JS_GetPrivate(cx, obj);
nsString nativeRet;
nsAutoString b0;
nsAutoString b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 2)
{
// public int getString ( String section,
// String key);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
nativeThis->getString(b0, b1, &nativeRet);
ConvertStrToJSVal(nativeRet, cx, rval);
}
else
{
JS_ReportError(cx, "WinProfile.getString() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method WriteString
//
PR_STATIC_CALLBACK(JSBool)
WinProfileWriteString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinProfile *nativeThis = (nsWinProfile*)JS_GetPrivate(cx, obj);
PRInt32 nativeRet;
nsAutoString b0;
nsAutoString b1;
nsAutoString b2;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 3)
{
// public int writeString ( String section,
// String key,
// String value);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
ConvertJSValToStr(b2, cx, argv[2]);
if(NS_OK != nativeThis->writeString(b0, b1, b2, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinProfile.writeString() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// WinProfile constructor
//
PR_STATIC_CALLBACK(JSBool)
WinProfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
}
/***********************************************************************/
//
// class for WinProfile
//
JSClass WinProfileClass = {
"WinProfile",
JSCLASS_HAS_PRIVATE,
JS_PropertyStub,
JS_PropertyStub,
JS_PropertyStub,
JS_PropertyStub,
JS_EnumerateStub,
JS_ResolveStub,
JS_ConvertStub,
WinProfileCleanup
};
static JSConstDoubleSpec winprofile_constants[] =
{
{0}
};
//
// WinProfile class methods
//
static JSFunctionSpec WinProfileMethods[] =
{
{"getString", WinProfileGetString, 2},
{"writeString", WinProfileWriteString, 3},
{0}
};
PRInt32
InitWinProfilePrototype(JSContext *jscontext, JSObject *global, JSObject **winProfilePrototype)
{
*winProfilePrototype = JS_InitClass( jscontext, // context
global, // global object
nsnull, // parent proto
&WinProfileClass, // JSClass
nsnull, // JSNative ctor
0, // ctor args
nsnull, // proto props
nsnull, // proto funcs
nsnull, // ctor props (static)
WinProfileMethods); // ctor funcs (static)
if(nsnull == *winProfilePrototype)
{
return NS_ERROR_FAILURE;
}
if(PR_FALSE == JS_DefineConstDoubles(jscontext, *winProfilePrototype, winprofile_constants))
return NS_ERROR_FAILURE;
return NS_OK;
}

View File

@@ -0,0 +1,25 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef __NS_JSWINPROTOTYPE_H__
#define __NS_JSWINPROTOTYPE_H__
PRInt32
InitWinProfilePrototype(JSContext *jscontext, JSObject *global, JSObject **winRegPrototype);
#endif

View File

@@ -0,0 +1,514 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "jsapi.h"
#include "nscore.h"
#include "nsIScriptContext.h"
#include "nsString.h"
#include "nsInstall.h"
#include "nsWinReg.h"
#include "nsJSWinReg.h"
static void PR_CALLBACK WinRegCleanup(JSContext *cx, JSObject *obj);
extern void ConvertJSValToStr(nsString& aString,
JSContext* aContext,
jsval aValue);
extern void ConvertStrToJSVal(const nsString& aProp,
JSContext* aContext,
jsval* aReturn);
extern PRBool ConvertJSValToBool(PRBool* aProp,
JSContext* aContext,
jsval aValue);
extern PRBool ConvertJSValToObj(nsISupports** aSupports,
REFNSIID aIID,
const nsString& aTypeName,
JSContext* aContext,
jsval aValue);
static void PR_CALLBACK WinRegCleanup(JSContext *cx, JSObject *obj)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
delete nativeThis;
}
/***********************************************************************************/
// Native mothods for WinReg functions
//
// Native method SetRootKey
//
PR_STATIC_CALLBACK(JSBool)
WinRegSetRootKey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
PRInt32 b0;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 1)
{
// public int setRootKey(PRInt32 key);
if(!JS_ValueToInt32(cx, argv[0], (int32 *)&b0))
{
JS_ReportError(cx, "Parameter must be a number");
return JS_FALSE;
}
if(NS_OK != nativeThis->setRootKey(b0))
{
return JS_FALSE;
}
*rval = JSVAL_VOID;
}
else
{
JS_ReportError(cx, "Function SetRootKey requires 1 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method CreateKey
//
PR_STATIC_CALLBACK(JSBool)
WinRegCreateKey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
PRInt32 nativeRet;
nsAutoString b0;
nsAutoString b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 2)
{
// public int createKey ( String subKey,
// String className);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
if(NS_OK != nativeThis->createKey(b0, b1, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinReg.CreateKey() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method DeleteKey
//
PR_STATIC_CALLBACK(JSBool)
WinRegDeleteKey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
PRInt32 nativeRet;
nsAutoString b0;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 1)
{
// public int deleteKey ( String subKey);
ConvertJSValToStr(b0, cx, argv[0]);
if(NS_OK != nativeThis->deleteKey(b0, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinReg.DeleteKey() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method DeleteValue
//
PR_STATIC_CALLBACK(JSBool)
WinRegDeleteValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
PRInt32 nativeRet;
nsString b0;
nsString b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 2)
{
// public int deleteValue ( String subKey,
// String valueName);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
if(NS_OK != nativeThis->deleteValue(b0, b1, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinReg.DeleteValue() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method SetValueString
//
PR_STATIC_CALLBACK(JSBool)
WinRegSetValueString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
PRInt32 nativeRet;
nsAutoString b0;
nsAutoString b1;
nsAutoString b2;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 3)
{
// public int setValueString ( String subKey,
// String valueName,
// String value);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
ConvertJSValToStr(b2, cx, argv[2]);
if(NS_OK != nativeThis->setValueString(b0, b1, b2, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinReg.SetValueString() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method GetValueString
//
PR_STATIC_CALLBACK(JSBool)
WinRegGetValueString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
nsString* nativeRet;
nsAutoString b0;
nsAutoString b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 2)
{
// public int getValueString ( String subKey,
// String valueName);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
if(NS_OK != nativeThis->getValueString(b0, b1, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinReg.GetValueString() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method SetValue
//
PR_STATIC_CALLBACK(JSBool)
WinRegSetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
PRInt32 nativeRet;
nsAutoString b0;
nsAutoString b1;
// nsWinRegItem *b2;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 3)
{
// public int setValue ( String subKey,
// String valueName,
// nsWinRegItem *value);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
// fix: this parameter is an object, not a string.
// A way needs to be figured out to convert the JSVAL to this object type
// ConvertJSValToStr(b2, cx, argv[2]);
// if(NS_OK != nativeThis->setValue(b0, b1, b2, &nativeRet))
// {
// return JS_FALSE;
// }
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinReg.SetValue() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method GetValue
//
PR_STATIC_CALLBACK(JSBool)
WinRegGetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
nsWinRegValue *nativeRet;
nsAutoString b0;
nsAutoString b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
if(argc >= 2)
{
// public int getValue ( String subKey,
// String valueName);
ConvertJSValToStr(b0, cx, argv[0]);
ConvertJSValToStr(b1, cx, argv[1]);
if(NS_OK != nativeThis->getValue(b0, b1, &nativeRet))
{
return JS_FALSE;
}
*rval = INT_TO_JSVAL(nativeRet);
}
else
{
JS_ReportError(cx, "WinReg.GetValue() parameters error");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method InstallObject
//
PR_STATIC_CALLBACK(JSBool)
WinRegInstallObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsWinReg *nativeThis = (nsWinReg*)JS_GetPrivate(cx, obj);
nsInstall *nativeRet;
nsAutoString b0;
nsAutoString b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if(nsnull == nativeThis)
{
return JS_TRUE;
}
// public int installObject ();
nativeRet = nativeThis->installObject();
*rval = INT_TO_JSVAL(nativeRet);
return JS_TRUE;
}
//
// WinReg constructor
//
PR_STATIC_CALLBACK(JSBool)
WinReg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
}
/***********************************************************************/
//
// class for WinReg
//
JSClass WinRegClass = {
"WinReg",
JSCLASS_HAS_PRIVATE,
JS_PropertyStub,
JS_PropertyStub,
JS_PropertyStub,
JS_PropertyStub,
JS_EnumerateStub,
JS_ResolveStub,
JS_ConvertStub,
WinRegCleanup
};
static JSConstDoubleSpec winreg_constants[] =
{
{ nsWinReg::HKEY_CLASSES_ROOT, "HKEY_CLASSES_ROOT" },
{ nsWinReg::HKEY_CURRENT_USER, "HKEY_CURRENT_USER" },
{ nsWinReg::HKEY_LOCAL_MACHINE, "HKEY_LOCAL_MACHINE" },
{ nsWinReg::HKEY_USERS, "HKEY_USERS" },
{0}
};
//
// WinReg class methods
//
static JSFunctionSpec WinRegMethods[] =
{
{"setRootKey", WinRegSetRootKey, 1},
{"createKey", WinRegCreateKey, 2},
{"deleteKey", WinRegDeleteKey, 1},
{"deleteValue", WinRegDeleteValue, 2},
{"setValueString", WinRegSetValueString, 3},
{"getValueString", WinRegGetValueString, 2},
{"setValue", WinRegSetValue, 3},
{"getValue", WinRegGetValue, 2},
{"installObject", WinRegInstallObject, 0},
{0}
};
PRInt32
InitWinRegPrototype(JSContext *jscontext, JSObject *global, JSObject **winRegPrototype)
{
*winRegPrototype = JS_InitClass( jscontext, // context
global, // global object
nsnull, // parent proto
&WinRegClass, // JSClass
nsnull, // JSNative ctor
0, // ctor args
nsnull, // proto props
nsnull, // proto funcs
nsnull, // ctor props (static)
WinRegMethods); // ctor funcs (static)
if(nsnull == *winRegPrototype)
{
return NS_ERROR_FAILURE;
}
if(PR_FALSE == JS_DefineConstDoubles(jscontext, *winRegPrototype, winreg_constants))
return NS_ERROR_FAILURE;
return NS_OK;
}

View File

@@ -0,0 +1,25 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef __NS_JSWINREG_H__
#define __NS_JSWINREG_H__
PRInt32
InitWinRegPrototype(JSContext *jscontext, JSObject *global, JSObject **winRegPrototype);
#endif

View File

@@ -0,0 +1,134 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#include "nsIXPInstallProgress.h"
#include "nsLoggingProgressNotifier.h"
#include "nsFileSpec.h"
#include "nsFileStream.h"
#include "nsSpecialSystemDirectory.h"
#include "nspr.h"
nsLoggingProgressNotifier::nsLoggingProgressNotifier()
{
NS_INIT_REFCNT();
}
nsLoggingProgressNotifier::~nsLoggingProgressNotifier()
{
}
NS_IMPL_ISUPPORTS(nsLoggingProgressNotifier, nsIXPInstallProgress::GetIID());
NS_IMETHODIMP
nsLoggingProgressNotifier::BeforeJavascriptEvaluation()
{
nsSpecialSystemDirectory logFile(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);
logFile += "Install.log";
mLogStream = new nsOutputFileStream(logFile, PR_WRONLY | PR_CREATE_FILE | PR_APPEND, 0744 );
mLogStream->seek(logFile.GetFileSize());
return NS_OK;
}
NS_IMETHODIMP
nsLoggingProgressNotifier::AfterJavascriptEvaluation()
{
char* time;
GetTime(&time);
*mLogStream << nsEndl;
*mLogStream << " Finished Installation " << time << nsEndl << nsEndl;
PL_strfree(time);
mLogStream->close();
delete mLogStream;
mLogStream = nsnull;
return NS_OK;
}
NS_IMETHODIMP
nsLoggingProgressNotifier::InstallStarted(const char* UIPackageName)
{
if (mLogStream == nsnull) return -1;
char* time;
GetTime(&time);
*mLogStream << "---------------------------------------------------------------------------" << nsEndl;
*mLogStream << UIPackageName << nsEndl;
*mLogStream << "---------------------------------------------------------------------------" << nsEndl;
*mLogStream << nsEndl;
*mLogStream << " Starting Installation at " << nsAutoCString(time) << nsEndl;
*mLogStream << nsEndl;
PL_strfree(time);
return NS_OK;
}
NS_IMETHODIMP
nsLoggingProgressNotifier::ItemScheduled(const char* message )
{
return NS_OK;
}
NS_IMETHODIMP
nsLoggingProgressNotifier::InstallFinalization(const char* message, PRInt32 itemNum, PRInt32 totNum )
{
if (mLogStream == nsnull) return -1;
*mLogStream << " Item [" << (itemNum+1) << "/" << totNum << "]\t" << message << nsEndl;
return NS_OK;
}
NS_IMETHODIMP
nsLoggingProgressNotifier::InstallAborted()
{
if (mLogStream == nsnull) return -1;
char* time;
GetTime(&time);
*mLogStream << " Aborted Installation at " << time << nsEndl << nsEndl;
PL_strfree(time);
return NS_OK;
}
void
nsLoggingProgressNotifier::GetTime(char** aString)
{
PRExplodedTime et;
char line[256];
PR_ExplodeTime(PR_Now(), PR_LocalTimeParameters, &et);
PR_FormatTimeUSEnglish(line, sizeof(line), "%m/%d/%Y %H:%M:%S", &et);
*aString = PL_strdup(line);
}

View File

@@ -0,0 +1,55 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsLoggingProgressNotifier_H__
#define nsLoggingProgressNotifier_H__
#include "nsIXPInstallProgress.h"
#include "nsFileStream.h"
class nsLoggingProgressNotifier : public nsIXPInstallProgress
{
public:
nsLoggingProgressNotifier();
virtual ~nsLoggingProgressNotifier();
NS_DECL_ISUPPORTS
NS_IMETHOD BeforeJavascriptEvaluation();
NS_IMETHOD AfterJavascriptEvaluation();
NS_IMETHOD InstallStarted(const char* UIPackageName);
NS_IMETHOD ItemScheduled(const char* message );
NS_IMETHOD InstallFinalization(const char* message, PRInt32 itemNum, PRInt32 totNum );
NS_IMETHOD InstallAborted();
private:
void GetTime(char** aString);
nsOutputFileStream *mLogStream;
};
#endif

View File

@@ -0,0 +1,666 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIComponentManager.h"
#include "nsIServiceManager.h"
#include "nsCOMPtr.h"
#include "nspr.h"
#include "nsVector.h"
#include "VerReg.h"
#include "nsSpecialSystemDirectory.h"
#include "nsInstall.h"
#include "nsSoftwareUpdateIIDs.h"
#include "nsSoftwareUpdate.h"
#include "nsSoftwareUpdateRun.h"
#include "nsInstallTrigger.h"
#include "nsInstallVersion.h"
#include "ScheduledTasks.h"
#include "nsTopProgressNotifier.h"
#include "nsLoggingProgressNotifier.h"
#include "nsInstallProgressDialog.h"
#include "nsIAppShellComponent.h"
#include "nsIRegistry.h"
/* For Javascript Namespace Access */
#include "nsDOMCID.h"
#include "nsIServiceManager.h"
#include "nsINameSpaceManager.h"
#include "nsIScriptObjectOwner.h"
#include "nsIScriptGlobalObject.h"
#include "nsIScriptNameSetRegistry.h"
#include "nsIScriptNameSpaceManager.h"
#include "nsIScriptExternalNameSet.h"
#include "nsIEventQueueService.h"
#include "nsProxyObjectManager.h"
////////////////////////////////////////////////////////////////////////////////
// Globals
////////////////////////////////////////////////////////////////////////////////
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID);
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
static NS_DEFINE_IID(kIScriptNameSetRegistryIID, NS_ISCRIPTNAMESETREGISTRY_IID);
static NS_DEFINE_IID(kCScriptNameSetRegistryCID, NS_SCRIPT_NAMESET_REGISTRY_CID);
static NS_DEFINE_IID(kIScriptExternalNameSetIID, NS_ISCRIPTEXTERNALNAMESET_IID);
static NS_DEFINE_IID(kISoftwareUpdate_IID, NS_ISOFTWAREUPDATE_IID);
static NS_DEFINE_IID(kSoftwareUpdate_CID, NS_SoftwareUpdate_CID);
static NS_DEFINE_IID(kIInstallTrigger_IID, NS_IDOMINSTALLTRIGGERGLOBAL_IID);
static NS_DEFINE_IID(kInstallTrigger_CID, NS_SoftwareUpdateInstallTrigger_CID);
static NS_DEFINE_IID(kIInstallVersion_IID, NS_IDOMINSTALLVERSION_IID);
static NS_DEFINE_IID(kInstallVersion_CID, NS_SoftwareUpdateInstallVersion_CID);
static NS_DEFINE_IID(kProxyObjectManagerIID, NS_IPROXYEVENT_MANAGER_IID);
static NS_DEFINE_IID(kEventQueueServiceIID, NS_IEVENTQUEUESERVICE_IID);
nsSoftwareUpdate::nsSoftwareUpdate()
{
#ifdef NS_DEBUG
printf("XPInstall Component created\n");
#endif
NS_INIT_ISUPPORTS();
/***************************************/
/* Create us a queue */
/***************************************/
mInstalling = nsnull;
mJarInstallQueue = new nsVector();
/***************************************/
/* Add us to the Javascript Name Space */
/***************************************/
new nsSoftwareUpdateNameSet();
/***************************************/
/* Register us with NetLib */
/***************************************/
// FIX
/***************************************/
/* Startup the Version Registry */
/***************************************/
NR_StartupRegistry(); /* startup the registry; if already started, this will essentially be a noop */
nsSpecialSystemDirectory appDir(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);
VR_SetRegDirectory( appDir.GetNativePathCString() );
/***************************************/
/* Stupid Hack to test js env*/
/***************************************/
// FIX: HACK HACK HACK!
#if 0
nsSpecialSystemDirectory jarFile(nsSpecialSystemDirectory::OS_TemporaryDirectory);
jarFile += "test.jar";
if (jarFile.Exists())
{
InstallJar(nsString(nsFileURL(jarFile)), "", "");
}
#endif
/***************************************/
/* Perform Scheduled Tasks */
/***************************************/
PR_CreateThread(PR_USER_THREAD,
PerformScheduledTasks,
nsnull,
PR_PRIORITY_NORMAL,
PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD,
0);
/***************************************/
/* Create a top level observer */
/***************************************/
mTopLevelObserver = new nsTopProgressNotifier();
nsLoggingProgressNotifier *logger = new nsLoggingProgressNotifier();
RegisterNotifier(logger);
nsIProxyObjectManager *manager;
nsInstallProgressDialog *dialog = new nsInstallProgressDialog();
nsInstallProgressDialog *proxy;
nsISupports *dialogBase;
nsresult rv = dialog->QueryInterface(kISupportsIID, (void**)&dialogBase);
if (NS_SUCCEEDED(rv))
{
rv = nsServiceManager::GetService( NS_XPCOMPROXY_PROGID,
kProxyObjectManagerIID,
(nsISupports **)&manager);
if (NS_SUCCEEDED(rv))
{
// I am assuming that the thread that starts us up is the UI thread. this will/may break
// I need to make a generic way of getting at the UI event queue.
nsIEventQueueService *eventQService;
rv = nsServiceManager::GetService(NS_EVENTQUEUESERVICE_PROGID,
kEventQueueServiceIID,
(nsISupports **)&eventQService);
if (NS_SUCCEEDED(rv))
{
nsIEventQueue *eventQ;
eventQService->GetThreadEventQueue(PR_GetCurrentThread(), &eventQ);
PLEventQueue *plEventQ;
eventQ->GetPLEventQueue(&plEventQ);
rv = manager->GetProxyObject(plEventQ, nsIXPInstallProgress::GetIID(), dialogBase, PROXY_SYNC, (void**)&proxy);
if (NS_SUCCEEDED(rv))
{
RegisterNotifier(proxy);
}
}
}
}
if (dialog)
dialog->Release();
}
nsSoftwareUpdate::~nsSoftwareUpdate()
{
#ifdef NS_DEBUG
printf("*** XPInstall Component destroyed\n");
#endif
if (mJarInstallQueue != nsnull)
{
PRUint32 i=0;
for (; i < mJarInstallQueue->GetSize(); i++)
{
nsInstallInfo* element = (nsInstallInfo*)mJarInstallQueue->Get(i);
//FIX: need to add to registry....
delete element;
}
mJarInstallQueue->RemoveAll();
delete (mJarInstallQueue);
mJarInstallQueue = nsnull;
}
NR_ShutdownRegistry();
}
NS_IMPL_ADDREF( nsSoftwareUpdate );
NS_IMPL_RELEASE( nsSoftwareUpdate );
NS_IMETHODIMP
nsSoftwareUpdate::QueryInterface( REFNSIID anIID, void **anInstancePtr )
{
nsresult rv = NS_OK;
/* Check for place to return result. */
if ( !anInstancePtr )
{
rv = NS_ERROR_NULL_POINTER;
}
else
{
/* Initialize result. */
*anInstancePtr = 0;
/* Check for IIDs we support and cast this appropriately. */
if ( anIID.Equals( nsISoftwareUpdate::GetIID() ) )
{
*anInstancePtr = (void*) ( (nsISoftwareUpdate*)this );
NS_ADDREF_THIS();
}
else if ( anIID.Equals( nsIAppShellComponent::GetIID() ) )
{
*anInstancePtr = (void*) ( (nsIAppShellComponent*)this );
NS_ADDREF_THIS();
}
else if ( anIID.Equals( kISupportsIID ) )
{
*anInstancePtr = (void*) ( (nsISupports*) (nsISoftwareUpdate*) this );
NS_ADDREF_THIS();
}
else
{
/* Not an interface we support. */\
rv = NS_NOINTERFACE;
}
}
return rv;
}
NS_IMETHODIMP
nsSoftwareUpdate::Initialize( nsIAppShellService *anAppShell, nsICmdLineService *aCmdLineService )
{
nsresult rv;
rv = nsServiceManager::RegisterService( NS_IXPINSTALLCOMPONENT_PROGID, ( (nsISupports*) (nsISoftwareUpdate*) this ) );
return rv;
}
NS_IMETHODIMP
nsSoftwareUpdate::Shutdown()
{
nsresult rv;
rv = nsServiceManager::ReleaseService( NS_IXPINSTALLCOMPONENT_PROGID, ( (nsISupports*) (nsISoftwareUpdate*) this ) );
return rv;
}
NS_IMETHODIMP
nsSoftwareUpdate::RegisterNotifier(nsIXPInstallProgress *notifier)
{
// we are going to ignore the returned ID and enforce that once you
// register a notifier, you can not remove it. This should at some
// point be fixed.
(void) mTopLevelObserver->RegisterNotifier(notifier);
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdate::GetTopLevelNotifier(nsIXPInstallProgress **notifier)
{
*notifier = mTopLevelObserver;
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdate::InstallJar( const nsString& fromURL,
const nsString& localFile,
long flags)
{
nsInstallInfo *installInfo = new nsInstallInfo(fromURL, localFile, flags);
mJarInstallQueue->Add( installInfo );
RunNextInstall();
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdate::InstallPending(void)
{
if (mInstalling || mJarInstallQueue->GetSize() > 0)
{
return 1;
}
else
{
return 0;
}
}
NS_IMETHODIMP
nsSoftwareUpdate::InstallJarCallBack()
{
nsInstallInfo *nextInstall = (nsInstallInfo*)mJarInstallQueue->Get(0);
if (nextInstall != nsnull)
delete nextInstall;
mJarInstallQueue->Remove(0);
mInstalling = PR_FALSE;
return RunNextInstall();
}
nsresult
nsSoftwareUpdate::RunNextInstall()
{
if (mInstalling == PR_TRUE)
return NS_OK;
mInstalling = PR_TRUE;
// check to see if there is anything in our queue
if (mJarInstallQueue->GetSize() <= 0)
{
mInstalling = PR_FALSE;
return NS_OK;
}
nsInstallInfo *nextInstall = (nsInstallInfo*)mJarInstallQueue->Get(0);
if (nextInstall->IsMultipleTrigger() == PR_FALSE)
{
RunInstall( nextInstall );
}
else
{
; // should we do something different?!
}
return NS_OK;
}
/////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
static PRInt32 gSoftwareUpdateLock = 0;
nsSoftwareUpdateFactory::nsSoftwareUpdateFactory(void)
{
NS_INIT_ISUPPORTS();
}
nsSoftwareUpdateFactory::~nsSoftwareUpdateFactory(void)
{
}
NS_IMPL_ISUPPORTS(nsSoftwareUpdateFactory,kIFactoryIID)
NS_IMETHODIMP
nsSoftwareUpdateFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
nsSoftwareUpdate *inst = new nsSoftwareUpdate();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (NS_FAILED(result))
{
*aResult = NULL;
}
NS_ADDREF(inst); // Are we sure that we need to addref???
return result;
}
NS_IMETHODIMP
nsSoftwareUpdateFactory::LockFactory(PRBool aLock)
{
if (aLock)
PR_AtomicIncrement(&gSoftwareUpdateLock);
else
PR_AtomicDecrement(&gSoftwareUpdateLock);
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
// nsSoftwareUpdateNameSet
////////////////////////////////////////////////////////////////////////////////
nsSoftwareUpdateNameSet::nsSoftwareUpdateNameSet()
{
NS_INIT_REFCNT();
nsIScriptNameSetRegistry *scriptNameSet;
nsresult result = nsServiceManager::GetService(kCScriptNameSetRegistryCID,
kIScriptNameSetRegistryIID,
(nsISupports **)&scriptNameSet);
if (NS_SUCCEEDED(result))
{
scriptNameSet->AddExternalNameSet(this);
}
}
nsSoftwareUpdateNameSet::~nsSoftwareUpdateNameSet()
{
}
NS_IMPL_ISUPPORTS(nsSoftwareUpdateNameSet, kIScriptExternalNameSetIID);
NS_IMETHODIMP
nsSoftwareUpdateNameSet::InitializeClasses(nsIScriptContext* aScriptContext)
{
nsresult result = NS_OK;
result = NS_InitInstallVersionClass(aScriptContext, nsnull);
if (NS_FAILED(result)) return result;
result = NS_InitInstallTriggerGlobalClass(aScriptContext, nsnull);
return result;
}
NS_IMETHODIMP
nsSoftwareUpdateNameSet::AddNameSet(nsIScriptContext* aScriptContext)
{
nsresult result = NS_OK;
nsIScriptNameSpaceManager* manager;
result = aScriptContext->GetNameSpaceManager(&manager);
if (NS_SUCCEEDED(result))
{
result = manager->RegisterGlobalName("InstallVersion",
kInstallVersion_CID,
PR_TRUE);
if (NS_FAILED(result)) return result;
result = manager->RegisterGlobalName("InstallTrigger",
kInstallTrigger_CID,
PR_FALSE);
}
if (manager != nsnull)
NS_RELEASE(manager);
return result;
}
////////////////////////////////////////////////////////////////////////////////
// DLL Entry Points:
////////////////////////////////////////////////////////////////////////////////
extern "C" NS_EXPORT PRBool
NSCanUnload(nsISupports* aServMgr)
{
return PR_FALSE;
}
extern "C" NS_EXPORT nsresult
NSRegisterSelf(nsISupports* aServMgr, const char *path)
{
nsresult rv;
nsCOMPtr<nsIServiceManager> servMgr(do_QueryInterface(aServMgr, &rv));
if (NS_FAILED(rv)) return rv;
nsIComponentManager* compMgr;
rv = servMgr->GetService(kComponentManagerCID,
nsIComponentManager::GetIID(),
(nsISupports**)&compMgr);
if (NS_FAILED(rv)) return rv;
#ifdef NS_DEBUG
printf("*** XPInstall is being registered\n");
#endif
rv = compMgr->RegisterComponent( kSoftwareUpdate_CID,
NS_IXPINSTALLCOMPONENT_CLASSNAME,
NS_IXPINSTALLCOMPONENT_PROGID,
path,
PR_TRUE,
PR_TRUE );
if (NS_FAILED(rv)) goto done;
nsIRegistry *registry;
rv = servMgr->GetService( NS_REGISTRY_PROGID,
nsIRegistry::GetIID(),
(nsISupports**)&registry );
if ( NS_SUCCEEDED( rv ) )
{
registry->Open();
char buffer[256];
char *cid = nsSoftwareUpdate::GetCID().ToString();
PR_snprintf( buffer,
sizeof buffer,
"%s/%s",
NS_IAPPSHELLCOMPONENT_KEY,
cid ? cid : "unknown" );
delete [] cid;
nsIRegistry::Key key;
rv = registry->AddSubtree( nsIRegistry::Common,
buffer,
&key );
servMgr->ReleaseService( NS_REGISTRY_PROGID, registry );
}
rv = compMgr->RegisterComponent(kInstallTrigger_CID, NULL, NULL, path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
rv = compMgr->RegisterComponent(kInstallVersion_CID, NULL, NULL, path, PR_TRUE, PR_TRUE);
done:
(void)servMgr->ReleaseService(kComponentManagerCID, compMgr);
return rv;
}
extern "C" NS_EXPORT nsresult
NSUnregisterSelf(nsISupports* aServMgr, const char *path)
{
nsresult rv;
nsCOMPtr<nsIServiceManager> servMgr(do_QueryInterface(aServMgr, &rv));
if (NS_FAILED(rv)) return rv;
nsIComponentManager* compMgr;
rv = servMgr->GetService(kComponentManagerCID,
nsIComponentManager::GetIID(),
(nsISupports**)&compMgr);
if (NS_FAILED(rv)) return rv;
#ifdef NS_DEBUG
printf("*** XPInstall is being unregistered\n");
#endif
rv = compMgr->UnregisterComponent(kSoftwareUpdate_CID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kInstallTrigger_CID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kInstallVersion_CID, path);
done:
(void)servMgr->ReleaseService(kComponentManagerCID, compMgr);
return rv;
}
extern "C" NS_EXPORT nsresult
NSGetFactory(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory)
{
if (aFactory == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aFactory = NULL;
nsISupports *inst;
if (aClass.Equals(kInstallTrigger_CID) )
{
inst = new nsInstallTriggerFactory();
}
else if (aClass.Equals(kInstallVersion_CID) )
{
inst = new nsInstallVersionFactory();
}
else if (aClass.Equals(kSoftwareUpdate_CID) )
{
inst = new nsSoftwareUpdateFactory();
}
else
{
return NS_ERROR_ILLEGAL_VALUE;
}
if (inst == NULL)
{
return NS_ERROR_OUT_OF_MEMORY;
}
nsresult res = inst->QueryInterface(kIFactoryIID, (void**) aFactory);
if (NS_FAILED(res))
{
delete inst;
}
return res;
}

View File

@@ -0,0 +1,77 @@
#ifndef nsSoftwareUpdate_h___
#define nsSoftwareUpdate_h___
#include "nsSoftwareUpdateIIDs.h"
#include "nsISoftwareUpdate.h"
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsString.h"
#include "nsVector.h"
class nsInstallInfo;
#include "nsIScriptExternalNameSet.h"
#include "nsIAppShellComponent.h"
#include "nsIXPInstallProgress.h"
#include "nsTopProgressNotifier.h"
class nsSoftwareUpdate: public nsIAppShellComponent, public nsISoftwareUpdate
{
public:
NS_DEFINE_STATIC_CID_ACCESSOR( NS_SoftwareUpdate_CID );
nsSoftwareUpdate();
virtual ~nsSoftwareUpdate();
NS_DECL_ISUPPORTS
NS_DECL_IAPPSHELLCOMPONENT
NS_IMETHOD InstallJar(const nsString& fromURL,
const nsString& localFile,
long flags);
NS_IMETHOD RegisterNotifier(nsIXPInstallProgress *notifier);
NS_IMETHOD InstallPending(void);
NS_IMETHOD InstallJarCallBack();
NS_IMETHOD GetTopLevelNotifier(nsIXPInstallProgress **notifier);
private:
nsresult RunNextInstall();
nsresult DeleteScheduledNodes();
PRBool mInstalling;
nsVector* mJarInstallQueue;
nsTopProgressNotifier *mTopLevelObserver;
};
class nsSoftwareUpdateNameSet : public nsIScriptExternalNameSet
{
public:
nsSoftwareUpdateNameSet();
virtual ~nsSoftwareUpdateNameSet();
NS_DECL_ISUPPORTS
NS_IMETHOD InitializeClasses(nsIScriptContext* aScriptContext);
NS_IMETHOD AddNameSet(nsIScriptContext* aScriptContext);
};
#define AUTOUPDATE_ENABLE_PREF "autoupdate.enabled"
#define AUTOUPDATE_CONFIRM_PREF "autoupdate.confirm_install"
#define CHARSET_HEADER "Charset"
#define CONTENT_ENCODING_HEADER "Content-encoding"
#define INSTALLER_HEADER "Install-Script"
#define MOCHA_CONTEXT_PREFIX "autoinstall:"
#define REG_SOFTUPDT_DIR "Netscape/Communicator/SoftwareUpdate/"
#define LAST_REGPACK_TIME "LastRegPackTime"
#endif

View File

@@ -0,0 +1,362 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nsSoftwareUpdate.h"
#include "nsSoftwareUpdateRun.h"
#include "nsSoftwareUpdateIIDs.h"
#include "nsInstall.h"
#include "zipfile.h"
#include "nsRepository.h"
#include "nsIServiceManager.h"
#include "nsSpecialSystemDirectory.h"
#include "nsFileStream.h"
#include "nspr.h"
#include "jsapi.h"
#include "nsIEventQueueService.h"
static NS_DEFINE_IID(kISoftwareUpdateIID, NS_ISOFTWAREUPDATE_IID);
static NS_DEFINE_IID(kSoftwareUpdateCID, NS_SoftwareUpdate_CID);
static JSClass global_class =
{
"global", JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
};
extern PRInt32 InitXPInstallObjects(JSContext *jscontext, JSObject *global, const char* jarfile, const char* args);
// Defined in this file:
static void XPInstallErrorReporter(JSContext *cx, const char *message, JSErrorReport *report);
static nsresult GetInstallScriptFromJarfile(const char* jarFile, char** scriptBuffer, PRUint32 *scriptLength);
static nsresult SetupInstallContext(const char* jarFile, const char* args, JSRuntime **jsRT, JSContext **jsCX, JSObject **jsGlob);
extern "C" void RunInstallOnThread(void *data);
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : XPInstallErrorReporter
// Description : Prints error message to stdout
// Return type : void
// Argument : JSContext *cx
// Argument : const char *message
// Argument : JSErrorReport *report
///////////////////////////////////////////////////////////////////////////////////////////////
static void
XPInstallErrorReporter(JSContext *cx, const char *message, JSErrorReport *report)
{
int i, j, k, n;
fputs("xpinstall: ", stderr);
if (!report)
{
fprintf(stderr, "%s\n", message);
return;
}
if (report->filename)
fprintf(stderr, "%s, ", report->filename);
if (report->lineno)
fprintf(stderr, "line %u: ", report->lineno);
fputs(message, stderr);
if (!report->linebuf)
{
putc('\n', stderr);
return;
}
fprintf(stderr, ":\n%s\n", report->linebuf);
n = report->tokenptr - report->linebuf;
for (i = j = 0; i < n; i++) {
if (report->linebuf[i] == '\t') {
for (k = (j + 8) & ~7; j < k; j++)
putc('.', stderr);
continue;
}
putc('.', stderr);
j++;
}
fputs("^\n", stderr);
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : GetInstallScriptFromJarfile
// Description : Extracts and reads in a install.js file from a passed jar file.
// Return type : static nsresult
// Argument : const char* jarFile - native filepath
// Argument : char** scriptBuffer - must be deleted via delete []
// Argument : PRUint32 *scriptLength
///////////////////////////////////////////////////////////////////////////////////////////////
static nsresult
GetInstallScriptFromJarfile(const char* jarFile, char** scriptBuffer, PRUint32 *scriptLength)
{
// Open the jarfile.
void* hZip;
*scriptBuffer = nsnull;
*scriptLength = 0;
nsresult rv = ZIP_OpenArchive(jarFile , &hZip);
if (rv != ZIP_OK)
return rv;
// Read manifest file for Install Script filename.
//FIX: need to do.
// Extract the install.js file to the temporary directory
nsSpecialSystemDirectory installJSFileSpec(nsSpecialSystemDirectory::OS_TemporaryDirectory);
installJSFileSpec += "install.js";
installJSFileSpec.MakeUnique();
// Extract the install.js file.
rv = ZIP_ExtractFile( hZip, "install.js", nsNSPRPath(installJSFileSpec) );
if (rv != ZIP_OK)
{
ZIP_CloseArchive(&hZip);
return rv;
}
// Read it into a buffer
char* buffer;
PRUint32 bufferLength;
PRUint32 readLength;
nsInputFileStream fileStream(installJSFileSpec);
(fileStream.GetIStream())->GetLength(&bufferLength);
buffer = new char[bufferLength + 1];
rv = (fileStream.GetIStream())->Read(buffer, bufferLength, &readLength);
if (NS_SUCCEEDED(rv))
{
*scriptBuffer = buffer;
*scriptLength = readLength;
}
else
{
delete [] buffer;
}
ZIP_CloseArchive(&hZip);
fileStream.close();
installJSFileSpec.Delete(PR_FALSE);
return rv;
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : SetupInstallContext
// Description : Creates a Javascript runtime and adds our xpinstall objects to it.
// Return type : static nsresult
// Argument : const char* jarFile - native filepath to where jar exists on disk
// Argument : const char* args - any arguments passed into the javascript context
// Argument : JSRuntime **jsRT - Must be deleted via JS_DestroyRuntime
// Argument : JSContext **jsCX - Must be deleted via JS_DestroyContext
// Argument : JSObject **jsGlob
///////////////////////////////////////////////////////////////////////////////////////////////
static nsresult SetupInstallContext(const char* jarFile,
const char* args,
JSRuntime **jsRT,
JSContext **jsCX,
JSObject **jsGlob)
{
JSRuntime *rt;
JSContext *cx;
JSObject *glob;
*jsRT = nsnull;
*jsCX = nsnull;
*jsGlob = nsnull;
// JS init
rt = JS_Init(8L * 1024L * 1024L);
if (!rt)
{
return -1;
}
// new context
cx = JS_NewContext(rt, 8192);
if (!rt)
{
return -1;
}
JS_SetErrorReporter(cx, XPInstallErrorReporter);
// new global object
glob = JS_NewObject(cx, &global_class, nsnull, nsnull);
// Init standard classes
JS_InitStandardClasses(cx, glob);
// Add our Install class to this context
InitXPInstallObjects(cx, glob, jarFile, args);
// Fix: We have to add Version and Trigger to this context!!
*jsRT = rt;
*jsCX = cx;
*jsGlob = glob;
return NS_OK;
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : RunInstall
// Description : Creates our Install Thread.
// Return type : PRInt32
// Argument : nsInstallInfo *installInfo
///////////////////////////////////////////////////////////////////////////////////////////////
PRInt32 RunInstall(nsInstallInfo *installInfo)
{
if (installInfo->GetFlags() == 0x00000001)
{
RunInstallOnThread((void *)installInfo);
}
else
{
PR_CreateThread(PR_USER_THREAD,
RunInstallOnThread,
(void*)installInfo,
PR_PRIORITY_NORMAL,
PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD,
0);
}
return 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : RunInstallOnThread
// Description : called by starting thread. It directly calls the C api for xpinstall,
// : and once that returns, it calls the completion routine to notify installation
// : completion.
// Return type : extern "C"
// Argument : void *data
///////////////////////////////////////////////////////////////////////////////////////////////
extern "C" void RunInstallOnThread(void *data)
{
nsInstallInfo *installInfo = (nsInstallInfo*)data;
char *scriptBuffer;
PRUint32 scriptLength;
JSRuntime *rt;
JSContext *cx;
JSObject *glob;
nsISoftwareUpdate *softwareUpdate;
nsresult rv = nsServiceManager::GetService( kSoftwareUpdateCID,
kISoftwareUpdateIID,
(nsISupports**)&softwareUpdate);
nsIXPInstallProgress *notifier;
if (NS_SUCCEEDED(rv))
{
softwareUpdate->GetTopLevelNotifier(&notifier);
}
else
{
return;
}
if(notifier)
notifier->BeforeJavascriptEvaluation();
nsString args;
installInfo->GetArguments(args);
rv = GetInstallScriptFromJarfile( nsAutoCString( installInfo->GetLocalFile() ),
&scriptBuffer,
&scriptLength);
if (NS_FAILED(rv) || scriptBuffer == nsnull)
{
goto bail;
}
rv = SetupInstallContext( nsAutoCString( installInfo->GetLocalFile() ),
nsAutoCString( args ),
&rt, &cx, &glob);
if (NS_FAILED(rv))
{
delete [] scriptBuffer;
goto bail;
}
// Go ahead and run!!
jsval rval;
JS_EvaluateScript(cx,
glob,
scriptBuffer,
scriptLength,
nsnull,
0,
&rval);
delete [] scriptBuffer;
JS_DestroyContext(cx);
JS_DestroyRuntime(rt);
if(notifier)
notifier->AfterJavascriptEvaluation();
bail:
softwareUpdate->InstallJarCallBack();
}

View File

@@ -0,0 +1,6 @@
#ifndef __NS_SoftwareUpdateRun_H__
#define __NS_SoftwareUpdateRun_H__
PRInt32 RunInstall(nsInstallInfo *installInfo);
#endif

View File

@@ -0,0 +1,162 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsSoftwareUpdateStream.h"
#include "nscore.h"
#include "nsFileSpec.h"
#include "nsVector.h"
#include "nsISupports.h"
#include "nsIServiceManager.h"
#include "nsIURL.h"
#include "nsINetlibURL.h"
#include "nsINetService.h"
#include "nsIInputStream.h"
#include "nsIStreamListener.h"
#include "nsISoftwareUpdate.h"
#include "nsSoftwareUpdateIIDs.h"
static NS_DEFINE_IID(kISoftwareUpdateIID, NS_ISOFTWAREUPDATE_IID);
static NS_DEFINE_IID(kSoftwareUpdateCID, NS_SoftwareUpdate_CID);
nsSoftwareUpdateListener::nsSoftwareUpdateListener(const nsString& fromURL, const nsString& localFile, long flags)
{
NS_INIT_REFCNT();
mFromURL = fromURL;
mLocalFile = localFile;
mFlags = flags;
mOutFileDesc = PR_Open(nsAutoCString(localFile), PR_CREATE_FILE | PR_RDWR, 0744);
if(mOutFileDesc == NULL)
{
mResult = -1;
};
mResult = nsServiceManager::GetService( kSoftwareUpdateCID,
kISoftwareUpdateIID,
(nsISupports**)&mSoftwareUpdate);
if (NS_FAILED(mResult))
return;
nsIURL *pURL = nsnull;
mResult = NS_NewURL(&pURL, fromURL);
if (NS_FAILED(mResult))
return;
mResult = NS_OpenURL(pURL, this);
}
nsSoftwareUpdateListener::~nsSoftwareUpdateListener()
{
mSoftwareUpdate->Release();
}
NS_IMPL_ISUPPORTS( nsSoftwareUpdateListener, kIStreamListenerIID )
NS_IMETHODIMP
nsSoftwareUpdateListener::GetBindInfo(nsIURL* aURL, nsStreamBindingInfo* info)
{
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdateListener::OnProgress( nsIURL* aURL,
PRUint32 Progress,
PRUint32 ProgressMax)
{
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdateListener::OnStatus(nsIURL* aURL,
const PRUnichar* aMsg)
{
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdateListener::OnStartBinding(nsIURL* aURL,
const char *aContentType)
{
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdateListener::OnStopBinding(nsIURL* aURL,
nsresult status,
const PRUnichar* aMsg)
{
switch( status )
{
case NS_BINDING_SUCCEEDED:
PR_Close(mOutFileDesc);
mSoftwareUpdate->InstallJar(mFromURL,
mLocalFile,
mFlags );
break;
case NS_BINDING_FAILED:
case NS_BINDING_ABORTED:
mResult = status;
PR_Close(mOutFileDesc);
break;
default:
mResult = NS_ERROR_ILLEGAL_VALUE;
}
return mResult;
}
#define BUF_SIZE 1024
NS_IMETHODIMP
nsSoftwareUpdateListener::OnDataAvailable(nsIURL* aURL, nsIInputStream *pIStream, PRUint32 length)
{
PRUint32 len;
nsresult err;
char buffer[BUF_SIZE];
do
{
err = pIStream->Read(buffer, BUF_SIZE, &len);
if (mResult == 0 && err == 0)
{
if ( PR_Write(mOutFileDesc, buffer, len) == -1 )
{
/* Error */
return -1;
}
}
} while (len > 0 && err == NS_OK);
return 0;
}

View File

@@ -0,0 +1,74 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef _NS_SOFTWAREUPDATESTREAM_H__
#define _NS_SOFTWAREUPDATESTREAM_H__
#include "nsInstall.h"
#include "nscore.h"
#include "nsISupports.h"
#include "nsString.h"
#include "nsIURL.h"
#include "nsINetlibURL.h"
#include "nsINetService.h"
#include "nsIInputStream.h"
#include "nsIStreamListener.h"
#include "nsISoftwareUpdate.h"
static NS_DEFINE_IID(kInetServiceIID, NS_INETSERVICE_IID);
static NS_DEFINE_IID(kInetServiceCID, NS_NETSERVICE_CID);
static NS_DEFINE_IID(kInetLibURLIID, NS_INETLIBURL_IID);
static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID);
class nsSoftwareUpdateListener : public nsIStreamListener
{
public:
NS_DECL_ISUPPORTS
nsSoftwareUpdateListener(const nsString& fromURL, const nsString& localFile, long flags);
NS_IMETHOD GetBindInfo(nsIURL* aURL, nsStreamBindingInfo* info);
NS_IMETHOD OnProgress(nsIURL* aURL, PRUint32 Progress, PRUint32 ProgressMax);
NS_IMETHOD OnStatus(nsIURL* aURL, const PRUnichar* aMsg);
NS_IMETHOD OnStartBinding(nsIURL* aURL, const char *aContentType);
NS_IMETHOD OnDataAvailable(nsIURL* aURL, nsIInputStream *pIStream, PRUint32 length);
NS_IMETHOD OnStopBinding(nsIURL* aURL, nsresult status, const PRUnichar* aMsg);
protected:
virtual ~nsSoftwareUpdateListener();
private:
nsISoftwareUpdate *mSoftwareUpdate;
PRFileDesc *mOutFileDesc;
nsString mFromURL;
nsString mLocalFile;
long mFlags;
PRInt32 mResult;
};
#endif

View File

@@ -0,0 +1,169 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#include "nsIXPInstallProgress.h"
#include "nsTopProgressNotifier.h"
nsTopProgressNotifier::nsTopProgressNotifier()
{
mNotifiers = new nsVector();
}
nsTopProgressNotifier::~nsTopProgressNotifier()
{
if (mNotifiers)
{
PRUint32 i=0;
for (; i < mNotifiers->GetSize(); i++)
{
nsIXPInstallProgress* element = (nsIXPInstallProgress*)mNotifiers->Get(i);
delete element;
}
mNotifiers->RemoveAll();
delete (mNotifiers);
}
}
NS_IMPL_ISUPPORTS(nsTopProgressNotifier, nsIXPInstallProgress::GetIID());
long
nsTopProgressNotifier::RegisterNotifier(nsIXPInstallProgress * newNotifier)
{
return mNotifiers->Add( newNotifier );
}
void
nsTopProgressNotifier::UnregisterNotifier(long id)
{
mNotifiers->Set(id, NULL);
}
NS_IMETHODIMP
nsTopProgressNotifier::BeforeJavascriptEvaluation()
{
if (mNotifiers)
{
PRUint32 i=0;
for (; i < mNotifiers->GetSize(); i++)
{
nsIXPInstallProgress* element = (nsIXPInstallProgress*)mNotifiers->Get(i);
if (element != NULL)
element->BeforeJavascriptEvaluation();
}
}
return NS_OK;
}
NS_IMETHODIMP
nsTopProgressNotifier::AfterJavascriptEvaluation(void)
{
if (mNotifiers)
{
PRUint32 i=0;
for (; i < mNotifiers->GetSize(); i++)
{
nsIXPInstallProgress* element = (nsIXPInstallProgress*)mNotifiers->Get(i);
if (element != NULL)
element->AfterJavascriptEvaluation();
}
}
return NS_OK;
}
NS_IMETHODIMP
nsTopProgressNotifier::InstallStarted(const char* UIPackageName)
{
if (mNotifiers)
{
PRUint32 i=0;
for (; i < mNotifiers->GetSize(); i++)
{
nsIXPInstallProgress* element = (nsIXPInstallProgress*)mNotifiers->Get(i);
if (element != NULL)
element->InstallStarted(UIPackageName);
}
}
return NS_OK;
}
NS_IMETHODIMP
nsTopProgressNotifier::ItemScheduled( const char* message )
{
long rv = 0;
if (mNotifiers)
{
PRUint32 i=0;
for (; i < mNotifiers->GetSize(); i++)
{
nsIXPInstallProgress* element = (nsIXPInstallProgress*)mNotifiers->Get(i);
if (element != NULL)
if (element->ItemScheduled( message ) != 0)
rv = -1;
}
}
return rv;
}
NS_IMETHODIMP
nsTopProgressNotifier::InstallFinalization( const char* message, PRInt32 itemNum, PRInt32 totNum )
{
if (mNotifiers)
{
PRUint32 i=0;
for (; i < mNotifiers->GetSize(); i++)
{
nsIXPInstallProgress* element = (nsIXPInstallProgress*)mNotifiers->Get(i);
if (element != NULL)
element->InstallFinalization( message, itemNum, totNum );
}
}
return NS_OK;
}
NS_IMETHODIMP
nsTopProgressNotifier::InstallAborted(void)
{
if (mNotifiers)
{
PRUint32 i=0;
for (; i < mNotifiers->GetSize(); i++)
{
nsIXPInstallProgress* element = (nsIXPInstallProgress*)mNotifiers->Get(i);
if (element != NULL)
element->InstallAborted();
}
}
return NS_OK;
}

View File

@@ -0,0 +1,57 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsTopProgressNotifier_h__
#define nsTopProgressNotifier_h__
#include "nsIXPInstallProgress.h"
#include "nsVector.h"
class nsTopProgressNotifier : public nsIXPInstallProgress
{
public:
nsTopProgressNotifier();
virtual ~nsTopProgressNotifier();
long RegisterNotifier(nsIXPInstallProgress * newNotifier);
void UnregisterNotifier(long id);
NS_DECL_ISUPPORTS
NS_IMETHOD BeforeJavascriptEvaluation();
NS_IMETHOD AfterJavascriptEvaluation();
NS_IMETHOD InstallStarted(const char* UIPackageName);
NS_IMETHOD ItemScheduled(const char* message );
NS_IMETHOD InstallFinalization(const char* message, PRInt32 itemNum, PRInt32 totNum );
NS_IMETHOD InstallAborted();
private:
nsVector *mNotifiers;
};
#endif

View File

@@ -0,0 +1,144 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsWinProfile.h"
#include "nsWinProfileItem.h"
#include "nspr.h"
#include <windows.h>
/* Public Methods */
nsWinProfile::nsWinProfile( nsInstall* suObj, const nsString& folder, const nsString& file )
{
filename = new nsString(folder);
if(filename->Last() != '\\')
{
filename->Append("\\");
}
filename->Append(file);
su = suObj;
// principal = suObj->GetPrincipal();
// privMgr = nsPrivilegeManager::getPrivilegeManager();
// impersonation = nsTarget::findTarget(IMPERSONATOR);
// target = (nsUserTarget*)nsTarget::findTarget(INSTALL_PRIV);
}
nsWinProfile::~nsWinProfile()
{
delete filename;
}
PRInt32
nsWinProfile::getString(nsString section, nsString key, nsString* aReturn)
{
return nativeGetString(section, key, aReturn);
}
PRInt32
nsWinProfile::writeString(nsString section, nsString key, nsString value, PRInt32* aReturn)
{
nsWinProfileItem* wi = new nsWinProfileItem(this, section, key, value);
*aReturn = NS_OK;
if(wi == NULL)
return PR_FALSE;
su->ScheduleForInstall(wi);
return NS_OK;
}
nsString* nsWinProfile::getFilename()
{
return filename;
}
nsInstall* nsWinProfile::installObject()
{
return su;
}
PRInt32
nsWinProfile::finalWriteString( nsString section, nsString key, nsString value )
{
/* do we need another security check here? */
return nativeWriteString(section, key, value);
}
/* Private Methods */
#define STRBUFLEN 255
PRInt32
nsWinProfile::nativeGetString(nsString section, nsString key, nsString* aReturn )
{
int numChars;
char valbuf[STRBUFLEN];
char* sectionCString;
char* keyCString;
char* filenameCString;
/* make sure conversions worked */
if(section.First() != '\0' && key.First() != '\0' && filename->First() != '\0')
{
sectionCString = section.ToNewCString();
keyCString = key.ToNewCString();
filenameCString = filename->ToNewCString();
numChars = GetPrivateProfileString(sectionCString, keyCString, "", valbuf, STRBUFLEN, filenameCString);
*aReturn = valbuf;
delete [] sectionCString;
delete [] keyCString;
delete [] filenameCString;
}
return numChars;
}
PRInt32
nsWinProfile::nativeWriteString( nsString section, nsString key, nsString value )
{
char* sectionCString;
char* keyCString;
char* valueCString;
char* filenameCString;
int success = 0;
/* make sure conversions worked */
if(section.First() != '\0' && key.First() != '\0' && filename->First() != '\0')
{
sectionCString = section.ToNewCString();
keyCString = key.ToNewCString();
valueCString = value.ToNewCString();
filenameCString = filename->ToNewCString();
success = WritePrivateProfileString( sectionCString, keyCString, valueCString, filenameCString );
delete [] sectionCString;
delete [] keyCString;
delete [] valueCString;
delete [] filenameCString;
}
return success;
}

View File

@@ -0,0 +1,72 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsWinProfile_h__
#define nsWinProfile_h__
#include "prtypes.h"
#include "nsInstall.h"
class nsWinProfile
{
public:
/* Public Fields */
/* Public Methods */
nsWinProfile( nsInstall* suObj, const nsString& folder, const nsString& file );
~nsWinProfile();
/**
* Schedules a write into a windows "ini" file. "Value" can be
* null to delete the value, but we don't support deleting an entire
* section via a null "key". The actual write takes place during
* SoftwareUpdate.FinalizeInstall();
*
* @return false for failure, true for success
*/
PRInt32 writeString( nsString section, nsString key, nsString value, PRInt32* aReturn );
/**
* Reads a value from a windows "ini" file. We don't support using
* a null "key" to return a list of keys--you have to know what you want
*
* @return String value from INI, "" if not found, null if error
*/
PRInt32 getString( nsString section, nsString key, nsString* aReturn );
nsString* getFilename();
nsInstall* installObject();
PRInt32 finalWriteString( nsString section, nsString key, nsString value );
private:
/* Private Fields */
nsString* filename;
nsInstall* su;
/* Private Methods */
PRInt32 nativeWriteString( nsString section, nsString key, nsString value );
PRInt32 nativeGetString( nsString section, nsString key, nsString* aReturn );
};
#endif /* nsWinProfile_h__ */

View File

@@ -0,0 +1,107 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsWinProfileItem.h"
#include "nspr.h"
#include <windows.h>
/* Public Methods */
nsWinProfileItem::nsWinProfileItem(nsWinProfile* profileObj,
nsString sectionName,
nsString keyName,
nsString val) : nsInstallObject(profileObj->installObject())
{
profile = profileObj;
section = new nsString(sectionName);
key = new nsString(keyName);
value = new nsString(val);
}
nsWinProfileItem::~nsWinProfileItem()
{
delete profile;
delete section;
delete key;
delete value;
}
PRInt32 nsWinProfileItem::Complete()
{
profile->finalWriteString(*section, *key, *value);
return NS_OK;
}
float nsWinProfileItem::GetInstallOrder()
{
return 4;
}
char* nsWinProfileItem::toString()
{
char* resultCString;
nsString* result;
nsString* filename = new nsString(*profile->getFilename());
result = new nsString("Write ");
result->Append(*filename);
result->Append(": [");
result->Append(*section);
result->Append("] ");
result->Append(*key);
result->Append("=");
result->Append(*value);
resultCString = result->ToNewCString();
delete result;
delete filename;
return resultCString;
}
void nsWinProfileItem::Abort()
{
}
PRInt32 nsWinProfileItem::Prepare()
{
return nsnull;
}
/* CanUninstall
* WinProfileItem() does not install any files which can be uninstalled,
* hence this function returns false.
*/
PRBool
nsWinProfileItem::CanUninstall()
{
return FALSE;
}
/* RegisterPackageNode
* WinProfileItem() installs files which need to be registered,
* hence this function returns true.
*/
PRBool
nsWinProfileItem::RegisterPackageNode()
{
return TRUE;
}

View File

@@ -0,0 +1,79 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsWinProfileItem_h__
#define nsWinProfileItem_h__
#include "prtypes.h"
#include "nsSoftwareUpdate.h"
#include "nsInstallObject.h"
#include "nsWinProfile.h"
PR_BEGIN_EXTERN_C
class nsWinProfileItem : public nsInstallObject {
public:
/* Public Fields */
/* Public Methods */
nsWinProfileItem(nsWinProfile* profileObj,
nsString sectionName,
nsString keyName,
nsString val);
~nsWinProfileItem();
/**
* Completes the install:
* - writes the data into the .INI file
*/
PRInt32 Complete();
float GetInstallOrder();
char* toString();
// no need for special clean-up
void Abort();
// no need for set-up
PRInt32 Prepare();
/* should these be protected? */
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
/* Private Fields */
nsWinProfile* profile; // initiating profile object
nsString* section; // Name of section
nsString* key; // Name of key
nsString* value; // data to write
/* Private Methods */
};
PR_END_EXTERN_C
#endif /* nsWinProfileItem_h__ */

View File

@@ -0,0 +1,414 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsWinReg.h"
#include "nsWinRegItem.h"
#include <windows.h> /* is this needed? */
/* Public Methods */
nsWinReg::nsWinReg(nsInstall* suObj)
{
su = suObj;
// principal = suObj->GetPrincipal();
// privMgr = nsPrivilegeManager::getPrivilegeManager();
// impersonation = nsTarget::findTarget(IMPERSONATOR);
// target = (nsUserTarget*)nsTarget::findTarget(INSTALL_PRIV);
}
PRInt32
nsWinReg::setRootKey(PRInt32 key)
{
rootkey = key;
return NS_OK;
}
PRInt32
nsWinReg::createKey(nsString subkey, nsString classname, PRInt32* aReturn)
{
// resolvePrivileges();
nsWinRegItem* wi = new nsWinRegItem(this, rootkey, NS_WIN_REG_CREATE, subkey, classname, "null");
if(wi == nsnull)
{
// return (-1);
// *aReturn = SaveError( result );
return NS_OK;
}
su->ScheduleForInstall(wi);
return 0;
}
PRInt32
nsWinReg::deleteKey(nsString subkey, PRInt32* aReturn)
{
// resolvePrivileges();
nsWinRegItem* wi = new nsWinRegItem(this, rootkey, NS_WIN_REG_DELETE, subkey, "null", "null");
if(wi == nsnull)
{
// return (-1);
// *aReturn = SaveError( result );
return NS_OK;
}
su->ScheduleForInstall(wi);
return 0;
}
PRInt32
nsWinReg::deleteValue(nsString subkey, nsString valname, PRInt32* aReturn)
{
// resolvePrivileges();
nsWinRegItem* wi = new nsWinRegItem(this, rootkey, NS_WIN_REG_DELETE_VAL, subkey, valname, "null");
if(wi == nsnull)
{
// return (-1);
// *aReturn = SaveError( result );
return NS_OK;
}
su->ScheduleForInstall(wi);
return 0;
}
PRInt32
nsWinReg::setValueString(nsString subkey, nsString valname, nsString value, PRInt32* aReturn)
{
// resolvePrivileges();
nsWinRegItem* wi = new nsWinRegItem(this, rootkey, NS_WIN_REG_SET_VAL_STRING, subkey, valname, value);
if(wi == nsnull)
{
// return (-1);
// *aReturn = SaveError( result );
return NS_OK;
}
su->ScheduleForInstall(wi);
return 0;
}
PRInt32
nsWinReg::getValueString(nsString subkey, nsString valname, nsString** aReturn)
{
// resolvePrivileges();
// return nativeGetValueString(subkey, valname);
return NS_OK;
}
PRInt32
nsWinReg::setValue(nsString subkey, nsString valname, nsWinRegValue* value, PRInt32* aReturn)
{
// resolvePrivileges();
// fix: need to figure out what to do with nsWinRegValue class.
// nsWinRegItem* wi = new nsWinRegItem(this, rootkey, NS_WIN_REG_SET_VAL, subkey, valname, (nsWinRegValue*)value);
// if(wi == nsnull)
// {
// return (-1);
// *aReturn = SaveError(-1);
// return NS_OK;
// }
// su->ScheduleForInstall(wi);
return 0;
}
PRInt32
nsWinReg::getValue(nsString subkey, nsString valname, nsWinRegValue** aReturn)
{
// resolvePrivileges();
// return nativeGetValue(subkey, valname);
return NS_OK;
}
nsInstall* nsWinReg::installObject()
{
return su;
}
PRInt32
nsWinReg::finalCreateKey(PRInt32 root, nsString subkey, nsString classname, PRInt32* aReturn)
{
setRootKey(root);
*aReturn = nativeCreateKey(subkey, classname);
return NS_OK;
}
PRInt32
nsWinReg::finalDeleteKey(PRInt32 root, nsString subkey, PRInt32* aReturn)
{
setRootKey(root);
*aReturn = nativeDeleteKey(subkey);
return NS_OK;
}
PRInt32
nsWinReg::finalDeleteValue(PRInt32 root, nsString subkey, nsString valname, PRInt32* aReturn)
{
setRootKey(root);
*aReturn = nativeDeleteValue(subkey, valname);
return NS_OK;
}
PRInt32
nsWinReg::finalSetValueString(PRInt32 root, nsString subkey, nsString valname, nsString value, PRInt32* aReturn)
{
setRootKey(root);
*aReturn = nativeSetValueString(subkey, valname, value);
return NS_OK;
}
PRInt32
nsWinReg::finalSetValue(PRInt32 root, nsString subkey, nsString valname, nsWinRegValue* value, PRInt32* aReturn)
{
setRootKey(root);
*aReturn = nativeSetValue(subkey, valname, value);
return NS_OK;
}
/* Private Methods */
PRInt32
nsWinReg::nativeCreateKey(nsString subkey, nsString classname)
{
HKEY root, newkey;
LONG result;
ULONG disposition;
char* subkeyCString = subkey.ToNewCString();
char* classnameCString = classname.ToNewCString();
#ifdef WIN32
root = (HKEY)rootkey;
result = RegCreateKeyEx(root, subkeyCString, 0, classnameCString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, nsnull, &newkey, &disposition);
if(ERROR_SUCCESS == result)
{
RegCloseKey( newkey );
}
#endif
delete [] subkeyCString;
delete [] classnameCString;
return result;
}
PRInt32
nsWinReg::nativeDeleteKey(nsString subkey)
{
HKEY root;
LONG result;
char* subkeyCString = subkey.ToNewCString();
#ifdef WIN32
root = (HKEY) rootkey;
result = RegDeleteKey( root, subkeyCString );
#endif
delete [] subkeyCString;
return result;
}
PRInt32
nsWinReg::nativeDeleteValue(nsString subkey, nsString valname)
{
#if defined (WIN32) || defined (XP_OS2)
HKEY root, newkey;
LONG result;
char* subkeyCString = subkey.ToNewCString();
char* valnameCString = valname.ToNewCString();
root = (HKEY) rootkey;
result = RegOpenKeyEx( root, subkeyCString, 0, KEY_WRITE, &newkey);
if ( ERROR_SUCCESS == result )
{
result = RegDeleteValue( newkey, valnameCString );
RegCloseKey( newkey );
}
delete [] subkeyCString;
delete [] valnameCString;
return result;
#else
return ERROR_INVALID_PARAMETER;
#endif
}
PRInt32
nsWinReg::nativeSetValueString(nsString subkey, nsString valname, nsString value)
{
HKEY root;
HKEY newkey;
LONG result;
DWORD length;
char* subkeyCString = subkey.ToNewCString();
char* valnameCString = valname.ToNewCString();
char* valueCString = value.ToNewCString();
length = subkey.Length();
#ifdef WIN32
root = (HKEY) rootkey;
result = RegOpenKeyEx( root, subkeyCString, 0, KEY_ALL_ACCESS, &newkey);
if(ERROR_SUCCESS == result)
{
result = RegSetValueEx( newkey, valnameCString, 0, REG_SZ, (unsigned char*)valueCString, length );
RegCloseKey( newkey );
}
#endif
delete [] subkeyCString;
delete [] valnameCString;
delete [] valueCString;
return result;
}
#define STRBUFLEN 255
nsString*
nsWinReg::nativeGetValueString(nsString subkey, nsString valname)
{
unsigned char valbuf[STRBUFLEN];
HKEY root;
HKEY newkey;
LONG result;
DWORD type = REG_SZ;
DWORD length = STRBUFLEN;
nsString* value;
char* subkeyCString = subkey.ToNewCString();
char* valnameCString = valname.ToNewCString();
#ifdef WIN32
root = (HKEY) rootkey;
result = RegOpenKeyEx( root, subkeyCString, 0, KEY_ALL_ACCESS, &newkey );
if ( ERROR_SUCCESS == result ) {
result = RegQueryValueEx( newkey, valnameCString, nsnull, &type, valbuf, &length );
RegCloseKey( newkey );
}
if(ERROR_SUCCESS == result && type == REG_SZ)
{
value = new nsString((char*)valbuf);
}
#endif
delete [] subkeyCString;
delete [] valnameCString;
return value;
}
PRInt32
nsWinReg::nativeSetValue(nsString subkey, nsString valname, nsWinRegValue* value)
{
#if defined (WIN32) || defined (XP_OS2)
HKEY root;
HKEY newkey;
LONG result;
DWORD length;
DWORD type;
unsigned char* data;
char* subkeyCString = subkey.ToNewCString();
char* valnameCString = valname.ToNewCString();
root = (HKEY) rootkey;
result = RegOpenKeyEx( root, subkeyCString, 0, KEY_ALL_ACCESS, &newkey );
if(ERROR_SUCCESS == result)
{
type = (DWORD)value->type;
data = (unsigned char*)value->data;
length = (DWORD)value->data_length;
result = RegSetValueEx( newkey, valnameCString, 0, type, data, length);
RegCloseKey( newkey );
}
delete [] subkeyCString;
delete [] valnameCString;
return result;
#else
return ERROR_INVALID_PARAMETER;
#endif
}
nsWinRegValue*
nsWinReg::nativeGetValue(nsString subkey, nsString valname)
{
#if defined (WIN32) || defined (XP_OS2)
unsigned char valbuf[STRBUFLEN];
HKEY root;
HKEY newkey;
LONG result;
DWORD length=STRBUFLEN;
DWORD type;
nsString* data;
nsWinRegValue* value = nsnull;
char* subkeyCString = subkey.ToNewCString();
char* valnameCString = valname.ToNewCString();
root = (HKEY) rootkey;
result = RegOpenKeyEx( root, subkeyCString, 0, KEY_ALL_ACCESS, &newkey );
if(ERROR_SUCCESS == result)
{
result = RegQueryValueEx( newkey, valnameCString, nsnull, &type, valbuf, &length );
if ( ERROR_SUCCESS == result ) {
data = new nsString((char*)valbuf);
length = data->Length();
value = new nsWinRegValue(type, (void*)data, length);
}
RegCloseKey( newkey );
}
delete [] subkeyCString;
delete [] valnameCString;
return value;
#else
return nsnull;
#endif
}
// PRBool
// nsWinReg::resolvePrivileges()
// {
// if(privMgr->enablePrivilege(impersonation, 1) &&
// privMgr->enablePrivilege(target, principal, 1))
// return TRUE;
// else
// return FALSE;
// }

View File

@@ -0,0 +1,103 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef __NS_WINREG_H__
#define __NS_WINREG_H__
#include "nsWinRegEnums.h"
#include "nsWinRegValue.h"
#include "nscore.h"
#include "nsISupports.h"
#include "jsapi.h"
#include "plevent.h"
#include "nsString.h"
#include "nsFileSpec.h"
#include "nsVector.h"
#include "nsHashtable.h"
#include "nsSoftwareUpdate.h"
#include "nsInstallObject.h"
#include "nsInstallVersion.h"
#include "nsInstall.h"
class nsWinReg
{
public:
enum
{
HKEY_CLASSES_ROOT = 0x80000000,
HKEY_CURRENT_USER = 0x80000001,
HKEY_LOCAL_MACHINE = 0x80000002,
HKEY_USERS = 0x80000003
};
/* Public Fields */
/* Public Methods */
nsWinReg(nsInstall* suObj);
PRInt32 setRootKey(PRInt32 key);
PRInt32 createKey(nsString subkey, nsString classname, PRInt32* aReturn);
PRInt32 deleteKey(nsString subkey, PRInt32* aReturn);
PRInt32 deleteValue(nsString subkey, nsString valname, PRInt32* aReturn);
PRInt32 setValueString(nsString subkey, nsString valname, nsString value, PRInt32* aReturn);
PRInt32 getValueString(nsString subkey, nsString valname, nsString** aReturn);
PRInt32 setValue(nsString subkey, nsString valname, nsWinRegValue* value, PRInt32* aReturn);
PRInt32 getValue(nsString subkey, nsString valname, nsWinRegValue** aReturn);
nsInstall* installObject(void);
PRInt32 finalCreateKey(PRInt32 root, nsString subkey, nsString classname, PRInt32* aReturn);
PRInt32 finalDeleteKey(PRInt32 root, nsString subkey, PRInt32* aReturn);
PRInt32 finalDeleteValue(PRInt32 root, nsString subkey, nsString valname, PRInt32* aReturn);
PRInt32 finalSetValueString(PRInt32 root, nsString subkey, nsString valname, nsString value, PRInt32* aReturn);
PRInt32 finalSetValue(PRInt32 root, nsString subkey, nsString valname, nsWinRegValue* value, PRInt32* aReturn);
private:
/* Private Fields */
PRInt32 rootkey;
// nsPrincipal* principal;
// nsPrivilegeManager* privMgr;
// nsTarget* impersonation;
nsInstall* su;
// nsUserTarget* target;
/* Private Methods */
PRInt32 nativeCreateKey(nsString subkey, nsString classname);
PRInt32 nativeDeleteKey(nsString subkey);
PRInt32 nativeDeleteValue(nsString subkey, nsString valname);
PRInt32 nativeSetValueString(nsString subkey, nsString valname, nsString value);
nsString* nativeGetValueString(nsString subkey, nsString valname);
PRInt32 nativeSetValue(nsString subkey, nsString valname, nsWinRegValue* value);
nsWinRegValue* nativeGetValue(nsString subkey, nsString valname);
// PRBool resolvePrivileges();
};
#endif /* __NS_WINREG_H__ */

View File

@@ -0,0 +1,46 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsWinRegEnums_h__
#define nsWinRegEnums_h__
typedef enum nsWinRegEnum {
NS_WIN_REG_CREATE = 1,
NS_WIN_REG_DELETE = 2,
NS_WIN_REG_DELETE_VAL = 3,
NS_WIN_REG_SET_VAL_STRING = 4,
NS_WIN_REG_SET_VAL = 5
} nsWinRegEnum;
typedef enum nsWinRegValueEnum {
NS_WIN_REG_SZ = 1,
NS_WIN_REG_EXPAND_SZ = 2,
NS_WIN_REG_BINARY = 3,
NS_WIN_REG_DWORD = 4,
NS_WIN_REG_DWORD_LITTLE_ENDIAN = 4,
NS_WIN_REG_DWORD_BIG_ENDIAN = 5,
NS_WIN_REG_LINK = 6,
NS_WIN_REG_MULTI_SZ = 7,
NS_WIN_REG_RESOURCE_LIST = 8,
NS_WIN_REG_FULL_RESOURCE_DESCRIPTOR = 9,
NS_WIN_REG_RESOURCE_REQUIREMENTS_LIST = 10
} nsWinRegValueEnum;
#endif /* nsWinRegEnums_h__ */

View File

@@ -0,0 +1,255 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsWinRegItem.h"
#include "nspr.h"
#ifdef WIN32
#include <windows.h> /* is this needed? */
#endif
/* Public Methods */
nsWinRegItem::nsWinRegItem(nsWinReg* regObj, PRInt32 root, PRInt32 action, nsString sub, nsString valname, nsString val)
: nsInstallObject(regObj->installObject())
{
reg = regObj;
command = action;
rootkey = root;
/* I'm assuming we need to copy these */
subkey = new nsString(sub);
name = new nsString(valname);
value = new nsString(val);
}
nsWinRegItem::~nsWinRegItem()
{
delete reg;
delete subkey;
delete name;
delete value;
}
PRInt32 nsWinRegItem::Complete()
{
PRInt32 aReturn = NS_OK;
switch (command)
{
case NS_WIN_REG_CREATE:
reg->finalCreateKey(rootkey, *subkey, *name, &aReturn);
break;
case NS_WIN_REG_DELETE:
reg->finalDeleteKey(rootkey, *subkey, &aReturn);
break;
case NS_WIN_REG_DELETE_VAL:
reg->finalDeleteValue(rootkey, *subkey, *name, &aReturn);
break;
case NS_WIN_REG_SET_VAL_STRING:
reg->finalSetValueString(rootkey, *subkey, *name, *(nsString*)value, &aReturn);
break;
case NS_WIN_REG_SET_VAL:
reg->finalSetValue(rootkey, *subkey, *name, (nsWinRegValue*)value, &aReturn);
break;
}
return aReturn;
}
float nsWinRegItem::GetInstallOrder()
{
return 3;
}
#define kCRK "Create Registry Key "
#define kDRK "Delete Registry key "
#define kDRV "Delete Registry value "
#define kSRV "Store Registry value "
#define kUNK "Unknown "
char* nsWinRegItem::toString()
{
nsString* keyString;
nsString* result;
char* resultCString;
switch(command)
{
case NS_WIN_REG_CREATE:
keyString = keystr(rootkey, subkey, nsnull);
result = new nsString(kCRK);
result->Append(*keyString);
resultCString = result->ToNewCString();
delete keyString;
delete result;
return resultCString;
case NS_WIN_REG_DELETE:
keyString = keystr(rootkey, subkey, nsnull);
result = new nsString(kDRK);
result->Append(*keyString);
resultCString = result->ToNewCString();
delete keyString;
delete result;
return resultCString;
case NS_WIN_REG_DELETE_VAL:
keyString = keystr(rootkey, subkey, name);
result = new nsString(kDRV);
result->Append(*keyString);
resultCString = result->ToNewCString();
delete keyString;
delete result;
return resultCString;
case NS_WIN_REG_SET_VAL_STRING:
keyString = keystr(rootkey, subkey, name);
result = new nsString(kSRV);
result->Append(*keyString);
resultCString = result->ToNewCString();
delete keyString;
delete result;
return resultCString;
case NS_WIN_REG_SET_VAL:
keyString = keystr(rootkey, subkey, name);
result = new nsString(kSRV);
result->Append(*keyString);
resultCString = result->ToNewCString();
delete keyString;
delete result;
return resultCString;
default:
keyString = keystr(rootkey, subkey, name);
result = new nsString(kUNK);
result->Append(*keyString);
resultCString = result->ToNewCString();
delete keyString;
delete result;
return resultCString;
}
}
PRInt32 nsWinRegItem::Prepare()
{
return NULL;
}
void nsWinRegItem::Abort()
{
}
/* Private Methods */
nsString* nsWinRegItem::keystr(PRInt32 root, nsString* subkey, nsString* name)
{
nsString* rootstr;
nsString* finalstr;
char* istr;
switch(root)
{
case (int)(HKEY_CLASSES_ROOT) :
rootstr = new nsString("\\HKEY_CLASSES_ROOT\\");
break;
case (int)(HKEY_CURRENT_USER) :
rootstr = new nsString("\\HKEY_CURRENT_USER\\");
break;
case (int)(HKEY_LOCAL_MACHINE) :
rootstr = new nsString("\\HKEY_LOCAL_MACHINE\\");
break;
case (int)(HKEY_USERS) :
rootstr = new nsString("\\HKEY_USERS\\");
break;
default:
istr = itoa(root);
rootstr = new nsString("\\#");
rootstr->Append(istr);
rootstr->Append("\\");
PR_DELETE(istr);
break;
}
finalstr = new nsString(*rootstr);
if(name != nsnull)
{
finalstr->Append(*subkey);
finalstr->Append(" [");
finalstr->Append(*name);
finalstr->Append("]");
}
delete rootstr;
return finalstr;
}
char* nsWinRegItem::itoa(PRInt32 n)
{
char* s;
int i, sign;
if((sign = n) < 0)
n = -n;
i = 0;
s = (char*)PR_CALLOC(sizeof(char));
do
{
s = (char*)PR_REALLOC(s, (i+1)*sizeof(char));
s[i++] = n%10 + '0';
s[i] = '\0';
} while ((n/=10) > 0);
if(sign < 0)
{
s = (char*)PR_REALLOC(s, (i+1)*sizeof(char));
s[i++] = '-';
}
s[i] = '\0';
reverseString(s);
return s;
}
void nsWinRegItem::reverseString(char* s)
{
int c, i, j;
for(i=0, j=strlen(s)-1; i<j; i++, j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
/* CanUninstall
* WinRegItem() does not install any files which can be uninstalled,
* hence this function returns false.
*/
PRBool
nsWinRegItem:: CanUninstall()
{
return FALSE;
}
/* RegisterPackageNode
* WinRegItem() installs files which need to be registered,
* hence this function returns true.
*/
PRBool
nsWinRegItem:: RegisterPackageNode()
{
return TRUE;
}

View File

@@ -0,0 +1,82 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsWinRegItem_h__
#define nsWinRegItem_h__
#include "prtypes.h"
#include "nsSoftwareUpdate.h"
#include "nsInstallObject.h"
#include "nsWinReg.h"
PR_BEGIN_EXTERN_C
class nsWinRegItem : public nsInstallObject {
public:
/* Public Fields */
/* Public Methods */
nsWinRegItem(nsWinReg* regObj,
PRInt32 root,
PRInt32 action,
nsString sub,
nsString valname,
nsString val);
~nsWinRegItem();
PRInt32 Prepare(void);
PRInt32 Complete();
char* toString();
void Abort();
float GetInstallOrder();
/* should these be protected? */
PRBool CanUninstall();
PRBool RegisterPackageNode();
private:
/* Private Fields */
nsWinReg* reg; // initiating WinReg object
PRInt32 rootkey;
PRInt32 command;
nsString* subkey; // Name of section
nsString* name; // Name of key
void* value; // data to write
/* Private Methods */
nsString* keystr(PRInt32 root, nsString* subkey, nsString* name);
char* itoa(PRInt32 n);
void reverseString(char* s);
};
PR_END_EXTERN_C
#endif /* nsWinRegItem_h__ */

View File

@@ -0,0 +1,24 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsWinRegValue.h"
PR_BEGIN_EXTERN_C
PR_END_EXTERN_C

View File

@@ -0,0 +1,56 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsWinRegValue_h__
#define nsWinRegValue_h__
#include "prtypes.h"
PR_BEGIN_EXTERN_C
struct nsWinRegValue {
public:
/* Public Fields */
PRInt32 type;
void* data;
PRInt32 data_length;
/* Public Methods */
nsWinRegValue(PRInt32 datatype, void* regdata, PRInt32 len)
{
type = datatype;
data = regdata;
data_length = len;
}
/* should we copy the regdata? */
private:
/* Private Fields */
/* Private Methods */
};
PR_END_EXTERN_C
#endif /* nsWinRegValue_h__ */

View File

@@ -0,0 +1,49 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=..\..
MAKE_OBJ_TYPE = EXE
PROGRAM = .\$(OBJDIR)\xpinstall.exe
OBJS = \
.\$(OBJDIR)\standalone.obj \
.\$(OBJDIR)\nsSimpleConsoleProgressNotifier.obj \
$(NULL)
LLIBS = \
$(DIST)\lib\xpinstall.lib \
$(DIST)\lib\raptorbase.lib \
$(DIST)\lib\xpcom32.lib \
$(LIBNSPR) \
$(NULL)
LINCS = \
-I$(PUBLIC)\xpcom \
-I$(PUBLIC)\xpinstall \
-I$(PUBLIC)\raptor \
$(NULL)
include <$(DEPTH)\config\rules.mak>
export:: $(PROGRAM)
$(MAKE_INSTALL) $(PROGRAM) $(DIST)\bin
clobber::
rm -f $(DIST)\bin\xpinstall.exe
$(PROGRAM):: $(OBJS) $(LLIBS)

View File

@@ -0,0 +1,75 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Douglas Turner <dougt@netscape.com>
*/
#include "nsIXPInstallProgressNotifier.h"
#include "nsSimpleConsoleProgressNotifier.h"
#include <stdlib.h>
#include <stdio.h>
nsSimpleConsoleProgressNotifier::nsSimpleConsoleProgressNotifier()
{}
nsSimpleConsoleProgressNotifier::~nsSimpleConsoleProgressNotifier()
{}
void
nsSimpleConsoleProgressNotifier::BeforeJavascriptEvaluation(void)
{
printf("Prior to evaluation of Install Script\n");
}
void
nsSimpleConsoleProgressNotifier::AfterJavascriptEvaluation(void)
{
printf("After evaluation of Install Script\n");
}
void
nsSimpleConsoleProgressNotifier::InstallStarted(const char* UIPackageName)
{
printf("Installing: %s\n", UIPackageName);
}
long
nsSimpleConsoleProgressNotifier::ItemScheduled(const char* message )
{
printf("Scheduled Item:\t%s\n", message);
return 0;
}
void
nsSimpleConsoleProgressNotifier::InstallFinalization(const char* message, long itemNum, long totNum )
{
printf("Item: %s\t(%ld of %ld) Installed.\n", message, itemNum, totNum );
}
void
nsSimpleConsoleProgressNotifier::InstallAborted(void)
{
printf("Installation aborted.\n");
}

View File

@@ -0,0 +1,47 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#ifndef nsSimpleConsoleProgressNotifier_H__
#define nsSimpleConsoleProgressNotifier_H__
#include "nsIXPInstallProgressNotifier.h"
class nsSimpleConsoleProgressNotifier : public nsIXPInstallProgressNotifier
{
public:
nsSimpleConsoleProgressNotifier();
virtual ~nsSimpleConsoleProgressNotifier();
void BeforeJavascriptEvaluation(void);
void AfterJavascriptEvaluation(void);
void InstallStarted(const char* UIPackageName);
long ItemScheduled(const char* message );
void InstallFinalization(const char* message, long itemNum, long totNum );
void InstallAborted(void);
};
#endif

View File

@@ -0,0 +1,141 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include <stdio.h>
#include "nsRepository.h"
#include "nsIServiceManager.h"
#include "nsCOMPtr.h"
#include "nsSpecialSystemDirectory.h"
#include "nscore.h"
#include "nspr.h"
#include "nsSimpleConsoleProgressNotifier.h"
/*********************************************
SoftwareUpdate
*********************************************/
#include "nsISoftwareUpdate.h"
#include "nsSoftwareUpdateIIDs.h"
static nsISoftwareUpdate *softwareUpdate= NULL;
static NS_DEFINE_IID(kFileLocatorIID, NS_IFILELOCATOR_IID);
static NS_DEFINE_IID(kFileLocatorCID, NS_FILELOCATOR_CID);
/*********************************************/
extern "C" void
NS_SetupRegistry()
{
// Autoregistration happens here. The rest of RegisterComponent() calls should happen
// only for dlls not in the components directory.
// Create exeDir/"components"
nsSpecialSystemDirectory sysdir(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);
sysdir += "components";
const char *componentsDir = sysdir.GetCString(); // native path
if (componentsDir != NULL)
{
#ifdef XP_PC
/* The PC version of the directory from filePath is of the form
* /y|/moz/mozilla/dist/bin/components
* We need to remove the initial / and change the | to :
* for all this to work with NSPR.
*/
#endif /* XP_PC */
printf("nsComponentManager: Using components dir: %s\n", componentsDir);
#ifdef XP_MAC
nsComponentManager::AutoRegister(nsIComponentManager::NS_Startup, nsnull);
#else
nsComponentManager::AutoRegister(nsIComponentManager::NS_Startup, componentsDir);
#endif /* XP_MAC */
// XXX Look for user specific components
// XXX UNIX: ~/.mozilla/components
}
}
/***************************************************************************/
static void
xpinstall_usage(int argc, char *argv[])
{
fprintf(stderr, "Usage: %s [-f flags] [-a arguments] filename\n", argv[0]);
}
int
main(int argc, char **argv)
{
for (int i = 1; i < argc; i++)
{
if (argv[i][0] != '-')
break;
switch (argv[i][1])
{
case 'f':
if (argv[i][2] == '\0' && i == argc)
{
fputs("ERROR: missing path after -f\n", stderr);
xpinstall_usage(argc, argv);
return 1;
}
//foo = argv[i + 1];
i++;
break;
default:
fprintf(stderr, "unknown option %s\n", argv[i]);
xpinstall_usage(argc, argv);
return 1;
}
}
NS_SetupRegistry();
nsresult rv = nsComponentManager::CreateInstance(kSoftwareUpdateCID,
nsnull,
kISoftwareUpdateIID,
(void**) &softwareUpdate);
if (NS_SUCCEEDED(rv))
{
nsSimpleConsoleProgressNotifier *progress = new nsSimpleConsoleProgressNotifier();
softwareUpdate->RegisterNotifier(progress);
nsFileSpec jarFile(argv[i]);
nsFileURL jarFileURL(jarFile);
softwareUpdate->InstallJar( nsString( jarFileURL.GetAsString() ) ,
nsString( nsNSPRPath(jarFile) ),
0x00000001);
}
return rv;
}