Compare commits

..

3709 Commits

Author SHA1 Message Date
dp%netscape.com
b38b5431f4 Caching of factories enabled.
git-svn-id: svn://10.0.0.236/branches/XPCOM_M8_PERF_BRANCH@38313 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-04 05:59:59 +00:00
dp%netscape.com
9c4ce69474 Remove some locks.
Resturctured code; added GetFactoryEntry().


git-svn-id: svn://10.0.0.236/branches/XPCOM_M8_PERF_BRANCH@38298 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-04 00:11:28 +00:00
(no author)
033e103521 This commit was manufactured by cvs2svn to create branch
'XPCOM_M8_PERF_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/XPCOM_M8_PERF_BRANCH@38037 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 13:06:50 +00:00
dp%netscape.com
6f31df3804 GetString() performance improvement [dveditz@netscape.com]
git-svn-id: svn://10.0.0.236/branches/XPCOM_M8_PERF_BRANCH@37979 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 04:43:57 +00:00
dp%netscape.com
e09f408d32 Enabling registry prepopulation.
git-svn-id: svn://10.0.0.236/branches/XPCOM_M8_PERF_BRANCH@37974 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 04:21:17 +00:00
(no author)
69ff4c5e28 This commit was manufactured by cvs2svn to create branch
'XPCOM_M8_PERF_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/XPCOM_M8_PERF_BRANCH@37970 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 04:04:32 +00:00
dp%netscape.com
08cc0da33f Diabling registry prepopulation. These changes was meant for the
branch and not in the tip. When XPCOM_M8_PERF_BRANCH lands, these will
be enabled.


git-svn-id: svn://10.0.0.236/trunk@37969 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 04:04:31 +00:00
sfraser%netscape.com
e6d66a31c8 Fix for crash on startup -- don't use nsCOMPtr on frame-derived things, becaue they are not refcounted, and this causes nsCOMPtr to delete the frame on destructions.
git-svn-id: svn://10.0.0.236/trunk@37968 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 04:02:48 +00:00
sfraser%netscape.com
b089efa46d Added nsStyleSheetTxns.cpp
git-svn-id: svn://10.0.0.236/trunk@37967 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 04:01:38 +00:00
alecf%netscape.com
16d56f8c29 forgot to export these files
git-svn-id: svn://10.0.0.236/trunk@37966 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 04:00:54 +00:00
sfraser%netscape.com
c474a7e978 Added transactions for applying and removing style sheets
git-svn-id: svn://10.0.0.236/trunk@37965 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:57:50 +00:00
sfraser%netscape.com
03896aed3b Add EditorStyles1.css to the build
git-svn-id: svn://10.0.0.236/trunk@37964 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:57:20 +00:00
sfraser%netscape.com
1faa402d05 Add stuff for applying style sheets.
git-svn-id: svn://10.0.0.236/trunk@37963 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:56:59 +00:00
sfraser%netscape.com
2bd49a3742 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@37962 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:56:25 +00:00
dp%netscape.com
de99da5303 Removing old RegisterComponent calls as these are inbuilt into XPCOM
git-svn-id: svn://10.0.0.236/trunk@37961 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:50:44 +00:00
waterson%netscape.com
37c7fa75bc Primitive implementation for Change() and Move() methods.
git-svn-id: svn://10.0.0.236/trunk@37960 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:40:32 +00:00
dp%netscape.com
d6f434b193 Calling PlatformPrePopulateRegistry()
git-svn-id: svn://10.0.0.236/trunk@37959 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:37:44 +00:00
mcafee%netscape.com
29c1baa59c librdf.so needs NS_NewUnicharStreamLoader from libneckoutil_s.a for NECKO=1 build.
git-svn-id: svn://10.0.0.236/trunk@37958 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:35:17 +00:00
dp%netscape.com
21c6f54372 PlatformPrePopulateRegistry()
git-svn-id: svn://10.0.0.236/trunk@37957 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:35:09 +00:00
tao%netscape.com
2a43926ce8 Fix bustage
git-svn-id: svn://10.0.0.236/trunk@37956 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:34:24 +00:00
dp%netscape.com
666974771c Caching of node names in nsIRegistryNode
Adding nsIRegistryNode::GetIID()
        - Thanks Dan Veditz


git-svn-id: svn://10.0.0.236/trunk@37955 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:34:08 +00:00
briano%netscape.com
47a94e12b5 Cleanup and fixes for OpenBSD.
git-svn-id: svn://10.0.0.236/trunk@37954 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:25:32 +00:00
briano%netscape.com
bab066c35e Evidently nsStubs.cpp is no longer needed.
git-svn-id: svn://10.0.0.236/trunk@37953 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:21:43 +00:00
tao%netscape.com
7f7de309bc Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@37952 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:20:48 +00:00
rhp%netscape.com
ad8748b928 Trying to get the editor to edit more often...
git-svn-id: svn://10.0.0.236/trunk@37945 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 03:07:37 +00:00
rhp%netscape.com
d0015a2822 Fixing this again...
git-svn-id: svn://10.0.0.236/trunk@37944 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:47:52 +00:00
jband%netscape.com
5a672d0530 spaced out format string for readability
git-svn-id: svn://10.0.0.236/trunk@37943 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:41:15 +00:00
tao%netscape.com
b0f5202f33 Hook up James Clark's external DTD support; protected by XML_DTD.
git-svn-id: svn://10.0.0.236/trunk@37942 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:35:28 +00:00
alecf%netscape.com
ea17cba094 add new IDL files to mac build
git-svn-id: svn://10.0.0.236/trunk@37941 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:35:11 +00:00
alecf%netscape.com
a2e6482e7a added files: mozilla/mailnews/base/search/public/nsIMsgFilter.idl, mozilla/mailnews/base/search/public/nsIMsgFilterHitNotify.idl, mozilla/mailnews/base/search/public/nsIMsgFilterList.idl, mozilla/mailnews/base/search/public/nsIMsgFilterService.idl, mozilla/mailnews/base/search/public/nsIMsgSearchAdapter.idl, mozilla/mailnews/base/search/public/nsIMsgSearchSession.idl, mozilla/mailnews/base/search/public/nsMsgFilterCore.idl, mozilla/mailnews/base/search/public/nsMsgSearchCore.idl
git-svn-id: svn://10.0.0.236/trunk@37940 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:34:19 +00:00
alecf%netscape.com
9530819997 XPIDLize the search backend so we can put a UI on top of it.
git-svn-id: svn://10.0.0.236/trunk@37939 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:33:39 +00:00
tao%netscape.com
fa7df41183 Merge James Clark's DTD patch. "ifdefed by XML_DTD".
git-svn-id: svn://10.0.0.236/trunk@37938 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:32:56 +00:00
rjc%netscape.com
544a1e8cc6 Don't lose CRs in bookmark descriptions.
git-svn-id: svn://10.0.0.236/trunk@37937 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:30:41 +00:00
alecf%netscape.com
3e21752205 check in next round of wizard changes - add some CSS to make the dialogs consistent, etc
git-svn-id: svn://10.0.0.236/trunk@37936 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:20:25 +00:00
jband%netscape.com
5c5d2478ba xpconnect now QIs the object to be wrapped before wrapping it 'just to be sure'
git-svn-id: svn://10.0.0.236/trunk@37935 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:17:37 +00:00
saari%netscape.com
6f9e4dc415 Access key support stubs on Mac and GTK
git-svn-id: svn://10.0.0.236/trunk@37934 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:11:30 +00:00
saari%netscape.com
96242f9b51 more access key support
git-svn-id: svn://10.0.0.236/trunk@37933 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:11:10 +00:00
saari%netscape.com
2d7ae6ab1a Adding in access key support. More checkins on the way
git-svn-id: svn://10.0.0.236/trunk@37932 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:10:44 +00:00
briano%netscape.com
117d94e100 Unix fixes, specifically for SunOS 4.
git-svn-id: svn://10.0.0.236/trunk@37931 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 02:05:41 +00:00
rjc%netscape.com
dccc57f016 Handle bookmark descriptions properly (including escaping text before writing out, and unescaping when reading back in.)
git-svn-id: svn://10.0.0.236/trunk@37930 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 01:35:49 +00:00
cyeh%netscape.com
49e22150fa i am an idiot. if the directory already exists, don't try and make it again.
git-svn-id: svn://10.0.0.236/trunk@37929 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 01:22:21 +00:00
cyeh%netscape.com
073b468139 sutpid fix for #7190. create default plugins directory in the executable directory causes the code that goes searching for 3.0 and 4.0 plugins to not be called. this will prevent java crashes and also speed up launch time.
git-svn-id: svn://10.0.0.236/trunk@37928 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 01:07:55 +00:00
matt%netscape.com
16428747b9 fixing bug 6646
git-svn-id: svn://10.0.0.236/trunk@37927 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 01:05:46 +00:00
matt%netscape.com
db2190f83a Adding 1.1 code to navigator.xul
git-svn-id: svn://10.0.0.236/trunk@37926 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 00:39:43 +00:00
sspitzer%netscape.com
7b4ee82ffa fix for solaris build. thanks to tor for the patch
git-svn-id: svn://10.0.0.236/trunk@37925 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 00:38:55 +00:00
mscott%netscape.com
c46bc91071 fix necko build brekage. NS_NewLoadGroup is declared to have 2 arguments so I have given it two arguments in its
implementation.


git-svn-id: svn://10.0.0.236/trunk@37924 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 00:11:30 +00:00
jefft%netscape.com
b18c9fe795 remove not needed ClearRequest() call in CopyFileMessage() which causes crash
git-svn-id: svn://10.0.0.236/trunk@37923 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 00:07:48 +00:00
slamm%netscape.com
a32c5538dd Fix case to match cvs. IEFavorite.gif --> iefavorite.gif.
git-svn-id: svn://10.0.0.236/trunk@37920 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:54:28 +00:00
slamm%netscape.com
658f77bfcf Add article.gif to files. It was missing.
git-svn-id: svn://10.0.0.236/trunk@37918 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:50:16 +00:00
matt%netscape.com
3ded103016 Adding fix for bug 8987
git-svn-id: svn://10.0.0.236/trunk@37916 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:46:38 +00:00
cmanske%netscape.com
f0eb9df737 Fixed editor UI to be inline with hyatt's XUL popup window fixes
git-svn-id: svn://10.0.0.236/trunk@37915 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:45:01 +00:00
matt%netscape.com
755b17b67e Taking navigator.gif out
git-svn-id: svn://10.0.0.236/trunk@37914 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:42:46 +00:00
sspitzer%netscape.com
a44aef2f2e whoops. fix this error: ./mozilla-apprunner.sh: [: too many arguments
git-svn-id: svn://10.0.0.236/trunk@37912 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:41:33 +00:00
akkana%netscape.com
ce6c1f2bdd Oops, I misunderstood tor's fix for the sunos bustage
git-svn-id: svn://10.0.0.236/trunk@37911 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:41:29 +00:00
cyeh%netscape.com
941f6709ac stupid fix for #7190. creating a plugins directory by default prevents
code that goes searching for old 3.0 and 4.0 plugins and loading
those. this should help with start-up times.


git-svn-id: svn://10.0.0.236/trunk@37910 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:32:54 +00:00
akkana%netscape.com
1ced106a53 Fix gcc 2.7.2.3 build -- thanks to tor@boojum.cs.brown.edu (Tim Rowley) for the fix
git-svn-id: svn://10.0.0.236/trunk@37909 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:31:03 +00:00
wtc%netscape.com
a3cdd51d02 Bugzilla bug #9155: use -library=iostream so that Sun Workshop
5.0 can work with old style iostreams.  Thanks to
Tim McNerney <mumbly@netcom.com> for suggesting this fix.


git-svn-id: svn://10.0.0.236/trunk@37908 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:19:52 +00:00
law%netscape.com
25c27303e4 Fix for bug #4930; calculate Win version properly
git-svn-id: svn://10.0.0.236/trunk@37907 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:09:17 +00:00
matt%netscape.com
65fc7ea6ea Adding file for chrome
git-svn-id: svn://10.0.0.236/trunk@37906 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:06:57 +00:00
matt%netscape.com
329652cc90 Adding resources directory
git-svn-id: svn://10.0.0.236/trunk@37905 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:02:59 +00:00
mscott%netscape.com
3b1a317404 Fix necko build brekage...onstart/stopbiding --> onStart/stop request.
git-svn-id: svn://10.0.0.236/trunk@37904 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:01:32 +00:00
matt%netscape.com
952cec4faa Adding resources directory for build
git-svn-id: svn://10.0.0.236/trunk@37903 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 23:01:19 +00:00
matt%netscape.com
ac7cdfc906 Adding errorl.gif
git-svn-id: svn://10.0.0.236/trunk@37902 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:59:17 +00:00
matt%netscape.com
367cbf5625 Add skins for chrome in naviagator
git-svn-id: svn://10.0.0.236/trunk@37901 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:58:32 +00:00
matt%netscape.com
2769bdcc9f Adding content for chrome directory
git-svn-id: svn://10.0.0.236/trunk@37899 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:56:04 +00:00
matt%netscape.com
920dea6a0f Adding makefiles for content and skin for navigator
git-svn-id: svn://10.0.0.236/trunk@37898 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:52:05 +00:00
matt%netscape.com
998b4ac00c Adding resources directory
git-svn-id: svn://10.0.0.236/trunk@37897 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:47:35 +00:00
rpotts%netscape.com
b4516b6093 Fixed more build bustage...
git-svn-id: svn://10.0.0.236/trunk@37896 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:38:18 +00:00
putterman%netscape.com
d28fa84f4f Don't AddRef is *aResult is nsnull.
git-svn-id: svn://10.0.0.236/trunk@37895 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:33:48 +00:00
gagan%netscape.com
97e493ce3f NECKO only. Including neckoutil_s
git-svn-id: svn://10.0.0.236/trunk@37894 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:31:43 +00:00
rods%netscape.com
3312d37d00 Fixed a couple of more small compile time issues
git-svn-id: svn://10.0.0.236/trunk@37893 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:27:43 +00:00
rods%netscape.com
bc24e26490 Added a newline at the end of file
git-svn-id: svn://10.0.0.236/trunk@37892 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:25:54 +00:00
rods%netscape.com
85d3b7dc58 changed the hard-coded twips value of 15 to a calculated value.
git-svn-id: svn://10.0.0.236/trunk@37891 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:24:57 +00:00
putterman%netscape.com
d5bf33481a Reload the thread pane when we set the character set.
git-svn-id: svn://10.0.0.236/trunk@37890 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:21:28 +00:00
rods%netscape.com
7dec28fe33 changes nscoord.h to nsCoord.h
git-svn-id: svn://10.0.0.236/trunk@37889 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:19:16 +00:00
dp%netscape.com
e564eb594c Adding nsProxiedService.h to export.
git-svn-id: svn://10.0.0.236/trunk@37888 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:14:15 +00:00
putterman%netscape.com
9dc4da4a3e Protect again null ptrs.
git-svn-id: svn://10.0.0.236/trunk@37887 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:13:13 +00:00
rpotts%netscape.com
2ae55e5761 Fixed bustage due to the change in arguments to CreatePopup(...)
git-svn-id: svn://10.0.0.236/trunk@37886 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 22:03:29 +00:00
ducarroz%netscape.com
880e9ed48f Look for the default value when a pref doesn't exist. Fix problem with actual code, we passed the wrong name to GetDefaultName.
git-svn-id: svn://10.0.0.236/trunk@37885 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:56:54 +00:00
putterman%netscape.com
bfa459e8d2 Pass in correct folder for Copying messages.
git-svn-id: svn://10.0.0.236/trunk@37884 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:55:45 +00:00
gagan%netscape.com
19e16daaf1 Reordered Netlib libs. NECKO only.
git-svn-id: svn://10.0.0.236/trunk@37883 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:54:11 +00:00
ducarroz%netscape.com
88aa181804 Add default value for compose_html
git-svn-id: svn://10.0.0.236/trunk@37882 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:52:26 +00:00
warren%netscape.com
be69b669fb Added necko util glue.
git-svn-id: svn://10.0.0.236/trunk@37881 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:49:24 +00:00
warren%netscape.com
32f5401615 Fixed NewURL for necko.
git-svn-id: svn://10.0.0.236/trunk@37880 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:48:46 +00:00
gagan%netscape.com
e17e43a953 Reordered Netlib libs. NECKO only.
git-svn-id: svn://10.0.0.236/trunk@37879 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:46:05 +00:00
leaf%mozilla.org
1eba64788c adding talkback glue script, adding generated files to .cvsignore
git-svn-id: svn://10.0.0.236/trunk@37878 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:41:03 +00:00
vidur%netscape.com
64e256950f Style elements now have a text child for their contents.
git-svn-id: svn://10.0.0.236/trunk@37877 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:39:14 +00:00
leaf%mozilla.org
03bd81f647 build system hooks for talkback builds
git-svn-id: svn://10.0.0.236/trunk@37875 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:36:59 +00:00
gagan%netscape.com
ebe1cda245 Reordered netlib libs to link correctly. NECKO only.
git-svn-id: svn://10.0.0.236/trunk@37872 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:29:08 +00:00
rods%netscape.com
e0eaf48451 Added D&D to toolbars and toolboxes
git-svn-id: svn://10.0.0.236/trunk@37871 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:12:43 +00:00
rods%netscape.com
57fdc5649d added nsToolbarItem to constructing code
git-svn-id: svn://10.0.0.236/trunk@37870 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:11:38 +00:00
duncan%be.com
ff4b7810b3 Minor tweak to BeOS specific rule to get Mozilla to build under BeOS.
git-svn-id: svn://10.0.0.236/trunk@37869 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:04:07 +00:00
jefft%netscape.com
9131e10776 implemented CopyFileMessage()
git-svn-id: svn://10.0.0.236/trunk@37868 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:03:00 +00:00
valeski%netscape.com
e08d124ef8 necko bustage
git-svn-id: svn://10.0.0.236/trunk@37867 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:02:53 +00:00
valeski%netscape.com
9de5d18391 necko build bustage.
git-svn-id: svn://10.0.0.236/trunk@37866 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 21:02:06 +00:00
saari%netscape.com
3fdf25f7aa Error checking on QI call prevents crash with multiple DOM nodes of the same ID
git-svn-id: svn://10.0.0.236/trunk@37865 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:57:28 +00:00
buster%netscape.com
210b24c193 minor bug fixes
git-svn-id: svn://10.0.0.236/trunk@37864 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:46:59 +00:00
rods%netscape.com
360e823201 Removed drawing optimization because it causes flicker.
git-svn-id: svn://10.0.0.236/trunk@37863 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:44:05 +00:00
rhp%netscape.com
bca3a2f65b Fix build problem on linux
git-svn-id: svn://10.0.0.236/trunk@37861 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:34:34 +00:00
mcafee%netscape.com
ef99640e6a Adding htmlrobot for NECKO case
git-svn-id: svn://10.0.0.236/trunk@37860 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:30:00 +00:00
rhp%netscape.com
24a97be697 Changes to run on linux
git-svn-id: svn://10.0.0.236/trunk@37859 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:26:54 +00:00
mcafee%netscape.com
3a1cf02c01 Cut & paste error on last checkin
git-svn-id: svn://10.0.0.236/trunk@37858 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:26:11 +00:00
hangas%netscape.com
eb2c886395 Glued in all the fields for a new edit card. Each field will now be passed down to the address book.
git-svn-id: svn://10.0.0.236/trunk@37857 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:10:29 +00:00
hangas%netscape.com
80a3fb3ea9 Added new files to project for Candice
git-svn-id: svn://10.0.0.236/trunk@37856 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:07:07 +00:00
chuang%netscape.com
6110c55ac5 Add New Card function and remove hardcoded datd from address book
git-svn-id: svn://10.0.0.236/trunk@37855 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 20:04:04 +00:00
putterman%netscape.com
3618fda5f3 Get rid of nsCOMPtr assertions related to deleting a message.
git-svn-id: svn://10.0.0.236/trunk@37853 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:59:08 +00:00
slamm%netscape.com
a157d6f90a Use window onload handler. Parameterize the sidebar init. Remove some dead wood.
git-svn-id: svn://10.0.0.236/trunk@37851 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:53:22 +00:00
slamm%netscape.com
dc4b78b5b1 Parameterize sidebar.
git-svn-id: svn://10.0.0.236/trunk@37850 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:51:13 +00:00
slamm%netscape.com
8ad2780d32 Use new grippy images added by evaughan.
git-svn-id: svn://10.0.0.236/trunk@37849 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:50:34 +00:00
gordon%netscape.com
e1ae868b8f First Checked In.
git-svn-id: svn://10.0.0.236/trunk@37848 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:50:15 +00:00
pinkerton%netscape.com
e278017bcd ok, now that mozilla/lib/mac/InterfaceLib is in the module, let's use it. Take two.
git-svn-id: svn://10.0.0.236/trunk@37847 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:49:35 +00:00
warren%netscape.com
934f30a05c necko changes
git-svn-id: svn://10.0.0.236/trunk@37846 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:38:49 +00:00
kin%netscape.com
0d49f312e2 Added ApplyStyleSheet() method to the various editor interfaces.
git-svn-id: svn://10.0.0.236/trunk@37845 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:32:35 +00:00
warren%netscape.com
8b1231e0ae Renamed OnStartBinding/OnStopBinding to OnStartRequest/OnStopRequest (removing the redundant ones from necko). Numerous necko fixes. Necko now using nsIPrompt interface instead of nsINetSupport.
git-svn-id: svn://10.0.0.236/trunk@37754 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:30:20 +00:00
gordon%netscape.com
58d631e1da First Checked In.
git-svn-id: svn://10.0.0.236/trunk@37753 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:29:45 +00:00
Dale.Stansberry%Nexwarecorp.com
c2ebd2ac36 - Optimized scrolling
- Really fixed invalidate widget this time...


git-svn-id: svn://10.0.0.236/trunk@37752 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:12:32 +00:00
gordon%netscape.com
d0667245d7 Added nsIHeader.h, nsIProxy.h, nsISocketTransportService.h to list of headers to export.
git-svn-id: svn://10.0.0.236/trunk@37751 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:12:07 +00:00
gordon%netscape.com
0ca0501d10 Updated to match changes to Windows/Unix makefiles.
git-svn-id: svn://10.0.0.236/trunk@37750 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:11:17 +00:00
gordon%netscape.com
bce585f406 Updated list of IDL files.
git-svn-id: svn://10.0.0.236/trunk@37749 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:10:31 +00:00
gordon%netscape.com
b9ad7e0ec0 Changed access paths.
git-svn-id: svn://10.0.0.236/trunk@37748 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:09:51 +00:00
gordon%netscape.com
3ce10bd48a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@37747 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:07:32 +00:00
akkana%netscape.com
49826cb224 Oops, making wrapcolumn unsigned was a mistake. (Thanks to slamm's
warnings page for showing me that!)  Change it back to signed.


git-svn-id: svn://10.0.0.236/trunk@37746 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 19:01:04 +00:00
sspitzer%netscape.com
37683fb4e8 fix build bustage. thanks to pinkerton for the help
git-svn-id: svn://10.0.0.236/trunk@37745 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:59:05 +00:00
kin%netscape.com
ebb4924d31 Added GetIID() method.
git-svn-id: svn://10.0.0.236/trunk@37744 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:57:36 +00:00
chuang%netscape.com
8f6b3c10ad new files, not in build
git-svn-id: svn://10.0.0.236/trunk@37743 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:52:04 +00:00
briano%netscape.com
b9614987b1 Cleanup and fix for OpenBSD.
git-svn-id: svn://10.0.0.236/trunk@37742 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:51:49 +00:00
buster%netscape.com
0513dccdf4 0. possible fix for Sun build bustage.
1. IsEditable is much less hacky.  It basically says:
  1. if the node is a special bogus text node, it's not editable
  2. if the node is a text node with only newlines, then it's not editable
  3. if the node has no frame associated with it, then it is not editable
  4. otherwise, it is editable.
As part of this, I had to make IsEditable non-static.  This had some cascading effects on static methods that called
IsEditable, which likewise had to be made non-static.

2. SetTextProperties now works when the endpoints are leaf nodes (like images), not just text.  Charlie, you should
put this through some stress cases.


git-svn-id: svn://10.0.0.236/trunk@37741 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:42:28 +00:00
sgehani%netscape.com
72023cf976 Guarding against memory allocation error and a resulting null pointer.
Also, now AddRef'ing XPCOM nsPropertyElements when created.


git-svn-id: svn://10.0.0.236/trunk@37740 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:39:46 +00:00
leaf%mozilla.org
af99988415 adding mozilla/lib/mac/InterfaceLib to SeaMonkeyCore
git-svn-id: svn://10.0.0.236/trunk@37737 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:34:09 +00:00
jefft%netscape.com
090f723a2e fixed memory leak using nsISupportsArray
git-svn-id: svn://10.0.0.236/trunk@37733 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:30:52 +00:00
nhotta%netscape.com
fab79c8cb9 Bug fix 8899, changed to use nsIStringCharsetDetector.
git-svn-id: svn://10.0.0.236/trunk@37732 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:29:35 +00:00
jefft%netscape.com
53b3727a48 back out checking for pMsgDBHdr
git-svn-id: svn://10.0.0.236/trunk@37730 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:27:10 +00:00
buster%netscape.com
4a772c42c0 fixed unit test to handle new default doc
git-svn-id: svn://10.0.0.236/trunk@37729 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:24:07 +00:00
jband%netscape.com
08a9e2e637 change some instances of 'const char* foo' to 'const char foo[]'
git-svn-id: svn://10.0.0.236/trunk@37728 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:21:01 +00:00
jdunn%netscape.com
0d91adab31 partical fix for the stubs call on AIX
git-svn-id: svn://10.0.0.236/trunk@37727 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:16:34 +00:00
jdunn%netscape.com
d787d07fca re-checking in the fix for HP...
git-svn-id: svn://10.0.0.236/trunk@37726 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:15:41 +00:00
rhp%netscape.com
72a04e5b82 Changes for pretty output
git-svn-id: svn://10.0.0.236/trunk@37725 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:15:17 +00:00
jefft%netscape.com
6a85e54025 added helper InitCopyState()
git-svn-id: svn://10.0.0.236/trunk@37724 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:13:56 +00:00
jefft%netscape.com
a001d622eb check pMsgDBHdr to prevent crash
git-svn-id: svn://10.0.0.236/trunk@37723 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:12:29 +00:00
jefft%netscape.com
96df8c1b9e use nsISupportsArray instead of nsVoidArray
git-svn-id: svn://10.0.0.236/trunk@37722 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:11:41 +00:00
slamm%netscape.com
295e5113d6 Use '_content' target for sidebar panel link.
git-svn-id: svn://10.0.0.236/trunk@37721 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:08:20 +00:00
rhp%netscape.com
f85a03ebe7 Changes for plain text quoting
git-svn-id: svn://10.0.0.236/trunk@37706 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 18:08:05 +00:00
sspitzer%netscape.com
87a9d8b629 fix SunOS bustage. r=tor, a=leaf
git-svn-id: svn://10.0.0.236/trunk@37705 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 16:36:37 +00:00
duncan%be.com
c9ddd97aec Get gfx to build under BeOS (BeOS specific changes)
git-svn-id: svn://10.0.0.236/trunk@37704 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 16:26:43 +00:00
jefft%netscape.com
3b30bf0056 use copy service for move/copy/delete message; enable local undo
git-svn-id: svn://10.0.0.236/trunk@37703 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 14:49:49 +00:00
jefft%netscape.com
24b1b5476f implement UndoDelete() method
git-svn-id: svn://10.0.0.236/trunk@37702 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 14:48:38 +00:00
jefft%netscape.com
243d006cae turn on copy service for pop3
git-svn-id: svn://10.0.0.236/trunk@37701 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 14:46:42 +00:00
jefft%netscape.com
3ed64a5078 enable Undo/Redo
git-svn-id: svn://10.0.0.236/trunk@37700 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 14:45:31 +00:00
troy%netscape.com
4c569ae681 Work-in-progress for hash table that maps from content->frame
git-svn-id: svn://10.0.0.236/trunk@37699 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 14:34:35 +00:00
jfrancis%netscape.com
aaaa87a18c some cleanup and also selection enforcement for plaintext documents: selection is pinned to within the PRE tag on any edit action
git-svn-id: svn://10.0.0.236/trunk@37698 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 13:42:03 +00:00
jfrancis%netscape.com
88a21299f0 fixed bug in CompareEndPoints()
git-svn-id: svn://10.0.0.236/trunk@37697 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 13:40:09 +00:00
joki%netscape.com
2bf72dbb03 Backing out js security changes.
git-svn-id: svn://10.0.0.236/trunk@37696 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 13:03:35 +00:00
joki%netscape.com
1e5c752f72 chaning module name again.
git-svn-id: svn://10.0.0.236/trunk@37695 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 12:37:43 +00:00
joki%netscape.com
8d7287d3e4 hacking in temp fix for mac build.
git-svn-id: svn://10.0.0.236/trunk@37694 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 12:31:59 +00:00
joki%netscape.com
831126af0d Fixing module name.
git-svn-id: svn://10.0.0.236/trunk@37693 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 11:46:08 +00:00
mcafee%netscape.com
40b549cf66 Switching to test for NECKO instead of -d netwerk, which everyone has now. Added cookies Makefiles for necko case.
git-svn-id: svn://10.0.0.236/trunk@37692 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 11:40:23 +00:00
joki%netscape.com
39996cd3b8 Typo in makefile.
git-svn-id: svn://10.0.0.236/trunk@37691 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 10:57:48 +00:00
mcafee%netscape.com
44d8b6ef0b Putting EHOSTDOWN inside an ifdef to fix BeOS breakage.
git-svn-id: svn://10.0.0.236/trunk@37690 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 10:56:48 +00:00
mcafee%netscape.com
37279af5d3 Moving test directory inside ifdef ENABLE_TESTS. Thanks to patch from Jim Nance.
git-svn-id: svn://10.0.0.236/trunk@37689 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 10:52:22 +00:00
joki%netscape.com
c327ee36e4 New JavaScript/DOM security stuff.
git-svn-id: svn://10.0.0.236/trunk@37688 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 10:38:26 +00:00
sspitzer%netscape.com
4d535474a8 fix solaris build bustage, I hope
git-svn-id: svn://10.0.0.236/trunk@37687 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:48:25 +00:00
sspitzer%netscape.com
b176b22c4f fix warning
git-svn-id: svn://10.0.0.236/trunk@37686 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:48:06 +00:00
sspitzer%netscape.com
dcf8ff59fb fix warning
git-svn-id: svn://10.0.0.236/trunk@37685 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:40:21 +00:00
jfrancis%netscape.com
bfd9b82db2 a little neatening
git-svn-id: svn://10.0.0.236/trunk@37684 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:39:24 +00:00
pinkerton%netscape.com
6a6d59ff68 backing my change out. it appears the dir i need isn't in the module, and changing the pull rules here has no effect.
git-svn-id: svn://10.0.0.236/trunk@37683 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:37:26 +00:00
sspitzer%netscape.com
9716fdac2a fix warnings for sudu.
git-svn-id: svn://10.0.0.236/trunk@37682 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:30:51 +00:00
pinkerton%netscape.com
d83c833313 got the cvs checkout path wrong for interfaceLib.
git-svn-id: svn://10.0.0.236/trunk@37681 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:29:49 +00:00
jfrancis%netscape.com
e29b5f2101 making nsRangeList be more like a model nsCOMPtr citizen...
git-svn-id: svn://10.0.0.236/trunk@37680 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:19:44 +00:00
pinkerton%netscape.com
f473717e63 got the cvs checkout path wrong for interfaceLib.
git-svn-id: svn://10.0.0.236/trunk@37679 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:13:40 +00:00
despotdaemon%netscape.com
bd45ebcd60 Pseudo-automatic update of changes made by duncan@be.com.
git-svn-id: svn://10.0.0.236/trunk@37678 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:13:21 +00:00
sspitzer%netscape.com
02fa3bd6bd fix warnings
git-svn-id: svn://10.0.0.236/trunk@37677 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:07:54 +00:00
sspitzer%netscape.com
3d4646654f fix warnings
git-svn-id: svn://10.0.0.236/trunk@37676 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 08:01:48 +00:00
sspitzer%netscape.com
12dab899e4 fix warnings.
git-svn-id: svn://10.0.0.236/trunk@37675 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:53:37 +00:00
warren%netscape.com
fbed121956 Added simple URI to parse about:foo, javascript:bar, etc.
git-svn-id: svn://10.0.0.236/trunk@37674 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:52:52 +00:00
warren%netscape.com
a08e39024d Started about: protocol.
git-svn-id: svn://10.0.0.236/trunk@37673 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:52:08 +00:00
sspitzer%netscape.com
167f325647 fix warnings. make these destructors virtual, as they should be.
git-svn-id: svn://10.0.0.236/trunk@37672 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:51:02 +00:00
sspitzer%netscape.com
66f425712a fix warning. remove unused variable
git-svn-id: svn://10.0.0.236/trunk@37671 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:49:09 +00:00
pinkerton%netscape.com
1361b1bb20 move InterfaceLib.mcp from cmd/macfe/projects to lib/mac
git-svn-id: svn://10.0.0.236/trunk@37670 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:41:56 +00:00
hyatt%netscape.com
fa77cc2277 Fixing StartLayout so that it asserts and leaves the function if no root
content is available.


git-svn-id: svn://10.0.0.236/trunk@37669 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:34:19 +00:00
sspitzer%netscape.com
c35619cc53 fix crash. when I launch apprunner -pref, I hit the assertion.
then I crash because I dereference null.


git-svn-id: svn://10.0.0.236/trunk@37668 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:28:47 +00:00
hyatt%netscape.com
f04cb93173 Suppressing Win98 animation for popup menus.
git-svn-id: svn://10.0.0.236/trunk@37667 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:24:01 +00:00
pinkerton%netscape.com
9596f286ef First Checked In.
git-svn-id: svn://10.0.0.236/trunk@37666 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:21:55 +00:00
sspitzer%netscape.com
c1303b8b21 set deleted pointers to nsnull. just to be safe. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@37665 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:12:46 +00:00
sspitzer%netscape.com
3b033a31cd prevent -edit and -mail at the same time. prevent -g and -mail at the same time
git-svn-id: svn://10.0.0.236/trunk@37664 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:09:52 +00:00
hyatt%netscape.com
4c53d61c58 Giving the tooltip a border.
git-svn-id: svn://10.0.0.236/trunk@37663 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 07:05:16 +00:00
sspitzer%netscape.com
ae0ddf1d91 changes to support -mail, -pref, etc when using this script
git-svn-id: svn://10.0.0.236/trunk@37662 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:53:44 +00:00
pinkerton%netscape.com
8f97f994e0 don't include nsHTMLAtoms.h since it's bad, and not needed anyway.
git-svn-id: svn://10.0.0.236/trunk@37661 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:47:31 +00:00
pinkerton%netscape.com
03e9ccf38c add some preliminary tooltip stuff for testing.
git-svn-id: svn://10.0.0.236/trunk@37660 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:39:17 +00:00
pinkerton%netscape.com
8eb3c480bb don't show tooltip when node is disabled, use both the global and local coordinates when showing a tooltip so alignment will work. added some debug stuff to track down why mac isn't doing screen coords correctly.
git-svn-id: svn://10.0.0.236/trunk@37659 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:27:42 +00:00
alecf%netscape.com
76f6398b20 add useful function and do a try/catch in case there is an erorr
git-svn-id: svn://10.0.0.236/trunk@37658 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:17:32 +00:00
alecf%netscape.com
446d2af4fb explain what these nsISupportsArrays have in them
git-svn-id: svn://10.0.0.236/trunk@37657 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:15:06 +00:00
sspitzer%netscape.com
d5abf28edc add support for unread set. still working on this.
git-svn-id: svn://10.0.0.236/trunk@37656 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:13:06 +00:00
sspitzer%netscape.com
2d7a698cda add new line to end of file
git-svn-id: svn://10.0.0.236/trunk@37655 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:11:16 +00:00
alecf%netscape.com
36de102206 move hardcoded progid strings into a seperate header file
git-svn-id: svn://10.0.0.236/trunk@37654 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:01:39 +00:00
hyatt%netscape.com
aeeb0cb3d1 You can specify the size of the popup.
git-svn-id: svn://10.0.0.236/trunk@37653 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:01:03 +00:00
alecf%netscape.com
4ab75873d4 document, document, document these interfaces, just a bit
git-svn-id: svn://10.0.0.236/trunk@37652 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 06:00:55 +00:00
dveditz%netscape.com
d027b8dc05 Previous fix thanks to jdunn@netscape.com (AIX) and tor@cs.brown.edu (HP-UX)
git-svn-id: svn://10.0.0.236/trunk@37651 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 05:57:00 +00:00
dveditz%netscape.com
928e532d0e build fix for AIX and HP
git-svn-id: svn://10.0.0.236/trunk@37650 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 05:51:24 +00:00
alecf%netscape.com
853a05705a initialize these variables to null!
git-svn-id: svn://10.0.0.236/trunk@37649 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 05:47:56 +00:00
sspitzer%netscape.com
60ced1e02f fix build bustage on Solaris.
git-svn-id: svn://10.0.0.236/trunk@37648 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 05:38:03 +00:00
sspitzer%netscape.com
8f270c71ad ignore the generated Makefile
git-svn-id: svn://10.0.0.236/trunk@37647 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 05:22:27 +00:00
hyatt%netscape.com
18be5e494e Fix for the crash on startup.
git-svn-id: svn://10.0.0.236/trunk@37646 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 05:16:56 +00:00
hyatt%netscape.com
6e134a79ae Adding some atoms.
git-svn-id: svn://10.0.0.236/trunk@37645 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 05:06:11 +00:00
pinkerton%netscape.com
859c3542ef early support for eBorderStyle_BorderlessTopLevel.
git-svn-id: svn://10.0.0.236/trunk@37644 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 04:54:29 +00:00
troy%netscape.com
31d4d3bf26 Minor cleanup
git-svn-id: svn://10.0.0.236/trunk@37643 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 04:37:07 +00:00
pinkerton%netscape.com
ae5660d9b2 filled in widget, clickCount, and mouse location for mouse enter/exit/over and drag enter/exit/over events. This info was just not getting set as it was for mouse clicks.
git-svn-id: svn://10.0.0.236/trunk@37642 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 04:12:42 +00:00
sspitzer%netscape.com
50681113ae rename variable to avoid warnings on linux.
time is globally defined.


git-svn-id: svn://10.0.0.236/trunk@37641 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 03:59:55 +00:00
briano%netscape.com
2bfe67cabf Automated update
git-svn-id: svn://10.0.0.236/trunk@37640 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 03:46:58 +00:00
briano%netscape.com
a087bc1796 Forgot the 'then'... Duh.
git-svn-id: svn://10.0.0.236/trunk@37639 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 03:46:36 +00:00
bryce-mozilla%nextbus.com
7c00f26d90 The next logical extension of the fixes for non-Netscape browsers
from the last checkin.  Non-serverpush browsers have always been sent
incorrect HTML headers, causing assorted problems (see Bug #8069 affecting
MSIE).  The code paths are very convoluted, but I think I have now
straightened them out.


git-svn-id: svn://10.0.0.236/trunk@37638 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 03:45:43 +00:00
pinkerton%netscape.com
fed08cf519 don't crash if parent is null when asking for mouse coordinates.
git-svn-id: svn://10.0.0.236/trunk@37637 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 03:26:43 +00:00
briano%netscape.com
e0de8e6170 Automated update
git-svn-id: svn://10.0.0.236/trunk@37636 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 03:02:15 +00:00
gagan%netscape.com
87d5829509 NECKO cleanup.
git-svn-id: svn://10.0.0.236/trunk@37635 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 03:00:06 +00:00
briano%netscape.com
11f9f030ed Fix for bug 9110. Sun's Workshop 4.2 compiler can't handle template specialization even though it claims it can.
git-svn-id: svn://10.0.0.236/trunk@37634 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:59:46 +00:00
gagan%netscape.com
1742acc59c Added extension/cookie for building Necko tests. Only for NECKO.
git-svn-id: svn://10.0.0.236/trunk@37632 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:57:10 +00:00
hyatt%netscape.com
27fb3a05cf Implementing borderless top level windows.
git-svn-id: svn://10.0.0.236/trunk@37630 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:50:53 +00:00
sspitzer%netscape.com
5f9d4c0b44 no need to link nsStubs.o in anymore. removing this line.
git-svn-id: svn://10.0.0.236/trunk@37629 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:30:43 +00:00
jdunn%netscape.com
9927e05f37 backing out my change
git-svn-id: svn://10.0.0.236/trunk@37628 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:27:16 +00:00
brendan%mozilla.org
691b3263fd Rip out assign hack, simplify boolean value synthesis, minor cleanups.
git-svn-id: svn://10.0.0.236/trunk@37627 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:25:47 +00:00
briano%netscape.com
96d0d118d3 Automated update
git-svn-id: svn://10.0.0.236/trunk@37626 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:22:01 +00:00
briano%netscape.com
e71fc28d03 Workaround for the shortcomings of the SunOS 4.x loader.
git-svn-id: svn://10.0.0.236/trunk@37625 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 02:15:13 +00:00
briano%netscape.com
55a7251df6 SunOS4 also adds __.SYMDEF to .a files.
git-svn-id: svn://10.0.0.236/trunk@37624 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 01:59:09 +00:00
rjc%netscape.com
407dc82818 Use a binary insertion sort. (Note: there is a conditional near the top of the file that can turn off the binary insertion sort and revert back to the older, slower code, in case of any weird bugs I haven't caught.) For the moment, its turned ON as I haven't seen any problems with it.
git-svn-id: svn://10.0.0.236/trunk@37623 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 01:55:09 +00:00
leaf%mozilla.org
8e58adc2c2 Preparing for distribution of fullsoft headers, dlls, and exes
git-svn-id: svn://10.0.0.236/trunk@37622 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 01:48:08 +00:00
briano%netscape.com
513825d5d1 Oops, forgot to nuke one of the old LD_LIBRARY_PATH settings.
git-svn-id: svn://10.0.0.236/trunk@37621 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 01:31:11 +00:00
waterson%netscape.com
e2c76feee9 Bug 9098. Remove NS_PRECONDITION, as this can happen normally as part of teardown.
git-svn-id: svn://10.0.0.236/trunk@37620 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 01:21:14 +00:00
pierre%netscape.com
d9089e62e2 added nsIAppShellService.idl to fix build breakage
git-svn-id: svn://10.0.0.236/trunk@37619 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 01:14:34 +00:00
law%netscape.com
84c9383e12 Fix for loading window with explicit url (in certain timing scenarios)
git-svn-id: svn://10.0.0.236/trunk@37618 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 01:03:08 +00:00
pinkerton%netscape.com
150e4b8e65 go back to using static define instead of GetIID for one part of QI because of win32 compiler. i hate it, but until i can talk to scc....
git-svn-id: svn://10.0.0.236/trunk@37617 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:54:46 +00:00
tague%netscape.com
9c4625fa70 Fix UNIX build warnings
git-svn-id: svn://10.0.0.236/trunk@37616 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:44:05 +00:00
jdunn%netscape.com
1cef7222c8 remove ##, since they are not needed. (since they break HP)
git-svn-id: svn://10.0.0.236/trunk@37615 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:34:24 +00:00
briano%netscape.com
eb0d247365 Handle a few new platforms, and now uses config.guess to get the objdir name (if any).
git-svn-id: svn://10.0.0.236/trunk@37614 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:27:12 +00:00
erik%netscape.com
e55b5c7168 Make this code a bit more bullet-proof. If the property file is missing,
netlib still returns NS_OK, so this code continues happily. Now it's
checking the pointer for NULL as well, so it's fixed.


git-svn-id: svn://10.0.0.236/trunk@37613 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:24:45 +00:00
pinkerton%netscape.com
8b155d3ee2 fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@37612 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:20:45 +00:00
putterman%netscape.com
2c5afbbd59 Use nsCOMTypeInfo
git-svn-id: svn://10.0.0.236/trunk@37592 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:16:39 +00:00
putterman%netscape.com
ee9448227f use nsCOMTypeInfo
git-svn-id: svn://10.0.0.236/trunk@37591 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:15:20 +00:00
akkana%netscape.com
e585dea4af Change (commented out) textarea line to be 6 rows long
git-svn-id: svn://10.0.0.236/trunk@37590 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:13:26 +00:00
pinkerton%netscape.com
5bd2ed2750 add include for linux to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@37589 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:12:54 +00:00
putterman%netscape.com
f7d74c9b83 Use nsCOMTypeInfo
git-svn-id: svn://10.0.0.236/trunk@37588 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:07:42 +00:00
pinkerton%netscape.com
19f8e2d3b8 Changing CreatePopup to return the popup. Adding a bunch of stuff for tooltips to the popup code. Fixing some bugs in webshell with loading malformed popups. Renamed "popup" to "popupElement" in the document and added "tooltipElement" as well.
git-svn-id: svn://10.0.0.236/trunk@37587 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-01 00:07:41 +00:00
nisheeth%netscape.com
a1c8d93494 Enabling IDL'ized nsIAppShellService on the Mac.
git-svn-id: svn://10.0.0.236/trunk@37585 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 23:55:10 +00:00
despotdaemon%netscape.com
d72e48ffbc Pseudo-automatic update of changes made by arielb@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@37583 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 23:32:54 +00:00
bienvenu%netscape.com
cf965cd3d6 back out nsCOMPtr leaks
git-svn-id: svn://10.0.0.236/trunk@37582 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 23:29:06 +00:00
bienvenu%netscape.com
cc5c62232a check for ISupports in QI
git-svn-id: svn://10.0.0.236/trunk@37581 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 23:20:34 +00:00
bienvenu%netscape.com
ffbf97429b fix nsCOMPtr leak
git-svn-id: svn://10.0.0.236/trunk@37580 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 23:19:26 +00:00
bienvenu%netscape.com
1430c6074a add subject to thread, fix nsCOMPtr stuff, some warnings
git-svn-id: svn://10.0.0.236/trunk@37579 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 23:18:43 +00:00
slamm%netscape.com
5ba66187f3 Have sidebar start closed by default. Do not remove the sidebar iframe from the tree. That caused problems (bug 8964, 8634).
git-svn-id: svn://10.0.0.236/trunk@37578 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 23:12:00 +00:00
jj%netscape.com
77b16aae45 #9087: fixed Finder's get info string to "m8 Gecko"
git-svn-id: svn://10.0.0.236/trunk@37577 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:46:20 +00:00
locka%iol.ie
c7f897590b Enables control's drop target support
git-svn-id: svn://10.0.0.236/trunk@37576 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:42:57 +00:00
locka%iol.ie
3e34b745d7 Added some comments
git-svn-id: svn://10.0.0.236/trunk@37575 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:41:39 +00:00
locka%iol.ie
d64f05c597 Added initial drop target implementation
Browser now acquires it's pref object from the available services


git-svn-id: svn://10.0.0.236/trunk@37574 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:40:34 +00:00
locka%iol.ie
a5b72478b3 Renamed structure
git-svn-id: svn://10.0.0.236/trunk@37573 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:38:23 +00:00
locka%iol.ie
4f148753e7 Added DropTarget.cpp/h
git-svn-id: svn://10.0.0.236/trunk@37572 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:37:31 +00:00
locka%iol.ie
11167ab4c7 Added nsIBrowserWindow IID
git-svn-id: svn://10.0.0.236/trunk@37571 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:36:54 +00:00
locka%iol.ie
3f7c6a17f8 Now use xpfe's nsSetupRegistry.cpp
git-svn-id: svn://10.0.0.236/trunk@37570 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:36:16 +00:00
zuperdee%penguinpowered.com
8800fbd073 Fixed some compiler warnings (mostly virtual functions w/ non-virtual destructors).
git-svn-id: svn://10.0.0.236/trunk@37569 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:36:04 +00:00
locka%iol.ie
67b768d820 Added nsIBrowserWindow interface
git-svn-id: svn://10.0.0.236/trunk@37568 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:35:50 +00:00
locka%iol.ie
acc2016c78 Fixed problem with mkctldef.bat when being built from Win98
git-svn-id: svn://10.0.0.236/trunk@37567 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:35:24 +00:00
locka%iol.ie
a6c216e391 Added DropTarget files
git-svn-id: svn://10.0.0.236/trunk@37566 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:29:46 +00:00
locka%iol.ie
a36b31af6f Put sensible values for ambient back and fore colours
git-svn-id: svn://10.0.0.236/trunk@37565 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:27:11 +00:00
locka%iol.ie
a509f67439 Fixed comment
git-svn-id: svn://10.0.0.236/trunk@37564 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:26:20 +00:00
locka%iol.ie
ffcec8a4cf Basic impl of IDropTarget
git-svn-id: svn://10.0.0.236/trunk@37563 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:25:49 +00:00
evaughan%netscape.com
8d48f48a91 added files: mozilla/layout/xul/base/src/nsSplitterFrame.cpp, mozilla/layout/xul/base/src/nsGrippyFrame.cpp
git-svn-id: svn://10.0.0.236/trunk@37562 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:18:11 +00:00
evaughan%netscape.com
09d003848a Added anonymous node support.
Added splitters
Added Grippies.


git-svn-id: svn://10.0.0.236/trunk@37561 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:17:43 +00:00
erik%netscape.com
826f677168 Need to check all of the XLFD scalable fields for 0 since sometimes only
one of them is set to 0 (e.g. average width). Also changed upper limit
for size ratio for font scaling so as to avoid scaling Japanese fonts
(ugly).


git-svn-id: svn://10.0.0.236/trunk@37560 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 22:12:50 +00:00
slamm%netscape.com
b1d11092c1 Filter: declaration of `index\' hides global definition. More noise than help. Points out over use of string.h, but not everyone needs to look at it.
git-svn-id: svn://10.0.0.236/trunk@37559 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:52:42 +00:00
nhotta%netscape.com
35c913e396 Part of bug fix 8899, changed not to hard code "US-ASCII" when attachment has no charset label.
git-svn-id: svn://10.0.0.236/trunk@37558 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:35:04 +00:00
davidm%netscape.com
5b2faf00aa removed chat items and did some taskbar cleanup
git-svn-id: svn://10.0.0.236/trunk@37557 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:33:16 +00:00
gordon%netscape.com
7fcb7f6b28 Changes to build for TARGET_CARBON.
git-svn-id: svn://10.0.0.236/trunk@37556 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:28:05 +00:00
cmanske%netscape.com
e2af4400bd Removed old UI files
git-svn-id: svn://10.0.0.236/trunk@37555 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:09:29 +00:00
ducarroz%netscape.com
1193e8f8f1 Replace time_t by PRTime
git-svn-id: svn://10.0.0.236/trunk@37552 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:04:29 +00:00
Dale.Stansberry%Nexwarecorp.com
60b57db179 - Fixed GetLabel methods
git-svn-id: svn://10.0.0.236/trunk@37551 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:03:10 +00:00
cata%netscape.com
5be87ae69e Test for UTF-7.
git-svn-id: svn://10.0.0.236/trunk@37550 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 21:03:00 +00:00
cata%netscape.com
1bec8c5360 Small bug-fixes.
git-svn-id: svn://10.0.0.236/trunk@37549 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:58:14 +00:00
cmanske%netscape.com
16b79bc408 Removed guimanager from makefiles
git-svn-id: svn://10.0.0.236/trunk@37548 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:53:48 +00:00
cmanske%netscape.com
83297d17aa Removed editor guimanager
git-svn-id: svn://10.0.0.236/trunk@37547 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:53:44 +00:00
valeski%netscape.com
a68346bb7e necko bustage
git-svn-id: svn://10.0.0.236/trunk@37546 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:48:49 +00:00
slamm%netscape.com
2058b3a8d2 Quiet unused variable warnings. This file should go away soon anyway.
git-svn-id: svn://10.0.0.236/trunk@37545 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:43:35 +00:00
Dale.Stansberry%Nexwarecorp.com
8bce4d6ac8 - Fixed invalidate methods to be clipped properly
- Added got/lost focus message dispatching
- Added SetBackgroundColor method
- Removed mCreateHold until I can think of a better way


git-svn-id: svn://10.0.0.236/trunk@37544 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:22:18 +00:00
valeski%netscape.com
68d11ccc79 change all GetIID() calls to nsCOMTypeInfo<foo>::GetIID() calls
git-svn-id: svn://10.0.0.236/trunk@37543 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:20:17 +00:00
putterman%netscape.com
733e047edd Append an nsISupports rather than a folder.
git-svn-id: svn://10.0.0.236/trunk@37540 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:05:10 +00:00
putterman%netscape.com
9c72e43ec0 Add supports to the array rather than a message or folder.
git-svn-id: svn://10.0.0.236/trunk@37539 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:03:48 +00:00
valeski%netscape.com
93b0dbd87b changed our nsISupports::GetIID() calls over to nsCOMTypeInfo<foo>::GetIID().
git-svn-id: svn://10.0.0.236/trunk@37538 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 20:00:19 +00:00
waterson%netscape.com
ab52924916 Add GetIID().
git-svn-id: svn://10.0.0.236/trunk@37537 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:47:42 +00:00
zuperdee%penguinpowered.com
52e3512770 Fixed a bug 8227 instance.
git-svn-id: svn://10.0.0.236/trunk@37536 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:46:08 +00:00
bienvenu%netscape.com
fa704f382a add subject attribute, add threading fixes
git-svn-id: svn://10.0.0.236/trunk@37535 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:45:32 +00:00
bienvenu%netscape.com
617d46a5ae add subject attribute
git-svn-id: svn://10.0.0.236/trunk@37534 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:45:03 +00:00
bienvenu%netscape.com
4cbb4ce6a1 make sure we get folder before dereffing
git-svn-id: svn://10.0.0.236/trunk@37533 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:44:44 +00:00
bienvenu%netscape.com
03f1a4a531 fix nsCOMPtr asserts
git-svn-id: svn://10.0.0.236/trunk@37532 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:39:04 +00:00
bienvenu%netscape.com
402ced3aff check for null before add reffing
git-svn-id: svn://10.0.0.236/trunk@37531 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:38:34 +00:00
waterson%netscape.com
c6970d71cd Add GetIID().
git-svn-id: svn://10.0.0.236/trunk@37530 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:28:16 +00:00
akkana%netscape.com
2fb45d996c - New dialog and editor shell API for Insert HTML Source
- Add wrapcolumn setting to document encoders, and use it in the editor
- Fix numbered lists in the html to text sink stream.


git-svn-id: svn://10.0.0.236/trunk@37529 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:26:08 +00:00
waterson%netscape.com
7a1b68ea24 Add GetIID()'s to interfaces.
git-svn-id: svn://10.0.0.236/trunk@37528 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 19:12:21 +00:00
mscott%netscape.com
7195368191 Not part of tinderbox and release builds! Fix type of include file nsComPtr.h --> nsCOMPtr.h so necko can build
again on Linux builds. Thanks to Jim Nance for pointing this out.


git-svn-id: svn://10.0.0.236/trunk@37527 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 18:42:51 +00:00
despotdaemon%netscape.com
85c9eb0a85 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@37526 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 18:03:57 +00:00
briano%netscape.com
de6e9c03e7 Automated update
git-svn-id: svn://10.0.0.236/trunk@37525 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 09:45:00 +00:00
rjc%netscape.com
9bb2664f9d Clean up a couple of warnings.
git-svn-id: svn://10.0.0.236/trunk@37524 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 09:05:24 +00:00
rpotts%netscape.com
22af0a38b5 Got rid of the IEventQueue instance variable...
git-svn-id: svn://10.0.0.236/trunk@37523 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 08:15:40 +00:00
jband%netscape.com
09ad481b2b quick fix for bug 9250 - assert on startup
git-svn-id: svn://10.0.0.236/trunk@37520 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 07:13:26 +00:00
rpotts%netscape.com
e031e3202a replaced a call to nsIHTTPChannel::GetResponseHeader(...) with a call to nsIChannel::GetContentType(...)
git-svn-id: svn://10.0.0.236/trunk@37519 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 06:05:10 +00:00
jband%netscape.com
6921693a16 1) make nsIXPConnect.h include only jspubtd.h instead of the whole of jsapi.h.
2) make the wrappedJS QI check for a match with chained wrappers before trying QI on the wrapped JS object.
3) add support for brendan's new JSArgumentFormatter callback to do auto js arg conversions - with test.


git-svn-id: svn://10.0.0.236/trunk@37518 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 06:01:36 +00:00
rpotts%netscape.com
1af64cfc8e tweaked the GetContentType(...) hack to first check the Content-type header before returning text/html...
git-svn-id: svn://10.0.0.236/trunk@37517 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 06:00:02 +00:00
rhp%netscape.com
cef9687fd6 fix for file locator line...still not sure if this program is working...
git-svn-id: svn://10.0.0.236/trunk@37515 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 05:47:17 +00:00
troy%netscape.com
f1588e6197 Work-in-progress for having GetPrimaryFrameFor() use a hash table
git-svn-id: svn://10.0.0.236/trunk@37514 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 04:42:26 +00:00
mcafee%netscape.com
f1f4205797 Trying to get BeOS changes right, patch provided by Duncan Wilcox (duncan@be.com)
git-svn-id: svn://10.0.0.236/trunk@37513 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 04:30:20 +00:00
mcafee%netscape.com
b22485c12a Adding Makefiles for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37512 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 04:20:46 +00:00
troy%netscape.com
4dbeba7920 Removed some assignment of nsnull to nsCOMPtr obejects that was hitting
an assert


git-svn-id: svn://10.0.0.236/trunk@37511 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 04:13:21 +00:00
bienvenu%netscape.com
4059951821 check for null before releasing
git-svn-id: svn://10.0.0.236/trunk@37510 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 03:45:17 +00:00
jband%netscape.com
9ffe404459 an nsISupports::GetIID() to nsCOMTypeInfo<nsISupports>::GetIID() change that scc missed
git-svn-id: svn://10.0.0.236/trunk@37509 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 03:17:30 +00:00
scc%netscape.com
180949a473 all the changes are in, time to remove the #undef line so the traits class can do the right thing on platforms that support template specialization
git-svn-id: svn://10.0.0.236/trunk@37508 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 01:40:21 +00:00
kin%netscape.com
ae35fb03ad Fix Linux build bustage by including nsIDOMCharacterData.h.
git-svn-id: svn://10.0.0.236/trunk@37507 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:52:25 +00:00
av%netscape.com
164536c1c1 Swapping boolean specifying windowless plugin in accordance with the spec
git-svn-id: svn://10.0.0.236/trunk@37506 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:49:03 +00:00
valeski%netscape.com
f660351faa change netlib lib reference to necko lib
git-svn-id: svn://10.0.0.236/trunk@37505 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:44:07 +00:00
rickg%netscape.com
97bef3a116 removed a rickg debug flag that was causing a performance hit
git-svn-id: svn://10.0.0.236/trunk@37504 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:41:04 +00:00
leaf%mozilla.org
a60936fdae getting this back on its feet, letting it run with relative paths
git-svn-id: svn://10.0.0.236/trunk@37503 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:29:09 +00:00
bienvenu%netscape.com
42df826e30 use nsCRT strdup instead of PL_strdup, prepare way for PRUnichars
git-svn-id: svn://10.0.0.236/trunk@37502 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:26:32 +00:00
bienvenu%netscape.com
f63351a962 get rules file from server root directory
git-svn-id: svn://10.0.0.236/trunk@37501 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:25:38 +00:00
troy%netscape.com
2ef81cee26 Removed a NS_WARNING in ContentAppended() that no longer needed to be
there


git-svn-id: svn://10.0.0.236/trunk@37500 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:24:03 +00:00
vidur%netscape.com
c2d795e464 Fix for bug 9035. Shut of layers emulation and fixed type in layers getter.
git-svn-id: svn://10.0.0.236/trunk@37499 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:14:21 +00:00
bienvenu%netscape.com
63bed96031 add check for allocation failure
git-svn-id: svn://10.0.0.236/trunk@37498 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 00:11:02 +00:00
vidur%netscape.com
c0f7351823 Switched to using NS_WITH_SERVICE as per bug 5403
git-svn-id: svn://10.0.0.236/trunk@37497 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:43:46 +00:00
vidur%netscape.com
44b1e90da0 Added static GetIID accessor to DOM interfaces
git-svn-id: svn://10.0.0.236/trunk@37496 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:42:51 +00:00
rpotts%netscape.com
38347ad4d2 Fixed up socket transport to abort the operation if the consumer OnDataAvailable(...) returns a failure...
git-svn-id: svn://10.0.0.236/trunk@37495 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:28:19 +00:00
valeski%netscape.com
9342bd261d very temporary gross necko hack to force an text/html content type in the file and http protocols
git-svn-id: svn://10.0.0.236/trunk@37494 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:28:15 +00:00
valeski%netscape.com
00f19d472d we need to watch the error code of content type
git-svn-id: svn://10.0.0.236/trunk@37493 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:26:11 +00:00
valeski%netscape.com
759ec2937d yanked the hardcoded content type
git-svn-id: svn://10.0.0.236/trunk@37492 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:25:17 +00:00
ssu%netscape.com
3a03fbbd68 fixing bug #8454 and AddDirectory() function
git-svn-id: svn://10.0.0.236/trunk@37491 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:23:23 +00:00
ssu%netscape.com
a34ca3a05b fixing bug #8454 and AddDirectory() function
git-svn-id: svn://10.0.0.236/trunk@37490 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:15:38 +00:00
valeski%netscape.com
b2b48f5168 getbuffer bypass
git-svn-id: svn://10.0.0.236/trunk@37489 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:14:43 +00:00
tague%netscape.com
fb2c65e5cd Fixed (hopefully) linux build bustage by re-writing the expression w/ a temp variable
git-svn-id: svn://10.0.0.236/trunk@37488 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:46:20 +00:00
morse%netscape.com
deb12f14b6 fix bug 8743
git-svn-id: svn://10.0.0.236/trunk@37487 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:34:48 +00:00
shaver%netscape.com
364aea910c partial backout of scc's nsCOMPtr, attempting to revive Win32 build
git-svn-id: svn://10.0.0.236/trunk@37486 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:33:18 +00:00
ramiro%netscape.com
6ae9c4bf93 Fix PUBLIC declaration.
git-svn-id: svn://10.0.0.236/trunk@37485 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:30:47 +00:00
briano%netscape.com
ebd7ce1252 Automated update
git-svn-id: svn://10.0.0.236/trunk@37484 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:29:59 +00:00
ramiro%netscape.com
b560dc6a84 Add configure support for setting and using MOZ_STRIP_NOT_EXPORTED.
Courtesy of Alex Larsson.


git-svn-id: svn://10.0.0.236/trunk@37483 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:29:14 +00:00
pollmann%netscape.com
2737748d7f Bug 8227 and warning cleanups.
git-svn-id: svn://10.0.0.236/trunk@37482 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:01:55 +00:00
slamm%netscape.com
adfa5e61ff No longer need to save prefs everytime.
git-svn-id: svn://10.0.0.236/trunk@37481 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:00:48 +00:00
law%netscape.com
2e899d89cd Cleaning up those annoying 'width/height not set' messages
git-svn-id: svn://10.0.0.236/trunk@37480 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:57:40 +00:00
valeski%netscape.com
c0616bdc59 various fixes. Big one was that we're no longer passing the uri in as the context to nsAsyncStreamObserver, it's now the channel.
git-svn-id: svn://10.0.0.236/trunk@37479 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:53:45 +00:00
valeski%netscape.com
ba09080b75 NECKO - nsWebShell: we were getting a unichar string back from GetBuffer(); changed it to ToNewCString(). nsDocLoader: trying to get a regular url to load.
git-svn-id: svn://10.0.0.236/trunk@37478 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:48:35 +00:00
law%netscape.com
6e5cfba7ee Fix for bug #8605; turn off buffering of debug output
git-svn-id: svn://10.0.0.236/trunk@37477 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:40:56 +00:00
jband%netscape.com
cf48f65273 Fixing lame bug in two Find implementations - thanks shaver. Removing commented out dead code
git-svn-id: svn://10.0.0.236/trunk@37476 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:37:09 +00:00
jband%netscape.com
ece9930005 doing my part for bug 8227
git-svn-id: svn://10.0.0.236/trunk@37475 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:34:50 +00:00
alecf%netscape.com
13f4cb8157 fix memory allocation problems, C++ warning, and newlines at the end of files
git-svn-id: svn://10.0.0.236/trunk@37474 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:19:05 +00:00
cmanske%netscape.com
1082ca5342 Fixed setting HLine height problems
git-svn-id: svn://10.0.0.236/trunk@37473 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:17:04 +00:00
jband%netscape.com
12c2195b8a doing my part for bug 8227
git-svn-id: svn://10.0.0.236/trunk@37472 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:15:31 +00:00
rhp%netscape.com
80afaba69e fix for file locator service
git-svn-id: svn://10.0.0.236/trunk@37470 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:13:45 +00:00
tague%netscape.com
9c7f494efd Fixed conditional problem on Unix.
git-svn-id: svn://10.0.0.236/trunk@37469 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:12:43 +00:00
scc%netscape.com
62fb8f7c1f added logic to test whether QueryInterface was actually required when it is ommitted, |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()|, changed the scheme by which we compare with zero to a more robust mechanism, modified specialized |CallQueryInterface| to use the global version
git-svn-id: svn://10.0.0.236/trunk@37468 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:09:59 +00:00
scc%netscape.com
c66394589f do_QueryInterface(NULL, &error) now returns the appropriate error in |error|
git-svn-id: svn://10.0.0.236/trunk@37467 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:09:56 +00:00
scc%netscape.com
74c14b270c added and removed tests as features of |nsCOMPtr| change
git-svn-id: svn://10.0.0.236/trunk@37466 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:06:17 +00:00
valeski%netscape.com
8fc0dd2f58 handing the single byte url case
git-svn-id: svn://10.0.0.236/trunk@37465 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:05:01 +00:00
scc%netscape.com
a2d0be4d64 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()|
git-svn-id: svn://10.0.0.236/trunk@37444 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:01:31 +00:00
scc%netscape.com
57e3089ae3 bug fixes and suggestions
git-svn-id: svn://10.0.0.236/trunk@37443 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:01:11 +00:00
bienvenu%netscape.com
af403a664e no longer needed
git-svn-id: svn://10.0.0.236/trunk@37442 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:00:01 +00:00
putterman%netscape.com
2ca3237327 Remove scrollbars from trees.
git-svn-id: svn://10.0.0.236/trunk@37441 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:51:21 +00:00
briano%netscape.com
de7144cae5 Automated update
git-svn-id: svn://10.0.0.236/trunk@37440 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:45:01 +00:00
shaver%netscape.com
e299920b40 add configure test for C++ template specialization for scc (HAVE_CPP_SPECIALIZATION)
git-svn-id: svn://10.0.0.236/trunk@37439 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:41:39 +00:00
jdunn%netscape.com
6e58a1c196 Fix HPUP and AIX build bustage by 'casting' the params.
git-svn-id: svn://10.0.0.236/trunk@37438 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:37:18 +00:00
scc%netscape.com
dc608130b4 Added |GetIID()|
git-svn-id: svn://10.0.0.236/trunk@37437 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:35:23 +00:00
slamm%netscape.com
51dc87f07c Fix Solaris build bustage. Library order problem on link line.
git-svn-id: svn://10.0.0.236/trunk@37436 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:33:24 +00:00
tague%netscape.com
ea708a16a8 Added clause and selection support for Input Methods. Fixes bug #8639, #8459, #6989, #7824
git-svn-id: svn://10.0.0.236/trunk@37435 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:31:22 +00:00
tague%netscape.com
db23dd7d5c Added clause range and selection support for Input Methods.
git-svn-id: svn://10.0.0.236/trunk@37434 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:30:42 +00:00
zuperdee%penguinpowered.com
478c08520e Gosh am I stupid. Finally figured out how to fix the AddSeparator function properly. Also fixed quite a few compiler warnings.
git-svn-id: svn://10.0.0.236/trunk@37433 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:29:11 +00:00
scc%netscape.com
9ea8cebe57 Added |GetIID()|
git-svn-id: svn://10.0.0.236/trunk@37432 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:28:56 +00:00
scc%netscape.com
5c968b9fdd added |GetIID()|, and an IID to go with it
git-svn-id: svn://10.0.0.236/trunk@37431 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:27:02 +00:00
hyatt%netscape.com
7df5e4ac3e Adding the images for the gfx scrollbar and for the tree column pushers.
(And I'm bad because this really shouldn't go here.  We need to reorganize
the xpfe directory.)


git-svn-id: svn://10.0.0.236/trunk@37430 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:26:51 +00:00
sfraser%netscape.com
13dd905b76 Add getting selection as text or HTML to the Debug TestSelection function.
git-svn-id: svn://10.0.0.236/trunk@37429 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:21:51 +00:00
hyatt%netscape.com
8dece188fd Turning on the lazy mode in the tree widget. It is now the default. Let
the bug filing begin. :(


git-svn-id: svn://10.0.0.236/trunk@37428 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:20:40 +00:00
tague%netscape.com
8546a43e40 Fixed up UNIX build warnings
git-svn-id: svn://10.0.0.236/trunk@37427 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:14:59 +00:00
sfraser%netscape.com
20ffc454a0 Call the Output routines with a new param for selection only.
git-svn-id: svn://10.0.0.236/trunk@37426 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:14:58 +00:00
Dale.Stansberry%Nexwarecorp.com
501341674d - Fixed scrolling rips
- Fixed blinking due to hidden widget damage
- Fixed non-drawing windows due to mCreateHold not be reset properly


git-svn-id: svn://10.0.0.236/trunk@37425 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:14:47 +00:00
sfraser%netscape.com
1cd4f8b45d Add new aSelectionOnly param to Output routines
git-svn-id: svn://10.0.0.236/trunk@37424 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:14:24 +00:00
sfraser%netscape.com
48965ca20e Add selectionAsText and selectionAsHTML attributes
git-svn-id: svn://10.0.0.236/trunk@37423 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:13:41 +00:00
hangas%netscape.com
3ea21353d9 Fixed bug 7948. Opening compose window from address book.
git-svn-id: svn://10.0.0.236/trunk@37422 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:12:26 +00:00
scc%netscape.com
fd2d046e02 add traits class to solve multiple |GetIID()| problems
git-svn-id: svn://10.0.0.236/trunk@37421 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:11:57 +00:00
putterman%netscape.com
490e5a7612 Implement HasAssertion. This will fix Messenger's part of making Mark Read work.
git-svn-id: svn://10.0.0.236/trunk@37420 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:11:13 +00:00
hangas%netscape.com
b38e118631 Added other tabs to editcard dialog
git-svn-id: svn://10.0.0.236/trunk@37419 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:11:04 +00:00
rpotts%netscape.com
49cc175467 Terminate the consumer request if an error occurs while writing the request to the server...
git-svn-id: svn://10.0.0.236/trunk@37418 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:10:47 +00:00
hangas%netscape.com
91c1952a7c Removed some dump() calls
git-svn-id: svn://10.0.0.236/trunk@37417 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:10:24 +00:00
sspitzer%netscape.com
ced0b68123 nsISupportsArray was somehow not scripting. By now including nsISupportsArray.idl in all of the interface files, we now have the IID for this interface
git-svn-id: svn://10.0.0.236/trunk@37416 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 19:45:19 +00:00
alecf%netscape.com
242d9e9751 fix for blocker - bug #9016 - this prevents the crash, but mail is still not sent on windows
git-svn-id: svn://10.0.0.236/trunk@37415 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 19:02:25 +00:00
gordon%netscape.com
6262706d53 File Removed.
git-svn-id: svn://10.0.0.236/trunk@37414 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 18:14:21 +00:00
slamm%netscape.com
6f6356c718 Better fix for build bustage. Use ZLIB_LIBS instead of -z. r=ramiro,shaver
git-svn-id: svn://10.0.0.236/trunk@37413 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 16:51:46 +00:00
shaver%netscape.com
e43b136c6e fix Solaris build bustage
git-svn-id: svn://10.0.0.236/trunk@37412 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 16:20:58 +00:00
ramiro%netscape.com
ac56309a00 Place the Style menu in the same location on the menu bar as on Windoze.
Mostly to unconfuse my brain everytime I toggle the rendering mode on either
platoform.


git-svn-id: svn://10.0.0.236/trunk@37411 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 15:00:06 +00:00
ramiro%netscape.com
7dd50c2dba Make the parent for the test sites dialog null, so that a top level window
is created.  Otherwise, the widget gets created inside of the viewer itself.


git-svn-id: svn://10.0.0.236/trunk@37410 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 14:43:29 +00:00
rods%netscape.com
08033e3f08 Initial checkin
git-svn-id: svn://10.0.0.236/trunk@37409 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 14:24:10 +00:00
rods%netscape.com
2a91067210 Added toolbaritem
git-svn-id: svn://10.0.0.236/trunk@37408 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 14:21:14 +00:00
mcafee%netscape.com
7f2efdd7f0 Fixing solaris bustage.
git-svn-id: svn://10.0.0.236/trunk@37407 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 12:01:29 +00:00
mcafee%netscape.com
c8b6811625 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37406 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 11:36:21 +00:00
mcafee%netscape.com
d3f7b64189 Fixing Solaris bustage
git-svn-id: svn://10.0.0.236/trunk@37405 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 11:20:13 +00:00
mcafee%netscape.com
85b027f229 Fixing solaris bustage.
git-svn-id: svn://10.0.0.236/trunk@37404 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 11:10:48 +00:00
mcafee%netscape.com
8de966fc93 Rearranging libraries to get solaris to link.
git-svn-id: svn://10.0.0.236/trunk@37403 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 10:45:51 +00:00
mcafee%netscape.com
b366c7e0ba BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37402 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 10:27:58 +00:00
mcafee%netscape.com
96f1a13abc BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37400 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:48:34 +00:00
mcafee%netscape.com
05f18fdaad Cleaning up ifdef logic, adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37399 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:45:37 +00:00
mcafee%netscape.com
49262effd9 Adding mimetest.
git-svn-id: svn://10.0.0.236/trunk@37398 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:35:42 +00:00
mcafee%netscape.com
366db19b81 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37392 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:31:14 +00:00
mcafee%netscape.com
46fd7834e4 Cleaning up ifdef logic, adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37390 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:29:10 +00:00
mcafee%netscape.com
986647866b Cleaning up ifdefs, adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37389 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:25:10 +00:00
mcafee%netscape.com
c5c8558130 fixing ifdefs again.
git-svn-id: svn://10.0.0.236/trunk@37388 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:22:57 +00:00
mcafee%netscape.com
115d1a2d22 Cleaning up ifdef logic, adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37387 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:21:32 +00:00
mcafee%netscape.com
08c27abd93 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37386 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:19:14 +00:00
mcafee%netscape.com
18d7f3f7d6 Cleaning up ifdef logic, adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37385 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 09:11:44 +00:00
rpotts%netscape.com
8f72f8ed85 mapped NS_BASE_STREAM to NS_OK for the OnStopBinding(...) notification...
git-svn-id: svn://10.0.0.236/trunk@37384 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 08:48:41 +00:00
tague%netscape.com
3a175a8bec Eliminate unix builld warnings from libi18n.h
git-svn-id: svn://10.0.0.236/trunk@37383 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 07:57:30 +00:00
rpotts%netscape.com
4ce5e79297 Applied patches provided by Tim Rowley - tor@boojum.cs.brown.edu. To fix build problems with the SUNWspro compilers. Thanks Tim!!
git-svn-id: svn://10.0.0.236/trunk@37382 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 07:23:00 +00:00
tague%netscape.com
d00724f7a9 Eliminate warnings in nsLocale.{h/cpp}
git-svn-id: svn://10.0.0.236/trunk@37381 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 07:22:40 +00:00
tague%netscape.com
9ed95cf650 Eliminate Linux build warnings in nsLocaleFactory.cpp
git-svn-id: svn://10.0.0.236/trunk@37380 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 07:10:42 +00:00
mcafee%netscape.com
353c54aca0 BeOS changes. a=jband
git-svn-id: svn://10.0.0.236/trunk@37379 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 07:05:14 +00:00
rpotts%netscape.com
76a695d3bc Applied patches provided by Tim Rowley - tor@boojum.cs.brown.edu. To fix build problems with the SUNWspro compilers. Thanks Tim!!
git-svn-id: svn://10.0.0.236/trunk@37378 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:58:06 +00:00
mcafee%netscape.com
b230f614b6 BeOS changes. a=jband
git-svn-id: svn://10.0.0.236/trunk@37377 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:57:57 +00:00
rpotts%netscape.com
7d8178e2cb Fixed up a divide by zero bug...
git-svn-id: svn://10.0.0.236/trunk@37376 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:54:05 +00:00
mcafee%netscape.com
d706aeaa96 BeOS changes. a=jband
git-svn-id: svn://10.0.0.236/trunk@37375 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:53:01 +00:00
mcafee%netscape.com
8524d783be BeOS changes. a=jband
git-svn-id: svn://10.0.0.236/trunk@37374 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:51:25 +00:00
mcafee%netscape.com
f121ff0a45 BeOS changes, a=jband.
git-svn-id: svn://10.0.0.236/trunk@37373 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:47:38 +00:00
rickg%netscape.com
6729c65cef allow view-source to work with XUL/RDF
git-svn-id: svn://10.0.0.236/trunk@37372 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:46:03 +00:00
mcafee%netscape.com
73722053f2 BeOS changes. a=jband
git-svn-id: svn://10.0.0.236/trunk@37371 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:44:17 +00:00
mcafee%netscape.com
9c707a84d6 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37370 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:42:26 +00:00
mcafee%netscape.com
45466f2cf6 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37369 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:36:18 +00:00
mcafee%netscape.com
065eb7e9bf Changes for BeOS. r=jband
git-svn-id: svn://10.0.0.236/trunk@37368 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:23:40 +00:00
sspitzer%netscape.com
75fedccf62 export the news-test resources on the mac.
git-svn-id: svn://10.0.0.236/trunk@37367 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:14:39 +00:00
sspitzer%netscape.com
e096e04f69 wrap the derefernce with a check for null
git-svn-id: svn://10.0.0.236/trunk@37366 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:02:41 +00:00
sspitzer%netscape.com
9954729e0d export the news-test files on windows
git-svn-id: svn://10.0.0.236/trunk@37365 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 06:02:20 +00:00
briano%netscape.com
3fc80e0d5e Automated update
git-svn-id: svn://10.0.0.236/trunk@37364 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 05:45:00 +00:00
ramiro%netscape.com
60466c5a92 Build GtkMozilla only if MOZ_TOOLKIT is "gtk".
git-svn-id: svn://10.0.0.236/trunk@37363 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 05:38:05 +00:00
sspitzer%netscape.com
e7a82219ba add instructions. make pretty.
git-svn-id: svn://10.0.0.236/trunk@37362 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 05:15:17 +00:00
alecf%netscape.com
07c65849f8 for now, use GetCurrentIdentity hack when SendMessagesLater gets fired
git-svn-id: svn://10.0.0.236/trunk@37360 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 05:07:12 +00:00
sspitzer%netscape.com
f7159eae6e argh. I'm insane. ignore me.
git-svn-id: svn://10.0.0.236/trunk@37359 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 05:06:00 +00:00
sspitzer%netscape.com
e181bd9b17 putting back briano's changes. sorry
git-svn-id: svn://10.0.0.236/trunk@37358 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 05:05:00 +00:00
sspitzer%netscape.com
6edc5046cd changes to get more sophisticated newsgroup addressing to work. thanks to rhp for the backend work. also checking in some xul / js to test this.
git-svn-id: svn://10.0.0.236/trunk@37348 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 05:04:17 +00:00
alecf%netscape.com
1ff1c4afc6 add support for identity dropdown, and reformat header toolbars to look a little nicer
git-svn-id: svn://10.0.0.236/trunk@37347 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:55:30 +00:00
alecf%netscape.com
1606c7ea24 remove identity-specific prefs
git-svn-id: svn://10.0.0.236/trunk@37346 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:45:28 +00:00
alecf%netscape.com
5dbef7bd5d now take the identity at send-time
git-svn-id: svn://10.0.0.236/trunk@37345 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:45:11 +00:00
alecf%netscape.com
d53000f915 now use the identity that was passed in instead of GetHackIdentity, and remove GetHackIdentity
git-svn-id: svn://10.0.0.236/trunk@37344 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:44:24 +00:00
sspitzer%netscape.com
93382f1cdf fixing build bustage. sending mail to briano about this.
git-svn-id: svn://10.0.0.236/trunk@37343 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:44:01 +00:00
alecf%netscape.com
eadd5c52d7 generate the message ID from an identity, and take the identity from Init() rather than from GetHackIdentity
git-svn-id: svn://10.0.0.236/trunk@37340 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:41:06 +00:00
sspitzer%netscape.com
8fe1fcffbd not part of the build yet.
git-svn-id: svn://10.0.0.236/trunk@37339 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:13:43 +00:00
ramiro%netscape.com
ab0248d2f9 No need to link gfxps into the app anymore. Its a component. Hopefully by
exorcising it from everywhere in the tree, it wont be cut and pasted anywhere
else.


git-svn-id: svn://10.0.0.236/trunk@37338 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 04:03:19 +00:00
bienvenu%netscape.com
ef28587250 fix imap uri parsing
git-svn-id: svn://10.0.0.236/trunk@37337 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 03:49:18 +00:00
troy%netscape.com
d22456181e Fix for bug #2062. When sizing the view, take into account child frames
that stick outside the right/bottom edges of the parent's frame


git-svn-id: svn://10.0.0.236/trunk@37336 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 03:41:58 +00:00
alecf%netscape.com
b07400d6e5 - make sure account keys are unique
- add method GetIdentityByKey that's needed by compose


git-svn-id: svn://10.0.0.236/trunk@37335 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 03:36:25 +00:00
despotdaemon%netscape.com
04077f5cdb Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@37334 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 03:33:15 +00:00
shaver%netscape.com
f6e8d5ab2f no longer need to link against libgfxps.so -- necko merge regression?
git-svn-id: svn://10.0.0.236/trunk@37333 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 03:12:31 +00:00
sspitzer%netscape.com
9c76951016 make the test prettier. dump the results to a text area. dump errors to the console
git-svn-id: svn://10.0.0.236/trunk@37332 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 03:10:36 +00:00
briano%netscape.com
8f43479760 Changed the hardcoded path to nsStubs.cpp to use the topsrcdir macro.
git-svn-id: svn://10.0.0.236/trunk@37331 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 03:10:28 +00:00
alecf%netscape.com
fe81bb2b77 - make getCharPref() return null when there is no such pref, instead of returning an error
- make identityName default to Full Name <email@address.com> if the identityName is missing


git-svn-id: svn://10.0.0.236/trunk@37330 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:59:06 +00:00
gagan%netscape.com
a1493ccefb Removed gfxps linkage.
git-svn-id: svn://10.0.0.236/trunk@37329 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:54:04 +00:00
putterman%netscape.com
626f18b05a Release an nsIRDFResource.
git-svn-id: svn://10.0.0.236/trunk@37328 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:49:55 +00:00
putterman%netscape.com
2203b521b5 Implement RemoveServer
git-svn-id: svn://10.0.0.236/trunk@37327 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:49:29 +00:00
putterman%netscape.com
258d10f86d UnloadAccounts.
git-svn-id: svn://10.0.0.236/trunk@37326 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:49:15 +00:00
putterman%netscape.com
efa5a8b509 Release a ref on the server.
git-svn-id: svn://10.0.0.236/trunk@37325 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:48:58 +00:00
putterman%netscape.com
b09061fc15 Shutdown unregisters services.
git-svn-id: svn://10.0.0.236/trunk@37324 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:48:40 +00:00
putterman%netscape.com
af01a06c40 Query Interface can handle nsISupports.
git-svn-id: svn://10.0.0.236/trunk@37322 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:48:12 +00:00
putterman%netscape.com
263a427bbf Add UnloadAccounts
git-svn-id: svn://10.0.0.236/trunk@37321 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:47:49 +00:00
putterman%netscape.com
952a6ce95a Register as a component.
git-svn-id: svn://10.0.0.236/trunk@37320 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:47:30 +00:00
gagan%netscape.com
4e0ead7d4a Removed gfxps linkage.
git-svn-id: svn://10.0.0.236/trunk@37319 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:46:56 +00:00
briano%netscape.com
45b7a189dd Cleanup and fixes for OpenBSD.
git-svn-id: svn://10.0.0.236/trunk@37318 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:30:42 +00:00
jdunn%netscape.com
1777cd0c52 declare class as public... since some compilers assume private
git-svn-id: svn://10.0.0.236/trunk@37317 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:25:08 +00:00
gagan%netscape.com
c0285db520 Argh.... missed a +.
git-svn-id: svn://10.0.0.236/trunk@37316 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:24:25 +00:00
sgehani%netscape.com
1858036f00 Build libjar as a component on the Mac.
git-svn-id: svn://10.0.0.236/trunk@37315 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:22:13 +00:00
brendan%netscape.com
af49c2cbb7 - Add (jsatomid) cast to GET_ATOM_INDEX to abate warnings.
- Fix js_GetAtom fallibility by returning &dummy on assert-botch "can't happen"
  index out of range case.
- js_InitAtomMap needn't bother nulling ale->next with tmp save
- js_InitAtomState explicit tail fusion for FROB via goto bad, and early memset
  (I know, JSRuntime is cleared already and it contains the atom state ... but
  jsatom.c doesn't know that).
- Clear all ATOM_ flags save ATOM_PINNED when creating a new atom.
- Cleanup xtra, ALIGNNUM, etc. useless variables, use JSVAL_ALIGN and JS_MAX.


git-svn-id: svn://10.0.0.236/trunk@37314 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:20:48 +00:00
varada%netscape.com
dea7e417b2 default values
git-svn-id: svn://10.0.0.236/trunk@37311 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 02:11:17 +00:00
valeski%netscape.com
13ff02cbb3 removing extraneous nsIEventQueue stuff
git-svn-id: svn://10.0.0.236/trunk@37310 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 01:55:35 +00:00
valeski%netscape.com
268d31ffa8 nsIChannel api change
git-svn-id: svn://10.0.0.236/trunk@37309 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 01:54:05 +00:00
valeski%netscape.com
863f107e7f nsIChannel api change. you no longer have to supply an nsIEventQueue when calling an AsyncRead|Write() method.
git-svn-id: svn://10.0.0.236/trunk@37308 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 01:52:30 +00:00
gagan%netscape.com
39b5622aac Fixed more bustage.
git-svn-id: svn://10.0.0.236/trunk@37307 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 01:25:30 +00:00
gordon%netscape.com
32c50e0d6f Removed MacTrace.c and MacTrace.exp from project because they are not used anymore.
git-svn-id: svn://10.0.0.236/trunk@37306 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 01:22:22 +00:00
gagan%netscape.com
8aa3e6f3fb Argh... another bad patch.
git-svn-id: svn://10.0.0.236/trunk@37305 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 01:01:11 +00:00
vidur%netscape.com
3cc0446d53 Added comment handler
git-svn-id: svn://10.0.0.236/trunk@37303 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:44:26 +00:00
syd%netscape.com
934947e9a3 Fixed compiler warning
git-svn-id: svn://10.0.0.236/trunk@37302 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:39:10 +00:00
warren%netscape.com
0f2bb066b3 Necko cleanup.
git-svn-id: svn://10.0.0.236/trunk@37301 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:37:14 +00:00
warren%netscape.com
d6b35c14c0 Added group arg back for necko.
git-svn-id: svn://10.0.0.236/trunk@37300 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:31:02 +00:00
gagan%netscape.com
2621940248 Necko changes (from Andreas)
git-svn-id: svn://10.0.0.236/trunk@37299 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:26:25 +00:00
akkana%netscape.com
9ed6178def Better place to flush the buffer, suggested by Vidur
git-svn-id: svn://10.0.0.236/trunk@37298 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:26:06 +00:00
warren%netscape.com
ca8ff9bcaa Fixed necko ifdef.
git-svn-id: svn://10.0.0.236/trunk@37297 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:25:46 +00:00
endico%mozilla.org
3da8ce9f7c Added "entryheaderhtml" parameter which lets you specify text to
add to beginning of bug entry form. also aligned text in the form
to make it pretty. Uncomment the <!--</tr><tr>--> if people complain
the 80 col description text box doesn't fit narrow screens.


git-svn-id: svn://10.0.0.236/trunk@37296 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:24:41 +00:00
brendan%netscape.com
e176eaf8d9 Final part of 8042 fix: always initialize frame.internalCall.
git-svn-id: svn://10.0.0.236/trunk@37295 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:22:22 +00:00
brendan%netscape.com
503f279021 Forgot externs before JS_PUBLIC_API calls for ArgumentFormatter functions.
git-svn-id: svn://10.0.0.236/trunk@37294 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:21:38 +00:00
sgehani%netscape.com
b591304aa8 Short-term workaround for bugs 8849/8971: we no longer spawn a thread
at startup.


git-svn-id: svn://10.0.0.236/trunk@37293 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:14:10 +00:00
sgehani%netscape.com
3aa1944807 Turning XPInstall on Unix back on. Short-term workaround
for bugs 8849/8971 included.


git-svn-id: svn://10.0.0.236/trunk@37292 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:13:02 +00:00
chuang%netscape.com
f5944ba6e8 new files. not part of the build
git-svn-id: svn://10.0.0.236/trunk@37291 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:10:58 +00:00
chuang%netscape.com
257f637793 New file, not in the build
git-svn-id: svn://10.0.0.236/trunk@37290 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:09:24 +00:00
gagan%netscape.com
4e37593235 Necko changes.
git-svn-id: svn://10.0.0.236/trunk@37289 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:06:44 +00:00
law%netscape.com
4eb2d0e6ce New interface to help replace use of nsIXULWindowCallbacks
git-svn-id: svn://10.0.0.236/trunk@37288 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 00:05:20 +00:00
gagan%netscape.com
b25981c241 Necko changes.
git-svn-id: svn://10.0.0.236/trunk@37287 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:57:35 +00:00
mcafee%netscape.com
efea63e9e7 OS/2 changes.
git-svn-id: svn://10.0.0.236/trunk@37286 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:53:01 +00:00
dp%netscape.com
f80e1fb56c First version
git-svn-id: svn://10.0.0.236/trunk@37285 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:41:02 +00:00
vidur%netscape.com
ea045b2352 added case for HTML element to MakeContentObject
git-svn-id: svn://10.0.0.236/trunk@37284 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:41:01 +00:00
mcafee%netscape.com
fcfe8cdbcc Changes for OS/2. Patch provided by Eric Olson (eric.olson@sympatico.ca)
git-svn-id: svn://10.0.0.236/trunk@37283 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:39:35 +00:00
vidur%netscape.com
c0945c19ad nsHTMLContentSink.cpp
git-svn-id: svn://10.0.0.236/trunk@37282 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:39:25 +00:00
akkana%netscape.com
cb70a78bf8 Call FlushText after calling AddText, to keep from dropping text at the end of the fragment
git-svn-id: svn://10.0.0.236/trunk@37281 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:39:15 +00:00
gagan%netscape.com
ad6de52b29 Added Makefile.in for Linux builds.
git-svn-id: svn://10.0.0.236/trunk@37280 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:38:33 +00:00
briano%netscape.com
ccea8c3b4e Cleanup and deleted the reference to NSPR_LIBS to fix the OpenBSD build.
git-svn-id: svn://10.0.0.236/trunk@37279 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:27:40 +00:00
alecf%netscape.com
2e647a7e9a added files: mozilla/xpcom/ds/nsISupportsArray.idl
git-svn-id: svn://10.0.0.236/trunk@37277 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:26:07 +00:00
mcafee%netscape.com
5e638c523d Changes for OS/2. Patch provided by Eric Olson (eric.olson@sympatico.ca)
git-svn-id: svn://10.0.0.236/trunk@37270 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:18:55 +00:00
wtc%netscape.com
21b2e0c621 Deleted an extra space.
git-svn-id: svn://10.0.0.236/trunk@37269 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:18:15 +00:00
wtc%netscape.com
d74e1bd377 Merged Neutrino (NTO) changes contributed by Jerry L. Kirk
<Jerry.Kirk@Nexwarecorp.com>.
Modified files: pr/include/md/Makefile, _pth.h, prosdep.h,
pr/src/md/unix/Makefile, objs.mk, unix.c, unix_errors.c,
ptio.c, ptthread.c.
Added files: NTO.mk, _nto.cfg, _nto.h, nto.c.


git-svn-id: svn://10.0.0.236/trunk@37265 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:13:18 +00:00
mscott%netscape.com
558f68bad8 Add undef for SetPort too.
git-svn-id: svn://10.0.0.236/trunk@37263 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:11:55 +00:00
mcafee%netscape.com
4549428e61 Changes for OS/2. Patch provided by Eric Olson (eric.olson@sympatico.ca)
git-svn-id: svn://10.0.0.236/trunk@37262 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:11:18 +00:00
slamm%netscape.com
49cbedf7cf Using redirected bonsai loses hash. Use full link again.
git-svn-id: svn://10.0.0.236/trunk@37261 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:08:37 +00:00
slamm%netscape.com
44c8982c43 base target not really wanted on every link
git-svn-id: svn://10.0.0.236/trunk@37260 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 23:05:18 +00:00
valeski%netscape.com
5172770dd8 optimized build fix.
git-svn-id: svn://10.0.0.236/trunk@37259 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:50:14 +00:00
harishd%netscape.com
9519ff1dd7 Subtleties involved in treating <SCRIPT> as CDATA ( internally ).
Therefore, undoing my change in fixing Bug# 7853.


git-svn-id: svn://10.0.0.236/trunk@37258 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:47:54 +00:00
mcafee%netscape.com
9d9ecd952f Changes for OS/2.
git-svn-id: svn://10.0.0.236/trunk@37257 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:41:48 +00:00
mscott%netscape.com
dc4439e7b0 fix mac build breakage for alecf. nsISupportsArray is now generated by XPIDL.
git-svn-id: svn://10.0.0.236/trunk@37256 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:36:30 +00:00
warren%netscape.com
f6de81e947 Added group stuff back for necko.
git-svn-id: svn://10.0.0.236/trunk@37255 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:34:20 +00:00
bienvenu%netscape.com
0ad9ad5d34 fix override of GetPrettyName
git-svn-id: svn://10.0.0.236/trunk@37253 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:29:08 +00:00
dp%netscape.com
d862fb2a9b Removing duplicate nsDebug.obj. Thanks to
<david.gardiner@unisa.edu.au> for pointing this out.


git-svn-id: svn://10.0.0.236/trunk@37252 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:23:04 +00:00
warren%netscape.com
5de0e9a3b7 Removed necko ifdef.
git-svn-id: svn://10.0.0.236/trunk@37251 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:07:07 +00:00
rods%netscape.com
8a2eeb9780 Added nsISupports to QueryInterface
git-svn-id: svn://10.0.0.236/trunk@37247 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:03:15 +00:00
troy%netscape.com
d8d34c796f Fix for bug #8863. Removed some code that was not being used
git-svn-id: svn://10.0.0.236/trunk@37246 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 22:02:06 +00:00
bienvenu%netscape.com
f4d2c6ce79 make name and pretty name unichar's
git-svn-id: svn://10.0.0.236/trunk@37244 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:56:33 +00:00
sfraser%netscape.com
46d397d824 Change prefs window registration printf.
git-svn-id: svn://10.0.0.236/trunk@37243 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:55:29 +00:00
valeski%netscape.com
0417f51829 necko linux build checkin
git-svn-id: svn://10.0.0.236/trunk@37242 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:53:25 +00:00
dp%netscape.com
1ba3d36efc Enable PR_LOGs on release builds.
git-svn-id: svn://10.0.0.236/trunk@37241 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:51:46 +00:00
pnunn%netscape.com
e39159b98b changed image format list. pnunn.
git-svn-id: svn://10.0.0.236/trunk@37240 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:51:26 +00:00
pnunn%netscape.com
83c9568f23 changing image format list. pnunn.
git-svn-id: svn://10.0.0.236/trunk@37239 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:49:53 +00:00
alecf%netscape.com
d6ab1a17c4 remove nsISupportsArray.h from build (now comes from .idl file)
git-svn-id: svn://10.0.0.236/trunk@37238 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:37:14 +00:00
alecf%netscape.com
eddc229f49 XPIDLize nsISupportsArray for windows
git-svn-id: svn://10.0.0.236/trunk@37237 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:36:02 +00:00
buster%netscape.com
61945a51b0 caret is placed after inserted element, matches Nav 4 behavior.
git-svn-id: svn://10.0.0.236/trunk@37236 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:35:57 +00:00
akkana%netscape.com
9934414824 Fix warnings, mostly from conflicts with the index routine declared in string.h on Linux
git-svn-id: svn://10.0.0.236/trunk@37235 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:27:10 +00:00
akkana%netscape.com
6923eadd06 Fix a warning
git-svn-id: svn://10.0.0.236/trunk@37234 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:26:31 +00:00
akkana%netscape.com
6d655c9b68 Turn off obsolete -editor flag
git-svn-id: svn://10.0.0.236/trunk@37232 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:15:34 +00:00
mang%subcarrier.org
6c8c372820 Partially fixes bug 5872
Line numbers are now (only) off by one on Unix
Windows still reports incorrect line number if error is in an included file
Fixes bug 8183
Included files not found are now reported with proper line number


git-svn-id: svn://10.0.0.236/trunk@37231 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:10:18 +00:00
briano%netscape.com
00cd6f2ea9 Fix for build problem on Solaris.
git-svn-id: svn://10.0.0.236/trunk@37230 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:10:11 +00:00
jdunn%netscape.com
457732c966 MUST have a newline at end of file
git-svn-id: svn://10.0.0.236/trunk@37229 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 21:01:36 +00:00
mscott%netscape.com
fddcf47e13 necko change: nsIStreamListener::OnDataAvailable now takes a nsIInputStream instead of a nsIBufferInputStream.
git-svn-id: svn://10.0.0.236/trunk@37223 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:43:28 +00:00
mscott%netscape.com
934f726fdb Necko change: nsIStreamListener::OnDataAvailable now takes a nsIInputStream instead of a nsIBufferInputStream.
git-svn-id: svn://10.0.0.236/trunk@37222 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:38:06 +00:00
mscott%netscape.com
0688db31b1 nsIStreamListener::OnDataAvailable now takes a nsIInputStream instead of a nsIBufferInputStream.
git-svn-id: svn://10.0.0.236/trunk@37221 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:37:10 +00:00
warren%netscape.com
c64e586b7c Fixed necko ifdefs.
git-svn-id: svn://10.0.0.236/trunk@37220 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:23:53 +00:00
warren%netscape.com
3bb37c757b Fixed necko ifdef.
git-svn-id: svn://10.0.0.236/trunk@37219 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:23:22 +00:00
briano%netscape.com
1e6547d545 Fix for OpenBSD.
git-svn-id: svn://10.0.0.236/trunk@37218 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:19:58 +00:00
warren%netscape.com
37239f31d8 Removed necko ifdef.
git-svn-id: svn://10.0.0.236/trunk@37217 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:19:48 +00:00
mscott%netscape.com
527e0a8c50 remove printf which was printing a char * file path passed into NSRegisterSelf. This file path is base 64
encoded alias handle on the mac and looks bogus when you print it out.


git-svn-id: svn://10.0.0.236/trunk@37216 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:14:10 +00:00
briano%netscape.com
104fea7d94 Fix for OpenBSD.
git-svn-id: svn://10.0.0.236/trunk@37215 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:12:32 +00:00
warren%netscape.com
2e5c8dcea4 Fixed necko linkage.
git-svn-id: svn://10.0.0.236/trunk@37214 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:12:23 +00:00
jdunn%netscape.com
34ca8b83be removing erroronious cast
git-svn-id: svn://10.0.0.236/trunk@37213 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 20:00:42 +00:00
harishd%netscape.com
88d9f28d87 Fix for Bug# 8229.
git-svn-id: svn://10.0.0.236/trunk@37212 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 19:59:38 +00:00
harishd%netscape.com
5eab108ef1 Fix for Bug# 7853.
Treating SCRIPT to be CDATA.


git-svn-id: svn://10.0.0.236/trunk@37211 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 19:58:30 +00:00
evaughan%netscape.com
4da086664a Fixed offset bug in the scrollbar
git-svn-id: svn://10.0.0.236/trunk@37210 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 19:57:28 +00:00
harishd%netscape.com
295a363c2b Fix for Bug# 7957.
Always set the first "Title".


git-svn-id: svn://10.0.0.236/trunk@37209 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 19:56:10 +00:00
akkana%netscape.com
fdfb71c862 Add copyright notice
git-svn-id: svn://10.0.0.236/trunk@37208 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 19:38:03 +00:00
slamm%netscape.com
5a2dce122d Clean up unblamed items' presentation.
git-svn-id: svn://10.0.0.236/trunk@37201 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 18:38:51 +00:00
slamm%netscape.com
c77ebfea96 Fix bonsai link
git-svn-id: svn://10.0.0.236/trunk@37200 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 18:33:46 +00:00
slamm%netscape.com
82d83cee07 Fix typo.
git-svn-id: svn://10.0.0.236/trunk@37199 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 18:25:56 +00:00
slamm%netscape.com
d63066afbf Shorten warnings page. Fix summary table at top.
git-svn-id: svn://10.0.0.236/trunk@37198 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 18:23:51 +00:00
slamm%netscape.com
5ddd883098 Use 'excerpt' arg for viewing part of a log.
git-svn-id: svn://10.0.0.236/trunk@37197 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 18:22:24 +00:00
slamm%netscape.com
587b80f834 Find a build record by logfile name.
git-svn-id: svn://10.0.0.236/trunk@37196 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 18:21:40 +00:00
terry%mozilla.org
3b04a45bf3 I want to know when people change the webtools.
git-svn-id: svn://10.0.0.236/trunk@37195 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 16:19:57 +00:00
leaf%mozilla.org
a5b83d822c removing cgi.h, which, apparently, is not needed anymore.
git-svn-id: svn://10.0.0.236/trunk@37194 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 16:11:39 +00:00
dp%netscape.com
3763e594eb Fixing depth
git-svn-id: svn://10.0.0.236/trunk@37193 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 15:55:47 +00:00
nisheeth%netscape.com
c35aa58669 Replacing nsIURI.h with nsIURL.h in the include list.
git-svn-id: svn://10.0.0.236/trunk@37192 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 15:06:33 +00:00
nisheeth%netscape.com
886c2a8871 Adding the architecture for an external transformation engine to hook into Raptor's layout process. One way this architecture can be used is for doing XSL transforms using a 3rd party component that implements the XSL processor. More details will be posted in mozilla.layout.
Currently enabled on windows only. Set MOZ_XSL to 1 in your environment and build mozilla/layout.


git-svn-id: svn://10.0.0.236/trunk@37191 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:49:29 +00:00
valeski%netscape.com
cd4a1fb027 some more idl/#define magic (my fingers are crossed) to get NECKO to build.
git-svn-id: svn://10.0.0.236/trunk@37190 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:46:16 +00:00
valeski%netscape.com
f8322188a9 added appropriate necko lib to link
git-svn-id: svn://10.0.0.236/trunk@37189 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:19:21 +00:00
nisheeth%netscape.com
e4984a9306 Adding the architecture for an external transformation engine to hook into Raptor's layout process. One way this architecture can be used is for doing XSL transforms using a 3rd party component that implements the XSL processor. More details will be posted in mozilla.layout.
Currently enabled on windows only. Set MOZ_XSL to 1 in your environment and build mozilla/layout.


git-svn-id: svn://10.0.0.236/trunk@37188 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:17:30 +00:00
valeski%netscape.com
67a2fda949 necko build
git-svn-id: svn://10.0.0.236/trunk@37187 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:16:31 +00:00
nisheeth%netscape.com
e0999cba02 Changed nsIURL to nsIURI.
git-svn-id: svn://10.0.0.236/trunk@37186 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:12:08 +00:00
nisheeth%netscape.com
c89bb22dc5 Adding the architecture for an external transformation engine to hook into Raptor's layout process. One way this architecture can be used is for doing XSL transforms using a 3rd party component that implements the XSL processor. More details will be posted in mozilla.layout.
Currently enabled on windows only.  Set MOZ_XSL to 1 in your environment and build mozilla/layout.


git-svn-id: svn://10.0.0.236/trunk@37185 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:12:07 +00:00
valeski%netscape.com
53cf0631c6 necko builds
git-svn-id: svn://10.0.0.236/trunk@37184 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:02:28 +00:00
nisheeth%netscape.com
86809761b1 Fixing up xml stylesheet PI...
git-svn-id: svn://10.0.0.236/trunk@37183 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:01:51 +00:00
buster%netscape.com
df76dde9ac fixed warnings
git-svn-id: svn://10.0.0.236/trunk@37182 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 14:00:54 +00:00
nisheeth%netscape.com
8a457f4b51 Adding the architecture for an external transformation engine to hook into Raptor's layout process. One way this architecture can be used is for doing XSL transforms using a 3rd party component that implements the XSL processor. More details will be posted in mozilla.layout.
Currently enabled on windows only.  Set MOZ_XSL to 1 in your environment and build mozilla/layout.


git-svn-id: svn://10.0.0.236/trunk@37181 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:52:29 +00:00
buster%netscape.com
51fd5f2d7e GFX text controls now hanlde max length, and max length set via DOM
GFX text controls now handle readonly and disabled states set via DOM


git-svn-id: svn://10.0.0.236/trunk@37180 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:48:38 +00:00
buster%netscape.com
d94e56698f fixed warnings
git-svn-id: svn://10.0.0.236/trunk@37179 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:44:40 +00:00
valeski%netscape.com
21a545d5ea necko build
git-svn-id: svn://10.0.0.236/trunk@37178 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:43:53 +00:00
buster%netscape.com
a0e007d087 Moved GetTextSelectionOffsets and GetDocumentLength from nsTextEditRules to
nsTextEditor.  Added GetDocumentLength to nsITextEditor public interface.


git-svn-id: svn://10.0.0.236/trunk@37177 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:36:38 +00:00
valeski%netscape.com
937930b3ef removed unnecessary file cgi.h (bug 8916). if someone needs it there and I'm not around, check with mcafee.
git-svn-id: svn://10.0.0.236/trunk@37176 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:13:12 +00:00
valeski%netscape.com
8e418e46c4 NECKO build. pushed the appropriate NECKO apis down into the editor shell from nsIDocumentLoaderObserver.
git-svn-id: svn://10.0.0.236/trunk@37175 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:01:55 +00:00
valeski%netscape.com
39cd7e1396 NECKO build fix. added proper args to nsIWebShell::Reload().
git-svn-id: svn://10.0.0.236/trunk@37174 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 12:31:56 +00:00
Jerry.Kirk%Nexwarecorp.com
a07847c5b4 - Worked on RetrieveCurrentNativeGraphicData method for Photon UI
git-svn-id: svn://10.0.0.236/trunk@37173 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 12:22:09 +00:00
valeski%netscape.com
04db729b47 NECKO build issue (nsILoadAttrib got loose on us)
git-svn-id: svn://10.0.0.236/trunk@37172 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 12:20:08 +00:00
hyatt%netscape.com
654ff25033 More shuffling and error-checking.
git-svn-id: svn://10.0.0.236/trunk@37171 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 10:47:52 +00:00
hyatt%netscape.com
69ecdf9e0b Shuffling some stuff around.
git-svn-id: svn://10.0.0.236/trunk@37170 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 10:38:06 +00:00
warren%netscape.com
2fd605cc6f Last of the necko ifdefs. Now we link with necko.
git-svn-id: svn://10.0.0.236/trunk@37169 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 10:35:57 +00:00
hyatt%netscape.com
ab20bcc3c9 Number Two: Mail/news performance continued to decline. We thought the
situation with the tree widget was hopeless.  And so we cloned it.  This
new tree widget is exactly like the original in every way... only
1/8 its size.

Dr. Evil: I shall call it... MINI-TREE.

(Translation: Backward scrolling now works in the lazy tree
widget.)


git-svn-id: svn://10.0.0.236/trunk@37168 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 08:35:10 +00:00
mcafee%netscape.com
01b7eb7407 Changes for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37167 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 08:12:44 +00:00
ramiro%netscape.com
be9a88e7ef Patch from Tomi Leppikangas <tomilepp@rak046.oulu.fi>.
Properly set the background of native widgets and fonts for text areas.


git-svn-id: svn://10.0.0.236/trunk@37165 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 07:49:39 +00:00
rickg%netscape.com
dd05ba8332 fixed bugs 4041 and 8047
git-svn-id: svn://10.0.0.236/trunk@37164 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 07:03:01 +00:00
warren%netscape.com
9e29774bfd Fixed NS_NewUnicharStreamLoader export. Added NS_NewLoadGroup.
git-svn-id: svn://10.0.0.236/trunk@37163 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 06:58:05 +00:00
warren%netscape.com
9c60edebe0 Added nsIBlockingNotification.h. Fixed NS_NewUnicharStreamLoader export.
git-svn-id: svn://10.0.0.236/trunk@37162 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 06:57:35 +00:00
brendan%netscape.com
3d9d9d07a6 OK, final fix not to impute JS_ARGUMENT_FORMATTER_DEFINED from va_start (duh).
Despite my stupidity here, I must say that over-includers elsewhere of both
jspubtd.h and jsapi.h, and even jscntxt.h, with system headers intermixed, suck
a lot too.


git-svn-id: svn://10.0.0.236/trunk@37160 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 04:51:23 +00:00
brendan%netscape.com
6c5c21734f Shoot me now.
git-svn-id: svn://10.0.0.236/trunk@37159 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 04:37:10 +00:00
brendan%netscape.com
2a739d7205 *Clone* JSArgumentFormatter typedef from jspubtd.h to jsapi.h to cope with bad
includers who grab jspubtd.h first, then stdarg.h, then jsapi.h.  Suckage.


git-svn-id: svn://10.0.0.236/trunk@37158 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 04:06:30 +00:00
brendan%netscape.com
08fe4f44e4 Move JSArgumentFormatter typedef from jspubtd.h to jsapi.h to cope with bad
includers who grab jspubtd.h first, then stdarg.h, then jsapi.h.


git-svn-id: svn://10.0.0.236/trunk@37157 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 03:52:16 +00:00
brendan%netscape.com
0bba7c2d36 Added custom JS_{Convert,Push}Arguments{,VA} formatter function support for
use by XPConnect and other clients.


git-svn-id: svn://10.0.0.236/trunk@37156 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 03:15:25 +00:00
blizzard%redhat.com
82ff56b9fc page up and page down
pages that move and reflow
next comes the gaffaw


git-svn-id: svn://10.0.0.236/trunk@37155 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 02:11:22 +00:00
blizzard%redhat.com
b2660a7eab child window goes
inside scrollbar parent window
next will come events


git-svn-id: svn://10.0.0.236/trunk@37154 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 00:59:43 +00:00
putterman%netscape.com
589ee16095 Initialize rv otherwise checking it later could return wrong results.
git-svn-id: svn://10.0.0.236/trunk@37153 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 23:16:25 +00:00
jefft%netscape.com
54144d1981 Make nsCopyRequest::Init() returning nsresult
git-svn-id: svn://10.0.0.236/trunk@37148 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 21:47:29 +00:00
peterl%netscape.com
1dc84bd010 removed autostring constructor usage per rickg
cleaned up url listing


git-svn-id: svn://10.0.0.236/trunk@37144 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 21:17:39 +00:00
peterl%netscape.com
84ac9ca460 cleanup url listing
git-svn-id: svn://10.0.0.236/trunk@37143 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 21:16:16 +00:00
peterl%netscape.com
334e504e37 removed old autostring constructor per rickg
git-svn-id: svn://10.0.0.236/trunk@37142 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 20:42:45 +00:00
syd%netscape.com
3e3953c958 Clean up compiler warning (unused variable)
git-svn-id: svn://10.0.0.236/trunk@37141 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 20:29:16 +00:00
syd%netscape.com
e8c9fcc774 Fix compiler warning
git-svn-id: svn://10.0.0.236/trunk@37140 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 19:52:51 +00:00
cmanske%netscape.com
1e9f0f85ee Adding editor toolbar icon
git-svn-id: svn://10.0.0.236/trunk@37139 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 19:39:30 +00:00
rickg%netscape.com
79117e0402 nsString API fixup
git-svn-id: svn://10.0.0.236/trunk@37138 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 18:53:46 +00:00
cmanske%netscape.com
b95e4e8e56 Composer UI work. Experiment with popup window for alignment setting
git-svn-id: svn://10.0.0.236/trunk@37137 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 18:47:19 +00:00
rickg%netscape.com
d0e79ea9eb fixup nsString API
git-svn-id: svn://10.0.0.236/trunk@37136 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 18:21:27 +00:00
rickg%netscape.com
a2710032b8 fixup to nsString API
git-svn-id: svn://10.0.0.236/trunk@37135 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 18:12:01 +00:00
rickg%netscape.com
8d81b37149 fixup nsString API usage
git-svn-id: svn://10.0.0.236/trunk@37134 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 18:04:40 +00:00
cmanske%netscape.com
e38dca2bd7 Removed causes of warnings
git-svn-id: svn://10.0.0.236/trunk@37133 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 17:55:37 +00:00
cmanske%netscape.com
b2fb5c94e2 Added an addref for returned element from GetSelectedElement
git-svn-id: svn://10.0.0.236/trunk@37132 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 17:55:01 +00:00
valeski%netscape.com
b10a25de46 lib name change and location change
git-svn-id: svn://10.0.0.236/trunk@37131 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 16:47:04 +00:00
valeski%netscape.com
01a9111cdb added cookie dir to necko build (haven't tested on anything bug win32)
git-svn-id: svn://10.0.0.236/trunk@37130 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 16:46:45 +00:00
valeski%netscape.com
ee536468f1 added the nsCookieHTTPNotify class to the lib factory. also fixed a QI bug.
git-svn-id: svn://10.0.0.236/trunk@37129 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 16:43:03 +00:00
valeski%netscape.com
6a6b0024c0 NECKO if defs
git-svn-id: svn://10.0.0.236/trunk@37128 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 16:36:48 +00:00
valeski%netscape.com
31a54e0a35 NECKO #ifdeffing
git-svn-id: svn://10.0.0.236/trunk@37127 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 16:35:17 +00:00
valeski%netscape.com
33c4d78c11 various #ifdef NECKO fixes.
git-svn-id: svn://10.0.0.236/trunk@37126 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 16:12:20 +00:00
valeski%netscape.com
0102c28573 copied the nsIUnicharStreamLoader interface and implementation over to necko; TEMPORARILY. This stuff does not belong in necko and needs to be factored out. I pushed it in to satisfy the NECKO builds.
git-svn-id: svn://10.0.0.236/trunk@37125 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 16:02:03 +00:00
rpotts%netscape.com
c041266e4e Fix to avoid those nasty divide by zero errors :-)
git-svn-id: svn://10.0.0.236/trunk@37124 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 11:14:35 +00:00
rpotts%netscape.com
2e4e19dafc Added support for loading a bunch of URLs from a file which is specified on the command-line...
git-svn-id: svn://10.0.0.236/trunk@37123 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 11:02:40 +00:00
mcafee%netscape.com
df65e1aca0 BeOS changes.
git-svn-id: svn://10.0.0.236/trunk@37122 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 10:17:36 +00:00
mcafee%netscape.com
c95b4dec17 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37121 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 10:13:28 +00:00
mcafee%netscape.com
02be303d37 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37120 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 09:34:52 +00:00
mcafee%netscape.com
6e6122795b BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37119 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 09:28:16 +00:00
mcafee%netscape.com
352e9a4847 BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37118 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 09:18:50 +00:00
toshok%hungry.com
887ee61a11 use addElement instead of add, as add is 1.2 specific, and both 1.2 and 1.1 have addElement.
git-svn-id: svn://10.0.0.236/trunk@37117 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 08:41:01 +00:00
toshok%hungry.com
3b7db0ec0d use getCanonicalPath instead of of getCanonicalFile().toString, as both JDK1.1 & 1.2 has getCanonicalPath, but only 1.2 has getCanonicalFile.
git-svn-id: svn://10.0.0.236/trunk@37116 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 08:38:50 +00:00
alecf%netscape.com
12c27839ef oops. check in regenerated headers
(I will add the IDL to the mac build soon)


git-svn-id: svn://10.0.0.236/trunk@37115 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 06:35:32 +00:00
alecf%netscape.com
d74dc3378a fix one of my warnings
git-svn-id: svn://10.0.0.236/trunk@37114 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 06:30:59 +00:00
alecf%netscape.com
d557f1e1cf remove dead code
git-svn-id: svn://10.0.0.236/trunk@37113 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 06:28:35 +00:00
alecf%netscape.com
c11126fa87 fix a **load of warnings, including one of my own.
git-svn-id: svn://10.0.0.236/trunk@37112 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 06:27:50 +00:00
alecf%netscape.com
94bbcdaf2f fix signed/unsigned issues
git-svn-id: svn://10.0.0.236/trunk@37111 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 06:18:41 +00:00
alecf%netscape.com
f15a3a6c5c fully qualify consts
git-svn-id: svn://10.0.0.236/trunk@37110 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 05:49:15 +00:00
bruce%cybersight.com
22e32fc718 Fixes for builds in an objdir. Use $(topsrcdir) and not $(DEPTH) for calculating path to rules.mk
git-svn-id: svn://10.0.0.236/trunk@37109 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 05:47:04 +00:00
alecf%netscape.com
fca929373d XPIDLisze nsIMsgParseMailboxState on windows
git-svn-id: svn://10.0.0.236/trunk@37108 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 05:17:49 +00:00
alecf%netscape.com
f15243f99e XPIDLize nsIMsgParseMailMsgState
git-svn-id: svn://10.0.0.236/trunk@37107 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 05:17:03 +00:00
alecf%netscape.com
4f1da80168 rename myISupports to something more obvious to avoid shadow warnings
git-svn-id: svn://10.0.0.236/trunk@37106 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 05:16:08 +00:00
alecf%netscape.com
fde28d71d7 re-add this file (mac is unhappy if it's missing)
git-svn-id: svn://10.0.0.236/trunk@37105 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 05:03:08 +00:00
alecf%netscape.com
a168479153 XPIDLize nsIPop3URL.idl and nsIMaliboxUrl.idl
git-svn-id: svn://10.0.0.236/trunk@37104 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:22:12 +00:00
alecf%netscape.com
b8c7c90073 nobody uses this anymore, remove it.
git-svn-id: svn://10.0.0.236/trunk@37103 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:20:28 +00:00
alecf%netscape.com
4dda33ca60 XPIDLize nsIUrlListenerManager on Mac and windows
git-svn-id: svn://10.0.0.236/trunk@37102 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:20:04 +00:00
alecf%netscape.com
86b0fbef9b #ifdef NS_DEBUG on fflush()
git-svn-id: svn://10.0.0.236/trunk@37101 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:15:25 +00:00
alecf%netscape.com
929dd44cfc extra error checking
git-svn-id: svn://10.0.0.236/trunk@37100 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:14:51 +00:00
alecf%netscape.com
03b40ad41a turn on XPIDL for nsIUrlListener.idl
git-svn-id: svn://10.0.0.236/trunk@37099 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:12:07 +00:00
alecf%netscape.com
d6019cbb44 XPIDLIZE nsIUrlListenerManager
git-svn-id: svn://10.0.0.236/trunk@37098 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:11:16 +00:00
alecf%netscape.com
ef3b34668b get ready for some XPIDLIZING!
git-svn-id: svn://10.0.0.236/trunk@37096 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:09:41 +00:00
alecf%netscape.com
bf8a2c11ce fix shadowed variable
git-svn-id: svn://10.0.0.236/trunk@37095 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 04:06:28 +00:00
alecf%netscape.com
fdcfe6394d switch to using constants from enums
git-svn-id: svn://10.0.0.236/trunk@37094 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 03:44:41 +00:00
alecf%netscape.com
d849b0d1a1 XPIDLize nsIMailboxUrl and nsIPop3URL
git-svn-id: svn://10.0.0.236/trunk@37078 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 03:41:59 +00:00
troy%netscape.com
b390461bd8 Fix for bug #7656. Changed the root frame to size the document element's
frame so it covers the entire canvas


git-svn-id: svn://10.0.0.236/trunk@37077 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 02:39:09 +00:00
jefft%netscape.com
43d08b3a8f forget to initialize the destination folder
git-svn-id: svn://10.0.0.236/trunk@37076 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 02:21:45 +00:00
bryce-mozilla%nextbus.com
a4d5616b7e Another battle in the HTML syntax error war. Two bodies, and a hanging
table data.  Hope this is OK, Terry.


git-svn-id: svn://10.0.0.236/trunk@37075 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 02:09:45 +00:00
danm%netscape.com
faabf1b7f8 adding _content target
git-svn-id: svn://10.0.0.236/trunk@37074 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 00:35:21 +00:00
av%netscape.com
04e4b7f745 Enabling stuff checked in earlier
git-svn-id: svn://10.0.0.236/trunk@37067 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 00:05:05 +00:00
rhp%netscape.com
edebafd069 Reworking message copy back end
git-svn-id: svn://10.0.0.236/trunk@37066 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 23:18:49 +00:00
av%netscape.com
079a6ae1cc Fixing build redness
git-svn-id: svn://10.0.0.236/trunk@37064 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 22:31:41 +00:00
av%netscape.com
1443cb5d28 Adding stub for new method
git-svn-id: svn://10.0.0.236/trunk@37061 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 22:02:37 +00:00
rhp%netscape.com
b4ef70b987 Fix for bug #8890
git-svn-id: svn://10.0.0.236/trunk@37060 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 21:57:07 +00:00
av%netscape.com
f204bb1484 Implementing getting native drawing data
git-svn-id: svn://10.0.0.236/trunk@37059 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 21:55:12 +00:00
av%netscape.com
ec81455e2b Adding a method to retrieve native drawing data
git-svn-id: svn://10.0.0.236/trunk@37058 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 21:53:07 +00:00
danm%netscape.com
0635fbf5eb added 'content' property to JS window
git-svn-id: svn://10.0.0.236/trunk@37057 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 21:48:29 +00:00
mcafee%netscape.com
5f47d04c04 Changes for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37054 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 21:39:54 +00:00
mcafee%netscape.com
9b89cc5970 Changes for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37053 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 21:32:57 +00:00
sspitzer%netscape.com
0645ea83f3 rearrange my ifdefs
git-svn-id: svn://10.0.0.236/trunk@37051 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 20:48:22 +00:00
sspitzer%netscape.com
99a9d8adc8 fix warning
git-svn-id: svn://10.0.0.236/trunk@37048 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 20:48:10 +00:00
sspitzer%netscape.com
14c783ed9c fix warnings
git-svn-id: svn://10.0.0.236/trunk@37047 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 20:47:13 +00:00
sspitzer%netscape.com
6946f22573 fix the assertion I was causing on IMAP. need to talk to bienvenu about how imap plans to use the msg key set
git-svn-id: svn://10.0.0.236/trunk@37046 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 20:46:56 +00:00
sspitzer%netscape.com
eb84b0d2bc clean up the ifdefs. get the debugging printf to work again
git-svn-id: svn://10.0.0.236/trunk@37045 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 20:45:42 +00:00
alecf%netscape.com
ab334c4e29 add [ptr] version of nsFileSpec
git-svn-id: svn://10.0.0.236/trunk@37044 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 20:27:28 +00:00
mcafee%netscape.com
5a1f0069b9 Adding case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37043 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 19:59:32 +00:00
mcafee%netscape.com
c98fbbffb3 Changes for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37042 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 19:49:21 +00:00
mcafee%netscape.com
4356c0de97 Changes for BeOS
git-svn-id: svn://10.0.0.236/trunk@37041 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 19:48:02 +00:00
mcafee%netscape.com
7ed80ebd20 Changes for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37040 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 19:42:53 +00:00
jefft%netscape.com
c8ef3645e4 try fixing mac build bustage
git-svn-id: svn://10.0.0.236/trunk@37039 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 19:39:50 +00:00
mcafee%netscape.com
7eda04fc75 Changes for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37038 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 19:24:41 +00:00
mcafee%netscape.com
13da383641 Changes for BeOS
git-svn-id: svn://10.0.0.236/trunk@37037 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 19:21:50 +00:00
jefft%netscape.com
5e316491eb stub implement CopyMessages() & CopyFileMessage() methods
git-svn-id: svn://10.0.0.236/trunk@37036 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 18:22:55 +00:00
jefft%netscape.com
76606ba4da more on uber service, filled in all the code for message copy service
git-svn-id: svn://10.0.0.236/trunk@37035 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 18:22:00 +00:00
jefft%netscape.com
a7f7c5a60a added CopyMessages() & CopyFileMessage() method
git-svn-id: svn://10.0.0.236/trunk@37034 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 18:20:30 +00:00
jefft%netscape.com
18cd4492f3 added one more parameter, nsresult result, to NotifyCompletion()
git-svn-id: svn://10.0.0.236/trunk@37033 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 18:19:33 +00:00
erik%netscape.com
3195cc5789 Delay the creation of the DLL until install:: time so that the networking
library will already have been built.


git-svn-id: svn://10.0.0.236/trunk@37032 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 18:05:41 +00:00
blizzard%redhat.com
cac316b3ec reuse a little code
git-svn-id: svn://10.0.0.236/trunk@37031 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 15:06:05 +00:00
rjc%netscape.com
40e2f9ed02 Fix a lot of warnings by not using "basename" as a variable as it happens to be defined globally as a function.
git-svn-id: svn://10.0.0.236/trunk@37030 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 09:25:22 +00:00
rjc%netscape.com
a8f8c21c87 Fix typo.
git-svn-id: svn://10.0.0.236/trunk@37029 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 09:17:46 +00:00
rjc%netscape.com
2ec9c0afea Fix typos.
git-svn-id: svn://10.0.0.236/trunk@37028 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 09:10:53 +00:00
rjc%netscape.com
9243292055 Implement some commands for bookmarks.
git-svn-id: svn://10.0.0.236/trunk@37027 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 08:31:16 +00:00
rjc%netscape.com
972f0c8ff2 Cleanup.
git-svn-id: svn://10.0.0.236/trunk@37026 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 08:29:11 +00:00
rjc%netscape.com
6a07ca4fc4 When building up list of commands via GetAllCmds(), walk forwards instead of backwards over datasources.
git-svn-id: svn://10.0.0.236/trunk@37025 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 08:28:43 +00:00
mccabe%netscape.com
9fa64e29bf Fix warning fix by casting void * (to go into a hashtable) as an unsigned int rather than as an int, which busts on platforms that have the high bit set for pointers.
Thanks to Duncan Wilcox <duncan@be.com> for catching this.


git-svn-id: svn://10.0.0.236/trunk@37024 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 08:17:00 +00:00
mcafee%netscape.com
4e36501ca5 Rules for BeOS build. Thanks to Duncan Wilcox (duncan@be.com) for this patch.
git-svn-id: svn://10.0.0.236/trunk@37023 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 08:16:01 +00:00
mcafee%netscape.com
f789ca07bd BeOS comment.
git-svn-id: svn://10.0.0.236/trunk@37022 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:43:12 +00:00
mcafee%netscape.com
37d129b997 Adding BEOS_PROGRAM_RESOURCE
git-svn-id: svn://10.0.0.236/trunk@37021 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:42:19 +00:00
rjc%netscape.com
526edfe683 Cleanup.
git-svn-id: svn://10.0.0.236/trunk@37020 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:40:59 +00:00
mcafee%netscape.com
7717f6a489 Adding cases for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37019 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:40:25 +00:00
mcafee%netscape.com
cbdd3d6821 INCLUDES should be LOCAL_INCLUDES.
git-svn-id: svn://10.0.0.236/trunk@37018 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:34:36 +00:00
mcafee%netscape.com
838a51c0f7 Adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37017 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:28:55 +00:00
mcafee%netscape.com
ad75d69a0d Adding case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37016 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:26:55 +00:00
rjc%netscape.com
7aced8a463 Cleanup.
git-svn-id: svn://10.0.0.236/trunk@37015 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:25:54 +00:00
mcafee%netscape.com
e3cd4c7f0c Changes for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37014 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:19:21 +00:00
mcafee%netscape.com
b1f4a38603 Adding comment for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37013 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:16:51 +00:00
mcafee%netscape.com
09b5565279 Adding case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@37012 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:15:38 +00:00
rjc%netscape.com
3b6f15975f Cleanup.
git-svn-id: svn://10.0.0.236/trunk@37011 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:11:56 +00:00
mcafee%netscape.com
cd5a4d1bf0 Removing some bogus crap from this Makefile.
git-svn-id: svn://10.0.0.236/trunk@37010 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 07:11:10 +00:00
sspitzer%netscape.com
3e9d94942c fix warnings. use nsCOMPtr
git-svn-id: svn://10.0.0.236/trunk@37008 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 06:58:25 +00:00
mcafee%netscape.com
6c6f4ca803 Adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37007 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 06:46:20 +00:00
mcafee%netscape.com
c0df942899 Adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@37006 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 06:39:43 +00:00
warren%netscape.com
fdf6c938bb Necko ifdefs for layout and rdf.
git-svn-id: svn://10.0.0.236/trunk@37005 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 06:36:26 +00:00
warren%netscape.com
76a4a480fc Added HashValue methods for ascii strings.
git-svn-id: svn://10.0.0.236/trunk@37004 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 06:32:35 +00:00
sspitzer%netscape.com
8e71a55e5b fix warning.
git-svn-id: svn://10.0.0.236/trunk@37003 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 05:57:29 +00:00
rjc%netscape.com
9f702a8a91 Add contextual menu support for bookmarks panel.
git-svn-id: svn://10.0.0.236/trunk@37002 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 05:04:24 +00:00
sspitzer%netscape.com
7fe41c88b7 more anal tricks.
git-svn-id: svn://10.0.0.236/trunk@37001 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 05:01:40 +00:00
sspitzer%netscape.com
cce020fd77 being anal.
git-svn-id: svn://10.0.0.236/trunk@37000 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:59:48 +00:00
rjc%netscape.com
4fb31bc268 Return an empty command enumerator instead of throwing an assertion.
git-svn-id: svn://10.0.0.236/trunk@36999 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:58:22 +00:00
rjc%netscape.com
ca442784f0 Reject assertions that we don't support instead of returning an error.
git-svn-id: svn://10.0.0.236/trunk@36998 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:51:05 +00:00
sspitzer%netscape.com
c4eb23cd38 fix warnings
git-svn-id: svn://10.0.0.236/trunk@36996 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:40:56 +00:00
rjc%netscape.com
7daab2910c Add some FTP commands (for context menus).
git-svn-id: svn://10.0.0.236/trunk@36995 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:39:16 +00:00
rjc%netscape.com
82f43d459e Add support for context menus.
git-svn-id: svn://10.0.0.236/trunk@36994 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:38:48 +00:00
sspitzer%netscape.com
cf5e6bd0f7 fix warning
git-svn-id: svn://10.0.0.236/trunk@36993 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:38:06 +00:00
sspitzer%netscape.com
4905826f2f fix the "ANSI C forbids an empty source file" warning.
of course this introduce the "defined but not used" warning.
I'll fix that when later.


git-svn-id: svn://10.0.0.236/trunk@36992 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:36:48 +00:00
sspitzer%netscape.com
ff17b25cf6 fix warnings
git-svn-id: svn://10.0.0.236/trunk@36991 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:17:58 +00:00
sspitzer%netscape.com
245c93ddeb explict casts to fix warnings
git-svn-id: svn://10.0.0.236/trunk@36990 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:13:40 +00:00
rhp%netscape.com
fc63d0500a Remove the ifdef with new interface in place
git-svn-id: svn://10.0.0.236/trunk@36988 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 04:01:41 +00:00
brendan%netscape.com
002110f568 Remove gratuitous include of <string.h>.
git-svn-id: svn://10.0.0.236/trunk@36987 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 03:32:46 +00:00
brendan%netscape.com
6864664759 - Rename js_CallFunctionValue to js_InternalCall to distinguish it from all
"external" calls compiled from scripts, which have stack budget depth slots
  under the return value slot for the call expression's generating pc.
- New internalCall packed boolean flag in JSStackFrame to distinguish callers
  of js_InternalCall so the generating pc isn't mistakenly stored depth slots
  below stack space allocated on-the-fly for internal call args/rval.
- Fixed bugzilla bug 8042, finally by storing the call expression's generating
  pc -- but only for external calls.
- Whitespace policing, gratuitous parenthesization reduction, etc.


git-svn-id: svn://10.0.0.236/trunk@36986 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 03:31:15 +00:00
troy%netscape.com
7b82473d6a Fix for bug #6630. Don't force the desired width to 0 for zero-height
frames, and don't have the document element frame shrink wrap


git-svn-id: svn://10.0.0.236/trunk@36985 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 03:21:49 +00:00
valeski%netscape.com
e64b8aa601 these are now in the public dir.
git-svn-id: svn://10.0.0.236/trunk@36984 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 03:13:39 +00:00
brendan%netscape.com
6c457ab2cd Eliminate assignment in condition.
git-svn-id: svn://10.0.0.236/trunk@36983 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 03:01:14 +00:00
rjc%netscape.com
a8c4d25dc2 Implement GetAllCmds().
git-svn-id: svn://10.0.0.236/trunk@36982 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 02:58:50 +00:00
hyatt%netscape.com
c6c355c4a8 Throw me a frickin' bone here.
git-svn-id: svn://10.0.0.236/trunk@36981 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 02:45:36 +00:00
rjc%netscape.com
3cc4de730a Oops, also missed this WindowMediator which needs to have a GetAllCmds() method as well.
git-svn-id: svn://10.0.0.236/trunk@36980 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 02:02:18 +00:00
rjc%netscape.com
f145994df5 Oops, missed updating chrome with the new GetAllCmds() method.
git-svn-id: svn://10.0.0.236/trunk@36979 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 01:43:00 +00:00
shaver%netscape.com
66f308cd1c um, that wasn't supposed to get checked in
git-svn-id: svn://10.0.0.236/trunk@36978 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 01:26:19 +00:00
ftang%netscape.com
f05a33f361 split nsICharsetDetectionObserver implementation from nsDetectionAdaptor to private class nsMyObserver so we won't have cycle reference which may cause memory leak
git-svn-id: svn://10.0.0.236/trunk@36977 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 01:19:18 +00:00
gordon%netscape.com
d22e5203c5 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36976 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 01:14:51 +00:00
rhp%netscape.com
74055893a2 Copy service changes
git-svn-id: svn://10.0.0.236/trunk@36972 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 01:11:28 +00:00
rjc%netscape.com
e44817cb97 Added new method GetAllCmds() which uses a nsISimpleEnumerator instead of GetAllCommands() which uses a nsIEnumerator. Migration to GetAllCmds() can be done in the future.
git-svn-id: svn://10.0.0.236/trunk@36971 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 01:09:02 +00:00
wtc%netscape.com
3a3367ced7 Checked in BeOS changes contributed by Duncan Wilcox (duncan@be.com).
Modified files: plevent.c, prstreams/Makefile, prlink.c, bfile.c,
testfile.c, tmocon.c.


git-svn-id: svn://10.0.0.236/trunk@36970 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 01:07:12 +00:00
akkana%netscape.com
bfcfe864dc Oops, use prettyprinting for OutputTextToStream as well as ToString.
git-svn-id: svn://10.0.0.236/trunk@36969 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 00:59:12 +00:00
shaver%netscape.com
9f8b661817 clean up className manipulation; no progids, though\!
git-svn-id: svn://10.0.0.236/trunk@36968 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 00:40:03 +00:00
law%netscape.com
157bd41438 Revert to proper code to get it working with current JS
git-svn-id: svn://10.0.0.236/trunk@36967 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 00:05:17 +00:00
akkana%netscape.com
2300ca567a - Add a prettyprint flag to the html-to-text sink (false by default).
When prettyprinting is on, we will attempt to make the plaintext
  mimic the look of the html; when off (as for copy/paste), we just
  dump the text with no formatting information.


git-svn-id: svn://10.0.0.236/trunk@36966 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 00:01:11 +00:00
ftang%netscape.com
1ae05240c6 fix multiple inheritance problem.
git-svn-id: svn://10.0.0.236/trunk@36965 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 23:14:23 +00:00
buster%netscape.com
7391f40410 implemented most of max length handling
git-svn-id: svn://10.0.0.236/trunk@36964 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:57:26 +00:00
wtc%netscape.com
3c981be387 Declared 'loops' signed so that it can be compared with 0
safely.  Other cleanups.  Thanks to Philip Pokorny
<ppokorny@mindspring.com> for the patch.


git-svn-id: svn://10.0.0.236/trunk@36963 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:50:37 +00:00
tao%netscape.com
bce2ce4c8a Remove warning on Linux.
git-svn-id: svn://10.0.0.236/trunk@36962 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:31:07 +00:00
sspitzer%netscape.com
539625b175 more work to get respecting the newsrc set working. move the set into the db. this isn't done yet, but it's shaping up.
git-svn-id: svn://10.0.0.236/trunk@36961 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:29:44 +00:00
sspitzer%netscape.com
126a101b13 fix build bustage for rhp
git-svn-id: svn://10.0.0.236/trunk@36960 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:25:57 +00:00
briano%netscape.com
22503d3b05 Eliminated the bogus references to MKSHLIB_FORCE_ALL and MKSHLIB_UNFORCE_ALL that was breaking OpenBSD.
git-svn-id: svn://10.0.0.236/trunk@36959 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:18:16 +00:00
slamm%netscape.com
70b6b8be4f fix typo.
git-svn-id: svn://10.0.0.236/trunk@36958 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:14:51 +00:00
slamm%netscape.com
32c6751eca Add netscape.com to cvsblames that have no address.
git-svn-id: svn://10.0.0.236/trunk@36957 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:13:43 +00:00
slamm%netscape.com
1c77b926e9 one more column. be more careful about going over the end
git-svn-id: svn://10.0.0.236/trunk@36956 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:09:43 +00:00
hangas%netscape.com
a42a1abdc5 More updates to addressbucket tree in selectaddress dialog
git-svn-id: svn://10.0.0.236/trunk@36955 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:06:39 +00:00
slamm%netscape.com
4234dbdb1f fix typo
git-svn-id: svn://10.0.0.236/trunk@36954 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:06:33 +00:00
slamm%netscape.com
d45594ef3b more columns
git-svn-id: svn://10.0.0.236/trunk@36953 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:05:09 +00:00
bienvenu%netscape.com
5dda632167 start working on threading stuff
git-svn-id: svn://10.0.0.236/trunk@36952 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:04:32 +00:00
ducarroz%netscape.com
c41a988faa add nsIDBChangeAnnouncer.idl and nsIDBChangeListener.idl
git-svn-id: svn://10.0.0.236/trunk@36951 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:03:51 +00:00
bienvenu%netscape.com
c7a71394fb add idl files for change listener and announcer
git-svn-id: svn://10.0.0.236/trunk@36950 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 22:00:00 +00:00
gagan%netscape.com
a1145e2556 NECKO only: Fixed the dont_AddRef problem.
git-svn-id: svn://10.0.0.236/trunk@36949 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:58:06 +00:00
slamm%netscape.com
2cb5d70d36 Cleaner 'no match' presentation.
git-svn-id: svn://10.0.0.236/trunk@36948 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:55:39 +00:00
slamm%netscape.com
f8d8d6c3f6 Use lxr for showing multiple file match
git-svn-id: svn://10.0.0.236/trunk@36947 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:54:24 +00:00
putterman%netscape.com
7b1fb05165 Added NS_NewMessageViewDataSource
git-svn-id: svn://10.0.0.236/trunk@36946 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:48:07 +00:00
ducarroz%netscape.com
9fb73e455e replace pref "mail.identity.<idn>.send_html" by "mail.identity.id1.compose_html".
replace pref "mail.identity.<idn>.wrap_column" by "mail.wraplength"


git-svn-id: svn://10.0.0.236/trunk@36945 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:47:43 +00:00
slamm%netscape.com
c0f3883b36 Guess this ignore pattern does not work on older perl.
git-svn-id: svn://10.0.0.236/trunk@36944 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:43:06 +00:00
slamm%netscape.com
0485be551e print summary of folks at top
git-svn-id: svn://10.0.0.236/trunk@36943 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:42:22 +00:00
ducarroz%netscape.com
131e5c33b1 need to use ShowWindowWithArgs to open message composition else it won't get the needed callback.
git-svn-id: svn://10.0.0.236/trunk@36942 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:41:23 +00:00
cmanske%netscape.com
8b8e65e6bf Implemented use of replaceable letters B, I, and U instead of image icons for editor Bold, Italic, and Underline buttons
git-svn-id: svn://10.0.0.236/trunk@36941 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:40:57 +00:00
ducarroz%netscape.com
d15fb2652a File Removed.
git-svn-id: svn://10.0.0.236/trunk@36940 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:40:21 +00:00
ducarroz%netscape.com
27dfe50d2f Replace space by '_' in url files in the tree.
git-svn-id: svn://10.0.0.236/trunk@36939 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:39:29 +00:00
sspitzer%netscape.com
84ae85c120 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@36938 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:38:43 +00:00
ducarroz%netscape.com
efaaa701e8 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36937 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:38:09 +00:00
putterman%netscape.com
3505e2cba2 Set Sent, Drafts, and Templates flags.
git-svn-id: svn://10.0.0.236/trunk@36936 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:37:52 +00:00
ftang%netscape.com
fc9220377b add 5 new sets of detector
git-svn-id: svn://10.0.0.236/trunk@36935 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:37:32 +00:00
putterman%netscape.com
830ee5f0bf Added NS_New functions for a bunch of datasources.
git-svn-id: svn://10.0.0.236/trunk@36934 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:36:39 +00:00
av%netscape.com
e30f4ece86 Added passing mouse events to winless plugin
git-svn-id: svn://10.0.0.236/trunk@36933 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:17:52 +00:00
dbragg%netscape.com
bbfb2b3fd3 Changed the way the old profiles are traversed. Added recursive space checking and recursive copying.nsPrefMigration.cpp
git-svn-id: svn://10.0.0.236/trunk@36932 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:12:41 +00:00
hangas%netscape.com
b32659f0db Moved js code to open selectaddress dialog to the compose js file
git-svn-id: svn://10.0.0.236/trunk@36931 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:09:24 +00:00
hangas%netscape.com
c70a13bf31 Modified addressbucket tree code to match new tree widget
git-svn-id: svn://10.0.0.236/trunk@36930 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:08:38 +00:00
slamm%netscape.com
c8c7d9bdc0 split warning text properly. Add another ignore.
git-svn-id: svn://10.0.0.236/trunk@36929 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:05:52 +00:00
rhp%netscape.com
6883d4e422 Test harness cleanup
git-svn-id: svn://10.0.0.236/trunk@36928 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 21:01:54 +00:00
slamm%netscape.com
609c0291ef Save time by avoiding file stat for file lookup
git-svn-id: svn://10.0.0.236/trunk@36927 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:52:50 +00:00
waterson%netscape.com
6b36359bd0 Expunge EqualsResource() and EqualsLiteral().
git-svn-id: svn://10.0.0.236/trunk@36926 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:51:13 +00:00
slamm%netscape.com
68348d066e found it
git-svn-id: svn://10.0.0.236/trunk@36925 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:31:06 +00:00
slamm%netscape.com
2354a5390b help debug lookup bug
git-svn-id: svn://10.0.0.236/trunk@36924 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:25:44 +00:00
blizzard%redhat.com
311b6f1407 cleanup of window creation
git-svn-id: svn://10.0.0.236/trunk@36923 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:23:37 +00:00
ftang%netscape.com
a2f15452d6 change UCS2 verifier name. Add new class to nsPSMDetectors.cpp
git-svn-id: svn://10.0.0.236/trunk@36922 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:22:39 +00:00
slamm%netscape.com
1359298b63 Tweak file lookups. Add ignore entry.
git-svn-id: svn://10.0.0.236/trunk@36921 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:21:17 +00:00
cmanske%netscape.com
519e5babe8 Changing to using B,I,U for editor style toolbar and remove 'Clear all styles' icon
git-svn-id: svn://10.0.0.236/trunk@36920 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:16:30 +00:00
bienvenu%netscape.com
bd820fada9 idl for db change listener and announcer
git-svn-id: svn://10.0.0.236/trunk@36919 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:15:29 +00:00
pnunn%netscape.com
7d66bf5fef added to image def's. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36918 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:14:31 +00:00
blizzard%redhat.com
9ef5f50421 increase the size of the scroll bars
git-svn-id: svn://10.0.0.236/trunk@36917 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:10:51 +00:00
blizzard%redhat.com
10ef0de896 scrollbar cleanups, share create native window call.
git-svn-id: svn://10.0.0.236/trunk@36916 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:10:30 +00:00
pnunn%netscape.com
c4c336d772 changed image type list. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36915 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:09:12 +00:00
akkana%netscape.com
a2607f36c2 Fix spelling error that was irritating me
git-svn-id: svn://10.0.0.236/trunk@36914 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 20:07:18 +00:00
bruce%cybersight.com
33476a93a4 Include nsIWebShellWindow.h here as this file explicitly needs it. This will prevent bustage when some patches I have laying around land.
git-svn-id: svn://10.0.0.236/trunk@36913 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:58:42 +00:00
pnunn%netscape.com
072f26b556 ok'd by warren and gagan. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36912 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:50:58 +00:00
slamm%netscape.com
f0e721ab18 Quote keyword replacement for s///
git-svn-id: svn://10.0.0.236/trunk@36911 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:49:33 +00:00
pnunn%netscape.com
58fa05a98a ok'd by warren and gagan .pnunn
git-svn-id: svn://10.0.0.236/trunk@36910 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:49:00 +00:00
briano%netscape.com
bd02827cdf Automated update
git-svn-id: svn://10.0.0.236/trunk@36909 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:48:18 +00:00
pnunn%netscape.com
0e8116efd8 fix warnings, #8154. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36908 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:47:25 +00:00
bienvenu%netscape.com
5928a06bb6 start working on making nsMsgDatabase scriptable
git-svn-id: svn://10.0.0.236/trunk@36905 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:46:47 +00:00
briano%netscape.com
5494d46910 Removed the check for yywrap, and cleaned up the Fullcircle stuff a bit.
git-svn-id: svn://10.0.0.236/trunk@36904 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:46:20 +00:00
nisheeth%netscape.com
9ec10a55cf Turning on IDL'ization of nsIAppShellService on Unix.
VS: ----------------------------------------------------------------------


git-svn-id: svn://10.0.0.236/trunk@36903 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:44:18 +00:00
slamm%netscape.com
bd25c6bf1d Included a few more file types for blaming. Give total warning count. Report unblamed warnings. Use shrike builds. luxor is not using --enable-pedantic.
git-svn-id: svn://10.0.0.236/trunk@36902 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:39:31 +00:00
briano%netscape.com
d9275898f4 Fix for platforms that don't define MKSHLIB_UNFORCE_ALL, but do define MKSHLIB_FORCE_ALL.
git-svn-id: svn://10.0.0.236/trunk@36901 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 19:00:45 +00:00
valeski%netscape.com
aa0e9fc80e not in main build - changed newCString to get buffer()
git-svn-id: svn://10.0.0.236/trunk@36900 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 18:49:35 +00:00
warren%netscape.com
51861e50e1 Added strdups to string accessors.
git-svn-id: svn://10.0.0.236/trunk@36899 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 17:59:58 +00:00
warren%netscape.com
69f52253da Added #undef GetPort for Windows.
git-svn-id: svn://10.0.0.236/trunk@36898 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 17:59:34 +00:00
andreas.otte%primus-online.de
05fa433341 adding nsILoadGroup.idl
git-svn-id: svn://10.0.0.236/trunk@36897 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 17:41:38 +00:00
slamm%netscape.com
c4640f3bed Fix spell-o.
git-svn-id: svn://10.0.0.236/trunk@36896 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 15:35:41 +00:00
dcone%netscape.com
61b2299973 Fixed a bug that double prints
git-svn-id: svn://10.0.0.236/trunk@36895 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 14:48:37 +00:00
jefft%netscape.com
6507ca4ab9 more on copy service
git-svn-id: svn://10.0.0.236/trunk@36894 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 14:34:44 +00:00
jefft%netscape.com
87a6e5a914 remove RegisterListener & UnregisterListener
git-svn-id: svn://10.0.0.236/trunk@36893 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 14:33:40 +00:00
mcafee%netscape.com
41f55c446a Adding coment for BeOS.
git-svn-id: svn://10.0.0.236/trunk@36892 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 14:33:31 +00:00
mcafee%netscape.com
d80754b545 Adding comment for BeOS.
git-svn-id: svn://10.0.0.236/trunk@36891 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 14:26:21 +00:00
mcafee%netscape.com
0f6725e1e8 Adding netwerk to SeaMonkeyCore. a=leaf
git-svn-id: svn://10.0.0.236/trunk@36890 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:56:37 +00:00
mcafee%netscape.com
7ff1cbe268 Adding case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@36889 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:45:43 +00:00
mcafee%netscape.com
5dfd3a74c3 Adding case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@36888 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:36:52 +00:00
mcafee%netscape.com
76bcffe394 Adding a case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@36887 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:34:39 +00:00
mcafee%netscape.com
dcc46434a3 Adding case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@36886 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:29:49 +00:00
mcafee%netscape.com
9558d85773 BeOS landing; thanks to Duncan Wilcox (duncan@be.com) for these changes.
git-svn-id: svn://10.0.0.236/trunk@36885 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:27:09 +00:00
mcafee%netscape.com
8c0c0491df Adding case for BeOS.
git-svn-id: svn://10.0.0.236/trunk@36884 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:08:05 +00:00
mcafee%netscape.com
89e72f0fcb Adding BeOS case.
git-svn-id: svn://10.0.0.236/trunk@36883 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 13:00:36 +00:00
mcafee%netscape.com
dc51d2deed Return an error for LoadIconImage() for BeOS because netlib is running in the UI thread. Thanks to Duncan Wilcox (duncan@be.com) for this fix.
git-svn-id: svn://10.0.0.236/trunk@36882 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 12:54:16 +00:00
mcafee%netscape.com
41cd098ec2 strerror() should only be implemented if we don't HAVE_STRERROR. Fixes BeOS build. Patch provided by Duncan Wilcox. (duncan@be.com)
git-svn-id: svn://10.0.0.236/trunk@36881 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 12:40:11 +00:00
mcafee%netscape.com
f6a872948f Attempting to remove liblayer from SeaMonkeyCore.
git-svn-id: svn://10.0.0.236/trunk@36880 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 12:18:49 +00:00
mcafee%netscape.com
fa27cb1ea3 Removing icondata.h from the unix build. r,a = leaf@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@36879 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 12:05:41 +00:00
ramiro%netscape.com
771d0d59dd gfxps update.
git-svn-id: svn://10.0.0.236/trunk@36878 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 11:46:11 +00:00
mcafee%netscape.com
579c928cf0 BeOS landing; thanks to Duncan Wilcox (duncan@be.com) for these changes.
git-svn-id: svn://10.0.0.236/trunk@36877 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 11:18:13 +00:00
mcafee%netscape.com
b4027f7cf6 BeOS landing; thanks to Duncan Wilcox (duncan@be.com) for these changes.
git-svn-id: svn://10.0.0.236/trunk@36876 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 11:08:07 +00:00
mcafee%netscape.com
3f013e65da forgot this was a binary file, forgot -kb
git-svn-id: svn://10.0.0.236/trunk@36875 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:59:15 +00:00
mcafee%netscape.com
8f634998b7 BeOS landing; thanks to Duncan Wilcox (duncan@be.com) for these changes.
git-svn-id: svn://10.0.0.236/trunk@36874 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:56:50 +00:00
ramiro%netscape.com
a74d3a715e Patch from Tomi Leppikangas <tomilepp@rak046.oulu.fi>.
Properly set the fonts of native widgets.


git-svn-id: svn://10.0.0.236/trunk@36873 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:43:43 +00:00
mcafee%netscape.com
d8dde5481d BeOS landing; thanks to Duncan Wilcox (duncan@be.com) for these changes.
git-svn-id: svn://10.0.0.236/trunk@36872 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:39:03 +00:00
jfrancis%netscape.com
475b049f3c these are not the droids you are looking for
git-svn-id: svn://10.0.0.236/trunk@36871 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:36:54 +00:00
hyatt%netscape.com
28bebb2e2e Fix for nsCOMPtr lameness.
git-svn-id: svn://10.0.0.236/trunk@36870 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:21:09 +00:00
hyatt%netscape.com
2f154b2c86 Release the chain when done with it.
git-svn-id: svn://10.0.0.236/trunk@36869 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:07:45 +00:00
hyatt%netscape.com
cf909c766c Fixing my for scoping.
git-svn-id: svn://10.0.0.236/trunk@36868 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 10:03:37 +00:00
hyatt%netscape.com
210f73d92e More scrolling fun.
git-svn-id: svn://10.0.0.236/trunk@36867 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:59:20 +00:00
mcafee%netscape.com
b78384e33b BeOS landing; thanks to Duncan Wilcox (duncan@be.com) for these changes.
git-svn-id: svn://10.0.0.236/trunk@36866 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:59:14 +00:00
ramiro%netscape.com
33bd20ae1f Changes to turn gfxps into a true component. Thanks to alecf@netscape.com
for providing the base patch.


git-svn-id: svn://10.0.0.236/trunk@36865 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:46:59 +00:00
alecf%netscape.com
44220a1b32 add account wizard to the edit menu
git-svn-id: svn://10.0.0.236/trunk@36864 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:44:39 +00:00
ramiro%netscape.com
c0977e23ac Changes to turn gfxps into a true component. Thanks to alecf@netscape.com
for providing the base patch.


git-svn-id: svn://10.0.0.236/trunk@36863 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:38:26 +00:00
hyatt%netscape.com
ccf4ef6b04 Give me your baby! Ah want tuh eat yore baby!
git-svn-id: svn://10.0.0.236/trunk@36862 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:35:39 +00:00
jfrancis%netscape.com
d314457228 improvement of editing rules for insert list, indent, outdent, and change alignment
git-svn-id: svn://10.0.0.236/trunk@36861 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:33:02 +00:00
rjc%netscape.com
5e9eb2e25b Only set natural order attribute on the containment element.
git-svn-id: svn://10.0.0.236/trunk@36860 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:32:43 +00:00
rjc%netscape.com
d040b26800 Make sure that columns are defined for bookmarks in this panel, otherwise sorting doesn't work.
git-svn-id: svn://10.0.0.236/trunk@36859 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:26:21 +00:00
mccabe%netscape.com
e26c8accf9 Add 'void' to generated method signatures that'd otherwise come out as foo(), to avoid the legacy C feature of having () disable typechecking.
git-svn-id: svn://10.0.0.236/trunk@36858 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:22:52 +00:00
rjc%netscape.com
74dd405e57 If a non-natural order sort is active, hilite that column.
git-svn-id: svn://10.0.0.236/trunk@36857 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:20:21 +00:00
rjc%netscape.com
7f425fc031 Unset sortActive and sortDirection attributes if "natural order" is being used.
git-svn-id: svn://10.0.0.236/trunk@36856 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:19:29 +00:00
alecf%netscape.com
63648d418d export new account wizard on windows and mac
git-svn-id: svn://10.0.0.236/trunk@36855 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:19:10 +00:00
alecf%netscape.com
9ccee9325f add a default selection
git-svn-id: svn://10.0.0.236/trunk@36854 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:07:21 +00:00
alecf%netscape.com
1fb37e628f add support for new wizard pages
git-svn-id: svn://10.0.0.236/trunk@36853 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 09:06:19 +00:00
alecf%netscape.com
7c2988c8f6 export new files on unix
git-svn-id: svn://10.0.0.236/trunk@36852 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 08:45:28 +00:00
hyatt%netscape.com
f1fb07fb9f The tree widgets will use its giant "laser beam" to conquer 1960s Earth.
git-svn-id: svn://10.0.0.236/trunk@36851 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 08:45:01 +00:00
alecf%netscape.com
ee7574dbe7 add new account wizard pages
git-svn-id: svn://10.0.0.236/trunk@36850 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 08:44:39 +00:00
alecf%netscape.com
adb7bdd83c add onCancel method and helper method for loading pages on the fly
git-svn-id: svn://10.0.0.236/trunk@36849 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 08:44:19 +00:00
briano%netscape.com
a8d812f66d Automated update
git-svn-id: svn://10.0.0.236/trunk@36848 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 08:14:56 +00:00
mcafee%netscape.com
f2b0421709 Looks like briano checked in some of Duncan Wilcox's BeOS changes, adding one change that didn't get in.
git-svn-id: svn://10.0.0.236/trunk@36847 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 08:06:57 +00:00
hyatt%netscape.com
ca219ebc3a Tree views are the diet coke of evil.
git-svn-id: svn://10.0.0.236/trunk@36846 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 08:06:46 +00:00
rpotts%netscape.com
2ab4cbd6f4 Added a -verbose flag in preparation for batching URLs from a file...
git-svn-id: svn://10.0.0.236/trunk@36845 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:52:12 +00:00
rpotts%netscape.com
225b3fdc31 Added code to propagate the nsISupports context passed into AsyncRead(...) by the consumer back out in the calls to OnStartBinding/OnDataAvailable/OnStopBinding...
git-svn-id: svn://10.0.0.236/trunk@36844 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:51:17 +00:00
leaf%mozilla.org
7d329dc129 xpinstall is leading to startup crashes (bug 8849).
Turning off xpinstall until someone fixes it for redhat linux 5.2


git-svn-id: svn://10.0.0.236/trunk@36843 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:50:39 +00:00
ftang%netscape.com
6c34a10cd4 add new verifier
git-svn-id: svn://10.0.0.236/trunk@36842 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:42:09 +00:00
ftang%netscape.com
54f32a884b add new tools
git-svn-id: svn://10.0.0.236/trunk@36841 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:37:48 +00:00
ramiro%netscape.com
b4b609beef Use this gdb hack to save memory.
git-svn-id: svn://10.0.0.236/trunk@36840 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:18:14 +00:00
despotdaemon%netscape.com
14fb0ff603 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@36839 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:15:58 +00:00
alecf%netscape.com
2fd102d6c4 make options window small and modal
git-svn-id: svn://10.0.0.236/trunk@36838 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:12:13 +00:00
rjc%netscape.com
cbef5fcb48 Set the column background color for the column that's being sorted on to lightgray.
git-svn-id: svn://10.0.0.236/trunk@36837 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 07:00:53 +00:00
rjc%netscape.com
1054062dfb Get sorting working with new tree structure. Basically, just look for treechildren instead of treebody when walking down from the root of the tree.
git-svn-id: svn://10.0.0.236/trunk@36836 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 06:47:28 +00:00
rpotts%netscape.com
a125f0a621 Fixed bug where extra garbage was being read from the stream...
git-svn-id: svn://10.0.0.236/trunk@36835 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 06:28:58 +00:00
mcafee%netscape.com
ca431364ec typo, fixing linux bustage.
git-svn-id: svn://10.0.0.236/trunk@36834 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 05:16:37 +00:00
troy%netscape.com
ee7e3babb8 Fix for bug #5762. Changed DeleteFrame() to call CancelReflowCommand()
when a frame is destroyed


git-svn-id: svn://10.0.0.236/trunk@36833 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 04:22:15 +00:00
endico%mozilla.org
7c478d64e4 use the new hostname www.deja.com instead of dejanews
git-svn-id: svn://10.0.0.236/trunk@36832 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 04:05:54 +00:00
putterman%netscape.com
ce236f5af5 Add GetPath to nsIMsgFolder.
git-svn-id: svn://10.0.0.236/trunk@36831 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 03:56:02 +00:00
cmanske%netscape.com
3a2e4a5152 Expanded nsIEditPropery to include all (I hope) HTML tags
git-svn-id: svn://10.0.0.236/trunk@36830 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 03:18:42 +00:00
troy%netscape.com
98b29185d0 Fix for bug #6947. Changed PlaceBlock() to also check the combined area height
when checking for a zero-height frame


git-svn-id: svn://10.0.0.236/trunk@36829 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 03:17:04 +00:00
briano%netscape.com
5bf56f2824 Automated update
git-svn-id: svn://10.0.0.236/trunk@36828 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 03:04:32 +00:00
briano%netscape.com
56af93e0d1 Duh. We're defining MKSHLIB to be ld on OpenBSD so we don't need the -Wl.
git-svn-id: svn://10.0.0.236/trunk@36827 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 03:04:14 +00:00
warren%netscape.com
83c4cabaf7 Fixed makefiles for necko module, but netwerk directory.
git-svn-id: svn://10.0.0.236/trunk@36826 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 03:00:32 +00:00
mscott%netscape.com
d6dd99109e fix build breakage. Change directory path from necko to netwerk. Note: I'm not changing any of the library names,
just the paths (which should still be netwerk).


git-svn-id: svn://10.0.0.236/trunk@36825 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 02:45:05 +00:00
warren%netscape.com
d1a61845a5 Changed URLGroup to LoadGroup
git-svn-id: svn://10.0.0.236/trunk@36824 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 02:31:51 +00:00
warren%netscape.com
b870de7299 Renamed nsIURLGroup to nsILoadGroup in preparation for necko.
git-svn-id: svn://10.0.0.236/trunk@36818 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 02:17:37 +00:00
warren%netscape.com
411f68d823 More necko changes.
git-svn-id: svn://10.0.0.236/trunk@36817 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:53:22 +00:00
hyatt%netscape.com
da2f868ce1 Do tree widgets make you feel horny, baby? Do they?
git-svn-id: svn://10.0.0.236/trunk@36816 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:48:40 +00:00
ftang%netscape.com
65df07fd72 fix unix. Add Makefile.in
git-svn-id: svn://10.0.0.236/trunk@36815 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:42:20 +00:00
gagan%netscape.com
49f7acdaa6 More Necko landing changes...
git-svn-id: svn://10.0.0.236/trunk@36814 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:41:26 +00:00
warren%netscape.com
f6418afc8e Added constructor functions for nsEnumeratorUtils.
git-svn-id: svn://10.0.0.236/trunk@36813 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:38:33 +00:00
ftang%netscape.com
bbaa2a673a add tests directory
git-svn-id: svn://10.0.0.236/trunk@36812 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:34:10 +00:00
ftang%netscape.com
411835cd65 add test application DetectCharset
git-svn-id: svn://10.0.0.236/trunk@36811 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:33:14 +00:00
hyatt%netscape.com
ee3b745244 Fixes for scrolling.
git-svn-id: svn://10.0.0.236/trunk@36809 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:28:43 +00:00
ftang%netscape.com
68374e581a fix state table error (generated by ../tools/*.pl, and wrong integer packacking macro, and do cast for char to unsigend char
git-svn-id: svn://10.0.0.236/trunk@36808 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:27:14 +00:00
ftang%netscape.com
232dfe2ca4 fix wrong state table at iso2022jp and sjis
git-svn-id: svn://10.0.0.236/trunk@36807 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:24:01 +00:00
pollmann%netscape.com
9fc86d5246 Getting cursor from style system: Insert paranoia^H^H^H^H^H^H^H^H^H stability code here.
git-svn-id: svn://10.0.0.236/trunk@36806 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:17:18 +00:00
nisheeth%netscape.com
b0d4d0ab83 IDL'ized nsIAppShellService. Only enabling for windows right now...
git-svn-id: svn://10.0.0.236/trunk@36805 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:15:19 +00:00
hyatt%netscape.com
cc52a7cf83 Fixing the editor toolbars to fill the whole toolbox.
git-svn-id: svn://10.0.0.236/trunk@36804 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:10:28 +00:00
briano%netscape.com
42dfd3a539 Fix for OpenBSD and potentially Solaris/x86.
git-svn-id: svn://10.0.0.236/trunk@36803 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 01:06:49 +00:00
briano%netscape.com
b832b663a2 Automated update
git-svn-id: svn://10.0.0.236/trunk@36802 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:59:55 +00:00
nisheeth%netscape.com
8dc16a9400 Fix bug 2760. The webcrawler only registers itself as a document loader observer if the right command line arguments are given to viewer.
git-svn-id: svn://10.0.0.236/trunk@36801 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:57:16 +00:00
briano%netscape.com
a44586b9e3 OpenBSD's ld ignores --whole-archive, but has -Bforcearchive which looks like it might work in its place.
git-svn-id: svn://10.0.0.236/trunk@36800 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:52:52 +00:00
sspitzer%netscape.com
250af07667 changes to make this not build if path isn't defined
git-svn-id: svn://10.0.0.236/trunk@36799 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:49:28 +00:00
sspitzer%netscape.com
17a836a044 comment the out the unbuilt tests.
git-svn-id: svn://10.0.0.236/trunk@36798 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:35:40 +00:00
sspitzer%netscape.com
5dfa3227db create makefiles for these tests.
git-svn-id: svn://10.0.0.236/trunk@36797 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:34:36 +00:00
sspitzer%netscape.com
7b82bd0f3b fix more warnings
git-svn-id: svn://10.0.0.236/trunk@36796 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:33:20 +00:00
alecf%netscape.com
d940e81c73 add first cut at some wizard pages
git-svn-id: svn://10.0.0.236/trunk@36795 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:31:19 +00:00
sspitzer%netscape.com
859fa251bc fix warnings
git-svn-id: svn://10.0.0.236/trunk@36794 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:28:45 +00:00
buster%netscape.com
ffacaa6f7d fixed Unix bustage. compare nsCOMPtr xxx.get() rather than just xxx
git-svn-id: svn://10.0.0.236/trunk@36793 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:28:28 +00:00
sspitzer%netscape.com
7db8171d5c ingnore the generated makefile
git-svn-id: svn://10.0.0.236/trunk@36792 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:25:25 +00:00
sspitzer%netscape.com
d69d5534b1 sendpage not built on windows by default
git-svn-id: svn://10.0.0.236/trunk@36791 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:24:28 +00:00
sspitzer%netscape.com
230daaa230 fix warnings. get this stuff to build on UNIX
git-svn-id: svn://10.0.0.236/trunk@36790 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:23:26 +00:00
sspitzer%netscape.com
1290c51b05 more tests for unix
git-svn-id: svn://10.0.0.236/trunk@36789 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:21:00 +00:00
ftang%netscape.com
b7705d9bcf fix multiple inheritance bug
git-svn-id: svn://10.0.0.236/trunk@36788 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:20:37 +00:00
pollmann%netscape.com
c49e438a18 Use the style system to get the mouse pointer for an image input element.
git-svn-id: svn://10.0.0.236/trunk@36787 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:19:44 +00:00
sspitzer%netscape.com
3420c3f961 makefile changes to get these tests to build on UNIX
git-svn-id: svn://10.0.0.236/trunk@36786 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:19:06 +00:00
rhp%netscape.com
fe9bf9adea New function for ULR parsing
git-svn-id: svn://10.0.0.236/trunk@36784 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:10:13 +00:00
putterman%netscape.com
050b4783f0 Add NS_INIT_REFCNT() and QueryInterface can query for the correct interface.
git-svn-id: svn://10.0.0.236/trunk@36783 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:09:08 +00:00
warren%netscape.com
ea77318e13 Swapped args to NS_OpenURI. Fixed library name.
git-svn-id: svn://10.0.0.236/trunk@36782 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:08:57 +00:00
warren%netscape.com
7427419abb Swapped args to NS_OpenURI.
git-svn-id: svn://10.0.0.236/trunk@36781 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:08:05 +00:00
warren%netscape.com
4c7ea3f2f7 Added group argument. Swapped args to NS_OpenURI
git-svn-id: svn://10.0.0.236/trunk@36780 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:07:34 +00:00
gagan%netscape.com
5fc7f47ca8 More Necko landing changes.
git-svn-id: svn://10.0.0.236/trunk@36779 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-25 00:03:22 +00:00
ducarroz%netscape.com
b097e52bdc Add nsIMsgSendListener.idl
Add nsIMsgSendLaterListener.idl


git-svn-id: svn://10.0.0.236/trunk@36778 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:54:49 +00:00
ducarroz%netscape.com
53b58e5c91 Add nsURLFetcher.cpp
git-svn-id: svn://10.0.0.236/trunk@36777 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:54:46 +00:00
rhp%netscape.com
98cc862236 Changes for compose reorg
git-svn-id: svn://10.0.0.236/trunk@36772 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:54:34 +00:00
buster%netscape.com
09ba23297a quiet debug now
git-svn-id: svn://10.0.0.236/trunk@36771 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:50:53 +00:00
ducarroz%netscape.com
93609f76da add comi18n.h
git-svn-id: svn://10.0.0.236/trunk@36770 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:49:25 +00:00
buster%netscape.com
e2789e8e0d fixed build bustage, forgo using nsCOMPtr on views, they can't be ref counted!
git-svn-id: svn://10.0.0.236/trunk@36769 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:49:03 +00:00
buster%netscape.com
5257d63875 added behavior for password fields
fixed a bunch of selection bugs


git-svn-id: svn://10.0.0.236/trunk@36768 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:37:55 +00:00
buster%netscape.com
e1f56f54b7 added rules for password behavior
git-svn-id: svn://10.0.0.236/trunk@36767 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:36:56 +00:00
slamm%netscape.com
1ba16b0cec Fix tiny error.
git-svn-id: svn://10.0.0.236/trunk@36766 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:34:56 +00:00
buster%netscape.com
9c117ff5c2 added nsIEditProperty::img
git-svn-id: svn://10.0.0.236/trunk@36765 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:34:41 +00:00
buster%netscape.com
9e7c8582c4 added img
git-svn-id: svn://10.0.0.236/trunk@36764 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:33:47 +00:00
buster%netscape.com
d88fa6aa8c fixed illegal use of nsCOMPtr
git-svn-id: svn://10.0.0.236/trunk@36763 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:33:18 +00:00
buster%netscape.com
d1580b351a attempt to fix mac build
git-svn-id: svn://10.0.0.236/trunk@36762 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:32:03 +00:00
slamm%netscape.com
f577c446fc Pass all build params to log.
git-svn-id: svn://10.0.0.236/trunk@36761 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:30:34 +00:00
slamm%netscape.com
8b853e8b5e Add ability to show log fragment.
git-svn-id: svn://10.0.0.236/trunk@36760 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:30:08 +00:00
warren%netscape.com
9bad1c202f More necko changes.
git-svn-id: svn://10.0.0.236/trunk@36759 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:23:23 +00:00
putterman%netscape.com
8da9622a1f use nsIMsgCopyService's CopyMessages.
git-svn-id: svn://10.0.0.236/trunk@36758 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:22:49 +00:00
ftang%netscape.com
0ba286d1f1 implement our own QueryInterfce to fix casting problem
git-svn-id: svn://10.0.0.236/trunk@36756 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:16:44 +00:00
warren%netscape.com
7c6d53b215 Changed our library names from netwerk to necko.
git-svn-id: svn://10.0.0.236/trunk@36755 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:13:46 +00:00
slamm%netscape.com
30e0f160d8 Avoid counting repeated warnings too many times.
git-svn-id: svn://10.0.0.236/trunk@36754 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 23:01:02 +00:00
warren%netscape.com
741b9ebc71 Added nsILoadGroup. Changed load attribute strategy to flags.
git-svn-id: svn://10.0.0.236/trunk@36753 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:58:42 +00:00
buster%netscape.com
b6ddc33395 fixed problem that scrollbars would appear on single-line text controls
fixed API masking problem, thanks Simon!


git-svn-id: svn://10.0.0.236/trunk@36752 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:42:50 +00:00
buster%netscape.com
bd1a695a05 added GetIID static methods to public interfaces. Code-reviewed by Kevin M.
git-svn-id: svn://10.0.0.236/trunk@36751 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:40:53 +00:00
briano%netscape.com
708f075e6e Fix for the case where jscpucfg dies and leaves a zero-length jsautocfg.h.
git-svn-id: svn://10.0.0.236/trunk@36750 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:35:28 +00:00
bienvenu%netscape.com
01acbea445 fix unix warning
git-svn-id: svn://10.0.0.236/trunk@36748 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:35:22 +00:00
slamm%netscape.com
b0c2162847 Add license. Output html to a file.
git-svn-id: svn://10.0.0.236/trunk@36747 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:33:33 +00:00
bienvenu%netscape.com
a597e0cb12 turn on utf7 en and decoding
git-svn-id: svn://10.0.0.236/trunk@36746 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:30:26 +00:00
briano%netscape.com
a27469d77a Maybe this will make it work with broken shells that object to blank lines.
git-svn-id: svn://10.0.0.236/trunk@36745 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:19:42 +00:00
slamm%netscape.com
63046dd31d Move warnings into tinderbox.
git-svn-id: svn://10.0.0.236/trunk@36744 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:10:11 +00:00
slamm%netscape.com
e4ae452a70 Parse warnings and print a report based on cvs blame.
git-svn-id: svn://10.0.0.236/trunk@36743 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:07:54 +00:00
hangas%netscape.com
1110ed609e Reorganized address book JS files
git-svn-id: svn://10.0.0.236/trunk@36742 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:03:19 +00:00
ftang%netscape.com
6dbcbe8366 fix bug- add break in switch statement
git-svn-id: svn://10.0.0.236/trunk@36741 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 22:00:58 +00:00
radha%netscape.com
aed4c74b48 Disable relaod button while loading a page
git-svn-id: svn://10.0.0.236/trunk@36740 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:59:02 +00:00
law%netscape.com
de0459d959 Fix for bug #7148; set table width to 100% rather than fixed to avoid funky layout problems
git-svn-id: svn://10.0.0.236/trunk@36739 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:56:33 +00:00
hangas%netscape.com
7b882da357 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36737 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:50:53 +00:00
valeski%netscape.com
4973b3ef25 not in main pull - added cookie test stuff
git-svn-id: svn://10.0.0.236/trunk@36736 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:41:19 +00:00
valeski%netscape.com
5ed0d75ddc not on main pull - pulled extraneous reference to an nsIHTTPNotify
git-svn-id: svn://10.0.0.236/trunk@36735 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:35:21 +00:00
av%netscape.com
3242949dce Fixing build problem
git-svn-id: svn://10.0.0.236/trunk@36734 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:34:37 +00:00
putterman%netscape.com
40e630ccfc Work for doing copy through RDF
git-svn-id: svn://10.0.0.236/trunk@36733 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:26:48 +00:00
putterman%netscape.com
90642b4262 Finish the copy before deleting the old message.
git-svn-id: svn://10.0.0.236/trunk@36731 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:26:10 +00:00
putterman%netscape.com
a382cd6551 Add database to copying.
git-svn-id: svn://10.0.0.236/trunk@36730 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:25:39 +00:00
waterson%netscape.com
80edb85372 Replace use of EqualsNode() with pointer comparison. This is safe (and has been for a while :-/) because literals are hashed.
git-svn-id: svn://10.0.0.236/trunk@36729 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:19:54 +00:00
waterson%netscape.com
f23241ce64 Fix use of nsString with nsAutoString where appropriate.
git-svn-id: svn://10.0.0.236/trunk@36728 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:19:02 +00:00
cmanske%netscape.com
7c49d74855 Changed SetBodyAttribute to use nsEditor::SetAttribute so txn system is used for undo
git-svn-id: svn://10.0.0.236/trunk@36727 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:17:50 +00:00
sspitzer%netscape.com
0bf660e6a5 check return values. don't compare a nsresult with NS_OK directory, use the macros.
git-svn-id: svn://10.0.0.236/trunk@36726 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:16:01 +00:00
sspitzer%netscape.com
888955a4dd fix warnings
git-svn-id: svn://10.0.0.236/trunk@36725 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 21:09:58 +00:00
cmanske%netscape.com
078a1a95b5 Fixed GetBodyElement. Changed editor test doc to not use CSS for background. Initial code to edit element properties when double-clicking on element.
git-svn-id: svn://10.0.0.236/trunk@36724 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:59:45 +00:00
ftang%netscape.com
3e04dfe404 add Japanese detector
git-svn-id: svn://10.0.0.236/trunk@36723 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:56:04 +00:00
bienvenu%netscape.com
dffc7be628 fix warnings, don't close local maildb when setting summary valid
git-svn-id: svn://10.0.0.236/trunk@36722 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:55:42 +00:00
av%netscape.com
2ab3621289 fixes getting right hdc foe winless plugin painting, disabled yet
git-svn-id: svn://10.0.0.236/trunk@36721 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:55:33 +00:00
ftang%netscape.com
ef2d1ad0ac seperate into several groups to ease maintaince
add nsDebugDetector.cpp


git-svn-id: svn://10.0.0.236/trunk@36720 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:55:32 +00:00
ftang%netscape.com
247d8287bf add nsPSMDetectors.cpp to makefile.win
git-svn-id: svn://10.0.0.236/trunk@36719 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:54:45 +00:00
ftang%netscape.com
df2a112825 Makefile.in
git-svn-id: svn://10.0.0.236/trunk@36718 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:54:07 +00:00
sspitzer%netscape.com
4e2e468a8b ignore the soon-to-be-generated files
git-svn-id: svn://10.0.0.236/trunk@36717 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:50:14 +00:00
rogerl%netscape.com
752acf3124 Added tree deletion to regexp finalizer
git-svn-id: svn://10.0.0.236/trunk@36716 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:47:20 +00:00
briano%netscape.com
0060b31ab8 Automated update
git-svn-id: svn://10.0.0.236/trunk@36715 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:44:57 +00:00
ftang%netscape.com
645aea2d47 add japanese detector
git-svn-id: svn://10.0.0.236/trunk@36714 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:44:56 +00:00
ftang%netscape.com
cf895ab905 add verifier generation tools
git-svn-id: svn://10.0.0.236/trunk@36713 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:41:28 +00:00
ftang%netscape.com
e410e909be add eNoAnswerMatch and make define less than 32 char so it won't longer than ANSI standard
git-svn-id: svn://10.0.0.236/trunk@36712 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:40:25 +00:00
sspitzer%netscape.com
ce4988678f *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@36711 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:32:11 +00:00
jefft%netscape.com
e087d2a186 register message copy service component
git-svn-id: svn://10.0.0.236/trunk@36710 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:25:31 +00:00
sspitzer%netscape.com
8dc6fa2001 rework back end. remove crusty old embarassing hacks. still more to be done.
git-svn-id: svn://10.0.0.236/trunk@36709 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:24:35 +00:00
sspitzer%netscape.com
aee3fa924e fix warning
git-svn-id: svn://10.0.0.236/trunk@36708 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:23:48 +00:00
sspitzer%netscape.com
89be0198b5 add newline to the end of the file
git-svn-id: svn://10.0.0.236/trunk@36707 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:23:28 +00:00
Jerry.Kirk%Nexwarecorp.com
1fea1185dc - Add support for Neutrino platform
git-svn-id: svn://10.0.0.236/trunk@36706 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:21:26 +00:00
sspitzer%netscape.com
18cd344ab6 ignore generated Makefile. add newlines to end of file. use PR_FALSE instead
of false to please UNIX compilers.  thanks to Tim Rowley <tor@cs.brown.edu>
for this patch.


git-svn-id: svn://10.0.0.236/trunk@36705 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:20:12 +00:00
radha%netscape.com
9f827df32c Hookup reload button & menu to browser appcore. Fix weirdness with stop menu-item
git-svn-id: svn://10.0.0.236/trunk@36704 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:19:17 +00:00
radha%netscape.com
9895628558 Hookup reload button to session History
git-svn-id: svn://10.0.0.236/trunk@36703 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:18:28 +00:00
radha%netscape.com
c160b06f19 Hook up reload button to browserappcore
git-svn-id: svn://10.0.0.236/trunk@36702 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:17:58 +00:00
radha%netscape.com
44c41db93c Hookup reload button to appcores and session History
git-svn-id: svn://10.0.0.236/trunk@36701 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:17:36 +00:00
radha%netscape.com
5b92a76da1 Implement Reload feature
git-svn-id: svn://10.0.0.236/trunk@36700 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:16:59 +00:00
radha%netscape.com
cba5ac300d Implement reload feature
git-svn-id: svn://10.0.0.236/trunk@36699 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:16:38 +00:00
akkana%netscape.com
bebc77fffa Use new document encoding service from nsTextEditor, and make nsHTMLEditor methods call nsTextEditor methods
git-svn-id: svn://10.0.0.236/trunk@36698 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:16:36 +00:00
akkana%netscape.com
2787dec93c 5924: Fix XIF handling of HTML comments, and also pass through the document's original formatting whitespace
git-svn-id: svn://10.0.0.236/trunk@36697 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:15:52 +00:00
Jerry.Kirk%Nexwarecorp.com
814fdc1213 - Adding support for nsSound
git-svn-id: svn://10.0.0.236/trunk@36696 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:14:59 +00:00
Jerry.Kirk%Nexwarecorp.com
66719f757b - Adding nsSound.cpp to fix the BeepTest.html
git-svn-id: svn://10.0.0.236/trunk@36695 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:14:05 +00:00
blizzard%redhat.com
5ebf4dd9d5 fixes for font sizes - thanks tor
git-svn-id: svn://10.0.0.236/trunk@36694 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:10:30 +00:00
blizzard%redhat.com
cb9ff6c168 properly initialize the rendering context - thanks ramiro
git-svn-id: svn://10.0.0.236/trunk@36693 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 20:08:35 +00:00
leaf%mozilla.org
39c373000b removing extraneous formats from sprintf call. (It's bad, umkay?)
git-svn-id: svn://10.0.0.236/trunk@36692 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 19:48:27 +00:00
terry%mozilla.org
fd63f157ef Get rid of hard-coded lxr strings.
git-svn-id: svn://10.0.0.236/trunk@36691 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 18:17:58 +00:00
rhp%netscape.com
41d50ebfc7 Changes for test harness
git-svn-id: svn://10.0.0.236/trunk@36689 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 13:59:46 +00:00
blizzard%redhat.com
1aa536d67c make event callback methods virtual, start work on cheese-filled-scrollbars
git-svn-id: svn://10.0.0.236/trunk@36688 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 13:30:49 +00:00
rpotts%netscape.com
bc5c9d506e Fixed some reference counting problems with nsHTTPChannel::GetTransport(...)
git-svn-id: svn://10.0.0.236/trunk@36687 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 11:26:38 +00:00
rpotts%netscape.com
91a28d3986 Fixed nsHTTPChannel::GetEventSink(...) to addref the event sink being returned. This is consistant with XPCom guidelines..
git-svn-id: svn://10.0.0.236/trunk@36686 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 11:00:46 +00:00
rpotts%netscape.com
29855c8143 Fixed nsHTTPChannel::GetURI(...) to addref the URI being returned. This is consistant with XPCom guidelines..
git-svn-id: svn://10.0.0.236/trunk@36685 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 10:52:41 +00:00
rpotts%netscape.com
56be324fe8 Added NSPR logging... Reworked the building of the request to *only* use nsStrings.
git-svn-id: svn://10.0.0.236/trunk@36684 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 10:05:01 +00:00
rjc%netscape.com
36c74ee7ca More cleanup.
git-svn-id: svn://10.0.0.236/trunk@36683 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 09:48:34 +00:00
rjc%netscape.com
229444124e Fix up more Search XUL/JS/CSS.
git-svn-id: svn://10.0.0.236/trunk@36682 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 09:36:59 +00:00
rjc%netscape.com
a4086ab047 Get Find working with new tree.
git-svn-id: svn://10.0.0.236/trunk@36681 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 09:16:58 +00:00
rpotts%netscape.com
ad9e57e6a5 Added initial support for PR_LOG...
git-svn-id: svn://10.0.0.236/trunk@36680 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 08:56:57 +00:00
alecf%netscape.com
f9a5e1c33f check return values on GetIncomingServer
git-svn-id: svn://10.0.0.236/trunk@36679 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 08:34:31 +00:00
zuperdee%penguinpowered.com
1c6b791348 Fix for nsRenderingContextMotif.cpp. This should enable viewer to work now!
git-svn-id: svn://10.0.0.236/trunk@36678 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 08:32:31 +00:00
fur%netscape.com
25f1f59d16 Backing out the merge with SpiderMonkey140_BRANCH for LiveConnect.
Some OJI-related changes were made on the trunk that can't be easily
reconciled with the branch.


git-svn-id: svn://10.0.0.236/trunk@36677 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 05:56:16 +00:00
fur%netscape.com
1d9e2f72c5 Merge changes from SpiderMonkey140_BRANCH between
JS_STABLE_DROP_04261999 and
 JS_STABLE_DROP_06221999


git-svn-id: svn://10.0.0.236/trunk@36676 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 05:22:41 +00:00
danm%netscape.com
5c0f9c71cf oops
git-svn-id: svn://10.0.0.236/trunk@36673 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 04:25:57 +00:00
danm%netscape.com
e05e937225 oops
git-svn-id: svn://10.0.0.236/trunk@36671 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 04:00:58 +00:00
bienvenu%netscape.com
f1dd76ab17 fix purify errors, particularly mismatched deletes
git-svn-id: svn://10.0.0.236/trunk@36670 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 03:53:35 +00:00
briano%netscape.com
ba1505d0bb Fix for OpenBSD, and potential fix for Solaris/x86.
git-svn-id: svn://10.0.0.236/trunk@36669 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 03:49:33 +00:00
danm%netscape.com
fe81f5f1a1 teach RunModalDialog to use extant windows; use one in NetSupportDialog (fixes bug 7858). remove AppShellService interface references
git-svn-id: svn://10.0.0.236/trunk@36668 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 03:29:22 +00:00
briano%netscape.com
cd2b469274 File was missing a newline at the end of file, which upsets some Unix compilers.
git-svn-id: svn://10.0.0.236/trunk@36667 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 03:20:47 +00:00
briano%netscape.com
97f9fe4ee7 File was missing the required newline at the end of file.
git-svn-id: svn://10.0.0.236/trunk@36666 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 03:13:10 +00:00
leaf%mozilla.org
aecc508d1c make it binary, home-skillet
git-svn-id: svn://10.0.0.236/trunk@36665 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 02:52:18 +00:00
gagan%netscape.com
637e828345 Fix the default line problem. Added a /cookie case to send a dummy "set-cookie: header"
git-svn-id: svn://10.0.0.236/trunk@36664 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 02:29:20 +00:00
troy%netscape.com
71ac661243 Fix for bug #7397. Changed space manager to allows negative values
for rect regions


git-svn-id: svn://10.0.0.236/trunk@36663 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 02:04:50 +00:00
troy%netscape.com
8587aed016 Updated to test for negative values for rect regions
git-svn-id: svn://10.0.0.236/trunk@36662 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 02:03:34 +00:00
slamm%netscape.com
8adb166053 Add log file name to log links.
git-svn-id: svn://10.0.0.236/trunk@36661 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 02:02:14 +00:00
briano%netscape.com
7369f04d18 Changed 'true' and 'false' to 'PR_TRUE' and 'PR_FALSE' to fix the non-gcc Unix builds.
git-svn-id: svn://10.0.0.236/trunk@36660 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:59:26 +00:00
talisman%anamorphic.com
ba8cdb82cd This time it should be good. This is the splash screen image.
git-svn-id: svn://10.0.0.236/trunk@36659 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:58:43 +00:00
talisman%anamorphic.com
0d1c522b07 Whoops... didn't add it as binary first time.
git-svn-id: svn://10.0.0.236/trunk@36658 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:57:36 +00:00
slamm%netscape.com
40bcd4ec82 Build file name has from glimpse list.
git-svn-id: svn://10.0.0.236/trunk@36657 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:47:36 +00:00
hyatt%netscape.com
8df3f820f3 Fun with tree widget scrollbars.
git-svn-id: svn://10.0.0.236/trunk@36656 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:45:44 +00:00
briano%netscape.com
3201766b4f Fixed the breakage in the IRIX 6.3 build caused by a problem with the compiler/assembler combination (?).
git-svn-id: svn://10.0.0.236/trunk@36655 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:35:52 +00:00
talisman%anamorphic.com
808e46e480 Added code to show a splash screen at startup.
git-svn-id: svn://10.0.0.236/trunk@36654 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:34:34 +00:00
talisman%anamorphic.com
bbf33be786 Splash-screen class.
git-svn-id: svn://10.0.0.236/trunk@36653 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:34:09 +00:00
talisman%anamorphic.com
a8e36e2b25 New file for splash screen - this is the graphic that displays.
git-svn-id: svn://10.0.0.236/trunk@36652 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:32:46 +00:00
gordon%netscape.com
37f37b892f First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36651 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:14:30 +00:00
valeski%netscape.com
5dd32b9c34 not in SeaMonkey pull. added toLowerCase() on the header passed into the GetHeader() method so we're comparing like case strings. also made the ExamineREsponse call syncronous until the proxy object problems are worked out.
git-svn-id: svn://10.0.0.236/trunk@36650 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 01:12:16 +00:00
jefft%netscape.com
15ffae156c more on copy service
git-svn-id: svn://10.0.0.236/trunk@36649 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:52:19 +00:00
bienvenu%netscape.com
4a8ce02ac2 put in code for utf7, but not enabled
git-svn-id: svn://10.0.0.236/trunk@36648 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:50:37 +00:00
jefft%netscape.com
ca17b30dca added files: mozilla/mailnews/base/src/nsMsgCopyService.cpp
git-svn-id: svn://10.0.0.236/trunk@36647 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:50:32 +00:00
jefft%netscape.com
088aef5f33 export nsMsgCopyService.h
git-svn-id: svn://10.0.0.236/trunk@36646 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:49:43 +00:00
jefft%netscape.com
022af85def added new files nsMsgCopyService.h nsMsgCopyService.cpp
git-svn-id: svn://10.0.0.236/trunk@36645 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:47:40 +00:00
jefft%netscape.com
d89c76ae44 added nsMsgCopyService to the factory
git-svn-id: svn://10.0.0.236/trunk@36644 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:46:01 +00:00
pollmann%netscape.com
5229d9fada Notify form submit observers on... well... form submission.
git-svn-id: svn://10.0.0.236/trunk@36643 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:45:23 +00:00
ducarroz%netscape.com
09ba83181f oops, wrong argument!
git-svn-id: svn://10.0.0.236/trunk@36642 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:38:34 +00:00
morse%netscape.com
4b2050b216 fix wallet viewers
git-svn-id: svn://10.0.0.236/trunk@36641 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:33:19 +00:00
hangas%netscape.com
85339c74ca Removed a debugging DumpDOM() call
git-svn-id: svn://10.0.0.236/trunk@36640 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:30:34 +00:00
waterson%netscape.com
e1cc8fdc5b Land RDF_19990617_BRANCH. Add Change() and Move() methods to nsIRDFDataSource; add OnChange() and OnMove() methods to nsIRDFObserver. Factor nsIRDFDatasource::Init() and ::Flush() into nsIRDFRemoteDataSource. Change ownership model s.t. a datasource reference counts its observers. Miscellaneous XPCOM fixage.
git-svn-id: svn://10.0.0.236/trunk@36639 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:23:52 +00:00
waterson%netscape.com
ebf328866d Land RDF_19990617_BRANCH. Add Change() and Move() methods to nsIRDFDataSource; add OnChange() and OnMove() methods to nsIRDFObserver. Factor nsIRDFDatasource::Init() and ::Flush() into nsIRDFRemoteDataSource. Change ownership model s.t. a datasource reference counts its observers. Miscellaneous XPCOM fixage -- NS_ISUPPORTS_DECL_INHERITED where appropriate.
git-svn-id: svn://10.0.0.236/trunk@36638 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:23:33 +00:00
waterson%netscape.com
fc77a5b645 Land RDF_19990617_BRANCH. Add Change() and Move() methods to nsIRDFDataSource; add OnChange() and OnMove() methods to nsIRDFObserver. Factor nsIRDFDatasource::Init() and ::Flush() into nsIRDFRemoteDataSource. Change ownership model s.t. a datasource reference counts its observers.
git-svn-id: svn://10.0.0.236/trunk@36637 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:22:58 +00:00
pollmann%netscape.com
80802fb17a Adding form submit observer interface for Wallet and Single Signon
git-svn-id: svn://10.0.0.236/trunk@36636 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:07:34 +00:00
morse%netscape.com
e280e117d2 fix wallet viewers
git-svn-id: svn://10.0.0.236/trunk@36635 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 00:01:33 +00:00
rpotts%netscape.com
c27bd7ddf7 Added the call to FireOnHeadersAvailable(...) which was lost when I reworked the header parsing...
git-svn-id: svn://10.0.0.236/trunk@36634 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:56:41 +00:00
rpotts%netscape.com
564c8537ce Reference counting fixes to plug some leaks...
git-svn-id: svn://10.0.0.236/trunk@36633 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:51:16 +00:00
hangas%netscape.com
fcb9184dec Changes for new tree widget landed last night.
git-svn-id: svn://10.0.0.236/trunk@36632 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:49:19 +00:00
briano%netscape.com
92dbf36c8e Deleted the trailing comma in the nsDebugDetectorSel typedef to fix the Unix builds.
git-svn-id: svn://10.0.0.236/trunk@36631 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:39:07 +00:00
mcafee%netscape.com
d300973ab3 Fixing linux bustage.
git-svn-id: svn://10.0.0.236/trunk@36630 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:38:48 +00:00
valeski%netscape.com
8986daacf7 added the nsIProxyCreateInstance.idl file to the xpidl auto gen macros. added smarts to proxy object mgr to determine whether or not the proxy obj is on the same thread as the caller (did this checkin for doug)
git-svn-id: svn://10.0.0.236/trunk@36629 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:32:43 +00:00
hyatt%netscape.com
2929bfb855 Fixing a bug in the scrollbar buttons that was causing them to call the
MouseClicked method twice on a left click event.


git-svn-id: svn://10.0.0.236/trunk@36628 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:18:29 +00:00
law%netscape.com
4fac69383c Fixes to sort of get OpenDialog to work from C++
git-svn-id: svn://10.0.0.236/trunk@36627 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:12:10 +00:00
putterman%netscape.com
1164fbac08 A scrollbar now shows up in the folderPane on overflow.
git-svn-id: svn://10.0.0.236/trunk@36626 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:11:10 +00:00
hyatt%netscape.com
85cf611027 Hooking up the scrollbar so that I can listen to events.
git-svn-id: svn://10.0.0.236/trunk@36625 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 23:05:36 +00:00
sgehani%netscape.com
bbda350593 Turning XPInstall on on Unix.
git-svn-id: svn://10.0.0.236/trunk@36624 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 22:59:50 +00:00
ducarroz%netscape.com
0e78a21407 Fix startup problem with ApprunnerDebug. WASTELib and ProfilerLib where installed anymore.
git-svn-id: svn://10.0.0.236/trunk@36623 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 22:56:49 +00:00
sgehani%netscape.com
ca9e1ed617 1> Removed obsolete IID headers (now being generated from IDL).
2> Aletered Unix Makefile.in to make libjar a component.


git-svn-id: svn://10.0.0.236/trunk@36622 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 22:54:49 +00:00
pollmann%netscape.com
d60509b4f9 Adding form submit observer interface for Wallet and Single Signon
git-svn-id: svn://10.0.0.236/trunk@36621 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 22:22:35 +00:00
briano%netscape.com
e9a4ed4ab3 IRIX-specific fix to create jsmath.o properly.
git-svn-id: svn://10.0.0.236/trunk@36620 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 22:20:25 +00:00
kmcclusk%netscape.com
0e0ec4b809 Changes to improve demo16
git-svn-id: svn://10.0.0.236/trunk@36619 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 22:05:31 +00:00
andreas.otte%primus-online.de
764f2cd471 removing libnetwerkutil_s.a from Makefile and move util down again. Took some time for me to get what netwerkutil_s.a is really for
git-svn-id: svn://10.0.0.236/trunk@36617 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:57:01 +00:00
rpotts%netscape.com
760ec4ca96 Added #include <mshtmhst.h> to fix the build...
git-svn-id: svn://10.0.0.236/trunk@36616 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:56:56 +00:00
rhp%netscape.com
e91519b897 New test harness program
git-svn-id: svn://10.0.0.236/trunk@36615 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:52:17 +00:00
rhp%netscape.com
e5e05757e0 Changes for mail composition test harness
git-svn-id: svn://10.0.0.236/trunk@36614 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:51:33 +00:00
rhp%netscape.com
8d3222052f Checking in new test harness for URL retrieval
git-svn-id: svn://10.0.0.236/trunk@36611 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:50:57 +00:00
kmcclusk%netscape.com
5526ed6cff Modified gfx-rendered widget styles to more closely match styles
in http://www.mozilla.org/xpfe/nsGFXWidgets.html.
Added check for null mHitFrame in nsListControlFrame::MultipleSelection and
nsListControlFrame::SingleSelection.


git-svn-id: svn://10.0.0.236/trunk@36610 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:50:56 +00:00
bienvenu%netscape.com
7d0bc05b15 fix handling of hosts without namespace extension, start working on utf7 stuff
git-svn-id: svn://10.0.0.236/trunk@36609 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:48:25 +00:00
rhp%netscape.com
b5bf59f810 New files for GetURL operations
git-svn-id: svn://10.0.0.236/trunk@36608 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:46:07 +00:00
rhp%netscape.com
7edf948299 New interfaces for message send listeners
git-svn-id: svn://10.0.0.236/trunk@36607 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:45:28 +00:00
cmanske%netscape.com
c70ec0e75b Tweaked size of HLine dialog and removed 'dump(element)' that gives and error, preventing insert link from working
git-svn-id: svn://10.0.0.236/trunk@36606 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:24:49 +00:00
jefft%netscape.com
3e33b354ad added files: mozilla/mailnews/base/public/nsIMsgCopyService.idl, mozilla/mailnews/base/public/nsIMsgCopyServiceListener.idl
git-svn-id: svn://10.0.0.236/trunk@36605 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:17:47 +00:00
zuperdee%penguinpowered.com
841c6e9a3d Added stub for the new CaptureMouse function that was added recently, along with more miscellaneous fixes, so that the Motif port will at least compile with --disable-tests again.
git-svn-id: svn://10.0.0.236/trunk@36604 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:17:34 +00:00
jefft%netscape.com
67c474d4b0 added nsIMsgCopyServiceListener.idl
git-svn-id: svn://10.0.0.236/trunk@36603 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:17:24 +00:00
putterman%netscape.com
0f1d136c43 This is hyatt checking in a fix for numerous mail/news tree bugs.
git-svn-id: svn://10.0.0.236/trunk@36602 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:04:14 +00:00
alecf%netscape.com
d66432d2a5 add search options dialog
git-svn-id: svn://10.0.0.236/trunk@36601 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:02:56 +00:00
nhotta%netscape.com
d013650223 Part of IDL migration, addding a new member function.
git-svn-id: svn://10.0.0.236/trunk@36600 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 21:01:08 +00:00
slamm%netscape.com
5da778e3d1 Use the proper cvsroot. Update the file index each run.
git-svn-id: svn://10.0.0.236/trunk@36599 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:45:49 +00:00
locka%iol.ie
974ad3ee7d no message
git-svn-id: svn://10.0.0.236/trunk@36598 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:44:20 +00:00
locka%iol.ie
dc987f7c11 First working version, hurrah!
git-svn-id: svn://10.0.0.236/trunk@36597 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:43:27 +00:00
slamm%netscape.com
8194604dd9 Get it running
git-svn-id: svn://10.0.0.236/trunk@36596 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:38:23 +00:00
andreas.otte%primus-online.de
d27727c637 changes to allow hack in necko makefiles so that header names don´t collide. Keeping up with config.mak and rules.mak
git-svn-id: svn://10.0.0.236/trunk@36595 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:38:09 +00:00
dveditz%netscape.com
dc918f3875 Bug 8311, solve hang when opening status window during trigger
git-svn-id: svn://10.0.0.236/trunk@36594 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:37:30 +00:00
cmanske%netscape.com
fb3151090a Adding set background color test cases to debug bug 8697
git-svn-id: svn://10.0.0.236/trunk@36593 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:27:54 +00:00
hyatt%netscape.com
5185e80ca4 Fix for bug #8778.
git-svn-id: svn://10.0.0.236/trunk@36592 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:23:11 +00:00
ftang%netscape.com
83b69fbff3 add nsDebugDetector to the dll factory file and use NS_IF_ADDREF instead of NS_ADDREF
git-svn-id: svn://10.0.0.236/trunk@36591 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:16:20 +00:00
ftang%netscape.com
e4a5ad2255 seperate into several groups to ease maintaince
add nsDebugDetector.cpp


git-svn-id: svn://10.0.0.236/trunk@36590 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:14:45 +00:00
ftang%netscape.com
aa453d6143 add nsDebugDetector to Unix makefile
git-svn-id: svn://10.0.0.236/trunk@36589 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:14:03 +00:00
slamm%netscape.com
46aa8daaca Do not use 'undef' in my declaration.
git-svn-id: svn://10.0.0.236/trunk@36588 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:11:27 +00:00
slamm%netscape.com
ea13429b97 Use bonsai's perl
git-svn-id: svn://10.0.0.236/trunk@36587 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:09:34 +00:00
ftang%netscape.com
030e59671b add nsDebugDetector to makefile
git-svn-id: svn://10.0.0.236/trunk@36586 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:07:26 +00:00
ftang%netscape.com
fe8d569d77 add debug detector
git-svn-id: svn://10.0.0.236/trunk@36585 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:07:08 +00:00
slamm%netscape.com
217404e094 Read last successful buildlog.
git-svn-id: svn://10.0.0.236/trunk@36584 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 20:06:37 +00:00
Jerry.Kirk%Nexwarecorp.com
e44217d3a5 - Updates to the menu/menubar/menuitems to make them work again under
- Neutrino/Photon


git-svn-id: svn://10.0.0.236/trunk@36583 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:59:02 +00:00
pnunn%netscape.com
94490e069f We don't need xbm in the accept list. ok'd by judson and gagan. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36582 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:56:11 +00:00
warren%netscape.com
2f522c1be0 More necko changes. Changed nsIPluginTagInfo2::GetDocumentBase to copy string.
git-svn-id: svn://10.0.0.236/trunk@36581 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:55:21 +00:00
pnunn%netscape.com
cf42252f89 Minor adjustment for testing. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36580 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:54:52 +00:00
law%netscape.com
3f1e4a1a94 Fix for bug #7051
git-svn-id: svn://10.0.0.236/trunk@36579 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:53:36 +00:00
srinivas%netscape.com
bee4260812 Checkin for briano@netscape.com. Bugzilla #8600.
git-svn-id: svn://10.0.0.236/trunk@36578 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:43:41 +00:00
fur%netscape.com
12713a9ffb Removing shaver/brendan fix for #8042 since it's apparently buggy
git-svn-id: svn://10.0.0.236/trunk@36577 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:43:07 +00:00
brade%netscape.com
1c9c93eb05 add "enabling/disabling" of <label>
git-svn-id: svn://10.0.0.236/trunk@36576 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:36:43 +00:00
brade%netscape.com
0abfd553de remove some of the old stuff which was commented out; add in the dimensions fieldset, alignment and spacing fieldset
git-svn-id: svn://10.0.0.236/trunk@36575 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:35:34 +00:00
brade%netscape.com
fd8ed23848 add some enabling/disabling; handle width and height; some infrastructure for alignment and spacing attributes
git-svn-id: svn://10.0.0.236/trunk@36574 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:34:35 +00:00
brade%netscape.com
79860a8aae add some enabling/disabling functions
git-svn-id: svn://10.0.0.236/trunk@36573 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:30:43 +00:00
rpotts%netscape.com
281800d7e2 Oops... Forgot to check this in... Allow multiple URLs to be processed before exiting the app.
git-svn-id: svn://10.0.0.236/trunk@36572 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:27:44 +00:00
putterman%netscape.com
145ee48043 Set treechildren open="true"
git-svn-id: svn://10.0.0.236/trunk@36571 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 19:11:24 +00:00
putterman%netscape.com
c194f5abea use getTime function when subtracting dates. Approved by leaf and reviewed by sspitzer.
git-svn-id: svn://10.0.0.236/trunk@36569 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 18:52:26 +00:00
slamm%netscape.com
49ef59a7a5 Find the fullpath to a file in the tree based on its basename.
git-svn-id: svn://10.0.0.236/trunk@36568 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 18:47:53 +00:00
slamm%netscape.com
12b89fe23b Parse warnings from build logs and generate a report.
git-svn-id: svn://10.0.0.236/trunk@36567 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 18:25:23 +00:00
hyatt%netscape.com
a1c74d641c Tweaks to the scrollbar.
git-svn-id: svn://10.0.0.236/trunk@36566 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 17:00:17 +00:00
fur%netscape.com
40e974ccab Merge from SpiderMonkey140_BRANCH:
Incorporated changes from JS_STABLE_DROP_04261999 to JS_STABLE_DROP_06221999


git-svn-id: svn://10.0.0.236/trunk@36563 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 14:18:56 +00:00
rhp%netscape.com
a65cfca827 fix for linux makefile
git-svn-id: svn://10.0.0.236/trunk@36562 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 13:40:21 +00:00
alecf%netscape.com
6ab7cdf7ef localize this file
git-svn-id: svn://10.0.0.236/trunk@36561 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 11:15:27 +00:00
blizzard%redhat.com
df79b0ac17 Fix origins on alpha pixmaps - thanks tor. Images on toolbars and other places shag, baby!
git-svn-id: svn://10.0.0.236/trunk@36560 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 11:12:13 +00:00
alecf%netscape.com
a5b343fa4f localize the filter editor
git-svn-id: svn://10.0.0.236/trunk@36559 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 11:09:56 +00:00
alecf%netscape.com
4264042bd4 oops, missed a few strings to localize
git-svn-id: svn://10.0.0.236/trunk@36558 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 11:08:57 +00:00
alecf%netscape.com
bc935ac7de remove am-test.xul from the build.
git-svn-id: svn://10.0.0.236/trunk@36557 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 10:55:08 +00:00
alecf%netscape.com
4c515c542b localize these files
git-svn-id: svn://10.0.0.236/trunk@36556 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 10:51:43 +00:00
rjc%netscape.com
ea1fbfbcca More XUL/JS/CSS changes due to tree changes.
git-svn-id: svn://10.0.0.236/trunk@36555 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 10:35:19 +00:00
rjc%netscape.com
6f0ab85c7c Update search XUL/JS/CSS to comply with new tree model specification.
git-svn-id: svn://10.0.0.236/trunk@36554 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 10:06:28 +00:00
rjc%netscape.com
820b516b83 Fix bookmark panel in sidebar also by forcing tree root to be open (due to on-going tree changes.)
git-svn-id: svn://10.0.0.236/trunk@36552 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 09:37:10 +00:00
rjc%netscape.com
02a1a5b6f7 Force root of bookmarks tree to be open (apparently required, at least for the moment, due to ongoing XUL tree changes).
git-svn-id: svn://10.0.0.236/trunk@36551 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 09:27:30 +00:00
hyatt%netscape.com
ac52bebc76 Fun fun fun.
git-svn-id: svn://10.0.0.236/trunk@36550 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 09:26:50 +00:00
hyatt%netscape.com
63047f1840 More methods.
git-svn-id: svn://10.0.0.236/trunk@36549 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 09:24:26 +00:00
hyatt%netscape.com
0d5c5b20af Adding a scrollbar listener object, so I can be notified.
git-svn-id: svn://10.0.0.236/trunk@36548 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 09:15:48 +00:00
hyatt%netscape.com
dba51b76a4 More savory tree widget goodness.
git-svn-id: svn://10.0.0.236/trunk@36547 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 09:07:59 +00:00
rpotts%netscape.com
fd895755c1 Temp removed the code which caches socket transport instances. This will be hooked up again once connection keep-alive is supported...
git-svn-id: svn://10.0.0.236/trunk@36537 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 07:50:30 +00:00
sgehani%netscape.com
35917e8933 Turning XPInstall off on Unix... again!
git-svn-id: svn://10.0.0.236/trunk@36536 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 07:42:28 +00:00
rpotts%netscape.com
6daf39e5fc Reworked Server-Status and Response-Header parsing...
git-svn-id: svn://10.0.0.236/trunk@36535 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 07:41:22 +00:00
hyatt%netscape.com
4ba95a1c30 Fix for 8735.
git-svn-id: svn://10.0.0.236/trunk@36529 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 07:21:11 +00:00
jband%netscape.com
bf8c382d14 1) fix for bug 7700 - use a JSClass without a call method for all wrappers that don't do nsIXPCScriptable so that JS doesn't think they're all functions.
2) breakout js ops into their own file so that the flattening project is less complicated
3) add a noisy object to the test components - this object prints addrefs, release, QIs, ctor, and dtor. This is useful for refcounting tests.
4) cleanup some component registration stuff.


git-svn-id: svn://10.0.0.236/trunk@36524 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 07:04:34 +00:00
sgehani%netscape.com
b600b3eb91 Checking in from Unix instead of from Linux as last rev was.
git-svn-id: svn://10.0.0.236/trunk@36523 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:44:30 +00:00
waterson%netscape.com
36fc0be7bc Fix trailing whitespace bustage in Makefile.in.
git-svn-id: svn://10.0.0.236/trunk@36521 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:37:15 +00:00
sgehani%netscape.com
2759404a46 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36520 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:37:03 +00:00
sgehani%netscape.com
7cab0fa310 Added libjarIDL.mcp to the build: libjar intefaces now being generated from IDL.
git-svn-id: svn://10.0.0.236/trunk@36519 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:23:52 +00:00
sgehani%netscape.com
9048f59acb XPInstall ressurected on Unix.
git-svn-id: svn://10.0.0.236/trunk@36518 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:22:53 +00:00
sgehani%netscape.com
7748ea4fe8 XPInstall now building and limping during execution on Unix.
git-svn-id: svn://10.0.0.236/trunk@36517 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:19:45 +00:00
sgehani%netscape.com
07d74b61fc Using new XPCOMified libjar interface.
git-svn-id: svn://10.0.0.236/trunk@36516 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:16:53 +00:00
sgehani%netscape.com
0b6007b26d Modification to the libjar XPCOM interface in order to use it with XPInstall; facilitating ressurection of XPInstall on Unix.
git-svn-id: svn://10.0.0.236/trunk@36515 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:16:28 +00:00
warren%netscape.com
c3040765bd Necko changes.
git-svn-id: svn://10.0.0.236/trunk@36514 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:12:02 +00:00
warren%netscape.com
dedf8df377 nsString/nsString2 -- what's the difference. Now using const too.
git-svn-id: svn://10.0.0.236/trunk@36513 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 06:08:13 +00:00
law%netscape.com
dd0df766ff Enhanced to demonstrate use of nsIDOMWindow::OpenDialog
git-svn-id: svn://10.0.0.236/trunk@36512 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 05:33:03 +00:00
warren%netscape.com
64252804be Necko cleanup.
git-svn-id: svn://10.0.0.236/trunk@36511 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 05:32:26 +00:00
warren%netscape.com
b164c9adeb Added nsString interfaces. Removed NS_NET because this stuff isn't for DLL export.
git-svn-id: svn://10.0.0.236/trunk@36510 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 05:28:48 +00:00
mcmullen%netscape.com
b9c7507780 Added support for $BUILD_ROOT, which enables mac users to build everything in a particular directory, just like windows and unix users.
git-svn-id: svn://10.0.0.236/trunk@36504 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 04:51:45 +00:00
hyatt%netscape.com
0a11fed54c Fix for build bustage.
git-svn-id: svn://10.0.0.236/trunk@36503 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 04:50:31 +00:00
hyatt%netscape.com
1b15e312b7 Fix Linux build bustage.
git-svn-id: svn://10.0.0.236/trunk@36500 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 04:27:50 +00:00
troy%netscape.com
31908d8477 Fix for bug #6903: changed Reflow() to handle reflow commands of type
StyleChanged


git-svn-id: svn://10.0.0.236/trunk@36497 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 04:18:07 +00:00
sfraser%netscape.com
28802137a4 Just playing around.
git-svn-id: svn://10.0.0.236/trunk@36495 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 03:45:29 +00:00
warren%netscape.com
06d707be48 Renamed nsIURL to nsIURI in preperation for necko. More NECKO ifdefs too.
git-svn-id: svn://10.0.0.236/trunk@36440 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 03:29:44 +00:00
troy%netscape.com
be89261178 Fix for bug #6937: changed ConstructFrameByDisplayType() to use the correct
parent frame pointer for floated elements


git-svn-id: svn://10.0.0.236/trunk@36439 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 03:14:24 +00:00
hyatt%netscape.com
d6494b515f Landing the tree widget branch.
git-svn-id: svn://10.0.0.236/trunk@36435 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 03:02:21 +00:00
syd%netscape.com
214926cd77 Make sure pointer has a value before dereferencing it.
git-svn-id: svn://10.0.0.236/trunk@36433 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 02:36:04 +00:00
ssu%netscape.com
687e43a274 fixing bug #8620
git-svn-id: svn://10.0.0.236/trunk@36432 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:44:13 +00:00
frankm%eng.sun.com
0f6e04324b Reintroduce Java backend to Unix build.
git-svn-id: svn://10.0.0.236/trunk@36431 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:31:04 +00:00
jj%netscape.com
f8e4b88516 fixed duplicate code fragment name
git-svn-id: svn://10.0.0.236/trunk@36430 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:27:30 +00:00
evaughan%netscape.com
bb3b06e86f Images will now change on hover on titledbuttons.
git-svn-id: svn://10.0.0.236/trunk@36429 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:13:58 +00:00
gordon%netscape.com
8421adfeb7 Updated to match changes to Windows/Unix makefiles.
git-svn-id: svn://10.0.0.236/trunk@36428 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:12:57 +00:00
gordon%netscape.com
24a617c6a8 Added registration of DNS Service.
git-svn-id: svn://10.0.0.236/trunk@36427 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:12:01 +00:00
gordon%netscape.com
475509ad15 Added include of OpenTransport header files for XP_MAC.
git-svn-id: svn://10.0.0.236/trunk@36426 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:11:19 +00:00
sspitzer%netscape.com
0536f90b5f fix warnings
git-svn-id: svn://10.0.0.236/trunk@36425 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 01:05:03 +00:00
frankm%eng.sun.com
558744904b Re-enable Java backend, this time with an updated Windows makefile.
git-svn-id: svn://10.0.0.236/trunk@36424 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 00:58:35 +00:00
alecf%netscape.com
d894d9469e change NS_DEFINE_IID->NS_DEFINE_CID where appropriate
git-svn-id: svn://10.0.0.236/trunk@36419 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 00:25:37 +00:00
alecf%netscape.com
d0d3288d6e expunge NS_DEFINE_IID from apprunner bootstrap
git-svn-id: svn://10.0.0.236/trunk@36418 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 00:24:02 +00:00
mccabe%netscape.com
f3d792f74f Backing out buildsystem aspects of the Java interface backend to xpidl until we can land them safely xp. The xpidl_java.c backend remains.
git-svn-id: svn://10.0.0.236/trunk@36417 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 00:06:29 +00:00
mscott%netscape.com
60c367ff31 Redefine MSG_LINEBREAK in terms of NS_LINEBREAK. Later, I'll remove MSG_LINEBREAK all together and just use NS_LINEBREAK.
git-svn-id: svn://10.0.0.236/trunk@36416 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 00:03:14 +00:00
alecf%netscape.com
7b23c091d5 make "and" the default
git-svn-id: svn://10.0.0.236/trunk@36415 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 00:02:52 +00:00
sspitzer%netscape.com
b0e02f9f06 change default to 50 until performance is fixed
git-svn-id: svn://10.0.0.236/trunk@36414 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-23 00:00:28 +00:00
mscott%netscape.com
355cea2deb Constructor for nntp url no longer has any arguments.
git-svn-id: svn://10.0.0.236/trunk@36410 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:52:15 +00:00
mscott%netscape.com
ca08baa549 Add class ID for nntp urls.
git-svn-id: svn://10.0.0.236/trunk@36409 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:52:00 +00:00
mscott%netscape.com
bef5c4c5cd Remove classid from the interface. We no longer inherit from nsIMsgMailNewsUrl.
git-svn-id: svn://10.0.0.236/trunk@36408 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:51:42 +00:00
mscott%netscape.com
6dc2dee608 url re-org to use nsMsgMailNewsUrl. this is part of my necko integration work and should also reduce footprint a bit.
git-svn-id: svn://10.0.0.236/trunk@36401 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:51:18 +00:00
mscott%netscape.com
ecc567f294 QI url to the right type for nsIMsgMailNewsurl methods.
git-svn-id: svn://10.0.0.236/trunk@36400 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:49:24 +00:00
terry%mozilla.org
cc27753642 Make attachments remember who submitted that attachment.
git-svn-id: svn://10.0.0.236/trunk@36399 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:44:22 +00:00
sspitzer%netscape.com
759382aac0 more work for respecting the newsrc file. more to come.
git-svn-id: svn://10.0.0.236/trunk@36398 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:42:29 +00:00
mcmullen%netscape.com
5f5ef29e3b Registered nsIFileSpecWithUI
git-svn-id: svn://10.0.0.236/trunk@36397 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:32:34 +00:00
kin%netscape.com
8d65536806 Removed hack in EditorExecuteScript() that worked around a
bug in nsIFileSpec.readLine() that has now been fixed.


git-svn-id: svn://10.0.0.236/trunk@36396 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:30:21 +00:00
sspitzer%netscape.com
cac14ff353 don't compare an nsCOMPtr with NULL
git-svn-id: svn://10.0.0.236/trunk@36395 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:26:06 +00:00
jefft%netscape.com
cc881a1da5 added files: mozilla/mailnews/base/public/nsIMsgCopyService.idl
git-svn-id: svn://10.0.0.236/trunk@36394 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:24:25 +00:00
mcmullen%netscape.com
d6a17f446b readLine was returning (in its truncation parameter) the exact opposite of the promised boolean. Thanks to kin@netscape.com for pointing this out.
git-svn-id: svn://10.0.0.236/trunk@36392 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:21:00 +00:00
jefft%netscape.com
5ed0245da6 added new file - nsIMsgCopyService.idl
git-svn-id: svn://10.0.0.236/trunk@36389 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:20:56 +00:00
kin%netscape.com
cf94ebf383 Modified EditorExecuteScript() to read and execute a line at a time.
This will allow us to load and execute large log files.


git-svn-id: svn://10.0.0.236/trunk@36388 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:20:26 +00:00
alecf%netscape.com
d3200e9421 statically link against mork for now
git-svn-id: svn://10.0.0.236/trunk@36387 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:19:09 +00:00
bienvenu%netscape.com
3a945ab3fc get rid of link against dso
git-svn-id: svn://10.0.0.236/trunk@36386 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:15:58 +00:00
bienvenu%netscape.com
550a02b3b2 replace mork with msgmork
git-svn-id: svn://10.0.0.236/trunk@36385 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:08:25 +00:00
alecf%netscape.com
90088fb679 remove -lmork
git-svn-id: svn://10.0.0.236/trunk@36384 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:08:24 +00:00
sfraser%netscape.com
846b171932 removed files: mozilla/build/mac/test/test2.cpp
git-svn-id: svn://10.0.0.236/trunk@36383 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:06:58 +00:00
alecf%netscape.com
573ad960ff construct the URI from the server's GetServerURI rather than manually
git-svn-id: svn://10.0.0.236/trunk@36382 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:06:27 +00:00
alecf%netscape.com
044c1ccb38 ignore generated files
git-svn-id: svn://10.0.0.236/trunk@36381 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 23:01:01 +00:00
petitta%netscape.com
811b744711 Updated Build Environment
git-svn-id: svn://10.0.0.236/trunk@36380 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:58:56 +00:00
petitta%netscape.com
8562dbb779 Updated build environment
git-svn-id: svn://10.0.0.236/trunk@36379 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:54:45 +00:00
petitta%netscape.com
19129ce30e Updates build environment
git-svn-id: svn://10.0.0.236/trunk@36378 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:53:55 +00:00
sspitzer%netscape.com
ed214635ca turn a PR_ASSERT() into an NS_ASSERTION() to avoid the abort on UNIX.
see bug #8707


git-svn-id: svn://10.0.0.236/trunk@36376 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:40:41 +00:00
frankm%eng.sun.com
e0ec674dd7 First pass at generating Java interfaces from XPIDL
git-svn-id: svn://10.0.0.236/trunk@36375 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:39:50 +00:00
alecf%netscape.com
dbb4875b55 add account wizard to mac build
git-svn-id: svn://10.0.0.236/trunk@36374 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:33:48 +00:00
alecf%netscape.com
93ee3e8353 add account wizard to the windows build
git-svn-id: svn://10.0.0.236/trunk@36373 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:32:40 +00:00
ftang%netscape.com
74aee971b2 add XMLEncodingService
git-svn-id: svn://10.0.0.236/trunk@36370 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:30:33 +00:00
alecf%netscape.com
2b96a1c741 update account wizard framework:
- save values in a hash in the main wizard context
- repopulate pages as they are loaded
- add validation routine support for pages


git-svn-id: svn://10.0.0.236/trunk@36369 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:30:17 +00:00
alecf%netscape.com
2f70a2cf7d update wizard pages to have more stuff
git-svn-id: svn://10.0.0.236/trunk@36366 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:28:53 +00:00
akkana%netscape.com
6332477235 Use NS_LINEBREAK from nsCRT.h
git-svn-id: svn://10.0.0.236/trunk@36362 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:05:12 +00:00
alecf%netscape.com
8bbccf60c3 oops, use dump() not print()
git-svn-id: svn://10.0.0.236/trunk@36361 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 22:03:09 +00:00
mscott%netscape.com
68ba31af57 We no longer inherit from nsIMsgMailNewsUrl....
git-svn-id: svn://10.0.0.236/trunk@36359 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:55:25 +00:00
mscott%netscape.com
5b7fa62cf0 Because of my over-haul for mailnews urls, we now need to be more explicit about the url interfac
we are calling the method on (nsIURL, nsIImapUrl, nsIMsgMailNewsUrl, etc).


git-svn-id: svn://10.0.0.236/trunk@36358 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:55:06 +00:00
mscott%netscape.com
3fb8c0df7d Url re-organization to use nsMsgMailNewsUrl implementation code. This is part of my necko integration work and
should also have the added benefit of reducing footprint.


git-svn-id: svn://10.0.0.236/trunk@36357 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:54:46 +00:00
mscott%netscape.com
bf80accb20 QI url to the right type for nsIMsgMailNewsurl methods.
git-svn-id: svn://10.0.0.236/trunk@36356 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:53:34 +00:00
kmcclusk%netscape.com
9c317dfe6d Removed commented out line
git-svn-id: svn://10.0.0.236/trunk@36354 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:49:34 +00:00
dp%netscape.com
8d0dbff086 Removing course grain locking since finer grain locking is implemented
in nsRegistry.


git-svn-id: svn://10.0.0.236/trunk@36353 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:49:26 +00:00
akkana%netscape.com
f8788ed37c Remove selection methods from nsIDocument -- they were bogus anyway, real selection lives in the pres shell
git-svn-id: svn://10.0.0.236/trunk@36352 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:47:45 +00:00
nhotta%netscape.com
bda09c3060 Added ISO Latin 7 to charset menu, synch with browser.
git-svn-id: svn://10.0.0.236/trunk@36351 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:46:24 +00:00
akkana%netscape.com
61b3d185f9 Change unicode assertion to a warning
git-svn-id: svn://10.0.0.236/trunk@36350 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:45:42 +00:00
ducarroz%netscape.com
3a29c895f4 change printf text "composer" to "message compose"
git-svn-id: svn://10.0.0.236/trunk@36348 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:45:01 +00:00
akkana%netscape.com
819c9d4ce0 Add some error checking, for robustness; fix some warnings
git-svn-id: svn://10.0.0.236/trunk@36347 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:45:00 +00:00
kmcclusk%netscape.com
b472ad0a9e Fix for crash when bringing up the test sites dialog.
Also fixed crash when bringing up the debug robot dialog.


git-svn-id: svn://10.0.0.236/trunk@36346 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:44:38 +00:00
akkana%netscape.com
4120467dac Use deep first/last child for Beginning/EndOfDocument methods
git-svn-id: svn://10.0.0.236/trunk@36345 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:42:44 +00:00
akkana%netscape.com
1cd979f934 Use -edit instead of -editor as the editor flag
git-svn-id: svn://10.0.0.236/trunk@36344 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:41:31 +00:00
nhotta%netscape.com
556650f105 Bug fix 8246, synch charset menu items with browser.
git-svn-id: svn://10.0.0.236/trunk@36343 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:39:53 +00:00
akkana%netscape.com
2a8ea00a4e Fix separate-objdir build
git-svn-id: svn://10.0.0.236/trunk@36342 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:38:39 +00:00
kin%netscape.com
1beb5db8a0 Fix for bug #8677: Editor API Logging busted.
Put back include for nsIFileSpec.idl.


git-svn-id: svn://10.0.0.236/trunk@36341 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:36:45 +00:00
hangas%netscape.com
66d3196491 Removed unused selectaddress.html
git-svn-id: svn://10.0.0.236/trunk@36339 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:34:52 +00:00
hangas%netscape.com
3bea24246d Code optomization suggested by Brendan Eich.
git-svn-id: svn://10.0.0.236/trunk@36337 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:31:58 +00:00
slamm%netscape.com
1b2397034f Remove 'Previous Revision' link from mark line. It is confusing to people.
git-svn-id: svn://10.0.0.236/trunk@36335 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:30:37 +00:00
mscott%netscape.com
f11f6c2557 QI url to the right type for nsIMsgMailNewsurl methods.
git-svn-id: svn://10.0.0.236/trunk@36334 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 21:19:51 +00:00
jband%netscape.com
6ae6267556 fix bustage
git-svn-id: svn://10.0.0.236/trunk@36332 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:57:57 +00:00
pinkerton%netscape.com
3502f1548c Fix signed/unsigned problems by making enumerator keep an PRUint32 to match the result of nsICollection::Count(PRUint32*).
git-svn-id: svn://10.0.0.236/trunk@36331 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:41:28 +00:00
bienvenu%netscape.com
e54109f41a change name of mork lib to libmsgmork
git-svn-id: svn://10.0.0.236/trunk@36330 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:40:17 +00:00
ducarroz%netscape.com
2afe604112 Removed mork source files as they are now part of mork.mcp
git-svn-id: svn://10.0.0.236/trunk@36329 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:37:40 +00:00
ducarroz%netscape.com
cfa86d3ce5 add build instructions for mailnews:db:mork
git-svn-id: svn://10.0.0.236/trunk@36328 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:37:39 +00:00
bienvenu%netscape.com
734eba273c make mork a dll
git-svn-id: svn://10.0.0.236/trunk@36327 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:36:04 +00:00
bienvenu%netscape.com
2d7605a33a make mork a dll /so
git-svn-id: svn://10.0.0.236/trunk@36326 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:34:14 +00:00
bienvenu%netscape.com
ff3b67b3cb add mork build Makefile
git-svn-id: svn://10.0.0.236/trunk@36325 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:32:39 +00:00
bienvenu%netscape.com
e4bdb04116 fix check for error opening database
git-svn-id: svn://10.0.0.236/trunk@36324 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:29:43 +00:00
bienvenu%netscape.com
75397022d9 fix 8619 malformed message problem
git-svn-id: svn://10.0.0.236/trunk@36323 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:28:28 +00:00
warren%netscape.com
c293e808f8 Missing return!
git-svn-id: svn://10.0.0.236/trunk@36321 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:21:34 +00:00
cmanske%netscape.com
095fe79084 Adding Named Anchor UI files
git-svn-id: svn://10.0.0.236/trunk@36320 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:19:38 +00:00
pnunn%netscape.com
321f4f7e9e Prepwork for alphachannel. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36319 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:13:05 +00:00
pnunn%netscape.com
6aece09b7e prep work for alphachannel. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36318 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:11:53 +00:00
pnunn%netscape.com
1130e5a5ce Prepwork for alphachannel. pnunn
git-svn-id: svn://10.0.0.236/trunk@36317 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:11:03 +00:00
pnunn%netscape.com
23709b377e Prep work for alpha channel. pnunn.
git-svn-id: svn://10.0.0.236/trunk@36316 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:09:29 +00:00
ducarroz%netscape.com
91df12984f changed -msgcompose for -compose
git-svn-id: svn://10.0.0.236/trunk@36315 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 20:01:37 +00:00
briano%netscape.com
b4485ca970 Changed 'true' to 'PR_TRUE' to fix the non-gcc Unix builds.
git-svn-id: svn://10.0.0.236/trunk@36314 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:57:46 +00:00
nhotta%netscape.com
4dbf8e3371 Bug fix for 8675.
git-svn-id: svn://10.0.0.236/trunk@36313 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:56:12 +00:00
jband%netscape.com
0199435e9f added files: mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp
git-svn-id: svn://10.0.0.236/trunk@36312 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:50:25 +00:00
jband%netscape.com
3351982f60 breaking out stuff into a new file - using placeholder now to get all makefiles and projects building right first
git-svn-id: svn://10.0.0.236/trunk@36311 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:45:56 +00:00
mjudge%netscape.com
83a23355fc fix for crasher in browser. check for null
git-svn-id: svn://10.0.0.236/trunk@36310 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:41:41 +00:00
peterl%netscape.com
856cbed60f removed unnecessary null tests (tested at call site for performance)
cleaned up null link handler testing to avoid URL conputation


git-svn-id: svn://10.0.0.236/trunk@36309 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:25:31 +00:00
peterl%netscape.com
5fc7e904bc removed unnecessary null tests (tested at call site for performance)
git-svn-id: svn://10.0.0.236/trunk@36308 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:24:50 +00:00
peterl%netscape.com
62ffbb6470 use '-moz-fixed' for pre fixed font hack instead of 'monospace'
cleaned up font api


git-svn-id: svn://10.0.0.236/trunk@36307 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:23:56 +00:00
peterl%netscape.com
1641e64739 allow underscores in idents
git-svn-id: svn://10.0.0.236/trunk@36306 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:22:59 +00:00
peterl%netscape.com
8933f6f161 fixed skipping of unsupported at rules
made ID parsing CSS2 compliant


git-svn-id: svn://10.0.0.236/trunk@36305 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:22:41 +00:00
peterl%netscape.com
97abe86c7f fixed UMR
added error output for charset converter failure


git-svn-id: svn://10.0.0.236/trunk@36304 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:21:54 +00:00
peterl%netscape.com
a8f55c2339 set display type for map to block
git-svn-id: svn://10.0.0.236/trunk@36303 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:20:42 +00:00
peterl%netscape.com
6662ed1523 use '-moz-fixed' font for pre hack instead of 'monospace'
git-svn-id: svn://10.0.0.236/trunk@36302 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:19:13 +00:00
peterl%netscape.com
e34e6f0b60 better protection against bad calls in resolve style
git-svn-id: svn://10.0.0.236/trunk@36301 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:16:40 +00:00
peterl%netscape.com
8710e9037c added fixed font flag support
git-svn-id: svn://10.0.0.236/trunk@36300 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:16:16 +00:00
peterl%netscape.com
dd072e4667 added font flag
git-svn-id: svn://10.0.0.236/trunk@36299 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:15:16 +00:00
peterl%netscape.com
85fa9ac827 Added '-moz-fixed' generic font name.
This is an extension to indicate the user's fixed font choice


git-svn-id: svn://10.0.0.236/trunk@36298 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:14:51 +00:00
cmanske%netscape.com
49e392659b Added main composer toolbar and HLine dialog work
git-svn-id: svn://10.0.0.236/trunk@36297 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:12:16 +00:00
rods%netscape.com
12cfd6b8d2 Changed remain unsigned int to PRUint32
git-svn-id: svn://10.0.0.236/trunk@36296 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 19:07:03 +00:00
ducarroz%netscape.com
2c86ea3b34 fix wrong PPC target in debug
git-svn-id: svn://10.0.0.236/trunk@36295 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:59:54 +00:00
mscott%netscape.com
198d040cc4 Use MSG_LINEBREAK instead of LINEBREAK.
git-svn-id: svn://10.0.0.236/trunk@36293 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:55:32 +00:00
mscott%netscape.com
03b327e5b4 Add macro definition for NS_LINEBREAK and NS_LINEBREAK_LEN. Folks should use this instead of defining their own LINEBREAK macros all over the place.
git-svn-id: svn://10.0.0.236/trunk@36292 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:50:12 +00:00
andreas.otte%primus-online.de
3182d63b9e fixing for new AutoRegistration
git-svn-id: svn://10.0.0.236/trunk@36290 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:24:02 +00:00
andreas.otte%primus-online.de
0d0318dfeb adding libnetwerkutil_s to libnetwerk
git-svn-id: svn://10.0.0.236/trunk@36289 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:06:47 +00:00
andreas.otte%primus-online.de
86f4b770d9 moving util in front of build since it looks like util will be part of the netwerk lib.
git-svn-id: svn://10.0.0.236/trunk@36288 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:05:32 +00:00
andreas.otte%primus-online.de
07008e069b added util makefiles
git-svn-id: svn://10.0.0.236/trunk@36287 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:04:37 +00:00
andreas.otte%primus-online.de
61b39ba1b4 first checked in
git-svn-id: svn://10.0.0.236/trunk@36286 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 18:04:02 +00:00
dp%netscape.com
fd2b26b169 Make VC5.0 happy with pointers to member function.
git-svn-id: svn://10.0.0.236/trunk@36285 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 17:26:26 +00:00
dp%netscape.com
1cc60a50e9 Adding registratin of filelocator back. It got missed with my previous checkin.
git-svn-id: svn://10.0.0.236/trunk@36284 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 16:33:56 +00:00
dp%netscape.com
22e43a403f The new method of autoregistration is really simple. A NULL for the
directory will do the right thing.


git-svn-id: svn://10.0.0.236/trunk@36283 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 15:19:31 +00:00
dp%netscape.com
316f8ba08a Adding access paths to system header files due to new header dependency nsIComponentManager.h -> nsIFileSpec.h -[YUCK]-> nsFileSpec.h -> Files.h
git-svn-id: svn://10.0.0.236/trunk@36282 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 14:27:38 +00:00
rods%netscape.com
cd49358fc9 Turned on dragOver style
git-svn-id: svn://10.0.0.236/trunk@36281 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 14:21:27 +00:00
rods%netscape.com
9a893ba131 Fixed clearing of state for setting style for mouse hover and dragOver Bug #3175
Added support for DROP to force a style change.


git-svn-id: svn://10.0.0.236/trunk@36280 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 14:20:14 +00:00
rods%netscape.com
c68b124e0c Fixed up some comments and a few return codes
git-svn-id: svn://10.0.0.236/trunk@36279 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 14:18:38 +00:00
dp%netscape.com
a2afe74c3f XPCOM switched to using nsIFileSpec.
git-svn-id: svn://10.0.0.236/trunk@36278 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 14:02:58 +00:00
dp%netscape.com
4cac2072ff Adding back member to store error for nsRegistryNode and nsRegistryValue. This gets it working again.
git-svn-id: svn://10.0.0.236/trunk@36277 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 13:58:12 +00:00
Jerry.Kirk%Nexwarecorp.com
9389404b84 - Updating the debug/logging code thats still included
git-svn-id: svn://10.0.0.236/trunk@36276 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 11:46:26 +00:00
edwin%woudt.nl
b5606334be Upgrade to knife's nntp provider version 1.02
git-svn-id: svn://10.0.0.236/trunk@36274 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 10:11:56 +00:00
mcmullen%netscape.com
fdc30716dd Try that again.
git-svn-id: svn://10.0.0.236/trunk@36272 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 09:04:10 +00:00
mcmullen%netscape.com
6bc7106bb6 Removed nsFileChooser
git-svn-id: svn://10.0.0.236/trunk@36270 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 08:18:19 +00:00
mcmullen%netscape.com
462fde037f I got tired of the triangular button arrangement. Increased the cell width to 200.
git-svn-id: svn://10.0.0.236/trunk@36265 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 07:52:01 +00:00
mcmullen%netscape.com
849a70352a Removed these useless files
git-svn-id: svn://10.0.0.236/trunk@36264 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 07:41:12 +00:00
mcmullen%netscape.com
9cdb3cc856 Removed nsIFileChooser from the build
git-svn-id: svn://10.0.0.236/trunk@36263 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 07:38:44 +00:00
mcmullen%netscape.com
7731928b90 Use the correct CID for nsFileSpecWithUIImpl
git-svn-id: svn://10.0.0.236/trunk@36262 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 07:33:34 +00:00
ftang%netscape.com
31db10b03f add progid base
git-svn-id: svn://10.0.0.236/trunk@36261 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 07:21:49 +00:00
mcmullen%netscape.com
f0f8dfc7a0 Replaced nsFileChooser with the original nsIFileSpecWithUI
git-svn-id: svn://10.0.0.236/trunk@36260 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 07:05:22 +00:00
mcmullen%netscape.com
470220749a Added nsFileSpecWithUIImpl.cpp to win build
git-svn-id: svn://10.0.0.236/trunk@36258 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 06:53:41 +00:00
morse%netscape.com
802aab161d fix crash if user fails to open data base
git-svn-id: svn://10.0.0.236/trunk@36257 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 06:32:18 +00:00
mcmullen%netscape.com
5f4a32e823 Added nsFileSpecWithUIImpl.cpp
git-svn-id: svn://10.0.0.236/trunk@36256 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 06:17:25 +00:00
mcafee%netscape.com
a1720eb600 Adding nocrap flag to tinderbox URL
git-svn-id: svn://10.0.0.236/trunk@36255 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 06:16:49 +00:00
alecf%netscape.com
5c4539e40b prevent creation/addition of non-unique servers
git-svn-id: svn://10.0.0.236/trunk@36253 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 05:59:42 +00:00
mcmullen%netscape.com
d0b7ec51c0 Implementing nsFileSpecWithUI
git-svn-id: svn://10.0.0.236/trunk@36252 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 05:41:17 +00:00
mcmullen%netscape.com
ce134dba55 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36251 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 05:40:13 +00:00
alecf%netscape.com
bb94780a00 rename some methods to be more consistent
make all accesses to the account manager kick off LoadPrefs so they can be loaded on demand
don't forget to clean up the accounts in the hash table during destruction


git-svn-id: svn://10.0.0.236/trunk@36250 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 05:32:50 +00:00
mcmullen%netscape.com
31d50e2f64 Changed to reference parameters (to avoid copying of objects onto the stack)
git-svn-id: svn://10.0.0.236/trunk@36249 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 05:03:30 +00:00
mscott%netscape.com
5817d17edb include nsMsgImapCID.h
git-svn-id: svn://10.0.0.236/trunk@36248 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 05:00:12 +00:00
mscott%netscape.com
8fe8bae1e7 add another class id.
git-svn-id: svn://10.0.0.236/trunk@36247 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 05:00:04 +00:00
mscott%netscape.com
36006b2436 move class id into nsMsgImapCID.h
git-svn-id: svn://10.0.0.236/trunk@36246 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:58:16 +00:00
mscott%netscape.com
bc9d2c8fac include nsMsgImapCID.h. move class id into nsMsgImapCID.h
git-svn-id: svn://10.0.0.236/trunk@36245 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:58:01 +00:00
ftang%netscape.com
306825e71f remove GetCandidates method for now
git-svn-id: svn://10.0.0.236/trunk@36244 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:56:10 +00:00
mscott%netscape.com
882c033346 Move class ids into nsMsgImapCID.h and out of the interfaces!
git-svn-id: svn://10.0.0.236/trunk@36243 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:56:03 +00:00
mscott%netscape.com
050011a97f Export nsMsgImapCID.h
git-svn-id: svn://10.0.0.236/trunk@36242 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:55:03 +00:00
mscott%netscape.com
6462919c5c Remove NS_IMAPMESSAGERESOURCE_CID definition which doesn't belong here.
git-svn-id: svn://10.0.0.236/trunk@36241 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:54:44 +00:00
mscott%netscape.com
9bff967085 Export nsMsgImapCID.h
git-svn-id: svn://10.0.0.236/trunk@36240 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:49:47 +00:00
mscott%netscape.com
2fafb42a64 First checked in. Header file for the class ids this factory can produce components for.
git-svn-id: svn://10.0.0.236/trunk@36239 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:46:01 +00:00
sspitzer%netscape.com
eccaf2fa6d start of work to respect the newsrc files. code cleanup. use nsCOMPtr.
git-svn-id: svn://10.0.0.236/trunk@36238 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:45:15 +00:00
mscott%netscape.com
d63cad3447 fix Linux warning by removing unused variables.
git-svn-id: svn://10.0.0.236/trunk@36237 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:35:49 +00:00
ftang%netscape.com
9ac7edc1f1 add ISO-8859-13
git-svn-id: svn://10.0.0.236/trunk@36236 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:34:11 +00:00
mscott%netscape.com
4789cc09c7 Use factory method for pop3 url.
git-svn-id: svn://10.0.0.236/trunk@36235 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:32:31 +00:00
mscott%netscape.com
b0c1daff63 Add pop3 url cid.
git-svn-id: svn://10.0.0.236/trunk@36234 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:32:19 +00:00
mscott%netscape.com
b175b76d00 Overhaul of pop3 url to use new nsMsgMailNewsUrl class. This should make necko integration easier and reduce footprint a bit.
git-svn-id: svn://10.0.0.236/trunk@36232 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:31:59 +00:00
mscott%netscape.com
1f34ddfea0 Because of my over-haul for mailnews urls, we now need to be more explicit about the url interfac
we are calling the method on (nsIURL, nsIPop3Url, nsIMsgMailNewsUrl, etc).

Overhaul of pop3 service to optimize out some common code.


git-svn-id: svn://10.0.0.236/trunk@36231 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:31:20 +00:00
mscott%netscape.com
7dadf79c62 Because of my over-haul for mailnews urls, we now need to be more explicit about the url interfac
we are calling the method on (nsIURL, nsIPop3Url, nsIMsgMailNewsUrl, etc).


git-svn-id: svn://10.0.0.236/trunk@36230 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:30:56 +00:00
mscott%netscape.com
cdb89f2006 No longer inherit from nsIMsgMailNewsUrl as part of new url re-org. Move class ID out of interface.
git-svn-id: svn://10.0.0.236/trunk@36229 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:30:15 +00:00
ftang%netscape.com
747b1cda72 add ISO-8859-13 to the hack list
git-svn-id: svn://10.0.0.236/trunk@36228 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:27:58 +00:00
ftang%netscape.com
02a99efdc6 add ISO-8859-13 converters to the factory list
git-svn-id: svn://10.0.0.236/trunk@36227 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 04:25:44 +00:00
mcmullen%netscape.com
3989842a07 restoring from the dead
git-svn-id: svn://10.0.0.236/trunk@36226 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:58:18 +00:00
mcmullen%netscape.com
486881c927 Added nsFileSpecWithUIImpl.cpp
git-svn-id: svn://10.0.0.236/trunk@36225 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:54:07 +00:00
ftang%netscape.com
5172c44a44 remove #if 0 section per harish
git-svn-id: svn://10.0.0.236/trunk@36224 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:54:04 +00:00
mcmullen%netscape.com
7811bed44a Removed two evil exported functions which I added. Well actually, I added them as inlines, but they somehow changed. So since I don't want them as exports, dust to dust, and ashes to ashes.
git-svn-id: svn://10.0.0.236/trunk@36223 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:53:43 +00:00
mcmullen%netscape.com
b99fa1d547 Intermediate checkin.
git-svn-id: svn://10.0.0.236/trunk@36222 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:52:31 +00:00
mcmullen%netscape.com
2397542bf2 Use nsIFileSpecWithUI instead of nsIFileSpec.
git-svn-id: svn://10.0.0.236/trunk@36221 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:51:32 +00:00
mcmullen%netscape.com
5c95646d94 More.
git-svn-id: svn://10.0.0.236/trunk@36220 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:51:11 +00:00
mcmullen%netscape.com
bec0ad9788 Removing the use of the convenient factory method for nsIFileSpec, since I'm about to remove that, too.
git-svn-id: svn://10.0.0.236/trunk@36219 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:48:26 +00:00
mcmullen%netscape.com
e4f0d64e95 Replaced an include by a forward declaration to speed the build
git-svn-id: svn://10.0.0.236/trunk@36218 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:47:00 +00:00
briano%netscape.com
24407fb7ad Added OpenBSD to the list of platforms that need to filter out the __.SYMDEF file when building a composite library.
git-svn-id: svn://10.0.0.236/trunk@36217 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:45:02 +00:00
ftang%netscape.com
bb434bebd5 add new topic and method per harish
git-svn-id: svn://10.0.0.236/trunk@36216 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:38:44 +00:00
ftang%netscape.com
4316538b33 add new method to nsIElementObserver classes
git-svn-id: svn://10.0.0.236/trunk@36215 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:37:22 +00:00
ftang%netscape.com
9ff5472f35 check in the change which add XMLEncoding observer and some base support for charset detector
git-svn-id: svn://10.0.0.236/trunk@36214 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:29:17 +00:00
ftang%netscape.com
579387454b add several new files
git-svn-id: svn://10.0.0.236/trunk@36213 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:27:43 +00:00
davidm%netscape.com
34a69f8ace screwed up adding .idl file
git-svn-id: svn://10.0.0.236/trunk@36212 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:27:38 +00:00
ftang%netscape.com
fbee213684 add new interface
git-svn-id: svn://10.0.0.236/trunk@36211 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:22:42 +00:00
davidm%netscape.com
5875226262 File Removed.
git-svn-id: svn://10.0.0.236/trunk@36210 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:15:35 +00:00
ftang%netscape.com
54708b6881 add ISO-8859-13 converters
git-svn-id: svn://10.0.0.236/trunk@36209 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:14:14 +00:00
davidm%netscape.com
870e14df1c Bring window to the front before giving it focus
git-svn-id: svn://10.0.0.236/trunk@36208 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:11:15 +00:00
davidm%netscape.com
61df20fe21 XUL & JS changes for the window mediator
git-svn-id: svn://10.0.0.236/trunk@36207 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:10:19 +00:00
davidm%netscape.com
0b901bc5c6 enable window mediation
git-svn-id: svn://10.0.0.236/trunk@36206 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:06:19 +00:00
davidm%netscape.com
3cd273d854 Add WindowMediator
git-svn-id: svn://10.0.0.236/trunk@36205 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:04:45 +00:00
davidm%netscape.com
ceda10fe85 Update to new nsIWindowMediator API
git-svn-id: svn://10.0.0.236/trunk@36204 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:04:11 +00:00
alecf%netscape.com
daad347732 add userid@ to all mail/news URIs and add parsing code to support this
this change allows servers to be unique by {userid, hostname, type} combination and allows nsIMsgAccountManager::FindServer() to search for servers this way.


git-svn-id: svn://10.0.0.236/trunk@36203 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:03:48 +00:00
ftang%netscape.com
b13d6fa957 add new files
git-svn-id: svn://10.0.0.236/trunk@36202 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 03:03:32 +00:00
davidm%netscape.com
6676f02956 update to be idlized
git-svn-id: svn://10.0.0.236/trunk@36201 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:56:58 +00:00
davidm%netscape.com
9a6ac1aff1 add nsIWindowMediator.idl
git-svn-id: svn://10.0.0.236/trunk@36200 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:56:42 +00:00
davidm%netscape.com
abf28b8ea8 add nsIWindowMediator.idl to build
git-svn-id: svn://10.0.0.236/trunk@36199 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:56:29 +00:00
ftang%netscape.com
3d35a542ce add uf and ut table for
git-svn-id: svn://10.0.0.236/trunk@36198 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:50:43 +00:00
mcmullen%netscape.com
25cc6d0cb2 OK, ready now
git-svn-id: svn://10.0.0.236/trunk@36197 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:13:45 +00:00
waterson%netscape.com
c7d43e1025 Add placeholder for a template.
git-svn-id: svn://10.0.0.236/trunk@36193 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:07:06 +00:00
alecf%netscape.com
59f5b9c69d add resources directory
git-svn-id: svn://10.0.0.236/trunk@36192 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:01:11 +00:00
alecf%netscape.com
7d907c2850 move resources into a seperate subdirectory so we can export them AND build the DLL with the same makefiles
git-svn-id: svn://10.0.0.236/trunk@36191 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 02:00:42 +00:00
rjc%netscape.com
250622a5a2 Cleanup.
git-svn-id: svn://10.0.0.236/trunk@36190 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:57:46 +00:00
mcmullen%netscape.com
629fac9192 Sorry about that
git-svn-id: svn://10.0.0.236/trunk@36189 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:55:41 +00:00
alecf%netscape.com
f6a8cc8c2c add DOM datasource to the build
git-svn-id: svn://10.0.0.236/trunk@36188 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:51:13 +00:00
briano%netscape.com
5cc17da209 Automated update
git-svn-id: svn://10.0.0.236/trunk@36186 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:48:29 +00:00
mcmullen%netscape.com
ba253888c8 Backing this out - checked in inadvertently.
git-svn-id: svn://10.0.0.236/trunk@36184 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:48:05 +00:00
briano%netscape.com
70cc16bc4a Subset of the QNX/NTO changes provided by Jerry Kirk (Jerry.Kirk@Nexwarecorp.com). More testing needed for the rest.
git-svn-id: svn://10.0.0.236/trunk@36183 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:47:51 +00:00
mcmullen%netscape.com
d18357d7cf Backing out last change - did not intend to do this yet.
git-svn-id: svn://10.0.0.236/trunk@36182 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:46:38 +00:00
mcmullen%netscape.com
6cc3fa69d3 Restoring what was erroneously removed
git-svn-id: svn://10.0.0.236/trunk@36181 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:44:43 +00:00
sdagley%netscape.com
8639b8cf5e Backing out law's (who was logged in as mcmullen) checkin of the wrong locally modified file.
git-svn-id: svn://10.0.0.236/trunk@36180 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:43:33 +00:00
law%netscape.com
4d53bd2638 sdagley checking in from law's Mac. This is the fix that was supposed to go in for #8541 earler today (law was logged in as mcmullen at the time) but the wrong file was checked in.
git-svn-id: svn://10.0.0.236/trunk@36179 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:38:57 +00:00
danm%netscape.com
aa9a0f88f5 teach FindWebShellWithName to look outside the current window
git-svn-id: svn://10.0.0.236/trunk@36178 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:38:28 +00:00
mcmullen%netscape.com
642b20ba30 Restored nsIFileSpecWithUI.idl
git-svn-id: svn://10.0.0.236/trunk@36177 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:13:45 +00:00
racham%netscape.com
24de630311 Made DefaultUserProfileRoot as home for migrated profiles
git-svn-id: svn://10.0.0.236/trunk@36176 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 01:02:11 +00:00
alecf%netscape.com
23c664a127 remove useless debugging
git-svn-id: svn://10.0.0.236/trunk@36175 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:45:40 +00:00
alecf%netscape.com
eb64292864 remove some #if 0'd code
git-svn-id: svn://10.0.0.236/trunk@36174 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:45:13 +00:00
alecf%netscape.com
d77c43568a add Account Wizard to the unix build
git-svn-id: svn://10.0.0.236/trunk@36173 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:42:08 +00:00
varada%netscape.com
dc49396542 help files
git-svn-id: svn://10.0.0.236/trunk@36172 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:35:28 +00:00
putterman%netscape.com
23a344f5a0 You can now have biffs from multiple POP servers.
git-svn-id: svn://10.0.0.236/trunk@36171 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:24:53 +00:00
warren%netscape.com
dac1243979 Added stuff needed for landing -- LoadQuiet, BypassCache, BypassProxy
git-svn-id: svn://10.0.0.236/trunk@36168 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:19:58 +00:00
warren%netscape.com
033ad63962 Added util
git-svn-id: svn://10.0.0.236/trunk@36167 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:19:16 +00:00
cathleen%netscape.com
19f6a4448e merging in Doug's fixes for bug #8347
git-svn-id: svn://10.0.0.236/trunk@36166 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:14:46 +00:00
mscott%netscape.com
3413f4a8d5 constructor for smtp url no longer takes any arguments.
git-svn-id: svn://10.0.0.236/trunk@36165 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:11:11 +00:00
mscott%netscape.com
8fb062b85f Overhaul of smtp url to use new nsMsgMailNewsUrl class. This should make necko integration easier and reduce footprint a bit.
git-svn-id: svn://10.0.0.236/trunk@36163 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:10:45 +00:00
mscott%netscape.com
364e2bdecb Overhaul of mailbox url to use new nsMsgMailNewsUrl class.This should make necko integration easier and reduce footprint a bit.
git-svn-id: svn://10.0.0.236/trunk@36162 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:10:23 +00:00
mscott%netscape.com
443d13eb4e Because of my over-haul for mailnews urls, we now need to be more explicit about the url interfac
we are calling the method on (nsIURL, nsIMailboxUrl, nsIMsgMailNewsUrl, etc).


git-svn-id: svn://10.0.0.236/trunk@36161 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-22 00:09:48 +00:00
tao%netscape.com
618f16c625 Add fallbacks to handle the missing localized file.
git-svn-id: svn://10.0.0.236/trunk@36160 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:46:15 +00:00
rickg%netscape.com
f10f30929b bug 8354 and fix for th nesting error
git-svn-id: svn://10.0.0.236/trunk@36159 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:46:02 +00:00
hangas%netscape.com
70c7469102 Added "class" to DumpDOM
git-svn-id: svn://10.0.0.236/trunk@36158 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:43:21 +00:00
tao%netscape.com
5ea18610ac Use new approach to auto-register components
git-svn-id: svn://10.0.0.236/trunk@36157 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:41:35 +00:00
dp%netscape.com
22530daf99 - Threading fixed. Changed member that stored error from nsRegistry
to be an automatic variable.
- Using XPCOM_ComponentRegistry for OpenWellknownRegistry()


git-svn-id: svn://10.0.0.236/trunk@36156 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:40:21 +00:00
rjc%netscape.com
884f1a3457 Unescape FTP names (in case they were encoded).
git-svn-id: svn://10.0.0.236/trunk@36155 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:35:23 +00:00
putterman%netscape.com
0e6ed45527 backing out changes until I get them working correctly.
git-svn-id: svn://10.0.0.236/trunk@36154 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:34:27 +00:00
putterman%netscape.com
b1b65d9178 Added mail.showMessengerPerformance pref.
git-svn-id: svn://10.0.0.236/trunk@36152 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:25:33 +00:00
mcafee%netscape.com
e36209606b Better comment to describe the NORMAL_DRAG_HANDLING #define.
git-svn-id: svn://10.0.0.236/trunk@36151 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:24:33 +00:00
putterman%netscape.com
338fbaa52e GetFoldersWithFlag now AddRefs its results.
git-svn-id: svn://10.0.0.236/trunk@36150 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:24:29 +00:00
ducarroz%netscape.com
b7ed4d2a9b Add a var $build{apprunner} to build apprunner instance of using xpapp twice.
git-svn-id: svn://10.0.0.236/trunk@36149 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:23:44 +00:00
putterman%netscape.com
e25df62cf9 Can now biff from multiple servers.
git-svn-id: svn://10.0.0.236/trunk@36148 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:23:43 +00:00
ducarroz%netscape.com
9837bf5549 Add a var $build{apprunner} to build apprunner instance of using xpapp twice.
I also export some command line files to let the user start Editor, Messenger, Pref, etc.. directly by opening (or double-click) those files.


git-svn-id: svn://10.0.0.236/trunk@36147 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:23:40 +00:00
putterman%netscape.com
ffa61ccd97 Add some performance timing output.
git-svn-id: svn://10.0.0.236/trunk@36146 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:23:12 +00:00
mscott%netscape.com
38e0e15c2b Overhaul of smtp url to use new nsMsgMailNewsUrl class. This should make necko integration easier and reduce footprint a bit.
git-svn-id: svn://10.0.0.236/trunk@36144 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:20:50 +00:00
mscott%netscape.com
1ad31b056b We now don't inherit directly from nsIMsgMailNewsUrl
git-svn-id: svn://10.0.0.236/trunk@36143 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:20:05 +00:00
mcafee%netscape.com
b34de1697e Fixing drag test case, this is #if 0 by default.
git-svn-id: svn://10.0.0.236/trunk@36142 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:19:54 +00:00
mscott%netscape.com
3a8e0d8903 Add smtp url to the factory.
git-svn-id: svn://10.0.0.236/trunk@36141 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:19:37 +00:00
mscott%netscape.com
835df5211b Because of my over-haul for mailnews urls, we now need to be more explicit about the url interfac
we are calling the method on (nsIURL, nsISmtpUrl, nsIMsgMailNewsUrl, etc).

Use the factory to create an instance of the smtp url for running urls.


git-svn-id: svn://10.0.0.236/trunk@36140 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:19:13 +00:00
mscott%netscape.com
09e004b62f Because of my over-haul for mailnews urls, we now need to be more explicit about the url interfac
we are calling the method on (nsIURL, nsISmtpUrl, nsIMsgMailNewsUrl, etc).


git-svn-id: svn://10.0.0.236/trunk@36139 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:18:45 +00:00
rjc%netscape.com
2e751a6772 Better buffering of Related Links input.
git-svn-id: svn://10.0.0.236/trunk@36138 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:18:14 +00:00
jefft%netscape.com
edd47482da added files: mozilla/mailnews/local/src/nsLocalUndoTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@36137 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:17:11 +00:00
jefft%netscape.com
9c2eff4aee adding new files nsLocalUndoTxn.h nsLocalUndoTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@36130 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:13:59 +00:00
ducarroz%netscape.com
60dbf85f6f First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36129 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:13:17 +00:00
rjc%netscape.com
0e88931527 Better buffering of FTP input.
git-svn-id: svn://10.0.0.236/trunk@36128 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:11:17 +00:00
mscott%netscape.com
7cd358d83b Add CID for smtp url.
git-svn-id: svn://10.0.0.236/trunk@36127 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:10:54 +00:00
jefft%netscape.com
156ce06305 setting up correct url listener when undo/redo'ing
git-svn-id: svn://10.0.0.236/trunk@36126 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:07:09 +00:00
jefft%netscape.com
42dc278cfa fixed resetting current folder uid validity and highest recorded uid problem
git-svn-id: svn://10.0.0.236/trunk@36125 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:05:29 +00:00
ducarroz%netscape.com
5436aa72e0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36124 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:04:20 +00:00
jefft%netscape.com
032facf7a6 check for m_imapMailFolderSink before calling UpdateImapMailboxInfo()
git-svn-id: svn://10.0.0.236/trunk@36123 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:03:28 +00:00
jefft%netscape.com
17ab9063d4 partially enable undo
git-svn-id: svn://10.0.0.236/trunk@36122 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:02:30 +00:00
jefft%netscape.com
6a52a04714 CutAllColumns() after CutRow() from m_mdbAllMsgHeadersTable
git-svn-id: svn://10.0.0.236/trunk@36121 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 23:00:09 +00:00
jefft%netscape.com
45e9370b36 added readonly attribute nsIMsgDatabase msgDatabase for undo work
git-svn-id: svn://10.0.0.236/trunk@36120 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:56:18 +00:00
sfraser%netscape.com
bb2c0fd655 File Removed.
git-svn-id: svn://10.0.0.236/trunk@36119 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:39:37 +00:00
hangas%netscape.com
047f8629e8 Added DumpDOM.js to build
git-svn-id: svn://10.0.0.236/trunk@36118 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:33:56 +00:00
sfraser%netscape.com
7c9351e1eb Removal of old EditorAppCore code, and the obsolete toolbarCore.
git-svn-id: svn://10.0.0.236/trunk@36117 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:33:42 +00:00
sfraser%netscape.com
aaca2327b8 Removal of old EditorAppCore code.
git-svn-id: svn://10.0.0.236/trunk@36116 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:33:29 +00:00
sfraser%netscape.com
0227c9b7fb Removal of nsIDOMEditorAppCore.h
git-svn-id: svn://10.0.0.236/trunk@36115 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:32:32 +00:00
sfraser%netscape.com
6ecf801eb7 Removal of nsIDOMEditorAppCore.h and idl.
git-svn-id: svn://10.0.0.236/trunk@36114 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:32:22 +00:00
hangas%netscape.com
3c5c9dbec2 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@36113 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:26:51 +00:00
mscott%netscape.com
58492e135a added files: mozilla/mailnews/base/util/nsMsgMailNewsUrl.cpp
git-svn-id: svn://10.0.0.236/trunk@36112 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:21:19 +00:00
mscott%netscape.com
94987d7676 Export nsMsgMailNewsUrl.h
git-svn-id: svn://10.0.0.236/trunk@36111 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:20:07 +00:00
radha%netscape.com
6d81a55490 Check for trailing slash in OnEndDocumentLoad() and update history entry accordingly
git-svn-id: svn://10.0.0.236/trunk@36110 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:17:14 +00:00
radha%netscape.com
c2dd3936b9 New interfaces to get and set url for a particular entry. Remove unused code.
Fix few reference errors. More error checks


git-svn-id: svn://10.0.0.236/trunk@36109 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:16:24 +00:00
radha%netscape.com
6bc0922f80 New interfaces to nsIsessionHistory added
git-svn-id: svn://10.0.0.236/trunk@36108 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:15:11 +00:00
radha%netscape.com
26dfadfea4 New interfaces to get and set urls for aparticular history entry
git-svn-id: svn://10.0.0.236/trunk@36107 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:14:27 +00:00
Dale.Stansberry%Nexwarecorp.com
07039128db - Fixed child clipping (on test4.html)
git-svn-id: svn://10.0.0.236/trunk@36104 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:10:54 +00:00
radha%netscape.com
cc1799d1b2 Fix the stop button behavior. Remove few debugging statements
git-svn-id: svn://10.0.0.236/trunk@36103 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:04:30 +00:00
locka%iol.ie
5482ce7faf Moved interface defs into a macro for easy derivation from this class
git-svn-id: svn://10.0.0.236/trunk@36102 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:02:44 +00:00
locka%iol.ie
b06c35ff6c Added IErrorInfo descriptions for call failures in calles IWebBrowser(2/App)
git-svn-id: svn://10.0.0.236/trunk@36101 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 22:01:41 +00:00
mcmullen%netscape.com
09b0227cbf Fix content bugs (#7902)
git-svn-id: svn://10.0.0.236/trunk@36100 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:54:40 +00:00
locka%iol.ie
5efb1acfc8 Derived from control site to implement doc host UI interfaces
git-svn-id: svn://10.0.0.236/trunk@36099 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:53:20 +00:00
wtc%netscape.com
8ff4f3bd51 IRIX: -KPIC is the default and hence unnecessary. In o32 mode,
cc does not understand the -exceptions option, so specify that
option only for the C++ compiler.  Thanks to Brian Ostrom
(briano@netscape.com) for the bug report.


git-svn-id: svn://10.0.0.236/trunk@36098 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:52:52 +00:00
locka%iol.ie
b720811918 no message
git-svn-id: svn://10.0.0.236/trunk@36096 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:50:58 +00:00
ducarroz%netscape.com
2ff0458943 temporary remove MakeMdbFactory to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@36095 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:44:44 +00:00
wtc%netscape.com
a594034297 Removed unused code, because +DA2.0W is specified in config/HP-UX.mk
already.  Also there is a typo ($USE_64).


git-svn-id: svn://10.0.0.236/trunk@36094 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:35:11 +00:00
Jerry.Kirk%Nexwarecorp.com
8ce460c060 - Beginning to add support for printing for Neutrino
git-svn-id: svn://10.0.0.236/trunk@36093 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:32:30 +00:00
bienvenu%netscape.com
208c495a19 make mork a dll
git-svn-id: svn://10.0.0.236/trunk@36092 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:24:08 +00:00
sspitzer%netscape.com
fcdd355990 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@36091 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:24:05 +00:00
rpotts%netscape.com
b23da3b181 The new status line parsing code is now enabled...
git-svn-id: svn://10.0.0.236/trunk@36090 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:21:22 +00:00
cmanske%netscape.com
aca0e8a59a Adding images for main Composer toolbar
git-svn-id: svn://10.0.0.236/trunk@36089 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:13:44 +00:00
mscott%netscape.com
c04579e399 Add threadsafe check in Query Interface call.
git-svn-id: svn://10.0.0.236/trunk@36088 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:11:29 +00:00
mscott%netscape.com
878a824c30 Start building nsMsgMailNewsUrl....
git-svn-id: svn://10.0.0.236/trunk@36087 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:09:53 +00:00
mcafee%netscape.com
e5c1a199fe Improving event debugging output.
git-svn-id: svn://10.0.0.236/trunk@36086 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:09:33 +00:00
mscott%netscape.com
5e49b28d93 Start building nsMsgMailNewsUrl....(no one is actually using it in any implementation though).
git-svn-id: svn://10.0.0.236/trunk@36085 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:09:16 +00:00
warren%netscape.com
bb21c7ca4f Fixed problems with GetReadSegment after eof.
git-svn-id: svn://10.0.0.236/trunk@36084 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:05:07 +00:00
sspitzer%netscape.com
9143f818c3 rewrite to use nsMsgLineBuffer, nsnull, NSPR types, fix warnings
git-svn-id: svn://10.0.0.236/trunk@36083 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 21:03:55 +00:00
chuang%netscape.com
59ea6ac4f2 Fix crash on address book New Card.
git-svn-id: svn://10.0.0.236/trunk@36082 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:56:10 +00:00
ducarroz%netscape.com
bac0d8adfa File Removed.
git-svn-id: svn://10.0.0.236/trunk@36081 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:51:48 +00:00
kmcclusk%netscape.com
5c1bb39d17 Removed commented out code to perform system mouse capture.
git-svn-id: svn://10.0.0.236/trunk@36080 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:46:47 +00:00
mcmullen%netscape.com
c791f0c036 Fix for bug #8541; adding to Mac build
git-svn-id: svn://10.0.0.236/trunk@36079 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:46:28 +00:00
kmcclusk%netscape.com
040ca9ca76 Numerous changes to support gfx-rendered form elements.
git-svn-id: svn://10.0.0.236/trunk@36078 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:41:56 +00:00
mscott%netscape.com
99d3512b02 In prep of my use of nsMsgMailNewsUrl, include nsIMsgMailNewsUrl.h.
git-svn-id: svn://10.0.0.236/trunk@36077 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:38:12 +00:00
kmcclusk%netscape.com
44272bfdbf Added CaptureMouse method to nsIWidget. Implemented CaptureMouse in nsWindow.cpp
Added a base implementation to nsBaseWidget.cpp.


git-svn-id: svn://10.0.0.236/trunk@36076 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:37:50 +00:00
mscott%netscape.com
a2d049e3ae Necko prep-integration work...add a base implementation class for mailnews urls. This encapsulates some common code that was shared across mailnews protocols. It should make my necko integration work easier as well.
(not part of the build yet).


git-svn-id: svn://10.0.0.236/trunk@36075 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:36:03 +00:00
ducarroz%netscape.com
53b53d70fa File Removed.
git-svn-id: svn://10.0.0.236/trunk@36074 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:32:04 +00:00
mjudge%netscape.com
749ca99b34 commenting out errant printf!
git-svn-id: svn://10.0.0.236/trunk@36073 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:31:30 +00:00
nhotta%netscape.com
bd10fbbf52 Bug fix 5660, changed for MIME decoder to use default charset.
git-svn-id: svn://10.0.0.236/trunk@36072 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:30:52 +00:00
ducarroz%netscape.com
db0f9d97f1 Remove forward as quoted.
Don't addref/release m_editor, fix for bug 8570


git-svn-id: svn://10.0.0.236/trunk@36071 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:28:40 +00:00
ducarroz%netscape.com
9036af7471 Remove forward as quoted.
git-svn-id: svn://10.0.0.236/trunk@36070 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:28:39 +00:00
ducarroz%netscape.com
ad50825ff3 Use toolkitCore to launch message compose instance of nsMsgComposeService.
git-svn-id: svn://10.0.0.236/trunk@36069 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:28:07 +00:00
ducarroz%netscape.com
5074d939f8 Remove unsused bootstrap for messenger.
Add -msgcompose and -addressbook commands


git-svn-id: svn://10.0.0.236/trunk@36068 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:28:06 +00:00
ducarroz%netscape.com
310e710d75 Clean up old and unused code.
Set the focus to the "to" field.
Initialize var "contentWindow" used by editor JS


git-svn-id: svn://10.0.0.236/trunk@36067 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:28:05 +00:00
nhotta%netscape.com
b4814ecbf6 Adding charset menu for html editor as a part of the bug fix for 7849.
git-svn-id: svn://10.0.0.236/trunk@36066 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:22:52 +00:00
sspitzer%netscape.com
4f21da9822 change the hard coded last page visted to be waterson's home page, not radha's.
git-svn-id: svn://10.0.0.236/trunk@36065 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:19:24 +00:00
Dale.Stansberry%Nexwarecorp.com
8b969a38a4 - Added more clipping smarts (for children and siblings)
git-svn-id: svn://10.0.0.236/trunk@36064 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:18:27 +00:00
Michael.Kedl%Nexwarecorp.com
0a6deae7fb Dale's fixes for apprunner redrawing so much at startup (not yet finished)
git-svn-id: svn://10.0.0.236/trunk@36063 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:12:19 +00:00
Michael.Kedl%Nexwarecorp.com
0173c64451 fixed double buffering for Don's tiling background
git-svn-id: svn://10.0.0.236/trunk@36062 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:10:58 +00:00
Jerry.Kirk%Nexwarecorp.com
4621367218 - Fixed Neutrino timers to handler a timer with 0 delay
git-svn-id: svn://10.0.0.236/trunk@36061 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:06:25 +00:00
Jerry.Kirk%Nexwarecorp.com
f8bb4ef7a7 - Removing references to GTK that were left over from the conversion.
git-svn-id: svn://10.0.0.236/trunk@36060 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:02:53 +00:00
dbragg%netscape.com
4c37594c67 removed the too-long file names nsPrefMigrationProgressDialog.cpp and .h. They are nos nsPMProgressDlg.cpp and .h
git-svn-id: svn://10.0.0.236/trunk@36059 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 20:01:28 +00:00
Jerry.Kirk%Nexwarecorp.com
cfc25aa725 - Adding code to support Neutrino OS. Had to use the OS_TARGET
- variable instead of OS_ARCH because Neutrino is still cross-compiled.


git-svn-id: svn://10.0.0.236/trunk@36058 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 19:58:48 +00:00
ssu%netscape.com
9a111c9aea attempting to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@36048 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 18:39:04 +00:00
edwin%woudt.nl
3f7dec1ebd Remove obsolete code from the Makefile. Compiling shouldn't give errors anymore now.
git-svn-id: svn://10.0.0.236/trunk@36047 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 16:57:40 +00:00
rhp%netscape.com
04deb8631f Output Charset info, even though Ender has a problem with it.
git-svn-id: svn://10.0.0.236/trunk@36046 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 14:48:04 +00:00
blizzard%redhat.com
e224b8f146 set mBounds in the other Resize() method, too. Thanks for pointing this out, tor.
git-svn-id: svn://10.0.0.236/trunk@36045 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 14:36:53 +00:00
morse%netscape.com
7cede22d8f turning on wallet viewers on unix platforms
git-svn-id: svn://10.0.0.236/trunk@36044 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 14:36:52 +00:00
rjc%netscape.com
bd911642f5 Clean up.
git-svn-id: svn://10.0.0.236/trunk@36041 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 10:46:47 +00:00
grail%cafebabe.org
3a6feb1500 Fixed to accomodate one of the constructors that disappeared from PageUI.
git-svn-id: svn://10.0.0.236/trunk@36039 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 09:54:08 +00:00
grail%cafebabe.org
37cbb85790 Tweaked XMLMenuBuilder to be a few less instructions. Not sure if it
matters or not. XMLPageBuilder now does recursive panels (I think). I
needs testing but in theory it should work. Dumb constructors for
XMLPageBuilder and PageUI removed also. Let's watch Tinderbox before I
sleep. I am finally happy with this implementation. You don't have to
spend a fortnight reading it to figure out what's going on.

Happy hacking!


git-svn-id: svn://10.0.0.236/trunk@36038 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 09:28:04 +00:00
rjc%netscape.com
d8c8aa4009 Turn on.
git-svn-id: svn://10.0.0.236/trunk@36037 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 09:22:17 +00:00
rjc%netscape.com
6211631fdc Conditionalize.
git-svn-id: svn://10.0.0.236/trunk@36036 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 09:12:35 +00:00
rjc%netscape.com
675ad43fc0 OnAssert() and OnUnassert() now understand if the contents were generated by a XUL template and, if so, try to do the right thing.
git-svn-id: svn://10.0.0.236/trunk@36035 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 08:59:14 +00:00
rpotts%netscape.com
c89ae9c790 First pass at parsing the server Response in a more robust way... This is a WIP (not tested yet)
git-svn-id: svn://10.0.0.236/trunk@36034 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 08:21:28 +00:00
rpotts%netscape.com
dbc76bf3ce Cleaned up the destructor to correctly release the input stream...
git-svn-id: svn://10.0.0.236/trunk@36033 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 08:19:26 +00:00
jfrancis%netscape.com
2ecce20f07 don't consume mouse down events if no link handler (allows text selection to work in links when link clicking is disabled).
git-svn-id: svn://10.0.0.236/trunk@36032 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 07:56:49 +00:00
jfrancis%netscape.com
b2f2bf7a70 turn off link following in the editor
git-svn-id: svn://10.0.0.236/trunk@36031 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 07:49:03 +00:00
jfrancis%netscape.com
13c07cf443 making the world safe for null linkHandlers
git-svn-id: svn://10.0.0.236/trunk@36030 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 07:47:29 +00:00
zuperdee%penguinpowered.com
240ca13f23 Added stubs for modal dialog stuff, along with various minor fixups to help bring the Motif port up to speed on the changes that have been occuring in the rest of Mozilla.
git-svn-id: svn://10.0.0.236/trunk@36029 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 06:49:44 +00:00
morse%netscape.com
74388fd02e backing out last change
git-svn-id: svn://10.0.0.236/trunk@36028 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 06:04:25 +00:00
morse%netscape.com
08e6fe2789 Makefile.in
git-svn-id: svn://10.0.0.236/trunk@36027 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 05:24:25 +00:00
rhp%netscape.com
59dec2acd4 Fix for improper I18N decoding of attachment file names
git-svn-id: svn://10.0.0.236/trunk@36021 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 04:08:18 +00:00
sspitzer%netscape.com
3a3bf6e294 adding the .cvsignore files. again.
These are here so that CVS will ignore the generated Makefiles.

don't remove them, please.


git-svn-id: svn://10.0.0.236/trunk@36020 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 03:23:07 +00:00
ramiro%netscape.com
b0cc232d87 Add #ifdefs to make sure it only build on supported linux platforms.
git-svn-id: svn://10.0.0.236/trunk@36019 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 02:29:17 +00:00
sspitzer%netscape.com
6371a68ed3 fix for #8360. Get "mailnews.start_page.enabled" and "mailnews.start_page.url" to work.
git-svn-id: svn://10.0.0.236/trunk@36018 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 02:25:34 +00:00
morse%netscape.com
8184f40f10 turn on wallet viewers
git-svn-id: svn://10.0.0.236/trunk@36017 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 02:18:16 +00:00
sspitzer%netscape.com
4da2cf58f6 fix warnings. these classes have virtual functions but non-virtual destructors
git-svn-id: svn://10.0.0.236/trunk@36016 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 01:59:44 +00:00
morse%netscape.com
007828d5f1 .cvsignore
git-svn-id: svn://10.0.0.236/trunk@36015 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 00:46:26 +00:00
warren%netscape.com
7792abe2c0 Parser changes for necko.
git-svn-id: svn://10.0.0.236/trunk@36014 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 00:33:51 +00:00
briano%netscape.com
3ddadd3d11 Automated update
git-svn-id: svn://10.0.0.236/trunk@36012 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 00:29:54 +00:00
mcafee%netscape.com
43d0836510 Better ifdef logic for NECKO.
git-svn-id: svn://10.0.0.236/trunk@36011 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 00:26:16 +00:00
mcafee%netscape.com
62f51d9168 --enable-necko turns on the NECKO ifdef
git-svn-id: svn://10.0.0.236/trunk@36008 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-21 00:25:19 +00:00
jfrancis%netscape.com
33b54daf18 care and feeding of the compiler...
git-svn-id: svn://10.0.0.236/trunk@36007 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 23:32:22 +00:00
sspitzer%netscape.com
b92b67e0f5 export the history-test files on Mac and Windows, too.
git-svn-id: svn://10.0.0.236/trunk@36006 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 23:03:27 +00:00
jfrancis%netscape.com
c905921f4d spring cleaning of interfaces
git-svn-id: svn://10.0.0.236/trunk@36005 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 23:02:48 +00:00
bruce%cybersight.com
4cce6cdce9 Add |GetIID()| implementation.
git-svn-id: svn://10.0.0.236/trunk@36004 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:32:32 +00:00
bruce%cybersight.com
c7dae1445a Add |GetIID()| implementations.
git-svn-id: svn://10.0.0.236/trunk@36003 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:31:32 +00:00
morse%netscape.com
f7ab40426d Makefile.in
git-svn-id: svn://10.0.0.236/trunk@36002 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:27:44 +00:00
alecf%netscape.com
0dc11d1d63 fix some of the options so that new rows are added correctly.
git-svn-id: svn://10.0.0.236/trunk@36001 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:05:11 +00:00
alecf%netscape.com
56b64aa6b8 add completions to tests so that we can traverse specific object types
git-svn-id: svn://10.0.0.236/trunk@36000 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:04:33 +00:00
alecf%netscape.com
8608fcefb6 add initial implementation of the account wizard
git-svn-id: svn://10.0.0.236/trunk@35999 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:03:12 +00:00
alecf%netscape.com
48d7e7e97a add datasource datasource for the first time
(not complete, not yet part of the build)


git-svn-id: svn://10.0.0.236/trunk@35998 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:01:58 +00:00
alecf%netscape.com
fb358d372a add DOM datasource for the first time
(not yet part of the build)


git-svn-id: svn://10.0.0.236/trunk@35997 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 22:01:01 +00:00
bruce%cybersight.com
12b5e5f8b1 Add |GetIID()| implementations. There is code that was relying on these to exist in the tree, so this could be entertaining.
git-svn-id: svn://10.0.0.236/trunk@35996 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 21:51:06 +00:00
edwin%woudt.nl
2b75070262 Improved the copy and move context menus to display a sensible value for each store.
git-svn-id: svn://10.0.0.236/trunk@35995 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 21:41:16 +00:00
sspitzer%netscape.com
066af00545 rewrite to use a switch statement.
git-svn-id: svn://10.0.0.236/trunk@35994 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 21:29:59 +00:00
sspitzer%netscape.com
af6cc98f71 changes to export the new history-test.* files
git-svn-id: svn://10.0.0.236/trunk@35993 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 21:16:58 +00:00
sspitzer%netscape.com
c7d1d49eb5 added these files to test nsIGlobalHistory from javascript
git-svn-id: svn://10.0.0.236/trunk@35992 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 21:16:25 +00:00
sspitzer%netscape.com
352f2a4bd0 make it work when "browser.startup.homepage" is 2, for last page visited.
I needed to get the service before I QueryInterfaced.


git-svn-id: svn://10.0.0.236/trunk@35991 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 21:09:50 +00:00
edwin%woudt.nl
4ec3b848d0 Updated because of bug #8567
Java Project X TR 2 is now required (at least on win32)


git-svn-id: svn://10.0.0.236/trunk@35990 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 21:05:23 +00:00
morse%netscape.com
f807bb00b7 fix bustage
git-svn-id: svn://10.0.0.236/trunk@35989 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 20:46:48 +00:00
sspitzer%netscape.com
598f44d5aa ignore the generated makefiles
git-svn-id: svn://10.0.0.236/trunk@35988 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 20:44:59 +00:00
sspitzer%netscape.com
bab68e8c91 fix build bustage for morse. again.
git-svn-id: svn://10.0.0.236/trunk@35987 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 20:41:58 +00:00
sspitzer%netscape.com
7a97c48d19 fix case sensitivity problem
git-svn-id: svn://10.0.0.236/trunk@35986 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 20:03:21 +00:00
andreas.otte%primus-online.de
0f3bebe404 include some header files to get rid of some warnings
git-svn-id: svn://10.0.0.236/trunk@35985 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 19:53:39 +00:00
morse%netscape.com
9f7ea1034f fix up walletviewer makefiles for unix
git-svn-id: svn://10.0.0.236/trunk@35984 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 19:33:33 +00:00
pavlov%pavlov.net
ae4d160a11 context menus almost work now.
git-svn-id: svn://10.0.0.236/trunk@35983 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 17:34:06 +00:00
bienvenu%netscape.com
5c2f2935fe remove export of host session list interface, fix case of include file
git-svn-id: svn://10.0.0.236/trunk@35982 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 16:13:25 +00:00
bienvenu%netscape.com
ea9786f957 add export of host session list interface
git-svn-id: svn://10.0.0.236/trunk@35981 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 16:11:06 +00:00
bienvenu%netscape.com
9da173bc31 more work on local mail filters
git-svn-id: svn://10.0.0.236/trunk@35980 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 15:39:32 +00:00
bienvenu%netscape.com
13d651e382 fix rfc822 header compare, empty string handling
git-svn-id: svn://10.0.0.236/trunk@35978 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 15:36:01 +00:00
bienvenu%netscape.com
74efa6332b run url queue from mozilla thread, more work on imap filters
git-svn-id: svn://10.0.0.236/trunk@35977 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 15:35:10 +00:00
bienvenu%netscape.com
1274f502a8 fix warnings
git-svn-id: svn://10.0.0.236/trunk@35976 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 15:33:31 +00:00
mccabe%netscape.com
2a27e4cea1 Fix to my fix to my fix. Use ifneq ($(XPIDLSRCS),), as used elsewhere, rather than ifdef XPIDLSRCS.
Many thanks to Chris Seawood <cls@seawood.org> both for identifying the original problem with the make rules that was causing spurious .h rebuilds, and for pointing out fixes for both of my previous attempts at getting this right.


git-svn-id: svn://10.0.0.236/trunk@35974 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 09:46:36 +00:00
rjc%netscape.com
5d502799df When building a subtree from a template, nodes are now unique until we find one with the "uri='...'" attribute set.
git-svn-id: svn://10.0.0.236/trunk@35973 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 09:11:25 +00:00
mccabe%netscape.com
c3f105753d Fix earlier fixes to avoid spurious idl->.h file regeneration.
The way I did it previously breaks with parallel (-j) builds; this seems to fix it.


git-svn-id: svn://10.0.0.236/trunk@35972 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 08:59:31 +00:00
rjc%netscape.com
a42b8bb002 Slightly better parsing of weird HTML for search results.
git-svn-id: svn://10.0.0.236/trunk@35971 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 06:47:44 +00:00
rjc%netscape.com
04bb11a37a Fix bug #8465 by starting at the parent of the node which is about to be inserted when looking for the "ignore" attribute. Also, save the "id" of the template node used to create node... in preparation for getting onAssert() and onUnassert() working fully with templates.
git-svn-id: svn://10.0.0.236/trunk@35970 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 05:45:40 +00:00
rjc%netscape.com
a5ef770dcd Slightly better parsing of weird HTML for search results.
git-svn-id: svn://10.0.0.236/trunk@35969 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 05:42:52 +00:00
rjc%netscape.com
8884982431 Suble changes for XUL search stuff.
git-svn-id: svn://10.0.0.236/trunk@35968 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 05:42:04 +00:00
waterson%netscape.com
bd23dd256a Fix VC5 compiler bustage.
git-svn-id: svn://10.0.0.236/trunk@35967 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 05:15:02 +00:00
waterson%netscape.com
071391c946 Add rdfpoll test to build. Not sure why it wasn't there before.
git-svn-id: svn://10.0.0.236/trunk@35966 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 05:05:21 +00:00
ssu%netscape.com
e55dff6fa4 fixing bugs #6622 and #6624
git-svn-id: svn://10.0.0.236/trunk@35965 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 02:43:43 +00:00
ssu%netscape.com
a9a754a3d0 added define's to deal with building standalone
git-svn-id: svn://10.0.0.236/trunk@35964 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 02:38:14 +00:00
morse%netscape.com
f780310e0f fix bug 8374 (uninitialized variable)
git-svn-id: svn://10.0.0.236/trunk@35963 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 02:36:24 +00:00
morse%netscape.com
ff0129e52f another attempt to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@35962 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 02:25:51 +00:00
grail%cafebabe.org
029c89c751 Fix the implementation of XMLMenuBuilder. Much faster now since it
doesn't travel node to node but does the work with childnodes/sibling
nodes. This reduces travels to non-element nodes.


git-svn-id: svn://10.0.0.236/trunk@35961 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 02:15:35 +00:00
morse%netscape.com
dcf750c2c2 fixing unix bustage by backing out my change
git-svn-id: svn://10.0.0.236/trunk@35960 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 01:46:45 +00:00
morse%netscape.com
bb660db9f7 fix depth problem
git-svn-id: svn://10.0.0.236/trunk@35959 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 01:06:05 +00:00
sfraser%netscape.com
6d0d70ab2b Fix typo in plain text factory. Fix for bug 8554, r sspitzer
git-svn-id: svn://10.0.0.236/trunk@35958 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 01:01:09 +00:00
morse%netscape.com
ac689b5488 put wallet viewers into one dll
git-svn-id: svn://10.0.0.236/trunk@35957 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:35:52 +00:00
waterson%netscape.com
510b6bd5bd Add dom-test-6 and dom-test-7.
git-svn-id: svn://10.0.0.236/trunk@35956 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:23:11 +00:00
waterson%netscape.com
2154dd2d78 Bugs 8453, 8401, 7222. DOM 'insertBefore()' was hopelessly broken, lots of bugs causing random things to happen in the zombie pool.
git-svn-id: svn://10.0.0.236/trunk@35955 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:22:33 +00:00
waterson%netscape.com
141ea351ad Bug 8453. Fix lots of bugs in the RDF container code.
git-svn-id: svn://10.0.0.236/trunk@35954 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:19:54 +00:00
waterson%netscape.com
a7a7380d71 Bug 8386. Over-use of 'about=' attribute on containers; use 'ID=' when possible.
git-svn-id: svn://10.0.0.236/trunk@35953 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:19:23 +00:00
sfraser%netscape.com
60704ce592 Add a null check to avoid crashing when typing in the profile window text fields.
git-svn-id: svn://10.0.0.236/trunk@35952 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:15:40 +00:00
jfrancis%netscape.com
2a4f8f3946 fixing bug that broke selection in docs with generated content
git-svn-id: svn://10.0.0.236/trunk@35951 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:12:59 +00:00
sfraser%netscape.com
4e384638f3 Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@35950 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:04:05 +00:00
mccabe%netscape.com
62c91fca07 Fix idl->.h and idl->.xpt rules to not depend on $(XPIDL_GEN_DIR) because (on linux at least) _any_ addition to that directory resets the timestamp, causing all .h files to rebuild.
One such .h file is nsISupports.h, which we'd prefer _not_ to rebuild.

Instead, added a test for $(XPIDL_GEN_DIR) in the .h and .xpt rules.


git-svn-id: svn://10.0.0.236/trunk@35949 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-20 00:02:37 +00:00
beard%netscape.com
05bf96ad86 added ImporterTopLevel.java
git-svn-id: svn://10.0.0.236/trunk@35948 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 23:38:35 +00:00
sfraser%netscape.com
6b5825c96f Fix morse bustag
git-svn-id: svn://10.0.0.236/trunk@35947 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 23:29:39 +00:00
sfraser%netscape.com
e6db9e08c8 Remove wallet, signon and cookie core files.
git-svn-id: svn://10.0.0.236/trunk@35946 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 23:13:38 +00:00
morse%netscape.com
f91eb75eb3 fix mac bustage
git-svn-id: svn://10.0.0.236/trunk@35945 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 23:02:04 +00:00
sfraser%netscape.com
46b84c43f5 Add onunload to call the appcore's cleanup routine.
git-svn-id: svn://10.0.0.236/trunk@35944 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:52:49 +00:00
sfraser%netscape.com
7bde5319d9 Leak fixes, and moved EndObservering and other cleanup from the dtor to Close().
git-svn-id: svn://10.0.0.236/trunk@35943 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:50:46 +00:00
morse%netscape.com
5a2010006a remove obsolete files
git-svn-id: svn://10.0.0.236/trunk@35942 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:33:17 +00:00
sspitzer%netscape.com
ffa4270f7e fix my stupidity.
git-svn-id: svn://10.0.0.236/trunk@35941 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:29:03 +00:00
warren%netscape.com
8f81708baf Fixed for recent buffer changes.
git-svn-id: svn://10.0.0.236/trunk@35940 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:26:08 +00:00
warren%netscape.com
09a430dedd Fixed indentation. (Don't use tabs!)
git-svn-id: svn://10.0.0.236/trunk@35939 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:24:44 +00:00
warren%netscape.com
e3b337640c Making buffers work better. Now out-of-memory is handled properly.
git-svn-id: svn://10.0.0.236/trunk@35938 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:23:18 +00:00
warren%netscape.com
5b627064e6 Added missing release.
git-svn-id: svn://10.0.0.236/trunk@35937 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:22:38 +00:00
warren%netscape.com
55783c414e Added assertions.
git-svn-id: svn://10.0.0.236/trunk@35936 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:22:16 +00:00
sfraser%netscape.com
6aabb6033b Preliminary fix for 8555; JS contexts not properly cleaned up on window close.
git-svn-id: svn://10.0.0.236/trunk@35935 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:18:52 +00:00
sfraser%netscape.com
2397a8f3d6 Lots of leak fixing.
git-svn-id: svn://10.0.0.236/trunk@35934 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:15:14 +00:00
sfraser%netscape.com
537559b590 Clean up the editorShell, fixing some leaks, and removing old appCore-related cruft.
git-svn-id: svn://10.0.0.236/trunk@35933 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:13:46 +00:00
sfraser%netscape.com
14b6a5e31f Removed obsolete base DLL.
git-svn-id: svn://10.0.0.236/trunk@35932 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:09:46 +00:00
sfraser%netscape.com
c04339b026 Leak fixing. CreateNewTopLevel window returns an AddReffed window. You must release it.
git-svn-id: svn://10.0.0.236/trunk@35931 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:08:49 +00:00
sfraser%netscape.com
c82cfa6ecc Leak fixing. CreateNewTopLevel window returns an AddReffed window. You must release it. Also added comments to get the author to think about ownership.
git-svn-id: svn://10.0.0.236/trunk@35930 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:07:48 +00:00
sfraser%netscape.com
5e9f7ed87b Explode addref & release macros to make debugging easier.
git-svn-id: svn://10.0.0.236/trunk@35929 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:07:13 +00:00
sfraser%netscape.com
10f8d0856d Muchos leak fixing. CreateNewTopLevel window returns an AddReffed window. You must release it. Also use nsCOMPtr in a couple of other places.
git-svn-id: svn://10.0.0.236/trunk@35928 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:06:35 +00:00
sfraser%netscape.com
c7c9eefc26 Leak fixing. CreateNewTopLevel window returns an AddReffed window. You must release it. Also add comments to get someone to think about ownership.
git-svn-id: svn://10.0.0.236/trunk@35927 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:04:52 +00:00
sfraser%netscape.com
ddf346dd37 Leak fixing. CreateNewTopLevel window returns an AddReffed window. You must release it. Also comment out the extra release, with comment about why.
git-svn-id: svn://10.0.0.236/trunk@35925 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 22:04:20 +00:00
sfraser%netscape.com
0f0f1e3d5c Remove extra semicolon
git-svn-id: svn://10.0.0.236/trunk@35923 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:53:28 +00:00
sfraser%netscape.com
f79860aa7f Add ownership-directed comments
git-svn-id: svn://10.0.0.236/trunk@35922 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:53:14 +00:00
sfraser%netscape.com
bf086c62e4 Leak fixing. CreateNewTopLevel window returns an AddReffed window. You must release it.
git-svn-id: svn://10.0.0.236/trunk@35921 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:53:00 +00:00
sfraser%netscape.com
ea83cfbc18 Add GetIID
git-svn-id: svn://10.0.0.236/trunk@35920 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:51:25 +00:00
sfraser%netscape.com
171ff185dc Comment out nsTraceRefCnt lines, which should really be debug only.
git-svn-id: svn://10.0.0.236/trunk@35919 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:51:14 +00:00
sfraser%netscape.com
722e4838f9 stdlib.h should come from system includes
git-svn-id: svn://10.0.0.236/trunk@35918 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:50:41 +00:00
sfraser%netscape.com
344db7454b Comments to make the ownership model clearer
git-svn-id: svn://10.0.0.236/trunk@35917 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:48:53 +00:00
sspitzer%netscape.com
e4869bce4a fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@35916 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:47:30 +00:00
sspitzer%netscape.com
7637573c34 remove several warnings
git-svn-id: svn://10.0.0.236/trunk@35915 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:34:32 +00:00
sspitzer%netscape.com
db137b5980 fix my private debugging code.
git-svn-id: svn://10.0.0.236/trunk@35914 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:22:34 +00:00
morse%netscape.com
704446fe1c put wallet viewers into one dll
git-svn-id: svn://10.0.0.236/trunk@35913 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:18:57 +00:00
sspitzer%netscape.com
62333c3c30 safety checks to prevent dereferencing null
git-svn-id: svn://10.0.0.236/trunk@35912 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:18:13 +00:00
sspitzer%netscape.com
ef987358f3 fix tree bustage.
git-svn-id: svn://10.0.0.236/trunk@35911 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:13:48 +00:00
morse%netscape.com
c646961130 remove wallet viewers from appcore
git-svn-id: svn://10.0.0.236/trunk@35910 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:12:44 +00:00
morse%netscape.com
aa1088a0c6 put wallet viewers into one dll
git-svn-id: svn://10.0.0.236/trunk@35909 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:08:33 +00:00
sspitzer%netscape.com
bdb06601d5 make the default of of the "browser.startup.page" be 3, so that we use
the new "browser.startup.splash" pref.

set the default for "browser.startup.splash" to be http://www.mozillazine.org, until
bug #7417 gets fixed.


git-svn-id: svn://10.0.0.236/trunk@35908 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:08:02 +00:00
sspitzer%netscape.com
d89d7b412a changes to add support for the "browser.startup.page" pref and the new
"browser.startup.splash" page pref.

all that's left is to get radha to add the code to get the last page visted.


git-svn-id: svn://10.0.0.236/trunk@35907 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:06:59 +00:00
morse%netscape.com
673e850292 fix bug 8492
git-svn-id: svn://10.0.0.236/trunk@35906 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 21:00:44 +00:00
morse%netscape.com
ba36aad5c2 fix bug 9494
git-svn-id: svn://10.0.0.236/trunk@35905 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 20:59:22 +00:00
mjudge%netscape.com
ac94f8e4e0 oops forgot one
git-svn-id: svn://10.0.0.236/trunk@35904 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 20:50:20 +00:00
mjudge%netscape.com
571f2a1a16 up/down selection BRFrames dont allow selecting upon them for now. horizontal bars are now drawn selected. ect.
git-svn-id: svn://10.0.0.236/trunk@35903 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 20:36:44 +00:00
blizzard%redhat.com
41551f66ab fix backwards colors
git-svn-id: svn://10.0.0.236/trunk@35902 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 20:25:06 +00:00
blizzard%redhat.com
c5cff30ac8 implement nsWidget::Invalidate, nsWidget::Update, make resizing go
git-svn-id: svn://10.0.0.236/trunk@35901 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 20:24:32 +00:00
rpotts%netscape.com
6acc3bbd87 The write count passed to AsyncWrite(...) is now honored... Fixed things up so the InputStream passed to AsyncWrite does not *have* to really be a nsIBufferedInputStream...
git-svn-id: svn://10.0.0.236/trunk@35900 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 10:00:42 +00:00
rpotts%netscape.com
35f66382a7 Fixed a bug due to nsIBufferInputStreams... GetLength(...) does *not* necessarily return the total amount of data in the stream (only the contiguous amount).
git-svn-id: svn://10.0.0.236/trunk@35899 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 09:42:59 +00:00
rpotts%netscape.com
a93ee3e248 Removing nsSocketTransportStreams.h.cpp
git-svn-id: svn://10.0.0.236/trunk@35898 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 06:17:33 +00:00
rpotts%netscape.com
64bb4480ee got rid of nsSocketTransportStreams... Using the nsIBuffer notification interfaces instead...
git-svn-id: svn://10.0.0.236/trunk@35897 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 05:49:04 +00:00
gagan%netscape.com
7274fad247 Added special cases to allow for something like http://gagan/?Length=5000 to get a response back with Content-Length (actual and header both) set to 5000. Its cool for testing bigger responses.
git-svn-id: svn://10.0.0.236/trunk@35896 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 04:05:10 +00:00
gagan%netscape.com
693f0077ef Fixed header parsing in HTTP. This should work ok now.
git-svn-id: svn://10.0.0.236/trunk@35895 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 04:02:20 +00:00
pierre%netscape.com
d531fc630f Bumped up the memory partition to 12Mb from 10Mb. r=sfraser, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@35893 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 02:38:19 +00:00
pierre%netscape.com
f1236bf31c #8325 "[PP]Exiting Profile Manager and crash". r=sfraser, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@35892 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 02:33:23 +00:00
waterson%netscape.com
c153fb4d4c Bug 8513. Fix incorrect nsAutoString usage.
git-svn-id: svn://10.0.0.236/trunk@35891 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 01:14:45 +00:00
mcmullen%netscape.com
29bee2b4eb #8185. Badly formed xul (<window>...</html:window>) caused a crash. Replaced this with <xul:window>...</xul:window>
git-svn-id: svn://10.0.0.236/trunk@35890 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 01:00:05 +00:00
ramiro%netscape.com
ea17d04d39 Fix for bug 8237 (Prefs need to save when apprunner quits) and bug 8106
(Calling 'exit' while closing the top level window (causing the whole
app to quit).
Should let the profile manager work as advertised on unix.
Reviewed by law and mcmullen.


git-svn-id: svn://10.0.0.236/trunk@35888 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 00:30:11 +00:00
briano%netscape.com
461d447ffe Minor DEC-specific tweak (i.e., only affects DEC builds) to fix the Tinderbox build.
git-svn-id: svn://10.0.0.236/trunk@35887 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 00:16:43 +00:00
ducarroz%netscape.com
257707e7ff Turn off the new quoting code that was causing bug #8483 and #8481, A=chofmann.
git-svn-id: svn://10.0.0.236/trunk@35886 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-19 00:16:39 +00:00
dp%netscape.com
8afd0c31d1 Fixed crash due to multi-threading. bug# 7308, bug# 8150
git-svn-id: svn://10.0.0.236/trunk@35882 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 23:27:09 +00:00
mcmullen%netscape.com
d019f9ce2b Fixing the broken situation when no prefs file exists. Since there is a problem with stream closing after nsFileStream(nsIFileSpec*), cleaning up this code so that we dont write/read/init/write the prefs. Now we simply init/write. Part of a fix for bug #8237. r=slamm@netscape.com, a=chofmann@netscape.com
git-svn-id: svn://10.0.0.236/trunk@35880 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 22:11:35 +00:00
mcmullen%netscape.com
9a6ff322f8 Read the prefs file before bringing up the prefs window (-pref case). Part of a fix for bug #8237. r=slamm@netscape.com,a=chofmann@netscape.com
git-svn-id: svn://10.0.0.236/trunk@35879 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 22:09:07 +00:00
norris%netscape.com
5df4f6187b Add support for selectively filtering Java classes' visibility to JS
git-svn-id: svn://10.0.0.236/trunk@35878 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 21:35:35 +00:00
norris%netscape.com
ee930ce3f8 Reduce need for a current context.
git-svn-id: svn://10.0.0.236/trunk@35877 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 21:32:18 +00:00
akkana%netscape.com
86bd6bd89c Eliminate static nsCOMPtr variables in editor factory classes.
These were causing a crash on exit, bug 7938.
Approved by chofmann; Reviewed in concept by dp,
in detail by braddr@portland.puremagic.com and sfraser.


git-svn-id: svn://10.0.0.236/trunk@35876 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 21:10:59 +00:00
saari%netscape.com
46cb6c6ada Fix for bug #8452
git-svn-id: svn://10.0.0.236/trunk@35875 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 19:28:29 +00:00
danm%netscape.com
8655868d6f enable show toolbar menu command. workaround for bug 8318. also on M7 branch. a: chofmann.
git-svn-id: svn://10.0.0.236/trunk@35871 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 18:41:20 +00:00
law%netscape.com
06ef8ce005 Additional fix for bug #8161
git-svn-id: svn://10.0.0.236/trunk@35870 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 18:29:39 +00:00
norris%netscape.com
e738881207 A bunch of changes, some experimental.
Support for jsGet_ and jsSet_ prefixes to methods for explicit getter
and setter definition.
Addition of "importClass" and "importPackage" top-level functions.
The beginnings of a history object accessible from the shell.


git-svn-id: svn://10.0.0.236/trunk@35866 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 17:37:20 +00:00
valeski%netscape.com
4fa4e2e84d NECKO ifdef (ifdef'd _off_ by default) this checkin should not impact anything. checkin approved. If someone runs into a problem, call me at 303.546.0061.
git-svn-id: svn://10.0.0.236/trunk@35863 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 17:34:08 +00:00
vidur%netscape.com
f8cf48d35b Set address_modified flag when we add a trailing slash (indicating a directory name) and get a cache hit. This flag is later used to sync with the nsIURL wrapper. Approved by chofmann. Reviewed by gagan.
git-svn-id: svn://10.0.0.236/trunk@35862 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 17:18:49 +00:00
slamm%netscape.com
2b83719402 Need to pass thru return value to make who link really work.
git-svn-id: svn://10.0.0.236/trunk@35861 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 16:08:24 +00:00
slamm%netscape.com
2e9bde5707 Fix who link for 5.0.
git-svn-id: svn://10.0.0.236/trunk@35860 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 16:04:01 +00:00
pinkerton%netscape.com
212bdaf329 fix for #5732, give grippies a bg color so they look correct when collapsed. rev german, appr chofmann.
git-svn-id: svn://10.0.0.236/trunk@35859 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 15:52:19 +00:00
valeski%netscape.com
357f15b0be NOT IN SEA MONKEY PULL. we weren't creating the thread eventQ.
git-svn-id: svn://10.0.0.236/trunk@35858 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 15:03:41 +00:00
peterl%netscape.com
935f987b36 force display type of viewport frame to BLOCK
git-svn-id: svn://10.0.0.236/trunk@35848 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 05:36:58 +00:00
rickg%netscape.com
e029c7903a fixes Churchill's search bug, and crash bug 6469
git-svn-id: svn://10.0.0.236/trunk@35847 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 04:51:11 +00:00
grail%cafebabe.org
af289e10ab Removed all classpath directives.
git-svn-id: svn://10.0.0.236/trunk@35844 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 04:13:39 +00:00
grail%cafebabe.org
2d20a1593d Fixes to MenuBarCtrl.java to address my own cluelessness.
Please don't fix rules.mk.


git-svn-id: svn://10.0.0.236/trunk@35843 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 04:01:53 +00:00
grail%cafebabe.org
d96550683b Cleaned up XMLPageBuilder. I hate the implementation. Probably will
clean it up later. Cleaned up XMLMenuBuilder also. Reduced number of
instanceof's by introducing the Control interface. It seems
faster. Removed processNode() out of XMLWidgetBuilder to give the
child classes some more freedom.

I really need to change the implementation to less moronic.


git-svn-id: svn://10.0.0.236/trunk@35842 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 03:48:43 +00:00
rhp%netscape.com
629522fb4c This will enable the old quoting hack for non local mailbox messages. This
checkin was approved by chofmann.


git-svn-id: svn://10.0.0.236/trunk@35840 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 02:37:25 +00:00
rjc%netscape.com
336f92d50c Change port to use for translation server. Approval: choffman. Review: God.
git-svn-id: svn://10.0.0.236/trunk@35839 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 02:05:57 +00:00
law%netscape.com
e69c21596b Fix for bug #8348; approved by chofmann@netscape.com; authored by matt@netscape.com; reviewed by law@netscape.com
git-svn-id: svn://10.0.0.236/trunk@35838 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 02:00:03 +00:00
mcafee%netscape.com
1f2f41a771 Old who_link bariable should be d.target.href to match the 1.71 checkin.
git-svn-id: svn://10.0.0.236/trunk@35837 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 01:59:48 +00:00
amasri%netscape.com
305aee1b49 added extra tests for version 2.0
added timing changes to help stabilize bitmap
added functional tests for version 2.0
added error handling to account for windows not opening completely
changed default URL loading method to Mozilla.LoadURL() NOTE: Smoketest is now dependant only on correct button positions for "OpenFile" dialog.
added full path OpenFile() capabilities on mac, plus String2List utility to permit graphic file interface to be manipulated
Added SetActive() to OpenNewWin()


git-svn-id: svn://10.0.0.236/trunk@35836 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 01:35:27 +00:00
amasri%netscape.com
fbfa299e67 changed Invoke() method to give better error messages
changed iBitmapWait to 90 to account for i18n sites
changed default home page to "Navigator Help"
changed sDir to full path from relative path NOTE: must be changed for each machine it runs on
added timeout to Apprunner.Invoke()


git-svn-id: svn://10.0.0.236/trunk@35835 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 01:35:25 +00:00
sspitzer%netscape.com
4f6c71f833 change start page to www.mozillazine.org. a=leaf
work around for bug #7417


git-svn-id: svn://10.0.0.236/trunk@35833 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 01:17:51 +00:00
despotdaemon%netscape.com
88af6201f1 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@35832 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 01:10:09 +00:00
law%netscape.com
5d323fb491 Fix for bug #8357; approved by chofmann@netscape.com; reviewed by don@netscape.com
git-svn-id: svn://10.0.0.236/trunk@35831 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 00:39:43 +00:00
law%netscape.com
4e9f918b5a Fix for bug #8161; approved by chofmann@netscape.com; reviewed by don@netscape.com
git-svn-id: svn://10.0.0.236/trunk@35830 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 00:31:51 +00:00
law%netscape.com
8e08fdc0c6 Fix for bug #4779; approved by chofmann@netscape.com, reviewed by waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@35828 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 00:27:31 +00:00
varada%netscape.com
9a77e64ead makefile changes
git-svn-id: svn://10.0.0.236/trunk@35827 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-18 00:15:55 +00:00
radha%netscape.com
9a1cbea9bc Fix for bug # 8390. Create one instance of session history per window.
Code reviewed by mcmullen. approved by chofmann


git-svn-id: svn://10.0.0.236/trunk@35826 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 23:45:33 +00:00
mcafee%netscape.com
9fec481018 Removing obsolete NEW_DRAG_AND_DROP ifdef. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@35825 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 23:23:11 +00:00
mcmullen%netscape.com
24a7606254 #8326: Get rid of "Default" profile creation. Change nsFileLocations to return an error (or a null pointer) when there are no profiles. Fix wallet/singsign.cpp to check for the error.
Code by racham: Fix nsFileLocations with new enum selectors for the profile root (code by racham) Fix nsProfile.cpp to use profileroot instead of profile when making profiles.

r=racham@netscape.com, a=don@netscape.com


git-svn-id: svn://10.0.0.236/trunk@35824 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 23:02:39 +00:00
waterson%netscape.com
e3c8d71a01 Bug 3440. Annotate node on 'close' to ensure XUL builder re-runs when the node is opened again. r=rjc, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@35823 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 22:08:21 +00:00
morse%netscape.com
ea31a1c4b8 fix bug 8383, approved by chofmann
git-svn-id: svn://10.0.0.236/trunk@35822 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 22:03:31 +00:00
warren%netscape.com
8622aa2f81 replaced by nsIOService
git-svn-id: svn://10.0.0.236/trunk@35821 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 21:42:42 +00:00
warren%netscape.com
8ebb857660 Made MakeAbsolute just return the input URI if it's already absolute.
git-svn-id: svn://10.0.0.236/trunk@35818 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 21:41:26 +00:00
mcmullen%netscape.com
d9766367d5 Fix for #7902 and #8090
git-svn-id: svn://10.0.0.236/trunk@35817 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 21:35:59 +00:00
slamm%netscape.com
927b24dc40 Hack link on panel so it loads in the main content area for M7.
git-svn-id: svn://10.0.0.236/trunk@35816 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 20:50:52 +00:00
waterson%netscape.com
a1126bff88 Bug 8221. Fix false positive on the leak grep radar.
git-svn-id: svn://10.0.0.236/trunk@35813 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:49:05 +00:00
waterson%netscape.com
f89f2a350d Bug 8221. Fix to get off the leak radar.
git-svn-id: svn://10.0.0.236/trunk@35812 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:47:21 +00:00
varada%netscape.com
7883b5d2a2 adding help to show example pages
git-svn-id: svn://10.0.0.236/trunk@35811 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:25:42 +00:00
rickg%netscape.com
9972377ad2 fixed ToInteger (again) and eliminate bug 8140
git-svn-id: svn://10.0.0.236/trunk@35810 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:15:57 +00:00
andreas.otte%primus-online.de
daf6861e60 adding hack to change PUBLIC variable
This has no effect until some other changes to SeaMonkey


git-svn-id: svn://10.0.0.236/trunk@35809 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:07:58 +00:00
varada%netscape.com
eca7a6ae1e clhelp.txt
git-svn-id: svn://10.0.0.236/trunk@35808 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:06:53 +00:00
varada%netscape.com
0016d15c84 help ini files
git-svn-id: svn://10.0.0.236/trunk@35807 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:06:29 +00:00
andreas.otte%primus-online.de
06481dcaab some more ignorance
git-svn-id: svn://10.0.0.236/trunk@35806 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 19:00:56 +00:00
varada%netscape.com
4a73019098 wizardmachine.rc
git-svn-id: svn://10.0.0.236/trunk@35805 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 18:49:51 +00:00
andreas.otte%primus-online.de
8565f8d329 adding resource makefiles
git-svn-id: svn://10.0.0.236/trunk@35804 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 18:21:05 +00:00
andreas.otte%primus-online.de
11f082290c renaming library from fileprotocol to resourceprotocol
adding hack to change PUBLIC variable


git-svn-id: svn://10.0.0.236/trunk@35803 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 18:20:13 +00:00
varada%netscape.com
bb00cb0945 change to button name
git-svn-id: svn://10.0.0.236/trunk@35802 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 17:56:19 +00:00
sspitzer%netscape.com
e621136f16 change the start page until #7417 gets fixed. a=hofmann
git-svn-id: svn://10.0.0.236/trunk@35801 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 15:16:47 +00:00
morse%netscape.com
ee3621104d fix M7 bug 8341 -- approved chofmann
git-svn-id: svn://10.0.0.236/trunk@35800 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 14:38:56 +00:00
warren%netscape.com
fce56036f0 Fixed refcount problem in Clone.
git-svn-id: svn://10.0.0.236/trunk@35799 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 10:11:58 +00:00
warren%netscape.com
d3663c46e3 Fixed refcount problem.
git-svn-id: svn://10.0.0.236/trunk@35798 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 10:11:35 +00:00
warren%netscape.com
a4f314b7ff Added resource: protocol.
git-svn-id: svn://10.0.0.236/trunk@35797 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 09:24:31 +00:00
warren%netscape.com
b00e37509d cleanup
git-svn-id: svn://10.0.0.236/trunk@35796 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 09:24:11 +00:00
warren%netscape.com
3243f56af3 fixed refcount problem
git-svn-id: svn://10.0.0.236/trunk@35795 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 09:23:34 +00:00
warren%netscape.com
a946fddf22 Added QI for nsIURL
git-svn-id: svn://10.0.0.236/trunk@35794 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 09:23:05 +00:00
sspitzer%netscape.com
fcc87d468e clean up README a little
git-svn-id: svn://10.0.0.236/trunk@35787 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 08:24:57 +00:00
sspitzer%netscape.com
a40b125986 not part of build.
git-svn-id: svn://10.0.0.236/trunk@35785 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 08:21:10 +00:00
rpotts%netscape.com
f5545d55c1 I'm beginning to rework this test to handle multiple URL loads... This is WIP :-)
git-svn-id: svn://10.0.0.236/trunk@35784 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 07:46:00 +00:00
rickg%netscape.com
9cc8c710fd approved update
git-svn-id: svn://10.0.0.236/trunk@35783 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 07:24:13 +00:00
rickg%netscape.com
e9da222324 approved fix
git-svn-id: svn://10.0.0.236/trunk@35782 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 07:08:30 +00:00
dveditz%netscape.com
3da4ad9be3 commenting out XPIDLSRCS until mystery CVS problem on Tinderbox is solved. We aren't building on Unix yet anyway
git-svn-id: svn://10.0.0.236/trunk@35777 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 06:01:12 +00:00
racham%netscape.com
c063552f59 Modified page title.
git-svn-id: svn://10.0.0.236/trunk@35776 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 05:29:06 +00:00
racham%netscape.com
bf6586b554 Modified page title. Modified some command parameters
git-svn-id: svn://10.0.0.236/trunk@35775 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 05:20:45 +00:00
racham%netscape.com
89b2ecc807 Removed the title to the base dialog to make it dynamic. inifile supplies the value.
git-svn-id: svn://10.0.0.236/trunk@35774 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 04:48:16 +00:00
racham%netscape.com
5691564e80 Fixed bug 4975 and enabled picking page titles from ini files
git-svn-id: svn://10.0.0.236/trunk@35773 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 04:44:53 +00:00
racham%netscape.com
8c6130f264 Fixed bugs 8258, 6218
git-svn-id: svn://10.0.0.236/trunk@35772 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 04:42:40 +00:00
kin%netscape.com
3c230ce015 Fix for bug #8375: Editor API Log fails to set paragraph style.
Changed "window.editorShell.SetParagraphStyle(" to "window.editorShell.paragraphStyle =".
Approved by chofmann.


git-svn-id: svn://10.0.0.236/trunk@35771 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 04:40:08 +00:00
waterson%netscape.com
eb2017c427 Bug 8367. Remove cruft after '#endif' to make HP compiler happy. Thanks, Bruce. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@35770 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 04:37:05 +00:00
waterson%netscape.com
9faa9cb223 Bug 7026. Make GetTarget() return the first child of a directory. Plus clean up the mess I've made of RJC's spaces.
git-svn-id: svn://10.0.0.236/trunk@35769 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 04:13:39 +00:00
pierre%netscape.com
76630b14c1 In GetDrawingSurface(), erase the drawing surface when it is re-used.
3455: [PP] mac/linux, dual toolbars appear after surfing.
6989: Multiple window drawing gets messed up.
6678: [PP]clipping/port problems in child dialogs.
5560: [PP] CornerView displays garbage.


git-svn-id: svn://10.0.0.236/trunk@35768 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 04:01:50 +00:00
dougt%netscape.com
1f099440ac Bug 8311 mac project files
git-svn-id: svn://10.0.0.236/trunk@35767 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 03:51:17 +00:00
warren%netscape.com
b955f8f621 Added missing addref
git-svn-id: svn://10.0.0.236/trunk@35766 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 03:38:49 +00:00
warren%netscape.com
a92a6d3b89 Fixed GetPort
git-svn-id: svn://10.0.0.236/trunk@35765 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 03:38:23 +00:00
dveditz%netscape.com
253c1dcf34 Bug #8311 XPInstall triggers not working. a chofmann, r cathleen
git-svn-id: svn://10.0.0.236/trunk@35764 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 03:36:50 +00:00
amasri%netscape.com
7b33bcaa8e added extra tests for version 2.0
added timing changes to help stabilize bitmap
added functional tests for version 2.0
added error handling to account for windows not opening completely
changed default URL loading method to Mozilla.LoadURL() NOTE: Smoketest is now dependant only on correct button positions for "OpenFile" dialog.
added full path OpenFile() capabilities on mac, plus String2List utility to permit graphic file interface to be manipulated


git-svn-id: svn://10.0.0.236/trunk@35763 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:53:18 +00:00
amasri%netscape.com
e3ad6958f9 changed Invoke() method to give better error messages
changed iBitmapWait to 90 to account for i18n sites
changed default home page to "Navigator Help"
changed sDir to full path from relative path NOTE: must be changed for each machine it runs on


git-svn-id: svn://10.0.0.236/trunk@35762 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:53:15 +00:00
amasri%netscape.com
2915043876 added extra tests for version 2.0
added i18n tests
changed expected file names
added ender tests
added functional tests for version 2.0


git-svn-id: svn://10.0.0.236/trunk@35761 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:53:12 +00:00
pinkerton%netscape.com
ae3e96aa5e remove NEW_DRAG_AND_DROP define since it's obsolete now. reviewed mcafee, appr chofmann.
git-svn-id: svn://10.0.0.236/trunk@35760 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:48:29 +00:00
saari%netscape.com
5a4b85ed88 Fixing Bug #8328, keybinding fix
git-svn-id: svn://10.0.0.236/trunk@35759 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:48:22 +00:00
mcafee%netscape.com
063677e6e9 Adding beeptest to XPToolkit test menu, a=leaf.
git-svn-id: svn://10.0.0.236/trunk@35758 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:21:08 +00:00
slamm%netscape.com
4fc3ad4e08 Prefs have some problems with our windows builds. Bug #8265. Make so the sidebar can be opened even when prefs cannot save the open/close state.
git-svn-id: svn://10.0.0.236/trunk@35756 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:18:53 +00:00
mcafee%netscape.com
57eaa41a12 Adding beeptest.html to the test suite.
git-svn-id: svn://10.0.0.236/trunk@35755 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 01:12:15 +00:00
beard%netscape.com
f348dd8ed2 Bug #5677: Reenabled drawing images referenced by <OBJECT> tags, fixed a crashing bug on the Mac as a result.
a=chofmann, r=pierre


git-svn-id: svn://10.0.0.236/trunk@35754 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 00:58:07 +00:00
cbegle%netscape.com
a910491319 Add regression test for http://bugzilla.mozilla.org/show_bug.cgi?id=7635.
Rename files for consistency.

These files are not part of the client.


git-svn-id: svn://10.0.0.236/trunk@35753 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 00:20:04 +00:00
mcafee%netscape.com
ab08e086d4 Adding nsSound. Fixing NT bustage
git-svn-id: svn://10.0.0.236/trunk@35752 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 00:12:43 +00:00
mcafee%netscape.com
29d756c2f5 Adding nsSound. Fixing linux bustage
git-svn-id: svn://10.0.0.236/trunk@35750 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-17 00:12:18 +00:00
sfraser%netscape.com
53026171ea Fix for bug 8317 -- leaked caret causes crash. r mjudge, a leaf.
git-svn-id: svn://10.0.0.236/trunk@35749 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 23:55:48 +00:00
beard%netscape.com
9d49b0ba5e bug #5352: navigator.javaEnabled() now returns false if the "security.enable_java" preference is undefined, which it is if the "Advanced" preferences dialog has never been run, or you're running under viewer.
a=chofmann, r=vidur


git-svn-id: svn://10.0.0.236/trunk@35748 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 23:40:41 +00:00
jfrancis%netscape.com
fab90f1e90 bug 8300; rvd: floppy moose; aprvd: chofmann
git-svn-id: svn://10.0.0.236/trunk@35747 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 23:40:16 +00:00
sdagley%netscape.com
0003b6a218 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35745 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 23:24:25 +00:00
sdagley%netscape.com
c44cbc1fa7 Finish landing XP Beep() functionality (bug #6911). Approved chofmann, reviewed saari & mcafee.
git-svn-id: svn://10.0.0.236/trunk@35744 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 23:23:45 +00:00
ducarroz%netscape.com
22c674eb88 Fix for bug 7508, A=chofmann, R=bienvenu
git-svn-id: svn://10.0.0.236/trunk@35743 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 22:58:02 +00:00
joki%netscape.com
487055f223 Fix for bug 8270. A:chofmann Reenable key events to control tabbing/scrolling
git-svn-id: svn://10.0.0.236/trunk@35742 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 22:52:16 +00:00
ramiro%netscape.com
9de8beddf7 Fix for bug 6159. Reviewed by pollmann and approved by leaf.
Form check boxes were out of whack by one.  I removed the pathetically lame
hack i added before (which didn't work) and added a new and improved
pathetically dumb hack that really fixes the problem.  Yes folks, toggle
the toggle button 3 times to work around artificial intelligence in the
gtktogglebutton widget.


git-svn-id: svn://10.0.0.236/trunk@35740 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 22:24:18 +00:00
evaughan%netscape.com
34263a8ca6 Added some scrollbar samples.
git-svn-id: svn://10.0.0.236/trunk@35739 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 22:20:29 +00:00
ssu%netscape.com
d983fb8d2e backed out previous checkin due to tree closure
git-svn-id: svn://10.0.0.236/trunk@35738 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:54:13 +00:00
ssu%netscape.com
d852045e1f ifdef'ed all calls to PR_Seek() for the standalone build
git-svn-id: svn://10.0.0.236/trunk@35737 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:47:58 +00:00
cmanske%netscape.com
8fd6a9796d Fixed bug 8281. Reviewed by sfraser, approved by chofmann
git-svn-id: svn://10.0.0.236/trunk@35736 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:45:38 +00:00
jfrancis%netscape.com
a84649ba07 bug 8287; rvd sfraser; aprvd buster; aprvd chofmann
git-svn-id: svn://10.0.0.236/trunk@35735 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:38:51 +00:00
jfrancis%netscape.com
1b33a49066 bug 8303; rvd kin; aprvd buster; aprvd chofmann
git-svn-id: svn://10.0.0.236/trunk@35734 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:38:04 +00:00
kin%netscape.com
ba3ef45bce Fix for bug #8306: [PP] Need to enable Editor API Logging on the Mac
Uncommented out define for ENABLE_JS_EDITOR_LOG.
Approved by chofmann@netscape.com.


git-svn-id: svn://10.0.0.236/trunk@35733 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:30:16 +00:00
briano%netscape.com
2ebf347236 Automated update
git-svn-id: svn://10.0.0.236/trunk@35732 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:29:54 +00:00
kin%netscape.com
00d6da8b0d Fix for bug #8309: Need to Flush() during Editor API Logging.
git-svn-id: svn://10.0.0.236/trunk@35731 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:27:46 +00:00
briano%netscape.com
50606b8e34 Duh. Forgot to add the AC_SUBST line for MOZ_NSPRENV_CLASSIC_NSPR. Kind of necessary to complete bug 7567....
git-svn-id: svn://10.0.0.236/trunk@35730 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:27:14 +00:00
sfraser%netscape.com
b798ce46a3 Fix for 6345 - opening local files in editor. r kin, a leaf.
git-svn-id: svn://10.0.0.236/trunk@35729 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:05:08 +00:00
akkana%netscape.com
e413aafe07 8283: Fix crash because selectin wasn't initialized. r=sfraser/a=leaf
git-svn-id: svn://10.0.0.236/trunk@35728 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 21:02:25 +00:00
sspitzer%netscape.com
f3fe6c6d13 fix for #8249 to get card pane to work on linux.
I had to remove NO_GET_XPT=1 line from Makefile.in.

This was causing the following error at run time:

JavaScript error: uncaught exception: Could not convert JavaScript argument (NULL value can not be used for a C++ reference type) arg 0 [nsIRDFResource.QueryInterface, {file: file:////builds/sspitzer/MOZILLA/06.16.1999/04.30/mozilla/dist/bin/chrome/addressbook/content/default/resultPane.xul, line: 160}]


git-svn-id: svn://10.0.0.236/trunk@35727 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 20:14:31 +00:00
andreas.otte%primus-online.de
8f551f726b adding urltest and TestFileInput2 to the unix build
git-svn-id: svn://10.0.0.236/trunk@35726 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 19:51:14 +00:00
cbegle%netscape.com
e5616ebbdb Add regression test for http://bugzilla.mozilla.org/show_bug.cgi?id=4088,
Date.parse.

Not built in the client.


git-svn-id: svn://10.0.0.236/trunk@35725 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 19:25:05 +00:00
andreas.otte%primus-online.de
b103483ab5 resurrected
git-svn-id: svn://10.0.0.236/trunk@35723 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 17:43:28 +00:00
valeski%netscape.com
a248ada3dd CHECKIN NOT ON MAIN PULL: removed the cookie module dependency on the HTTPResponse interface.
git-svn-id: svn://10.0.0.236/trunk@35722 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 14:49:25 +00:00
rpotts%netscape.com
fd02c25f8b Added an if check around the call out through the event sink...
git-svn-id: svn://10.0.0.236/trunk@35721 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 09:50:30 +00:00
rpotts%netscape.com
18957e4484 Separated the Event Sink from the nsIStreamListener...
git-svn-id: svn://10.0.0.236/trunk@35720 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 09:40:40 +00:00
dveditz%netscape.com
9c2c527f01 chasing the tree, not part of build
git-svn-id: svn://10.0.0.236/trunk@35719 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 07:03:36 +00:00
sspitzer%netscape.com
e19ef83fb5 clean up the interfaces I'll need to remove the message from the db after
the user hits cancel.  add newlines to ends of files.  remove old bogus code.


git-svn-id: svn://10.0.0.236/trunk@35718 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 07:00:47 +00:00
rjc%netscape.com
39691919cd Work around bug #8278.
git-svn-id: svn://10.0.0.236/trunk@35717 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:58:40 +00:00
sfraser%netscape.com
34c398fd4f delete[] -> PR_Free. r bruce
git-svn-id: svn://10.0.0.236/trunk@35716 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:57:53 +00:00
dveditz%netscape.com
a59404197c eliminate extra startup file i/o
git-svn-id: svn://10.0.0.236/trunk@35714 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:50:37 +00:00
dveditz%netscape.com
9d8448f9db use standard XPCOM macros
git-svn-id: svn://10.0.0.236/trunk@35713 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:49:42 +00:00
dveditz%netscape.com
1bbd739131 Updating utility for mozilla world
git-svn-id: svn://10.0.0.236/trunk@35712 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:47:06 +00:00
rjc%netscape.com
3ec32b01ec Try and ensure that we're actually looking at proper search datasets by checking file type and creator on Mac.
git-svn-id: svn://10.0.0.236/trunk@35711 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:46:51 +00:00
waterson%netscape.com
8bc32bab29 When destroying an RDFElement, call SetParent(nsnull) on each of its children so that there aren't any dangling reference back to us (should a child leak, or be referred to by somebody else).
git-svn-id: svn://10.0.0.236/trunk@35710 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:44:23 +00:00
sspitzer%netscape.com
3e326c02c9 fix warnings.
also Back() and Back(nsIWebShell *) existed, and this is bad.
Renamed Back(nsIWebShell *) to GoBack(nsIWebShell *).


git-svn-id: svn://10.0.0.236/trunk@35709 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:38:44 +00:00
pierre%netscape.com
0f43ffca1d Removed the NSPR event queue from nsMacMessagePump (and keep the one in nsToolkit).
git-svn-id: svn://10.0.0.236/trunk@35708 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:30:38 +00:00
pierre%netscape.com
bb778ecb1f set the caret at the right location after a cut
git-svn-id: svn://10.0.0.236/trunk@35707 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:26:38 +00:00
pierre%netscape.com
6d043a28a5 Fixed a crash in HandleMenuCommand(). It could especially happen on Quit.
git-svn-id: svn://10.0.0.236/trunk@35706 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:22:11 +00:00
peterl%netscape.com
a86f4802a3 fixed re-resolve style contexts to handle local pseudo elements
and capture style change information


git-svn-id: svn://10.0.0.236/trunk@35705 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:17:21 +00:00
peterl%netscape.com
5770b2f9a6 dont emit error messages when sheets canceled after doc disconnect
git-svn-id: svn://10.0.0.236/trunk@35704 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:16:53 +00:00
peterl%netscape.com
262c024b61 changed initialization of basefont so as not to override font style on HTML elements
git-svn-id: svn://10.0.0.236/trunk@35703 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:15:01 +00:00
alecf%netscape.com
994f4f4c20 fix depth to appease shrike
git-svn-id: svn://10.0.0.236/trunk@35702 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:14:51 +00:00
waterson%netscape.com
cf8d4effe1 Add '-chrome' flag to load alternative chrome.
git-svn-id: svn://10.0.0.236/trunk@35701 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:14:28 +00:00
rjc%netscape.com
bd7b75801d Only save data in graph if its not already there. Also, resolve aliases to search datasets on Mac.
git-svn-id: svn://10.0.0.236/trunk@35700 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 06:01:04 +00:00
briano%netscape.com
dab091fda9 Automated update
git-svn-id: svn://10.0.0.236/trunk@35699 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:59:52 +00:00
despotdaemon%netscape.com
ac36a93d5a Pseudo-automatic update of changes made by zuperdee@penguinpowered.com.
git-svn-id: svn://10.0.0.236/trunk@35698 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:59:06 +00:00
bienvenu%netscape.com
1659b03f62 don't continue applying filters after move
git-svn-id: svn://10.0.0.236/trunk@35697 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:58:02 +00:00
alecf%netscape.com
f278c932b4 fix makefiles to enter "skin" directory
git-svn-id: svn://10.0.0.236/trunk@35696 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:57:20 +00:00
bienvenu%netscape.com
056b8eb71d fix filter success determination
git-svn-id: svn://10.0.0.236/trunk@35695 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:56:33 +00:00
waterson%netscape.com
c5e85cb531 Fix unintialized memory read.
git-svn-id: svn://10.0.0.236/trunk@35694 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:52:42 +00:00
mcafee%netscape.com
07ce5cf20b Removing --enable-new-drag-and-drop, NEW_DRAG_AND_DROP is on by default now.
git-svn-id: svn://10.0.0.236/trunk@35693 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:50:32 +00:00
sfraser%netscape.com
14abd86023 Fix some really weird casting bugs. Details are in bug 8277.
git-svn-id: svn://10.0.0.236/trunk@35692 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:44:07 +00:00
alecf%netscape.com
e4854bd257 localize the dialog title
git-svn-id: svn://10.0.0.236/trunk@35691 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:37:21 +00:00
alecf%netscape.com
dba13afe57 add FilterListDialog.js to makefiles
git-svn-id: svn://10.0.0.236/trunk@35688 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:35:51 +00:00
alecf%netscape.com
b49938cfcc set column widths appropriately
git-svn-id: svn://10.0.0.236/trunk@35687 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:35:33 +00:00
alecf%netscape.com
34329cf783 add some logic for Filters
git-svn-id: svn://10.0.0.236/trunk@35686 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:34:36 +00:00
rjc%netscape.com
9c97726dbc Set a white background.
git-svn-id: svn://10.0.0.236/trunk@35685 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:32:48 +00:00
alecf%netscape.com
31a6da33c0 remove some excess XUL that used to have templates for combo boxes
git-svn-id: svn://10.0.0.236/trunk@35684 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:32:17 +00:00
rjc%netscape.com
0e7aa68bd8 Use case-insignificant string comparisons now that we can.
git-svn-id: svn://10.0.0.236/trunk@35683 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:32:13 +00:00
talisman%anamorphic.com
ed8ac7c79c Set the default build to debug (javac -g) so we can do a better job of quality control;
Set max stack size to 64MB during compile phase - we have enough classes now that the compiler runs out of memory occasionally without the -mx64m flag.


git-svn-id: svn://10.0.0.236/trunk@35682 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:24:21 +00:00
bienvenu%netscape.com
545ded29f5 fix warnings
git-svn-id: svn://10.0.0.236/trunk@35680 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:23:05 +00:00
rjc%netscape.com
d908baf252 If we already have the results from a search, just return them; don't bother re-doing the search.
git-svn-id: svn://10.0.0.236/trunk@35679 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:22:14 +00:00
talisman%anamorphic.com
72661a376b *Lots* of bug fixes:
- Fixed problem of showing Look & Feel sets that won't run on a given
	  platform;

	- Fixed font bugs

	- Updated deprecated methods to be JDK 1.1 compliant


git-svn-id: svn://10.0.0.236/trunk@35678 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:21:42 +00:00
talisman%anamorphic.com
9c842315ec Author severely broke compatibility with JDK 1.1 - only fix so far is changing Vector.add(Object) to Vector.addElement(Object). As far as I know, we still want to be compatible with JDK 1.1.
git-svn-id: svn://10.0.0.236/trunk@35677 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:20:12 +00:00
pollmann%netscape.com
3512f5a5f9 Bug 2195: select[n] == select.options[n], new idlc-generated glue for nonstandard DOM interface
git-svn-id: svn://10.0.0.236/trunk@35676 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:20:00 +00:00
pollmann%netscape.com
7ff45ac8f5 Bug 2195: select[n] == select.options[n], new implementation for nonstandard DOM interface
git-svn-id: svn://10.0.0.236/trunk@35675 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:19:08 +00:00
mcafee%netscape.com
1ce5a1bf28 Removing NEW_DRAG_AND_DROP ifdef, this is on by default now.
git-svn-id: svn://10.0.0.236/trunk@35674 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:18:53 +00:00
talisman%anamorphic.com
1c53aaec59 Yet more font bug fixes.
git-svn-id: svn://10.0.0.236/trunk@35673 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:17:33 +00:00
talisman%anamorphic.com
05c4a4b604 More font bug fixes.
git-svn-id: svn://10.0.0.236/trunk@35672 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:16:29 +00:00
talisman%anamorphic.com
1e068fe4e0 More bug fixes - would throw a FileNotFound exception at startup if the $HOME/.grendel/grendel.pref file didn't exist. Now it creates it if it doesn't already exist.
git-svn-id: svn://10.0.0.236/trunk@35671 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:15:31 +00:00
pollmann%netscape.com
80638fa053 Bug 2195: select[n] == select.options[n], new nonstandard DOM interface
git-svn-id: svn://10.0.0.236/trunk@35670 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:15:30 +00:00
talisman%anamorphic.com
5301f90f8b Font bug fixes - default font was too big (may be platform specific to linux, but Helvetica-plain-12 is a safe bet for any system).
git-svn-id: svn://10.0.0.236/trunk@35669 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:13:53 +00:00
rjc%netscape.com
203c0c7631 Less memory intensiveness: now only load/save data into memory store as needed instead of upfront.
git-svn-id: svn://10.0.0.236/trunk@35668 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:11:54 +00:00
waterson%netscape.com
6b475c686a Bug 8272. Assert when writing RDF file. This probably had to do with the fact that we were writing out ID= attributes on the RDF containers. I changed to write an illegal 'about=' construct to get Matt alive.
git-svn-id: svn://10.0.0.236/trunk@35667 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:11:05 +00:00
jfrancis%netscape.com
ca6c1a3d36 editor rules framework for {make list, indent, outdent, change alignment}
git-svn-id: svn://10.0.0.236/trunk@35666 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:02:43 +00:00
pollmann%netscape.com
0af1f8f6d1 Bug 2195: select[n] == select.options[n], new header for nonstandard DOM interface
git-svn-id: svn://10.0.0.236/trunk@35665 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 05:02:21 +00:00
ramiro%netscape.com
43674ab48e Make it work with gnu libc 2.1. On glibc 2.1, the Dl_info api defined in
<dlfcn.h> is only exposed __USE_GNU is defined.  I suppose its some kind of
standards adherence thing.


git-svn-id: svn://10.0.0.236/trunk@35664 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:55:36 +00:00
matt%netscape.com
c24a0ef0ee adding files for dialog window for sidebar
git-svn-id: svn://10.0.0.236/trunk@35663 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:55:32 +00:00
matt%netscape.com
b670993976 Adding dialog for sidebar
git-svn-id: svn://10.0.0.236/trunk@35662 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:54:36 +00:00
matt%netscape.com
6ea8276e99 adding files for customize dialog
git-svn-id: svn://10.0.0.236/trunk@35661 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:53:30 +00:00
mcafee%netscape.com
e481f068c2 Removing NEW_DRAG_AND_DROP ifdef, this is on by default now.
git-svn-id: svn://10.0.0.236/trunk@35660 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:52:05 +00:00
pierre%netscape.com
c4d1ac9b9b File Removed.
git-svn-id: svn://10.0.0.236/trunk@35659 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:51:34 +00:00
waterson%netscape.com
7f4b857914 Bug 8174. Remove PR_EXTERN for private symbols.
git-svn-id: svn://10.0.0.236/trunk@35658 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:45:36 +00:00
waterson%netscape.com
fcac155fcb Juggle headers a bit so that we can build on VC5.0 and gcc-2.7.2.3 (need definition of classes for use with nsCOMPtr).
git-svn-id: svn://10.0.0.236/trunk@35657 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:42:45 +00:00
joki%netscape.com
9314e8c0fd Fixing event clientx/y coords to have the right value even in subviews
git-svn-id: svn://10.0.0.236/trunk@35656 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:39:51 +00:00
erik%netscape.com
43e3606d63 Pass null terminator to converter now that Frank has fixed it.
git-svn-id: svn://10.0.0.236/trunk@35655 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:36:33 +00:00
sspitzer%netscape.com
1da755d932 More build breakage fixes....
git-svn-id: svn://10.0.0.236/trunk@35654 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:34:25 +00:00
rjc%netscape.com
4932cde3cf Add "Save Search" button with appropriate disabling/enabling.
git-svn-id: svn://10.0.0.236/trunk@35653 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:27:16 +00:00
davidm%netscape.com
b0ed737d4e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35652 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:23:37 +00:00
sfraser%netscape.com
f839256ffb Pinkterton removed the wrong line. He meant to remove nsIDOMToolbarCore.h, not nsIDOMToolkitCore.h
git-svn-id: svn://10.0.0.236/trunk@35651 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:17:12 +00:00
warren%netscape.com
6cb3c62ff9 New and improved.
git-svn-id: svn://10.0.0.236/trunk@35650 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:15:29 +00:00
warren%netscape.com
003486244b Changed nsAutoMonitor to nsAutoCMonitor (cached).
git-svn-id: svn://10.0.0.236/trunk@35649 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:15:25 +00:00
warren%netscape.com
b3ec99f296 Added NewChannelFromNativePath for convenience.
git-svn-id: svn://10.0.0.236/trunk@35648 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:15:22 +00:00
warren%netscape.com
ff5039c9f6 Fixed bug causing Flush to block forever. Changed nsAutoMonitor to nsAutoCMonitor (cached monitors).
git-svn-id: svn://10.0.0.236/trunk@35647 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:15:15 +00:00
warren%netscape.com
1221ac1cc0 Upped max pages because there's some sort of PRMonitor bug when you run out of VM space.
git-svn-id: svn://10.0.0.236/trunk@35646 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:15:12 +00:00
warren%netscape.com
1fafa621b4 Changed nsAutoMonitor to nsAutoCMonitor (cached monitors).
git-svn-id: svn://10.0.0.236/trunk@35645 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:15:08 +00:00
erik%netscape.com
480d812687 Fix for bug 7822. Remove the code that strips the high byte off of the
Unicode string for menu items that have a submenu.


git-svn-id: svn://10.0.0.236/trunk@35644 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:13:58 +00:00
davidm%netscape.com
285d776c21 I am going blind. Was calling register rather than unregister function
git-svn-id: svn://10.0.0.236/trunk@35643 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:13:03 +00:00
tague%netscape.com
bf790334ec Fixed #5438 - Mac Buttons not displaying Japanese correctly.
git-svn-id: svn://10.0.0.236/trunk@35642 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:12:14 +00:00
alecf%netscape.com
9abea099f4 fix vc5 bustage - don't use nsCOMPtr on implementations, only on interfaces
git-svn-id: svn://10.0.0.236/trunk@35641 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 04:09:33 +00:00
erik%netscape.com
4e612f7bce Fix for bug 7841. Some fonts return bad glyph IDs. Now checking for these.
It turns out that GulimChe is one of those bad fonts.


git-svn-id: svn://10.0.0.236/trunk@35640 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:57:55 +00:00
sspitzer%netscape.com
9081dcee74 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@35639 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:51:08 +00:00
sspitzer%netscape.com
85e0830ca5 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@35638 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:50:00 +00:00
syd%netscape.com
1a6de599ba One change: if user sets ncols, ignore installcmap. The two collide
(they both set thresholds) and we can assume if the user is setting
the ncols that he/she is doing some fine tune control over the more
granular control installcmap gives.


git-svn-id: svn://10.0.0.236/trunk@35637 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:41:52 +00:00
pierre%netscape.com
43b859ff7b #8214 "[PP] Mac - Closing browser window with text field focused crashes apprunner". Removed an extra addRef in nsBaseWidget::Enumerator::CurrentItem()
git-svn-id: svn://10.0.0.236/trunk@35636 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:34:44 +00:00
sspitzer%netscape.com
549f5a4fe6 fix windows build bustage.
git-svn-id: svn://10.0.0.236/trunk@35635 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:34:37 +00:00
hangas%netscape.com
7f1d1f85e8 Updated code to match the changes in the address book back-end.
git-svn-id: svn://10.0.0.236/trunk@35634 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:32:26 +00:00
hangas%netscape.com
725e1658f7 Added box around card view pane as an example to demonstrate a bug
git-svn-id: svn://10.0.0.236/trunk@35633 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:31:49 +00:00
alecf%netscape.com
6b5779bcf8 fix mac bustage, this was supposed to be in #ifdef DEBUG
git-svn-id: svn://10.0.0.236/trunk@35632 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:28:42 +00:00
dveditz%netscape.com
6ee73b8ff9 Adding NS_RELEASE_THIS()
git-svn-id: svn://10.0.0.236/trunk@35631 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:28:25 +00:00
dveditz%netscape.com
8b1ee7529d proxy can now find main thread
git-svn-id: svn://10.0.0.236/trunk@35630 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:26:37 +00:00
syd%netscape.com
1784850441 Support for ncols and installcmap prefs.
Currently, 8 bit pseudocolor visual users are going to get a private cmap
installed base on design of gdk_rgb* code design. We want the default to
really be that we share with the server default colormap; if that looks
too bad (e.g., can't get enough colors, user can set the browser.installcmap
pref to "true" to get a priviate cmap installed.

Gdk determines if to install a private cmap based on being able to allocate
a certain number of colors from the default colormap. If that fails, a
private cmap is installed. The default gdk threshold is 5 * 5 * 5. If we
see browser.installcmap == true, we set to 255 to force it. If we see
browser.installcmap == false, we set it to 0. Also added browser.ncols
pref, which allows fine-grained control of this; the user can set the
threshold value and control when gdk will use shared colormap vs. private.


git-svn-id: svn://10.0.0.236/trunk@35629 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:24:55 +00:00
syd%netscape.com
fb779f6f02 Add browser.ncols and browser.installcmap preferences
git-svn-id: svn://10.0.0.236/trunk@35628 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:18:44 +00:00
mscott%netscape.com
65ae0724c3 After creating an imap url from create instance, we need to initialize it.
git-svn-id: svn://10.0.0.236/trunk@35627 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:10:22 +00:00
mscott%netscape.com
de04424f72 Add initialize support
git-svn-id: svn://10.0.0.236/trunk@35626 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:09:12 +00:00
mscott%netscape.com
76338689e7 Add interface method for initialize.
git-svn-id: svn://10.0.0.236/trunk@35625 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:08:49 +00:00
blizzard%redhat.com
c94ea9d669 xlib renders, baby.
git-svn-id: svn://10.0.0.236/trunk@35624 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:07:55 +00:00
sdagley%netscape.com
99e28f20cf First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35623 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:02:41 +00:00
alecf%netscape.com
4f9901c5fe return XP_AssertAtLine
git-svn-id: svn://10.0.0.236/trunk@35622 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:41:15 +00:00
sspitzer%netscape.com
f643d8223c more build bustage fixes. burn, hollywood, burn.
git-svn-id: svn://10.0.0.236/trunk@35621 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:37:48 +00:00
sspitzer%netscape.com
12bd64e970 more fixes for build bustage
git-svn-id: svn://10.0.0.236/trunk@35620 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:25:34 +00:00
alecf%netscape.com
3c715fd75b second attempt to eliminate useless functions
git-svn-id: svn://10.0.0.236/trunk@35619 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:23:26 +00:00
sspitzer%netscape.com
c3b3f2fb2f more build bustage fixes
git-svn-id: svn://10.0.0.236/trunk@35618 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:21:19 +00:00
mscott%netscape.com
488588081e Don't attempt to read from the file we are sending unless the file stream is in fact open.
git-svn-id: svn://10.0.0.236/trunk@35617 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:19:49 +00:00
bienvenu%netscape.com
1b72cfee5b check for null mdb row when setting property, perhaps fix #7443
git-svn-id: svn://10.0.0.236/trunk@35616 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:17:08 +00:00
rjc%netscape.com
cdc6027941 Add in search datasource in bookmarks.
git-svn-id: svn://10.0.0.236/trunk@35615 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:14:56 +00:00
waterson%netscape.com
aface37a9e Bug 8267. Add nsIRDFContainer::RemoveElementAt() implementation.
git-svn-id: svn://10.0.0.236/trunk@35614 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:08:54 +00:00
waterson%netscape.com
dcf90fba85 Bug 6665. Hack to addref resources before doing the sort. This saves mailnews from having to recreate them.
git-svn-id: svn://10.0.0.236/trunk@35613 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:07:56 +00:00
bienvenu%netscape.com
6d767e7900 add commit after deleting msg
git-svn-id: svn://10.0.0.236/trunk@35612 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:07:00 +00:00
waterson%netscape.com
9fea56b5f8 Remove Window.Equals() hack.
git-svn-id: svn://10.0.0.236/trunk@35611 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:06:48 +00:00
waterson%netscape.com
daeb84e9fe Add WalkTheStack() implementation for i386 Linux. Tip o' the hat to kipp for the stack walking code, and shaver for the dladdr() hint. Replace PR_snprintf() with nsIToA().
git-svn-id: svn://10.0.0.236/trunk@35610 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:05:32 +00:00
alecf%netscape.com
cac896e871 remove unnecessary functions
git-svn-id: svn://10.0.0.236/trunk@35609 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 02:04:53 +00:00
sspitzer%netscape.com
0143851e83 fix build bustage. sending mail to rahda so she can back this out, if necessary
git-svn-id: svn://10.0.0.236/trunk@35608 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:50:17 +00:00
rjc%netscape.com
a72551e11b More Search changes.
git-svn-id: svn://10.0.0.236/trunk@35607 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:47:02 +00:00
pollmann%netscape.com
48590ea9b6 Bug 2195: select[n] == select.options[n], new IID for nonstandard DOM interface
git-svn-id: svn://10.0.0.236/trunk@35606 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:41:13 +00:00
pavlov%pavlov.net
b01d95c15d initial context menu stuff.. not finished
git-svn-id: svn://10.0.0.236/trunk@35605 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:34:29 +00:00
mcmullen%netscape.com
6433e00bb3 Fix the profile logic now that a default profile is not created by pref->StartUp().
git-svn-id: svn://10.0.0.236/trunk@35604 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:33:02 +00:00
nisheeth%netscape.com
b9c9cc95a1 Do not include nsXMLTokenizer.h any more.
git-svn-id: svn://10.0.0.236/trunk@35603 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:31:55 +00:00
jband%netscape.com
d862ba14f3 updaing TODO list
git-svn-id: svn://10.0.0.236/trunk@35602 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:30:13 +00:00
jband%netscape.com
e5880c8aa6 fix for bug 8248. Not setting the VAL_IS_IFACE flag for purely out params when calling native from JS. All interfaces that return an interface (e.g. QueryInterface) were getting left with one extra ref. Yuck!
git-svn-id: svn://10.0.0.236/trunk@35601 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:29:49 +00:00
nisheeth%netscape.com
7d86f7a5e9 Fixed a crash that resulted from trying to access freed memory in CSSLoaderImpl::DidLoadStyle(). I was trying to access aLoadData to print out an error message after aLoadData had been freed. Moved the error printing code to where aLoadData still has valid content.
git-svn-id: svn://10.0.0.236/trunk@35600 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:29:27 +00:00
pierre%netscape.com
e5c0d34d91 #8264 "[PP] Mac GFX draws lines one pixel too long"
git-svn-id: svn://10.0.0.236/trunk@35599 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:18:15 +00:00
waterson%netscape.com
b911cdf0ae No longer need to special case comparison of XPConnect and DOM objects.
git-svn-id: svn://10.0.0.236/trunk@35598 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:12:37 +00:00
nisheeth%netscape.com
bf550f5348 We no longer need to check an environment variable before instantiating the expat tokenizer. The next step is to remove the XML tokenizer from the build system.
git-svn-id: svn://10.0.0.236/trunk@35597 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:11:48 +00:00
jdunn%netscape.com
3a94d4f0be Use C comment delims and not C++
git-svn-id: svn://10.0.0.236/trunk@35596 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:08:26 +00:00
radha%netscape.com
86b169912d Fix the GetURL() bustage in windows
git-svn-id: svn://10.0.0.236/trunk@35595 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:02:19 +00:00
alecf%netscape.com
f46902fa6b remove unused functions
git-svn-id: svn://10.0.0.236/trunk@35594 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:01:09 +00:00
alecf%netscape.com
7f042a583d remove some unused functions
git-svn-id: svn://10.0.0.236/trunk@35593 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 01:00:29 +00:00
rjc%netscape.com
0ad5ad4b4b Add checks for NULL before using mInner. It could be NULL, for example, if JavaScript creates the datasource but forgets to Init() the datasource.
git-svn-id: svn://10.0.0.236/trunk@35592 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:59:43 +00:00
alecf%netscape.com
ff6ad9e181 back out previous checkin - busts on windows
git-svn-id: svn://10.0.0.236/trunk@35591 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:59:24 +00:00
alecf%netscape.com
111a3af6d6 back out last checkin, busts on windows
git-svn-id: svn://10.0.0.236/trunk@35590 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:58:16 +00:00
akkana%netscape.com
8154b700e1 Add a comment and an acute entity, for testing purposes
git-svn-id: svn://10.0.0.236/trunk@35589 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:53:54 +00:00
akkana%netscape.com
a9a778be57 Oh, drat. Previous fix for const problem also threw away the result
of UnicodeToHTMLString.  This fixes that.


git-svn-id: svn://10.0.0.236/trunk@35588 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:52:47 +00:00
alecf%netscape.com
362a835691 if 0 and static a bunch of functions that aren't used anywhere
git-svn-id: svn://10.0.0.236/trunk@35587 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:51:20 +00:00
gagan%netscape.com
dd250dc838 Removed the temporary Open call on nsIChannel. Inspite of the misnomer, the AsyncRead is the one to use.
git-svn-id: svn://10.0.0.236/trunk@35586 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:49:01 +00:00
hangas%netscape.com
99bc4ff232 Updated mac projects to reflect Candice' changes to windows/unix.
git-svn-id: svn://10.0.0.236/trunk@35585 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:47:36 +00:00
hangas%netscape.com
f4ec91d3ec Commented out Mac breakage
git-svn-id: svn://10.0.0.236/trunk@35584 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:46:12 +00:00
vidur%netscape.com
aba7d2a324 sink now creates content for BASE element
git-svn-id: svn://10.0.0.236/trunk@35583 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:44:50 +00:00
pierre%netscape.com
6889524375 #4084 "JS events: Mac form element events"
git-svn-id: svn://10.0.0.236/trunk@35582 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:41:30 +00:00
pierre%netscape.com
1cc9deab39 #4084 "JS events: Mac form element events"
A little cleanup in key events too


git-svn-id: svn://10.0.0.236/trunk@35581 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:41:02 +00:00
pierre%netscape.com
955ffba2a9 #4084 "JS events: Mac form element events"
#7100 "JS change state (enabled/checked) of html:checkbox doesn't redraw"


git-svn-id: svn://10.0.0.236/trunk@35580 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:40:20 +00:00
danm%netscape.com
cd06b36af7 more careful with dialog webshellwindow member variable. fixes bug 7858. also, release appshell service correctly
git-svn-id: svn://10.0.0.236/trunk@35579 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:38:22 +00:00
blizzard%redhat.com
f4816602ee use PR_LOG for debugging
git-svn-id: svn://10.0.0.236/trunk@35578 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:37:57 +00:00
radha%netscape.com
e5fe173125 OOps. Commented out NS_NewSessionHistory() by mistake in the previous checkin
git-svn-id: svn://10.0.0.236/trunk@35577 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:35:53 +00:00
danm%netscape.com
15d3d4ef10 released modal dialog windows after use
git-svn-id: svn://10.0.0.236/trunk@35576 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:34:11 +00:00
dp%netscape.com
767d4f61b3 Using default autoregistration
git-svn-id: svn://10.0.0.236/trunk@35575 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:34:08 +00:00
pinkerton%netscape.com
632800454c remove the toolbar appCore from the build.
git-svn-id: svn://10.0.0.236/trunk@35574 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:32:12 +00:00
dp%netscape.com
e7840a0ada Using default autoregistration.
git-svn-id: svn://10.0.0.236/trunk@35573 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:29:34 +00:00
danm%netscape.com
ec8fd288c2 just added some usage notes and a bit of extra care during window initialization
git-svn-id: svn://10.0.0.236/trunk@35572 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:27:41 +00:00
dp%netscape.com
4f64ef995b Removing xcDllStore.cpp from the build.
git-svn-id: svn://10.0.0.236/trunk@35571 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:27:13 +00:00
dp%netscape.com
b28116e9b0 Registry location and filename added.
git-svn-id: svn://10.0.0.236/trunk@35570 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:26:43 +00:00
dp%netscape.com
c8118dee3e Removing nsIComponentManager.h from nsIFileSpec.h to prevent circular
header dependencies in preparation for component manager using nsIFileSpec.


git-svn-id: svn://10.0.0.236/trunk@35569 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:26:02 +00:00
bienvenu%netscape.com
936c5ca3d7 work around gcc bug with MI
git-svn-id: svn://10.0.0.236/trunk@35568 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:25:14 +00:00
blizzard%redhat.com
1278260f3c use PR_LOG for debugging messages
git-svn-id: svn://10.0.0.236/trunk@35567 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:25:10 +00:00
sspitzer%netscape.com
7fd43d6316 no newline at the end of the file
git-svn-id: svn://10.0.0.236/trunk@35566 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:24:39 +00:00
ssu%netscape.com
abd1750bd2 ifdef'ed call to PR_Seek() for the standalone build
git-svn-id: svn://10.0.0.236/trunk@35565 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:24:37 +00:00
alecf%netscape.com
ad66b78a7f remove HashTable routines (we're only using HashLists)
git-svn-id: svn://10.0.0.236/trunk@35564 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:24:31 +00:00
sspitzer%netscape.com
629185ee2a rename s to s2 to stop shadowing. we don't need to get the prefs service again, we already have it.
git-svn-id: svn://10.0.0.236/trunk@35563 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:24:17 +00:00
alecf%netscape.com
551717687a hide some symbols from the build
git-svn-id: svn://10.0.0.236/trunk@35562 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:23:21 +00:00
sspitzer%netscape.com
ab994e28c8 missing newlines at the end of the file
git-svn-id: svn://10.0.0.236/trunk@35561 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:23:12 +00:00
alecf%netscape.com
0a8ec439ba xp_qsort is gone, so remove it from the build
git-svn-id: svn://10.0.0.236/trunk@35560 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:22:48 +00:00
danm%netscape.com
efff0ea4f1 fix hidden virtual function bustage
git-svn-id: svn://10.0.0.236/trunk@35559 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:14:04 +00:00
sspitzer%netscape.com
de3211f6d6 fix build bustage for chuang
git-svn-id: svn://10.0.0.236/trunk@35558 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:13:25 +00:00
chuang%netscape.com
a3de261c42 Add address book database code and other fixes
git-svn-id: svn://10.0.0.236/trunk@35556 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:04:49 +00:00
sfraser%netscape.com
7d9456c22e Get rid of stuplid warnings.
git-svn-id: svn://10.0.0.236/trunk@35555 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:02:27 +00:00
mscott%netscape.com
1ebf77ee79 Bug #8221 fix memory problems with nsCOMPtr & using do_QI around methods. We were also making a com ptr out of a non interface so I added a dirty hack to fix that.
git-svn-id: svn://10.0.0.236/trunk@35554 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 00:00:55 +00:00
sfraser%netscape.com
ecfb2ed35b Don't release the selection that you didn't addref, mister document encoder.
git-svn-id: svn://10.0.0.236/trunk@35553 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:58:41 +00:00
nisheeth%netscape.com
346f6ea4e8 Fix for bug 4196. Clicking on anchors now targets frames properly. We were being too eager in truncating the target in nsGenericHTMLElement::GetBaseTarget().
git-svn-id: svn://10.0.0.236/trunk@35552 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:58:07 +00:00
akkana%netscape.com
6d203047f2 Fix const problem
git-svn-id: svn://10.0.0.236/trunk@35551 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:56:44 +00:00
briano%netscape.com
aa13f89293 Fix for QNX/NTO.
git-svn-id: svn://10.0.0.236/trunk@35550 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:56:05 +00:00
putterman%netscape.com
619bc2db1d use chrome url for PrefsWindow.js
git-svn-id: svn://10.0.0.236/trunk@35549 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:54:32 +00:00
sfraser%netscape.com
8258d8059c Fix GetViewForRendering() in the window coordinates case.
git-svn-id: svn://10.0.0.236/trunk@35548 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:54:26 +00:00
chuang%netscape.com
7f2ab75e9b First time check in
git-svn-id: svn://10.0.0.236/trunk@35547 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:52:52 +00:00
chuang%netscape.com
604c92205e First check in
git-svn-id: svn://10.0.0.236/trunk@35546 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:50:33 +00:00
putterman%netscape.com
b24409e014 use chrome url to use PrefsWindow.js
git-svn-id: svn://10.0.0.236/trunk@35545 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:47:08 +00:00
hangas%netscape.com
17a3cc4628 Added empty treecell's so that we don't assert.
git-svn-id: svn://10.0.0.236/trunk@35544 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:45:01 +00:00
rogerl%netscape.com
d7d1246bf2 Fixed bug #7635. instanceof now starts the chain walk from the object
prototype.


git-svn-id: svn://10.0.0.236/trunk@35543 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:44:30 +00:00
hangas%netscape.com
08a46b7c92 Added xul fragment includes for extra tab in edit card.
git-svn-id: svn://10.0.0.236/trunk@35542 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:44:12 +00:00
slamm%netscape.com
7c6f901d03 Remove nsIDocumentViewer.h from EXPORTS. It does not live here. Thanks to 'David Gardiner' <david.gardiner@unisa.edu.au> for the patch.
git-svn-id: svn://10.0.0.236/trunk@35541 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:42:32 +00:00
ftang%netscape.com
7db8a03581 fix bug 8201 by adding GetIID()
git-svn-id: svn://10.0.0.236/trunk@35540 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:41:40 +00:00
pollmann%netscape.com
01652fd586 Bug 2195: Make select[n] == select.options[n] (idlc bugfix courtesy of Vidur)
git-svn-id: svn://10.0.0.236/trunk@35539 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:41:30 +00:00
mscott%netscape.com
3c2f155cb4 Bug #8221 fix memory problems with nsCOMPtr & using do_QI around methods.
git-svn-id: svn://10.0.0.236/trunk@35538 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:39:56 +00:00
sfraser%netscape.com
d33f176f98 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35537 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:39:46 +00:00
mscott%netscape.com
5e0305dc22 Bug #8221 fix memory problems with nsCOMPtr & using do_QI around methods.
git-svn-id: svn://10.0.0.236/trunk@35536 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:34:52 +00:00
ftang%netscape.com
487e3ebceb fix bug 8055 by adding 0x00-0x20 conversion to all the conversion table
git-svn-id: svn://10.0.0.236/trunk@35535 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:34:47 +00:00
jdunn%netscape.com
06b2eb17f9 When ORing enums, it must be done in the domain of the enum type
git-svn-id: svn://10.0.0.236/trunk@35533 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:33:59 +00:00
bienvenu%netscape.com
ed352aa541 use base class implementation of FindSubFolder
git-svn-id: svn://10.0.0.236/trunk@35532 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:33:32 +00:00
hangas%netscape.com
23025c4b77 Changed nsMailboxGetURI to use nsFileSpec. Fixes Mac.
git-svn-id: svn://10.0.0.236/trunk@35531 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:33:29 +00:00
saari%netscape.com
494308738b adding in a piece of keybinding I forgot
git-svn-id: svn://10.0.0.236/trunk@35530 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:33:21 +00:00
jdunn%netscape.com
0c7b20876a need to declare friend class
git-svn-id: svn://10.0.0.236/trunk@35529 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:33:19 +00:00
jdunn%netscape.com
b9b1d37baa HP requires a Newline at end of file
git-svn-id: svn://10.0.0.236/trunk@35528 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:32:44 +00:00
ducarroz%netscape.com
a356eafdaa add search folder to project
git-svn-id: svn://10.0.0.236/trunk@35527 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:32:34 +00:00
blizzard%redhat.com
229f3ae1ff fix bug where the ConfigureNotify wasn't setting the event members properly
git-svn-id: svn://10.0.0.236/trunk@35526 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:31:56 +00:00
bienvenu%netscape.com
b595db6509 add search.lib
git-svn-id: svn://10.0.0.236/trunk@35522 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:31:52 +00:00
bienvenu%netscape.com
d187228592 add search to base
git-svn-id: svn://10.0.0.236/trunk@35520 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:31:32 +00:00
ftang%netscape.com
f27330cb72 fix 7973. Do correct conversion for non ASCII for multipart posting
git-svn-id: svn://10.0.0.236/trunk@35519 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:31:05 +00:00
hangas%netscape.com
8fe0901f17 Added nsImapMoveCoalescer.cpp
git-svn-id: svn://10.0.0.236/trunk@35518 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:30:01 +00:00
ftang%netscape.com
b018cf10ce push SetParserFilter from nsParser.h to nsIParser.h
git-svn-id: svn://10.0.0.236/trunk@35517 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:29:54 +00:00
radha%netscape.com
6e6f661619 More changes related to session History
A
A
A


git-svn-id: svn://10.0.0.236/trunk@35516 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:29:38 +00:00
radha%netscape.com
c4cdce5bfc Session History interface changes.
git-svn-id: svn://10.0.0.236/trunk@35514 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:27:10 +00:00
rhp%netscape.com
7506dbb643 Changes for quoting
git-svn-id: svn://10.0.0.236/trunk@35509 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:26:37 +00:00
pinkerton%netscape.com
98bf47bfd6 fix memory leaks (bug# 8221)
git-svn-id: svn://10.0.0.236/trunk@35508 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:26:32 +00:00
akkana%netscape.com
245bf1d96e 6671: map dom codes back to entity form on output
git-svn-id: svn://10.0.0.236/trunk@35507 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:26:13 +00:00
tao%netscape.com
80023948c4 8152: MLK in string bundle
git-svn-id: svn://10.0.0.236/trunk@35506 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:26:08 +00:00
radha%netscape.com
82ed772c77 Better behavior with nested frames
git-svn-id: svn://10.0.0.236/trunk@35505 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:26:06 +00:00
ducarroz%netscape.com
a5ae9d3197 add build instruction for mime:src:MANIFEST and mime:emitters:src:MANIFEST (rhp landind)
git-svn-id: svn://10.0.0.236/trunk@35504 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:25:55 +00:00
rhp%netscape.com
1e5929f8fa changes for quoting
git-svn-id: svn://10.0.0.236/trunk@35503 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:25:52 +00:00
sfraser%netscape.com
47b1e6f67f Don't pass "null" strings in from JavaScript.
git-svn-id: svn://10.0.0.236/trunk@35502 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:25:18 +00:00
akkana%netscape.com
e12a8361e4 Fix for the crasher part of 7801: don't use nsAutoSelectionReset in InsertList
git-svn-id: svn://10.0.0.236/trunk@35501 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:24:24 +00:00
sfraser%netscape.com
33bd604dc3 Add TextEditor xul file.
git-svn-id: svn://10.0.0.236/trunk@35500 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:24:21 +00:00
ducarroz%netscape.com
7a16600f50 update project for rhp landing
git-svn-id: svn://10.0.0.236/trunk@35499 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:24:09 +00:00
putterman%netscape.com
e0616d471d Remove an extra AddRef.
git-svn-id: svn://10.0.0.236/trunk@35498 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:23:13 +00:00
putterman%netscape.com
4070a8ae6d Return NS_OK for DoCommand.
git-svn-id: svn://10.0.0.236/trunk@35497 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:22:59 +00:00
rhp%netscape.com
f6aa6e376b New quoting functionality
git-svn-id: svn://10.0.0.236/trunk@35472 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:22:34 +00:00
putterman%netscape.com
9e5a50f9b5 Set the webshell's default character set.
git-svn-id: svn://10.0.0.236/trunk@35471 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:22:12 +00:00
putterman%netscape.com
9e9f61c249 Only AddRef servMgr if we're going to assign it to *result. Approved by dp.
git-svn-id: svn://10.0.0.236/trunk@35470 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:21:12 +00:00
cata%netscape.com
42c5df2c1b External DTD support. (but wrapped in #ifdef EXTERNAL_ENTITY_SUPPORT)
git-svn-id: svn://10.0.0.236/trunk@35469 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:20:01 +00:00
putterman%netscape.com
0ede68b054 Close the filespec's stream so we don't keep appending to pref file. Approved by
mcmullen.


git-svn-id: svn://10.0.0.236/trunk@35468 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:19:58 +00:00
bienvenu%netscape.com
fc2be00a11 implement FindSubFolder
git-svn-id: svn://10.0.0.236/trunk@35467 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:18:57 +00:00
bienvenu%netscape.com
ad879aac73 add imap move coalescer to filter code
git-svn-id: svn://10.0.0.236/trunk@35466 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:17:49 +00:00
edwin%woudt.nl
dbc99486c1 Oops, forgot this one. The preferred Look&Feel is set on startup.
git-svn-id: svn://10.0.0.236/trunk@35465 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 23:08:07 +00:00
edwin%woudt.nl
a2c7181b37 Adding Look&Feel support to the prefs
git-svn-id: svn://10.0.0.236/trunk@35463 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 22:33:14 +00:00
slamm%netscape.com
728f632f68 Add timezone to time at top of page.
git-svn-id: svn://10.0.0.236/trunk@35462 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 22:20:31 +00:00
sfraser%netscape.com
4a9ad9e17e Fix the multiple reflow problem which makes page rendering very slow. r hyatt, a leaf.
git-svn-id: svn://10.0.0.236/trunk@35461 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 21:30:14 +00:00
bienvenu%netscape.com
0dec58089e not part of build, initial entry into cvs of helper class for coalescing moves
git-svn-id: svn://10.0.0.236/trunk@35460 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 21:20:08 +00:00
rpotts%netscape.com
da58e766e1 Fixed header parsing to prevent an endless loop. Moved the code to handle header completion into a new function - FireOnHeadersAvailable. This function notifies the event sink and external modules interested in headers. previously, external modules were being notified multiple times...
git-svn-id: svn://10.0.0.236/trunk@35459 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 20:59:39 +00:00
valeski%netscape.com
ea63443208 added thread locking functionality back into ftp
git-svn-id: svn://10.0.0.236/trunk@35458 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 20:49:56 +00:00
cbegle%netscape.com
9f05c83fb9 Fix errors in liveconnect tests per furman@netscape.com. Renaming files
to not have a "-n" filename, since they are no longer negative tests.


git-svn-id: svn://10.0.0.236/trunk@35457 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 20:03:30 +00:00
rpotts%netscape.com
69449663c2 Fix build bustage... nsIDocumentLoaderObserver interface was changed :-(
git-svn-id: svn://10.0.0.236/trunk@35456 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 19:33:29 +00:00
putterman%netscape.com
24b6e72c12 Fix for 8197. Can't read pref file. Approved by leaf and reviewed by mscott.
git-svn-id: svn://10.0.0.236/trunk@35454 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 18:39:33 +00:00
bruce%cybersight.com
0b5d36e888 APPROVED BY leaf@mozilla.org
This fixes the use of 'false' instead of PR_FALSE.  This was killing the Solaris native compiler build.  (Probably would've killed others if they weren't so horrked that they don't get to this file.)

Also, it adds a linefeed at the end of the file for those same native unix compilers.

This won't mess up Mozilla any more than it already is this morning.


git-svn-id: svn://10.0.0.236/trunk@35451 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 18:07:58 +00:00
terry%mozilla.org
61576acec0 Explain some history.
git-svn-id: svn://10.0.0.236/trunk@35450 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 15:44:42 +00:00
terry%mozilla.org
1d7008c9a1 Patch by Christopher Kline <ckline@media.mit.edu> -- wasn't sending
right password to mysql.


git-svn-id: svn://10.0.0.236/trunk@35449 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 15:32:25 +00:00
shaver%netscape.com
8450083be8 flail lightly trying to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@35448 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 15:21:00 +00:00
shaver%netscape.com
0f4f0817ff try to bix build bustage, and start on fixing 8183
git-svn-id: svn://10.0.0.236/trunk@35447 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 15:13:38 +00:00
jefft%netscape.com
865b17ff04 fixed Mac build bustage
git-svn-id: svn://10.0.0.236/trunk@35446 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 15:12:52 +00:00
jefft%netscape.com
023eb2dd77 fix linux build bustage
git-svn-id: svn://10.0.0.236/trunk@35445 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 15:05:48 +00:00
rods%netscape.com
dcc4eb02da Changed special MULTI_MIME to be used by both classes
git-svn-id: svn://10.0.0.236/trunk@35444 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 14:26:23 +00:00
rods%netscape.com
42dab97dc9 Changed "unsigned int" to PRUint32
git-svn-id: svn://10.0.0.236/trunk@35443 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 14:25:31 +00:00
ducarroz%netscape.com
c94a71dbb9 replace /*nsIDOMEditorAppCore*/nsISupports by nsIEditorShell
git-svn-id: svn://10.0.0.236/trunk@35442 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 14:25:26 +00:00
shaver%netscape.com
c367066727 fix 8184: don't get stuck on %{ that's not at the beginning of the line, and mind end of data
git-svn-id: svn://10.0.0.236/trunk@35441 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 14:17:21 +00:00
rhp%netscape.com
5a2807f3a0 Checking in changes for new files (not in build yet)
git-svn-id: svn://10.0.0.236/trunk@35440 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 14:11:56 +00:00
bruce%cybersight.com
02fc3ead24 Replace NULL with nsnull in 8 initializations as NULL is void* on Solaris Workshop 4.2 compilers and it dies on using NULL here.
git-svn-id: svn://10.0.0.236/trunk@35439 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:51:50 +00:00
bruce%cybersight.com
9ac574ec89 Fix HP build bustage. Must comment out text after an #endif
git-svn-id: svn://10.0.0.236/trunk@35438 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:38:14 +00:00
rhp%netscape.com
24dd9edced Changes for internal mime emitter
git-svn-id: svn://10.0.0.236/trunk@35437 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:29:00 +00:00
rhp%netscape.com
b996c1fe1b updates for internal mime emitter
git-svn-id: svn://10.0.0.236/trunk@35436 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:27:49 +00:00
jefft%netscape.com
2fed9e535c added files: mozilla/mailnews/imap/src/nsImapUndoTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@35435 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:20:34 +00:00
jefft%netscape.com
5d2b212757 added files: mozilla/mailnews/base/util/nsMsgTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@35434 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:17:46 +00:00
jefft%netscape.com
171e4f9689 more on unod work - added SetCopyResponseUid() method; nsImapMoveCopyMsgTxn class; fix set message flags not working problem
git-svn-id: svn://10.0.0.236/trunk@35433 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:16:51 +00:00
jefft%netscape.com
f6e93b5e44 added SetCopyResponseUid interface
git-svn-id: svn://10.0.0.236/trunk@35432 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:12:54 +00:00
jefft%netscape.com
55f7a45355 added nsImapUidExpunge action
git-svn-id: svn://10.0.0.236/trunk@35431 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:12:08 +00:00
jefft%netscape.com
5de58f08ab more on undowork -- adding base nsMsgTxn class for base undo object
git-svn-id: svn://10.0.0.236/trunk@35430 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:10:47 +00:00
jefft%netscape.com
1a7d105d8d more on undo work - remove transaction manager from folder array after retrieving it
git-svn-id: svn://10.0.0.236/trunk@35429 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 13:08:12 +00:00
edwin%woudt.nl
875ea9b499 New prefs landing
git-svn-id: svn://10.0.0.236/trunk@35428 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 11:44:40 +00:00
mccabe%netscape.com
f959eb5d1b Added a warning for using an (ignored) '%{' or '%{whatever' escape instead of using '%{C++'.
git-svn-id: svn://10.0.0.236/trunk@35427 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 11:18:03 +00:00
mccabe%netscape.com
31c384cdf8 Added -w to calls to xpidl. It's been in rules.mk for a while; I was shocked (shocked!) to find it wasn't here.
git-svn-id: svn://10.0.0.236/trunk@35426 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 11:14:49 +00:00
mcmullen%netscape.com
88a6f93e78 Alias resolution makes directory iteration tricky: You can't use SetLeafName to convert one sibling to another. Fixing parsing of pref-init files, which broke when I fixed aliases a while back.
git-svn-id: svn://10.0.0.236/trunk@35425 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 10:42:05 +00:00
mcmullen%netscape.com
4964d69d07 Fix windows bustage.
git-svn-id: svn://10.0.0.236/trunk@35424 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 09:35:20 +00:00
mcmullen%netscape.com
54664adf4e Added a null test
git-svn-id: svn://10.0.0.236/trunk@35423 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 09:31:49 +00:00
mccabe%netscape.com
a94ba34321 Removed unused declaration for (cvs rm'ed) stub mode, and added an explanatory comment as to what 'basename' actually means. (Not what I thought...)
git-svn-id: svn://10.0.0.236/trunk@35422 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 09:22:04 +00:00
mcmullen%netscape.com
82b6f8f370 Using nsIFileSpec, leaks and stuff now become possible. Fixing one problem...
git-svn-id: svn://10.0.0.236/trunk@35421 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 09:09:17 +00:00
mcmullen%netscape.com
802236a201 Fix up registration of nsIFileLocator to use ProgIDs
git-svn-id: svn://10.0.0.236/trunk@35420 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 08:52:23 +00:00
warren%netscape.com
c67c7c66b8 Fixed buffer tests.
git-svn-id: svn://10.0.0.236/trunk@35419 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 08:36:27 +00:00
mcmullen%netscape.com
e11f39047b Remove the trailing space in the module name.
git-svn-id: svn://10.0.0.236/trunk@35418 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 08:22:10 +00:00
mcmullen%netscape.com
be46092e74 Fix up registration of nsIFileLocator to use ProgIDs
git-svn-id: svn://10.0.0.236/trunk@35417 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 08:07:58 +00:00
sspitzer%netscape.com
44c9798e7c fix for #8126. crashing when posting to a non-existant newsgroup.
git-svn-id: svn://10.0.0.236/trunk@35416 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 07:28:54 +00:00
mcmullen%netscape.com
ea88e50957 trying to fix windows bustage with new parameters = set 'em to null!
git-svn-id: svn://10.0.0.236/trunk@35415 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 07:19:16 +00:00
rjc%netscape.com
babaad9c18 Small fix for non-Mac platforms in terms of where to look for search datafiles.
git-svn-id: svn://10.0.0.236/trunk@35414 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 07:07:09 +00:00
hyatt%netscape.com
b29b58e27b Fixing a bug in the distribution of excess space to multiple row groups.
git-svn-id: svn://10.0.0.236/trunk@35413 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 07:06:55 +00:00
ftang%netscape.com
c2b67434da add ascii converters
git-svn-id: svn://10.0.0.236/trunk@35412 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:56:19 +00:00
ftang%netscape.com
fc33fc3474 fix CID.h file misspell and repeat CID. add ASCII to the factory
git-svn-id: svn://10.0.0.236/trunk@35411 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:49:47 +00:00
mcafee%netscape.com
ae3420fb17 nsWindows are now drag destinations.
git-svn-id: svn://10.0.0.236/trunk@35410 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:46:37 +00:00
ftang%netscape.com
7522dc5bb4 add ascii converter to the file list
git-svn-id: svn://10.0.0.236/trunk@35409 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:45:08 +00:00
mcmullen%netscape.com
e49b19a538 Seems when CVS merged this for me, it did so in such a way that I backed out some of hangas's changes. Restoring this the way I think he wanted it.
git-svn-id: svn://10.0.0.236/trunk@35408 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:44:56 +00:00
mcmullen%netscape.com
2f50472c00 conflict with profile checkin
git-svn-id: svn://10.0.0.236/trunk@35407 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:42:23 +00:00
ftang%netscape.com
88283344c4 add ASCII converter to window makefile
git-svn-id: svn://10.0.0.236/trunk@35406 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:41:05 +00:00
ftang%netscape.com
762729d03b add ASCII converter and unix makefile
git-svn-id: svn://10.0.0.236/trunk@35405 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:37:33 +00:00
endico%mozilla.org
d0fddb49f8 attempt to dissuade robots from indexing the entire lxr.mozilla.org site
git-svn-id: svn://10.0.0.236/trunk@35404 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:34:45 +00:00
mcmullen%netscape.com
bfc8154d7d My fix collided with somebody else's. Fixing it the way I want it.
git-svn-id: svn://10.0.0.236/trunk@35403 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:30:33 +00:00
ftang%netscape.com
48791d631e add CID for ASCII
git-svn-id: svn://10.0.0.236/trunk@35402 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:27:37 +00:00
mcafee%netscape.com
78a4313ef0 Moving worked declaration to the beginning of function to get around goto error. Fixes linux bustage.
git-svn-id: svn://10.0.0.236/trunk@35401 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:24:34 +00:00
peterl%netscape.com
5acfa76172 sync to css loader api change (default namespace)
git-svn-id: svn://10.0.0.236/trunk@35400 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:22:46 +00:00
mcafee%netscape.com
458004adb3 Fixing some of the Linux breakage.
git-svn-id: svn://10.0.0.236/trunk@35399 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:22:35 +00:00
peterl%netscape.com
d05da63300 better medium testing api
git-svn-id: svn://10.0.0.236/trunk@35398 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:22:07 +00:00
peterl%netscape.com
44dd0a04bd added better medium testing api
git-svn-id: svn://10.0.0.236/trunk@35397 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:21:47 +00:00
peterl%netscape.com
c3453e4f35 added faster medium testing support
added default namespace support
WIP for faster cascade


git-svn-id: svn://10.0.0.236/trunk@35396 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:20:46 +00:00
peterl%netscape.com
0b9d193a00 changed medium testing API
git-svn-id: svn://10.0.0.236/trunk@35395 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:19:57 +00:00
peterl%netscape.com
04e4d15221 added default namespace id
added safety checks when loading is aborted


git-svn-id: svn://10.0.0.236/trunk@35394 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:19:21 +00:00
peterl%netscape.com
64aa772a58 added default namespace id
git-svn-id: svn://10.0.0.236/trunk@35393 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:18:37 +00:00
peterl%netscape.com
da190bcd66 added default namespace ID to loading
git-svn-id: svn://10.0.0.236/trunk@35392 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:18:23 +00:00
peterl%netscape.com
82c9e7225a added namespace definitions
git-svn-id: svn://10.0.0.236/trunk@35391 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:17:17 +00:00
peterl%netscape.com
ba3297bfed delete floaters before regular children
git-svn-id: svn://10.0.0.236/trunk@35390 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:16:29 +00:00
peterl%netscape.com
eb90ef2c8a use new medium testing api
use enumeration func for faster rule matching


git-svn-id: svn://10.0.0.236/trunk@35389 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:15:51 +00:00
peterl%netscape.com
8b5a5bc0d9 added create child namespace by id
git-svn-id: svn://10.0.0.236/trunk@35388 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:14:59 +00:00
peterl%netscape.com
1721617943 added UseForMedium (for faster medium testing)
git-svn-id: svn://10.0.0.236/trunk@35387 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:14:31 +00:00
peterl%netscape.com
1e96c5e167 added new create child namespace
git-svn-id: svn://10.0.0.236/trunk@35386 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 06:14:09 +00:00
mcmullen%netscape.com
353309812c oh, that ./ again.
git-svn-id: svn://10.0.0.236/trunk@35385 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:57:17 +00:00
mcmullen%netscape.com
e340b53e30 oh, that ./ again.
git-svn-id: svn://10.0.0.236/trunk@35384 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:56:33 +00:00
sspitzer%netscape.com
092f276537 change to get the message ID and the message number to show up in the message pane
when the user displays a message that has been cancelled.


git-svn-id: svn://10.0.0.236/trunk@35383 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:55:36 +00:00
mcmullen%netscape.com
9bd79920cc More nsIFileSpec/Locator changes (merge conflicts with profile stuff messed this up)
git-svn-id: svn://10.0.0.236/trunk@35382 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:51:29 +00:00
rjc%netscape.com
baeb3ea890 Fix depth.
git-svn-id: svn://10.0.0.236/trunk@35381 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:32:53 +00:00
mcmullen%netscape.com
11d23ef644 idlized now
git-svn-id: svn://10.0.0.236/trunk@35380 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:29:54 +00:00
rjc%netscape.com
cf6795d693 Put Search resources into res/samples
git-svn-id: svn://10.0.0.236/trunk@35379 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:28:46 +00:00
av%netscape.com
593e7ef293 Hooking up event passing to winless plugins
git-svn-id: svn://10.0.0.236/trunk@35378 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:28:23 +00:00
waterson%netscape.com
29e6fa110d Clean up stack trace output: add displacements and remove spaces that sometimes appear in demangled symbols (so my perl script doesn't barf).
git-svn-id: svn://10.0.0.236/trunk@35377 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:27:09 +00:00
rjc%netscape.com
eb7e1a1ec1 Add search resources into res/samples.
git-svn-id: svn://10.0.0.236/trunk@35376 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:26:33 +00:00
mcmullen%netscape.com
0c1ba60273 Changed to use nsIFileSpec
git-svn-id: svn://10.0.0.236/trunk@35375 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:25:28 +00:00
mcmullen%netscape.com
f2e6c8d4de nsIFileLocator's API has changed.
git-svn-id: svn://10.0.0.236/trunk@35374 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:25:03 +00:00
warren%netscape.com
7325d54d58 New file transport test using nsFileChannels instead.
git-svn-id: svn://10.0.0.236/trunk@35373 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:22:25 +00:00
rjc%netscape.com
b2ed125d6e Add in appropriate MANIFEST and makefiles.
git-svn-id: svn://10.0.0.236/trunk@35372 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:21:47 +00:00
mcmullen%netscape.com
7cbe853773 idlized nsIFileLocator, created appshellIDL.mcp
git-svn-id: svn://10.0.0.236/trunk@35371 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:20:48 +00:00
warren%netscape.com
0a96edf3cb Removed file transport, now consolidated with file channel. Various buffer(stream) cleanup.
git-svn-id: svn://10.0.0.236/trunk@35370 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:18:40 +00:00
mcmullen%netscape.com
64e43d4fee Added inline convenience methods.
git-svn-id: svn://10.0.0.236/trunk@35369 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:18:04 +00:00
mcmullen%netscape.com
05116a2914 idlized nsIFileLocator
git-svn-id: svn://10.0.0.236/trunk@35368 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:18:02 +00:00
mcmullen%netscape.com
ab933eb087 Changed API to nsIPref
git-svn-id: svn://10.0.0.236/trunk@35367 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:18:01 +00:00
mcmullen%netscape.com
7e5a37fddc Changed API for nsIFileLocator
git-svn-id: svn://10.0.0.236/trunk@35366 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:18:00 +00:00
mcmullen%netscape.com
da5a1f912c Made write and read do an implicit open. Added a FileContents attribute to allow simple conversion between an entire file and a string.
git-svn-id: svn://10.0.0.236/trunk@35365 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:17:59 +00:00
mcmullen%netscape.com
b2485f0c47 Changed API to nsIFileLocator
git-svn-id: svn://10.0.0.236/trunk@35364 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:17:58 +00:00
mcmullen%netscape.com
8ca5588a22 idlized nsIFileLocator.
git-svn-id: svn://10.0.0.236/trunk@35363 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:17:57 +00:00
mcmullen%netscape.com
548a10029e Call pref->ReadUserPrefs()
git-svn-id: svn://10.0.0.236/trunk@35362 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:17:56 +00:00
mcmullen%netscape.com
f5e5ff2fe2 Use nsIFileSpec. Also added ReadUserPrefs() method.
git-svn-id: svn://10.0.0.236/trunk@35361 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:17:55 +00:00
rjc%netscape.com
265453b5a7 Check-in search UI.
git-svn-id: svn://10.0.0.236/trunk@35360 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:14:37 +00:00
rjc%netscape.com
67b4b2ccc8 Cleanup a bit.
git-svn-id: svn://10.0.0.236/trunk@35359 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:11:05 +00:00
rjc%netscape.com
0e15eff54e Added HTTP POST support for searching.
git-svn-id: svn://10.0.0.236/trunk@35358 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:07:29 +00:00
sspitzer%netscape.com
2f0909d91e remove the "." from Subscribe. it launches subscribe.xul (in all it's glory) now.
git-svn-id: svn://10.0.0.236/trunk@35357 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 05:03:40 +00:00
mccabe%netscape.com
f5f92fe30e Fix number of arguments to the fprintf format string I changed yesterday.
git-svn-id: svn://10.0.0.236/trunk@35356 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:59:19 +00:00
warren%netscape.com
07f8f36a84 Added PR_LOG stuff.
git-svn-id: svn://10.0.0.236/trunk@35355 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:57:07 +00:00
jband%netscape.com
cc65384092 removing an assert that is no longer appropriate
git-svn-id: svn://10.0.0.236/trunk@35354 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:46:18 +00:00
mcafee%netscape.com
7c1443cdd0 Remove bogus commented service deletion.
git-svn-id: svn://10.0.0.236/trunk@35353 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:36:41 +00:00
mcafee%netscape.com
678fa54119 Enabling nsDragService factory creation.
git-svn-id: svn://10.0.0.236/trunk@35352 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:30:36 +00:00
gagan%netscape.com
3008a4f872 Added nsIChannel::Open temporarily to get the test working. There is a problem with the nsIBuffer search routine (see news://npm.netlib) which causes an assertion since refcnt gets reset after a Read following a Search on nsIBuffer.
git-svn-id: svn://10.0.0.236/trunk@35351 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:30:34 +00:00
bryce-mozilla%nextbus.com
febafd9e44 Assorted minor UI cleanups (mostly putting navigation headers in, and
rewording "return to query page" for pages where that is not always true.
Also add two options to the main index.html


git-svn-id: svn://10.0.0.236/trunk@35350 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:29:05 +00:00
sspitzer%netscape.com
5ff037aa9e add the ".\" so the resources get exported.
git-svn-id: svn://10.0.0.236/trunk@35349 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:26:01 +00:00
bryce-mozilla%nextbus.com
68a4a1e8e1 Fix several browsers, Lynx and Opera at least. HTML syntax errors here
and there were fixed, and serverpush was restricted only to the versions
of Mozilla known to support it.


git-svn-id: svn://10.0.0.236/trunk@35348 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:25:29 +00:00
sspitzer%netscape.com
823e0fcb39 launch the subscribe dialog.
git-svn-id: svn://10.0.0.236/trunk@35347 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:22:41 +00:00
blizzard%redhat.com
449c08cbfa more gfx work
git-svn-id: svn://10.0.0.236/trunk@35346 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:19:11 +00:00
sfraser%netscape.com
5e982a0832 Added nsScrollbarButtonFrame.cpp, and fix constness of MouseClicked param.
git-svn-id: svn://10.0.0.236/trunk@35345 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:10:27 +00:00
mcafee%netscape.com
c09a0a2dd8 Minor reformatting.
git-svn-id: svn://10.0.0.236/trunk@35344 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:07:36 +00:00
cmanske%netscape.com
1f35ff9acd HLine dialog improvements
git-svn-id: svn://10.0.0.236/trunk@35343 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:03:22 +00:00
evaughan%netscape.com
228c4d1aef Integrated a new XP scrollbar
Added tri state behavior to titled buttons.


git-svn-id: svn://10.0.0.236/trunk@35342 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 04:02:43 +00:00
alecf%netscape.com
a5d51bf47d add type attribute to nsIMsgIncomingServer, and reduce warnings by not using "value"
git-svn-id: svn://10.0.0.236/trunk@35341 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:47:59 +00:00
briano%netscape.com
4f17293d1a Change to support platforms that don't have fchmod().
git-svn-id: svn://10.0.0.236/trunk@35340 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:43:46 +00:00
briano%netscape.com
044d4d3556 Automated update
git-svn-id: svn://10.0.0.236/trunk@35339 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:41:07 +00:00
bienvenu%netscape.com
6e7a02d30b use character set stored in dbfolderino
git-svn-id: svn://10.0.0.236/trunk@35338 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:41:05 +00:00
briano%netscape.com
b95b589d49 Initial changes to support BeOS.
git-svn-id: svn://10.0.0.236/trunk@35337 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:35:49 +00:00
mscott%netscape.com
33f5fa6cb0 Mark the url as finished AFTER we are done with the url in the nsMailboxProtocol::OnStopBinding call. We were marking the url as done and then cleaning up our file state (such as closing the temp file).
git-svn-id: svn://10.0.0.236/trunk@35336 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:35:30 +00:00
alecf%netscape.com
f2d254d1bd use new code for opening preferences with a specific pref page
git-svn-id: svn://10.0.0.236/trunk@35335 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:32:02 +00:00
alecf%netscape.com
8c03177cde search dialog is now active
git-svn-id: svn://10.0.0.236/trunk@35334 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:31:28 +00:00
vidur%netscape.com
d35239d364 More graceful handling of the orphaned window case.
git-svn-id: svn://10.0.0.236/trunk@35333 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:25:41 +00:00
waterson%netscape.com
3fecdf8813 Add MOZ_TRACE_REFCNT to allow you to instrument individual implementations of AddRef() & Release().
git-svn-id: svn://10.0.0.236/trunk@35332 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:25:27 +00:00
briano%netscape.com
b0d6138e47 Added support for BeOS. Contributed by Duncan Wilcox (duncan@be.com).
git-svn-id: svn://10.0.0.236/trunk@35331 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:24:25 +00:00
waterson%netscape.com
7a3806e659 Spit out a mapfile, for kicks.
git-svn-id: svn://10.0.0.236/trunk@35330 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:21:49 +00:00
waterson%netscape.com
e83567c0f1 Add REF into the element map so that the generic builder sees it in OnAssert() and OnUnassert(). Resolve it to an absolute URI before using so that ref='foo/bar.rdf#bing' works.
git-svn-id: svn://10.0.0.236/trunk@35329 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:21:20 +00:00
waterson%netscape.com
167d4bc642 Bug 7385. Open datasources asynchronously by default.
git-svn-id: svn://10.0.0.236/trunk@35328 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:19:33 +00:00
vidur%netscape.com
752bdba383 Changed reference counting rules for nsGlobalWindow - now its JSObject maintains a reference to it. The root for the global JSObject is now removed in SetWebShell when we're going away. Lots of null checks so that standalone global window doesn't crash.
git-svn-id: svn://10.0.0.236/trunk@35327 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:17:11 +00:00
vidur%netscape.com
447eb03126 Fixed memory leak when new windows were opened
git-svn-id: svn://10.0.0.236/trunk@35326 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:15:37 +00:00
joki%netscape.com
1b13b0f841 Fixes for event going to frames which have changes as a result of other event handlers. (loosely bug 1283)
git-svn-id: svn://10.0.0.236/trunk@35325 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:14:28 +00:00
shaver%netscape.com
b98a4b3425 xpidl_idl.c rewrite for improved maintenance, fixed bugs and whiter teeth
git-svn-id: svn://10.0.0.236/trunk@35324 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:07:44 +00:00
jband%netscape.com
0fd8424124 fix for bug 7940. Notification in xpconnect of JSContext about to be destroyed was zeroing out information later used to remove gc root. This was keeping JS_RemoveRoot from being called for those objects. So, the JSRuntime was getting left with pointers to roots for stuff on JSContexts long since destroyed and for which memory had been recycled. The fix is to be *sure* to do all the proper cleanup in xpconnect upon notification that a JSContext is about to be destroyed.
git-svn-id: svn://10.0.0.236/trunk@35323 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:48:26 +00:00
rhp%netscape.com
b0f5c6fefe Fixes for completion code checking
git-svn-id: svn://10.0.0.236/trunk@35322 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:31:27 +00:00
rhp%netscape.com
7bf867f8e8 Correct usage of return codes
git-svn-id: svn://10.0.0.236/trunk@35321 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:30:55 +00:00
hyatt%netscape.com
5cacc78db3 fixing a bug in getframeforpoint for nested row groups
git-svn-id: svn://10.0.0.236/trunk@35320 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:27:17 +00:00
ftang%netscape.com
c12062ec71 fix bug 7544
git-svn-id: svn://10.0.0.236/trunk@35319 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:21:03 +00:00
ducarroz%netscape.com
ee0ad1d392 fix for bug 8029. ResolveAlias should not set the nsFileSpe's internal error mError if the file doesn't exist which is a legal state during the creation of an nsFileSpec object.
git-svn-id: svn://10.0.0.236/trunk@35318 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:19:23 +00:00
sspitzer%netscape.com
7a434edbb3 check for null before deferencing.
git-svn-id: svn://10.0.0.236/trunk@35317 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:11:56 +00:00
rickg%netscape.com
1e824d81bc more error reporting in ToInteger()
git-svn-id: svn://10.0.0.236/trunk@35316 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:03:33 +00:00
phillip%netscape.com
56837741f7 smoke.pl now changes to apprunner_bin before invoking apprunner
git-svn-id: svn://10.0.0.236/trunk@35315 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 02:02:58 +00:00
hangas%netscape.com
61e2cc35f8 Removed hack to work around bug 7803.
git-svn-id: svn://10.0.0.236/trunk@35314 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:57:49 +00:00
akkana%netscape.com
ae46c37f43 6180: Use proper Mac linebreaks on Mac; 6083: Don't output '=value' in attributes unless there is a value
git-svn-id: svn://10.0.0.236/trunk@35313 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:42:16 +00:00
ftang%netscape.com
68ed891b0f fix bug 5565
git-svn-id: svn://10.0.0.236/trunk@35312 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:27:44 +00:00
putterman%netscape.com
d4d748d801 Get summary totals for all folders on startup, not just leaf folders.
git-svn-id: svn://10.0.0.236/trunk@35311 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:25:46 +00:00
putterman%netscape.com
fdffe24292 Commit after setting charset.
git-svn-id: svn://10.0.0.236/trunk@35310 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:25:15 +00:00
putterman%netscape.com
8583ae8b7d Add charset method.
git-svn-id: svn://10.0.0.236/trunk@35309 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:24:56 +00:00
tague%netscape.com
7d9a2e947d backed out last change.
git-svn-id: svn://10.0.0.236/trunk@35308 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:24:23 +00:00
mcafee%netscape.com
7ec1fd3f8b Patch for BeOS, thanks to Duncan Wilcox.
git-svn-id: svn://10.0.0.236/trunk@35307 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:24:06 +00:00
putterman%netscape.com
88922114e0 Add back charset method.
git-svn-id: svn://10.0.0.236/trunk@35306 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:23:34 +00:00
hyatt%netscape.com
b91d25c962 Added support for incremental reflow of nested row groups (yeah, baby, yeah, baby, YEAH).
git-svn-id: svn://10.0.0.236/trunk@35305 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:19:18 +00:00
sspitzer%netscape.com
45bd135183 fix windows build bustage.
git-svn-id: svn://10.0.0.236/trunk@35304 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:03:44 +00:00
tague%netscape.com
0eb2d25a55 Modified logic so that shortcut keys are actually returns an NS_OK when the keydown handler handels them.
git-svn-id: svn://10.0.0.236/trunk@35303 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 01:02:14 +00:00
rogerl%netscape.com
b5540991c3 Changes to get traditional functions with args. working
git-svn-id: svn://10.0.0.236/trunk@35302 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:57:05 +00:00
alecf%netscape.com
26c8590a2b add extra <treecell> tags so entire row selection works
git-svn-id: svn://10.0.0.236/trunk@35301 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:56:30 +00:00
davidm%netscape.com
c16321300c 8008 Task Menu | Services A-D do not work
git-svn-id: svn://10.0.0.236/trunk@35300 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:55:31 +00:00
alecf%netscape.com
a6224ff4c3 hook up close button
git-svn-id: svn://10.0.0.236/trunk@35299 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:52:49 +00:00
alecf%netscape.com
bada5688fd add code to open Search and Filter dialogs from menus, and put functions in the right place
git-svn-id: svn://10.0.0.236/trunk@35298 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:49:23 +00:00
alecf%netscape.com
b7844aad20 fix filter list dialog - preftree.css is gone, etc..
git-svn-id: svn://10.0.0.236/trunk@35297 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:48:19 +00:00
waterson%netscape.com
9ff1127f25 Add MPL. Alter registry loading code to insulate from whatever policy needs to be used for loading RDF/XML from the RDF service.
git-svn-id: svn://10.0.0.236/trunk@35296 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:44:33 +00:00
waterson%netscape.com
8273c8bced Use RDF/XML datasource directly, rather than loading through RDF service. The separates this from whatever policy RDF service ends up needing to use for RDF/XML. Chrome registry _must_ be loaded synchronously no matter what.
git-svn-id: svn://10.0.0.236/trunk@35295 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:42:45 +00:00
mccabe%netscape.com
26b14e1548 Remove reference to the f_noscript field, which gets set when libIDL sees a bare 'noscript' keyword.
This fixes compiling against libIDL 0.6.8, which has changed the field to __f_noscript to deprecate.  Rightly so, as noscript is expressible as a bracketed [property], and we want it to go away too.  Ignoring it rather than #ifdef'ing saves us future maintenance hassle.


git-svn-id: svn://10.0.0.236/trunk@35294 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:37:46 +00:00
sspitzer%netscape.com
3c147e85aa alerts are too broken to use at this point. #7770 and other bugs. argh.
git-svn-id: svn://10.0.0.236/trunk@35293 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:35:43 +00:00
gagan%netscape.com
f2395ad7bf Fixes to urltest.cpp.
git-svn-id: svn://10.0.0.236/trunk@35292 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:34:37 +00:00
hangas%netscape.com
330d5159f4 Removed parameter from onchange= in address book window and select address dialog.
git-svn-id: svn://10.0.0.236/trunk@35291 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:30:56 +00:00
ducarroz%netscape.com
d3e870d992 fix bug #8124, catch JS execption while setting the wrapColumn.
git-svn-id: svn://10.0.0.236/trunk@35290 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:24:10 +00:00
ducarroz%netscape.com
5a325382c8 update Editor toolbar
git-svn-id: svn://10.0.0.236/trunk@35289 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:23:00 +00:00
rhp%netscape.com
b720dccaeb Fix for GMT offset bug
git-svn-id: svn://10.0.0.236/trunk@35288 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:10:34 +00:00
alecf%netscape.com
d3e57ed0c9 fix capital E
git-svn-id: svn://10.0.0.236/trunk@35287 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:04:40 +00:00
alecf%netscape.com
2285a919a0 update menus, add search menu, etc
git-svn-id: svn://10.0.0.236/trunk@35286 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 00:01:23 +00:00
jj%netscape.com
dd2c0b7fd4 changed completion log string from "Build NGLayout complete" to "Build complete" to match changes made in release scripts ("BuildNGLayout.pl" and "BuildNGLayoutDebug.pl") --jj.
git-svn-id: svn://10.0.0.236/trunk@35285 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:49:45 +00:00
hyatt%netscape.com
5b1e30c2d8 More nested row group work.
git-svn-id: svn://10.0.0.236/trunk@35284 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:45:14 +00:00
briano%netscape.com
83bd1d2db2 Automated update
git-svn-id: svn://10.0.0.236/trunk@35283 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:44:52 +00:00
hyatt%netscape.com
18e1eab082 More nested row group changes.
git-svn-id: svn://10.0.0.236/trunk@35282 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:42:16 +00:00
rpotts%netscape.com
75b59e64ac Changed printf(...) to puts(...) in OnDataAvailable(...) calls. This allows % characters to be present in the output stream without crashing the test app... Added call to AsyncRead(... )in Testprotocols.cpp to get http working again...
git-svn-id: svn://10.0.0.236/trunk@35281 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:42:12 +00:00
cbegle%netscape.com
f8e8a60864 Fix error in test. Arrays should be sorted by the string value of their
members, even if they're numbers.


git-svn-id: svn://10.0.0.236/trunk@35280 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:39:14 +00:00
radha%netscape.com
a48894abaf New arguments to OnEndDocumentLoad()
git-svn-id: svn://10.0.0.236/trunk@35279 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:37:37 +00:00
briano%netscape.com
96c9d37399 Fix for non-pthreadable Linux libc5/glibc1 builds (bug 7567). Thanks to tenthumbs@cybernex.net for the fix.
git-svn-id: svn://10.0.0.236/trunk@35278 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:37:06 +00:00
radha%netscape.com
57e6c8e9b2 New arguments to OnEndDocumentLoad() added
git-svn-id: svn://10.0.0.236/trunk@35277 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:36:24 +00:00
despotdaemon%netscape.com
3c20bcb00f Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@35276 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:30:42 +00:00
despotdaemon%netscape.com
14a2270e1c Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@35275 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:28:05 +00:00
buster%netscape.com
e9933eba30 fixed keydown event processing to return NS_OK when a key is not handled.
git-svn-id: svn://10.0.0.236/trunk@35274 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:25:48 +00:00
sfraser%netscape.com
fa083d6e2a Add JS logging files for kin.
git-svn-id: svn://10.0.0.236/trunk@35273 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:21:03 +00:00
blizzard%redhat.com
479be36988 merge erik's changes
git-svn-id: svn://10.0.0.236/trunk@35272 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:20:51 +00:00
sfraser%netscape.com
546d03c21a Include new config file
git-svn-id: svn://10.0.0.236/trunk@35271 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:20:36 +00:00
sfraser%netscape.com
3b8a6cc841 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35270 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:20:24 +00:00
vidur%netscape.com
9c6cbaff82 Implemented Set/GetValue for Select elements
git-svn-id: svn://10.0.0.236/trunk@35269 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:14:17 +00:00
sspitzer%netscape.com
1c9d68fcb2 ignore the generated Makefile
git-svn-id: svn://10.0.0.236/trunk@35268 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:05:23 +00:00
slamm%netscape.com
810c303a52 Use chrome URLs. Fix for bug #6369.
git-svn-id: svn://10.0.0.236/trunk@35267 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:01:15 +00:00
akkana%netscape.com
9d72b542eb Change NS_ASSERTION to NS_VERIFY -- not a fatal condition
git-svn-id: svn://10.0.0.236/trunk@35266 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 23:00:50 +00:00
slamm%netscape.com
d0e35f79c5 Add entry for Sidebar skin. Fix for bug #6369.
git-svn-id: svn://10.0.0.236/trunk@35265 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:59:42 +00:00
erik%netscape.com
c26865436d Added support for CP 1251 and KOI8-R fonts (Cyrillic).
git-svn-id: svn://10.0.0.236/trunk@35264 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:55:39 +00:00
mcmullen%netscape.com
eace9f2cd3 Fix casting problem
git-svn-id: svn://10.0.0.236/trunk@35263 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:55:24 +00:00
alecf%netscape.com
ff1427278d implement GetPrettyName() correctly - return the hostname if no prettyname is known
git-svn-id: svn://10.0.0.236/trunk@35262 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:53:09 +00:00
alecf%netscape.com
7e47cd0829 fix leak in case it fails (GetLocalPath might return nsnull)
git-svn-id: svn://10.0.0.236/trunk@35261 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:51:41 +00:00
alecf%netscape.com
13af06acae add searchdialog.js to the build
git-svn-id: svn://10.0.0.236/trunk@35260 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:49:05 +00:00
alecf%netscape.com
3c9ca436f3 implement more/less and add strawman for auto-updating combo boxes when search terms change
git-svn-id: svn://10.0.0.236/trunk@35259 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:47:42 +00:00
ducarroz%netscape.com
c74a5a88b4 add nsICopyMsgStreamListener.idl
git-svn-id: svn://10.0.0.236/trunk@35258 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:47:38 +00:00
mscott%netscape.com
f9b8092054 Fix for Bug #8117 --> aborting a connection was causing an error condition to get passed into the
nsDocumentLoader::OnStopBinding. But an abort is not an error condition. the document loader
was incorrectly complaining that we had an error when we really didn't.


git-svn-id: svn://10.0.0.236/trunk@35257 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:47:15 +00:00
alecf%netscape.com
ab2f4d08b2 localize this file
git-svn-id: svn://10.0.0.236/trunk@35256 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:46:28 +00:00
putterman%netscape.com
606d7774a4 use nsICopyMsgStreamListener.
git-svn-id: svn://10.0.0.236/trunk@35255 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:44:33 +00:00
putterman%netscape.com
8e3a860ed7 use nsICopyMsgStreamListener.idl
git-svn-id: svn://10.0.0.236/trunk@35254 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:44:03 +00:00
putterman%netscape.com
39a0ff2bde changed nsICopyMessageStreamListener.idl to nsICopyMsgStreamListener.idl
git-svn-id: svn://10.0.0.236/trunk@35253 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:43:45 +00:00
kin%netscape.com
ede67127dc Fixed "===" typo.
git-svn-id: svn://10.0.0.236/trunk@35252 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:42:35 +00:00
radha%netscape.com
e0e4bffb67 Added nsISessionHistory.h
git-svn-id: svn://10.0.0.236/trunk@35251 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:36:46 +00:00
edwin%woudt.nl
2ec00ce50f Oops, lameness. Also: switch the two comments on the previous commits of these two files.
git-svn-id: svn://10.0.0.236/trunk@35250 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:36:19 +00:00
av%netscape.com
2ce886b9fe Cleaning up
git-svn-id: svn://10.0.0.236/trunk@35249 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:35:46 +00:00
ssu%netscape.com
e068d78c95 updated makefile to define USE_NON_MT_LIBS (use libc.lib)
git-svn-id: svn://10.0.0.236/trunk@35248 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:35:21 +00:00
jband%netscape.com
c2465637b3 updating status page
git-svn-id: svn://10.0.0.236/trunk@35247 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:33:18 +00:00
rpotts%netscape.com
611aedf097 Temporary implementation of AsyncRead(...). Fixed some ref-counting bugs with the NS_WITH_SERVICE macro...
git-svn-id: svn://10.0.0.236/trunk@35246 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:32:54 +00:00
radha%netscape.com
257dd26c58 Increase the height of the location bar as per request from QA. BUG # 3805
git-svn-id: svn://10.0.0.236/trunk@35245 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:32:22 +00:00
slamm%netscape.com
119c6c4a82 Defaults are good enough for margin, padding, and border.
git-svn-id: svn://10.0.0.236/trunk@35244 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:31:52 +00:00
slamm%netscape.com
6bbdbf71b6 Use one generic sidebar.css that everyone shares.
git-svn-id: svn://10.0.0.236/trunk@35243 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:28:32 +00:00
slamm%netscape.com
48b0222d5d simplify sidebar styles. Inherit more from xul.css
git-svn-id: svn://10.0.0.236/trunk@35242 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:27:40 +00:00
sspitzer%netscape.com
df34a26f31 fix my debugging printfs. if we are on a PC, allow the dialogs to show up.
git-svn-id: svn://10.0.0.236/trunk@35241 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:27:34 +00:00
sspitzer%netscape.com
ec710c89b2 if we are on a PC, allow the dialogs to pop up.
git-svn-id: svn://10.0.0.236/trunk@35240 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:26:47 +00:00
putterman%netscape.com
cfcf136257 Added deleteStorage parameter.
git-svn-id: svn://10.0.0.236/trunk@35239 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:25:10 +00:00
putterman%netscape.com
d56278b0bd Add deleteStorage parameter.
git-svn-id: svn://10.0.0.236/trunk@35238 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:24:52 +00:00
putterman%netscape.com
897f278d3d Move messages to trash on delete.
git-svn-id: svn://10.0.0.236/trunk@35237 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:24:35 +00:00
putterman%netscape.com
d1f5db2195 DeleteStorage on delete message.
git-svn-id: svn://10.0.0.236/trunk@35236 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:24:16 +00:00
putterman%netscape.com
4a352f4269 Added GetRootFolder.
git-svn-id: svn://10.0.0.236/trunk@35235 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:22:51 +00:00
putterman%netscape.com
5e4ac05bb8 nsCopyMessageStreamListener can be created from the factory, and deleting a message
doesn't deleteStorage.


git-svn-id: svn://10.0.0.236/trunk@35231 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:22:19 +00:00
rhp%netscape.com
45b77f8744 Fix for Bug#: 5866 ... I think this is fixed...again
git-svn-id: svn://10.0.0.236/trunk@35230 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:21:01 +00:00
putterman%netscape.com
23594e80f4 created nsICopyMessageStreamListener interface and added deleteStorage and GetRootFolder
to nsIMsgFolder.


git-svn-id: svn://10.0.0.236/trunk@35229 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:20:19 +00:00
ssu%netscape.com
3b9be65438 added USE_NON_MT_LIBS definition
git-svn-id: svn://10.0.0.236/trunk@35228 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:19:41 +00:00
putterman%netscape.com
7b0e5aeeda nsCopymessageStreamListener can be created through the factory.
git-svn-id: svn://10.0.0.236/trunk@35226 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:19:22 +00:00
mcafee%netscape.com
91b047854d Fixing Solaris memory problem, patch supplied by bruce@cybersight.com. a=mcmullen (6098)
git-svn-id: svn://10.0.0.236/trunk@35225 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:18:29 +00:00
jband%netscape.com
d320ba1de8 adding BeOS x86 changes from Duncan Wilcox <duncan@be.com>
git-svn-id: svn://10.0.0.236/trunk@35224 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:17:41 +00:00
mcmullen%netscape.com
cb3ce29e0b Added nsSessionHistory.cpp for radha.
git-svn-id: svn://10.0.0.236/trunk@35223 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:16:18 +00:00
ducarroz%netscape.com
0619184fed do not export an auto-generated interface file (nsIDBFolderInfo.h)
git-svn-id: svn://10.0.0.236/trunk@35222 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:13:56 +00:00
radha%netscape.com
61370baba7 New arguments for OnEndDocumentLoad()
git-svn-id: svn://10.0.0.236/trunk@35221 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:13:00 +00:00
radha%netscape.com
3c239c8b1a OnEndDocumentLoad now has a handle to the observer
git-svn-id: svn://10.0.0.236/trunk@35220 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:12:19 +00:00
radha%netscape.com
6bc9c37235 New methods for session history
git-svn-id: svn://10.0.0.236/trunk@35219 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:11:47 +00:00
radha%netscape.com
7a44de9e4e OnEndDocumentLoad() now has a handle to the caller in the argument list. Need it
for session History


git-svn-id: svn://10.0.0.236/trunk@35218 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:11:22 +00:00
radha%netscape.com
2ed23c55c0 Few new methods to support session history
git-svn-id: svn://10.0.0.236/trunk@35217 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:10:41 +00:00
radha%netscape.com
31defc43b0 OnEndDocumentLoad() now has a pointer to the caller in the argument list
git-svn-id: svn://10.0.0.236/trunk@35216 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:09:55 +00:00
vidur%netscape.com
3035417772 Fix for bug 6154. Unqualified references in the context of a form are now resolved.
git-svn-id: svn://10.0.0.236/trunk@35215 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:09:25 +00:00
radha%netscape.com
9ec09955af Implement Session history interfaces
git-svn-id: svn://10.0.0.236/trunk@35214 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:09:13 +00:00
radha%netscape.com
54b85a6eeb Add session History to the factory list
git-svn-id: svn://10.0.0.236/trunk@35213 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:08:21 +00:00
saari%netscape.com
547a56c0e5 Fixed some bugs in key listeners
git-svn-id: svn://10.0.0.236/trunk@35212 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:06:50 +00:00
radha%netscape.com
48e3773fb4 Add Session History to the factory
git-svn-id: svn://10.0.0.236/trunk@35211 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:06:49 +00:00
saari%netscape.com
56f053a605 Adding nsXULKeyListener again...
git-svn-id: svn://10.0.0.236/trunk@35210 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:06:24 +00:00
mcmullen%netscape.com
2df6c9fa5c Registered nsIDirectoryIterator
git-svn-id: svn://10.0.0.236/trunk@35209 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:06:22 +00:00
radha%netscape.com
378b503e34 OnEndDocumentLoad() now has the caller as an argument
git-svn-id: svn://10.0.0.236/trunk@35208 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:06:13 +00:00
mcmullen%netscape.com
547167bb7c Made write and read do an implicit open. Added a FileContents attribute to allow simple conversion between an entire file and a string.
git-svn-id: svn://10.0.0.236/trunk@35207 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:05:41 +00:00
radha%netscape.com
6eaeee69dd Add session History to build list
git-svn-id: svn://10.0.0.236/trunk@35206 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:05:30 +00:00
karnaze%netscape.com
beb5583b23 fixed images referenced in regression tests
git-svn-id: svn://10.0.0.236/trunk@35205 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:05:29 +00:00
radha%netscape.com
1be1c85f5b Initial Checkin
git-svn-id: svn://10.0.0.236/trunk@35204 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:05:07 +00:00
saari%netscape.com
061e0a72af Adding nsXULKeyListener to the Win and GTK builds
git-svn-id: svn://10.0.0.236/trunk@35203 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:04:32 +00:00
mcmullen%netscape.com
7d58679f65 Added constructors from new nsIFileSpec
git-svn-id: svn://10.0.0.236/trunk@35202 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:04:27 +00:00
radha%netscape.com
d4925d7a68 Session History. Initial checkins
git-svn-id: svn://10.0.0.236/trunk@35201 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:04:15 +00:00
bienvenu%netscape.com
eb380feb54 remove nsIDBFolderInfo.h from exports
git-svn-id: svn://10.0.0.236/trunk@35200 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 22:02:20 +00:00
ducarroz%netscape.com
c5a84d91e8 add build instruction for mailnews:base:search:public:MANIFEST and for mailnews:db:macbuild:msgDBIDL.mcp
git-svn-id: svn://10.0.0.236/trunk@35199 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:53:34 +00:00
edwin%woudt.nl
a7e8033a85 Fix to get viewing readonly folders working
git-svn-id: svn://10.0.0.236/trunk@35198 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:52:28 +00:00
law%netscape.com
478e7c417a Wiring up More Info... button
git-svn-id: svn://10.0.0.236/trunk@35197 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:52:23 +00:00
frankm%eng.sun.com
293ea440fe Add "fast" make target, to compile only changed files.
git-svn-id: svn://10.0.0.236/trunk@35196 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:51:52 +00:00
bienvenu%netscape.com
1de3516033 convert to idl for nsIDBFolderInfo
git-svn-id: svn://10.0.0.236/trunk@35194 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:46:37 +00:00
edwin%woudt.nl
b68b57c213 remove the message header because it is already displayed in the body itself
git-svn-id: svn://10.0.0.236/trunk@35193 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:44:55 +00:00
ducarroz%netscape.com
a14c604b99 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35192 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:41:14 +00:00
cata%netscape.com
39549a02b1 Bugfix.
git-svn-id: svn://10.0.0.236/trunk@35191 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:38:50 +00:00
edwin%woudt.nl
8b557774b7 performance improvement
git-svn-id: svn://10.0.0.236/trunk@35190 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:36:00 +00:00
edwin%woudt.nl
7151575972 .newsrc filename issues
git-svn-id: svn://10.0.0.236/trunk@35189 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:35:17 +00:00
sspitzer%netscape.com
6d53c488b5 clean up the cancel code. clean up the html error message that show up in the
message pane if you are viewing a cancelled message.  move alerts from the
nntp service and into the nntp protocol code.  print out any alerts, since bug #7770 isn't fixed.  check "us" vs. "them" before cancelling if the server
doesn't support the CANCELCHK extension.


git-svn-id: svn://10.0.0.236/trunk@35188 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:30:07 +00:00
erik%netscape.com
10005f91eb Removed the ifdef by making the BeOS-specific stuff common to both Unix
and BeOS.


git-svn-id: svn://10.0.0.236/trunk@35187 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:25:04 +00:00
jband%netscape.com
dc57448f3a fix DOM native -> JSObject convert to not leak on failure and to fail fully rather than spuriously fall back and create an xpconnect wrapper
git-svn-id: svn://10.0.0.236/trunk@35186 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:23:46 +00:00
sspitzer%netscape.com
266bdeb26b add NPL.
git-svn-id: svn://10.0.0.236/trunk@35185 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:23:01 +00:00
sspitzer%netscape.com
7d683638d7 make the alert messages show up in the console window. this is just
a hack until 7770 gets fixed.  note:  it only works for single byte languages.


git-svn-id: svn://10.0.0.236/trunk@35184 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:22:13 +00:00
jdunn%netscape.com
45f901db00 fixing macro syntax. HP flagged the construct as an error.
git-svn-id: svn://10.0.0.236/trunk@35183 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:16:05 +00:00
karnaze%netscape.com
99038ad54d regression test images
git-svn-id: svn://10.0.0.236/trunk@35182 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:15:46 +00:00
waterson%netscape.com
fec604c3ef Fix leak of tree element.
git-svn-id: svn://10.0.0.236/trunk@35181 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:15:29 +00:00
tague%netscape.com
caec41a883 Update patch for BeOS.
git-svn-id: svn://10.0.0.236/trunk@35180 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:09:35 +00:00
cbegle%netscape.com
2d17ff5ace Fix test case -- remove commas from the expected result.
git-svn-id: svn://10.0.0.236/trunk@35179 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:06:54 +00:00
mscott%netscape.com
b8d8e91a46 Fix a memory leak.
git-svn-id: svn://10.0.0.236/trunk@35178 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:05:37 +00:00
bienvenu%netscape.com
b8353f02b7 convert to idl for nsIDBFolderInfo
git-svn-id: svn://10.0.0.236/trunk@35177 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 21:03:45 +00:00
briano%netscape.com
feed155138 Automated update
git-svn-id: svn://10.0.0.236/trunk@35176 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:59:52 +00:00
dbragg%netscape.com
133c9a6fb2 Added resources to DIRS macro
git-svn-id: svn://10.0.0.236/trunk@35175 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:58:57 +00:00
dbragg%netscape.com
e6362da180 Changed name to work on Mac
git-svn-id: svn://10.0.0.236/trunk@35174 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:58:18 +00:00
tague%netscape.com
ff9f954cba Fix problem for people building in obj-dir's outside of the tree.
git-svn-id: svn://10.0.0.236/trunk@35173 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:58:14 +00:00
dbragg%netscape.com
be3aed93b1 Changed an include from nsPrefMigrationProgressDialog.h to nsPMProgressDlg.h
git-svn-id: svn://10.0.0.236/trunk@35172 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:57:04 +00:00
mcmullen%netscape.com
e9e6473499 Removed base targets (this change got lost in another checkin, owing to a merge conflict).
git-svn-id: svn://10.0.0.236/trunk@35171 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:55:37 +00:00
mcmullen%netscape.com
ded043986c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35170 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:53:23 +00:00
briano%netscape.com
ebfd198db2 Fix/hack for Linux variants that don't define _dl_loaded.
git-svn-id: svn://10.0.0.236/trunk@35169 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:52:39 +00:00
jband%netscape.com
e16e9c75be adding strlen replacement that brendan suggested to allow for passing (oneway) JSStrings with embedded NULLs. Also added comment to Makefile.in for Unixish x86
git-svn-id: svn://10.0.0.236/trunk@35168 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:35:26 +00:00
hangas%netscape.com
186eacb62f Added mimEmitter project which is a combination of html, xml, and raw emitter projects. These last three have been removed from the build.
git-svn-id: svn://10.0.0.236/trunk@35167 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:28:42 +00:00
dbragg%netscape.com
4082dcf7d6 Progress Dialog source files name shortening for Mac platform.
git-svn-id: svn://10.0.0.236/trunk@35166 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:27:11 +00:00
hangas%netscape.com
e13c6913c1 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35165 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:25:33 +00:00
dbragg%netscape.com
84161663ef Progress meter xul and css files initial checkin
git-svn-id: svn://10.0.0.236/trunk@35164 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:25:12 +00:00
dougt%netscape.com
5fa77fef77 Adding IsQueueOnCurrentThread().
git-svn-id: svn://10.0.0.236/trunk@35163 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:20:33 +00:00
dougt%netscape.com
9a352b81fd Be OS patch from Duncan Wilcox <duncan@be.com> Thank you.
git-svn-id: svn://10.0.0.236/trunk@35162 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:18:35 +00:00
mscott%netscape.com
d4db300cba Part of emitter re-org. Don't build xml, raw and html directories. Build emitters\build directory.
git-svn-id: svn://10.0.0.236/trunk@35161 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:17:44 +00:00
mscott%netscape.com
aba6216161 Part of emitter re-org. don't build xml, raw & emitter directories. Add build directory.
git-svn-id: svn://10.0.0.236/trunk@35160 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:17:02 +00:00
mscott%netscape.com
a300a2fa69 Part of emitter re-org. Build new emitter files.
git-svn-id: svn://10.0.0.236/trunk@35159 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:16:34 +00:00
mscott%netscape.com
c065ac8c9c Part of emitter re-org landing. Use prog IDs instead of class IDs.
git-svn-id: svn://10.0.0.236/trunk@35158 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:16:04 +00:00
mscott%netscape.com
1d15736fc8 Part of emitter re-org landing. Remove class ids from public interface.
git-svn-id: svn://10.0.0.236/trunk@35157 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:15:14 +00:00
mscott%netscape.com
d044bd2640 Part of emitter re-org landing. Don't build html, xml and raw directories anymore. build new build directory.
git-svn-id: svn://10.0.0.236/trunk@35156 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:14:49 +00:00
mscott%netscape.com
ff70cb0460 Part of emitter re-org landing. Build new emitter files.
git-svn-id: svn://10.0.0.236/trunk@35155 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:14:20 +00:00
mscott%netscape.com
5c4a619463 Part of emitter re-org landing. Move header display types here. I'm using this header file as a common include file.
git-svn-id: svn://10.0.0.236/trunk@35154 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:14:07 +00:00
mcafee%netscape.com
c15b5f2c86 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@35153 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:11:24 +00:00
mcafee%netscape.com
16cfc2fcf3 Spelling error
git-svn-id: svn://10.0.0.236/trunk@35152 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:08:13 +00:00
tague%netscape.com
137476cbfb Portability fix for BeOS. Thanks to duncan@be.com.
git-svn-id: svn://10.0.0.236/trunk@35151 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:06:57 +00:00
tague%netscape.com
e03cefd7c7 Fixed bug #8097 and added a portability patch for BeOS. Thanks to duncan@be.os and david.gardiner@unisa.edu.au for their patches.
git-svn-id: svn://10.0.0.236/trunk@35150 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:06:24 +00:00
kin%netscape.com
38bb3e3ed2 * Added StartLogging() and StopLogging() methods to nsIEditor,
nsIHTMLEditor, nsITextEditor, and nsIEditorShell and enabled
  the "Start Log" and "End Log" menu items in the editor test bed.

* Modified makefiles for Unix and Win32 to turn on  Editor API Logging.

* Added action argument to the DeleteSelection() method in nsIEditorShell.

* Modified nsJSTxnLog to use nsJSEditorLog when writing it's output.


git-svn-id: svn://10.0.0.236/trunk@35149 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 20:02:46 +00:00
matt%netscape.com
5704751b88 Updated css files from german. Addes fixes for titledbuttons
git-svn-id: svn://10.0.0.236/trunk@35148 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 19:14:37 +00:00
beard%netscape.com
7876dc239b support more "java_" prefixed attributes.
git-svn-id: svn://10.0.0.236/trunk@35147 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 18:41:33 +00:00
beard%netscape.com
47d69e47b5 added "application/x-java-applet;version=1.1" for Java plugin compatibility, when will it end?
git-svn-id: svn://10.0.0.236/trunk@35146 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 18:41:18 +00:00
larryh%netscape.com
62a6ee8570 BugZilla #8018
git-svn-id: svn://10.0.0.236/trunk@35143 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 18:07:59 +00:00
terry%mozilla.org
71b813e43c A null quip file was causing errors.
git-svn-id: svn://10.0.0.236/trunk@35142 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 17:37:02 +00:00
terry%mozilla.org
544d8d9cef Added the ability to configure bugzilla so that we only allow local
usernames for email addresses.


git-svn-id: svn://10.0.0.236/trunk@35141 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 17:33:52 +00:00
beard%netscape.com
fcc1f4f5cb support "java_CODE" and "CLASSID" attributes.
git-svn-id: svn://10.0.0.236/trunk@35140 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 16:56:11 +00:00
beard%netscape.com
cf41488e53 added "application/x-java-applet;version=1.1.2" for Java plugin compatibility
git-svn-id: svn://10.0.0.236/trunk@35139 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 16:55:23 +00:00
beard%netscape.com
a0bf3fbecd now looks for MIME types that merely start with NS_APPLET_MIME_TYPE for better Sun Java plugin compatibility. changed MRJPlugin::CreateInstance() to use QueryInterface() rather than checking for interfaces itself.
git-svn-id: svn://10.0.0.236/trunk@35138 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 16:54:44 +00:00
beard%netscape.com
7d84137a79 simplified external access paths to point into dist
git-svn-id: svn://10.0.0.236/trunk@35137 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 16:51:34 +00:00
terry%mozilla.org
2960acc2b6 Added BeOS to the list of OS's.
git-svn-id: svn://10.0.0.236/trunk@35136 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 16:46:40 +00:00
rjc%netscape.com
887ac00407 Check for URLs that need to be massaged to be absolute URLs.
git-svn-id: svn://10.0.0.236/trunk@35135 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 09:54:19 +00:00
gagan%netscape.com
2f35eadb9b Added urltest.cpp. Hasn't been compiled as yet.
git-svn-id: svn://10.0.0.236/trunk@35134 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 08:45:27 +00:00
gagan%netscape.com
078256dba8 Added the urltest program as well.
git-svn-id: svn://10.0.0.236/trunk@35133 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 08:44:22 +00:00
mccabe%netscape.com
8e7082b3aa Removed misleading /* interface scooby */ comment in generated #include "scooby.h" line.
git-svn-id: svn://10.0.0.236/trunk@35132 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 08:28:23 +00:00
hyatt%netscape.com
e2c320e27d More nested row group work.
git-svn-id: svn://10.0.0.236/trunk@35131 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 08:22:47 +00:00
rjc%netscape.com
7a84203930 Unset column sorting attributes instead of setting them to false if they aren't active.
git-svn-id: svn://10.0.0.236/trunk@35130 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 08:20:35 +00:00
hyatt%netscape.com
7ea32ee2c4 More changes to allow tables to support nested row groups.
git-svn-id: svn://10.0.0.236/trunk@35129 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 08:01:00 +00:00
rjc%netscape.com
c28700cf2d More search support.
git-svn-id: svn://10.0.0.236/trunk@35128 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 07:14:38 +00:00
beard%netscape.com
ad7eb2da6d bug #7018: conditionally initializing LiveConnect classes only if Java is truly enabled.
git-svn-id: svn://10.0.0.236/trunk@35127 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 06:41:09 +00:00
bruce%cybersight.com
3bed02e2d0 Interface classes really do need to define |GetIID()|. 5 of these files are just being switched over to the macro. The others were all lacking |GetIID()| implementations.
git-svn-id: svn://10.0.0.236/trunk@35126 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 06:16:08 +00:00
rhp%netscape.com
887db136b0 New quoting interface
git-svn-id: svn://10.0.0.236/trunk@35125 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 05:23:06 +00:00
rhp%netscape.com
0e4268630c Adding new quoting interface
git-svn-id: svn://10.0.0.236/trunk@35121 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 05:22:07 +00:00
tague%netscape.com
b3fa226dff Fixed conditional problem when i turned on my keyobard patch.
git-svn-id: svn://10.0.0.236/trunk@35120 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 04:39:03 +00:00
mscott%netscape.com
5a7cb82de1 Fix copy messages which I broke when I cleaned up some of this code. *oops*
git-svn-id: svn://10.0.0.236/trunk@35119 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 04:30:31 +00:00
talisman%anamorphic.com
3aa1b2e565 Minor modifications in response to but #8067. This file was not part of the bug.
git-svn-id: svn://10.0.0.236/trunk@35118 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 03:57:55 +00:00
talisman%anamorphic.com
280ce3deb8 Fixed edwin's code in response to his bug report(#8067). Bug was caused by not setting the button sizes correctly (Dimension.setSize() is not for setting component sizes).
git-svn-id: svn://10.0.0.236/trunk@35117 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 03:57:04 +00:00
tague%netscape.com
32033e0a82 Removed empty export lists from files. This breaks older versions of nmake
git-svn-id: svn://10.0.0.236/trunk@35116 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 03:49:31 +00:00
karnaze%netscape.com
e0745dafd7 regression test
git-svn-id: svn://10.0.0.236/trunk@35115 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 03:46:21 +00:00
erik%netscape.com
d183933e3e Added GetIID.
git-svn-id: svn://10.0.0.236/trunk@35114 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:59:55 +00:00
waterson%netscape.com
e8f30d5f43 Add MISCDEP so that DLL gets rebuilt if a static lib changes.
git-svn-id: svn://10.0.0.236/trunk@35113 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:22:52 +00:00
bienvenu%netscape.com
16822a2715 prepare for msgdb idl
git-svn-id: svn://10.0.0.236/trunk@35112 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:20:41 +00:00
blizzard%redhat.com
b0b65db96c Make sure this interface has a GetIID() method. Approved by Shaver.
git-svn-id: svn://10.0.0.236/trunk@35111 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:11:02 +00:00
danm%netscape.com
98e80ada70 adding extensions/wallet/editor for morse
git-svn-id: svn://10.0.0.236/trunk@35110 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:09:29 +00:00
dp%netscape.com
9d7270fb87 - NS_RegistryGetFactory API changed
git-svn-id: svn://10.0.0.236/trunk@35109 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:08:49 +00:00
dp%netscape.com
aef0c9821c - NS_RegistryGetFactory API Change
- QuickRegister eliminated


git-svn-id: svn://10.0.0.236/trunk@35108 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:07:03 +00:00
danm%netscape.com
16ae30744d First Checked In.
git-svn-id: svn://10.0.0.236/trunk@35107 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 02:04:37 +00:00
blizzard%redhat.com
5826a92dd7 let mouse events flow...
git-svn-id: svn://10.0.0.236/trunk@35106 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 01:53:52 +00:00
blizzard%redhat.com
96b698384d always flush the X event queue before going back into select and always process X events as long as they are available.
git-svn-id: svn://10.0.0.236/trunk@35105 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 00:48:30 +00:00
blizzard%redhat.com
5d0bd2fa3d a slightly more sane nsDrawingSurface
git-svn-id: svn://10.0.0.236/trunk@35104 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-14 00:47:37 +00:00
talisman%anamorphic.com
92c010d4f7 Added handlers for mousePressed() and mouseReleased() so the border paints appropriately.
git-svn-id: svn://10.0.0.236/trunk@35103 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 23:57:19 +00:00
rhp%netscape.com
3f4d75b8c3 New files for StreamConverter interface - not part of the build yet
git-svn-id: svn://10.0.0.236/trunk@35102 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 22:15:14 +00:00
rickg%netscape.com
16b12398ad fixed build error; accidently left debug code exposed
git-svn-id: svn://10.0.0.236/trunk@35101 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 22:13:16 +00:00
rhp%netscape.com
6d5a0b4004 Cleanup of test harness
git-svn-id: svn://10.0.0.236/trunk@35100 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 22:08:55 +00:00
tague%netscape.com
824db2e9b4 Fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@35099 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 21:53:27 +00:00
rickg%netscape.com
0bae0c1a04 faster viewing of text, bugs: 7889, 7892, 8047, 3795
git-svn-id: svn://10.0.0.236/trunk@35098 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 21:24:25 +00:00
rickg%netscape.com
08109ed280 perf improvements, bug fix in insert(), better error reporting in ToInteger()
git-svn-id: svn://10.0.0.236/trunk@35097 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 21:23:04 +00:00
tague%netscape.com
58fc1493f9 Turned on bug fix for #6896: Windows editorinterprets the period key as a forward delete.
git-svn-id: svn://10.0.0.236/trunk@35096 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 21:13:12 +00:00
syd%netscape.com
c009860f8f Add SetModal() widget interface to nsIWidget, and provide an implementation
for Gtk+. Now, when we do modal dialogs, Gtk+ calls a routine that makes the
dialog modal within Gtk+; this is in addition to the code in nsWebShellWindow
that is being invoked to support modals on the other platforms. For Gtk+, the
nsWebShellWindow code doesn't appear to be enough; in order for the event
plumbing to stay alive, we need to call into Gtk+, and unless we actually make
the dialog modal using Gtk+ mechanisms, the user can still get to the menu bar, which is not good.


git-svn-id: svn://10.0.0.236/trunk@35095 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 20:56:08 +00:00
sspitzer%netscape.com
4ac61e25d3 clean up my original hack to display error messages in the message pane.
before I was using a .eml file, and so I need the error message to be an
rfc 822 message for things to work.  Now, the file is a .htm file, so I can
just write normal html to the file, and it will work.

all this will go away when we don't have to use files, and we can write
directly to the stream.


git-svn-id: svn://10.0.0.236/trunk@35094 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 20:37:56 +00:00
blizzard%redhat.com
55d85cf2d6 merge in Erik's changes to gtk fonts
git-svn-id: svn://10.0.0.236/trunk@35093 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 20:34:56 +00:00
rhp%netscape.com
690b6ec969 A new test harness for libmime's new nsIStreamConverter.h interface
git-svn-id: svn://10.0.0.236/trunk@35091 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 20:11:37 +00:00
morse%netscape.com
b1232288a8 fix minor bug
git-svn-id: svn://10.0.0.236/trunk@35090 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 19:53:51 +00:00
jband%netscape.com
ece5c35801 changing JS_AddRoot calls to JS_AddNamedRoot calls to satisfy request in bug 8070
git-svn-id: svn://10.0.0.236/trunk@35089 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 19:19:44 +00:00
morse%netscape.com
ade032357b minor editing changes
git-svn-id: svn://10.0.0.236/trunk@35088 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 19:10:48 +00:00
sspitzer%netscape.com
d80b856b2b initialize previously uninitialized memory
git-svn-id: svn://10.0.0.236/trunk@35087 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 19:04:19 +00:00
morse%netscape.com
8120857730 CANCEL from safe-form-fill dialog was not working
git-svn-id: svn://10.0.0.236/trunk@35086 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 18:42:39 +00:00
erik%netscape.com
85a9783e7a Started using Frank's 64K bit array code and the Unicode converters.
The euro now displays on Linux.


git-svn-id: svn://10.0.0.236/trunk@35085 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 18:33:37 +00:00
waterson%netscape.com
9929a02b24 Remove crufty code that wasn't doing anything. Fix refcounting on the database.
git-svn-id: svn://10.0.0.236/trunk@35084 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 18:31:06 +00:00
waterson%netscape.com
5e45b132b9 Remove crufty code that wasn't doing anything.
git-svn-id: svn://10.0.0.236/trunk@35083 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 18:30:47 +00:00
morse%netscape.com
e4497eb7a4 use new get-password and get-user dialog
git-svn-id: svn://10.0.0.236/trunk@35082 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 17:25:56 +00:00
morse%netscape.com
3142059e02 use new get-password dialog
git-svn-id: svn://10.0.0.236/trunk@35081 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 17:25:35 +00:00
morse%netscape.com
8f094cf52a add dialogs needed by wallet
git-svn-id: svn://10.0.0.236/trunk@35080 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 17:23:12 +00:00
sspitzer%netscape.com
5149a29f46 changes to get news cancel working. more to be done, but the basics of
news cancel works for now.


git-svn-id: svn://10.0.0.236/trunk@35079 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 17:14:05 +00:00
morse%netscape.com
3c5f4d4fc1 remove wallet-related stuff from appcores
git-svn-id: svn://10.0.0.236/trunk@35078 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 15:01:07 +00:00
morse%netscape.com
5f4e33d089 remove wallet previewer from appcores
git-svn-id: svn://10.0.0.236/trunk@35077 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 14:57:15 +00:00
morse%netscape.com
8c6ba6cf4e remove signon viewer from appcores
git-svn-id: svn://10.0.0.236/trunk@35076 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 14:51:08 +00:00
morse%netscape.com
e897b52b25 remove cookie viewer from appcores
git-svn-id: svn://10.0.0.236/trunk@35075 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 14:47:09 +00:00
edwin%woudt.nl
795e08719f forgot MPL
git-svn-id: svn://10.0.0.236/trunk@35074 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 12:43:32 +00:00
edwin%woudt.nl
d90680d892 Display quoted stuff correctly
git-svn-id: svn://10.0.0.236/trunk@35073 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 12:42:47 +00:00
edwin%woudt.nl
a7302a2c7b Upgrade to version 1.0 of the knife NNTP provider
git-svn-id: svn://10.0.0.236/trunk@35072 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 10:14:03 +00:00
jfrancis%netscape.com
486a69592f ssssh, it's a secret
git-svn-id: svn://10.0.0.236/trunk@35071 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 07:50:17 +00:00
av%netscape.com
3c05823443 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@35070 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 06:18:35 +00:00
av%netscape.com
13c3ea8078 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@35069 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 06:11:33 +00:00
av%netscape.com
3c69310de5 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@35068 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 06:06:12 +00:00
av%netscape.com
f32ee28abb *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@35067 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 06:00:56 +00:00
jj%netscape.com
593324ca66 [sfraser] Really remove nsDialog.cpp. Hacking the binary doesn't work.
git-svn-id: svn://10.0.0.236/trunk@35066 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 04:55:06 +00:00
mcafee%netscape.com
8fc7522955 Removing nsDialog.cpp
git-svn-id: svn://10.0.0.236/trunk@35065 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 04:24:21 +00:00
mcafee%netscape.com
8c3e6bc3e6 Removing obsolete nsIDialog interface.
git-svn-id: svn://10.0.0.236/trunk@35064 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 04:00:06 +00:00
mcafee%netscape.com
ad4a86e123 Removing nsIDialog interface.
git-svn-id: svn://10.0.0.236/trunk@35063 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 03:59:10 +00:00
mcafee%netscape.com
aa8f2be5b5 Removing nsDialog from the build.
git-svn-id: svn://10.0.0.236/trunk@35062 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 03:57:24 +00:00
mcafee%netscape.com
1250df240e Removing nsDialog from the build.
git-svn-id: svn://10.0.0.236/trunk@35061 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 03:41:31 +00:00
danm%netscape.com
fb18842156 moved GetPrimordialThread from nsAppShellService to nsThread, as suggested by warren
git-svn-id: svn://10.0.0.236/trunk@35060 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 03:30:38 +00:00
kin%netscape.com
d4f390e372 Added support for nsIFileSpec writing. We now write out the log to a file
called journal.js.NEW. Changed all calls to printf to Write() and WriteInt().


git-svn-id: svn://10.0.0.236/trunk@35059 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 03:09:00 +00:00
morse%netscape.com
99f911359a fix bug 8050
git-svn-id: svn://10.0.0.236/trunk@35058 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 02:05:14 +00:00
mcafee%netscape.com
7b8faf0fff Removing nsDialog from the build.
git-svn-id: svn://10.0.0.236/trunk@35057 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 01:01:26 +00:00
talisman%anamorphic.com
aab9750f21 Changed from using plain-jane JButtons to the new ToolBarButton class I wrote.
git-svn-id: svn://10.0.0.236/trunk@35056 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 00:45:40 +00:00
talisman%anamorphic.com
0518e43e5b Implements the standard Netscape toolbar button behaviour of painting a raised border when the mouse is passed over it.
git-svn-id: svn://10.0.0.236/trunk@35055 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 00:44:28 +00:00
mcafee%netscape.com
92c8d64f45 Removing nsDialog from the build.
git-svn-id: svn://10.0.0.236/trunk@35054 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 00:18:39 +00:00
mcafee%netscape.com
584ee3314f Removing nsDialog from the build, cleanup.
git-svn-id: svn://10.0.0.236/trunk@35053 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 00:17:00 +00:00
sspitzer%netscape.com
845376db4f fix for build bustage
git-svn-id: svn://10.0.0.236/trunk@35052 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 00:09:00 +00:00
mcafee%netscape.com
a6064ea48f Removing nsDialog.cpp from the build.
git-svn-id: svn://10.0.0.236/trunk@35051 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 00:08:55 +00:00
mcafee%netscape.com
4dbc274d59 Backing out pavlov's change to ressurect the menubar. pavlov, please test your changes before you check them in!
git-svn-id: svn://10.0.0.236/trunk@35050 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-13 00:06:38 +00:00
sspitzer%netscape.com
878bcdd7ad fix build breakage for steve clark
git-svn-id: svn://10.0.0.236/trunk@35049 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 23:14:37 +00:00
buster%netscape.com
e3eef553a7 fixed a syntax problem, just a typo
git-svn-id: svn://10.0.0.236/trunk@35048 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 23:13:54 +00:00
cmanske%netscape.com
4d52292017 More improvements to HLine dialog
git-svn-id: svn://10.0.0.236/trunk@35047 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:35:39 +00:00
buster%netscape.com
a64d14749a added style for disabled text controls
git-svn-id: svn://10.0.0.236/trunk@35046 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:33:45 +00:00
buster%netscape.com
5c2c4b30e5 added support for ender GFX-Rendered text control
git-svn-id: svn://10.0.0.236/trunk@35045 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:32:41 +00:00
buster%netscape.com
0143d6a3fa added support for getting and setting default background and font info
git-svn-id: svn://10.0.0.236/trunk@35043 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:31:57 +00:00
buster%netscape.com
a450d1bfba added support for style contexts getting background and font defaults from
the pres context.


git-svn-id: svn://10.0.0.236/trunk@35042 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:31:15 +00:00
buster%netscape.com
cf0489fb83 added support for Ender GFX-rendered text control
made nsTextControlFrame an abstract base class for nsGfxTextControlFrame and
nsNativeTextControlFrame


git-svn-id: svn://10.0.0.236/trunk@35041 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:29:54 +00:00
buster%netscape.com
b020694215 added support for Ender GFX-rendered text control
git-svn-id: svn://10.0.0.236/trunk@35040 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:28:11 +00:00
buster%netscape.com
33fb4efaef used by ender GFX-rendered text widget as the default document to edit
git-svn-id: svn://10.0.0.236/trunk@35039 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:26:22 +00:00
cmanske%netscape.com
762cc1d3ee Fixed bug in HLine code. Replaced itoa with PR_snprintf
git-svn-id: svn://10.0.0.236/trunk@35038 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 22:11:59 +00:00
mcafee%netscape.com
edad965b29 Removing NS_CreateDialog(), nsDialog is obsolete.
git-svn-id: svn://10.0.0.236/trunk@35037 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:40:10 +00:00
av%netscape.com
e21e1c0c2f *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@35036 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:32:49 +00:00
cmanske%netscape.com
11dac7bbef Horizontal Line dialog and setting/getting hline settings from prefs implemented. Masked effect of bug 8058 by removing popupanchor attribute.
git-svn-id: svn://10.0.0.236/trunk@35035 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:22:12 +00:00
waterson%netscape.com
d1e9762b93 Change GetElementRefResource() to use rdf_MakeAbsoluteURI() to resolve attribute names. This makes it work more like '<a href=...>', which seems right (and fixes some problems that will occur with sitemaps). Inline code in GetElementResource() that was previously shared between the two.
git-svn-id: svn://10.0.0.236/trunk@35034 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:21:47 +00:00
buster%netscape.com
91f2070891 changed the way nsEditProperty is used. Right now, it's our placeholder
for HTML and CSS atoms, since we can't get these from layout yet.  The old
use assumed one editor, but as we know many editors can exist simultaneously.
Now, the editors share a singleton which is fetched from a factory method,
saving memory and allocation overhead.


git-svn-id: svn://10.0.0.236/trunk@35033 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:15:14 +00:00
waterson%netscape.com
803a0f175d Add a rdf_MakeAboluteURI() that's overloaded to take an nsIURL.
git-svn-id: svn://10.0.0.236/trunk@35032 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:14:32 +00:00
buster%netscape.com
589baef929 minor cleanup, removal of old code
git-svn-id: svn://10.0.0.236/trunk@35031 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:13:15 +00:00
erik%netscape.com
ad810909f0 Support for non-Latin-1 menus. We now convert from Unicode to the locale's
encoding, and use a set of default fonts in the non-Latin-1 case only.


git-svn-id: svn://10.0.0.236/trunk@35030 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:09:16 +00:00
erik%netscape.com
192fe6b11a Was crashing when property already existed. Fixed now, by ignoring
subsequent attempts.


git-svn-id: svn://10.0.0.236/trunk@35029 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 21:07:22 +00:00
erik%netscape.com
bf056c0f5d LC_ALL -> LC_CTYPE (LC_ALL returns multiple values on some Unixes).
"" -> NULL (pass NULL to setlocale to query).
"locale." -> "locale.all." (someone forgot the "all." part of the key).


git-svn-id: svn://10.0.0.236/trunk@35028 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 20:56:45 +00:00
bruce%cybersight.com
02e0f80d71 This file depends directly upon nsFileSpec .. with an upcoming checkin, that include may not be happening in one of the files currently included here, so we best include it here directly.
git-svn-id: svn://10.0.0.236/trunk@35027 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 20:40:29 +00:00
waterson%netscape.com
54296b02ac Fix incorrect usage of dont_QueryInterface(). Fix bogus refcounting cruft in the nsIContent manipulators that must've been left over from when mChildren was an nsVoidArray.
git-svn-id: svn://10.0.0.236/trunk@35026 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 19:39:11 +00:00
waterson%netscape.com
5b2039fa07 Fix incorrect use of dont_QueryInterface() that was causing massive leakage.
git-svn-id: svn://10.0.0.236/trunk@35025 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 19:35:54 +00:00
waterson%netscape.com
1c99019f97 Fix incorrect use of dont_QueryInterface() with dont_AddRef(). Use nsCOMPtr in broadcast hookup code.
git-svn-id: svn://10.0.0.236/trunk@35024 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 19:33:37 +00:00
waterson%netscape.com
5258e10cb1 Fix incorrect use of dont_QueryInterface() with dont_AddRef().
git-svn-id: svn://10.0.0.236/trunk@35023 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 19:31:36 +00:00
sspitzer%netscape.com
c8e83135e1 ignore the generated Makefile
git-svn-id: svn://10.0.0.236/trunk@35022 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 19:23:17 +00:00
mcafee%netscape.com
0453db72f5 Removing NS_CreateDialog(), nsDialog is obsolete. a=rickg
git-svn-id: svn://10.0.0.236/trunk@35021 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 18:57:22 +00:00
sspitzer%netscape.com
23a4d59c0a set the default nntp server to "news.mozilla.org". I'll change it back to "news" before beta. (see bug #8053)
git-svn-id: svn://10.0.0.236/trunk@35020 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 18:38:53 +00:00
sspitzer%netscape.com
27bac3add4 initial work to make posting to any news host.
currently, you can only post to the server specified by the
"network.hosts.nntp_server" pref.  by default, the value of this pref "news".

more work needs to be done to complete this.

fix for #6655


git-svn-id: svn://10.0.0.236/trunk@35019 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 18:10:58 +00:00
sspitzer%netscape.com
f19ca56b72 fix for #7891. commit db after we mark a header read.
git-svn-id: svn://10.0.0.236/trunk@35018 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 18:07:21 +00:00
sspitzer%netscape.com
d1bf76337e rewrite to use nsString.
git-svn-id: svn://10.0.0.236/trunk@35017 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 17:51:55 +00:00
morse%netscape.com
14554c98cd fix regression -- bug 8052
git-svn-id: svn://10.0.0.236/trunk@35016 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 17:43:42 +00:00
bruce%cybersight.com
304d735c7e Add newline at end of file for commercial unix compilers.
git-svn-id: svn://10.0.0.236/trunk@35015 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 16:59:57 +00:00
waterson%netscape.com
67cbb9dcf8 Ensure that mBuf <-- 0 before assignment begins. Otherwise we run the rise of a failed assignment causing a duplicate free.
git-svn-id: svn://10.0.0.236/trunk@35014 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 16:39:11 +00:00
dp%netscape.com
b077529bb9 Removing unused prototype NS_RegistryGetFactory()
git-svn-id: svn://10.0.0.236/trunk@35013 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 15:55:54 +00:00
dp%netscape.com
5354fabe84 Removing obsolete files from xpcom.
git-svn-id: svn://10.0.0.236/trunk@35012 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 15:54:46 +00:00
dp%netscape.com
7c1bb8d6a8 Removing unused NS_RegistryGetFactory() prototype.
git-svn-id: svn://10.0.0.236/trunk@35011 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 15:36:22 +00:00
dp%netscape.com
70cb14677e Removing obsoleted files from xpcom/ post xpcom2.0 landing
git-svn-id: svn://10.0.0.236/trunk@35010 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 14:59:16 +00:00
despotdaemon%netscape.com
fc93994c84 Pseudo-automatic update of changes made by shaver@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@35009 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 14:49:42 +00:00
briano%netscape.com
61c2a72e45 Automated update
git-svn-id: svn://10.0.0.236/trunk@35008 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 12:59:51 +00:00
ramiro%netscape.com
ed30adc2d7 Conditionally ifdef out some dtd debugging code that chokes some
compilers because of badly broken streams code in prstrm.cpp.


git-svn-id: svn://10.0.0.236/trunk@35007 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 12:49:04 +00:00
ramiro%netscape.com
9b5ccff7e3 Add *.rpo - g++ -frepo template repository files.
git-svn-id: svn://10.0.0.236/trunk@35006 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 12:37:49 +00:00
mccabe%netscape.com
e5b993dd76 Resurrected this somehow. Beating it back down.
git-svn-id: svn://10.0.0.236/trunk@35005 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 09:44:11 +00:00
briano%netscape.com
d70a6d276b Automated update
git-svn-id: svn://10.0.0.236/trunk@35004 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 09:30:21 +00:00
mccabe%netscape.com
1c543f3a5e Remove vestiges of BUILD_XPIDL and USE_XPIDL from the build.
git-svn-id: svn://10.0.0.236/trunk@35003 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 09:29:46 +00:00
kin%netscape.com
3070792cff Added functions to run the journal.js file.
Replaced all ocurrences of "appCore" with "window.editorAppShell".


git-svn-id: svn://10.0.0.236/trunk@35002 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 09:18:14 +00:00
kin%netscape.com
8823a7e8df Added Start/Stop/Run Journal menu items to Debug menu.
git-svn-id: svn://10.0.0.236/trunk@35001 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 09:15:39 +00:00
kin%netscape.com
0e39838f57 Changed all occurrences of "appCore" to "window.editorShell" to sync up
with sfraser@netscape.com's changes to switch the editor over to XPIDL.


git-svn-id: svn://10.0.0.236/trunk@35000 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 09:14:19 +00:00
rpotts%netscape.com
3648ddb21c Added FillStream(...) which exposes nsIBuffer::WriteSegments()
git-svn-id: svn://10.0.0.236/trunk@34999 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 08:56:05 +00:00
rpotts%netscape.com
4b5583cc5b Changed doRead() to fill the stream using the IBuffer::WriteSegments api rather than Fill()... This removes an intermediate buffer copy and cleans up the code...
git-svn-id: svn://10.0.0.236/trunk@34998 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 08:54:56 +00:00
rpotts%netscape.com
a0d76bf639 Changed WriteSegments(...) to return NS_BASE_STREAM_FULL if a WriteSegment cannot be allocated. And to propagate WOULD_BLOCK if it is returned by the reader() function....
git-svn-id: svn://10.0.0.236/trunk@34997 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 08:52:59 +00:00
rpotts%netscape.com
13a476a717 Added a new stream return code - NS_BASE_STREAM_FULL. This is returned when a stream is full and must be read before more data can be added...
git-svn-id: svn://10.0.0.236/trunk@34996 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 08:50:24 +00:00
andreas.otte%primus-online.de
4be1360692 fix to get Makefile.in working again
git-svn-id: svn://10.0.0.236/trunk@34995 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 08:46:44 +00:00
dp%netscape.com
458f9dbaf6 adding back for doc purpose
git-svn-id: svn://10.0.0.236/trunk@34994 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 08:08:15 +00:00
warren%netscape.com
a7a7b53d04 Removed link dependency on netwerk.dll.
git-svn-id: svn://10.0.0.236/trunk@34993 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 08:07:05 +00:00
dp%netscape.com
5bf3f0bc32 Removing obsoleted files from xpcom/ post xpcom2.0 landing
git-svn-id: svn://10.0.0.236/trunk@34992 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 07:54:05 +00:00
dp%netscape.com
e95ac5d9c9 Removing obsoleted files from xpcom/ post xpcom2.0 landing
git-svn-id: svn://10.0.0.236/trunk@34991 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 07:42:48 +00:00
warren%netscape.com
a294d9658a Fixed build problem.
git-svn-id: svn://10.0.0.236/trunk@34990 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 07:17:02 +00:00
warren%netscape.com
1e293abb2c removed
git-svn-id: svn://10.0.0.236/trunk@34989 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 07:15:18 +00:00
warren%netscape.com
0ba20d9f37 Merged in file transport stuff (now file transport is obsolete).
git-svn-id: svn://10.0.0.236/trunk@34988 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 07:14:19 +00:00
warren%netscape.com
98c9c247be Added NS_NET to export global functions.
git-svn-id: svn://10.0.0.236/trunk@34987 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 07:14:12 +00:00
andreas.otte%primus-online.de
7a5e16657b fix to get Makefile.in working again
git-svn-id: svn://10.0.0.236/trunk@34986 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 06:53:45 +00:00
beard%netscape.com
09b1df7600 fixed "rescued items" problem
git-svn-id: svn://10.0.0.236/trunk@34985 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 06:27:00 +00:00
jband%netscape.com
7d3b16d3ab fix Mac breakage
git-svn-id: svn://10.0.0.236/trunk@34984 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 06:00:03 +00:00
sfraser%netscape.com
fc2f70d298 Export plain text XUL file
git-svn-id: svn://10.0.0.236/trunk@34983 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 05:18:02 +00:00
beard%netscape.com
b338b9c54d bug #6676: fixed inconsistent use of kControlEditTextPasswordTag vs. kControlEditTextTextTag in the GetText/SetText methods.
git-svn-id: svn://10.0.0.236/trunk@34982 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 04:55:08 +00:00
warren%netscape.com
b49c227b08 Changes to allow hack in necko makefiles so that header names don't collide.
git-svn-id: svn://10.0.0.236/trunk@34981 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 04:30:44 +00:00
jband%netscape.com
38a217c93a added forced linkage to another xptcall file and moved the prototypes to the dummies to xptcall.h
git-svn-id: svn://10.0.0.236/trunk@34980 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 04:30:13 +00:00
jband%netscape.com
8620f6315b another try for this code needed to make Irix work (with fixed dll export stuff this time)
git-svn-id: svn://10.0.0.236/trunk@34979 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 04:29:12 +00:00
hangas%netscape.com
cd5d9af34f Made buttons localizable
git-svn-id: svn://10.0.0.236/trunk@34978 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 03:34:02 +00:00
hangas%netscape.com
9ee198ea26 Glued in the address bucket in the address picker dialog
git-svn-id: svn://10.0.0.236/trunk@34977 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 03:32:56 +00:00
pavlov%pavlov.net
81c648b8eb since we now have nsWindow::ShowMenuBar(), we don't need to forcefully create
the menubar when it is created.


git-svn-id: svn://10.0.0.236/trunk@34976 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 03:15:47 +00:00
pavlov%pavlov.net
7f62283d43 simplify nsWidget::IsVisible and a few minor indentation changes
git-svn-id: svn://10.0.0.236/trunk@34975 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 03:13:16 +00:00
pavlov%pavlov.net
6629bfcb04 rename the menubar member
git-svn-id: svn://10.0.0.236/trunk@34974 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 03:02:57 +00:00
tao%netscape.com
9ac86c73cd 7821:make strres locale-sensitive. r=erik@netscape.com. Add api:
nsStringBundleService::CreateBundle(const char* aURLSpec, nsILocale* aLocale,
  nsIStringBundle** aResult)


git-svn-id: svn://10.0.0.236/trunk@34973 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 03:02:10 +00:00
warren%netscape.com
bb10182347 Added nsDNSService factory.
git-svn-id: svn://10.0.0.236/trunk@34972 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:59:02 +00:00
warren%netscape.com
1f4be17602 Replaced with idl files.
git-svn-id: svn://10.0.0.236/trunk@34971 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:53:57 +00:00
warren%netscape.com
8ecacf5ff9 Added dns to the build. Factored Cancel/Suspend/Resume into nsIRequest.
git-svn-id: svn://10.0.0.236/trunk@34970 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:53:21 +00:00
rjc%netscape.com
ba33e73da3 Get bookmarks.idl and bookmarks projects into the Mac build.
git-svn-id: svn://10.0.0.236/trunk@34969 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:32:12 +00:00
tague%netscape.com
0643946696 Conditionalized Fix for #6896. Modified the nsMacEventHandler.cpp to generate NS_KEY_PRESS events in addition to NS_KEY_DOWN.
git-svn-id: svn://10.0.0.236/trunk@34968 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:29:52 +00:00
rjc%netscape.com
f9e5e07768 Be sure to write out bookmarks.html to the same place we read it in from! Bookmarks were moved from mozilla/rdf/ to mozilla/xpfe/components/bookmarks and bookmarks.html is now stored inside of $DIST/res/samples instead of the old $DIST/res/rdf
git-svn-id: svn://10.0.0.236/trunk@34967 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:29:16 +00:00
tague%netscape.com
650b890778 More work on #6896. Removed a debuging printf and fixed keysym translation.
git-svn-id: svn://10.0.0.236/trunk@34966 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:25:27 +00:00
bienvenu%netscape.com
c06c83b299 more work on imap filters
git-svn-id: svn://10.0.0.236/trunk@34965 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:04:29 +00:00
bienvenu%netscape.com
e995e7bec0 move comment nearer code it refers to
git-svn-id: svn://10.0.0.236/trunk@34964 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 02:04:08 +00:00
sgehani%netscape.com
79d2b5abd5 Included strres lib required by LoadResources().
git-svn-id: svn://10.0.0.236/trunk@34963 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:55:35 +00:00
sgehani%netscape.com
8fc8b5803f 1> Added LoadResources().
2> Fixed UNIX Makefile.in although it's not being built by the regular build system yet.


git-svn-id: svn://10.0.0.236/trunk@34962 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:54:29 +00:00
warren%netscape.com
ea46aeb77e Rule to create netwerk/dist/include.
git-svn-id: svn://10.0.0.236/trunk@34961 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:47:13 +00:00
frankm%eng.sun.com
5496bbae3d Revamp NativeJavaObject.coerceType and associated methods to make code
more maintainable, and to pass lc3/JSObject/ToChar-001.js.


git-svn-id: svn://10.0.0.236/trunk@34960 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:41:20 +00:00
warren%netscape.com
1e6b7a34c2 Made Create constructor and used GenericFactory.
git-svn-id: svn://10.0.0.236/trunk@34959 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:41:16 +00:00
warren%netscape.com
32a9207366 More work on file: protocol.
git-svn-id: svn://10.0.0.236/trunk@34958 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:41:12 +00:00
warren%netscape.com
347f675454 Hack to make necko co-exist with seamonkey so headers don't collide.
git-svn-id: svn://10.0.0.236/trunk@34957 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:41:08 +00:00
ftang%netscape.com
005c5554ca add new support for GL
git-svn-id: svn://10.0.0.236/trunk@34956 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:38:30 +00:00
ftang%netscape.com
a16b45eba6 fix bug 5893
git-svn-id: svn://10.0.0.236/trunk@34955 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:37:46 +00:00
slamm%netscape.com
2bea8089b5 Remove unused sidebar files.
git-svn-id: svn://10.0.0.236/trunk@34954 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:32:47 +00:00
mcmullen%netscape.com
251d87362d Moved the idl flag down to match the build order (both occurrences).
git-svn-id: svn://10.0.0.236/trunk@34953 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:25:21 +00:00
ftang%netscape.com
fdc371a715 remove nsUnicharUtil for win, ifdef XP_MAC untill we verify
git-svn-id: svn://10.0.0.236/trunk@34952 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:21:50 +00:00
sspitzer%netscape.com
870349fc7b fix mac build bustage. saari made nsXULKeyListener.cpp part of the mac build,
but hasn't defined this CID yet.


git-svn-id: svn://10.0.0.236/trunk@34951 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:21:10 +00:00
bryce-mozilla%nextbus.com
ec7719fef6 Give administrators a clue that upgrading is possible, even straightforward.
git-svn-id: svn://10.0.0.236/trunk@34950 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:16:44 +00:00
mcmullen%netscape.com
8b8115d8ad This file differs from others only in the flag settings, and we cannot afford to maintain 2**n files with everybody's favorite settings (discussed in macdev meetings). Removing this.
git-svn-id: svn://10.0.0.236/trunk@34949 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:15:44 +00:00
mcmullen%netscape.com
46fbcf1bc9 Added a ruled announcement for Simon's new idl grouping.
git-svn-id: svn://10.0.0.236/trunk@34946 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:09:05 +00:00
mcmullen%netscape.com
68d2cf91ea Added simon's new idl flag to the "most" list. Restored the clobber flags to make this safe for newbies.
git-svn-id: svn://10.0.0.236/trunk@34945 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:07:44 +00:00
mscott%netscape.com
2a978ae6bd Initialize mFilePath to nsnull. I was crashing in the dtor of the url because it was pointing to unitialized memory
whenever I tried to get msgs from a newsgroup on win32.


git-svn-id: svn://10.0.0.236/trunk@34944 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:06:22 +00:00
mcmullen%netscape.com
1e8a5e3015 This file differs from others only in the flag settings, and we cannot afford to maintain 2**n files with everybody's favorite settings (discussed in macdev meetings). Removing this.
git-svn-id: svn://10.0.0.236/trunk@34943 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:03:30 +00:00
racham%netscape.com
ae5d2ae35e Adding Profile Manager calls
git-svn-id: svn://10.0.0.236/trunk@34942 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 01:03:01 +00:00
racham%netscape.com
a85af68895 Can't free the input param. fixed it
git-svn-id: svn://10.0.0.236/trunk@34941 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:56:31 +00:00
racham%netscape.com
7d6e1fb81f Modified renaming page
git-svn-id: svn://10.0.0.236/trunk@34940 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:53:48 +00:00
racham%netscape.com
644ab58052 Cleared some dump statements
git-svn-id: svn://10.0.0.236/trunk@34939 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:52:55 +00:00
mscott%netscape.com
394a4b9160 Fix memory leak of file name.
git-svn-id: svn://10.0.0.236/trunk@34938 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:52:06 +00:00
racham%netscape.com
0d20ff493d Profile Manager UI with new functions
git-svn-id: svn://10.0.0.236/trunk@34937 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:52:03 +00:00
racham%netscape.com
ea17ec1289 New interfaces to profiles
git-svn-id: svn://10.0.0.236/trunk@34936 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:50:17 +00:00
racham%netscape.com
a110a85aaa New Interfaces for profiles
git-svn-id: svn://10.0.0.236/trunk@34935 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:48:12 +00:00
sspitzer%netscape.com
104e0c915d we only nsIMsgSendLater.h once
git-svn-id: svn://10.0.0.236/trunk@34934 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:47:09 +00:00
racham%netscape.com
f0b60a4301 Add pref-migrator module to the build windows only for now
git-svn-id: svn://10.0.0.236/trunk@34933 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:47:00 +00:00
cyeh%netscape.com
e9c8e018e2 fixing fullcircle enabling through MOZ_PROFILE (turned off pdb file generation)
git-svn-id: svn://10.0.0.236/trunk@34932 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:43:11 +00:00
racham%netscape.com
f140537ba6 Method to forget the existing profile dir
git-svn-id: svn://10.0.0.236/trunk@34931 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:42:38 +00:00
racham%netscape.com
a672c8316c Modified to fit the new flow
git-svn-id: svn://10.0.0.236/trunk@34930 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:38:31 +00:00
vidur%netscape.com
1746b524c7 Fix for bug 6785. Incorrect reinitializing of mData.
git-svn-id: svn://10.0.0.236/trunk@34929 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:37:36 +00:00
racham%netscape.com
d6b293d17b Finish now appears on the 2nd page
git-svn-id: svn://10.0.0.236/trunk@34928 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:36:55 +00:00
racham%netscape.com
a6b72bcc45 Added a xul file and a css file with tree widget info
git-svn-id: svn://10.0.0.236/trunk@34927 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:34:45 +00:00
racham%netscape.com
823c780a87 modified error statement
git-svn-id: svn://10.0.0.236/trunk@34926 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:33:28 +00:00
racham%netscape.com
4111ecea19 Create Profile Wiz of profile manager
git-svn-id: svn://10.0.0.236/trunk@34925 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:32:12 +00:00
racham%netscape.com
a1e8558bb9 Modified to fit the new modal. Closed some dump statements
git-svn-id: svn://10.0.0.236/trunk@34924 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:30:44 +00:00
mscott%netscape.com
4ce152489f Fix memory leak of nsVoidArray.
git-svn-id: svn://10.0.0.236/trunk@34923 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:30:04 +00:00
racham%netscape.com
93f1506365 Added default profile name mozProfile
git-svn-id: svn://10.0.0.236/trunk@34922 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:28:43 +00:00
mscott%netscape.com
90360081fd Fix free memory write by freeing string after we call atol on it.
git-svn-id: svn://10.0.0.236/trunk@34921 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:27:09 +00:00
ducarroz%netscape.com
7feead6cde re-add nsIMsgSendLater.h as rhp has removed it from the idl project
git-svn-id: svn://10.0.0.236/trunk@34920 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:25:19 +00:00
racham%netscape.com
e572ff0c73 Added new interfaces
git-svn-id: svn://10.0.0.236/trunk@34919 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:21:23 +00:00
racham%netscape.com
86fefbf8d3 Added references to required modules (pref, prefm)
git-svn-id: svn://10.0.0.236/trunk@34918 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:20:24 +00:00
racham%netscape.com
5a6f8cbfab Adding more features to the ProfileManager Service. Cleaned up the comments.
git-svn-id: svn://10.0.0.236/trunk@34917 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:19:35 +00:00
davidm%netscape.com
b8f0991e89 5487 window title is blank for pages with no title tags ...
git-svn-id: svn://10.0.0.236/trunk@34916 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:18:07 +00:00
sspitzer%netscape.com
f6b302546a second half of mac build bustage fix for rhp.
git-svn-id: svn://10.0.0.236/trunk@34915 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:17:25 +00:00
sspitzer%netscape.com
2072e2e55d firsh have of fix for rhp build bustage.
git-svn-id: svn://10.0.0.236/trunk@34914 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:16:25 +00:00
neeti%netscape.com
e4e049e502 More of the Cookie Module Stuff
git-svn-id: svn://10.0.0.236/trunk@34913 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:01:52 +00:00
ftang%netscape.com
24458bb27e add additional charset name
git-svn-id: svn://10.0.0.236/trunk@34912 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-12 00:01:32 +00:00
vidur%netscape.com
e3e3cf2a9f Added confirm and prompt to window object.
git-svn-id: svn://10.0.0.236/trunk@34911 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:57:25 +00:00
slamm%netscape.com
d1abca605f Clear out the borders for the grippy. Requested by german@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@34910 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:49:39 +00:00
morse%netscape.com
7bb2fa955d fixed faulty logic re: pressing cancel in order not to use database passwords
git-svn-id: svn://10.0.0.236/trunk@34909 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:48:57 +00:00
sfraser%netscape.com
67d6e29690 Fix case of Exit().
git-svn-id: svn://10.0.0.236/trunk@34908 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:45:34 +00:00
rhp%netscape.com
180d65b855 new feature work
git-svn-id: svn://10.0.0.236/trunk@34907 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:44:44 +00:00
rhp%netscape.com
7a50fe57f5 New send later functionality
git-svn-id: svn://10.0.0.236/trunk@34906 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:42:45 +00:00
slamm%netscape.com
27fe865f17 bm-props.js splitting JavaScript into separate file.
git-svn-id: svn://10.0.0.236/trunk@34905 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:37:28 +00:00
karnaze%netscape.com
373eefa5ee new regression test
git-svn-id: svn://10.0.0.236/trunk@34904 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:36:58 +00:00
leaf%mozilla.org
264904f68e mozbot should report test failures in the brief report
git-svn-id: svn://10.0.0.236/trunk@34903 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:36:46 +00:00
slamm%netscape.com
878cad6586 Fix for bug #6371, Adding entity tags for strings. Also, splitting javascript into separate file.
git-svn-id: svn://10.0.0.236/trunk@34902 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:35:56 +00:00
morse%netscape.com
5d767f7ccd fixed uninitialized variable
git-svn-id: svn://10.0.0.236/trunk@34901 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:34:02 +00:00
mcafee%netscape.com
c5a8dad98f Purging nsDialog from the code, robot & test site menu items were the last straggler users, rickg says purge & fix these two usages later.
git-svn-id: svn://10.0.0.236/trunk@34900 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:26:59 +00:00
matt%netscape.com
a50a425d9b Adding the navigator.css and xul.css files for xul changes
git-svn-id: svn://10.0.0.236/trunk@34899 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:23:22 +00:00
ducarroz%netscape.com
8390819f32 don't declare a variable into a for loop!
git-svn-id: svn://10.0.0.236/trunk@34898 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:15:34 +00:00
nisheeth%netscape.com
742180e73b Fix for bug 7401. Made error message more descriptive.
git-svn-id: svn://10.0.0.236/trunk@34897 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:13:03 +00:00
nisheeth%netscape.com
154020439c Fix for bug 7401. Output an error when a URL load fails.
git-svn-id: svn://10.0.0.236/trunk@34896 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:10:59 +00:00
ducarroz%netscape.com
95110c8caa export all idl files from base/public
git-svn-id: svn://10.0.0.236/trunk@34895 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:08:53 +00:00
ducarroz%netscape.com
749a0eca23 add nsMailnewsTypes2.idl
git-svn-id: svn://10.0.0.236/trunk@34894 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:08:52 +00:00
leaf%mozilla.org
64ddb83767 Mozbot should be able to see the difference between red and orange builds.
git-svn-id: svn://10.0.0.236/trunk@34893 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:08:47 +00:00
nisheeth%netscape.com
17b8c6a58e Fix for bug 7401. Output an error message to the console when a URL load fails.
git-svn-id: svn://10.0.0.236/trunk@34892 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:07:09 +00:00
rogerl%netscape.com
e7d38e04ed Mucking about with stuff.
git-svn-id: svn://10.0.0.236/trunk@34891 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 23:05:16 +00:00
sspitzer%netscape.com
c94bac5a24 turn off alert code because of #7770.
git-svn-id: svn://10.0.0.236/trunk@34890 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:58:46 +00:00
av%netscape.com
15d3b09d55 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@34889 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:48:50 +00:00
sfraser%netscape.com
aa9de216b9 File Removed.
git-svn-id: svn://10.0.0.236/trunk@34888 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:45:32 +00:00
sfraser%netscape.com
29857082ee Rename nsISpellCheck to nsIEditorSpellCheck
git-svn-id: svn://10.0.0.236/trunk@34887 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:43:19 +00:00
ducarroz%netscape.com
986c8c9ed0 add nsIMsgFolder.idl, fix build bustage on Mac
git-svn-id: svn://10.0.0.236/trunk@34886 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:42:41 +00:00
sfraser%netscape.com
c7ac1263c0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34885 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:40:44 +00:00
sspitzer%netscape.com
45988c086f fix for #7795. get news posting to work again.
git-svn-id: svn://10.0.0.236/trunk@34884 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:39:17 +00:00
vidur%netscape.com
4823ea99ad JS_GetPrivate calls now go through a nsJSUtils wrapper that checks up the prototype chain. This is useful for applets where the JSClass instance is set as the proto of the LiveConnect-generated object.
git-svn-id: svn://10.0.0.236/trunk@34883 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:38:35 +00:00
mscott%netscape.com
e96b64ef1f first created. export new header files.
git-svn-id: svn://10.0.0.236/trunk@34882 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:37:51 +00:00
hangas%netscape.com
a14cf049ee Big additions to the selectaddress.xul functionality.
git-svn-id: svn://10.0.0.236/trunk@34881 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:34:17 +00:00
ducarroz%netscape.com
9d28d69f9a update manifest
git-svn-id: svn://10.0.0.236/trunk@34880 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:19:33 +00:00
putterman%netscape.com
d4ded7fcb4 added files: mozilla/mailnews/base/src/nsMsgNotificationManager.cpp
git-svn-id: svn://10.0.0.236/trunk@34879 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:17:13 +00:00
putterman%netscape.com
09fbfa9c3e Add new idl manifest for mailnews/public
git-svn-id: svn://10.0.0.236/trunk@34878 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:15:46 +00:00
putterman%netscape.com
6b1fcf8009 Add a new parameter for CheckNewMail
git-svn-id: svn://10.0.0.236/trunk@34877 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:14:35 +00:00
putterman%netscape.com
9d7c000d4e More work on Biff. Use standard BiffTypes enum.
git-svn-id: svn://10.0.0.236/trunk@34876 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:14:08 +00:00
putterman%netscape.com
14688fcbfe Add methods for Biff.
git-svn-id: svn://10.0.0.236/trunk@34875 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:13:18 +00:00
putterman%netscape.com
5e142c23f9 Add MailNewsTypes2.idl
git-svn-id: svn://10.0.0.236/trunk@34874 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:12:51 +00:00
putterman%netscape.com
5a48a3a6d0 Add gif for Biff.
git-svn-id: svn://10.0.0.236/trunk@34873 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:12:03 +00:00
putterman%netscape.com
7e4b358a9e Work on UnsentMessages.
git-svn-id: svn://10.0.0.236/trunk@34872 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:11:32 +00:00
putterman%netscape.com
407e992f48 More work on Biff.
git-svn-id: svn://10.0.0.236/trunk@34871 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:10:42 +00:00
ftang%netscape.com
22b8cf7615 fix Batlic , add ) for 1254, add several charset
git-svn-id: svn://10.0.0.236/trunk@34870 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:10:06 +00:00
putterman%netscape.com
25b556e8bf Add work for SentUnsentMessages.
git-svn-id: svn://10.0.0.236/trunk@34869 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:10:02 +00:00
putterman%netscape.com
ba23b98a81 Add more work on Biff.
git-svn-id: svn://10.0.0.236/trunk@34868 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:09:47 +00:00
putterman%netscape.com
8cd10323ee add nsMsgNotificationManager.
git-svn-id: svn://10.0.0.236/trunk@34867 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:08:09 +00:00
putterman%netscape.com
33ad8b3f41 removed MailNewsTypes.idl
git-svn-id: svn://10.0.0.236/trunk@34866 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:07:08 +00:00
putterman%netscape.com
6dda78bed8 Add Messenger Biff Notifications.
git-svn-id: svn://10.0.0.236/trunk@34865 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 22:06:20 +00:00
jband%netscape.com
faa5d08633 fix for bug 8017. We were allowing JS null and void to get converted into C++ NULL for pointer types even when the target was declared as a C++ reference. This was bad. Now we check for this and fail with a nice explanatory message in the JS exception.
git-svn-id: svn://10.0.0.236/trunk@34864 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:59:56 +00:00
dougt%netscape.com
2323fc89fd simplify, simplify, simplify. Changes submitted by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@34863 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:56:12 +00:00
saari%netscape.com
1da36d7c08 Adding nsXULKeyListener.cpp to RDF on Mac
git-svn-id: svn://10.0.0.236/trunk@34862 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:53:49 +00:00
vidur%netscape.com
1e71bfb687 Fixes for bug 927. JS timer code can deal with the window closing in a timer callback. NamedItem gets called for unknown integer property values as well. Added nsCOMPtr generation option to idlc. Fixed warnings in generated code.
git-svn-id: svn://10.0.0.236/trunk@34861 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:49:41 +00:00
ftang%netscape.com
c0d13f7322 remove nsUnicharUtil since it is a componment, the #ifdef will take out after we verify w/ mac and win
git-svn-id: svn://10.0.0.236/trunk@34860 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:44:15 +00:00
ftang%netscape.com
c998cb5738 include european characters in text transform test
git-svn-id: svn://10.0.0.236/trunk@34859 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:37:08 +00:00
mscott%netscape.com
0f68404ed3 Not part of the build yet. manifest file for new mime\emitter\build directory.
git-svn-id: svn://10.0.0.236/trunk@34858 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:30:16 +00:00
mscott%netscape.com
6fdf1db1ee Not part of the build yet. makefile for building the emitter library.
git-svn-id: svn://10.0.0.236/trunk@34857 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:28:24 +00:00
davidm%netscape.com
5f5d573afc Bug 1877 implimented some of the screen object functions
git-svn-id: svn://10.0.0.236/trunk@34856 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:19:24 +00:00
saari%netscape.com
a1afa0e362 exporting nsIXULKeyListener.h on Win and Linux builds
git-svn-id: svn://10.0.0.236/trunk@34855 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:08:38 +00:00
mscott%netscape.com
cfcf775019 (Not part of the build yet). This file used to be mailnews\mime\emitters\xml\nsMimeEmitter.h/.cpp if you need to look up a
log for the file.


git-svn-id: svn://10.0.0.236/trunk@34851 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:03:15 +00:00
mscott%netscape.com
1f1b934bb9 (Not part of the build yet). This file used to be mailnews\mime\raw\nsMimeEmitter.h/.cpp if you need to look up a
log for the file.


git-svn-id: svn://10.0.0.236/trunk@34850 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:02:27 +00:00
mscott%netscape.com
ff04a581e1 (Not part of the build yet). This file used to be mailnews\mime\html\nsMimeEmitter.h/.cpp if you need to look up a
log for the file.


git-svn-id: svn://10.0.0.236/trunk@34849 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:01:56 +00:00
mscott%netscape.com
323629b0bf not part of the build yet. A new factory which registers our mime emitters.
git-svn-id: svn://10.0.0.236/trunk@34848 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:00:49 +00:00
mscott%netscape.com
20f6884924 First checked in. NOT part of the build yet. These are the beginning of a new structure for the mime emitters
which basically compresses all of them into one library instead of 3 separate shared libraries.


git-svn-id: svn://10.0.0.236/trunk@34847 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 21:00:20 +00:00
saari%netscape.com
4a6d29e716 Adding more to nsXULKeyListener.cpp. About to be in the build system.
git-svn-id: svn://10.0.0.236/trunk@34846 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 20:36:14 +00:00
saari%netscape.com
1b01001342 Adding nsIXULKeyListener.h to Mac export
git-svn-id: svn://10.0.0.236/trunk@34845 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 20:35:26 +00:00
tague%netscape.com
6ba2eff004 More work on bug #6896
git-svn-id: svn://10.0.0.236/trunk@34844 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 20:32:09 +00:00
sfraser%netscape.com
356bdb0d29 Fix include nsIDOMEditorAppCore -> nsIEditorShell
git-svn-id: svn://10.0.0.236/trunk@34843 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 20:28:39 +00:00
blizzard%redhat.com
1982076de0 add workaround for lame values from layout engine. fix size of checkboxes.
git-svn-id: svn://10.0.0.236/trunk@34842 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 20:27:07 +00:00
blizzard%redhat.com
68a71d3ca6 remove nsDialog
git-svn-id: svn://10.0.0.236/trunk@34841 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 20:26:27 +00:00
mcafee%netscape.com
a78c50d6cc Fixing alltags rule. patch from Jim Nance.
git-svn-id: svn://10.0.0.236/trunk@34840 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 20:21:48 +00:00
sfraser%netscape.com
84fb39f532 More build fixes.
git-svn-id: svn://10.0.0.236/trunk@34839 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:57:05 +00:00
sfraser%netscape.com
25a37673a3 Fix the build.
git-svn-id: svn://10.0.0.236/trunk@34838 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:56:35 +00:00
Dale.Stansberry%Nexwarecorp.com
acbc3f414b - Put in buffer "zeroing" code
git-svn-id: svn://10.0.0.236/trunk@34837 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:56:14 +00:00
Dale.Stansberry%Nexwarecorp.com
3eea2bc60e - Added manual widget damage routines
git-svn-id: svn://10.0.0.236/trunk@34836 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:49:52 +00:00
sfraser%netscape.com
89d8dfb35e Remove obsolete includes
git-svn-id: svn://10.0.0.236/trunk@34835 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:49:05 +00:00
mcmullen%netscape.com
ead627bdd4 Has been idlized
git-svn-id: svn://10.0.0.236/trunk@34834 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:48:21 +00:00
rpotts%netscape.com
9b4c334efb removed whitespace after the backslash to fix the build :-)
git-svn-id: svn://10.0.0.236/trunk@34833 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:32:15 +00:00
sfraser%netscape.com
2233633bb2 Fix depth slash
git-svn-id: svn://10.0.0.236/trunk@34832 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:32:13 +00:00
kin%netscape.com
c80876db1d Added various PrintNode methods to support elements that are manually inserted via JavaScript.
git-svn-id: svn://10.0.0.236/trunk@34831 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:29:05 +00:00
sfraser%netscape.com
13507e9f98 Fix Makefile stupidity.
git-svn-id: svn://10.0.0.236/trunk@34830 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:28:17 +00:00
jband%netscape.com
15a24b995e fix for bug 7698. Have the prop state object call the right object when doing the JSENUMERATE_DESTROY and make sure that the object does not get gc'd first
git-svn-id: svn://10.0.0.236/trunk@34829 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:19:22 +00:00
pollmann%netscape.com
b1e77dc6a3 bug 2105: Textarea no longer inherits text color from parent.
git-svn-id: svn://10.0.0.236/trunk@34828 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:15:20 +00:00
pollmann%netscape.com
957e7f0de9 bug 3720: <LABEL> background draws properly now.
git-svn-id: svn://10.0.0.236/trunk@34827 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:10:56 +00:00
sfraser%netscape.com
bf060b62ab Remove EditorAppCore files
git-svn-id: svn://10.0.0.236/trunk@34826 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:10:51 +00:00
sfraser%netscape.com
533e62e5ab Removed EditorAppCore files
git-svn-id: svn://10.0.0.236/trunk@34825 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:08:51 +00:00
nisheeth%netscape.com
ae1de07242 Patch from Johny Stenback (jst@citec.fi). Thanks a lot.
git-svn-id: svn://10.0.0.236/trunk@34824 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:08:39 +00:00
sfraser%netscape.com
fa1a40c2e3 This should be a pascal string.
git-svn-id: svn://10.0.0.236/trunk@34823 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:05:17 +00:00
sfraser%netscape.com
1f4eadfe4d Fix case of GetEditorMonitor call
git-svn-id: svn://10.0.0.236/trunk@34822 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:04:20 +00:00
sfraser%netscape.com
2b1560421a Synch with editorAppCore -> editorShell changes
git-svn-id: svn://10.0.0.236/trunk@34821 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:04:04 +00:00
sfraser%netscape.com
87435a585d Remove return param from InsertElement
git-svn-id: svn://10.0.0.236/trunk@34820 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:03:37 +00:00
sfraser%netscape.com
6d56b78e87 GetLocalFileURL has moved to the editorShell
git-svn-id: svn://10.0.0.236/trunk@34819 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:03:05 +00:00
kin%netscape.com
bf89c14459 We now check the return result from the call to DeleteSelectionAndPrepareToCreateNode()
in InsertElement(). It was causing a bug that prevented the InsertLink dialog from closing.


git-svn-id: svn://10.0.0.236/trunk@34818 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:02:04 +00:00
sfraser%netscape.com
35179bbb64 Fix case of GetMonitor call.
git-svn-id: svn://10.0.0.236/trunk@34817 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:02:03 +00:00
sfraser%netscape.com
5fd75ab919 Add editor idl directory to build
git-svn-id: svn://10.0.0.236/trunk@34816 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:01:36 +00:00
sfraser%netscape.com
84c77414a8 Add factory for EditorShell, and fix case of GetMonitor call.
git-svn-id: svn://10.0.0.236/trunk@34815 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:01:07 +00:00
sfraser%netscape.com
e21d74eb6e Add EditorShell and its factory to build, and add idl dir to makefiles.
git-svn-id: svn://10.0.0.236/trunk@34814 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 19:00:22 +00:00
sfraser%netscape.com
511c24cd17 EditorAppCore is dead. Long live EditorAppCore!
git-svn-id: svn://10.0.0.236/trunk@34813 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:59:41 +00:00
sfraser%netscape.com
69918ef5ab editorAppCore is no more; use XPIDL'd editorShell instead.
git-svn-id: svn://10.0.0.236/trunk@34812 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:59:09 +00:00
sfraser%netscape.com
5c0fb77eeb Get editorShell from window.opener now that editorAppCore is no more.
git-svn-id: svn://10.0.0.236/trunk@34811 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:58:32 +00:00
sfraser%netscape.com
663c4a42c1 Add stubs for range and selection interfaces
git-svn-id: svn://10.0.0.236/trunk@34810 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:57:54 +00:00
sfraser%netscape.com
7c4a361bb0 Various minor changes to synch with others
git-svn-id: svn://10.0.0.236/trunk@34809 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:57:33 +00:00
sfraser%netscape.com
0d0d1f8ebb Fixing header output directory
git-svn-id: svn://10.0.0.236/trunk@34808 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:57:03 +00:00
sfraser%netscape.com
acc02f0d74 Add editor IDL project to build
git-svn-id: svn://10.0.0.236/trunk@34807 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:56:47 +00:00
valeski%netscape.com
71cf485ae8 some const build problems are now fixed
git-svn-id: svn://10.0.0.236/trunk@34806 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:48:10 +00:00
matt%netscape.com
27123daf77 fixing bug 7907
git-svn-id: svn://10.0.0.236/trunk@34804 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 18:22:51 +00:00
terry%mozilla.org
de649aac98 Display components in alphabetical order.
git-svn-id: svn://10.0.0.236/trunk@34803 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 17:39:38 +00:00
terry%mozilla.org
44e7ebf5dd Some apache servers seem not to deliever the REMOTE_HOST environment var.
git-svn-id: svn://10.0.0.236/trunk@34802 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 17:39:19 +00:00
terry%mozilla.org
3e0f62ac95 Was choking if not using qacontact field.
git-svn-id: svn://10.0.0.236/trunk@34801 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 17:37:43 +00:00
terry%mozilla.org
c73c766cb1 Update some things for more modern mysql's.
git-svn-id: svn://10.0.0.236/trunk@34800 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 17:37:11 +00:00
bryce-mozilla%nextbus.com
5757dcaf2f Make nospam comparison case insensitive, since BugZilla keeps the
case of the login, which might differ from the case in the database.


git-svn-id: svn://10.0.0.236/trunk@34799 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 16:07:32 +00:00
andreas.otte%primus-online.de
891f537f8e conversion to wstring / PRUnichar
some cosmetics to various Makefiles


git-svn-id: svn://10.0.0.236/trunk@34798 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 15:50:14 +00:00
dcone%netscape.com
c035592fb5 background Image speed up
Commented out the box around the printout until Troy returns


git-svn-id: svn://10.0.0.236/trunk@34797 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 14:43:14 +00:00
rhp%netscape.com
62bfd35b35 New test program for back end functionality
git-svn-id: svn://10.0.0.236/trunk@34796 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 14:21:23 +00:00
briano%netscape.com
b3ecf00132 Automated update
git-svn-id: svn://10.0.0.236/trunk@34795 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 12:59:52 +00:00
ramiro%netscape.com
810a48e65e Add --disable-pic-dso-cflags.
git-svn-id: svn://10.0.0.236/trunk@34794 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 12:49:54 +00:00
ftang%netscape.com
d81eea5f61 add factory for ISO-IR -111 userdefined charset ad cns11643 p3-7
git-svn-id: svn://10.0.0.236/trunk@34793 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 12:39:57 +00:00
ramiro%netscape.com
2cb4248bd9 Remove duplicate timer interfaces. Left over from the xpcom 2.0 landing.
git-svn-id: svn://10.0.0.236/trunk@34792 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 11:59:44 +00:00
andreas.otte%primus-online.de
cb059620b1 first checked in
git-svn-id: svn://10.0.0.236/trunk@34791 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 11:02:57 +00:00
briano%netscape.com
31f03e8a7a Automated update
git-svn-id: svn://10.0.0.236/trunk@34790 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 10:59:52 +00:00
ramiro%netscape.com
f8d28d310e Factor out the PIC flags into their own autoconf variable.
git-svn-id: svn://10.0.0.236/trunk@34789 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 10:55:36 +00:00
rpotts%netscape.com
6229edb430 Fixed up the event-sink-getter to correctly addref and QI the InputTestConsumer...
git-svn-id: svn://10.0.0.236/trunk@34788 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 09:18:25 +00:00
rpotts%netscape.com
f8eaf156e2 Fixed a memory corruption where a buffer was allocated with new[] but freed with PL_strfree()...
git-svn-id: svn://10.0.0.236/trunk@34787 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 09:17:11 +00:00
rpotts%netscape.com
822b809174 changed some printf around...
git-svn-id: svn://10.0.0.236/trunk@34786 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:36:40 +00:00
rpotts%netscape.com
af2b091f9a Changes to get transport streams working with the new BufferInputStream implementations...
git-svn-id: svn://10.0.0.236/trunk@34785 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:35:26 +00:00
rjc%netscape.com
ee5df66612 Fix importing of "IE favorites" on Windows which was broken by mcmullen when he checked in a supposed fix for something that wasn't broken.
git-svn-id: svn://10.0.0.236/trunk@34784 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:34:50 +00:00
rpotts%netscape.com
7e5fed03fa Fixed deadlock if another thread holds the transport lock when Process is called...
git-svn-id: svn://10.0.0.236/trunk@34783 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:34:21 +00:00
rpotts%netscape.com
0846133faf moved the test for being suspended inside of the main Process() loop since doRead() can suspend the transport... Also call nsSocketTransportStream::GetWriteAmount() to determine how much data can be written to the stream...
git-svn-id: svn://10.0.0.236/trunk@34782 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:28:22 +00:00
rpotts%netscape.com
273643c438 if no more data is available when reading a non-blocking input stream then return either WOULD_BLOCK or NS_OK... But exit the loop to prevent spinning!
git-svn-id: svn://10.0.0.236/trunk@34781 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:25:57 +00:00
rpotts%netscape.com
24d54b41d8 initialize the [out] parameters in GetWriteSegment so they are correct even if NS_OK is not returned...
git-svn-id: svn://10.0.0.236/trunk@34780 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:22:17 +00:00
waterson%netscape.com
9dee4dbd73 Fix crash parsing IE favorites.
git-svn-id: svn://10.0.0.236/trunk@34779 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 08:06:53 +00:00
andreas.otte%primus-online.de
aafa0183ad adding protocol/file makefiles
git-svn-id: svn://10.0.0.236/trunk@34778 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:43:54 +00:00
waterson%netscape.com
acfdf93b87 Whoops. Forgot to update URL shortcuts to use the XPIDL-ized bookmarks service. Fixed now.
git-svn-id: svn://10.0.0.236/trunk@34777 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:32:29 +00:00
waterson%netscape.com
c621d053c6 Move history resources to xpfe/components.
git-svn-id: svn://10.0.0.236/trunk@34776 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:25:10 +00:00
waterson%netscape.com
45ab5d5b13 Move history resources here from rdf/resources.
git-svn-id: svn://10.0.0.236/trunk@34775 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:22:37 +00:00
waterson%netscape.com
f288e775fc Move history resources to xpfe/components/history/resources.
git-svn-id: svn://10.0.0.236/trunk@34774 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:22:03 +00:00
bienvenu%netscape.com
2c4876217b restructure filter code to start on imap filters
git-svn-id: svn://10.0.0.236/trunk@34773 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:07:04 +00:00
bienvenu%netscape.com
8c0c378a37 remove offline code which isn't used yet to get rid of mac warnings, add bulletproofing on header copy
git-svn-id: svn://10.0.0.236/trunk@34772 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:04:22 +00:00
bienvenu%netscape.com
2e045d8315 restructure filter application to do imap filters
git-svn-id: svn://10.0.0.236/trunk@34771 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 07:01:39 +00:00
gagan%netscape.com
fd1e6f9ec2 Expiring old protocols stuff. Everything is now moved to protocol directory.
git-svn-id: svn://10.0.0.236/trunk@34770 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:51:56 +00:00
gagan%netscape.com
199d4363fd Ignore .class files for CVS.
git-svn-id: svn://10.0.0.236/trunk@34769 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:25:11 +00:00
gagan%netscape.com
3fdb13e2f4 Added the test server for testing anamalous responses from HTTP servers. For more details read http://lxr.mozilla.org/mozilla/source/netwerk/testserver/docs/help.html
git-svn-id: svn://10.0.0.236/trunk@34768 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:21:16 +00:00
waterson%netscape.com
4f7f2794c5 Add bookmarks.css to the style sheets we load in the panel.
git-svn-id: svn://10.0.0.236/trunk@34767 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:19:27 +00:00
waterson%netscape.com
0b76a73962 Change bookmarks service progid slightly.
git-svn-id: svn://10.0.0.236/trunk@34766 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:18:49 +00:00
waterson%netscape.com
b209dc74b5 Bookmarks now XPConnected and living in xpfe/components.
git-svn-id: svn://10.0.0.236/trunk@34765 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:18:11 +00:00
waterson%netscape.com
4369ac38be Make bookmarks functionality part of an XPIDL interface.
git-svn-id: svn://10.0.0.236/trunk@34764 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:17:46 +00:00
waterson%netscape.com
45b16a8baf Move bookmarks to xpfe/components.
git-svn-id: svn://10.0.0.236/trunk@34763 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:17:15 +00:00
waterson%netscape.com
6bda33f40e Add xpfe/components/bookmarks to the build.
git-svn-id: svn://10.0.0.236/trunk@34762 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:16:32 +00:00
waterson%netscape.com
b66e35f9d6 Build xpfe/components/bookmarks makefiles.
git-svn-id: svn://10.0.0.236/trunk@34761 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:16:22 +00:00
waterson%netscape.com
5d64000a40 Add xpfe/bookmarks/component to the build.
git-svn-id: svn://10.0.0.236/trunk@34760 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 06:15:28 +00:00
waterson%netscape.com
a15bfc2588 Clean up compiler warning.
git-svn-id: svn://10.0.0.236/trunk@34759 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:58:42 +00:00
waterson%netscape.com
490b197f4a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34758 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:50:55 +00:00
sspitzer%netscape.com
4e86df49a1 wrap printf with #ifdef DEBUG
git-svn-id: svn://10.0.0.236/trunk@34757 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:50:13 +00:00
dougt%netscape.com
c1ef30a561 Adding default UI thread posting if user passes nsnull as the destQ
git-svn-id: svn://10.0.0.236/trunk@34756 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:49:11 +00:00
waterson%netscape.com
0e36b2aa60 Debug to get running properly.
git-svn-id: svn://10.0.0.236/trunk@34755 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:47:19 +00:00
waterson%netscape.com
16ec1828f5 Add some missing resources. Update stuff to point to the res/samples dir.
git-svn-id: svn://10.0.0.236/trunk@34754 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:46:45 +00:00
sspitzer%netscape.com
22fdffeab1 comment out alert code until #7770 is fixed. sigh.
git-svn-id: svn://10.0.0.236/trunk@34753 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:46:31 +00:00
sspitzer%netscape.com
5bc13cc1cc temporary hack to fix #6912. still more work to be done here, obviously.
git-svn-id: svn://10.0.0.236/trunk@34752 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 05:37:54 +00:00
waterson%netscape.com
328c9c6999 Add read-only accessors to get at the datasource and container elements.
git-svn-id: svn://10.0.0.236/trunk@34751 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 04:56:18 +00:00
mcafee%netscape.com
19c17d1d6a Updating last-changed date to match cvs log.
git-svn-id: svn://10.0.0.236/trunk@34750 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 04:01:22 +00:00
morse%netscape.com
57d9268011 clean up some of the dialog messages
git-svn-id: svn://10.0.0.236/trunk@34749 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:54:23 +00:00
danm%netscape.com
42ab29c131 adding access to primordial thread
git-svn-id: svn://10.0.0.236/trunk@34748 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:44:52 +00:00
morse%netscape.com
1a4f197fa7 allow for null database password -- means user doesn't get prompted for password
git-svn-id: svn://10.0.0.236/trunk@34747 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:41:01 +00:00
morse%netscape.com
6905e258db again fix logic for when to give notification of feature
git-svn-id: svn://10.0.0.236/trunk@34746 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:39:44 +00:00
waterson%netscape.com
fca2426bc3 Add null checks.
git-svn-id: svn://10.0.0.236/trunk@34745 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:32:02 +00:00
waterson%netscape.com
e29b721cf7 Bug 7781, part deux. Be paranoid about checking the result from the zombie pool.
git-svn-id: svn://10.0.0.236/trunk@34744 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:15:40 +00:00
briano%netscape.com
d36d5053b7 Automated update
git-svn-id: svn://10.0.0.236/trunk@34743 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:09:49 +00:00
briano%netscape.com
64b16e4168 Fix for bug 3250.
git-svn-id: svn://10.0.0.236/trunk@34742 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 03:09:15 +00:00
waterson%netscape.com
7b94de64b6 Initial revision. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@34741 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 02:50:47 +00:00
mscott%netscape.com
0cfef23aaa When displaying a message (writing it to a file), we should skip the first line of the message which is part of the
dummy envelope for the message. We don't want to include this line.


git-svn-id: svn://10.0.0.236/trunk@34740 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 02:44:06 +00:00
sgehani%netscape.com
842f16e8a0 Surfaced enumeration service added in PersistentProperties.
git-svn-id: svn://10.0.0.236/trunk@34739 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 02:22:34 +00:00
sgehani%netscape.com
8997c2364f Updated tests to reflect newly added enumeration service in PersistentProperties.
git-svn-id: svn://10.0.0.236/trunk@34738 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 02:21:34 +00:00
mcafee%netscape.com
40f9b76016 Protecting a null pointer dereference.
git-svn-id: svn://10.0.0.236/trunk@34737 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 02:20:54 +00:00
sgehani%netscape.com
68a3a5bc2f Added enumeration service to PersistentProperties which returns an enumeration of
PropertyElement objects.


git-svn-id: svn://10.0.0.236/trunk@34736 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 02:20:36 +00:00
jband%netscape.com
637446e2bc 1) adding the fix for 7926 from brendan and sfraser (with cleanup from me).
2) added where I was not checking for JSVAL_NULL from brendan.
3) got rid of 'xpcom32' references.
4) added nsIEcho::ReturnInterface as a loopback for testing the above.
5) removed some redundant retval setting code.


git-svn-id: svn://10.0.0.236/trunk@34734 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 02:04:42 +00:00
warren%netscape.com
f1300adcbe Added range offsets to open stream methods.
git-svn-id: svn://10.0.0.236/trunk@34733 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 01:37:43 +00:00
warren%netscape.com
772a460bd4 Added start of file: protocol.
git-svn-id: svn://10.0.0.236/trunk@34732 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 01:37:24 +00:00
frankm%eng.sun.com
5f4bba2ae5 Fixes for LC3 regression tests, including:
- check static members of instances in JavaMembers.put

- do not unwrap Wrappers before calling NativeJavaMethod.findFunction
     or NativeJavaObject.coerceType; both methods may need extra information
     provided by the wrapper.

- separate Java signatures for resolving overloaded methods and script
     signatures for error messages, so we can distinguish primitive types
     from classes.

- separate Java signatures for resolving overloaded methods and script
     signatures for error messages, so we can distinguish primitive types
     from classes.

- prevent a NativeJavaClass from being treated as a wrapped instance of
     java.lang.Class

- correct bug which preferred the *less* specific of two classes in
     NativeJavaMethod.preferSignature

- add new LC3 conversion rules to  NativeJavaObject.coerceTypes.

- coerce JS numbers to Java numbers or chars only if the JS number is in
     range.


git-svn-id: svn://10.0.0.236/trunk@34731 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 01:24:40 +00:00
bsharma%netscape.com
8e360f9516 changed the sleep time to 90 seconds
git-svn-id: svn://10.0.0.236/trunk@34730 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 01:20:50 +00:00
pollmann%netscape.com
61b4a19b82 Bug 7935: Resizing frames beyond edge doesn't cause offset anymore.
git-svn-id: svn://10.0.0.236/trunk@34729 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 01:18:50 +00:00
pollmann%netscape.com
48ebbb6439 Bug 4711: Retain frameset resize information through reflows.
git-svn-id: svn://10.0.0.236/trunk@34727 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:51:05 +00:00
sspitzer%netscape.com
e1f4704793 remove the "." from these menu items. they are working now.
git-svn-id: svn://10.0.0.236/trunk@34726 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:42:38 +00:00
sfraser%netscape.com
a58ff3889b Remove duplicate BuildIDLProject for mozcomps
git-svn-id: svn://10.0.0.236/trunk@34725 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:41:33 +00:00
ftang%netscape.com
8d2476ca0e add cid for cp936
git-svn-id: svn://10.0.0.236/trunk@34724 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:41:23 +00:00
ftang%netscape.com
185ba1e56a add cp949 cid
git-svn-id: svn://10.0.0.236/trunk@34723 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:38:52 +00:00
dougt%netscape.com
e30570a54f File Removed.
git-svn-id: svn://10.0.0.236/trunk@34722 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:38:49 +00:00
dougt%netscape.com
42762abad9 Updates the project to use the new xpcom 2.
git-svn-id: svn://10.0.0.236/trunk@34721 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:37:35 +00:00
dougt%netscape.com
f8dddcae9c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34720 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:37:05 +00:00
ftang%netscape.com
6ea6adbcc2 add CP932 cid
git-svn-id: svn://10.0.0.236/trunk@34719 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:36:45 +00:00
dougt%netscape.com
dd310396c9 Fixing some releasing object bugs.
git-svn-id: svn://10.0.0.236/trunk@34718 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:35:39 +00:00
ftang%netscape.com
6f1a3ec464 add cid for CP950
git-svn-id: svn://10.0.0.236/trunk@34717 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:34:54 +00:00
ducarroz%netscape.com
5c55f8281f Replace MsgComposeAppCore by a XPConnect object
git-svn-id: svn://10.0.0.236/trunk@34716 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:34:32 +00:00
ftang%netscape.com
154dca77cb add cid for cns11643 p3-7 encoder
git-svn-id: svn://10.0.0.236/trunk@34715 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:32:52 +00:00
ftang%netscape.com
44280723a0 add CID for ISOIR111 and UserDefined
git-svn-id: svn://10.0.0.236/trunk@34714 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:28:47 +00:00
pollmann%netscape.com
2bc61c5523 Bug 7934: Calculate frameset percentage widths/heights correctly.
git-svn-id: svn://10.0.0.236/trunk@34713 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:28:00 +00:00
sspitzer%netscape.com
1f1d370348 changes for ducarroz's checkin
git-svn-id: svn://10.0.0.236/trunk@34712 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:31 +00:00
ducarroz%netscape.com
f01f4d4177 Add more IDL files
git-svn-id: svn://10.0.0.236/trunk@34711 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:26 +00:00
ducarroz%netscape.com
b3b2492e39 need to include "nsMsgComposeBE.h" as it not include by the interface anymore
git-svn-id: svn://10.0.0.236/trunk@34710 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:21 +00:00
ducarroz%netscape.com
aa460cdfdb Replace ComposeMessageWithType by ComposeMessage
git-svn-id: svn://10.0.0.236/trunk@34709 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:20 +00:00
ducarroz%netscape.com
68e7778cb1 Replace ComposeAppcore stuff by nsIMsgComposeService & nsIMsgCompose
git-svn-id: svn://10.0.0.236/trunk@34708 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:19 +00:00
ducarroz%netscape.com
ea74392715 Replace Compose Appcore by nsIMsgComposeService/nsIMsgCompose
git-svn-id: svn://10.0.0.236/trunk@34707 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:18 +00:00
ducarroz%netscape.com
bf39d98a64 update make file
git-svn-id: svn://10.0.0.236/trunk@34706 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:16 +00:00
ducarroz%netscape.com
7ece6b4552 Replace Compose Appcore by XPConnect object nsIMsgComposeService & nsIMsgCompose.
git-svn-id: svn://10.0.0.236/trunk@34705 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:15 +00:00
ducarroz%netscape.com
503c346630 Add Message Compose Service CID
git-svn-id: svn://10.0.0.236/trunk@34704 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:25:14 +00:00
rogerl%netscape.com
17cd7246b8 Function calling begun.
git-svn-id: svn://10.0.0.236/trunk@34703 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:21:26 +00:00
sfraser%netscape.com
9899611910 Add a new parameter.
git-svn-id: svn://10.0.0.236/trunk@34702 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:04:46 +00:00
sfraser%netscape.com
1eafb358d4 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34701 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:04:24 +00:00
mcafee%netscape.com
26bab3f988 Removing obsolete nsDialog. a=rickg
git-svn-id: svn://10.0.0.236/trunk@34700 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-11 00:00:58 +00:00
mcmullen%netscape.com
0e1b8c7aad Updated to changed prefwindow interface.
git-svn-id: svn://10.0.0.236/trunk@34699 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:55:54 +00:00
ftang%netscape.com
5db9ab231b add real implementation for user defined charset
git-svn-id: svn://10.0.0.236/trunk@34698 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:55:12 +00:00
ftang%netscape.com
8959bd9a9f add mapping for user defined charset, we use private zone F780-F7FF to map 80-FF
git-svn-id: svn://10.0.0.236/trunk@34697 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:52:09 +00:00
sfraser%netscape.com
5a9be56e76 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34696 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:50:26 +00:00
ftang%netscape.com
0cdd42f7e4 add NPL
git-svn-id: svn://10.0.0.236/trunk@34695 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:49:49 +00:00
law%netscape.com
fa95e6aa23 added files: mozilla/xpfe/components/ucth/public/nsIUnkContentTypeHandler.idl, removed files: mozilla/xpfe/components/ucth/public/nsIUnknownContentTypeHandler.idl
git-svn-id: svn://10.0.0.236/trunk@34694 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:48:24 +00:00
waterson%netscape.com
35b452e6bd Add a bit of documentation.
git-svn-id: svn://10.0.0.236/trunk@34693 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:46:30 +00:00
law%netscape.com
c56e10044b Fix mac build bustage (file name was too long)
git-svn-id: svn://10.0.0.236/trunk@34692 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:45:54 +00:00
mscott%netscape.com
1ca7ce2b8d Remove assertion as we are finding that it doesn't apply.
git-svn-id: svn://10.0.0.236/trunk@34691 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:45:16 +00:00
mcafee%netscape.com
2b92caea80 Removing obsolete nsDialog. a=rickg
git-svn-id: svn://10.0.0.236/trunk@34690 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:43:25 +00:00
waterson%netscape.com
8069f262bb Add entity references to make localizable.
git-svn-id: svn://10.0.0.236/trunk@34689 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:42:18 +00:00
waterson%netscape.com
f6d643c709 Bug 6374. Add entity refs to make flash panel localizable.
git-svn-id: svn://10.0.0.236/trunk@34688 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:38:54 +00:00
ftang%netscape.com
0b4a10a109 add implementation for ISO-8859-10
git-svn-id: svn://10.0.0.236/trunk@34687 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:31:51 +00:00
ducarroz%netscape.com
eb58989f6b don't addref a null ptr, that hurts!
git-svn-id: svn://10.0.0.236/trunk@34686 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:31:44 +00:00
ftang%netscape.com
a9b121ca89 add mapping table for ISO-8859-10 which based on the charmaps on ftp://dkuug.dk/i18n/charmaps
git-svn-id: svn://10.0.0.236/trunk@34685 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:31:02 +00:00
waterson%netscape.com
5db8306557 Bug 7781. Don't add nodes without ID attributes to the zombie pool. Oh, per selmer's suggestion, improved some of the variable and method names ;-).
git-svn-id: svn://10.0.0.236/trunk@34684 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:29:41 +00:00
putterman%netscape.com
2fdd8a3e81 Use onclick until onchange gets fixed.
git-svn-id: svn://10.0.0.236/trunk@34683 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:26:37 +00:00
harishd%netscape.com
c876f21ef3 Fix for bug#5682
Propagating error to nsParser.


git-svn-id: svn://10.0.0.236/trunk@34682 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:25:01 +00:00
harishd%netscape.com
f8e87704a2 Propagating NS_ERROR_HTMLPARSER_STOPPARSING on XML error.
git-svn-id: svn://10.0.0.236/trunk@34681 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:23:50 +00:00
harishd%netscape.com
56c5880014 Capturing parser STOP error.
Fix for bug# 5682


git-svn-id: svn://10.0.0.236/trunk@34680 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:22:37 +00:00
harishd%netscape.com
7462438cbe *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@34679 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:21:39 +00:00
harishd%netscape.com
a3fb3e7196 Added a new member variable "mParserTerminated" to stop the parser
on an error.


git-svn-id: svn://10.0.0.236/trunk@34678 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 23:20:51 +00:00
mcafee%netscape.com
144f073c62 Removing obsolete nsDialog. a=rickg
git-svn-id: svn://10.0.0.236/trunk@34677 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:52:29 +00:00
law%netscape.com
45ed3c204e Switching xpfe components to use XPIDL
git-svn-id: svn://10.0.0.236/trunk@34676 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:43:08 +00:00
ftang%netscape.com
6465965ac8 put the real implementation of ISO-IR-111 converters into the empty file
git-svn-id: svn://10.0.0.236/trunk@34675 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:39:46 +00:00
briano%netscape.com
2900f3eb31 Ifdef hack to get this to compile on SunOS 4.x.
git-svn-id: svn://10.0.0.236/trunk@34674 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:37:27 +00:00
law%netscape.com
89ffb93ec5 added files: mozilla/xpfe/components/find/public/nsIFindComponent.idl, mozilla/xpfe/components/ucth/public/nsIUnknownContentTypeHandler.idl, mozilla/xpfe/components/xfer/public/nsIStreamTransfer.idl
git-svn-id: svn://10.0.0.236/trunk@34673 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:36:27 +00:00
valeski%netscape.com
52869d557a making the nsNetModuleMgr a singleton
git-svn-id: svn://10.0.0.236/trunk@34672 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:26:37 +00:00
neeti%netscape.com
5324b574d3 initial checkin for cookie module
git-svn-id: svn://10.0.0.236/trunk@34671 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:20:14 +00:00
ftang%netscape.com
085672396d add iso-ir-111 table based on ftp://dkuug.dk/i18n/charmaps/ECMA-CYRILLIC
git-svn-id: svn://10.0.0.236/trunk@34670 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:09:29 +00:00
ducarroz%netscape.com
ad623a0b59 make it scriptable, sync. with current implementation
git-svn-id: svn://10.0.0.236/trunk@34669 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:09:17 +00:00
neeti%netscape.com
15bff55a66 The Cookie Module: Initial Version
git-svn-id: svn://10.0.0.236/trunk@34668 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:08:59 +00:00
ducarroz%netscape.com
21ad463edf Add a temporary hack to make the reply/forward kind of work
git-svn-id: svn://10.0.0.236/trunk@34667 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:08:35 +00:00
mscott%netscape.com
699b88c3e1 Finish save messsage to disk work --> reworked mailbox protocol to use an nsIFileSpec for the temp message
we write in order to display messages. Also added code to set the temp file to be the save message to disk
file if that was the type of url we are running.


git-svn-id: svn://10.0.0.236/trunk@34666 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:08:32 +00:00
law%netscape.com
f5f3627aff Preparing for switch to XPIDL
git-svn-id: svn://10.0.0.236/trunk@34665 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:07:26 +00:00
mscott%netscape.com
3decfd668d Be sure to set byte range for mailbox urls where the action is save file to disk.
git-svn-id: svn://10.0.0.236/trunk@34664 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:06:19 +00:00
ducarroz%netscape.com
1d24b7f8c3 Add temporary an argument to OpenComposeWindow
git-svn-id: svn://10.0.0.236/trunk@34663 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:06:01 +00:00
ducarroz%netscape.com
29dc256a4f total rewrite
git-svn-id: svn://10.0.0.236/trunk@34662 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:04:21 +00:00
ducarroz%netscape.com
d1906eec9a make it scriptable
git-svn-id: svn://10.0.0.236/trunk@34661 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:03:28 +00:00
mcafee%netscape.com
f1e024f67f Removing usages of obsolete nsDialog. a=rickg
git-svn-id: svn://10.0.0.236/trunk@34660 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:03:27 +00:00
ducarroz%netscape.com
b22bd6219d export more IDL files
git-svn-id: svn://10.0.0.236/trunk@34659 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 22:02:24 +00:00
valeski%netscape.com
b1b4ed9c0c added external module http hooks
git-svn-id: svn://10.0.0.236/trunk@34658 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:58:26 +00:00
valeski%netscape.com
330ce1a68a added some comments and thread safety fixes
git-svn-id: svn://10.0.0.236/trunk@34657 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:57:47 +00:00
kin%netscape.com
1e231ecd86 Fix build bustage on Win32.
git-svn-id: svn://10.0.0.236/trunk@34656 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:56:47 +00:00
law%netscape.com
bb05876536 Preparing for switch to XPIDL
git-svn-id: svn://10.0.0.236/trunk@34655 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:55:36 +00:00
mjudge%netscape.com
b2a2c02eac minor changes to tweak fix from before. GetPositionSlowly was returning wrong thing causing small caps and other wierd spacing letters to be selected incorrectly.
git-svn-id: svn://10.0.0.236/trunk@34654 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:55:14 +00:00
ftang%netscape.com
a5d081eae5 return the correct error code, and do not return error when no reload is necessary
git-svn-id: svn://10.0.0.236/trunk@34653 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:48:16 +00:00
law%netscape.com
2dc6f4fa0f Preparing for switch to XPIDL
git-svn-id: svn://10.0.0.236/trunk@34652 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:47:30 +00:00
sfraser%netscape.com
d10cf0b444 Comment out useless assert.
git-svn-id: svn://10.0.0.236/trunk@34651 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:43:08 +00:00
tague%netscape.com
ce27e666ad Additional work on conditionalized fiex for #7629. Fix problems with ctrl-keys not being dispatched.
git-svn-id: svn://10.0.0.236/trunk@34650 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:38:05 +00:00
danm%netscape.com
fdc23ccb1b implement show/hide menubar
git-svn-id: svn://10.0.0.236/trunk@34649 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:34:43 +00:00
akkana%netscape.com
4f0476dd20 Remove unused third argument from InsertElement
git-svn-id: svn://10.0.0.236/trunk@34648 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:32:30 +00:00
briano%netscape.com
643ea17272 Automated update
git-svn-id: svn://10.0.0.236/trunk@34647 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:32:05 +00:00
briano%netscape.com
a921fca398 Fixed my stupid mistake that broke FreeBSD. Thanks to reg@shale.csir.co.za (Jeremy Lea) for pointing this out to me.
git-svn-id: svn://10.0.0.236/trunk@34646 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:31:43 +00:00
akkana%netscape.com
91f72d1f82 Implement InsertHTML.
Also, some minor fixes, like warning removal and addition of error checking
in files which needed it.


git-svn-id: svn://10.0.0.236/trunk@34645 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:31:42 +00:00
ftang%netscape.com
7d34375077 add new files to mac project files
git-svn-id: svn://10.0.0.236/trunk@34644 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:24:06 +00:00
mjudge%netscape.com
8650f1059b adding kins fix for the bitrotted addrange code. never was used before
git-svn-id: svn://10.0.0.236/trunk@34643 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:24:04 +00:00
ftang%netscape.com
26b26b4ab0 add new files to Unix makefiles
git-svn-id: svn://10.0.0.236/trunk@34642 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:21:08 +00:00
ftang%netscape.com
ca2a634d97 add new files into makefiles
git-svn-id: svn://10.0.0.236/trunk@34641 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:19:48 +00:00
mjudge%netscape.com
21a15def92 fixing table selection again. also adding parameter to nsIFocusTracker that allows us to get the current caret location. I am also stopping nsTableRowFrame from putting blue border around itself since cells are a high enough granularity. made a change to nsIFrame GetPosition to remove some useless parameters ect. this caused me to change nsDOMEvent.cpp and some other places.
MJ


git-svn-id: svn://10.0.0.236/trunk@34640 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:08:17 +00:00
Jerry.Kirk%Nexwarecorp.com
4062735a01 - Fixes Typo on MenuBar
git-svn-id: svn://10.0.0.236/trunk@34639 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:07:56 +00:00
Jerry.Kirk%Nexwarecorp.com
73afde7b71 -Fixes for Test12.html
git-svn-id: svn://10.0.0.236/trunk@34638 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:07:26 +00:00
Jerry.Kirk%Nexwarecorp.com
684bb08a8d - Fixes for test12.html
git-svn-id: svn://10.0.0.236/trunk@34637 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 21:07:11 +00:00
tague%netscape.com
3554e0b087 Additional fix for re-distpach of char+modifier key as a character, part of the conditionalized fix for #6896
git-svn-id: svn://10.0.0.236/trunk@34636 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:49:29 +00:00
waterson%netscape.com
976a72c833 Fix depend build bustage.
git-svn-id: svn://10.0.0.236/trunk@34635 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:46:25 +00:00
dougt%netscape.com
c7ff7ab896 Fixes bug 7763. now exporting the xpinstall.js file to the components directory.
git-svn-id: svn://10.0.0.236/trunk@34634 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:33:20 +00:00
mcmullen%netscape.com
a1b1cb2963 Removed an unused variable.
git-svn-id: svn://10.0.0.236/trunk@34633 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:32:35 +00:00
sspitzer%netscape.com
11829db7ca clean up for nsIMsgHdr and nsIMessage header and idl insanity
git-svn-id: svn://10.0.0.236/trunk@34632 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:26:32 +00:00
sspitzer%netscape.com
3c226bb99f clean up the nsIMsgHdr and nIMessage idl and header insanity.
git-svn-id: svn://10.0.0.236/trunk@34631 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:25:23 +00:00
sspitzer%netscape.com
b8adaad7e3 clean up the nsIMsgHdr & nsIMessage idl and header insanity
git-svn-id: svn://10.0.0.236/trunk@34630 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:24:43 +00:00
dougt%netscape.com
0de862590b Adding Autoproxification.
git-svn-id: svn://10.0.0.236/trunk@34629 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:24:15 +00:00
mcmullen%netscape.com
140dd409d2 Fix the mailnews pref-window-showing code to work with the prefwindow changes.
git-svn-id: svn://10.0.0.236/trunk@34628 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:23:06 +00:00
waterson%netscape.com
71bfb9d7d8 Remove nsStringImpl and nsIString.
git-svn-id: svn://10.0.0.236/trunk@34627 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:20:32 +00:00
law%netscape.com
e35d7746b7 Switching to XPIDL (this isn't actually used quite yet)
git-svn-id: svn://10.0.0.236/trunk@34626 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:20:21 +00:00
cata%netscape.com
aea528655a Bug fix.
git-svn-id: svn://10.0.0.236/trunk@34625 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:19:58 +00:00
waterson%netscape.com
915a67d0c4 Remove nsStringImpl.cpp.
git-svn-id: svn://10.0.0.236/trunk@34624 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:19:52 +00:00
akkana%netscape.com
85e947383a Fix 5968 -- I got tired of seeing a bazillion warnings about the parameter index shadowing the globally defined string function
git-svn-id: svn://10.0.0.236/trunk@34623 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:18:17 +00:00
cata%netscape.com
6c7fbe0271 Bug fixes in the UTF-7 converters.
git-svn-id: svn://10.0.0.236/trunk@34622 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:06:00 +00:00
sfraser%netscape.com
9ce368c9e1 Clean up building of IDL projects, adding separate IDL group.
git-svn-id: svn://10.0.0.236/trunk@34621 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 20:02:53 +00:00
mcmullen%netscape.com
a1a83a4ea7 Fixed the -pref code to (1) use the new lowerStartInterCaps method names (and use the combined init() and showWindow() method), and (2) to release the prefwindow object.
git-svn-id: svn://10.0.0.236/trunk@34620 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:57:02 +00:00
mcmullen%netscape.com
c7f5e5d0c9 Converted method names to lowerStartInterCaps, following the JS convention. Combined init() and showWindow to reduce pointless verbosity in javascript usage (since they are always called together). Added a third parameter, an initial panel url, though this is as yet unsupported.
git-svn-id: svn://10.0.0.236/trunk@34619 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:55:08 +00:00
sfraser%netscape.com
1bde299d6f First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34618 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:52:49 +00:00
mcmullen%netscape.com
50600ebfb0 Added bulletproofing for null buffer parameters
git-svn-id: svn://10.0.0.236/trunk@34617 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:51:36 +00:00
waterson%netscape.com
de4ae79cf3 Back out Hyatt's changes to use DOM APIs. This is busting mailnews. Use content APIs until we figure out persistence story.
git-svn-id: svn://10.0.0.236/trunk@34616 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:51:35 +00:00
mcmullen%netscape.com
945fc61529 Compromise. On other platforms, NS_WARNING does not call break. So we'll do the same. So for NS_WARNING, we'll simply print to the console and continue, a la mode de Pierre, while for other forms of NS_BLOWCHUNKS, we'll break into the debugger, as of old.
git-svn-id: svn://10.0.0.236/trunk@34615 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:50:56 +00:00
rjc%netscape.com
de84938fce XUL templates now look for any attribute (other than "uri") which equals "..." and substitutes the URI of the attached node.
git-svn-id: svn://10.0.0.236/trunk@34614 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:44:59 +00:00
kin%netscape.com
29d7d10d5b Added EditorGetNodeFromOffsets() and EditorSetSelectionFromOffsets().
git-svn-id: svn://10.0.0.236/trunk@34613 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:43:43 +00:00
rjc%netscape.com
db8176ecc1 More search support.
git-svn-id: svn://10.0.0.236/trunk@34612 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:42:53 +00:00
kin%netscape.com
87f40affc1 First pass checkin of the JavaScript editor logging mechanism. All changes are
ifdef'd with ENABLE_JS_EDITOR_LOG.


git-svn-id: svn://10.0.0.236/trunk@34611 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:41:40 +00:00
mscott%netscape.com
9dec3904ca Fix smtp send problem. I was over zealous in fixing a memory leak and we were appending an extra
comma to the list of recipients.


git-svn-id: svn://10.0.0.236/trunk@34610 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:37:18 +00:00
briano%netscape.com
e7eb31ad48 Automated update
git-svn-id: svn://10.0.0.236/trunk@34609 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 16:29:51 +00:00
ramiro%netscape.com
25d0cce0ca Fix something that was very with the last checkin. Dont strip .a files
dumbass.  Approved by the Bastard Operator From Hell.


git-svn-id: svn://10.0.0.236/trunk@34608 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 16:27:39 +00:00
briano%netscape.com
c7689ec171 Automated update
git-svn-id: svn://10.0.0.236/trunk@34607 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 15:29:51 +00:00
ramiro%netscape.com
d4bf0bf877 Add a configure flag --enable-strip-libs to make it easy to force the
libraries to strip.


git-svn-id: svn://10.0.0.236/trunk@34606 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 15:18:02 +00:00
valeski%netscape.com
aa6822fa14 I was continuing through a loop when I wasn't supposed to be
git-svn-id: svn://10.0.0.236/trunk@34605 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 15:13:37 +00:00
briano%netscape.com
9c2b61909b Automated update
git-svn-id: svn://10.0.0.236/trunk@34604 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 14:59:53 +00:00
ramiro%netscape.com
f769e571e4 Cleanup the ClientWallet, SingleSignon and CookieManagement mess.
git-svn-id: svn://10.0.0.236/trunk@34603 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 14:59:06 +00:00
jefft%netscape.com
274ee6d1a2 undo framework
git-svn-id: svn://10.0.0.236/trunk@34602 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 14:55:36 +00:00
ftang%netscape.com
3b73f6690e add real implementation for Unicode To CNS p3-p7 converters
git-svn-id: svn://10.0.0.236/trunk@34601 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 14:36:31 +00:00
ftang%netscape.com
164bf71469 chang variable name and fix Unicode to CNS plan 2 conversion mapping
git-svn-id: svn://10.0.0.236/trunk@34600 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 14:27:40 +00:00
ftang%netscape.com
2a0d18cf41 add CNS 11643 p3-7 to EUCTW
git-svn-id: svn://10.0.0.236/trunk@34599 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 14:14:50 +00:00
ftang%netscape.com
b5568edd02 remove incorrect checkin
git-svn-id: svn://10.0.0.236/trunk@34598 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 13:59:27 +00:00
ftang%netscape.com
b0442d0ce8 add cns[3-7].u[ft] which generated by the file uni2cns.txt created by Koichi Yasuoka <yasukoda@kudpc.kyoto.u.ac.jp>. Notice the CNS plan 1 and 2 are not based on this file but the John Jenkin's one. There are some difference between these two file in p1
git-svn-id: svn://10.0.0.236/trunk@34597 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 13:56:29 +00:00
dcone%netscape.com
2acb7fb2aa Fixed a solaris bug, took out a URL call until I can find the real cause
of the problem


git-svn-id: svn://10.0.0.236/trunk@34596 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 13:53:14 +00:00
briano%netscape.com
e8fe0cf3c4 Automated update
git-svn-id: svn://10.0.0.236/trunk@34595 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 13:29:51 +00:00
ramiro%netscape.com
9096a6f51c Remove USE_STRING2 hack. No longer needed since nsString2 is the default.
git-svn-id: svn://10.0.0.236/trunk@34594 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 13:28:26 +00:00
ramiro%netscape.com
827f1e3b3f Add #ifdef use of graphics state pool.
git-svn-id: svn://10.0.0.236/trunk@34593 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 13:11:22 +00:00
ftang%netscape.com
c7e1211fb1 add functionality to uscan and ugen so we can add CNS11643 p3-7 into euc-tw
git-svn-id: svn://10.0.0.236/trunk@34592 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 12:56:33 +00:00
ramiro%netscape.com
76cabb03d3 Factor out the graphics state struct into its own header and implementation
files.


git-svn-id: svn://10.0.0.236/trunk@34591 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 12:45:14 +00:00
hyatt%netscape.com
8723410029 Popup menus animate and shag in the correct directions, baby.
git-svn-id: svn://10.0.0.236/trunk@34590 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 09:41:14 +00:00
hyatt%netscape.com
e95c0a1e71 Tweak to the tree frame construction code.
git-svn-id: svn://10.0.0.236/trunk@34589 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 09:31:30 +00:00
mccabe%netscape.com
786e0eb5ce Various touchups and warning fixes.
git-svn-id: svn://10.0.0.236/trunk@34588 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 09:18:59 +00:00
mccabe%netscape.com
ae16bfb2d8 Fix many warnings, remove legacy -h option.
git-svn-id: svn://10.0.0.236/trunk@34587 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 08:21:35 +00:00
sspitzer%netscape.com
29a200f6f3 fix the crashing when I post news.
git-svn-id: svn://10.0.0.236/trunk@34586 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 08:08:22 +00:00
waterson%netscape.com
510168afe3 Oops. I'd screwed up the Release() method.
git-svn-id: svn://10.0.0.236/trunk@34585 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 08:01:13 +00:00
mscott%netscape.com
f27ffb8efc Remove references to mailnews header files.
git-svn-id: svn://10.0.0.236/trunk@34584 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 07:41:35 +00:00
mscott%netscape.com
89a37950cc change the start page. don't point to www.mozilla.org. this is only until #7417 gets fixed.
git-svn-id: svn://10.0.0.236/trunk@34583 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 07:26:38 +00:00
mscott%netscape.com
65dff35e1e Change comment to reflect tthe appropriate interface. (it was confusing before).
git-svn-id: svn://10.0.0.236/trunk@34582 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 07:21:06 +00:00
mscott%netscape.com
c2956c6b83 Trying to clear some stuff up to make it easier for Seth and I to track down the build breakage.
git-svn-id: svn://10.0.0.236/trunk@34581 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 06:55:14 +00:00
waterson%netscape.com
b32f67a8a9 Enable aggregation on the in-memory datasource.
git-svn-id: svn://10.0.0.236/trunk@34580 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 06:47:28 +00:00
waterson%netscape.com
0d88744fb8 Fix build bustage: make sure overloaded function uses identical return
type.


git-svn-id: svn://10.0.0.236/trunk@34579 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 06:40:43 +00:00
hyatt%netscape.com
177f37d06f Using DOM calls for setting/removing selection and hover attributes.
git-svn-id: svn://10.0.0.236/trunk@34578 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:53:01 +00:00
mscott%netscape.com
4dbdaef4cf Fix for SunOS build. we were using a nsCOMPtr on two interfaces without explicitly including the interface header file.
git-svn-id: svn://10.0.0.236/trunk@34577 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:49:17 +00:00
sspitzer%netscape.com
0b8541733b nsINNTPProtocol.h is going away, since it is not being used.
the only thing that uses nsNNTPProtocol is nsNntpService.
remove it from the news factory.

changes to get mark message read on display working.


git-svn-id: svn://10.0.0.236/trunk@34576 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:39:09 +00:00
sspitzer%netscape.com
bdc1298557 work to get this test working again. it's not building right now.
git-svn-id: svn://10.0.0.236/trunk@34575 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:33:55 +00:00
peterl%netscape.com
f7f8d0f24e added code to ignore unknown namespace prefix for attributes
(actually the parser should've rejected it before here)


git-svn-id: svn://10.0.0.236/trunk@34574 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:33:47 +00:00
peterl%netscape.com
7f52ade062 added files: mozilla/layout/html/style/src/nsCSSRule.cpp, mozilla/layout/html/style/src/nsCSSRules.cpp
git-svn-id: svn://10.0.0.236/trunk@34573 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:32:57 +00:00
peterl%netscape.com
df059bed47 added new rule interfaces & base class
git-svn-id: svn://10.0.0.236/trunk@34572 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:32:38 +00:00
sspitzer%netscape.com
0913b8ef91 the tests are going to break, so I am turning them off. I'll be turning them back on once I figure out what to do.
git-svn-id: svn://10.0.0.236/trunk@34571 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:32:37 +00:00
peterl%netscape.com
bd8c71d3d0 better namespace support
made descend from nsICSSRule


git-svn-id: svn://10.0.0.236/trunk@34570 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:30:36 +00:00
peterl%netscape.com
4dbbd3e8c7 removed cruft
git-svn-id: svn://10.0.0.236/trunk@34569 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:29:53 +00:00
peterl%netscape.com
68d8d61fec added support for other rule types
cleaned up api


git-svn-id: svn://10.0.0.236/trunk@34568 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:29:22 +00:00
peterl%netscape.com
4c99a1649d better namespace support
made descend from nsCSSRule base class


git-svn-id: svn://10.0.0.236/trunk@34567 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:28:32 +00:00
peterl%netscape.com
a56e7c62ac added helper method to token
git-svn-id: svn://10.0.0.236/trunk@34566 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:27:01 +00:00
peterl%netscape.com
f7d2222f18 added support for @namespace & @media
stubbed out support for other @rules
sync to sheet api changes


git-svn-id: svn://10.0.0.236/trunk@34565 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:25:23 +00:00
peterl%netscape.com
0c076004c8 added support for attribute namespaces on generated content
stubed out improvements to style change painting code


git-svn-id: svn://10.0.0.236/trunk@34564 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:24:00 +00:00
peterl%netscape.com
bf9b5f28c1 Cleanup API
Added support for other rule types
Added namespace support


git-svn-id: svn://10.0.0.236/trunk@34563 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:22:13 +00:00
peterl%netscape.com
9465779a16 sync to style sheet api change
added support for detecting other css rule types


git-svn-id: svn://10.0.0.236/trunk@34562 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:21:22 +00:00
peterl%netscape.com
8e2b932b12 made query for attributes in other namespaces legal, just not work
git-svn-id: svn://10.0.0.236/trunk@34561 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:20:28 +00:00
peterl%netscape.com
6d72b15356 added code to ignore unknown namespace prefix for attributes
(actually the parser should've rejected it before here)


git-svn-id: svn://10.0.0.236/trunk@34560 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:18:46 +00:00
peterl%netscape.com
a9ba7b2cdd removed equals and hashvalue methods
git-svn-id: svn://10.0.0.236/trunk@34559 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 05:17:27 +00:00
sspitzer%netscape.com
d59e2a9e54 get this to link on IRIX. thanks to Jason Heirtzler <jasonh@engr.sgi.com> for the patch.
git-svn-id: svn://10.0.0.236/trunk@34558 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 04:32:46 +00:00
briano%netscape.com
ee41abd1a8 Changed the platform-specific ifdefs wrt XP_RANDOM to use HAVE_RANDOM instead.
git-svn-id: svn://10.0.0.236/trunk@34557 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 04:07:09 +00:00
briano%netscape.com
207c218a16 Changed all the platform-specific ifdefs wrt XP_RANDOM to use HAVE_RANDOM instead.
git-svn-id: svn://10.0.0.236/trunk@34556 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 04:05:28 +00:00
briano%netscape.com
9980d10c96 Automated update
git-svn-id: svn://10.0.0.236/trunk@34555 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 03:59:50 +00:00
briano%netscape.com
e0af9c3bb9 Added a check for random().
git-svn-id: svn://10.0.0.236/trunk@34554 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 03:56:41 +00:00
karnaze%netscape.com
1827bdff68 removed temp windows code added by accident
git-svn-id: svn://10.0.0.236/trunk@34553 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 03:48:06 +00:00
peterl%netscape.com
691ead1e2f #ifdef'd out windows specific timer code
git-svn-id: svn://10.0.0.236/trunk@34552 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 03:43:43 +00:00
mscott%netscape.com
f6a998a901 fix memory leak
git-svn-id: svn://10.0.0.236/trunk@34551 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 03:06:28 +00:00
ducarroz%netscape.com
9c6c376512 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@34550 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 03:05:22 +00:00
ducarroz%netscape.com
9af17368af add a missing declarations, fix build bustage
git-svn-id: svn://10.0.0.236/trunk@34549 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 03:04:54 +00:00
mscott%netscape.com
c3780a7ecb Fix memory leaks.
git-svn-id: svn://10.0.0.236/trunk@34548 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:47:29 +00:00
mscott%netscape.com
a583b6d8e4 Fix memory leaks of messenger & msg composer bootstraps. Also removed 2 noisy printfs for bootstrapping
messenger code.


git-svn-id: svn://10.0.0.236/trunk@34547 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:46:06 +00:00
mcmullen%netscape.com
61b5c92698 XML is case sensitive, and that's why the "Save" button didn't work!
git-svn-id: svn://10.0.0.236/trunk@34546 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:32:06 +00:00
morse%netscape.com
55c8ea8e59 acceptable workaround for bug 6928
git-svn-id: svn://10.0.0.236/trunk@34545 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:29:58 +00:00
karnaze%netscape.com
16daf5e57c bug 6459 - incremental reflow methods call DeleteFrame instead of RemoveFrame
git-svn-id: svn://10.0.0.236/trunk@34544 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:29:34 +00:00
mcmullen%netscape.com
7b74874945 Don't try to call strlen() on a null string.
git-svn-id: svn://10.0.0.236/trunk@34543 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:24:21 +00:00
alecf%netscape.com
9fab568c18 fix leak
git-svn-id: svn://10.0.0.236/trunk@34542 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:19:01 +00:00
alecf%netscape.com
7319ebd433 fix some leaks
git-svn-id: svn://10.0.0.236/trunk@34541 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:17:33 +00:00
law%netscape.com
2394f4f4a9 Switching to XPIDL (this isn't actually used quite yet)
git-svn-id: svn://10.0.0.236/trunk@34540 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:15:58 +00:00
ducarroz%netscape.com
30f70faf68 add some missing declarations
git-svn-id: svn://10.0.0.236/trunk@34539 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:02:14 +00:00
ducarroz%netscape.com
51ef58fbae remove any use of nsMsgCompose (it's the old one nsMsgCompose will conflic with the new one I will add soon!)
git-svn-id: svn://10.0.0.236/trunk@34538 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:01:37 +00:00
ssu%netscape.com
c1080e7459 Fix AddDirectory bug
git-svn-id: svn://10.0.0.236/trunk@34537 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 02:00:19 +00:00
ssu%netscape.com
9c3d2350ea Moving result #defines out where others can use them
git-svn-id: svn://10.0.0.236/trunk@34536 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:58:50 +00:00
ssu%netscape.com
ac23eae97a Fixing ShExp use (0 means true)
git-svn-id: svn://10.0.0.236/trunk@34535 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:58:06 +00:00
rogerl%netscape.com
900de8bfd5 Added base to ScriptRuntime.numberToString, NativeNumber.toString()
Bug #7625


git-svn-id: svn://10.0.0.236/trunk@34534 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:54:28 +00:00
ducarroz%netscape.com
aacdb6f80f use CreateAndSendMessage instance of SendMessage
git-svn-id: svn://10.0.0.236/trunk@34533 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:50:05 +00:00
law%netscape.com
bc23621d00 Switching to XPIDL
git-svn-id: svn://10.0.0.236/trunk@34532 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:35:04 +00:00
ftang%netscape.com
0260f0de34 add empty file as placeholder
git-svn-id: svn://10.0.0.236/trunk@34531 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:32:35 +00:00
danm%netscape.com
6946d5cf8b adding show/hide support for interior chrome and menubars
git-svn-id: svn://10.0.0.236/trunk@34530 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:27:47 +00:00
ftang%netscape.com
f4ec424590 add empty as placeholder
git-svn-id: svn://10.0.0.236/trunk@34529 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:25:26 +00:00
ftang%netscape.com
cefc7c0917 add file placeholder for VIQR, VNI, ISO885910, ISO885913, ISO-IR-111
git-svn-id: svn://10.0.0.236/trunk@34528 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:17:03 +00:00
ducarroz%netscape.com
8aa7ef3e42 need to addref/release the object pass to the callback to avoid crash
git-svn-id: svn://10.0.0.236/trunk@34527 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:11:12 +00:00
ftang%netscape.com
c3d6c39406 add empty file (npl) as placeholder for converters
git-svn-id: svn://10.0.0.236/trunk@34526 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:08:14 +00:00
kostello%netscape.com
e3bdb359ea Fix build bustage: changed include to be the right case
git-svn-id: svn://10.0.0.236/trunk@34525 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:06:35 +00:00
ftang%netscape.com
22ae5f4890 add empty file as place holder
git-svn-id: svn://10.0.0.236/trunk@34524 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 01:00:45 +00:00
rhp%netscape.com
0d6ce1ad8c Changes for composition reorg
git-svn-id: svn://10.0.0.236/trunk@34523 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:52:47 +00:00
ducarroz%netscape.com
a56404d38e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34522 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:41:28 +00:00
mscott%netscape.com
4e26d7b668 Quiet a noisy printf.
git-svn-id: svn://10.0.0.236/trunk@34521 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:40:53 +00:00
mscott%netscape.com
007a26d085 clean up work for pop3 protocol --> remove useage of the 8K output buffer which got ported over from the 4.x days. I use nsAutoString isntead (most of the data we write into the buffer is very small...it's protocol cmd data). This should help improve the memory footprint for pop.
Mad command_response, password and username all nsStrings instead of char *s.


git-svn-id: svn://10.0.0.236/trunk@34520 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:40:28 +00:00
law%netscape.com
7cb420c2c1 Stop onload handler firing twice
git-svn-id: svn://10.0.0.236/trunk@34519 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:36:08 +00:00
kostello%netscape.com
e69948ccbb Akkana set up a service for encoding a document.
This checkin adds the implementations for encoding
HTML and plain text:

nsTextEncoder::EncodeToString(..)
nsHTMLEncoder::EncodeToStream(..)

Hooked these services into the nsHTMLEditor implemenation

We probably want to update the clipboard code to
use the same pattern as in nsHTMLEditor.cpp


git-svn-id: svn://10.0.0.236/trunk@34518 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:35:02 +00:00
dp%netscape.com
af3775cbc9 openVMS changes. Thanks to Colin Blake <colin@theblakes.com>
git-svn-id: svn://10.0.0.236/trunk@34516 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:19:36 +00:00
mcmullen%netscape.com
78555a50e8 Hurrumph. So now we have to use about= instead of ID=? Well, CVS should have fixed my new stuff as well :-)
git-svn-id: svn://10.0.0.236/trunk@34515 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 00:06:59 +00:00
ftang%netscape.com
0193878767 add ibm866, UTF-7, x-imap4-modified-utf7, t61, ucs2, ucs4
git-svn-id: svn://10.0.0.236/trunk@34514 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 23:50:03 +00:00
ftang%netscape.com
71cdad332b correct the number of encoder
git-svn-id: svn://10.0.0.236/trunk@34513 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 23:48:30 +00:00
dbragg%netscape.com
16260c15d6 There was a lower case r in the macro OBJDIr for nsJARFactory.obj
git-svn-id: svn://10.0.0.236/trunk@34512 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 22:51:13 +00:00
kin%netscape.com
4edfa78bd0 First pass attempt to write out JavaScript. nsJSEditorLog now inherits from nsIHTMLEditor.
git-svn-id: svn://10.0.0.236/trunk@34511 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 22:33:30 +00:00
slamm%netscape.com
55fea45ed8 Reverse the order of the notes. Put the most recent on top. Remove unnecessary check for bad mail time.
git-svn-id: svn://10.0.0.236/trunk@34510 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 22:32:42 +00:00
kin%netscape.com
ec98adf0d2 Initial checkin of file. Not part of the build yet.
git-svn-id: svn://10.0.0.236/trunk@34509 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 22:31:44 +00:00
tague%netscape.com
c9e25b38a8 Conditionalized fix for #6896. Will only be compiled with a particular directive from my build environment
git-svn-id: svn://10.0.0.236/trunk@34508 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 22:07:53 +00:00
sspitzer%netscape.com
902bb9b25e fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@34507 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 22:01:00 +00:00
ssu%netscape.com
753c50eb70 fixed problem with AddSubcomponent() not accepting an empty string for the target name parameter. It now defaults to the jarSource parameter
git-svn-id: svn://10.0.0.236/trunk@34506 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:45:56 +00:00
mscott%netscape.com
e6aed221a9 MLK fixes. Free the line returned by calling ReadNextLine until I have time to come back and make ReadNextLine
not allocate a new buffer for the returned line.


git-svn-id: svn://10.0.0.236/trunk@34505 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:44:01 +00:00
ftang%netscape.com
e8e07b6461 change the hack to make it easier to add new CID, add CID for 7 XLFD charset and cp1255 1256, 866, UCS2/4 T61
git-svn-id: svn://10.0.0.236/trunk@34504 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:41:24 +00:00
mcmullen%netscape.com
41100bb362 Removed PrefsCore from appcores - it's now an autoregistered, idlized component.
git-svn-id: svn://10.0.0.236/trunk@34503 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:28:47 +00:00
briano%netscape.com
4d4340aa36 Fix for FreeBSD 2.x.
git-svn-id: svn://10.0.0.236/trunk@34502 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:28:28 +00:00
ftang%netscape.com
05dbc4f660 add cp1255,1256,866, UCS2/4, T61 to the factory
git-svn-id: svn://10.0.0.236/trunk@34501 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:20:28 +00:00
mscott%netscape.com
088a2c2da9 Remove warning introduced by an unused variabled into NS_NewFileSpecWithSpec.
git-svn-id: svn://10.0.0.236/trunk@34500 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:09:55 +00:00
mcmullen%netscape.com
5b63d649f7 Removed PrefsCore
git-svn-id: svn://10.0.0.236/trunk@34499 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:08:30 +00:00
mcmullen%netscape.com
54626dd29f Removed PrefsCore from appcores - it's now an autoregistered, idlized component.
git-svn-id: svn://10.0.0.236/trunk@34498 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:06:48 +00:00
mscott%netscape.com
3bb77e930d Code clean up --> added methods for building and running a mailbox url. This simplified a lot of the command methods like display message, copy message, etc.
save msg to disk work went in as well.


git-svn-id: svn://10.0.0.236/trunk@34497 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:05:53 +00:00
mscott%netscape.com
125fa1898a save msg to disk work. --> added getter/setting for msg nsIFileSpec
git-svn-id: svn://10.0.0.236/trunk@34496 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:05:10 +00:00
mscott%netscape.com
544c2d7b04 Add save msg to file action to mailbox actions. Add getter/setter for nsIFileSpec used to store the message when
git-svn-id: svn://10.0.0.236/trunk@34495 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:03:36 +00:00
mcmullen%netscape.com
02f7c40f1a Prefs core is gone
git-svn-id: svn://10.0.0.236/trunk@34494 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:01:40 +00:00
ftang%netscape.com
f9d06510a0 add T61, UCS2/UCS4 converters
git-svn-id: svn://10.0.0.236/trunk@34493 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 21:00:06 +00:00
mcafee%netscape.com
b6e4528902 Adding TAG_PROGRAM abstraction, thanks to Jim Nance for this fix.
git-svn-id: svn://10.0.0.236/trunk@34492 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:58:33 +00:00
Jerry.Kirk%Nexwarecorp.com
2cace3b020 - adding IsMenuBarVisible to get code to compile because nsWidget is our
base class not nsWindow


git-svn-id: svn://10.0.0.236/trunk@34491 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:55:48 +00:00
ftang%netscape.com
c373864370 change UCS2/4 CID into UCS2/4BE CID and add LE cid
git-svn-id: svn://10.0.0.236/trunk@34490 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:50:04 +00:00
mscott%netscape.com
a516c9660b Adding NS_NewFileSpecWithSpec for C++ code which allows you to create a nsIFileSpec given a nsFileSpec.
git-svn-id: svn://10.0.0.236/trunk@34489 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:49:39 +00:00
mcmullen%netscape.com
954322bbde PrefsCore now replaced by prefwindow object (idl) in xpfe/components
git-svn-id: svn://10.0.0.236/trunk@34488 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:47:50 +00:00
mcmullen%netscape.com
8ebb55a444 Added chrome://pref for the prefs window.
git-svn-id: svn://10.0.0.236/trunk@34487 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:45:15 +00:00
mcmullen%netscape.com
a406af3879 Removed PrefsCore and all its remaining stuff.
git-svn-id: svn://10.0.0.236/trunk@34486 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:44:31 +00:00
mcmullen%netscape.com
7ec609c4ed Support the -pref command-line option.
git-svn-id: svn://10.0.0.236/trunk@34485 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:44:04 +00:00
mcmullen%netscape.com
a0e3953a87 Use the xulified, idlized prefwindow object instead of PrefsCore
git-svn-id: svn://10.0.0.236/trunk@34484 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:43:29 +00:00
mcmullen%netscape.com
d980ad10cf Removed PrefsCore from appcores - it's now an autoregistered, idlized component.
git-svn-id: svn://10.0.0.236/trunk@34483 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:42:55 +00:00
andreas.otte%primus-online.de
093f16cf4e some cosmetics
git-svn-id: svn://10.0.0.236/trunk@34482 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:41:58 +00:00
andreas.otte%primus-online.de
8478385a66 remove export of header files
some cosmetics


git-svn-id: svn://10.0.0.236/trunk@34481 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:40:59 +00:00
mcmullen%netscape.com
533bb1d574 Added xpfe/components/prefwindow to unix build
git-svn-id: svn://10.0.0.236/trunk@34480 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:40:18 +00:00
ftang%netscape.com
910d64f269 add UCS2, UCS4, T61
git-svn-id: svn://10.0.0.236/trunk@34479 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:39:35 +00:00
andreas.otte%primus-online.de
748a144747 use LOCAL_INCLUDES to access base/src header files
some cosmetics


git-svn-id: svn://10.0.0.236/trunk@34478 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:39:08 +00:00
andreas.otte%primus-online.de
a4901508aa adding XPIDL_MODUL
some cosmetics


git-svn-id: svn://10.0.0.236/trunk@34477 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:37:42 +00:00
ftang%netscape.com
29694ff3f4 add UCS2/UCS4 and T61 to the makefile
git-svn-id: svn://10.0.0.236/trunk@34476 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:33:57 +00:00
ftang%netscape.com
cae1f83a53 add T61, UCS2, UCS4 converters
git-svn-id: svn://10.0.0.236/trunk@34475 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:33:07 +00:00
ftang%netscape.com
24d077ce8a fix incorrect GetMaxLength
git-svn-id: svn://10.0.0.236/trunk@34474 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:32:00 +00:00
ftang%netscape.com
785ce7670b add nsUConvDll.h
git-svn-id: svn://10.0.0.236/trunk@34473 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:26:48 +00:00
mang%subcarrier.org
972f33b580 fixed broken mailto: links
git-svn-id: svn://10.0.0.236/trunk@34472 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:23:35 +00:00
ftang%netscape.com
5c986abf57 add new scanner/generate type to support UCS2/4
git-svn-id: svn://10.0.0.236/trunk@34471 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:22:26 +00:00
ftang%netscape.com
a33b33f71f integrate rule base Thai line breaker (60% accurate)
git-svn-id: svn://10.0.0.236/trunk@34470 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:20:58 +00:00
pnunn%netscape.com
dd36038d2d with bug fix for #6045.pnunn.
git-svn-id: svn://10.0.0.236/trunk@34469 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:19:29 +00:00
dbragg%netscape.com
a1b6551e73 Added a progress bar
git-svn-id: svn://10.0.0.236/trunk@34468 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:16:59 +00:00
pnunn%netscape.com
e006b4b058 fix for bugz#6045 in if.cpp. pnunn.
git-svn-id: svn://10.0.0.236/trunk@34467 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:16:03 +00:00
pnunn%netscape.com
2988c8bcbb Clean up in IL_GetImage(). bugz#6045. pnunn.
git-svn-id: svn://10.0.0.236/trunk@34466 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:15:01 +00:00
mcmullen%netscape.com
445df872a7 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34465 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:14:24 +00:00
harishd%netscape.com
dccdd615d3 Fix for Bug# 6749
git-svn-id: svn://10.0.0.236/trunk@34464 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:10:30 +00:00
harishd%netscape.com
2b7f6ba4fb Fix for Bug#6749
Made </SCRIPT> and </STYLE> to represent document's case in viewsource.


git-svn-id: svn://10.0.0.236/trunk@34463 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:09:52 +00:00
slamm%netscape.com
86de352d6a Start with Sidebar closed by default. Bug #7851.
git-svn-id: svn://10.0.0.236/trunk@34462 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:06:09 +00:00
rjc%netscape.com
6cc072bdd8 Adding RDF Search datasource into build.
git-svn-id: svn://10.0.0.236/trunk@34461 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:04:23 +00:00
rjc%netscape.com
9cba895395 Adding RDF Search datasource.
git-svn-id: svn://10.0.0.236/trunk@34460 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:03:20 +00:00
law%netscape.com
a7a5e1a496 Adding for Mac
git-svn-id: svn://10.0.0.236/trunk@34459 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 20:00:36 +00:00
harishd%netscape.com
94e5aabc39 Fix for Bug#6056
git-svn-id: svn://10.0.0.236/trunk@34458 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:54:09 +00:00
Jerry.Kirk%Nexwarecorp.com
21de2e9959 - Bug 7794 Move $(TK_LIBS) further down in the library list.
git-svn-id: svn://10.0.0.236/trunk@34457 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:48:58 +00:00
harishd%netscape.com
35928d7fde Fix for Bug#7462.
<TEXTAREA> was collecting skipped content twice.


git-svn-id: svn://10.0.0.236/trunk@34456 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:47:37 +00:00
Jerry.Kirk%Nexwarecorp.com
13161996b7 - Bug 7794 Moving $(TK_LIBS) further down in the library list
git-svn-id: svn://10.0.0.236/trunk@34455 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:46:31 +00:00
nhotta%netscape.com
1500892775 Bug fix #7715, removing the hack (rev 3.95).
git-svn-id: svn://10.0.0.236/trunk@34454 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:45:00 +00:00
Jerry.Kirk%Nexwarecorp.com
b9a5a999cb - Adding support for Clipboard
git-svn-id: svn://10.0.0.236/trunk@34453 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:44:28 +00:00
Jerry.Kirk%Nexwarecorp.com
a4c96eb91a - Adding support for Clipboard under Photon
git-svn-id: svn://10.0.0.236/trunk@34452 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:43:53 +00:00
valeski%netscape.com
03943f1585 gave http it's own xpt module
git-svn-id: svn://10.0.0.236/trunk@34451 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:38:03 +00:00
valeski%netscape.com
596814c9b4 gave ftp it's own xpt module
git-svn-id: svn://10.0.0.236/trunk@34450 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:37:17 +00:00
rhp%netscape.com
30bbac4481 New file for back end reorganization
git-svn-id: svn://10.0.0.236/trunk@34449 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:34:33 +00:00
morse%netscape.com
31de283bea fixup logic regarding notification
git-svn-id: svn://10.0.0.236/trunk@34448 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:29:49 +00:00
law%netscape.com
6f521027d4 Fix openLocation dialog
git-svn-id: svn://10.0.0.236/trunk@34447 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:27:18 +00:00
Jerry.Kirk%Nexwarecorp.com
77b4440471 - Set an uninitialized variable that was breaking test08 + other rips
git-svn-id: svn://10.0.0.236/trunk@34446 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:24:25 +00:00
dp%netscape.com
d13afcc15a Switching to use Component Registry
git-svn-id: svn://10.0.0.236/trunk@34445 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:19:14 +00:00
dp%netscape.com
d1f07ef339 Using new Component Registry
git-svn-id: svn://10.0.0.236/trunk@34444 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:18:24 +00:00
dp%netscape.com
a334563929 Cleaning up silliness.
git-svn-id: svn://10.0.0.236/trunk@34443 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:17:50 +00:00
ssu%netscape.com
7dd5543dda Fixed bugs #6612 and #6910.
6612: AddSubcomponent now works when only one parameter is used.
  6910: Added Install.SetValueNumber() and Install.GetValueNumber()

Also fixed Install.GetValueString().


git-svn-id: svn://10.0.0.236/trunk@34442 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:17:24 +00:00
dp%netscape.com
725b2f99ce Well Known Component Registry in <exedir>/component.reg implemented.
git-svn-id: svn://10.0.0.236/trunk@34441 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:16:38 +00:00
dp%netscape.com
370efa8a1d Code cleanup
git-svn-id: svn://10.0.0.236/trunk@34440 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:15:08 +00:00
akkana%netscape.com
cabff886d3 Add alt-X and alt-shift-x for debug output html and text
git-svn-id: svn://10.0.0.236/trunk@34439 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:12:28 +00:00
danm%netscape.com
4ecbd9dacb add Bar properties to DOMWindow
git-svn-id: svn://10.0.0.236/trunk@34438 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:04:18 +00:00
danm%netscape.com
771acb9497 teach top-level windows to show/hide and query visible state of menubars
git-svn-id: svn://10.0.0.236/trunk@34437 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:03:24 +00:00
danm%netscape.com
55cfe73afc teach (or stub) nsWidget to show/hide and query visible state of menubars
git-svn-id: svn://10.0.0.236/trunk@34436 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 19:01:55 +00:00
danm%netscape.com
082ba71455 adding domwindow barproperty object
git-svn-id: svn://10.0.0.236/trunk@34435 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 18:59:04 +00:00
petitta%netscape.com
48c664666b updated to match changes in source code
git-svn-id: svn://10.0.0.236/trunk@34434 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 17:18:21 +00:00
petitta%netscape.com
58c89f189a updated to much new source code
git-svn-id: svn://10.0.0.236/trunk@34433 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 17:17:36 +00:00
valeski%netscape.com
91b099c77c added thread safety back in
git-svn-id: svn://10.0.0.236/trunk@34432 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 17:12:34 +00:00
slamm%netscape.com
ecc03beffb Update with changes from Ken Estes <kestes@staff.mail.com>.
git-svn-id: svn://10.0.0.236/trunk@34431 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 17:06:56 +00:00
andreas.otte%primus-online.de
1c95641985 nsNetModuleMgr.h has to be exported to be used by nsNetFactory
git-svn-id: svn://10.0.0.236/trunk@34430 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:52:28 +00:00
valeski%netscape.com
67fc1e3129 moved up into public dir
git-svn-id: svn://10.0.0.236/trunk@34429 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:33:46 +00:00
valeski%netscape.com
77295483a3 added nsNetModuleMgr.h to the src dir and added the Create method to the modMgr impl so it can be in the factory
git-svn-id: svn://10.0.0.236/trunk@34428 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:30:20 +00:00
valeski%netscape.com
965b29cd14 removed nsNetModuleMgr.h from the expport list. it now lives where it should in base/src
git-svn-id: svn://10.0.0.236/trunk@34427 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:28:54 +00:00
valeski%netscape.com
f8346bb575 added the external module manager to the factory for autoregistration
git-svn-id: svn://10.0.0.236/trunk@34426 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:28:12 +00:00
valeski%netscape.com
fbe83f8adc moved over to base/src
git-svn-id: svn://10.0.0.236/trunk@34425 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:21:00 +00:00
valeski%netscape.com
6cd3181afe no longer needed
git-svn-id: svn://10.0.0.236/trunk@34424 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:20:17 +00:00
valeski%netscape.com
32a2989a04 we weren't initializing the request
git-svn-id: svn://10.0.0.236/trunk@34423 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:01:50 +00:00
valeski%netscape.com
074e50bb58 api changes
git-svn-id: svn://10.0.0.236/trunk@34422 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:00:50 +00:00
valeski%netscape.com
ed61bcca4d compile issues
git-svn-id: svn://10.0.0.236/trunk@34421 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 14:00:05 +00:00
valeski%netscape.com
444754f752 interface changes
git-svn-id: svn://10.0.0.236/trunk@34420 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 13:58:51 +00:00
valeski%netscape.com
83a809c62a moved to base/src
git-svn-id: svn://10.0.0.236/trunk@34419 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 13:56:12 +00:00
ramiro%netscape.com
78c3d043eb Add ti_files.
git-svn-id: svn://10.0.0.236/trunk@34418 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 13:11:03 +00:00
Jerry.Kirk%Nexwarecorp.com
82f918aa99 - Changing #ifdef to support both GCC 2.7 and 2.8 and adding support
for NTO platform.


git-svn-id: svn://10.0.0.236/trunk@34417 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 12:34:07 +00:00
ramiro%netscape.com
adb0d9b5f1 Patch from Tomi Leppikangas <tomilepp@rak046.oulu.fi>.
Here is small patch for gtk to make it look a little better.
Size 15 gets checkboxes and radiobuttons centered nicely.


git-svn-id: svn://10.0.0.236/trunk@34416 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 12:27:38 +00:00
Jerry.Kirk%Nexwarecorp.com
efa71cc9a7 -Bug 6648 Added NTO define for color byte ordering. NTO defines
- XP_UNIX but it prefers the colors in the same order as Windows and Mac


git-svn-id: svn://10.0.0.236/trunk@34415 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 12:12:03 +00:00
Jerry.Kirk%Nexwarecorp.com
74fbbc42b1 -Bug 7541 Added inclusion of sys/select.h for NTO platform to define fd_set
git-svn-id: svn://10.0.0.236/trunk@34414 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 12:07:32 +00:00
ramiro%netscape.com
041dc1ae54 One last tweak to make this thing work.
git-svn-id: svn://10.0.0.236/trunk@34413 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 11:50:57 +00:00
ramiro%netscape.com
ad4c790544 Motif Ressurection. Thanks to Daniel Roberts <zuperdee@yahoo.com> for
doing the painful job of identifying everything that is missing and
stubbing it out.


git-svn-id: svn://10.0.0.236/trunk@34412 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 11:35:26 +00:00
hyatt%netscape.com
b0df24e48c %^&%^&%&^
git-svn-id: svn://10.0.0.236/trunk@34411 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:21:27 +00:00
ramiro%netscape.com
9b2e86a5c3 Port to KCC.
git-svn-id: svn://10.0.0.236/trunk@34410 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:20:12 +00:00
hyatt%netscape.com
d0c8de6da2 Berating myself in one of my comments.
git-svn-id: svn://10.0.0.236/trunk@34409 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:18:32 +00:00
hyatt%netscape.com
3e5f66f671 Enabling some sample popup menus.
git-svn-id: svn://10.0.0.236/trunk@34408 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:14:30 +00:00
hyatt%netscape.com
9afad6ed83 Ok.
git-svn-id: svn://10.0.0.236/trunk@34407 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:13:46 +00:00
hyatt%netscape.com
b3adcfe170 More oops.
git-svn-id: svn://10.0.0.236/trunk@34406 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:10:18 +00:00
ramiro%netscape.com
1337494985 Port to KCC.
git-svn-id: svn://10.0.0.236/trunk@34405 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:09:47 +00:00
hyatt%netscape.com
4a776d4d0b Sigh.
git-svn-id: svn://10.0.0.236/trunk@34404 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:08:35 +00:00
ramiro%netscape.com
58110cdb96 This is all C code.
git-svn-id: svn://10.0.0.236/trunk@34403 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:08:12 +00:00
mccabe%netscape.com
08eb72105b removed files: mozilla/xpcom/typelib/xpidl/xpidl_stub.c
git-svn-id: svn://10.0.0.236/trunk@34402 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:46:07 +00:00
mccabe%netscape.com
a6da7e3cd8 Removing remnants of stubs-generation mode.
git-svn-id: svn://10.0.0.236/trunk@34401 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:45:49 +00:00
hyatt%netscape.com
4091439102 Oops.
git-svn-id: svn://10.0.0.236/trunk@34400 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:44:01 +00:00
hyatt%netscape.com
554e18d05b Context menus on windows now know about alignment.
git-svn-id: svn://10.0.0.236/trunk@34399 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:39:06 +00:00
hyatt%netscape.com
c3866c9e79 Teaching context menus about alignment.
git-svn-id: svn://10.0.0.236/trunk@34398 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:30:40 +00:00
hyatt%netscape.com
eb3ae6604b Passing the popup alignment info along.
git-svn-id: svn://10.0.0.236/trunk@34397 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:24:10 +00:00
hyatt%netscape.com
c36988d177 The editor popups are positioned properly.
git-svn-id: svn://10.0.0.236/trunk@34396 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:09:58 +00:00
hyatt%netscape.com
85cb484926 The translate menu is the master of evil.
git-svn-id: svn://10.0.0.236/trunk@34395 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:06:33 +00:00
hyatt%netscape.com
67b0713a62 Popups know how to shag, baby.
git-svn-id: svn://10.0.0.236/trunk@34394 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:05:53 +00:00
hyatt%netscape.com
c25770fedd Popups put the "grrrr!" in "swinger", baby!
git-svn-id: svn://10.0.0.236/trunk@34393 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:03:15 +00:00
hyatt%netscape.com
bfb714e576 Yeah, baby, yeah, baby, YEAH.
git-svn-id: svn://10.0.0.236/trunk@34392 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 09:02:35 +00:00
briano%netscape.com
5b61273847 Fix for FreeBSD 2.x builds.
git-svn-id: svn://10.0.0.236/trunk@34391 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:43:51 +00:00
hyatt%netscape.com
a7f06431d9 Ok, everything's peachy on the RDF end. Time to work on the front end.
git-svn-id: svn://10.0.0.236/trunk@34390 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:39:10 +00:00
hyatt%netscape.com
5b2065032e Altering the args for createPopup.
git-svn-id: svn://10.0.0.236/trunk@34389 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:36:06 +00:00
waterson%netscape.com
3e05078ed6 Add nsRDFContentUtils fns to dlldeps, as they are used from rdfdatasource_s.lib now.
git-svn-id: svn://10.0.0.236/trunk@34388 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:32:17 +00:00
waterson%netscape.com
32b80e3a09 Fix incorrect RDF usage; replace 'ID=' with 'about=' where appropriate.
git-svn-id: svn://10.0.0.236/trunk@34387 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:31:47 +00:00
waterson%netscape.com
a7e3640191 Don't rely on rdf_PossiblyMake[Relative|Absolute](); rather, use XUL-specific functions to do it.
git-svn-id: svn://10.0.0.236/trunk@34386 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:30:47 +00:00
briano%netscape.com
a56f472adf Automated update
git-svn-id: svn://10.0.0.236/trunk@34385 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:29:52 +00:00
waterson%netscape.com
75fa8d657f Bug 7440. Replace rdf_PossiblyMakeRelative() and rdf_PossiblyMakeAbsolute(); use NS_MakeAbsoluteURL() to create absolute URLs, when constructing relative, distinguish between 'name' and 'ref' sites (e.g., 'foo' vs. '#foo'). Misc other fixes to the RDF content sink.
git-svn-id: svn://10.0.0.236/trunk@34384 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:29:51 +00:00
hyatt%netscape.com
5632d597ba Altering the idl for createPopup.
git-svn-id: svn://10.0.0.236/trunk@34383 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:25:07 +00:00
briano%netscape.com
cf71c2e029 Oops, left out one of the two dashes.
git-svn-id: svn://10.0.0.236/trunk@34382 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:22:26 +00:00
briano%netscape.com
0636ecea47 Added a patch for IRIX 6.x submitted by jasonh@engr.sgi.com.
git-svn-id: svn://10.0.0.236/trunk@34381 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:17:01 +00:00
hyatt%netscape.com
de91f5ae9b Updating popups to use screen coordinates instead of being hardcoded to (50,50).
git-svn-id: svn://10.0.0.236/trunk@34380 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 08:00:27 +00:00
hyatt%netscape.com
a4990a8363 Fixing build bustage.
git-svn-id: svn://10.0.0.236/trunk@34379 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 07:51:52 +00:00
joki%netscape.com
7cb2ba1a65 Fixing event coordinates to give screen based info. Also fixing direct reference to frames via their names.
git-svn-id: svn://10.0.0.236/trunk@34378 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 07:38:26 +00:00
warren%netscape.com
a6626ea66d Removed nsIByteBufferInputStream - obsolete.
git-svn-id: svn://10.0.0.236/trunk@34377 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 06:48:38 +00:00
warren%netscape.com
0a220b88ad Cleaned up the nsIBuffer interface, added comments, etc.
git-svn-id: svn://10.0.0.236/trunk@34376 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 06:41:32 +00:00
mscott%netscape.com
3817aa452b Use NS_WITH_SERVICE1 which uses the service manager that was passed in to
NSRegisterSelf / NSUnregisterSelf.


git-svn-id: svn://10.0.0.236/trunk@34375 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 06:40:48 +00:00
sspitzer%netscape.com
e0486d146d fix windows build breakage.
git-svn-id: svn://10.0.0.236/trunk@34374 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 06:18:08 +00:00
hyatt%netscape.com
a056c0dfa5 More content model tweaks.
git-svn-id: svn://10.0.0.236/trunk@34373 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 05:45:15 +00:00
sspitzer%netscape.com
9091203500 more fix for SunOS and other UNIX platform build bustage.
I don't need to include the .idl file since I'm not deriving from it.
but as I side effect, I need to add the include to the other .h file.


git-svn-id: svn://10.0.0.236/trunk@34372 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 05:42:57 +00:00
sspitzer%netscape.com
4555b39ff0 fix for build bustage on SunOS and other unix platforms..(but curiously, not
windows, mac, or linux.)

since we aren't deriving from these interfaces, I only need to declare
them as interfaces.  I don't have to include the idl files.


git-svn-id: svn://10.0.0.236/trunk@34370 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 05:22:30 +00:00
warren%netscape.com
14d73e7f5b Added ReadSegments and WriteSegments to nsIBuffer to avoid the need to allocate intermediate buffers.
git-svn-id: svn://10.0.0.236/trunk@34369 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 04:52:47 +00:00
ftang%netscape.com
7dc5c992ea add cp1255, 1256, 866 converters
git-svn-id: svn://10.0.0.236/trunk@34368 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 04:19:13 +00:00
ftang%netscape.com
41dd2f7332 add 1255, 1256, 866
git-svn-id: svn://10.0.0.236/trunk@34367 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 04:05:12 +00:00
ftang%netscape.com
6e9718443a add cp1255,1256,866 converter files
git-svn-id: svn://10.0.0.236/trunk@34366 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 04:02:18 +00:00
mcafee%netscape.com
e179eabb97 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@34365 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 04:02:15 +00:00
mcafee%netscape.com
3278bc46f4 Proper use of parens.
git-svn-id: svn://10.0.0.236/trunk@34364 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 04:00:57 +00:00
ftang%netscape.com
f524f0e259 add new mapping tables
git-svn-id: svn://10.0.0.236/trunk@34363 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:50:07 +00:00
ftang%netscape.com
5354c5e7b5 add GB2312 GL converter
git-svn-id: svn://10.0.0.236/trunk@34362 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:42:03 +00:00
ramiro%netscape.com
5e3d81475b Remove cruft.
git-svn-id: svn://10.0.0.236/trunk@34361 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:37:05 +00:00
warren%netscape.com
d2b1868514 Added nscore.h to nsrootidl.idl for PRUnichar.
git-svn-id: svn://10.0.0.236/trunk@34360 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:19:10 +00:00
tague%netscape.com
c14a08ca40 Conditional fix for #7629. Only builds with a conditional set in my environment
git-svn-id: svn://10.0.0.236/trunk@34359 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:17:56 +00:00
ftang%netscape.com
74bd7637a5 add cid and class mapping
git-svn-id: svn://10.0.0.236/trunk@34358 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:17:50 +00:00
rogerl%netscape.com
44ea3bf179 New
git-svn-id: svn://10.0.0.236/trunk@34357 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:10:30 +00:00
rogerl%netscape.com
06986144aa tried adding some lexical scoping to the leftmost identifier
git-svn-id: svn://10.0.0.236/trunk@34356 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:10:09 +00:00
selmer%netscape.com
39394063cf Fix dialog conditionals
git-svn-id: svn://10.0.0.236/trunk@34355 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 03:02:49 +00:00
selmer%netscape.com
6fdb7aa05b fixed dialog for rename
git-svn-id: svn://10.0.0.236/trunk@34354 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:56:07 +00:00
selmer%netscape.com
c19c6afa08 rename dialog
git-svn-id: svn://10.0.0.236/trunk@34353 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:55:49 +00:00
hangas%netscape.com
286f876bf7 Changed Address Book window to show selected card only when a single card is selected. Multi-selection and no selection shows no card.
git-svn-id: svn://10.0.0.236/trunk@34352 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:39:56 +00:00
tague%netscape.com
f8488c360a Fix for #7798: Spelling error in locale GetCategory API. Made one change to mailnews to reflect new spelling
git-svn-id: svn://10.0.0.236/trunk@34351 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:37:14 +00:00
cmanske%netscape.com
f46ece1554 Fixed fingers-to-quick checkin error
git-svn-id: svn://10.0.0.236/trunk@34350 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:28:47 +00:00
cmanske%netscape.com
45befba712 Moved destination of editor string bundle file to editor's chrome directory
git-svn-id: svn://10.0.0.236/trunk@34349 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:26:48 +00:00
cmanske%netscape.com
298e72c3e6 Added string bundle file to Mac manifest file
git-svn-id: svn://10.0.0.236/trunk@34348 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:16:48 +00:00
cmanske%netscape.com
bb01c623c9 Added string bundle file
git-svn-id: svn://10.0.0.236/trunk@34347 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:12:52 +00:00
sfraser%netscape.com
0d7d3f799e Added Network shared lib to fix bustage.
git-svn-id: svn://10.0.0.236/trunk@34346 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 02:09:24 +00:00
jefft%netscape.com
75db693647 added GetTransactionManager() method
git-svn-id: svn://10.0.0.236/trunk@34345 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:31:01 +00:00
jefft%netscape.com
f41673bfbd added readonly attribute nsITransactionManager transactionManager
git-svn-id: svn://10.0.0.236/trunk@34344 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:30:27 +00:00
cmanske%netscape.com
5cc87fa56e Added support for prefs and string bundles for editor, various bug fixes, preliminary Horizontal Line dialog work
git-svn-id: svn://10.0.0.236/trunk@34343 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:27:08 +00:00
cmanske%netscape.com
9ee8cd5583 Changed back to '.' selector for titledbutton class. Simplified borderless titlebutton CSS
git-svn-id: svn://10.0.0.236/trunk@34342 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:26:00 +00:00
hyatt%netscape.com
b92179cf5c Changed event names to "create" and "destroy"
git-svn-id: svn://10.0.0.236/trunk@34341 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:11:39 +00:00
hyatt%netscape.com
7af8deae73 Changed events names to "create" and "destroy".
git-svn-id: svn://10.0.0.236/trunk@34340 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:11:22 +00:00
hyatt%netscape.com
0f2b50816a Fix that makes the blur handler ultra-paranoid. It sanity checks its target before
closing the window.  (I'm having to do this since focus/blur events bubble. @#$@#$%#)


git-svn-id: svn://10.0.0.236/trunk@34339 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:07:31 +00:00
cyeh%netscape.com
d5e0d681e5 create toplevel chrome directory in $(DIST)/bin per hyatt spec
git-svn-id: svn://10.0.0.236/trunk@34338 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:05:52 +00:00
valeski%netscape.com
637c0c4cf7 added nsIHTTPNotify.idl to the idl list on unix
git-svn-id: svn://10.0.0.236/trunk@34337 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:02:37 +00:00
valeski%netscape.com
ac3516569d added external module files to unix builds
git-svn-id: svn://10.0.0.236/trunk@34336 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:01:59 +00:00
valeski%netscape.com
0168c86d7a added idl srcs to unix mkfile
git-svn-id: svn://10.0.0.236/trunk@34335 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:01:17 +00:00
hyatt%netscape.com
7f719b4853 Added some box stuff for selmer.
git-svn-id: svn://10.0.0.236/trunk@34334 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 01:00:04 +00:00
akkana%netscape.com
c9c1296e38 7720: fix regression caused by attempting to fix XIF handling of comments
git-svn-id: svn://10.0.0.236/trunk@34333 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:48:21 +00:00
ftang%netscape.com
b7e01cc097 add new CIDs
git-svn-id: svn://10.0.0.236/trunk@34332 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:40:18 +00:00
hyatt%netscape.com
302054f955 Tweaking interface for focus stuff.
git-svn-id: svn://10.0.0.236/trunk@34331 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:35:46 +00:00
alecf%netscape.com
ac11dad736 remove unnecessary files, and fixup includes to avoid use of %{C++
git-svn-id: svn://10.0.0.236/trunk@34330 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:34:51 +00:00
briano%netscape.com
284cb51917 Automated update
git-svn-id: svn://10.0.0.236/trunk@34329 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:29:53 +00:00
briano%netscape.com
8db344082f Override the results of the archive extraction flag test for NetBSD and older FreeBSDs.
git-svn-id: svn://10.0.0.236/trunk@34328 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:28:05 +00:00
selmer%netscape.com
35e195d338 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@34327 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:26:56 +00:00
briano%netscape.com
0f2b0cb13a Looks like FreeBSD needs to exclude __.SYMDEF as well.
git-svn-id: svn://10.0.0.236/trunk@34326 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:26:27 +00:00
selmer%netscape.com
ab433ffa4a row selection works!
git-svn-id: svn://10.0.0.236/trunk@34325 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:25:33 +00:00
selmer%netscape.com
9f4e82f302 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@34324 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:24:52 +00:00
alecf%netscape.com
f1782c29bd don't export these files on unix
git-svn-id: svn://10.0.0.236/trunk@34323 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:23:37 +00:00
alecf%netscape.com
413a2af13e these files are now generated
git-svn-id: svn://10.0.0.236/trunk@34322 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:23:01 +00:00
alecf%netscape.com
8585d8b4fa start doing XPIDL on windows in local
git-svn-id: svn://10.0.0.236/trunk@34321 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:20:38 +00:00
ftang%netscape.com
6f17d10149 add new CIDs
git-svn-id: svn://10.0.0.236/trunk@34320 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:15:50 +00:00
hyatt%netscape.com
5079f0a9d2 Fixing a bug with allowevents in the tree view.
git-svn-id: svn://10.0.0.236/trunk@34319 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 00:04:25 +00:00
ftang%netscape.com
9167b84331 add new CIDs
git-svn-id: svn://10.0.0.236/trunk@34318 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:53:22 +00:00
ftang%netscape.com
1af875416f fix typo
git-svn-id: svn://10.0.0.236/trunk@34317 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:44:51 +00:00
ftang%netscape.com
10fa44a00a add new CIDs
git-svn-id: svn://10.0.0.236/trunk@34316 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:44:50 +00:00
ftang%netscape.com
7446424a69 add x window font charset converters
git-svn-id: svn://10.0.0.236/trunk@34315 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:31:56 +00:00
mcmullen%netscape.com
df063c42e1 Fix the typo in the name of unix.js, and fix the asserts.
git-svn-id: svn://10.0.0.236/trunk@34314 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:31:15 +00:00
ftang%netscape.com
576bea3a90 add no CNS 11643 p1 and p2
git-svn-id: svn://10.0.0.236/trunk@34313 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:25:15 +00:00
ftang%netscape.com
55df9d517b add no ASCII Big5
git-svn-id: svn://10.0.0.236/trunk@34312 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:24:05 +00:00
ftang%netscape.com
372a20dfd5 add KSC5601
git-svn-id: svn://10.0.0.236/trunk@34311 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:23:07 +00:00
ftang%netscape.com
721983551c add GB2312 GL
git-svn-id: svn://10.0.0.236/trunk@34310 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:22:23 +00:00
mcmullen%netscape.com
eb1ffa3a60 Updated URLs to the new .xul files.
git-svn-id: svn://10.0.0.236/trunk@34309 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:20:28 +00:00
mcmullen%netscape.com
69ecff015f Fixed an entity reference
git-svn-id: svn://10.0.0.236/trunk@34308 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:19:07 +00:00
mcmullen%netscape.com
25463565c0 Bulletproofing.
git-svn-id: svn://10.0.0.236/trunk@34307 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:18:27 +00:00
ftang%netscape.com
4d49aeac5e add CNS11643 converters
git-svn-id: svn://10.0.0.236/trunk@34306 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:14:26 +00:00
valeski%netscape.com
4f596d061e removing this as it's been depricated to public dir
git-svn-id: svn://10.0.0.236/trunk@34305 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:14:08 +00:00
ftang%netscape.com
62c337e5d0 add No ASCII big5 converters
git-svn-id: svn://10.0.0.236/trunk@34304 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:13:06 +00:00
ftang%netscape.com
b340c92cd2 add convert to GB2312 GL files
git-svn-id: svn://10.0.0.236/trunk@34303 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:11:46 +00:00
ftang%netscape.com
e78377edd1 add KSC5601 converter files
git-svn-id: svn://10.0.0.236/trunk@34302 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:10:54 +00:00
ftang%netscape.com
3f952e455e add Unicode to JIS converters files
git-svn-id: svn://10.0.0.236/trunk@34301 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:09:50 +00:00
hyatt%netscape.com
d3cca3c5db Controller stuff.
git-svn-id: svn://10.0.0.236/trunk@34300 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 23:04:24 +00:00
alecf%netscape.com
17c3d0b033 get rid of generated headers
git-svn-id: svn://10.0.0.236/trunk@34299 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:50:58 +00:00
hangas%netscape.com
bb3197f863 Added code to clear the card view when changing address books.
git-svn-id: svn://10.0.0.236/trunk@34298 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:50:43 +00:00
hangas%netscape.com
d14d046cc5 Cleaned up row selection styles.
git-svn-id: svn://10.0.0.236/trunk@34297 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:50:01 +00:00
jband%netscape.com
da45e7f10c Fix build bustage. Will come back and do it right
git-svn-id: svn://10.0.0.236/trunk@34296 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:49:01 +00:00
briano%netscape.com
f3ae589f0e Fix for bug 7756. Thanks to jim_nance@yahoo.com for the original idea.
git-svn-id: svn://10.0.0.236/trunk@34295 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:32:31 +00:00
hyatt%netscape.com
cb3af301d3 Fix Linux bustage.
git-svn-id: svn://10.0.0.236/trunk@34294 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:29:58 +00:00
jefft%netscape.com
48ce9c78b2 added Undo/Redo method
git-svn-id: svn://10.0.0.236/trunk@34293 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:15:58 +00:00
jefft%netscape.com
3992aeebeb added Undo/Redo method; construct instance of nsTransactionManager in InitializeFolderRoot()
git-svn-id: svn://10.0.0.236/trunk@34292 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:15:04 +00:00
sfraser%netscape.com
da9bcac667 Back out pierre change, so that NS_ASSERTION calls DebugStr once again. Doing this on the basis of consensus at 7/6 macdev meeting.
git-svn-id: svn://10.0.0.236/trunk@34291 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:13:40 +00:00
hyatt%netscape.com
5002510d43 added files: mozilla/rdf/base/idl/nsIController.idl, mozilla/rdf/base/idl/nsIGenericCommandSet.idl
git-svn-id: svn://10.0.0.236/trunk@34290 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:00:58 +00:00
hyatt%netscape.com
587bb51013 Woo woo. Focus implementation.
git-svn-id: svn://10.0.0.236/trunk@34289 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:58:55 +00:00
hyatt%netscape.com
d83c36dd0f Adding new idl.
git-svn-id: svn://10.0.0.236/trunk@34288 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:58:32 +00:00
akkana%netscape.com
d0bcfd4327 5380: middle-mouse paste to correct position in the editor
git-svn-id: svn://10.0.0.236/trunk@34287 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:51:40 +00:00
jband%netscape.com
c27bc67a4b Adding Irix implementation from Jason Heirtzler <jasonh@cthulhu.engr.sgi.com>
git-svn-id: svn://10.0.0.236/trunk@34286 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:49:30 +00:00
hyatt%netscape.com
b60353da3f Fix for bug #7786.
git-svn-id: svn://10.0.0.236/trunk@34285 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:48:41 +00:00
amasri%netscape.com
7a12fa043a added extra tests for version 2.0
added timing changes to help stabilize bitmap


git-svn-id: svn://10.0.0.236/trunk@34284 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:44:48 +00:00
phillip%netscape.com
0a0bb4ed48 mad script executable, fixed relative path issues.
git-svn-id: svn://10.0.0.236/trunk@34283 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:38:35 +00:00
mcmullen%netscape.com
14ecefdf5e Turned on building of the prefwindow component for Macintosh
git-svn-id: svn://10.0.0.236/trunk@34282 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:36:36 +00:00
amasri%netscape.com
81ddf5fe49 changed Invoke() method to give better error messages
changed iBitmapWait to 90 to account for i18n sites


git-svn-id: svn://10.0.0.236/trunk@34281 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:35:30 +00:00
selmer%netscape.com
0c64adbeaf working on popups
git-svn-id: svn://10.0.0.236/trunk@34280 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:34:19 +00:00
mcmullen%netscape.com
f4b80d5fd8 Turned on the prefwindow subdirectory on windows
git-svn-id: svn://10.0.0.236/trunk@34279 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:33:56 +00:00
amasri%netscape.com
aa5b1f951b added extra tests for version 2.0
added i18n tests


git-svn-id: svn://10.0.0.236/trunk@34278 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:32:22 +00:00
amasri%netscape.com
423ddcdaf9 added extra tests for version 2.0
added i18n tests


git-svn-id: svn://10.0.0.236/trunk@34277 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:30:39 +00:00
waterson%netscape.com
3b9fc69f44 Obsolete. Generated from nsICollection.idl now.
git-svn-id: svn://10.0.0.236/trunk@34276 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:28:42 +00:00
mcmullen%netscape.com
3d04c0bad5 Fixed the module names
git-svn-id: svn://10.0.0.236/trunk@34275 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:28:23 +00:00
matt%netscape.com
c14a8e16ad Fixeing bug 4795
git-svn-id: svn://10.0.0.236/trunk@34274 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:27:57 +00:00
waterson%netscape.com
16a5ea4c15 Obsolete. Generated from nsIEnumerator.idl now.
git-svn-id: svn://10.0.0.236/trunk@34273 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:27:47 +00:00
sfraser%netscape.com
bb7532935e Turn off debugging table border.
git-svn-id: svn://10.0.0.236/trunk@34272 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:27:05 +00:00
sspitzer%netscape.com
e88ec76817 turn off my debugging printfs.
git-svn-id: svn://10.0.0.236/trunk@34271 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:25:39 +00:00
mcmullen%netscape.com
3bcdf27e45 added a cast
git-svn-id: svn://10.0.0.236/trunk@34270 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:23:41 +00:00
pinkerton%netscape.com
ebc2d06273 File Removed.
git-svn-id: svn://10.0.0.236/trunk@34269 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:23:36 +00:00
law%netscape.com
2d45ab829d XPIDLifying app shell components
git-svn-id: svn://10.0.0.236/trunk@34268 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:23:21 +00:00
pinkerton%netscape.com
36c6cca200 don't export imagebutton or menu button stuff, again. obsolete.
git-svn-id: svn://10.0.0.236/trunk@34267 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:23:18 +00:00
matt%netscape.com
992229e94a fixing bug 7155
git-svn-id: svn://10.0.0.236/trunk@34266 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:21:15 +00:00
mcmullen%netscape.com
98e6c376ad Added MODULE=
git-svn-id: svn://10.0.0.236/trunk@34265 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:19:07 +00:00
ftang%netscape.com
bf6f829561 add rulebrk.c back
git-svn-id: svn://10.0.0.236/trunk@34264 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:18:52 +00:00
mcmullen%netscape.com
1d4e4f09e4 ...
git-svn-id: svn://10.0.0.236/trunk@34263 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:18:05 +00:00
mcmullen%netscape.com
2408e32596 Forgot the damned ./
git-svn-id: svn://10.0.0.236/trunk@34262 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:13:56 +00:00
ftang%netscape.com
c4362cd5f8 change the fake lang string to null to improve performance
git-svn-id: svn://10.0.0.236/trunk@34261 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:13:06 +00:00
ftang%netscape.com
b1c3f1b226 do bit compar before do string compare to imporve performance
git-svn-id: svn://10.0.0.236/trunk@34260 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:12:20 +00:00
alla%lysator.liu.se
e0ac832aab Now compiles with HEAD
Had to do a ugly -DMOD_DLL_SUFFIX=\".so\" in the Makefile.
Will break on some platforms, but i suck at autoconf...


git-svn-id: svn://10.0.0.236/trunk@34259 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:10:18 +00:00
ftang%netscape.com
087e93c985 add nspr3 to the lib list
git-svn-id: svn://10.0.0.236/trunk@34258 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:09:51 +00:00
ftang%netscape.com
31d6d1c9a5 add new locale to charset mapping
git-svn-id: svn://10.0.0.236/trunk@34257 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:09:33 +00:00
putterman%netscape.com
eb1d5ccb9f Use onchange in threadPane and make selected color white.
git-svn-id: svn://10.0.0.236/trunk@34256 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:08:12 +00:00
ftang%netscape.com
c83f3a7da6 fix Chinease/Korean encoder problem
git-svn-id: svn://10.0.0.236/trunk@34255 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:06:47 +00:00
morse%netscape.com
258538bee2 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@34254 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:06:22 +00:00
jband%netscape.com
fcf49b32de removing unused file
git-svn-id: svn://10.0.0.236/trunk@34253 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:05:19 +00:00
putterman%netscape.com
832e50712e Check in fix for hyatt. Don't crash when closing a window after onchange
has been called.


git-svn-id: svn://10.0.0.236/trunk@34252 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 21:04:02 +00:00
law%netscape.com
e8100f1ad2 Display links in status bar when moused over
git-svn-id: svn://10.0.0.236/trunk@34251 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:59:41 +00:00
mcmullen%netscape.com
3ada190f0c Continuing development. (Still not in build).
git-svn-id: svn://10.0.0.236/trunk@34250 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:57:54 +00:00
warren%netscape.com
d9b1c6a72f Moved WriteFrom to nsIBufferOutputStream. Made necko pass around buffer streams.
git-svn-id: svn://10.0.0.236/trunk@34249 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:57:32 +00:00
norris%netscape.com
83c191892d Small reduction in code size.
git-svn-id: svn://10.0.0.236/trunk@34248 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:57:19 +00:00
matt%netscape.com
7037f23f47 fixing bug 6894 for the security guys
git-svn-id: svn://10.0.0.236/trunk@34247 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:52:33 +00:00
mcmullen%netscape.com
61c06327eb Continuing development (not yet in build).
git-svn-id: svn://10.0.0.236/trunk@34246 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:51:34 +00:00
mcmullen%netscape.com
2cbcddde7f Continuing development (not yet in build)
git-svn-id: svn://10.0.0.236/trunk@34245 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:48:34 +00:00
matt%netscape.com
0395ecfb60 adding pref-advanced.xul 6894
git-svn-id: svn://10.0.0.236/trunk@34244 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:45:37 +00:00
morse%netscape.com
9002ae199a fix wallet editor
git-svn-id: svn://10.0.0.236/trunk@34243 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:42:55 +00:00
matt%netscape.com
fa8e80aa1d Taking out prefbottom.xul from makefiles
git-svn-id: svn://10.0.0.236/trunk@34242 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:38:35 +00:00
matt%netscape.com
c710d1e279 fixing bug 6483
git-svn-id: svn://10.0.0.236/trunk@34241 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:33:40 +00:00
matt%netscape.com
48ab4f6525 fixing bugs 6468 and
6482


git-svn-id: svn://10.0.0.236/trunk@34240 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:30:08 +00:00
morse%netscape.com
642b2f087f fix wallet editor
git-svn-id: svn://10.0.0.236/trunk@34239 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:27:58 +00:00
matt%netscape.com
7f2b1c8a75 removing prefbottom.html since we don't use it anymore
git-svn-id: svn://10.0.0.236/trunk@34238 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:23:38 +00:00
hangas%netscape.com
69ec94f111 Cleaned up results pane of address book. Added select entire line code.
git-svn-id: svn://10.0.0.236/trunk@34237 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:21:53 +00:00
morse%netscape.com
c2374d293f BrowserAppCore.idl
git-svn-id: svn://10.0.0.236/trunk@34236 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:19:03 +00:00
valeski%netscape.com
7afe7bd16b updated the external module stuff
git-svn-id: svn://10.0.0.236/trunk@34235 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:15:26 +00:00
valeski%netscape.com
bf64c89334 added nsNetModuleMgr.cpp to the necko library. also made various changes to modEntry and modMgr implementations.
git-svn-id: svn://10.0.0.236/trunk@34234 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:12:53 +00:00
morse%netscape.com
399120094b editor
git-svn-id: svn://10.0.0.236/trunk@34233 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:12:36 +00:00
valeski%netscape.com
ab9a793482 added moduelMgr and ModRegEntry idls to the idl list. also updated the nsINetModuleMgr.idl interface
git-svn-id: svn://10.0.0.236/trunk@34232 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:11:53 +00:00
valeski%netscape.com
9d4154956a we were freeing a static buf
git-svn-id: svn://10.0.0.236/trunk@34231 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:09:43 +00:00
valeski%netscape.com
3c272f6406 adding the module registery entry idl file
git-svn-id: svn://10.0.0.236/trunk@34230 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:03:48 +00:00
valeski%netscape.com
7c86760dbe adding the module mgr header and the entry header
git-svn-id: svn://10.0.0.236/trunk@34228 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 20:02:53 +00:00
valeski%netscape.com
1318c22b6b we were erroneously freeing static mem.
git-svn-id: svn://10.0.0.236/trunk@34227 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:59:43 +00:00
matt%netscape.com
9de36f5fa3 Adding navigator.xul fix for bug 7035
git-svn-id: svn://10.0.0.236/trunk@34226 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:53:48 +00:00
locka%iol.ie
caf3065e01 Added some dynamic window resizing
git-svn-id: svn://10.0.0.236/trunk@34225 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:29:52 +00:00
joki%netscape.com
90d260e83f Fixing coords for click event since by not setting them at all before they were unlikely to be correct.
git-svn-id: svn://10.0.0.236/trunk@34224 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:28:52 +00:00
alecf%netscape.com
b32e651c72 ignore generated files
git-svn-id: svn://10.0.0.236/trunk@34223 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:20:01 +00:00
alecf%netscape.com
89d4fb8624 localize this file by using entities
git-svn-id: svn://10.0.0.236/trunk@34222 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:18:44 +00:00
jefft%netscape.com
bd0cbfa235 make sure we destroy the nsMessenger object after we close down the messenger window; call Release() in OnUnload() method
git-svn-id: svn://10.0.0.236/trunk@34221 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:05:40 +00:00
warren%netscape.com
6342442bae Added back in user agent stuff.
git-svn-id: svn://10.0.0.236/trunk@34220 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:04:13 +00:00
alecf%netscape.com
f6b4993bd9 remove the stupid dialog opening code
git-svn-id: svn://10.0.0.236/trunk@34219 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:02:43 +00:00
joki%netscape.com
f9357bc0c0 Fix hover state crash at document change. Bug 6580
git-svn-id: svn://10.0.0.236/trunk@34218 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 19:01:56 +00:00
alecf%netscape.com
592da646d0 open account manager with window.openDialog()
git-svn-id: svn://10.0.0.236/trunk@34217 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:57:55 +00:00
alecf%netscape.com
eee7aa5d60 add search makefiles to list (doesn't make search part of the build)
git-svn-id: svn://10.0.0.236/trunk@34216 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:44:48 +00:00
sspitzer%netscape.com
b18e748574 25 is the right max for Mac. from ns/lib/libmsg/newshost.cpp in the old world.
git-svn-id: svn://10.0.0.236/trunk@34215 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:33:30 +00:00
warren%netscape.com
36282c2a4a Added NewChannel method.
git-svn-id: svn://10.0.0.236/trunk@34214 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:28:10 +00:00
jefft%netscape.com
5befe20b98 accomodate alecf's name change for CloseMessenger()
git-svn-id: svn://10.0.0.236/trunk@34213 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:15:01 +00:00
hyatt%netscape.com
406ce053f6 Fix for a crash in the onchange handler of tree views on exit.
git-svn-id: svn://10.0.0.236/trunk@34212 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:12:47 +00:00
kmcclusk%netscape.com
1395c98675 Replaced reference with pointer for accessing plainFont in nsTextFrame::Reflow.
git-svn-id: svn://10.0.0.236/trunk@34211 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:12:20 +00:00
cbegle%netscape.com
bfd3a64713 Fix constructor test to match the constructors in DataTypeClass.java
git-svn-id: svn://10.0.0.236/trunk@34210 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:07:15 +00:00
cbegle%netscape.com
a076943e46 Add constructor tests.
git-svn-id: svn://10.0.0.236/trunk@34209 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:06:28 +00:00
mscott%netscape.com
9393d67233 Bug #6722 -- part of PR_Open removal.
git-svn-id: svn://10.0.0.236/trunk@34208 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 18:04:30 +00:00
putterman%netscape.com
f97f887fd5 Selection now selects the entire line. Folder pane no longer wraps.
git-svn-id: svn://10.0.0.236/trunk@34207 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 17:47:28 +00:00
valeski%netscape.com
d50b9b4b58 removed this one. good one is in mozilla/netwerk/protocol/http/public
git-svn-id: svn://10.0.0.236/trunk@34206 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 17:10:25 +00:00
selmer%netscape.com
eaeb84e88f use correct css file - duh.
git-svn-id: svn://10.0.0.236/trunk@34205 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 17:08:18 +00:00
valeski%netscape.com
c153a60bfd added root notification idl
git-svn-id: svn://10.0.0.236/trunk@34204 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 17:07:39 +00:00
valeski%netscape.com
a71f6c15f1 added nsINetNotify.idl to idl list
git-svn-id: svn://10.0.0.236/trunk@34203 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 17:07:09 +00:00
valeski%netscape.com
021800d963 added nsIHttpNotify.idl to the idl srcs list
git-svn-id: svn://10.0.0.236/trunk@34202 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 16:40:44 +00:00
valeski%netscape.com
bb715f5868 changed method names to match new symantics
git-svn-id: svn://10.0.0.236/trunk@34201 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 16:39:48 +00:00
cbegle%netscape.com
1654607cbd Object getters should return the same object set in the object setters,
and not create a new object.


git-svn-id: svn://10.0.0.236/trunk@34200 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 16:27:43 +00:00
andreas.otte%primus-online.de
7b8754c15c removed obsolete (I think) endless while loop from run method
added check for file size zero in SerialTest


git-svn-id: svn://10.0.0.236/trunk@34199 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 12:28:27 +00:00
andreas.otte%primus-online.de
d35bdc33a8 use new HandleEvent method of EventQueue
removed obselete stuff from manual registration
added two printf failure messages


git-svn-id: svn://10.0.0.236/trunk@34198 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 12:26:12 +00:00
andreas.otte%primus-online.de
3cd96278fb use new HandleEvent method of EventQueue
git-svn-id: svn://10.0.0.236/trunk@34197 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 12:24:10 +00:00
morse%netscape.com
a4efa0d630 fix treatment of notification message
git-svn-id: svn://10.0.0.236/trunk@34196 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 11:39:47 +00:00
andreas.otte%primus-online.de
e9c382512e fix to build with new AsyncRead interface from nsIChannel
git-svn-id: svn://10.0.0.236/trunk@34195 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 10:09:00 +00:00
andreas.otte%primus-online.de
c4bfc904c9 some cleanup after IDLisation
git-svn-id: svn://10.0.0.236/trunk@34194 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 10:07:50 +00:00
andreas.otte%primus-online.de
f91fff94e2 building the right library
git-svn-id: svn://10.0.0.236/trunk@34193 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 09:50:19 +00:00
andreas.otte%primus-online.de
8b2a129528 included dns makefiles
git-svn-id: svn://10.0.0.236/trunk@34192 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 09:48:28 +00:00
andreas.otte%primus-online.de
cc4b42de8e first checked in
git-svn-id: svn://10.0.0.236/trunk@34191 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 09:47:53 +00:00
andreas.otte%primus-online.de
d5a49e563d changed nsIUrl.h to nsIURL.h
git-svn-id: svn://10.0.0.236/trunk@34190 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 09:46:10 +00:00
andreas.otte%primus-online.de
35d2bfdc03 some cleanup after IDLisation
git-svn-id: svn://10.0.0.236/trunk@34189 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 09:44:04 +00:00
mcafee%netscape.com
7582baa723 Fixing this Makefile so that it does something.
git-svn-id: svn://10.0.0.236/trunk@34188 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 08:01:35 +00:00
warren%netscape.com
481b0b5652 Updated emacs TAGS rules for idl.
git-svn-id: svn://10.0.0.236/trunk@34187 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 07:43:32 +00:00
sspitzer%netscape.com
b7149d69fd makefile fixes from reg@shale.csir.co.za (Jeremy Lea)
git-svn-id: svn://10.0.0.236/trunk@34186 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 06:25:56 +00:00
av%netscape.com
3300943c79 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@34185 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 06:07:51 +00:00
hyatt%netscape.com
49c2c26e26 Adding code to force the user into STANDARD mode. Otherwise the chrome
malfunctions.


git-svn-id: svn://10.0.0.236/trunk@34184 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 06:05:53 +00:00
buster%netscape.com
4bad1b96b8 * Added nsAutoSelectionReset, a tiny class that resets the selection to what it was before a block transformation.
* Added some code to restore selection after RemoveTextProperty.
* Made a tiny change to the way the editor holds onto the transaction manager, so client (like the ender text control) can
turn undo on and off effectively
* Fixed a bug in IsNodeInline that was causing GetBlockParent to return the wrong parent node (and who knows what
other mischief) where atom compares were being done on strings of different case, for <B>, "b" vs. "B".  The DOM
method nsIDOMElement::GetTagName forced the returned tag name to upper case.  I don't know how long that has
been true, but I assume it's a fairly recent change (or something on our side related to it changed recently) or this method
never would have worked.  I also found a few cases of nsString::Equals that I changed to EqualsIgnoreCase
* Made some general improvements to the interaction between editors and rules, so that the aCancel out param is always
intialized, and all rules with Will... are matched with a Did... call.  Added Will/DidSetTextProperty() and
Will/DidRemoveTextProperty().  This helps enable plain text mode.  Added a skeleton for max length support in text editor.
* fixed some warnings.


git-svn-id: svn://10.0.0.236/trunk@34183 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 06:04:51 +00:00
hyatt%netscape.com
d85306e46c That's right baby. Whole row selection turned on.
git-svn-id: svn://10.0.0.236/trunk@34182 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:49:00 +00:00
hyatt%netscape.com
75642372a6 Adding a reminder comment to a file for future reference.
git-svn-id: svn://10.0.0.236/trunk@34181 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:24:06 +00:00
hyatt%netscape.com
7c41977b10 Removing the destruct from webshellwindow for arbitrary XUL popups. This should
happen on loss of focus instead.


git-svn-id: svn://10.0.0.236/trunk@34179 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:22:01 +00:00
hyatt%netscape.com
6875784258 Fix to ensure construct and destruct DOM events fire for popups.
git-svn-id: svn://10.0.0.236/trunk@34178 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:20:04 +00:00
hyatt%netscape.com
2996b4f2f8 Added construct and destruct events to the DOM.
git-svn-id: svn://10.0.0.236/trunk@34177 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:10:13 +00:00
hyatt%netscape.com
eab839e288 Added new events for popup construction and destruction.
git-svn-id: svn://10.0.0.236/trunk@34176 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:08:46 +00:00
sspitzer%netscape.com
5ad35122f3 move StringHash to nsMsgUtils.cpp, and use NS_MsgHashIfNecessary() in all
the ns*URI2Path() calls in the ns*Utils.cpp files to hash the file
names if necessary.
also, don't use fprintf().


git-svn-id: svn://10.0.0.236/trunk@34175 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:08:31 +00:00
hyatt%netscape.com
47f5078a7b Added support for "onconstruct" and "ondestruct" events for popups.
git-svn-id: svn://10.0.0.236/trunk@34174 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:08:16 +00:00
karnaze%netscape.com
ad3ad85b2c empty table cells ignore their background
git-svn-id: svn://10.0.0.236/trunk@34173 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 05:04:22 +00:00
rhp%netscape.com
b55af898aa a new test harness for send unsent messages (send later) interfaces
git-svn-id: svn://10.0.0.236/trunk@34172 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 04:46:08 +00:00
alecf%netscape.com
ae8cf6ee6d use attribute rather than function
git-svn-id: svn://10.0.0.236/trunk@34171 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 04:29:35 +00:00
alecf%netscape.com
6c1dae9b50 we can now use the frame directly instead of the IFRAME
git-svn-id: svn://10.0.0.236/trunk@34170 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 04:29:03 +00:00
alecf%netscape.com
5fb6d0a0bd for now, still use SetWindow whenever OpenURL is run
git-svn-id: svn://10.0.0.236/trunk@34169 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 04:28:43 +00:00
mscott%netscape.com
b055b96eb2 random changes to a non building test file =).
Bug #5633 --> more NS_WITH_SERVICE changes....I missed 2 spots last time.


git-svn-id: svn://10.0.0.236/trunk@34167 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 03:13:10 +00:00
mscott%netscape.com
758f231fff Bug #5633 --> more NS_WITH_SERVICE changes....I missed 2 spots last time.
git-svn-id: svn://10.0.0.236/trunk@34166 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 03:09:13 +00:00
blizzard%redhat.com
52eeaca3ad port performance enhancements from gtk fonts
git-svn-id: svn://10.0.0.236/trunk@34165 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:40:24 +00:00
sspitzer%netscape.com
0ab0217597 whoops, forgot one.
git-svn-id: svn://10.0.0.236/trunk@34164 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:34:51 +00:00
sspitzer%netscape.com
11556f50d2 giant cleanup of Windows mail / news makefile.wins. properly use MODULE, and name things so that Windows and UNIX match. (a big checkin for UNIX proceeded this.)
git-svn-id: svn://10.0.0.236/trunk@34163 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:22:10 +00:00
joki%netscape.com
ee7a67a711 Adding new method to nsIDOMNSUIEvent to give event pos as range offset.
git-svn-id: svn://10.0.0.236/trunk@34162 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:19:26 +00:00
alecf%netscape.com
f67fa3a0e3 add NPL 1.1
git-svn-id: svn://10.0.0.236/trunk@34161 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:17:35 +00:00
sspitzer%netscape.com
6250b1f442 giant cleanup of UNIX mail / news Makefiles. properly use MODULE, and
name things so that Windows and UNIX match.  (a big checkin for Windows
will follow shortly.)


git-svn-id: svn://10.0.0.236/trunk@34160 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:17:24 +00:00
brendan%netscape.com
2802b8d1f6 - "varargs" counterpart to JS_ConvertArguments, JS_ConvertArgumentsVA.
- JS_PushArguments{,VA} and JS_PopArguments to convert a list of C/C++ values
  passed as actual arguments into an 'jsval *argv' on the JS stack.
- Clean up and robustify ConvertArgs test command in the js shell.


git-svn-id: svn://10.0.0.236/trunk@34159 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:15:57 +00:00
briano%netscape.com
b735e4fe2b Changed the location of libxpcombase_s.a in the list in order to fix the NetBSD build.
git-svn-id: svn://10.0.0.236/trunk@34157 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 02:01:01 +00:00
briano%netscape.com
3f79367f64 Fix for NetBSD. Eliminates spurious __.SYMDEF files when building composite static libs.
git-svn-id: svn://10.0.0.236/trunk@34156 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 01:42:51 +00:00
selmer%netscape.com
8382ad4e78 added class=push to titledbuttons
git-svn-id: svn://10.0.0.236/trunk@34155 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 01:09:00 +00:00
alecf%netscape.com
4f4f487b50 load the messenger start page from the onload handler rather than the src= attribute of the iframe
git-svn-id: svn://10.0.0.236/trunk@34154 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:59:47 +00:00
alecf%netscape.com
996fb0ff93 add mozilla license, rename OnLoad/etc to OnLoadMessenger/etc
git-svn-id: svn://10.0.0.236/trunk@34153 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:59:02 +00:00
slamm%netscape.com
2bd0f48f17 More work on expand/collapse.
git-svn-id: svn://10.0.0.236/trunk@34152 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:58:34 +00:00
slamm%netscape.com
be4312aefa miscellaneous styles
git-svn-id: svn://10.0.0.236/trunk@34151 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:57:59 +00:00
slamm%netscape.com
0ef8a75d53 Set background to white
git-svn-id: svn://10.0.0.236/trunk@34150 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:57:15 +00:00
slamm%netscape.com
4a1ccd2148 clean-up whitespace.
git-svn-id: svn://10.0.0.236/trunk@34149 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:56:51 +00:00
slamm%netscape.com
08e15ec90e Use a pref to remember open close state between sessions.
git-svn-id: svn://10.0.0.236/trunk@34148 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:56:06 +00:00
waldemar%netscape.com
348f792fe4 Fixed several semantic errors. Added (?= and (?!.
git-svn-id: svn://10.0.0.236/trunk@34147 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:45:49 +00:00
waldemar%netscape.com
3fd19af552 Added statement showing number of grammar states
git-svn-id: svn://10.0.0.236/trunk@34146 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:44:52 +00:00
briano%netscape.com
2516a94415 Automated update
git-svn-id: svn://10.0.0.236/trunk@34145 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:44:51 +00:00
mcafee%netscape.com
db5735ae10 Changes for tk=xlib build. Thanks to Jeremy Lea for the patch.
git-svn-id: svn://10.0.0.236/trunk@34144 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:43:54 +00:00
selmer%netscape.com
301ec72ea4 Added pm.xul, pm.css
git-svn-id: svn://10.0.0.236/trunk@34143 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:37:53 +00:00
jefft%netscape.com
c8ba3f2ab6 call Release() instead of NS_RELEASE(this)
git-svn-id: svn://10.0.0.236/trunk@34142 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:32:18 +00:00
selmer%netscape.com
377cf6aa97 Move new prof mgr stuff into res
git-svn-id: svn://10.0.0.236/trunk@34141 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:31:14 +00:00
rickg%netscape.com
66dc68d42a fixed bug 7713
git-svn-id: svn://10.0.0.236/trunk@34140 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:30:26 +00:00
selmer%netscape.com
2c0ad92351 New prof mgr using trees
git-svn-id: svn://10.0.0.236/trunk@34139 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:30:00 +00:00
sfraser%netscape.com
b0fefb46e4 Fix for bug 7479; use unsigned char to avoid sign extension when converting to wide string. r rickg.
git-svn-id: svn://10.0.0.236/trunk@34138 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:28:47 +00:00
jefft%netscape.com
5c3f886035 clean up - get rid of FindMessenger() & SetWindow() calls; fixed Move/CopyMesseages not working for POP3 mail folders; implemented Close() & OnUnload() method
git-svn-id: svn://10.0.0.236/trunk@34137 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:26:29 +00:00
ftang%netscape.com
076c114235 remove accidental check in
git-svn-id: svn://10.0.0.236/trunk@34136 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:23:48 +00:00
jefft%netscape.com
723b023418 added Close() & OnUnload() method
git-svn-id: svn://10.0.0.236/trunk@34135 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:23:03 +00:00
ftang%netscape.com
b573de271f backout rulebrk.c
git-svn-id: svn://10.0.0.236/trunk@34134 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:21:47 +00:00
briano%netscape.com
0f0c501180 SunOS 4.x doesn't have libsocket either.
git-svn-id: svn://10.0.0.236/trunk@34132 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:15:02 +00:00
mscott%netscape.com
7f7953d882 LoadUrl signature takes a display consumer
git-svn-id: svn://10.0.0.236/trunk@34131 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:02:27 +00:00
akkana%netscape.com
89a8428f49 call Init on the document encoder
git-svn-id: svn://10.0.0.236/trunk@34130 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:02:25 +00:00
akkana%netscape.com
ee09a04094 Add Init method to pass in the document and mime type
git-svn-id: svn://10.0.0.236/trunk@34129 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:01:55 +00:00
mscott%netscape.com
f042904d94 Unification of LoadUrl signature to remove some warnings on Linux & Mac. LoadUrl signature takes a display consumer.
git-svn-id: svn://10.0.0.236/trunk@34128 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:01:54 +00:00
mscott%netscape.com
c383a155a9 Unification of LoadUrl signature to remove some warnings on Linux & Mac. LoadUrl signature takes a display consumer
git-svn-id: svn://10.0.0.236/trunk@34127 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 00:01:27 +00:00
ftang%netscape.com
d0d7894082 add JIS converters
git-svn-id: svn://10.0.0.236/trunk@34126 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:58:39 +00:00
waterson%netscape.com
e780123ea3 Added what's related panel; moved bookmarks panel to the bottom.
git-svn-id: svn://10.0.0.236/trunk@34125 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:57:39 +00:00
waterson%netscape.com
3a81fef8e2 Hook up link clicking; make separators into HTML HRs instead of hyphens.
git-svn-id: svn://10.0.0.236/trunk@34124 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:53:41 +00:00
slamm%netscape.com
5d17f62fe7 Put real link on the comment star for those people that do not use JavaScript.
git-svn-id: svn://10.0.0.236/trunk@34123 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:49:37 +00:00
leaf%mozilla.org
9388a02a0d moving SmokeTestLinux-1.pl to smoke.pl
git-svn-id: svn://10.0.0.236/trunk@34122 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:47:16 +00:00
waterson%netscape.com
f178c9ddac Initial revision.
git-svn-id: svn://10.0.0.236/trunk@34121 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:22:30 +00:00
alecf%netscape.com
5a774d6b96 fix bustage - getAccounts -> GetAccounts
git-svn-id: svn://10.0.0.236/trunk@34120 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:14:20 +00:00
briano%netscape.com
47382f98c9 Added support for QNX Neutrino.
git-svn-id: svn://10.0.0.236/trunk@34119 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:08:13 +00:00
alla%lysator.liu.se
80ce270063 First shot at streaming html or xml data to the widget.
Try it out.
I've not updated to the tip yet, so i hope it works.


git-svn-id: svn://10.0.0.236/trunk@34118 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 23:00:10 +00:00
alecf%netscape.com
1b96bb936c new arrayDescribe() to describe() all elements of an array
git-svn-id: svn://10.0.0.236/trunk@34117 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:53:34 +00:00
alecf%netscape.com
8c78a4eed4 implement GetIdentities
git-svn-id: svn://10.0.0.236/trunk@34116 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:50:46 +00:00
despotdaemon%netscape.com
87e04c2984 Pseudo-automatic update of changes made by edburns@acm.org.
git-svn-id: svn://10.0.0.236/trunk@34115 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:49:49 +00:00
kmcclusk%netscape.com
dc924d2084 Added code to nsFontMetricsGTK to cache the width of a single space.
Modifed nsRenderingContextGTK::GetWidth to detect when a single space
is passed in and pass back the cached value, rather than re-measuring
a space.


git-svn-id: svn://10.0.0.236/trunk@34114 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:48:19 +00:00
warren%netscape.com
bbf3618837 Added nsIBufferOutputStream.idl
git-svn-id: svn://10.0.0.236/trunk@34113 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:47:55 +00:00
mscott%netscape.com
efb72eb889 Unification of LoadUrl signature to remove some warnings on Linux & Mac. (this is just the first step).
git-svn-id: svn://10.0.0.236/trunk@34110 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:32:10 +00:00
mscott%netscape.com
5083ca5b7e Unification of LoadUrl signature to remove some warnings on Linux & Mac. (this is just the first step).
ParseURL returns a nsresult instead of a PRInt32.


git-svn-id: svn://10.0.0.236/trunk@34109 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:31:37 +00:00
rogerl%netscape.com
ccf097f432 Fixed bug #7703, typeof<var> wasn't referencing activation frame vars
correctly.


git-svn-id: svn://10.0.0.236/trunk@34108 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:29:41 +00:00
bsharma%netscape.com
026dcd1dcf adding the smoketest scripts
git-svn-id: svn://10.0.0.236/trunk@34107 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:29:38 +00:00
waterson%netscape.com
36fef04410 Add SiteMap icon and relate-panel style sheet. Make code smarter so that it only fetches related links when the RL folder is open.
git-svn-id: svn://10.0.0.236/trunk@34106 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:21:53 +00:00
warren%netscape.com
c3f666b33c obsoleting files
git-svn-id: svn://10.0.0.236/trunk@34105 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:19:20 +00:00
warren%netscape.com
faf27a433b Removed nsITransport.
git-svn-id: svn://10.0.0.236/trunk@34104 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:12:19 +00:00
briano%netscape.com
08451f9027 Yet another case of C++ comments in a C file....
git-svn-id: svn://10.0.0.236/trunk@34103 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:11:18 +00:00
alecf%netscape.com
d41b6f6748 add more useful dumps of account information
git-svn-id: svn://10.0.0.236/trunk@34102 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:08:50 +00:00
gagan%netscape.com
1a3eda5744 Adding Makefile.in for Linux. Testing for Andreas.
git-svn-id: svn://10.0.0.236/trunk@34101 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:07:49 +00:00
alecf%netscape.com
8e024fa8f0 add account manager to tests
git-svn-id: svn://10.0.0.236/trunk@34100 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:06:10 +00:00
gagan%netscape.com
c52025ea91 Adding Makefile.in. Testing for Andreas.
git-svn-id: svn://10.0.0.236/trunk@34099 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:05:44 +00:00
gagan%netscape.com
9ab568f58d First checkin for Makefile.in. Testing for Andreas.
git-svn-id: svn://10.0.0.236/trunk@34098 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:05:17 +00:00
warren%netscape.com
25b15817f7 Updated for file name changes.
git-svn-id: svn://10.0.0.236/trunk@34097 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:04:19 +00:00
waldemar%netscape.com
57a8f8ffc6 Simplified grammar by using lookahead constraints. Fixed \dd bugs. Made all errors occur at pattern compile time.
git-svn-id: svn://10.0.0.236/trunk@34096 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 22:00:09 +00:00
waldemar%netscape.com
bed46b51e0 Simplified grammar by using lookahead constraints.
git-svn-id: svn://10.0.0.236/trunk@34095 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:58:24 +00:00
waldemar%netscape.com
e5731ff736 Simplified grammar by using lookahead constraints. Removed requirement for an underscore before unit name.
git-svn-id: svn://10.0.0.236/trunk@34094 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:57:29 +00:00
waterson%netscape.com
ebc1f7436a Initial revision.
git-svn-id: svn://10.0.0.236/trunk@34093 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:53:50 +00:00
alecf%netscape.com
b3dd090806 fix uninitialized variable
git-svn-id: svn://10.0.0.236/trunk@34092 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:48:57 +00:00
leaf%mozilla.org
00a856b938 adding blank file per tina ornduff
git-svn-id: svn://10.0.0.236/trunk@34091 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:47:13 +00:00
ftang%netscape.com
0aee839144 add FillInfo
git-svn-id: svn://10.0.0.236/trunk@34090 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:37:45 +00:00
ftang%netscape.com
a0a58671d0 add IS_REPRESENTABLE test inside #ifdef
git-svn-id: svn://10.0.0.236/trunk@34089 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:36:43 +00:00
chuang%netscape.com
b621a96d91 fix crash on starting address book
git-svn-id: svn://10.0.0.236/trunk@34088 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:33:42 +00:00
warren%netscape.com
a42da99b5a New IDL interfaces.
git-svn-id: svn://10.0.0.236/trunk@34087 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:33:30 +00:00
mscott%netscape.com
fae7d2944e Bug #7715 --> set the character set for the messenger webshell to be UTF-8.
git-svn-id: svn://10.0.0.236/trunk@34086 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:31:53 +00:00
akkana%netscape.com
1039d688ae Track change in editor API
git-svn-id: svn://10.0.0.236/trunk@34085 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:31:18 +00:00
mscott%netscape.com
48f0a728ec remove IGNORE_MANIFEST and remove LCFLAGS since we don't have any.
git-svn-id: svn://10.0.0.236/trunk@34084 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:28:45 +00:00
mscott%netscape.com
8fd0c627d2 remove IGNORE_MANIFEST.
git-svn-id: svn://10.0.0.236/trunk@34083 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:28:20 +00:00
kmcclusk%netscape.com
4db1f54f79 Modified nsWebShell::GetLinkState to used a cached GlobalHistory service rather
than getting and releasing the service each time GetLinkState is called. Getting
the global history service shows up as a big hit during profiling because GetLinkState
gets called each time a link is encountered while resolving style contexts.


git-svn-id: svn://10.0.0.236/trunk@34082 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:26:10 +00:00
despotdaemon%netscape.com
338852fb20 Pseudo-automatic update of changes made by bsharma@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@34081 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:23:39 +00:00
despotdaemon%netscape.com
8ef931c119 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@34080 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:21:58 +00:00
waterson%netscape.com
b62d476704 Add xpfe/components/related directory to the build.
git-svn-id: svn://10.0.0.236/trunk@34079 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:19:22 +00:00
mscott%netscape.com
3352821fe0 remove IGNORE_MANIFEST and remove LCFLAGS since we don't have any.
git-svn-id: svn://10.0.0.236/trunk@34078 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:19:08 +00:00
karnaze%netscape.com
fac683ae77 removed background rules for table elements
git-svn-id: svn://10.0.0.236/trunk@34077 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:19:05 +00:00
kmcclusk%netscape.com
ca984e0334 Modified TextStyle constructor to reuse the TextFrame's mFont rather than creating
a new font. The creation of the new font show up during profiling as a big hit.


git-svn-id: svn://10.0.0.236/trunk@34076 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:18:51 +00:00
waterson%netscape.com
f9f143eadd Add related directory to the build.
git-svn-id: svn://10.0.0.236/trunk@34075 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:18:44 +00:00
waterson%netscape.com
8b0109a555 Added xpfe/components/related to the build.
git-svn-id: svn://10.0.0.236/trunk@34074 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:17:23 +00:00
mscott%netscape.com
3c88fc0d90 remove obsolete LINCS line.
git-svn-id: svn://10.0.0.236/trunk@34073 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:16:13 +00:00
waterson%netscape.com
c553b89023 Add NetworkModule.shlb to opt build.
git-svn-id: svn://10.0.0.236/trunk@34072 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:16:02 +00:00
karnaze%netscape.com
2c810b0c31 background regression test
git-svn-id: svn://10.0.0.236/trunk@34071 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:14:19 +00:00
akkana%netscape.com
0e9a5c4958 Track change to OutputText/OutputHTML interfaces; Get rid of warnings
git-svn-id: svn://10.0.0.236/trunk@34070 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:13:59 +00:00
akkana%netscape.com
d0e25f4a05 Get rid of overloaded class names, to eliminate warnings
git-svn-id: svn://10.0.0.236/trunk@34069 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:12:01 +00:00
mscott%netscape.com
25b7bf1a12 remove IGNORE_MANIFEST and remove LCFLAGS since we don't have any.
git-svn-id: svn://10.0.0.236/trunk@34068 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:11:16 +00:00
karnaze%netscape.com
0e237e981a support for backgrounds on table elements in both compatibility modes
git-svn-id: svn://10.0.0.236/trunk@34067 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:10:25 +00:00
karnaze%netscape.com
139fc10e3b new style rule for table elements inheriting backgrounds in Nav Quirks mode
git-svn-id: svn://10.0.0.236/trunk@34066 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:09:07 +00:00
putterman%netscape.com
5a0a55c231 Remove extra PR_FREEIF.
git-svn-id: svn://10.0.0.236/trunk@34065 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:05:13 +00:00
mscott%netscape.com
55816e4184 remove IGNORE_MANIFEST
git-svn-id: svn://10.0.0.236/trunk@34064 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 21:04:04 +00:00
hyatt%netscape.com
82a9263afd Notification of a change in selection.
git-svn-id: svn://10.0.0.236/trunk@34063 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:57:34 +00:00
putterman%netscape.com
c7c8ab9bed Fix some memory leaks.
git-svn-id: svn://10.0.0.236/trunk@34062 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:53:22 +00:00
mscott%netscape.com
9af559ad0a remove IGNORE_MANIFEST and remove LCFLAGS since we don't have any.
git-svn-id: svn://10.0.0.236/trunk@34061 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:43:50 +00:00
pinkerton%netscape.com
2c58808b6f changes so that transferable no longer takes ownership of dataflavor string, but correctly copies it. fix some memory leaks as well.
git-svn-id: svn://10.0.0.236/trunk@34060 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:43:23 +00:00
ftang%netscape.com
00efc527ff fix typo
git-svn-id: svn://10.0.0.236/trunk@34059 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:40:53 +00:00
chuang%netscape.com
5e2e8cbcfe Fix bustage on Windows
git-svn-id: svn://10.0.0.236/trunk@34058 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:32:49 +00:00
ftang%netscape.com
36896282b6 add FillInfo
git-svn-id: svn://10.0.0.236/trunk@34057 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:32:15 +00:00
ftang%netscape.com
52924b32c6 add nsICharRepresentable.h and change nsIUnicodeEncodeHelper.h
git-svn-id: svn://10.0.0.236/trunk@34056 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:29:45 +00:00
rhp%netscape.com
d24259325f Change for dialog feedback
git-svn-id: svn://10.0.0.236/trunk@34055 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:29:09 +00:00
ftang%netscape.com
c59aca54d4 add nsICharRepresentable.h
git-svn-id: svn://10.0.0.236/trunk@34054 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:29:02 +00:00
ftang%netscape.com
57252d3f7d add rulebrk.c
git-svn-id: svn://10.0.0.236/trunk@34053 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:25:32 +00:00
rhp%netscape.com
b0088c7a3d update for test program
git-svn-id: svn://10.0.0.236/trunk@34052 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:25:12 +00:00
sspitzer%netscape.com
e1bc1dbfa4 fix runtime bustage. GetWidth nowhere to be found yet.
git-svn-id: svn://10.0.0.236/trunk@34051 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:23:08 +00:00
ftang%netscape.com
a28104d0d4 check in thai rule-base line breaker (temp untill the real one). Thanks Samphan Raruenrom
git-svn-id: svn://10.0.0.236/trunk@34050 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:22:11 +00:00
sspitzer%netscape.com
5f662f4e8f fix warnings (comments within comments). use nsAutoString correctly.
git-svn-id: svn://10.0.0.236/trunk@34049 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:17:47 +00:00
ducarroz%netscape.com
2f28b74565 fix sprintf problem, Mac only.
git-svn-id: svn://10.0.0.236/trunk@34048 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:13:42 +00:00
rhp%netscape.com
8c3f416e7e fix for mac
git-svn-id: svn://10.0.0.236/trunk@34047 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:09:27 +00:00
rpotts%netscape.com
1830a32784 Added unix support for processing PLEvents...
git-svn-id: svn://10.0.0.236/trunk@34046 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:06:41 +00:00
waterson%netscape.com
442e9b2234 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@34045 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:05:06 +00:00
sspitzer%netscape.com
203780b77f renaming nsMsgUtils.*, this was already being used in mozilla/mailnews/base/src
git-svn-id: svn://10.0.0.236/trunk@34044 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:03:40 +00:00
ducarroz%netscape.com
174abbc2ea add nsMsgCompUtils.cpp
git-svn-id: svn://10.0.0.236/trunk@34043 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:03:34 +00:00
waterson%netscape.com
74e401982e Fix Unicode string initializer.
git-svn-id: svn://10.0.0.236/trunk@34042 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 20:00:43 +00:00
waterson%netscape.com
4ea215fa42 Remove related links data source. Hook up generic observer mechanism to document start- and end-load.
git-svn-id: svn://10.0.0.236/trunk@34041 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:55:45 +00:00
waterson%netscape.com
b5925d2eda Remove related links datasource. Moved to xpfe/components/related.
git-svn-id: svn://10.0.0.236/trunk@34040 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:54:36 +00:00
waterson%netscape.com
598be1c1e9 Remove related links data source. Moved to xpfe/components/related.
git-svn-id: svn://10.0.0.236/trunk@34039 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:53:44 +00:00
sspitzer%netscape.com
a8d3fccb73 #if 0 unused code to remove warnings on Linux.
git-svn-id: svn://10.0.0.236/trunk@34038 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:52:17 +00:00
sspitzer%netscape.com
8d9a0d7fd5 fix warnings by returning the right thing.
git-svn-id: svn://10.0.0.236/trunk@34037 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:52:04 +00:00
rhp%netscape.com
2a88383a43 Fix checkin
git-svn-id: svn://10.0.0.236/trunk@34036 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:52:01 +00:00
sspitzer%netscape.com
4dde4f42d9 reorder to remove warnings
git-svn-id: svn://10.0.0.236/trunk@34035 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:51:32 +00:00
rpotts%netscape.com
66b884a0c3 Fixed up header parsing, so that if OnDataAvailable(...) is called more than once we remember that headers have been processed... Made a temp change to the stream being passed out of OnDataAvailable(...). It was inStr which was *never* initialized... Right now it is passing out the original stream (which is wrong I think) but it doesn't crash :-)
git-svn-id: svn://10.0.0.236/trunk@34034 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:51:01 +00:00
akkana%netscape.com
3db80acc76 Split document encoder's Encode() method into a stream method and a string method
git-svn-id: svn://10.0.0.236/trunk@34033 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:32:36 +00:00
sspitzer%netscape.com
065441374b fix build bustage. rhp says we need this now.
git-svn-id: svn://10.0.0.236/trunk@34032 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:26:48 +00:00
rods%netscape.com
fa7049446f Removed ddcomm.h, and put the macro SET_FORMATETC into nsClipboard.h, and then removed ddcomm.h from the src
git-svn-id: svn://10.0.0.236/trunk@34031 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:26:45 +00:00
ssu%netscape.com
549733fe01 changed function used to retrieve default package folder to VR_GetDefaultDirectory() from VR_GetPath()
git-svn-id: svn://10.0.0.236/trunk@34029 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:25:09 +00:00
rods%netscape.com
561c4e00dd added cast to remove warning.
git-svn-id: svn://10.0.0.236/trunk@34028 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:24:36 +00:00
chuang%netscape.com
99cfd398be convert to PR types and use nsresult.
git-svn-id: svn://10.0.0.236/trunk@34027 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:24:30 +00:00
sspitzer%netscape.com
b2f799d4e3 fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@34026 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:23:07 +00:00
waterson%netscape.com
0b6ab279be Add xpfe/components/related.
git-svn-id: svn://10.0.0.236/trunk@34025 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:22:35 +00:00
sspitzer%netscape.com
221379e1d0 fix build bustage. case sensitivity problem.
git-svn-id: svn://10.0.0.236/trunk@34024 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:22:21 +00:00
waterson%netscape.com
0a3b777cb2 Unix build.
git-svn-id: svn://10.0.0.236/trunk@34023 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:22:18 +00:00
law%netscape.com
48188d5670 "First step towards exorcism of nsIXULWindowCallbacks"
git-svn-id: svn://10.0.0.236/trunk@34022 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:21:33 +00:00
rhp%netscape.com
e338cd4f07 More fixe
git-svn-id: svn://10.0.0.236/trunk@34021 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:18:34 +00:00
rhp%netscape.com
01b82f5581 Dumb typo
git-svn-id: svn://10.0.0.236/trunk@34020 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:17:23 +00:00
waterson%netscape.com
cdec11bd06 Remove manifest.mn.
git-svn-id: svn://10.0.0.236/trunk@34019 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:16:56 +00:00
rhp%netscape.com
7ac8a438cc Fixes for recent checkins
git-svn-id: svn://10.0.0.236/trunk@34018 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:14:45 +00:00
waterson%netscape.com
d137a45808 Remove related links data source: moved to xpfe/components.
git-svn-id: svn://10.0.0.236/trunk@34017 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:14:22 +00:00
rhp%netscape.com
5141b68613 Transition header file
git-svn-id: svn://10.0.0.236/trunk@34016 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 19:12:21 +00:00
rhp%netscape.com
cba37f6bba Changes for composition BE
git-svn-id: svn://10.0.0.236/trunk@34015 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:58:27 +00:00
rhp%netscape.com
6a33d730fe Changes for mail composition
git-svn-id: svn://10.0.0.236/trunk@34014 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:55:28 +00:00
rhp%netscape.com
8ab82a929a Adding files to Makefiles
git-svn-id: svn://10.0.0.236/trunk@34013 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:54:37 +00:00
rhp%netscape.com
692eec7521 More composer BE changes
git-svn-id: svn://10.0.0.236/trunk@34012 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:54:18 +00:00
rhp%netscape.com
64346769b5 New back end composition functionality
git-svn-id: svn://10.0.0.236/trunk@34011 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:53:47 +00:00
mcmullen%netscape.com
dc019f45e3 Fix an assert (and a bug) in some XP_MAC code for importing IE favorites. The wrong stream was being tested for openness, and the parser was being given a nonexistent stream to parse, and asserting.
git-svn-id: svn://10.0.0.236/trunk@34010 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:53:29 +00:00
rhp%netscape.com
1b6168d675 added files: mozilla/mailnews/compose/src/nsMsgZapIt.cpp, mozilla/mailnews/compose/src/nsMsgCreate.cpp, mozilla/mailnews/compose/src/nsMsgCopy.cpp, mozilla/mailnews/compose/src/nsMsgSendLater.cpp, mozilla/mailnews/compose/src/nsMsgDeliveryListener.cpp, mozilla/mailnews/compose/src/nsMsgComposeStringBundle.cpp, mozilla/mailnews/compose/src/nsMsgEncoders.cpp, mozilla/mailnews/compose/src/nsMsgI18N.cpp, mozilla/mailnews/compose/src/nsMsgAttachmentHandler.cpp, mozilla/mailnews/compose/src/nsMsgPrompts.cpp
git-svn-id: svn://10.0.0.236/trunk@34009 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:53:19 +00:00
hangas%netscape.com
4933ed2e42 Added AddressBook.js
git-svn-id: svn://10.0.0.236/trunk@34008 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:52:09 +00:00
rhp%netscape.com
a0cb0dc40c removed files: mozilla/mailnews/compose/src/nsMsgCompose.cpp
git-svn-id: svn://10.0.0.236/trunk@34007 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:51:32 +00:00
cata%netscape.com
a34435a611 UTF-7 tests
git-svn-id: svn://10.0.0.236/trunk@34006 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:51:13 +00:00
hangas%netscape.com
b8ecb4da9e Cleanup xul
git-svn-id: svn://10.0.0.236/trunk@34005 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:50:50 +00:00
cata%netscape.com
b4deb35e6d UTF-7 converters
git-svn-id: svn://10.0.0.236/trunk@34004 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:50:44 +00:00
hangas%netscape.com
9e71f526a3 Added code to update the cardview pane with data from datasource
git-svn-id: svn://10.0.0.236/trunk@34003 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:50:20 +00:00
cata%netscape.com
85396d1183 added files: mozilla/intl/uconv/ucvlatin/nsUnicodeToUTF7.cpp, mozilla/intl/uconv/ucvlatin/nsUTF7ToUnicode.cpp
git-svn-id: svn://10.0.0.236/trunk@34002 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:49:38 +00:00
cata%netscape.com
e4b4799952 more work on UTF-7 converters
git-svn-id: svn://10.0.0.236/trunk@34001 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:49:12 +00:00
rhp%netscape.com
90a8e39b5a New compose BE functionality
git-svn-id: svn://10.0.0.236/trunk@34000 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:48:32 +00:00
morse%netscape.com
ab0dc7362f get rid of useDialogs pref
git-svn-id: svn://10.0.0.236/trunk@33999 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:47:07 +00:00
rhp%netscape.com
50d401de12 Cleanup of compose back end
git-svn-id: svn://10.0.0.236/trunk@33998 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:46:14 +00:00
jdunn%netscape.com
315bf0adb5 need to specify that the base classes are public (since some native
compilers default unspecified ones as private)


git-svn-id: svn://10.0.0.236/trunk@33997 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:37:55 +00:00
norris%netscape.com
fff5b7216c Clean up formatting.
git-svn-id: svn://10.0.0.236/trunk@33996 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:14:15 +00:00
norris%netscape.com
0f1b29664f Optimization: avoid allocating a Vector object for every LiveConnect call.
git-svn-id: svn://10.0.0.236/trunk@33995 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 18:13:15 +00:00
andreas.otte%primus-online.de
9bdfc81c1d correct two typos
git-svn-id: svn://10.0.0.236/trunk@33994 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 16:56:36 +00:00
jdunn%netscape.com
c2731130a5 backing out my illegal checkin that i did when the tree was closed
git-svn-id: svn://10.0.0.236/trunk@33993 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 16:27:57 +00:00
jdunn%netscape.com
09ef6f1b44 specifying that the base classes are indeed public (since some native
compilers default unspecified ones as private)


git-svn-id: svn://10.0.0.236/trunk@33992 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 16:21:03 +00:00
blizzard%redhat.com
1d5aa63016 remove widgets that don't exist anymore. THIS IS NOT PART OF THE BUILD.
git-svn-id: svn://10.0.0.236/trunk@33991 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 15:32:17 +00:00
waterson%netscape.com
6726babcc9 Initial revision. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@33990 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 10:08:47 +00:00
waterson%netscape.com
3da108641d Initial revision. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@33989 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 09:56:34 +00:00
mscott%netscape.com
b4cf41d822 Don't build dll until the install phase, not the lib phase.
git-svn-id: svn://10.0.0.236/trunk@33986 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 08:22:54 +00:00
mscott%netscape.com
d9ddfd9200 Fix win32 build breakage (*I think*) by not trying to generate the dll until the install
phase and not the lib phase.


git-svn-id: svn://10.0.0.236/trunk@33985 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 08:13:14 +00:00
mscott%netscape.com
18edb794e7 Part of makefile clean up for windows. Changes include removing old cruft, giving each
component it's own module name (this helps clear up problems with the xp connect type lib
name for each component), making sure libs built in src directories have _s suffix as
they are static libraries and unifying component names with "msg" prefixes.
Also removed extraneous CPP_SRCS info.


git-svn-id: svn://10.0.0.236/trunk@33984 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 07:16:53 +00:00
waterson%netscape.com
55c23b348b Add Equals() method to Window class to support comparison of XPConnect-wrapped nsIDOMWindow and idlc Window.
git-svn-id: svn://10.0.0.236/trunk@33983 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 07:16:01 +00:00
rpotts%netscape.com
3b85ba970a Fixed up uninitialized variable... Oops
git-svn-id: svn://10.0.0.236/trunk@33982 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 07:12:56 +00:00
mscott%netscape.com
5a78a0e102 Part of makefile clean up for windows. Changes include removing old cruft, giving each
component it's own module name (this helps clear up problems with the xp connect type lib
name for each component), making sure libs built in src directories have _s suffix as
they are static libraries and unifying component names with "msg" prefixes.
Also removed extraneous CPP_SRCS info.


git-svn-id: svn://10.0.0.236/trunk@33981 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 07:03:50 +00:00
mscott%netscape.com
170ca8965c Part of makefile clean up for windows. Changes include removing old cruft, giving each
component it's own module name (this helps clear up problems with the xp connect type lib
name for each component), making sure libs built in src directories have _s suffix as
they are static libraries and unifying component names with "msg" prefixes.
Also removed extraneous CPP_SRCS info.


git-svn-id: svn://10.0.0.236/trunk@33980 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 06:52:45 +00:00
mscott%netscape.com
8ed10f0200 Build mork before msgdb.
git-svn-id: svn://10.0.0.236/trunk@33979 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 06:45:56 +00:00
mscott%netscape.com
6791973ab0 Part of makefile clean up for windows. Changes include removing old cruft, giving each
component it's own module name (this helps clear up problems with the xp connect type lib
name for each component), making sure libs built in src directories have _s suffix as
they are static libraries and unifying component names with "msg" prefixes.


git-svn-id: svn://10.0.0.236/trunk@33978 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 06:41:51 +00:00
rpotts%netscape.com
f1c0e8b288 Fixed up compiler warning on Linux...
git-svn-id: svn://10.0.0.236/trunk@33977 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 06:30:59 +00:00
rpotts%netscape.com
6416713fa5 Added a new file - nsSocketTransportStreams.cpp to the build...
git-svn-id: svn://10.0.0.236/trunk@33976 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 06:28:07 +00:00
rpotts%netscape.com
996b513ca8 Work on blocking streams...
git-svn-id: svn://10.0.0.236/trunk@33975 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 06:27:34 +00:00
rjc%netscape.com
2431059cb7 Get context popup menus work on Mac by checking if the CTRL key is down (just like how the Mac's Finder works).
git-svn-id: svn://10.0.0.236/trunk@33974 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 05:43:09 +00:00
jband%netscape.com
34ce93323c allow for mapping both directions between NULL and JSVAL_NULL for all pointer type objects (string, wstring, nsid, as well as interface pointers
git-svn-id: svn://10.0.0.236/trunk@33973 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 05:09:38 +00:00
alecf%netscape.com
d5365cd6f1 XPConnect doesn't seem to like returning NULL from string accessors
git-svn-id: svn://10.0.0.236/trunk@33972 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 04:29:18 +00:00
sdagley%netscape.com
07e7d53b83 Fix bug #6507. PR_fprintf() with PR_GetSpecialFD(PR_StandardOutput) or PR_GetSpecialFD(PR_StandardError) as the file argument now works on the Mac with output directed to the SIOUX stdout console window.
git-svn-id: svn://10.0.0.236/trunk@33970 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 02:37:28 +00:00
waterson%netscape.com
96e56379e8 Add nsService constructor that allows you to get a service by ProgID using the statically linked nsServiceManager API.
git-svn-id: svn://10.0.0.236/trunk@33969 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-07 02:24:29 +00:00
alecf%netscape.com
241cd05c79 build test
git-svn-id: svn://10.0.0.236/trunk@33968 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 22:38:34 +00:00
alecf%netscape.com
52bf4523cf ignore makefile
git-svn-id: svn://10.0.0.236/trunk@33967 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 22:37:35 +00:00
alecf%netscape.com
29acda2955 add some sample JavaScript tests
git-svn-id: svn://10.0.0.236/trunk@33966 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 22:37:16 +00:00
morse%netscape.com
0615585206 fixed some ifdefs that were backwards
git-svn-id: svn://10.0.0.236/trunk@33965 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 20:40:11 +00:00
morse%netscape.com
4a327f0a87 added ifdefs for places in which the i18n localizations don't work
git-svn-id: svn://10.0.0.236/trunk@33963 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 19:50:06 +00:00
morse%netscape.com
aa175cb44e added real dialogs
git-svn-id: svn://10.0.0.236/trunk@33962 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 18:55:46 +00:00
alecf%netscape.com
4b2b40f6f2 make a little more robust so that we can easily call this from JS
git-svn-id: svn://10.0.0.236/trunk@33961 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 18:46:03 +00:00
mscott%netscape.com
3cb5b24a38 Updates to include the fact that Initialialzing the protocol instance no longer requires the
transport object to be created. It does it for you. These changes are related to my
nsMsgProtocol changes.


git-svn-id: svn://10.0.0.236/trunk@33960 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 18:39:56 +00:00
mscott%netscape.com
360e027673 Revamp of news protocol to use my new nsMsgProtocol base class. This caused the signature of
several functions to change.

I also added some code to properly kill the network connection after we have finished
a nntp command.


git-svn-id: svn://10.0.0.236/trunk@33959 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 18:38:43 +00:00
morse%netscape.com
f644f996e5 get initial value for checkbox, save checkbox value when CANCEL is pressed
git-svn-id: svn://10.0.0.236/trunk@33958 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 15:58:08 +00:00
rhp%netscape.com
6189743d0d forgot to use the propertyURL for as the resource URL
git-svn-id: svn://10.0.0.236/trunk@33957 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 13:28:30 +00:00
srinivas%netscape.com
9ddc597a3d QNX port; checkin for briano@netscape.com. Bug #7276.
git-svn-id: svn://10.0.0.236/trunk@33955 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 12:10:45 +00:00
andreas.otte%primus-online.de
833571b3c6 write \0 not on but after the CRLF on Headers
git-svn-id: svn://10.0.0.236/trunk@33954 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 09:40:56 +00:00
andreas.otte%primus-online.de
7776fe2d54 variable rv of type nsresult was not initialized in CreateInstance and in case of creating a StandardUrl with no Init in CreateInstance (and using rv) making it random to the calling function if creating the Url succeeded. This is what I thought was a namespace problem between necko and old netlib.
git-svn-id: svn://10.0.0.236/trunk@33953 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 09:16:49 +00:00
mccabe%netscape.com
68bdc82b30 Fix xpidl-generated header and .xpt dependency on outdated IDL_COMPLE to the brandfangled new XPIDL_COMPILE symbol. Looks like I missed it when I made the change...
Thanks to Jeremy Lea <reg@shale.csir.co.za> for catching this.


git-svn-id: svn://10.0.0.236/trunk@33952 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 04:47:42 +00:00
mccabe%netscape.com
7db0124e7d Change the emacs /* Mode: */ comment for many .cpp files from C to C++. A .js file snuck in there too, but I like seeing my .js in c++-mode anyway...
git-svn-id: svn://10.0.0.236/trunk@33951 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 04:25:58 +00:00
mccabe%netscape.com
10951415b5 Patches courtesy Jeremy Lea <reg@shale.csir.co.za>
To wit:

Attached are a couple of small fixes for building in the js/ subdir.

These are for FreeBSD-CURRENT, and for building in a seperate OBJDIR.

The FreeBSD one is a quick and dirty.  The real fix is pobably just to
use OS_LDFLAGS as defined by configure...


git-svn-id: svn://10.0.0.236/trunk@33950 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 04:10:33 +00:00
saari%netscape.com
3f12948197 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33949 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 01:26:05 +00:00
saari%netscape.com
33104aa60c adding files for keybinding. Not yet in the build
git-svn-id: svn://10.0.0.236/trunk@33948 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 01:25:40 +00:00
saari%netscape.com
9658d499fd Mac only change. Fix bug #7296
git-svn-id: svn://10.0.0.236/trunk@33947 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 01:23:56 +00:00
morse%netscape.com
f93fef3797 trying for third time to fix bustage on mac
git-svn-id: svn://10.0.0.236/trunk@33946 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 00:56:14 +00:00
morse%netscape.com
94d9b21e8d try again to fix bustage on mac
git-svn-id: svn://10.0.0.236/trunk@33945 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 00:54:59 +00:00
morse%netscape.com
8c6604fc1a fix bustage on mac
git-svn-id: svn://10.0.0.236/trunk@33944 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 00:35:20 +00:00
sspitzer%netscape.com
26139a0c99 use NS_DEFINE_CID instead of NS_DEFINE_IID.
git-svn-id: svn://10.0.0.236/trunk@33943 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 00:01:02 +00:00
sspitzer%netscape.com
b6d15f7ee8 fix warnings. use NS_WITH_SERVICE. use NS_DEFINE_CID instead of NS_DEFINE_IID. remove unnecessary static kINetSupportDialogIID
git-svn-id: svn://10.0.0.236/trunk@33942 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-06 00:00:39 +00:00
Jerry.Kirk%Nexwarecorp.com
a125e0542a - Changed include of nsWindow.h to nsWidget.h as it should have been
git-svn-id: svn://10.0.0.236/trunk@33941 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 23:57:47 +00:00
sspitzer%netscape.com
d74142409a add dialogs and alerts to the cancel article process.
git-svn-id: svn://10.0.0.236/trunk@33940 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 23:48:50 +00:00
mscott%netscape.com
57fcf65693 Add nsIMsgMailNewsUrl to the QueryInterface method.
git-svn-id: svn://10.0.0.236/trunk@33939 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 23:46:08 +00:00
sspitzer%netscape.com
2af5b8ef57 fix for #7659
git-svn-id: svn://10.0.0.236/trunk@33938 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 23:35:24 +00:00
morse%netscape.com
5d563edf7e put cookies file in the correct directory
git-svn-id: svn://10.0.0.236/trunk@33937 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 23:17:47 +00:00
mscott%netscape.com
9f8b8ae388 Load has become LoadUrl on the pop3 protocol class.
git-svn-id: svn://10.0.0.236/trunk@33936 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 22:52:15 +00:00
mscott%netscape.com
8e5f0aee4e Major revamping of the pop protocol. Themain changes were to use my new nsMsgProtocol base class for most of the core netlib interaction.
git-svn-id: svn://10.0.0.236/trunk@33935 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 22:51:46 +00:00
mscott%netscape.com
1764aff0b1 Add nsIMsgMailNewsUrl to the QI method.
git-svn-id: svn://10.0.0.236/trunk@33934 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 22:30:48 +00:00
sspitzer%netscape.com
4e4e276425 initial work to get news CANCEL working
git-svn-id: svn://10.0.0.236/trunk@33933 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 22:11:38 +00:00
sspitzer%netscape.com
60c0db5143 fix the mac, again.
git-svn-id: svn://10.0.0.236/trunk@33932 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 22:02:31 +00:00
mscott%netscape.com
f45c9da161 Make LoadUrl public and not protected.
git-svn-id: svn://10.0.0.236/trunk@33931 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 21:47:04 +00:00
sspitzer%netscape.com
6bd5d3f16d fix the mac, because it sucks.
git-svn-id: svn://10.0.0.236/trunk@33930 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 21:26:48 +00:00
av%netscape.com
d18ddd0c4c *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@33929 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:47:14 +00:00
mscott%netscape.com
fb3d63a2f9 Fix unix warning by removing unused variable.
git-svn-id: svn://10.0.0.236/trunk@33928 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:41:10 +00:00
mscott%netscape.com
62be7125a3 LoadURL is now LoadUrl on the mailbox protocol as part of the nsMsgProtocol changes.
git-svn-id: svn://10.0.0.236/trunk@33927 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:37:42 +00:00
mscott%netscape.com
ffab24e841 Major revamping of the mailbox protocol. The main changes were to use my new nsMsgProtocol base class for most of the core netlib interaction.
git-svn-id: svn://10.0.0.236/trunk@33926 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:36:58 +00:00
mscott%netscape.com
c3839f3847 Comment out text following #endif to fix unix warning.
git-svn-id: svn://10.0.0.236/trunk@33925 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:33:36 +00:00
mscott%netscape.com
db7ba0453e Link against msgcoreutil for nsMsgProtocol.
git-svn-id: svn://10.0.0.236/trunk@33924 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:29:15 +00:00
mscott%netscape.com
cd8157d67b LoadURL is now LoadUrl on the smtp protocol.
git-svn-id: svn://10.0.0.236/trunk@33923 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:28:49 +00:00
mscott%netscape.com
9ff5f77871 Major revamping of the smtp protocol. The main changes were to use my new nsMsgProtocol base class for most of the core netlib interaction. While i was here, I also fixed a leak where we weren't closing the file stream for the message we were sending. Fixed a leak that was preventing the smtp protocol instance from getting released & destroyed.
Also rewrote the protocol state methods to use nsAutoString instead of allocating buffers for the protocol commands.


git-svn-id: svn://10.0.0.236/trunk@33922 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:28:21 +00:00
mscott%netscape.com
ddcc4ce79d Add default implemenations for OnDataAvailable, OnStartBinding, OnStopBinding. Push even more functionality for loading a url up into the base class.
git-svn-id: svn://10.0.0.236/trunk@33921 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:21:27 +00:00
av%netscape.com
4f55fb6671 Hooking up events for winless plugins
git-svn-id: svn://10.0.0.236/trunk@33920 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:09:21 +00:00
av%netscape.com
9a6ec276d0 Enabling calling HandleEvent for winless plugins on Windows
git-svn-id: svn://10.0.0.236/trunk@33919 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 20:03:12 +00:00
bruce%cybersight.com
2976fa1a8a Explicitly include nsIMenuListener.h. Will be needed for some post-M7 changes that I have.
git-svn-id: svn://10.0.0.236/trunk@33918 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 12:11:22 +00:00
bruce%cybersight.com
fe17fbea9b Explicitly include nsFileSpec.h. This will be necessary for some changes coming post-M7.
git-svn-id: svn://10.0.0.236/trunk@33917 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 11:49:04 +00:00
bruce%cybersight.com
905a6365ef Tokens may not follow '#endif'. This fixes the HP-UX build.
git-svn-id: svn://10.0.0.236/trunk@33916 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 11:35:36 +00:00
bruce%cybersight.com
a534dc1ca7 Explicitly include prinrval.h here. (This will make be needed for some changes coming shortly after M7.)
git-svn-id: svn://10.0.0.236/trunk@33915 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 11:29:03 +00:00
bruce%cybersight.com
9b11f8564d Scoping problem with loop variable. Fixes OSF/1 build.
git-svn-id: svn://10.0.0.236/trunk@33914 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 11:22:11 +00:00
beard%netscape.com
56211264dc added NativeJavaConstructor.java
git-svn-id: svn://10.0.0.236/trunk@33913 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 08:20:54 +00:00
rjc%netscape.com
6ff5280451 Get true separators back in the bookmarks menu by adding a XUL template rule to check for them.
git-svn-id: svn://10.0.0.236/trunk@33912 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 03:01:54 +00:00
pierre%netscape.com
be10af10cd #3322 "javascript ONCHANGE handler failures". Added ControlChanged() in order to send NS_CONTROL_CHANGE events.
git-svn-id: svn://10.0.0.236/trunk@33911 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 03:00:28 +00:00
ssu%netscape.com
82f9a59a36 fixed bug #6719
git-svn-id: svn://10.0.0.236/trunk@33910 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:57:07 +00:00
ssu%netscape.com
74c7b8de31 fixed bug #6612
git-svn-id: svn://10.0.0.236/trunk@33909 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:52:29 +00:00
slamm%netscape.com
44915c991b who popup can use href for the layer src.
git-svn-id: svn://10.0.0.236/trunk@33908 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:50:59 +00:00
waterson%netscape.com
14c7ff9828 Remove NS_ASSERTION calls from nsService class.
git-svn-id: svn://10.0.0.236/trunk@33907 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:44:40 +00:00
briano%netscape.com
5ba7111437 Automated update
git-svn-id: svn://10.0.0.236/trunk@33906 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:35:01 +00:00
briano%netscape.com
536be0e408 Refined the ostream test.
git-svn-id: svn://10.0.0.236/trunk@33905 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:34:33 +00:00
slamm%netscape.com
27dacf0681 Try again.
git-svn-id: svn://10.0.0.236/trunk@33904 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:25:27 +00:00
slamm%netscape.com
57ed4b640d Tidy up query link.
git-svn-id: svn://10.0.0.236/trunk@33903 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:21:48 +00:00
mscott%netscape.com
3cc0fa603c If we fail to register or unregister a component, we should remember the error code and return it,
BUT we should also still try to register/unregister the rest of the components.


git-svn-id: svn://10.0.0.236/trunk@33902 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:21:20 +00:00
slamm%netscape.com
a008e57d09 Make who menu handle tinderbox links more succinctly.
git-svn-id: svn://10.0.0.236/trunk@33901 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:18:36 +00:00
waterson%netscape.com
60e65fa836 Fix makedep rule to include *all* directories that it needs to. This should improve the reliability of depend builds.
git-svn-id: svn://10.0.0.236/trunk@33900 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 02:02:10 +00:00
briano%netscape.com
f2c25e8fbc Oops, forgot to add the braces....
git-svn-id: svn://10.0.0.236/trunk@33899 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:57:35 +00:00
briano%netscape.com
b6039eca5f Turned it off The Complete Way. Now it won't try to generate an empty library.
git-svn-id: svn://10.0.0.236/trunk@33898 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:55:13 +00:00
frankm%eng.sun.com
d82f107a0a Replace *.class with ScriptRuntime.*Class; added ScriptRuntime.ClassClass
git-svn-id: svn://10.0.0.236/trunk@33897 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:48:24 +00:00
briano%netscape.com
f68bc74338 Fix for SunOS 4.x.
git-svn-id: svn://10.0.0.236/trunk@33896 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:46:10 +00:00
despotdaemon%netscape.com
a3cf1703df Pseudo-automatic update of changes made by drapeau@eng.sun.com.
git-svn-id: svn://10.0.0.236/trunk@33895 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:37:02 +00:00
slamm%netscape.com
085a38f62a Fix who links for static page.
git-svn-id: svn://10.0.0.236/trunk@33894 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:23:58 +00:00
davidm%netscape.com
774f31ad1f Add dialog resource files and icons
git-svn-id: svn://10.0.0.236/trunk@33893 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:20:16 +00:00
warren%netscape.com
02a75e5745 Added nsIBuffer::Search and cleaned up nsIBufferInputStream interface to just return the buffer.
git-svn-id: svn://10.0.0.236/trunk@33892 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:15:00 +00:00
miodrag%netscape.com
4e7dffa928 Updates for JNDI LDAP service provider
git-svn-id: svn://10.0.0.236/trunk@33889 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:14:50 +00:00
davidm%netscape.com
dca34d2826 Added icons and xul files for dialogs
git-svn-id: svn://10.0.0.236/trunk@33888 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:10:45 +00:00
davidm%netscape.com
9286a45824 Add ConfirmCheck
git-svn-id: svn://10.0.0.236/trunk@33887 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:10:18 +00:00
davidm%netscape.com
296a84a356 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33886 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:09:24 +00:00
briano%netscape.com
8c153fd636 Fix for platforms that don't support long longs.
git-svn-id: svn://10.0.0.236/trunk@33885 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:07:50 +00:00
miodrag%netscape.com
cfb091ced5 JNDI LDAP Service Provider
git-svn-id: svn://10.0.0.236/trunk@33884 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:05:59 +00:00
mscott%netscape.com
913cb6ae97 If we fail to register or unregister a component, we should remember the error code and return it, BUT we should also still try to register/unregister the rest of the components.
git-svn-id: svn://10.0.0.236/trunk@33883 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 01:02:42 +00:00
miodrag%netscape.com
56a212652f Java LDAP SDK 4.0 update
git-svn-id: svn://10.0.0.236/trunk@33882 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:53:02 +00:00
despotdaemon%netscape.com
7089a3c79f Pseudo-automatic update of changes made by akhil.arora@sun.com.
git-svn-id: svn://10.0.0.236/trunk@33881 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:47:17 +00:00
mscott%netscape.com
a6a167fe1d Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
git-svn-id: svn://10.0.0.236/trunk@33880 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:46:54 +00:00
mscott%netscape.com
fd140f0f1b Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
Rename factory from nsMsgFactory to something more appropriate --> nsXmlEmitterFactory.


git-svn-id: svn://10.0.0.236/trunk@33879 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:39:08 +00:00
mscott%netscape.com
142efa8dd0 Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
Rename factory from nsMsgFactory to something more appropriate --> nsRawEmitterFactory.


git-svn-id: svn://10.0.0.236/trunk@33878 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:36:09 +00:00
briano%netscape.com
dd12429cca Fix for platforms that don't have memory.h.
git-svn-id: svn://10.0.0.236/trunk@33877 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:34:35 +00:00
mscott%netscape.com
9fe137ccba Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
Rename factory from nsMsgFactory to something more appropriate --> nsHTMLEmitterFactory.


git-svn-id: svn://10.0.0.236/trunk@33876 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:33:00 +00:00
mscott%netscape.com
8d6793a838 Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
Change the factory name from nsMsgFactory to nsVCardFactory.


git-svn-id: svn://10.0.0.236/trunk@33875 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:28:45 +00:00
mscott%netscape.com
f0f96aacf8 Change the name of the factory class from nsMsgFactory to a more appropriate name: nsCalendarFactory.
git-svn-id: svn://10.0.0.236/trunk@33874 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:25:54 +00:00
mscott%netscape.com
3672e99d0b Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
git-svn-id: svn://10.0.0.236/trunk@33873 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:22:18 +00:00
nisheeth%netscape.com
6f28191422 Patch from alecf to do a null pointer check on argument to GetSelectedIndex().
git-svn-id: svn://10.0.0.236/trunk@33872 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:18:58 +00:00
nisheeth%netscape.com
b8c7706fa9 Patch from alecf to do a null pointer check in FindFrameWithContent().
git-svn-id: svn://10.0.0.236/trunk@33871 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:18:03 +00:00
mscott%netscape.com
b80820c297 Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
git-svn-id: svn://10.0.0.236/trunk@33870 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:15:12 +00:00
mscott%netscape.com
be8123fcba Remove unnecessary ifdef code...
git-svn-id: svn://10.0.0.236/trunk@33869 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:10:16 +00:00
despotdaemon%netscape.com
2abff017ef Pseudo-automatic update of changes made by frankm@eng.sun.com.
git-svn-id: svn://10.0.0.236/trunk@33868 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:07:30 +00:00
mscott%netscape.com
7c9b64c879 Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
git-svn-id: svn://10.0.0.236/trunk@33867 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:06:05 +00:00
jdunn%netscape.com
5c0a2d910c Changing C++ style comment to C style
git-svn-id: svn://10.0.0.236/trunk@33866 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-05 00:02:52 +00:00
warren%netscape.com
44e35fc660 Added
git-svn-id: svn://10.0.0.236/trunk@33865 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:58:05 +00:00
sspitzer%netscape.com
c06b81c34c fix build breakage on UNIX. tindebox builds with --enable-pedantic, which
catches stuff like this.


git-svn-id: svn://10.0.0.236/trunk@33864 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:57:35 +00:00
mscott%netscape.com
e4a43a62ca Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up. We still return the last failure error code though.
git-svn-id: svn://10.0.0.236/trunk@33863 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:56:20 +00:00
akkana%netscape.com
3e01b3f572 attempt to fix win build bustage
git-svn-id: svn://10.0.0.236/trunk@33862 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:45:25 +00:00
waqar%netscape.com
08e791c0ab C++ comments in a C file. Changing them to C comments.
git-svn-id: svn://10.0.0.236/trunk@33861 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:44:30 +00:00
mscott%netscape.com
0c2d25bba5 Bug #5633 -- use NS_WITH_SERVICE macro.
git-svn-id: svn://10.0.0.236/trunk@33860 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:42:18 +00:00
jdunn%netscape.com
c4bf59ddf0 need to handle building in a separate directory from where the source is...
git-svn-id: svn://10.0.0.236/trunk@33859 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:40:02 +00:00
sspitzer%netscape.com
88ef6b4176 remove comi18n.cpp from this project for rhp@netscape.com
git-svn-id: svn://10.0.0.236/trunk@33858 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:39:14 +00:00
mscott%netscape.com
58a1d9b765 Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
git-svn-id: svn://10.0.0.236/trunk@33857 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:37:52 +00:00
sspitzer%netscape.com
2f1c8ee8a8 Bug #5633 -- use NS_WITH_SERVICE macro. Also cleaned up goto statements such that if we fail to register or unregister a component, we try to register/unregister the rest of the components before giving up.
git-svn-id: svn://10.0.0.236/trunk@33856 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:37:16 +00:00
mcmullen%netscape.com
ddb951ac5c Working, working.
git-svn-id: svn://10.0.0.236/trunk@33855 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:32:03 +00:00
rhp%netscape.com
37d334a950 Further i18n cleanup
git-svn-id: svn://10.0.0.236/trunk@33854 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:31:45 +00:00
rhp%netscape.com
cd52fe528c Cleanup of comi18n.cpp.
git-svn-id: svn://10.0.0.236/trunk@33853 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:31:01 +00:00
mcmullen%netscape.com
27d2caceab First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33852 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:28:56 +00:00
sspitzer%netscape.com
2f501d19f2 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@33851 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:24:27 +00:00
mscott%netscape.com
dd143d7535 Export nsMsgProtocol.h
git-svn-id: svn://10.0.0.236/trunk@33850 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:17:38 +00:00
mscott%netscape.com
ad282e98be Build nsMsgProtocol.
git-svn-id: svn://10.0.0.236/trunk@33849 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:10:24 +00:00
kmcclusk%netscape.com
e70243131f Added method and member variable to Cache the width of a space in nsFontMetricsWin.cpp.
Added code to nsRenderingContextWin::GetWidth to use the cached width to optimize the
common case of measuring the width of a single character.


git-svn-id: svn://10.0.0.236/trunk@33848 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:09:27 +00:00
pierre%netscape.com
79a9957748 (Mac only) PR_LOG() calls printf() with a "¥¥¥" header instead of falling into MacsBug.
git-svn-id: svn://10.0.0.236/trunk@33847 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:04:28 +00:00
morse%netscape.com
664342e8b9 fix build bustage
git-svn-id: svn://10.0.0.236/trunk@33846 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:02:41 +00:00
mscott%netscape.com
93d66a384e Aadd ability to spool a message to disk to the list of services a message service provides.
git-svn-id: svn://10.0.0.236/trunk@33845 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:00:52 +00:00
mjudge%netscape.com
2b31837503 fixes for selection and memory leaks
git-svn-id: svn://10.0.0.236/trunk@33844 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:00:24 +00:00
mscott%netscape.com
399325c6d4 Build nsMsgProtocol.h nsMsgProtocol.cpp.
Clean up the makefile by removing extraneous CPP_SRCS declaration...


git-svn-id: svn://10.0.0.236/trunk@33843 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:59:05 +00:00
akkana%netscape.com
bb6848ffbf cast away constness for a temporary fix to windows build bustage
git-svn-id: svn://10.0.0.236/trunk@33842 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:58:47 +00:00
slamm%netscape.com
e6320a0ce0 Rebuild static pages when note is added.
git-svn-id: svn://10.0.0.236/trunk@33841 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:56:36 +00:00
tague%netscape.com
12d1e297cf Update nsWindow.h to change DEBUG_TAGUE to DEBUG_tague for consistency
git-svn-id: svn://10.0.0.236/trunk@33840 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:55:57 +00:00
amusil%netscape.com
f33ab1ce3c Fixed order of calls.
git-svn-id: svn://10.0.0.236/trunk@33839 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:53:31 +00:00
tague%netscape.com
f9b0e90b64 changed DEBUG_TAGUE to DEBUG_tague for consitency with windows
git-svn-id: svn://10.0.0.236/trunk@33838 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:52:58 +00:00
amusil%netscape.com
ddf982c56b Should only call SetWindow() if the plugin has not been stopped.
git-svn-id: svn://10.0.0.236/trunk@33837 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:52:49 +00:00
hyatt%netscape.com
562f22861f Fix to make sure Mac RDF menus still show up.
git-svn-id: svn://10.0.0.236/trunk@33836 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:52:35 +00:00
sfraser%netscape.com
3b585d3189 Be extra safe with the nsISupports IID
git-svn-id: svn://10.0.0.236/trunk@33835 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:51:32 +00:00
rjc%netscape.com
045467e799 Adding Steve Morse's nsCookie.cpp file into the Mac network project.
git-svn-id: svn://10.0.0.236/trunk@33834 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:51:09 +00:00
hyatt%netscape.com
0aed962d2b Making the RDF menus closed by default.
git-svn-id: svn://10.0.0.236/trunk@33833 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:48:01 +00:00
mscott%netscape.com
2f7e9b8244 replace nsAutoCString with more efficient nsAutoString.GetBuffer calls.
git-svn-id: svn://10.0.0.236/trunk@33832 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:47:53 +00:00
valeski%netscape.com
261c1b725f api change to GetProxyObject. no longer pass in straight PLEventQueue
git-svn-id: svn://10.0.0.236/trunk@33831 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:47:12 +00:00
valeski%netscape.com
e41bbebd46 api change to nsIProxy* interfaces. You can no longer pass in straight PLEventQueues, you now need to pass in nsIEventQueue interfaces (see mozilla/xpcom/threads)
git-svn-id: svn://10.0.0.236/trunk@33830 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:46:20 +00:00
rjc%netscape.com
77d5a58afd Add in Steve Morse's CookieCore into AppCores.
git-svn-id: svn://10.0.0.236/trunk@33829 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:46:19 +00:00
pinkerton%netscape.com
93eec98d20 removed nsMenuButton and nsImageButton from builds.
git-svn-id: svn://10.0.0.236/trunk@33828 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:45:27 +00:00
mscott%netscape.com
091077aa33 Include nsIFileSpec.h
git-svn-id: svn://10.0.0.236/trunk@33827 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:44:11 +00:00
pinkerton%netscape.com
77057fe598 don't export imagebutton or menu button stuff. obsolete.
git-svn-id: svn://10.0.0.236/trunk@33826 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:43:19 +00:00
mscott%netscape.com
7f15155c83 support SaveMessageToDisk (stub right now)
replace nsAutoCString with more efficient nsAutoString


git-svn-id: svn://10.0.0.236/trunk@33825 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:42:31 +00:00
mscott%netscape.com
c01d870021 replace nsAutoCString with more efficient nsAutoString
git-svn-id: svn://10.0.0.236/trunk@33824 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:41:56 +00:00
pinkerton%netscape.com
cc15e45ad2 removing obsolete widgets (nsImageButton and nsMenuButton).
git-svn-id: svn://10.0.0.236/trunk@33823 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:41:39 +00:00
ssu%netscape.com
aa4d8a25af fixed bug #6859: default root key now set
git-svn-id: svn://10.0.0.236/trunk@33822 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:40:56 +00:00
pinkerton%netscape.com
c43d68577a removing imageButton and menuButton stuff. obsolete.
git-svn-id: svn://10.0.0.236/trunk@33821 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:36:54 +00:00
sfraser%netscape.com
dd6777bad0 Keep the lamer compilers happy.
git-svn-id: svn://10.0.0.236/trunk@33820 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:33:53 +00:00
amusil%netscape.com
06518c4646 Fixed bug with Java-targeted object tags.
git-svn-id: svn://10.0.0.236/trunk@33819 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:33:13 +00:00
sspitzer%netscape.com
13df9e5f19 even though it isn't building yet, follow briano's lead and use
MOZ_DLL_SUFFIX


git-svn-id: svn://10.0.0.236/trunk@33818 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:32:46 +00:00
amusil%netscape.com
b9c9fafc5e Bug fixes with plugin instance caching. We now keep track of a plugin instance's start/stop state.
git-svn-id: svn://10.0.0.236/trunk@33817 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:32:27 +00:00
sspitzer%netscape.com
7cd03fe59d even though it doesn't build right now, follow briano's lead and use
MOZ_DLL_SUFFIX


git-svn-id: svn://10.0.0.236/trunk@33816 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:31:32 +00:00
hyatt%netscape.com
68c2ea79c0 Menus now set and unset the open attribute (ensuring that RDF-generated content
doesn't stick around).


git-svn-id: svn://10.0.0.236/trunk@33815 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:31:07 +00:00
sspitzer%netscape.com
3cd7a38194 follow briano's lead and use MOZ_DLL_SUFFIX
git-svn-id: svn://10.0.0.236/trunk@33814 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:30:45 +00:00
morse%netscape.com
593cf1bf61 reimplement cookie viewer
git-svn-id: svn://10.0.0.236/trunk@33813 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:30:11 +00:00
sspitzer%netscape.com
db32086b0e follow briano's lead and use MOZ_DLL_SUFFIX.
also make some changes to get this building again.  It's still not complete,
but its closer.


git-svn-id: svn://10.0.0.236/trunk@33812 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:28:10 +00:00
mccabe%netscape.com
14ae3aa186 Backing out demo cvs checkin.
git-svn-id: svn://10.0.0.236/trunk@33811 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:27:50 +00:00
hyatt%netscape.com
5d275c248d Menus now set and unset the open attribute.
git-svn-id: svn://10.0.0.236/trunk@33810 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:24:53 +00:00
hyatt%netscape.com
caebf3a5f8 Removing the "open='true'" rule from the template for the bookmarks menu.
git-svn-id: svn://10.0.0.236/trunk@33809 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:24:37 +00:00
ramiro%netscape.com
b488eb78b9 Dont hardcode the location of libdl.so. This is already done for you by
$(OS_LIBS).


git-svn-id: svn://10.0.0.236/trunk@33808 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:23:55 +00:00
akkana%netscape.com
0e075a7b80 XIF Document Encoder; and partial fix for XIF-to-html conversion of comments
git-svn-id: svn://10.0.0.236/trunk@33807 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:22:53 +00:00
pinkerton%netscape.com
33502fbad6 removing nsImageButton and nsMenuButton. obsolete.
git-svn-id: svn://10.0.0.236/trunk@33806 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:22:22 +00:00
pinkerton%netscape.com
22c73ef474 nsMenuButton and nsImageButton obsolete.
git-svn-id: svn://10.0.0.236/trunk@33805 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:21:59 +00:00
mscott%netscape.com
c7cb6b6d2d support SaveMessageToDisk (stub right now)
replace nsAutoCString with more efficient nsAutoString


git-svn-id: svn://10.0.0.236/trunk@33804 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:19:59 +00:00
waterson%netscape.com
dc508a534f Obsolete.
git-svn-id: svn://10.0.0.236/trunk@33803 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:19:32 +00:00
mscott%netscape.com
cbb4a26833 replace nsAutoCString with more efficient nsAutoString.
git-svn-id: svn://10.0.0.236/trunk@33802 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:18:55 +00:00
sspitzer%netscape.com
ddee83a9fa follow briano's lead and use MOZ_DLL_SUFFIX
git-svn-id: svn://10.0.0.236/trunk@33801 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:18:07 +00:00
briano%netscape.com
a5a074461d Handle the (Unix) platform-specific DLL naming conventions properly.
git-svn-id: svn://10.0.0.236/trunk@33800 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:17:30 +00:00
sspitzer%netscape.com
9b06ae0c8f follow briano's lead and use MOZ_DLL_SUFFIX. also fix warnings while I'm here.
git-svn-id: svn://10.0.0.236/trunk@33799 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:17:19 +00:00
ssu%netscape.com
cfe81e44f7 fixing bug #7053: DiskSpaceAvailable() returned wrong value.
git-svn-id: svn://10.0.0.236/trunk@33798 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:15:53 +00:00
despotdaemon%netscape.com
be6d08ae18 Pseudo-automatic update of changes made by miodrag@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@33797 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:14:48 +00:00
jdunn%netscape.com
bb6c60694d AIX requires nsSubsumeStr to be a const... so for AIX (only) lets make it so
git-svn-id: svn://10.0.0.236/trunk@33796 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:08:19 +00:00
mscott%netscape.com
cd36cbdf58 use nsAutoString and nsAutoString.GetBuffer in place of calling nsAutoCString. This is much more memory friendly and doesn't require an extra copy of the object getting created on the healp like nsAutoCString does.
git-svn-id: svn://10.0.0.236/trunk@33795 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:07:26 +00:00
hyatt%netscape.com
d7c82da11f Fixes for several bugs.
git-svn-id: svn://10.0.0.236/trunk@33794 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:05:47 +00:00
sfraser%netscape.com
fbf3a2645f Added nsDocumentEncoder.cpp for akkana
git-svn-id: svn://10.0.0.236/trunk@33793 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:04:44 +00:00
cmanske%netscape.com
34ad27f047 Changed dot selector to class~= syntax (XML selector style). Moved titled button image entry from navigator.css to xul.css so it works in dialogs
git-svn-id: svn://10.0.0.236/trunk@33792 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 22:03:09 +00:00
rhp%netscape.com
012202f1f7 Added a header
git-svn-id: svn://10.0.0.236/trunk@33791 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:57:36 +00:00
briano%netscape.com
8c6de822d9 Handle the (Unix) platform-specific DLL naming conventions properly.
git-svn-id: svn://10.0.0.236/trunk@33790 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:54:38 +00:00
cathleen%netscape.com
9521da857d nativepatch() returns new patched file to the caller function
make final file replacement work for patch files


git-svn-id: svn://10.0.0.236/trunk@33789 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:54:34 +00:00
slamm%netscape.com
d0557591c3 Fix relative links for static page.
git-svn-id: svn://10.0.0.236/trunk@33788 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:54:15 +00:00
morse%netscape.com
e9875f87c5 reimplement cookie viewer
git-svn-id: svn://10.0.0.236/trunk@33787 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:51:57 +00:00
ssu%netscape.com
0dd33f2e12 fixed problem with Install.FileRename() and Install.DirRename()
git-svn-id: svn://10.0.0.236/trunk@33786 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:50:17 +00:00
jdunn%netscape.com
85dfb1be6c This file can't be optimized on AIX and so just like the NSPR file (prdtoa.c)
we turn off optimizing while compiling.


git-svn-id: svn://10.0.0.236/trunk@33785 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:50:09 +00:00
sfraser%netscape.com
75a4b9b2b6 Adapt to the changed nsIFindComponent interface (new param to InitContext)
git-svn-id: svn://10.0.0.236/trunk@33784 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:50:02 +00:00
sfraser%netscape.com
4d691df9e3 Some renaming of nodes to reduce ambiguity, and leave the field open for Find and Replace later.
git-svn-id: svn://10.0.0.236/trunk@33783 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:49:21 +00:00
mscott%netscape.com
c88c32646a Remove nsAutoCString with nsAutoString.GetBuffer().
git-svn-id: svn://10.0.0.236/trunk@33781 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:49:18 +00:00
sfraser%netscape.com
4c3082ab0c New, improved Find that keys off the selection, rather than storing offsets inside the find context.
git-svn-id: svn://10.0.0.236/trunk@33780 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:48:47 +00:00
briano%netscape.com
fd434f45f9 Got it right this time. Handle the (Unix) platform-specific DLL naming conventions properly.
git-svn-id: svn://10.0.0.236/trunk@33779 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:48:45 +00:00
dougt%netscape.com
c4a437a7ed Adding out MANIFEST_PREFS to the mac build.
git-svn-id: svn://10.0.0.236/trunk@33778 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:47:39 +00:00
dougt%netscape.com
796636692c turning off silentdl.
git-svn-id: svn://10.0.0.236/trunk@33777 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:45:54 +00:00
briano%netscape.com
1b73ce72f6 Cleaned up a bunch of old (unused?) crap.
git-svn-id: svn://10.0.0.236/trunk@33776 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:45:17 +00:00
dougt%netscape.com
cd3f1c78cd Changing the name of the prefs to xpinstall.foo
removing unused pref defines
Removing a force true when asked if we were enabled.


git-svn-id: svn://10.0.0.236/trunk@33775 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:45:04 +00:00
mscott%netscape.com
8dedf9d091 replace nsAutoCString with more efficient calls using nsAutoString.GetBuffer. This requires us to force several nsAutoStrings to be created as one byte strings (which is okay).
git-svn-id: svn://10.0.0.236/trunk@33774 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:44:57 +00:00
briano%netscape.com
394355d3c1 Automated update
git-svn-id: svn://10.0.0.236/trunk@33773 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:44:49 +00:00
mscott%netscape.com
e44dc343f0 Include nsIFileSpec.h
git-svn-id: svn://10.0.0.236/trunk@33772 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:43:16 +00:00
dougt%netscape.com
7723c4a70e Adding xpinstall.js to the build. This will setup our prefs for us.
git-svn-id: svn://10.0.0.236/trunk@33771 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:43:14 +00:00
briano%netscape.com
0537dbc26b Added checks for uint, int64, and int64_t.
git-svn-id: svn://10.0.0.236/trunk@33770 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:42:18 +00:00
mscott%netscape.com
62133fdcc9 First checked in. New files used to encapsulate much of the cross mail-news protocol code. this is mostly mail protocol to core netlib integration code. Over the next couple days, I'll be updating the mailnews protocols to inherit from nsMsgProtocol and pushing commonality up to the nsMsgProtocol level.
git-svn-id: svn://10.0.0.236/trunk@33769 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:41:47 +00:00
mscott%netscape.com
af8e101f1b support SaveMessageToDisk (stub right now).
Remove nsAutoCString with more efficient call to nsString.GetBuffer.


git-svn-id: svn://10.0.0.236/trunk@33768 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:40:25 +00:00
mccabe%netscape.com
eba02f27b8 Partial fix to 7202. free (XPT_DELETE()) a pointer that was previously just set to NULL and leaked.
Thanks to David Gardiner <david.gardiner@unisa.edu.au> for the patch, and to bruce to pointing me to it.


git-svn-id: svn://10.0.0.236/trunk@33767 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 21:33:38 +00:00
despotdaemon%netscape.com
9af74f6c75 Pseudo-automatic update of changes made by terry@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@33766 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:55:20 +00:00
despotdaemon%netscape.com
05e5756172 Pseudo-automatic update of changes made by terry@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@33765 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:54:17 +00:00
terry%mozilla.org
de3348c6bb Added sendnotification.pl.
git-svn-id: svn://10.0.0.236/trunk@33764 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:53:34 +00:00
despotdaemon%netscape.com
f5341151bb Pseudo-automatic update of changes made by terry@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@33763 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:52:57 +00:00
despotdaemon%netscape.com
c76323298e Pseudo-automatic update of changes made by terry@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@33762 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:52:06 +00:00
despotdaemon%netscape.com
b3eaf07d5d Pseudo-automatic update of changes made by terry@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@33761 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:50:48 +00:00
despotdaemon%netscape.com
92bed36fbd Pseudo-automatic update of changes made by terry@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@33760 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:50:02 +00:00
terry%mozilla.org
6cad802029 Turn on notification feature.
git-svn-id: svn://10.0.0.236/trunk@33759 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:47:53 +00:00
norris%netscape.com
90348e63ec Add benchmarks.
git-svn-id: svn://10.0.0.236/trunk@33758 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:44:17 +00:00
beard%netscape.com
7e586f42e5 added top-level "environment" associative array - which provides JavaScript access to Java System properties.
git-svn-id: svn://10.0.0.236/trunk@33757 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:06:25 +00:00
beard%netscape.com
a640fc495b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@33756 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 18:03:06 +00:00
sspitzer%netscape.com
13134b936d FindMsgAppCore() is gone, since alecf removed the MsgAppCore.
The correct call is FindMessenger().


git-svn-id: svn://10.0.0.236/trunk@33755 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:45:57 +00:00
mcmullen%netscape.com
63a1fe6509 Fix one last case of uint (and I had removed the typedef, breaking photon). Approved leaf.
git-svn-id: svn://10.0.0.236/trunk@33754 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:43:37 +00:00
beard%netscape.com
dbf0fe69c6 File Removed.
git-svn-id: svn://10.0.0.236/trunk@33753 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:43:35 +00:00
beard%netscape.com
8a0fe4a93e added Environment.java
git-svn-id: svn://10.0.0.236/trunk@33752 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:43:17 +00:00
terry%mozilla.org
f88f417a26 dmose now owns despot.
git-svn-id: svn://10.0.0.236/trunk@33751 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:10:28 +00:00
slamm%netscape.com
c273315286 Fix typo.
git-svn-id: svn://10.0.0.236/trunk@33750 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:06:20 +00:00
amasri%netscape.com
469d382646 commented out tests that cause system failure (ZDNet)
git-svn-id: svn://10.0.0.236/trunk@33749 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:00:53 +00:00
amasri%netscape.com
f7d4d11f4e added error handling
git-svn-id: svn://10.0.0.236/trunk@33748 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 17:00:18 +00:00
amasri%netscape.com
91258d0bfc changed Invoke() method to give better error messages
git-svn-id: svn://10.0.0.236/trunk@33747 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 16:59:30 +00:00
amasri%netscape.com
addb0b2f44 added extra tests for version 2.0
git-svn-id: svn://10.0.0.236/trunk@33746 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 16:58:29 +00:00
jefft%netscape.com
6bb45e8916 temporary fix for build bustage by ducarroz
git-svn-id: svn://10.0.0.236/trunk@33745 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 16:53:05 +00:00
norris%netscape.com
960871aa12 Subject:
Re: netscape.javascript.JSObject ?
        Date:
             Thu, 03 Jun 1999 17:52:42 -0700
       From:
             Frank Mitchell <frankm@eng.Sun.COM>
 Organization:
             Java Products Engineering
         To:
             Norris Boyd <norris@netscape.com>
  References:
             1 , 2 , 3 , 4 , 5 , 6 , 7 , 8




Norris Boyd wrote:
>
> Sorry--missed the checkin of a new file. It's there now.
>
> I'd also added a small change for the "inheritance" of JavaScript array methods.

Actually, I've already done that (and for String as well).  It still
fails some LC3 regression tests, though.

I'm including a tarfile that includes the previous changes and the new
ones.

Frank


git-svn-id: svn://10.0.0.236/trunk@33744 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 16:25:41 +00:00
norris%netscape.com
1090d221af Add NativeJavaConstructor.java
git-svn-id: svn://10.0.0.236/trunk@33743 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 16:06:14 +00:00
ducarroz%netscape.com
6148db1fc6 oops, forget to reactivate one line for the function Dispose
git-svn-id: svn://10.0.0.236/trunk@33742 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 15:50:54 +00:00
ducarroz%netscape.com
4cfbb9765a Add function Dispose. Fix for build bustage
git-svn-id: svn://10.0.0.236/trunk@33741 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 15:47:05 +00:00
ducarroz%netscape.com
77bcb54189 Add function Dispose, fix build bustage
git-svn-id: svn://10.0.0.236/trunk@33740 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 15:38:53 +00:00
ducarroz%netscape.com
4a0f0a764b Add function Dispose, fix also js problem with NewMessage, fix for build bustage
git-svn-id: svn://10.0.0.236/trunk@33739 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 15:38:43 +00:00
Jerry.Kirk%Nexwarecorp.com
a1f6940f03 - Fixing code after addition of ShowMenuBar() method
-  This is still not implemented, it will just compile now.


git-svn-id: svn://10.0.0.236/trunk@33738 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 15:09:50 +00:00
valeski%netscape.com
0f4e775451 added the HandleEvent method
git-svn-id: svn://10.0.0.236/trunk@33737 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 15:02:27 +00:00
rhp%netscape.com
b6f07cfd0a Fix to use PR_free instead of delete
git-svn-id: svn://10.0.0.236/trunk@33736 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 12:24:17 +00:00
gagan%netscape.com
ede4d98055 Fixed the stream length to be zero. Thanks Andreas.
git-svn-id: svn://10.0.0.236/trunk@33735 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 11:10:31 +00:00
rpotts%netscape.com
0a0088d3c7 Added PLEvent pump for unix...
git-svn-id: svn://10.0.0.236/trunk@33734 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 09:03:45 +00:00
rpotts%netscape.com
a60f667fd2 Added NSPR logging messages...
git-svn-id: svn://10.0.0.236/trunk@33733 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 08:52:02 +00:00
ducarroz%netscape.com
9b620ff2e6 add some missing includes for C++ only.
git-svn-id: svn://10.0.0.236/trunk@33732 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 08:49:46 +00:00
ducarroz%netscape.com
1cbea49773 add nsIMessenger.idl, fix build bustage!
git-svn-id: svn://10.0.0.236/trunk@33731 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 07:45:52 +00:00
gagan%netscape.com
047f87a3eb Getting it building again... changed the Write call to match its signature in nsIByteBufferInputStream. It will probably change again to FillFrom once we move that to idl.
git-svn-id: svn://10.0.0.236/trunk@33730 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 07:36:04 +00:00
gagan%netscape.com
bd823a6e11 Getting base building again. Fixed the changes from nsIOutputStream's Write function.
git-svn-id: svn://10.0.0.236/trunk@33729 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 07:25:16 +00:00
ducarroz%netscape.com
add3524194 add nsIXPCSecurityManager to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@33728 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 06:39:33 +00:00
shaver%netscape.com
7c304e9aa0 fix for #3839
git-svn-id: svn://10.0.0.236/trunk@33727 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 06:21:49 +00:00
ducarroz%netscape.com
a84c344b5c composeAppCore.NewMessage know takes only 5 parameters.
git-svn-id: svn://10.0.0.236/trunk@33726 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 05:47:05 +00:00
jband%netscape.com
cc9525fa15 added nsIXPCSecurityManager interface and support to xpconnect - with tests.
git-svn-id: svn://10.0.0.236/trunk@33725 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 05:46:48 +00:00
tague%netscape.com
a367379062 Fix for #6896: Windows editor interprests the '.' key as a forward delete. Not building by default -- will switch over once tested on Mac and Unix.
git-svn-id: svn://10.0.0.236/trunk@33724 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 05:14:01 +00:00
sspitzer%netscape.com
3e111b037e fix mac build bustage.
git-svn-id: svn://10.0.0.236/trunk@33723 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:42:24 +00:00
sspitzer%netscape.com
a88bb70a49 fix spelling mistake.
git-svn-id: svn://10.0.0.236/trunk@33722 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:32:07 +00:00
alecf%netscape.com
c29a83c1e5 fix leaks
git-svn-id: svn://10.0.0.236/trunk@33721 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:19:46 +00:00
alecf%netscape.com
1e721e7733 export xulstubs.idl on windows
git-svn-id: svn://10.0.0.236/trunk@33720 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:18:29 +00:00
alecf%netscape.com
65e5883cdb fix a bunch of warnings about shadowed variables, etc
git-svn-id: svn://10.0.0.236/trunk@33719 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:17:56 +00:00
alecf%netscape.com
66068509ff fix leak
git-svn-id: svn://10.0.0.236/trunk@33717 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:17:26 +00:00
sspitzer%netscape.com
722a5752e2 nsIDOMMsgAppCore.idl is gone.
git-svn-id: svn://10.0.0.236/trunk@33716 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:12:09 +00:00
alecf%netscape.com
5824810b7d oops, forgot to stop exporting these files
git-svn-id: svn://10.0.0.236/trunk@33715 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:03:12 +00:00
alecf%netscape.com
1028107c1e added files: mozilla/mailnews/base/src/nsMessengerBootstrap.cpp, removed files: mozilla/mailnews/base/src/nsMessengerNameSet.cpp, mozilla/mailnews/base/src/nsMsgAppCore.cpp, mozilla/mailnews/base/src/nsJSMsgAppCore.cpp
git-svn-id: svn://10.0.0.236/trunk@33714 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:01:56 +00:00
danm%netscape.com
447a35fe7d show/hide menubar in chrome settings
git-svn-id: svn://10.0.0.236/trunk@33713 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:01:20 +00:00
alecf%netscape.com
a9b04231b5 Killing the messenger appcore once and for all.
Don't be frightened by the size of this checkin, most of the appcore conversion to XPConnect was fairly simple. Some of this is just fixing code that depended on the old appcore


git-svn-id: svn://10.0.0.236/trunk@33712 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:00:58 +00:00
danm%netscape.com
21ed2a65fd adding ShowMenuBar
git-svn-id: svn://10.0.0.236/trunk@33711 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 04:00:30 +00:00
danm%netscape.com
56bdcb43e9 removing nsIDOMSelection.h and nsIDOMSelectionListener.h: these have been moved to ../range
git-svn-id: svn://10.0.0.236/trunk@33710 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:50:48 +00:00
sspitzer%netscape.com
d65cf7e026 libnntp.a should be libnntp_s.a to indicate that is is always going to be a static library. (follow convention)
git-svn-id: svn://10.0.0.236/trunk@33709 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:48:25 +00:00
sspitzer%netscape.com
2b45603119 whoops, forgot one.
git-svn-id: svn://10.0.0.236/trunk@33708 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:45:57 +00:00
sspitzer%netscape.com
fade18bee2 return NS_ERROR_NOT_IMPLEMENTED, and not 0. remove dead code. get mark message read working for news. (the m_newSet code isn't being populated from the newsrc file yet, so don't use it.)
git-svn-id: svn://10.0.0.236/trunk@33707 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:38:26 +00:00
sspitzer%netscape.com
0fc5625884 rename the windows library to libnntp_s.lib, since it is static as well
git-svn-id: svn://10.0.0.236/trunk@33706 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:37:41 +00:00
sspitzer%netscape.com
2e75794b0d libnntp.a should be libnntp_s.a to indicate that is is always going to
be a static library.  (follow convention)


git-svn-id: svn://10.0.0.236/trunk@33705 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:27:00 +00:00
briano%netscape.com
221cc5f371 Automated update
git-svn-id: svn://10.0.0.236/trunk@33704 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:25:25 +00:00
briano%netscape.com
353e55b7f6 Okay, so I'm a moron....
git-svn-id: svn://10.0.0.236/trunk@33703 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:24:56 +00:00
waterson%netscape.com
2cdbcfb265 Removed unnecessary LINCS.
git-svn-id: svn://10.0.0.236/trunk@33702 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:18:38 +00:00
wtc%netscape.com
65aeb0b85f More OpenVMS changes from Colin R. Blake <colin@theblakes.com>.
Modified files: prstrms.cpp, pr/include/md/Makefile, _openvms.h,
and prmapopt.c.


git-svn-id: svn://10.0.0.236/trunk@33700 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 03:01:40 +00:00
rickg%netscape.com
5614b7a1e9 fixed bugs 4396 and 7381
git-svn-id: svn://10.0.0.236/trunk@33699 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 02:34:36 +00:00
waterson%netscape.com
bc603a7cef Add KEEP directive to .exe build rule so that cmd.cfg isn't blown away.
git-svn-id: svn://10.0.0.236/trunk@33698 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 02:31:24 +00:00
waterson%netscape.com
b79a2853b6 Clean up MOZ_PROFILE rules to get working with Quantify.
git-svn-id: svn://10.0.0.236/trunk@33697 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 02:30:51 +00:00
tague%netscape.com
d46753fa28 Temporarily remove TSMActivate/Deactivate document assertions until bug #7571 gets fixed.
git-svn-id: svn://10.0.0.236/trunk@33696 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 02:12:07 +00:00
mscott%netscape.com
6c08acb9bd Remove unnecessary LINCS now that all headers are pushed to the same directory.
git-svn-id: svn://10.0.0.236/trunk@33695 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 02:07:10 +00:00
mscott%netscape.com
7f4ae06c9c Remove unnecessary LINCS now that all headers are pushed to the same directory.
Export header files because they weren't getting exported before.


git-svn-id: svn://10.0.0.236/trunk@33694 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 02:04:43 +00:00
briano%netscape.com
ec88440c2d Converted all the C++ comments to C comments to fix the Unix builds (prefapi.c).
git-svn-id: svn://10.0.0.236/trunk@33693 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 02:00:19 +00:00
putterman%netscape.com
79a9b98ea5 Just comment out this function so I can get it right on the mac eventually.
git-svn-id: svn://10.0.0.236/trunk@33692 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:51:36 +00:00
briano%netscape.com
045e73bfdc Automated update
git-svn-id: svn://10.0.0.236/trunk@33691 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:50:43 +00:00
briano%netscape.com
7a2bbb38ea Changed the way MOZ_DLL_SUFFIX gets defined. Hopefully this will allow it to be used the way PR_DLL_SUFFIX is used inside NSPR.
git-svn-id: svn://10.0.0.236/trunk@33690 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:50:12 +00:00
nisheeth%netscape.com
c16e04df1f Fix for bug 6892. We should not set focus each time a document viewer creates a new window but leave it to the embedding application to decide when to set focus.
git-svn-id: svn://10.0.0.236/trunk@33689 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:48:38 +00:00
briano%netscape.com
7a38066382 Added an explicit LD definition for QNX.
git-svn-id: svn://10.0.0.236/trunk@33688 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:42:00 +00:00
mscott%netscape.com
de69ac5bb1 Remove unnecessary LINCS now that all headers are pushed to the same directory.
git-svn-id: svn://10.0.0.236/trunk@33687 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:21:24 +00:00
putterman%netscape.com
26d7ecfe23 Fix PRInt64 problems to fix bustage.
git-svn-id: svn://10.0.0.236/trunk@33686 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:19:56 +00:00
nisheeth%netscape.com
4cc391ff22 Fix for bug 4924. Attributes created with no namespace prefix are now assigned no namespace. They were erroneously being assigned the default namespace earlier.
git-svn-id: svn://10.0.0.236/trunk@33685 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:16:18 +00:00
ducarroz%netscape.com
733ca6de59 nsIMsgBiffManager.h is already exported by xpidl
git-svn-id: svn://10.0.0.236/trunk@33684 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:14:01 +00:00
ducarroz%netscape.com
7989ded99f add nsIMsgBiffManager.idl, fix build bustage!
git-svn-id: svn://10.0.0.236/trunk@33683 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:09:04 +00:00
putterman%netscape.com
420042a5cf fix build bustage
git-svn-id: svn://10.0.0.236/trunk@33682 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:07:03 +00:00
akkana%netscape.com
5199693c7c Checking in the non-dangerous parts of the XIF document/html encoder
git-svn-id: svn://10.0.0.236/trunk@33681 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 01:04:08 +00:00
putterman%netscape.com
3c4b404cd9 Add nsIMsgBiffManager.h to fix bustage.
git-svn-id: svn://10.0.0.236/trunk@33680 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 00:53:56 +00:00
cmanske%netscape.com
bb377c86aa Changed [class=push] to .push (correct class selector syntax for CSS)
git-svn-id: svn://10.0.0.236/trunk@33679 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 00:33:38 +00:00
nisheeth%netscape.com
1e9a7adaef The "Using expat for parsing XML message" is getting annoying. Only print it out for my debug build...
git-svn-id: svn://10.0.0.236/trunk@33678 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 00:30:23 +00:00
warren%netscape.com
1be69d18f3 Fixed CPP_OBJS to build nsHTMLFragmentContentSink.obj not nsHTMLFragmentContentSink.cpp.
git-svn-id: svn://10.0.0.236/trunk@33677 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 00:12:43 +00:00
hangas%netscape.com
c533144fe7 Removed dump() line
git-svn-id: svn://10.0.0.236/trunk@33676 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 00:11:03 +00:00
erik%netscape.com
238dfa9172 Bug 7427. Need to convert enumerated font names from system code page to
Unicode, and then convert Unicode font names back to system code page when
loading font.


git-svn-id: svn://10.0.0.236/trunk@33675 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 00:08:56 +00:00
ducarroz%netscape.com
91b5031be3 implemented MsgNewMessage and added code to open the addressbook when click on the AB button in the status bar.
git-svn-id: svn://10.0.0.236/trunk@33674 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:59:58 +00:00
warren%netscape.com
08d4fc7175 Removed stream files from manifest.
git-svn-id: svn://10.0.0.236/trunk@33673 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:52:13 +00:00
mscott%netscape.com
a13d238a19 Remove unnecessary LINCS now that all headers are pushed to the same directory.
git-svn-id: svn://10.0.0.236/trunk@33672 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:42:51 +00:00
slamm%netscape.com
9a082e063b Static page does not need header.
git-svn-id: svn://10.0.0.236/trunk@33671 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:42:34 +00:00
mang%subcarrier.org
a904c07dc4 Added doc comment
git-svn-id: svn://10.0.0.236/trunk@33670 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:39:57 +00:00
norris%netscape.com
b8fb6e472a LC3 support: make Java arrays have Array.prototype as a prototype.
git-svn-id: svn://10.0.0.236/trunk@33669 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:38:47 +00:00
slamm%netscape.com
c89720f69a Add a static page for tinderbox.
git-svn-id: svn://10.0.0.236/trunk@33668 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:38:24 +00:00
norris%netscape.com
589a2f1182 Subject:
Re: Rhino LiveConnect: need help?
        Date:
             Wed, 02 Jun 1999 19:33:37 -0700
       From:
             Frank Mitchell <frankm@eng.Sun.COM>
 Organization:
             Java Products Engineering
         To:
             Scott Furman <fur@netscape.com>, Norris Boyd <norris@netscape.com>
         CC:
             mallen@eng.Sun.COM
  References:
             1 , 2 , 3 , 4




Scott Furman wrote:
> In order to bring Rhino LiveConnect support up to the level of the
> C-engine, the features of LiveConnect version 2 and version 3 would
> need to be added.  You can see some details of LC2 and LC3 features
> here.  I would guess that 80% of the time would be spent implementing
> one feature: LC3's new method overload resolution scheme.


OK, I think I have something that implements the new overloaded method
resolution scheme ... I'm still working on getting the regression tests
running smoothly, but from command-line testing it seems to work.  It's
not the *cleanest* code I've ever done, though: in particular, it has
too many static methods and type-checking code for my tastes.  (Hey,
should we spin the type coercion and comparison stuff to some other
module entirely?  Right now it's mostly in JavaNativeObject, with the
preference stuff in JavaNativeMethod.)  I'm also not sure why some of
this stuff is public, and whether there might be backward-compatibility
problems with what I've done, particularly in repurposing the
COMPARISON_* constants.

Would you guys be kind enough to review this for me?  I'm hoping to
check it in once I get an ID, but it wouldn't hurt to have another pair
of eyes or three (pairs, I mean).  I've attached a tar/gzip of the
source files I've changed (or added), plus a diff.

Thanks,
Frank


git-svn-id: svn://10.0.0.236/trunk@33667 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:38:00 +00:00
mscott%netscape.com
153313037a Use nsCAutoString instead of nsAutoCString. This new version is much more memory friendly, avoiding an extra copy of the string from getting created on the heap.
git-svn-id: svn://10.0.0.236/trunk@33666 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:37:10 +00:00
sspitzer%netscape.com
47e6d70a0b don't compare nsCOMPtrs with nsnull.
git-svn-id: svn://10.0.0.236/trunk@33665 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:35:58 +00:00
warren%netscape.com
88da426e7c Removed obsolete files for mac.
git-svn-id: svn://10.0.0.236/trunk@33664 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:35:18 +00:00
mscott%netscape.com
b46897740f Export nsLocalMailFolder.h
git-svn-id: svn://10.0.0.236/trunk@33663 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:31:58 +00:00
mscott%netscape.com
80c6e96a41 Remove unnecessary LINCS now that all headers are pushed to the same directory.
git-svn-id: svn://10.0.0.236/trunk@33662 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:31:57 +00:00
rogerl%netscape.com
453b90c2aa Blew off 'caller' property - it was deemed a security risk, bug #7224
git-svn-id: svn://10.0.0.236/trunk@33661 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:24:39 +00:00
norris%netscape.com
315a12dd58 Subject:
Re: Rhino LiveConnect: need help?
        Date:
             Wed, 02 Jun 1999 19:33:37 -0700
       From:
             Frank Mitchell <frankm@eng.Sun.COM>
 Organization:
             Java Products Engineering
         To:
             Scott Furman <fur@netscape.com>, Norris Boyd <norris@netscape.com>
         CC:
             mallen@eng.Sun.COM
  References:
             1 , 2 , 3 , 4




Scott Furman wrote:
> In order to bring Rhino LiveConnect support up to the level of the
> C-engine, the features of LiveConnect version 2 and version 3 would
> need to be added.  You can see some details of LC2 and LC3 features
> here.  I would guess that 80% of the time would be spent implementing
> one feature: LC3's new method overload resolution scheme.


OK, I think I have something that implements the new overloaded method
resolution scheme ... I'm still working on getting the regression tests
running smoothly, but from command-line testing it seems to work.  It's
not the *cleanest* code I've ever done, though: in particular, it has
too many static methods and type-checking code for my tastes.  (Hey,
should we spin the type coercion and comparison stuff to some other
module entirely?  Right now it's mostly in JavaNativeObject, with the
preference stuff in JavaNativeMethod.)  I'm also not sure why some of
this stuff is public, and whether there might be backward-compatibility
problems with what I've done, particularly in repurposing the
COMPARISON_* constants.

Would you guys be kind enough to review this for me?  I'm hoping to
check it in once I get an ID, but it wouldn't hurt to have another pair
of eyes or three (pairs, I mean).  I've attached a tar/gzip of the
source files I've changed (or added), plus a diff.

Thanks,
Frank


git-svn-id: svn://10.0.0.236/trunk@33660 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:22:27 +00:00
warren%netscape.com
e306530a8e Added nsIBufferInputStream.idl
git-svn-id: svn://10.0.0.236/trunk@33659 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:10:11 +00:00
689 changed files with 198448 additions and 18420 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,592 @@
/* -*- 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.
*/
/******************************************************************************************
MODULE NOTES:
This file contains the nsStr data structure.
This general purpose buffer management class is used as the basis for our strings.
It's benefits include:
1. An efficient set of library style functions for manipulating nsStrs
2. Support for 1 and 2 byte character strings (which can easily be increased to n)
3. Unicode awareness and interoperability.
*******************************************************************************************/
#include "nsStr.h"
#include "bufferRoutines.h"
#include "stdio.h" //only used for printf
#include "nsDeque.h"
#include "nsCRT.h"
static const char* kFoolMsg = "Error: Some fool overwrote the shared buffer.";
//----------------------------------------------------------------------------------------
// The following is a memory agent who knows how to recycled (pool) freed memory...
//----------------------------------------------------------------------------------------
/**************************************************************
Define the char* (pooled) deallocator class...
**************************************************************/
class nsBufferDeallocator: public nsDequeFunctor{
public:
virtual void* operator()(void* anObject) {
char* aCString= (char*)anObject;
delete [] aCString;
return 0;
}
};
/**
*
* @update gess10/30/98
* @param
* @return
*/
class nsPoolingMemoryAgent : public nsMemoryAgent{
public:
nsPoolingMemoryAgent() {
memset(mPools,0,sizeof(mPools));
}
virtual ~nsPoolingMemoryAgent() {
nsBufferDeallocator theDeallocator;
int i=0;
for(i=0;i<10;i++){
if(mPools[i]){
mPools[i]->ForEach(theDeallocator); //now delete the buffers
}
delete mPools[i];
mPools[i]=0;
}
}
virtual PRBool Alloc(nsStr& aDest,PRUint32 aCount) {
//we're given the acount value in charunits; we have to scale up by the charsize.
int theShift=4;
PRUint32 theNewCapacity=eDefaultSize;
while(theNewCapacity<aCount){
theNewCapacity<<=1;
theShift++;
}
aDest.mCapacity=theNewCapacity++;
theShift=(theShift<<aDest.mCharSize)-4;
if((theShift<12) && (mPools[theShift])){
aDest.mStr=(char*)mPools[theShift]->Pop();
}
if(!aDest.mStr) {
//we're given the acount value in charunits; we have to scale up by the charsize.
size_t theSize=(theNewCapacity<<aDest.mCharSize);
aDest.mStr=new char[theSize];
}
aDest.mOwnsBuffer=1;
return PRBool(aDest.mStr!=0);
}
virtual PRBool Free(nsStr& aDest){
if(aDest.mStr){
if(aDest.mOwnsBuffer){
int theShift=1;
unsigned int theValue=1;
while((theValue<<=1)<aDest.mCapacity){
theShift++;
}
theShift-=4;
if(theShift<12){
if(!mPools[theShift]){
mPools[theShift]=new nsDeque(0);
}
mPools[theShift]->Push(aDest.mStr);
}
else delete [] aDest.mStr; //it's too big. Just delete it.
}
aDest.mStr=0;
aDest.mOwnsBuffer=0;
return PR_TRUE;
}
return PR_FALSE;
}
nsDeque* mPools[16];
};
static char* gCommonEmptyBuffer=0;
/**
*
* @update gess10/30/98
* @param
* @return
*/
char* GetSharedEmptyBuffer() {
if(!gCommonEmptyBuffer) {
const size_t theDfltSize=5;
gCommonEmptyBuffer=new char[theDfltSize];
if(gCommonEmptyBuffer){
nsCRT::zero(gCommonEmptyBuffer,theDfltSize);
gCommonEmptyBuffer[0]=0;
}
else {
printf("%s\n","Memory allocation error!");
}
}
return gCommonEmptyBuffer;
}
/**
*
* @update gess10/30/98
* @param
* @return
*/
void nsStr::Initialize(nsStr& aDest,eCharSize aCharSize) {
aDest.mStr=GetSharedEmptyBuffer();
aDest.mLength=0;
aDest.mCapacity=0;
aDest.mCharSize=aCharSize;
aDest.mOwnsBuffer=0;
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
*
* @update gess10/30/98
* @param
* @return
*/
void nsStr::Initialize(nsStr& aDest,char* aCString,PRUint32 aCapacity,PRUint32 aLength,eCharSize aCharSize,PRBool aOwnsBuffer){
aDest.mStr=(aCString) ? aCString : GetSharedEmptyBuffer();
aDest.mLength=aLength;
aDest.mCapacity=aCapacity;
aDest.mCharSize=aCharSize;
aDest.mOwnsBuffer=aOwnsBuffer;
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
*
* @update gess10/30/98
* @param
* @return
*/
nsIMemoryAgent* GetDefaultAgent(void){
// static nsPoolingMemoryAgent gDefaultAgent;
static nsMemoryAgent gDefaultAgent;
return (nsIMemoryAgent*)&gDefaultAgent;
}
/**
*
* @update gess10/30/98
* @param
* @return
*/
void nsStr::Destroy(nsStr& aDest,nsIMemoryAgent* anAgent) {
if((aDest.mStr) && (aDest.mStr!=GetSharedEmptyBuffer())) {
if(!anAgent)
anAgent=GetDefaultAgent();
if(anAgent) {
anAgent->Free(aDest);
}
else{
printf("%s\n","Leak occured in nsStr.");
}
}
}
/**
* This method gets called when the internal buffer needs
* to grow to a given size. The original contents are not preserved.
* @update gess 3/30/98
* @param aNewLength -- new capacity of string in charSize units
* @return void
*/
void nsStr::EnsureCapacity(nsStr& aString,PRUint32 aNewLength,nsIMemoryAgent* anAgent) {
if(aNewLength>aString.mCapacity) {
nsIMemoryAgent* theAgent=(anAgent) ? anAgent : GetDefaultAgent();
theAgent->Realloc(aString,aNewLength);
AddNullTerminator(aString);
}
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
* This method gets called when the internal buffer needs
* to grow to a given size. The original contents ARE preserved.
* @update gess 3/30/98
* @param aNewLength -- new capacity of string in charSize units
* @return void
*/
void nsStr::GrowCapacity(nsStr& aDest,PRUint32 aNewLength,nsIMemoryAgent* anAgent) {
if(aNewLength>aDest.mCapacity) {
nsStr theTempStr;
nsStr::Initialize(theTempStr,aDest.mCharSize);
nsIMemoryAgent* theAgent=(anAgent) ? anAgent : GetDefaultAgent();
EnsureCapacity(theTempStr,aNewLength,theAgent);
if(aDest.mLength) {
Append(theTempStr,aDest,0,aDest.mLength,theAgent);
}
theAgent->Free(aDest);
aDest.mStr = theTempStr.mStr;
theTempStr.mStr=0; //make sure to null this out so that you don't lose the buffer you just stole...
aDest.mLength=theTempStr.mLength;
aDest.mCapacity=theTempStr.mCapacity;
aDest.mOwnsBuffer=theTempStr.mOwnsBuffer;
}
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
* Replaces the contents of aDest with aSource, up to aCount of chars.
* @update gess10/30/98
* @param aDest is the nsStr that gets changed.
* @param aSource is where chars are copied from
* @param aCount is the number of chars copied from aSource
*/
void nsStr::Assign(nsStr& aDest,const nsStr& aSource,PRUint32 anOffset,PRInt32 aCount,nsIMemoryAgent* anAgent){
if(&aDest!=&aSource){
Truncate(aDest,0,anAgent);
Append(aDest,aSource,anOffset,aCount,anAgent);
}
}
/**
* This method appends the given nsStr to this one. Note that we have to
* pay attention to the underlying char-size of both structs.
* @update gess10/30/98
* @param aDest is the nsStr to be manipulated
* @param aSource is where char are copied from
* @aCount is the number of bytes to be copied
*/
void nsStr::Append(nsStr& aDest,const nsStr& aSource,PRUint32 anOffset,PRInt32 aCount,nsIMemoryAgent* anAgent){
if(anOffset<aSource.mLength){
PRUint32 theRealLen=(aCount<0) ? aSource.mLength : MinInt(aCount,aSource.mLength);
PRUint32 theLength=(anOffset+theRealLen<aSource.mLength) ? theRealLen : (aSource.mLength-anOffset);
if(0<theLength){
if(aDest.mLength+theLength > aDest.mCapacity) {
GrowCapacity(aDest,aDest.mLength+theLength,anAgent);
}
//now append new chars, starting at offset
(*gCopyChars[aSource.mCharSize][aDest.mCharSize])(aDest.mStr,aDest.mLength,aSource.mStr,anOffset,theLength);
aDest.mLength+=theLength;
}
}
AddNullTerminator(aDest);
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
* This method inserts up to "aCount" chars from a source nsStr into a dest nsStr.
* @update gess10/30/98
* @param aDest is the nsStr that gets changed
* @param aDestOffset is where in aDest the insertion is to occur
* @param aSource is where chars are copied from
* @param aSrcOffset is where in aSource chars are copied from
* @param aCount is the number of chars from aSource to be inserted into aDest
*/
void nsStr::Insert( nsStr& aDest,PRUint32 aDestOffset,const nsStr& aSource,PRUint32 aSrcOffset,PRInt32 aCount,nsIMemoryAgent* anAgent){
//there are a few cases for insert:
// 1. You're inserting chars into an empty string (assign)
// 2. You're inserting onto the end of a string (append)
// 3. You're inserting onto the 1..n-1 pos of a string (the hard case).
if(0<aSource.mLength){
if(aDest.mLength){
if(aDestOffset<aDest.mLength){
PRInt32 theRealLen=(aCount<0) ? aSource.mLength : MinInt(aCount,aSource.mLength);
PRInt32 theLength=(aSrcOffset+theRealLen<aSource.mLength) ? theRealLen : (aSource.mLength-aSrcOffset);
if(aSrcOffset<aSource.mLength) {
//here's the only new case we have to handle.
//chars are really being inserted into our buffer...
GrowCapacity(aDest,aDest.mLength+theLength,anAgent);
//shift the chars right by theDelta...
(*gShiftChars[aDest.mCharSize][KSHIFTRIGHT])(aDest.mStr,aDest.mLength,aDestOffset,theLength);
//now insert new chars, starting at offset
(*gCopyChars[aSource.mCharSize][aDest.mCharSize])(aDest.mStr,aDestOffset,aSource.mStr,aSrcOffset,theLength);
//finally, make sure to update the string length...
aDest.mLength+=theLength;
AddNullTerminator(aDest);
}//if
//else nothing to do!
}
else Append(aDest,aSource,0,aCount,anAgent);
}
else Append(aDest,aSource,0,aCount,anAgent);
}
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
* This method deletes up to aCount chars from aDest
* @update gess10/30/98
* @param aDest is the nsStr to be manipulated
* @param aDestOffset is where in aDest deletion is to occur
* @param aCount is the number of chars to be deleted in aDest
*/
void nsStr::Delete(nsStr& aDest,PRUint32 aDestOffset,PRUint32 aCount,nsIMemoryAgent* anAgent){
if(aDestOffset<aDest.mLength){
PRUint32 theDelta=aDest.mLength-aDestOffset;
PRUint32 theLength=(theDelta<aCount) ? theDelta : aCount;
if(aDestOffset+theLength<aDest.mLength) {
//if you're here, it means we're cutting chars out of the middle of the string...
//so shift the chars left by theLength...
(*gShiftChars[aDest.mCharSize][KSHIFTLEFT])(aDest.mStr,aDest.mLength,aDestOffset,theLength);
aDest.mLength-=theLength;
}
else Truncate(aDest,aDestOffset,anAgent);
}//if
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
* This method truncates the given nsStr at given offset
* @update gess10/30/98
* @param aDest is the nsStr to be truncated
* @param aDestOffset is where in aDest truncation is to occur
*/
void nsStr::Truncate(nsStr& aDest,PRUint32 aDestOffset,nsIMemoryAgent* anAgent){
if(aDestOffset<aDest.mLength){
aDest.mLength=aDestOffset;
AddNullTerminator(aDest);
}
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
*
* @update gess1/7/99
* @param
* @return
*/
void nsStr::ChangeCase(nsStr& aDest,PRBool aToUpper) {
// somehow UnicharUtil return failed, fallback to the old ascii only code
gCaseConverters[aDest.mCharSize](aDest.mStr,aDest.mLength,aToUpper);
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
*
* @update gess1/7/99
* @param
* @return
*/
void nsStr::StripChars(nsStr& aDest,PRUint32 aDestOffset,PRInt32 aCount,const char* aCharSet){
PRUint32 aNewLen=gStripChars[aDest.mCharSize](aDest.mStr,aDestOffset,aCount,aCharSet);
aDest.mLength=aNewLen;
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
*
* @update gess1/7/99
* @param
* @return
*/
void nsStr::Trim(nsStr& aDest,const char* aSet,PRBool aEliminateLeading,PRBool aEliminateTrailing){
PRUint32 aNewLen=gTrimChars[aDest.mCharSize](aDest.mStr,aDest.mLength,aSet,aEliminateLeading,aEliminateTrailing);
aDest.mLength=aNewLen;
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**
*
* @update gess1/7/99
* @param
* @return
*/
void nsStr::CompressSet(nsStr& aDest,const char* aSet,PRUint32 aChar,PRBool aEliminateLeading,PRBool aEliminateTrailing){
PRUint32 aNewLen=gCompressChars[aDest.mCharSize](aDest.mStr,aDest.mLength,aSet,aChar,aEliminateLeading,aEliminateTrailing);
aDest.mLength=aNewLen;
NS_ASSERTION(gCommonEmptyBuffer[0]==0,kFoolMsg);
}
/**************************************************************
Searching methods...
**************************************************************/
PRInt32 nsStr::FindSubstr(const nsStr& aDest,const nsStr& aTarget, PRBool aIgnoreCase,PRUint32 anOffset) {
if((aDest.mLength>0) && (aTarget.mLength>0) && (anOffset<aTarget.mLength)){
int32 index=anOffset-1;
int32 theMax=aDest.mLength-aTarget.mLength;
if((aDest.mLength>0) && (aTarget.mLength>0)){
int32 theTargetMax=aTarget.mLength;
while(++index<=theMax) {
int32 theSubIndex=-1;
PRBool matches=PR_TRUE;
while((++theSubIndex<theTargetMax) && (matches)){
PRUnichar theChar=(aIgnoreCase) ? nsCRT::ToLower(GetCharAt(aDest,index+theSubIndex)) : GetCharAt(aDest,index+theSubIndex);
PRUnichar theTargetChar=(aIgnoreCase) ? nsCRT::ToLower(GetCharAt(aTarget,theSubIndex)) : GetCharAt(aTarget,theSubIndex);
matches=PRBool(theChar==theTargetChar);
}
if(matches) {
return index;
}
}
}//if
}
return kNotFound;
}
/**
*
* @update gess1/7/99
* @param
* @return
*/
PRInt32 nsStr::FindChar(const nsStr& aDest,PRUnichar aChar, PRBool aIgnoreCase,PRUint32 anOffset) {
PRInt32 result=gFindChars[aDest.mCharSize](aDest.mStr,aDest.mLength,anOffset,aChar,aIgnoreCase);
return result;
}
/**
*
*
* @update gess 3/25/98
* @param
* @return
*/
PRInt32 nsStr::FindCharInSet(const nsStr& aDest,const nsStr& aSet,PRBool aIgnoreCase,PRUint32 anOffset) {
PRUint32 index=anOffset-1;
PRInt32 thePos;
while(++index<aDest.mLength) {
PRUnichar theChar=GetCharAt(aDest,index);
thePos=gFindChars[aSet.mCharSize](aSet.mStr,aSet.mLength,0,theChar,aIgnoreCase);
if(kNotFound!=thePos)
return index;
} //while
return kNotFound;
}
/**************************************************************
Reverse Searching methods...
**************************************************************/
PRInt32 nsStr::RFindSubstr(const nsStr& aDest,const nsStr& aTarget, PRBool aIgnoreCase,PRUint32 anOffset) {
PRInt32 index=(anOffset ? anOffset : aDest.mLength-aTarget.mLength+1);
PRInt32 result=kNotFound;
if((aDest.mLength>0) && (aTarget.mLength>0)){
nsStr theCopy;
nsStr::Initialize(theCopy,eOneByte);
nsStr::Assign(theCopy,aTarget,0,aTarget.mLength,0);
if(aIgnoreCase){
nsStr::ChangeCase(theCopy,PR_FALSE); //force to lowercase
}
int32 theTargetMax=theCopy.mLength;
while(index--) {
int32 theSubIndex=-1;
PRBool matches=PR_TRUE;
if(anOffset+theCopy.mLength<=aDest.mLength) {
while((++theSubIndex<theTargetMax) && (matches)){
PRUnichar theDestChar=(aIgnoreCase) ? nsCRT::ToLower(GetCharAt(aDest,index+theSubIndex)) : GetCharAt(aDest,index+theSubIndex);
PRUnichar theTargetChar=GetCharAt(theCopy,theSubIndex);
matches=PRBool(theDestChar==theTargetChar);
} //while
} //if
if(matches) {
result=index;
break;
}
} //while
nsStr::Destroy(theCopy,0);
}//if
return result;
}
/**
*
* @update gess1/7/99
* @param
* @return
*/
PRInt32 nsStr::RFindChar(const nsStr& aDest,PRUnichar aChar, PRBool aIgnoreCase,PRUint32 anOffset) {
PRInt32 result=gRFindChars[aDest.mCharSize](aDest.mStr,aDest.mLength,anOffset,aChar,aIgnoreCase);
return result;
}
/**
*
*
* @update gess 3/25/98
* @param
* @return
*/
PRInt32 nsStr::RFindCharInSet(const nsStr& aDest,const nsStr& aSet,PRBool aIgnoreCase,PRUint32 anOffset) {
PRUint32 offset=aDest.mLength-anOffset;
PRInt32 thePos;
while(--offset>=0) {
PRUnichar theChar=GetCharAt(aDest,offset);
thePos=gRFindChars[aSet.mCharSize](aSet.mStr,aSet.mLength,0,theChar,aIgnoreCase);
if(kNotFound!=thePos)
return offset;
} //while
return kNotFound;
}
/**
*
* @update gess11/12/98
* @param
* @return aDest<aSource=-1;aDest==aSource==0;aDest>aSource=1
*/
PRInt32 nsStr::Compare(const nsStr& aDest,const nsStr& aSource,PRInt32 aCount,PRBool aIgnoreCase) {
int minlen=(aSource.mLength<aDest.mLength) ? aSource.mLength : aDest.mLength;
if(0==minlen) {
if ((aDest.mLength == 0) && (aSource.mLength == 0))
return 0;
if (aDest.mLength == 0)
return -1;
return 1;
}
int maxlen=(aSource.mLength<aDest.mLength) ? aDest.mLength : aSource.mLength;
PRInt32 result=(*gCompare[aDest.mCharSize][aSource.mCharSize])(aDest.mStr,aSource.mStr,maxlen,aIgnoreCase);
return result;
}

View File

@@ -0,0 +1,333 @@
/* -*- 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.
*/
/***********************************************************************
MODULE NOTES:
1. There are two philosophies to building string classes:
A. Hide the underlying buffer & offer API's allow indirect iteration
B. Reveal underlying buffer, risk corruption, but gain performance
We chose the option B for performance reasons.
2 Our internal buffer always holds capacity+1 bytes.
The nsStr struct is a simple structure (no methods) that contains
the necessary info to be described as a string. This simple struct
is manipulated by the static methods provided in this class.
(Which effectively makes this a library that works on structs).
There are also object-based versions called nsString and nsAutoString
which use nsStr but makes it look at feel like an object.
***********************************************************************/
#ifndef _nsStr
#define _nsStr
#include "nscore.h"
//----------------------------------------------------------------------------------------
enum eCharSize {eOneByte=0,eTwoByte=1};
#define kDefaultCharSize eTwoByte
const PRInt32 kNotFound = -1;
class nsIMemoryAgent;
//----------------------------------------------------------------------------------------
struct nsStr {
/**
* This method initializes an nsStr for use
*
* @update gess 01/04/99
* @param aString is the nsStr to be initialized
* @param aCharSize tells us the requested char size (1 or 2 bytes)
*/
static void Initialize(nsStr& aDest,eCharSize aCharSize);
/**
* This method initializes an nsStr for use
*
* @update gess 01/04/99
* @param aString is the nsStr to be initialized
* @param aCharSize tells us the requested char size (1 or 2 bytes)
*/
static void Initialize(nsStr& aDest,char* aCString,PRUint32 aCapacity,PRUint32 aLength,eCharSize aCharSize,PRBool aOwnsBuffer);
/**
* This method destroys the given nsStr, and *MAY*
* deallocate it's memory depending on the setting
* of the internal mOwnsBUffer flag.
*
* @update gess 01/04/99
* @param aString is the nsStr to be manipulated
* @param anAgent is the allocator to be used to the nsStr
*/
static void Destroy(nsStr& aDest,nsIMemoryAgent* anAgent=0);
/**
* These methods are where memory allocation/reallocation occur.
*
* @update gess 01/04/99
* @param aString is the nsStr to be manipulated
* @param anAgent is the allocator to be used on the nsStr
* @return
*/
static void EnsureCapacity(nsStr& aString,PRUint32 aNewLength,nsIMemoryAgent* anAgent=0);
static void GrowCapacity(nsStr& aString,PRUint32 aNewLength,nsIMemoryAgent* anAgent=0);
/**
* These methods are used to append content to the given nsStr
*
* @update gess 01/04/99
* @param aDest is the nsStr to be appended to
* @param aSource is the buffer to be copied from
* @param anOffset tells us where in source to start copying
* @param aCount tells us the (max) # of chars to copy
* @param anAgent is the allocator to be used for alloc/free operations
*/
static void Append(nsStr& aDest,const nsStr& aSource,PRUint32 anOffset,PRInt32 aCount,nsIMemoryAgent* anAgent=0);
/**
* These methods are used to assign contents of a source string to dest string
*
* @update gess 01/04/99
* @param aDest is the nsStr to be appended to
* @param aSource is the buffer to be copied from
* @param anOffset tells us where in source to start copying
* @param aCount tells us the (max) # of chars to copy
* @param anAgent is the allocator to be used for alloc/free operations
*/
static void Assign(nsStr& aDest,const nsStr& aSource,PRUint32 anOffset,PRInt32 aCount,nsIMemoryAgent* anAgent=0);
/**
* These methods are used to insert content from source string to the dest nsStr
*
* @update gess 01/04/99
* @param aDest is the nsStr to be appended to
* @param aDestOffset tells us where in dest to start insertion
* @param aSource is the buffer to be copied from
* @param aSrcOffset tells us where in source to start copying
* @param aCount tells us the (max) # of chars to insert
* @param anAgent is the allocator to be used for alloc/free operations
*/
static void Insert( nsStr& aDest,PRUint32 aDestOffset,const nsStr& aSource,PRUint32 aSrcOffset,PRInt32 aCount,nsIMemoryAgent* anAgent=0);
/**
* This method deletes chars from the given str.
* The given allocator may choose to resize the str as well.
*
* @update gess 01/04/99
* @param aDest is the nsStr to be deleted from
* @param aDestOffset tells us where in dest to start deleting
* @param aCount tells us the (max) # of chars to delete
* @param anAgent is the allocator to be used for alloc/free operations
*/
static void Delete(nsStr& aDest,PRUint32 aDestOffset,PRUint32 aCount,nsIMemoryAgent* anAgent=0);
/**
* This method is used to truncate the given string.
* The given allocator may choose to resize the str as well (but it's not likely).
*
* @update gess 01/04/99
* @param aDest is the nsStr to be appended to
* @param aDestOffset tells us where in dest to start insertion
* @param aSource is the buffer to be copied from
* @param aSrcOffset tells us where in source to start copying
* @param anAgent is the allocator to be used for alloc/free operations
*/
static void Truncate(nsStr& aDest,PRUint32 aDestOffset,nsIMemoryAgent* anAgent=0);
/**
* This method is used to perform a case conversion on the given string
*
* @update gess 01/04/99
* @param aDest is the nsStr to be case shifted
* @param toUpper tells us to go upper vs. lower
*/
static void ChangeCase(nsStr& aDest,PRBool aToUpper);
/**
* This method removes chars (given in aSet) from the given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be manipulated
* @param aDestOffset is starting pos in buffer for manipulation
* @param aCount is the number of chars to compare
* @param aSet tells us which chars to remove from given buffer
*/
static void StripChars(nsStr& aDest,PRUint32 aDestOffset,PRInt32 aCount,const char* aCharSet);
/**
* This method trims chars (given in aSet) from the edges of given buffer
*
* @update gess 01/04/99
* @param aDest is the buffer to be manipulated
* @param aSet tells us which chars to remove from given buffer
* @param aEliminateLeading tells us whether to strip chars from the start of the buffer
* @param aEliminateTrailing tells us whether to strip chars from the start of the buffer
*/
static void Trim(nsStr& aDest,const char* aSet,PRBool aEliminateLeading,PRBool aEliminateTrailing);
/**
* This method compresses duplicate runs of a given char from the given buffer
*
* @update gess 01/04/99
* @param aDest is the buffer to be manipulated
* @param aSet tells us which chars to compress from given buffer
* @param aChar is the replacement char
* @param aEliminateLeading tells us whether to strip chars from the start of the buffer
* @param aEliminateTrailing tells us whether to strip chars from the start of the buffer
*/
static void CompressSet(nsStr& aDest,const char* aSet,PRUint32 aChar,PRBool aEliminateLeading,PRBool aEliminateTrailing);
/**
* This method compares the data bewteen two nsStr's
*
* @update gess 01/04/99
* @param aStr1 is the first buffer to be compared
* @param aStr2 is the 2nd buffer to be compared
* @param aCount is the number of chars to compare
* @param aIgnorecase tells us whether to use a case-sensitive comparison
* @return -1,0,1 depending on <,==,>
*/
static PRInt32 Compare(const nsStr& aDest,const nsStr& aSource,PRInt32 aCount,PRBool aIgnoreCase);
/**
* These methods scan the given string for 1 or more chars in a given direction
*
* @update gess 01/04/99
* @param aDest is the nsStr to be searched to
* @param aSource (or aChar) is the substr we're looking to find
* @param aIgnoreCase tells us whether to search in a case-sensitive manner
* @param anOffset tells us where in the dest string to start searching
* @return the index of the source (substr) in dest, or -1 (kNotFound) if not found.
*/
static PRInt32 FindSubstr(const nsStr& aDest,const nsStr& aSource, PRBool aIgnoreCase,PRUint32 anOffset);
static PRInt32 FindChar(const nsStr& aDest,PRUnichar aChar, PRBool aIgnoreCase,PRUint32 anOffset);
static PRInt32 FindCharInSet(const nsStr& aDest,const nsStr& aSet,PRBool aIgnoreCase,PRUint32 anOffset);
static PRInt32 RFindSubstr(const nsStr& aDest,const nsStr& aSource, PRBool aIgnoreCase,PRUint32 anOffset);
static PRInt32 RFindChar(const nsStr& aDest,PRUnichar aChar, PRBool aIgnoreCase,PRUint32 anOffset);
static PRInt32 RFindCharInSet(const nsStr& aDest,const nsStr& aSet,PRBool aIgnoreCase,PRUint32 anOffset);
PRUint32 mLength;
PRUint32 mCapacity;
eCharSize mCharSize;
PRBool mOwnsBuffer;
union {
char* mStr;
PRUnichar* mUStr;
};
};
/**************************************************************
A couple of tiny helper methods used in the string classes.
**************************************************************/
inline PRInt32 MinInt(PRInt32 anInt1,PRInt32 anInt2){
return (anInt1<anInt2) ? anInt1 : anInt2;
}
inline PRInt32 MaxInt(PRInt32 anInt1,PRInt32 anInt2){
return (anInt1<anInt2) ? anInt2 : anInt1;
}
inline void AddNullTerminator(nsStr& aDest) {
if(eTwoByte==aDest.mCharSize)
aDest.mUStr[aDest.mLength]=0;
else aDest.mStr[aDest.mLength]=0;
}
/**
* This method is used to access a given char in the given string
*
* @update gess 01/04/99
* @param aDest is the nsStr to be appended to
* @param anIndex tells us where in dest to get the char from
* @return the given char, or 0 if anIndex is out of range
*/
inline PRUnichar GetCharAt(const nsStr& aDest,PRUint32 anIndex){
if(anIndex<aDest.mLength) {
return (eTwoByte==aDest.mCharSize) ? aDest.mUStr[anIndex] : aDest.mStr[anIndex];
}//if
return 0;
}
//----------------------------------------------------------------------------------------
class nsIMemoryAgent {
public:
virtual PRBool Alloc(nsStr& aString,PRUint32 aCount)=0;
virtual PRBool Realloc(nsStr& aString,PRUint32 aCount)=0;
virtual PRBool Free(nsStr& aString)=0;
};
class nsMemoryAgent : public nsIMemoryAgent {
protected:
enum eDelta{eDefaultSize=16};
public:
virtual PRBool Alloc(nsStr& aDest,PRUint32 aCount) {
//we're given the acount value in charunits; now scale up to next multiple.
PRUint32 theNewCapacity=eDefaultSize;
while(theNewCapacity<aCount){
theNewCapacity<<=1;
}
aDest.mCapacity=theNewCapacity++;
size_t theSize=(theNewCapacity<<aDest.mCharSize);
aDest.mStr=new char[theSize];
aDest.mOwnsBuffer=1;
return PR_TRUE;
}
virtual PRBool Free(nsStr& aDest){
if(aDest.mStr){
if(aDest.mOwnsBuffer){
delete [] aDest.mStr;
}
aDest.mStr=0;
aDest.mOwnsBuffer=0;
return PR_TRUE;
}
return PR_FALSE;
}
virtual PRBool Realloc(nsStr& aDest,PRUint32 aCount){
Free(aDest);
return Alloc(aDest,aCount);
}
};
char* GetSharedEmptyBuffer();
nsIMemoryAgent* GetDefaultAgent(void);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,819 @@
/* -*- 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.
*/
/***********************************************************************
MODULE NOTES:
A. There are two philosophies to building string classes:
1. Hide the underlying buffer & offer API's allow indirect iteration
2. Reveal underlying buffer, risk corruption, but gain performance
We chose the second option for performance reasons.
B Our internal buffer always holds capacity+1 bytes.
***********************************************************************/
#ifndef _nsString1
#define _nsString1
#include "prtypes.h"
#include "nscore.h"
#include "nsIAtom.h"
#include <iostream.h>
#include <stdio.h>
#include "nsStr.h"
#include "nsString2.h" //get new string class
class nsISizeOfHandler;
class NS_COM nsString1 {
public:
/**
* Default constructor. Note that we actually allocate a small buffer
* to begin with. This is because the "philosophy" of the string class
* was to allow developers direct access to the underlying buffer for
* performance reasons.
*/
nsString1();
/**
* This constructor accepts an isolatin string
* @param an ascii is a ptr to a 1-byte cstr
*/
nsString1(const char* aCString);
/**
* This is our copy constructor
* @param reference to another nsString1
*/
nsString1(const nsString1&);
/**
* Constructor from a unicode string
* @param anicodestr pts to a unicode string
*/
nsString1(const PRUnichar* aUnicode);
/**
* Virtual Destructor
*/
virtual ~nsString1();
/**
* Retrieve the length of this string
* @return string length
*/
PRInt32 Length() const { return mLength; }
/**
* Sets the new length of the string.
* @param aLength is new string length.
* @return nada
*/
void SetLength(PRInt32 aLength);
/**
* This method truncates this string to given length.
*
* @param anIndex -- new length of string
* @return nada
*/
void Truncate(PRInt32 anIndex=0);
/**
* This method gets called when the internal buffer needs
* to grow to a given size.
* @param aNewLength -- new capacity of string
* @return void
*/
virtual void EnsureCapacityFor(PRInt32 aNewLength);
/**
*
* @param
*/
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
/**
* Determine whether or not the characters in this
* string are in sorted order.
*
* @return TRUE if ordered.
*/
PRBool IsOrdered(void) const;
/**
* Determine whether or not this string has a length of 0
*
* @return TRUE if empty.
*/
PRBool IsEmpty(void) const {
return PRBool(0==mLength);
}
/**********************************************************************
Accessor methods...
*********************************************************************/
/**
* Retrieve pointer to internal string value
* @return PRUnichar* to internal string
*/
const PRUnichar* GetUnicode(void) const;
/**
*
* @param
* @return
*/
operator const PRUnichar*() const;
/**
* Retrieve unicode char at given index
* @param offset into string
* @return PRUnichar* to internal string
*/
//PRUnichar operator()(PRInt32 anIndex) const;
/**
* Retrieve reference to unicode char at given index
* @param offset into string
* @return PRUnichar& from internal string
*/
PRUnichar& operator[](PRInt32 anIndex) const;
/**
* Retrieve reference to unicode char at given index
* @param offset into string
* @return PRUnichar& from internal string
*/
PRUnichar& CharAt(PRInt32 anIndex) const;
/**
* Retrieve reference to first unicode char in string
* @return PRUnichar from internal string
*/
PRUnichar& First() const;
/**
* Retrieve reference to last unicode char in string
* @return PRUnichar from internal string
*/
PRUnichar& Last() const;
PRBool SetCharAt(PRUnichar aChar,PRInt32 anIndex);
/**********************************************************************
String creation methods...
*********************************************************************/
/**
* Create a new string by appending given string to this
* @param aString -- 2nd string to be appended
* @return new string
*/
nsString1 operator+(const nsString1& aString);
/**
* create a new string by adding this to the given buffer.
* @param aCString is a ptr to cstring to be added to this
* @return newly created string
*/
nsString1 operator+(const char* aCString);
/**
* create a new string by adding this to the given char.
* @param aChar is a char to be added to this
* @return newly created string
*/
nsString1 operator+(char aChar);
/**
* create a new string by adding this to the given buffer.
* @param aStr unichar buffer to be added to this
* @return newly created string
*/
nsString1 operator+(const PRUnichar* aBuffer);
/**
* create a new string by adding this to the given char.
* @param aChar is a unichar to be added to this
* @return newly created string
*/
nsString1 operator+(PRUnichar aChar);
/**
* Converts all chars in internal string to lower
*/
void ToLowerCase();
/**
* Converts all chars in given string to lower
*/
void ToLowerCase(nsString1& aString) const;
/**
* Converts all chars in given string to upper
*/
void ToUpperCase();
/**
* Converts all chars in given string to UCS2
* which ensure that the lower 256 chars are correct.
*/
void ToUCS2(PRInt32 aStartOffset);
/**
* Converts all chars in internal string to upper
*/
void ToUpperCase(nsString1& aString) const;
/**
* Creates a duplicate clone (ptr) of this string.
* @return ptr to clone of this string
*/
nsString1* ToNewString() const;
/**
* Creates an ascii clone of this string
* NOTE: This string is allocated with new; YOU MUST deallocate with delete[]!
* @return ptr to new c-String string
*/
char* ToNewCString() const;
/**
* Copies data from internal buffer onto given char* buffer
* @param aBuf is the buffer where data is stored
* @param aBuflength is the max # of chars to move to buffer
* @return ptr to given buffer
*/
char* ToCString(char* aBuf,PRInt32 aBufLength) const;
/**
* Copies contents of this onto given string.
* @param aString to hold copy of this
* @return nada.
*/
void Copy(nsString1& aString) const;
/**
* Creates an unichar clone of this string
* @return ptr to new unichar string
*/
PRUnichar* ToNewUnicode() const;
/**
* Perform string to float conversion.
* @param aErrorCode will contain error if one occurs
* @return float rep of string value
*/
float ToFloat(PRInt32* aErrorCode) const;
/**
* Perform string to int conversion.
* @param aErrorCode will contain error if one occurs
* @return int rep of string value
*/
PRInt32 ToInteger(PRInt32* aErrorCode,PRInt32 aRadix=10) const;
/**********************************************************************
String manipulation methods...
*********************************************************************/
/**
* assign given PRUnichar* to this string
* @param aStr: buffer to be assigned to this
* @param alength is the length of the given str (or -1)
if you want me to determine its length
* @return this
*/
nsString1& SetString(const PRUnichar* aStr,PRInt32 aLength=-1);
nsString1& SetString(const char* aCString,PRInt32 aLength=-1);
nsString1& SetString(const nsString1& aString);
/**
* assign given string to this one
* @param aString: string to be added to this
* @return this
*/
nsString1& operator=(const nsString1& aString);
/**
* assign given char* to this string
* @param aCString: buffer to be assigned to this
* @return this
*/
nsString1& operator=(const char* aCString);
/**
* assign given char to this string
* @param aChar: char to be assignd to this
* @return this
*/
nsString1& operator=(char aChar);
/**
* assign given unichar* to this string
* @param aBuffer: unichar buffer to be assigned to this
* @return this
*/
nsString1& operator=(const PRUnichar* aBuffer);
/**
* assign given char to this string
* @param aChar: char to be assignd to this
* @return this
*/
nsString1& operator=(PRUnichar aChar);
/**
* append given string to this string
* @param aString : string to be appended to this
* @return this
*/
nsString1& operator+=(const nsString1& aString);
/**
* append given buffer to this string
* @param aCString: buffer to be appended to this
* @return this
*/
nsString1& operator+=(const char* aCString);
/**
* append given buffer to this string
* @param aBuffer: buffer to be appended to this
* @return this
*/
nsString1& operator+=(const PRUnichar* aBuffer);
/**
* append given char to this string
* @param aChar: char to be appended to this
* @return this
*/
nsString1& operator+=(PRUnichar aChar);
/**
* append given string to this string
* @param aString : string to be appended to this
* @param alength is the length of the given str (or -1)
if you want me to determine its length
* @return this
*/
nsString1& Append(const nsString1& aString,PRInt32 aLength=-1);
/**
* append given string to this string
* @param aString : string to be appended to this
* @param alength is the length of the given str (or -1)
if you want me to determine its length
* @return this
*/
nsString1& Append(const char* aCString,PRInt32 aLength=-1);
/**
* append given string to this string
* @param aString : string to be appended to this
* @return this
*/
nsString1& Append(char aChar);
/**
* append given unichar buffer to this string
* @param aString : string to be appended to this
* @param alength is the length of the given str (or -1)
if you want me to determine its length
* @return this
*/
nsString1& Append(const PRUnichar* aBuffer,PRInt32 aLength=-1);
/**
* append given unichar character to this string
* @param aChar is the char to be appended to this
* @return this
*/
nsString1& Append(PRUnichar aChar);
/**
* Append an integer onto this string
* @param aInteger is the int to be appended
* @param aRadix specifies 8,10,16
* @return this
*/
nsString1& Append(PRInt32 aInteger,PRInt32 aRadix); //radix=8,10 or 16
/**
* Append a float value onto this string
* @param aFloat is the float to be appended
* @return this
*/
nsString1& Append(float aFloat);
/*
* Copies n characters from this string to given string,
* starting at the leftmost offset.
*
*
* @param aCopy -- Receiving string
* @param aCount -- number of chars to copy
* @return number of chars copied
*/
PRInt32 Left(nsString1& aCopy,PRInt32 aCount) const;
/*
* Copies n characters from this string to given string,
* starting at the given offset.
*
*
* @param aCopy -- Receiving string
* @param aCount -- number of chars to copy
* @param anOffset -- position where copying begins
* @return number of chars copied
*/
PRInt32 Mid(nsString1& aCopy,PRInt32 anOffset,PRInt32 aCount) const;
/*
* Copies n characters from this string to given string,
* starting at rightmost char.
*
*
* @param aCopy -- Receiving string
* @param aCount -- number of chars to copy
* @return number of chars copied
*/
PRInt32 Right(nsString1& aCopy,PRInt32 aCount) const;
/*
* This method inserts n chars from given string into this
* string at str[anOffset].
*
* @param aCopy -- String to be inserted into this
* @param anOffset -- insertion position within this str
* @param aCount -- number of chars to be copied from aCopy
* @return number of chars inserted into this.
*/
PRInt32 Insert(const nsString1& aCopy,PRInt32 anOffset,PRInt32 aCount=-1);
/**
* Insert a single unicode char into this string at
* a specified offset.
*
* @param aChar char to be inserted into this string
* @param anOffset is insert pos in str
* @return the number of chars inserted into this string
*/
PRInt32 Insert(PRUnichar aChar,PRInt32 anOffset);
/*
* This method is used to cut characters in this string
* starting at anOffset, continuing for aCount chars.
*
* @param anOffset -- start pos for cut operation
* @param aCount -- number of chars to be cut
* @return *this
*/
nsString1& Cut(PRInt32 anOffset,PRInt32 aCount);
/**
* This method is used to remove all occurances of the
* characters found in aSet from this string.
*
* @param aSet -- characters to be cut from this
* @return *this
*/
nsString1& StripChars(const char* aSet);
/**
* This method is used to replace all occurances of the
* given source char with the given dest char
*
* @param
* @return *this
*/
nsString1& ReplaceChar(PRUnichar aSourceChar, PRUnichar aDestChar);
/**
* This method strips whitespace throughout the string
*
* @return this
*/
nsString1& StripWhitespace();
/**
* This method trims characters found in aTrimSet from
* either end of the underlying string.
*
* @param aTrimSet -- contains chars to be trimmed from
* both ends
* @return this
*/
nsString1& Trim(const char* aSet,
PRBool aEliminateLeading=PR_TRUE,
PRBool aEliminateTrailing=PR_TRUE);
/**
* This method strips whitespace from string.
* You can control whether whitespace is yanked from
* start and end of string as well.
*
* @param aEliminateLeading controls stripping of leading ws
* @param aEliminateTrailing controls stripping of trailing ws
* @return this
*/
nsString1& CompressWhitespace( PRBool aEliminateLeading=PR_TRUE,
PRBool aEliminateTrailing=PR_TRUE);
/**
* Determine if given char is a valid space character
*
* @param aChar is character to be tested
* @return TRUE if is valid space char
*/
static PRBool IsSpace(PRUnichar ch);
/**
* Determine if given char in valid alpha range
*
* @param aChar is character to be tested
* @return TRUE if in alpha range
*/
static PRBool IsAlpha(PRUnichar ch);
/**
* Determine if given char is valid digit
*
* @param aChar is character to be tested
* @return TRUE if char is a valid digit
*/
static PRBool IsDigit(PRUnichar ch);
/**********************************************************************
Searching methods...
*********************************************************************/
/**
* Search for given character within this string.
* This method does so by using a binary search,
* so your string HAD BETTER BE ORDERED!
*
* @param aChar is the unicode char to be found
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 BinarySearch(PRUnichar aChar) const;
/**
* Search for given substring within this string
*
* @param aString is substring to be sought in this
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 Find(const char* aString) const;
PRInt32 Find(const PRUnichar* aString) const;
PRInt32 Find(const nsString1& aString) const;
/**
* Search for given char within this string
*
* @param aChar - char to be found
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 Find(PRUnichar aChar,PRInt32 offset=0) const;
/**
* This method searches this string for the first character
* found in the given string
* @param aString contains set of chars to be found
* @param anOffset tells us where to start searching in this
* @return -1 if not found, else the offset in this
*/
PRInt32 FindCharInSet(const char* aString,PRInt32 anOffset=0) const;
PRInt32 FindCharInSet(nsString1& aString,PRInt32 anOffset=0) const;
/**
* This method searches this string for the last character
* found in the given string
* @param aString contains set of chars to be found
* @param anOffset tells us where to start searching in this
* @return -1 if not found, else the offset in this
*/
PRInt32 RFindCharInSet(const char* aString,PRInt32 anOffset=0) const;
PRInt32 RFindCharInSet(nsString1& aString,PRInt32 anOffset=0) const;
/**
* This methods scans the string backwards, looking for the given string
* @param aString is substring to be sought in this
* @param aIgnoreCase tells us whether or not to do caseless compare
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 RFind(const char* aCString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(const PRUnichar* aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(const nsString1& aString,PRBool aIgnoreCase=PR_FALSE) const;
/**
* This methods scans the string backwards, looking for the given char
* @param char is the char to be sought in this
* @param aIgnoreCase tells us whether or not to do caseless compare
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 RFind(PRUnichar aChar,PRBool aIgnoreCase=PR_FALSE) const;
/**********************************************************************
Comparison methods...
*********************************************************************/
/**
* Compares a given string type to this string.
* @update gess 7/27/98
* @param S is the string to be compared
* @param aIgnoreCase tells us how to treat case
* @return -1,0,1
*/
virtual PRInt32 Compare(const nsString1 &aString,PRBool aIgnoreCase=PR_FALSE) const;
virtual PRInt32 Compare(const char *aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
virtual PRInt32 Compare(const PRUnichar *aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
/**
* These methods compare a given string type to this one
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator==(const nsString1 &aString) const;
PRBool operator==(const char *aString) const;
PRBool operator==(const PRUnichar* aString) const;
PRBool operator==(PRUnichar* aString) const;
/**
* These methods perform a !compare of a given string type to this
* @param aString is the string to be compared to this
* @return TRUE
*/
PRBool operator!=(const nsString1 &aString) const;
PRBool operator!=(const char *aString) const;
PRBool operator!=(const PRUnichar* aString) const;
/**
* These methods test if a given string is < than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator<(const nsString1 &aString) const;
PRBool operator<(const char *aString) const;
PRBool operator<(const PRUnichar* aString) const;
/**
* These methods test if a given string is > than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator>(const nsString1 &S) const;
PRBool operator>(const char *aCString) const;
PRBool operator>(const PRUnichar* aString) const;
/**
* These methods test if a given string is <= than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator<=(const nsString1 &S) const;
PRBool operator<=(const char *aCString) const;
PRBool operator<=(const PRUnichar* aString) const;
/**
* These methods test if a given string is >= than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator>=(const nsString1 &S) const;
PRBool operator>=(const char* aCString) const;
PRBool operator>=(const PRUnichar* aString) const;
/**
* Compare this to given string; note that we compare full strings here.
* The optional length argument just lets us know how long the given string is.
* If you provide a length, it is compared to length of this string as an
* optimization.
*
* @param aString -- the string to compare to this
* @param aLength -- optional length of given string.
* @return TRUE if equal
*/
PRBool Equals(const nsString1& aString) const;
PRBool Equals(const char* aString,PRInt32 aLength=-1) const;
PRBool Equals(const nsIAtom *aAtom) const;
/**
* Compares to unichar string ptrs to each other
* @param s1 is a ptr to a unichar buffer
* @param s2 is a ptr to a unichar buffer
* @return TRUE if they match
*/
PRBool Equals(const PRUnichar* s1, const PRUnichar* s2) const;
/**
* Compare this to given string; note that we compare full strings here.
* The optional length argument just lets us know how long the given string is.
* If you provide a length, it is compared to length of this string as an
* optimization.
*
* @param aString -- the string to compare to this
* @param aLength -- optional length of given string.
* @return TRUE if equal
*/
PRBool EqualsIgnoreCase(const nsString1& aString) const;
PRBool EqualsIgnoreCase(const char* aString,PRInt32 aLength=-1) const;
PRBool EqualsIgnoreCase(const nsIAtom *aAtom) const;
/**
* Compares to unichar string ptrs to each other without respect to case
* @param s1 is a ptr to a unichar buffer
* @param s2 is a ptr to a unichar buffer
* @return TRUE if they match
*/
PRBool EqualsIgnoreCase(const PRUnichar* s1, const PRUnichar* s2) const;
static void SelfTest();
virtual void DebugDump(ostream& aStream) const;
protected:
typedef PRUnichar chartype;
chartype* mStr;
PRInt32 mLength;
PRInt32 mCapacity;
#ifdef RICKG_DEBUG
static PRBool mSelfTested;
#endif
};
ostream& operator<<(ostream& os,nsString1& aString);
extern NS_COM int fputs(const nsString1& aString, FILE* out);
//----------------------------------------------------------------------
/**
* A version of nsString1 which is designed to be used as an automatic
* variable. It attempts to operate out of a fixed size internal
* buffer until too much data is added; then a dynamic buffer is
* allocated and grown as necessary.
*/
// XXX template this with a parameter for the size of the buffer?
class NS_COM nsAutoString1 : public nsString1 {
public:
nsAutoString1();
nsAutoString1(const nsString1& other);
nsAutoString1(const nsAutoString1& other);
nsAutoString1(PRUnichar aChar);
nsAutoString1(const char* aCString);
nsAutoString1(const PRUnichar* us, PRInt32 uslen = -1);
virtual ~nsAutoString1();
nsAutoString1& operator=(const nsString1& aString) {nsString1::operator=(aString); return *this;}
nsAutoString1& operator=(const nsAutoString1& aString) {nsString1::operator=(aString); return *this;}
nsAutoString1& operator=(const char* aCString) {nsString1::operator=(aCString); return *this;}
nsAutoString1& operator=(char aChar) {nsString1::operator=(aChar); return *this;}
nsAutoString1& operator=(const PRUnichar* aBuffer) {nsString1::operator=(aBuffer); return *this;}
nsAutoString1& operator=(PRUnichar aChar) {nsString1::operator=(aChar); return *this;}
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
static void SelfTest();
protected:
virtual void EnsureCapacityFor(PRInt32 aNewLength);
chartype mBuf[32];
};
ostream& operator<<(ostream& os,nsAutoString1& aString);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,827 @@
/* -*- 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.
*/
/***********************************************************************
MODULE NOTES:
This version of the nsString class offers many improvements over the
original version:
1. Wide and narrow chars
2. Allocators
3. Much smarter autostrings
4. Subsumable strings
5. Memory pools and recycling
***********************************************************************/
#ifndef _nsString2
#define _nsString2
#include "prtypes.h"
#include "nscore.h"
#include <iostream.h>
#include <stdio.h>
#include "nsCRT.h"
#include "nsStr.h"
#include <iostream.h>
#include <stdio.h>
#include "nsIAtom.h"
class nsISizeOfHandler;
#define nsString2 nsString
#define nsAutoString2 nsAutoString
#define kRadix10 (10)
#define kRadix16 (16)
#define kAutoDetect (100)
#define kRadixUnknown (kAutoDetect+1)
class NS_COM nsSubsumeStr;
class NS_COM nsString2 : public nsStr {
public:
/**
* Default constructor. Note that we actually allocate a small buffer
* to begin with. This is because the "philosophy" of the string class
* was to allow developers direct access to the underlying buffer for
* performance reasons.
*/
nsString2(eCharSize aCharSize=kDefaultCharSize,nsIMemoryAgent* anAgent=0);
/**
* This constructor accepts an isolatin string
* @param aCString is a ptr to a 1-byte cstr
*/
nsString2(const char* aCString,eCharSize aCharSize=kDefaultCharSize,nsIMemoryAgent* anAgent=0);
/**
* This constructor accepts a unichar string
* @param aCString is a ptr to a 2-byte cstr
*/
nsString2(const PRUnichar* aString,eCharSize aCharSize=kDefaultCharSize,nsIMemoryAgent* anAgent=0);
/**
* This is a copy constructor that accepts an nsStr
* @param reference to another nsString2
*/
nsString2(const nsStr&,eCharSize aCharSize=kDefaultCharSize,nsIMemoryAgent* anAgent=0);
/**
* This is our copy constructor
* @param reference to another nsString2
*/
nsString2(const nsString2& aString);
/**
* This constructor takes a subsumestr
* @param reference to subsumestr
*/
nsString2(nsSubsumeStr& aSubsumeStr);
/**
* Destructor
*
*/
virtual ~nsString2();
/**
* Retrieve the length of this string
* @return string length
*/
inline PRInt32 Length() const { return (PRInt32)mLength; }
/**
* Retrieve the size of this string
* @return string length
*/
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
/**
* Call this method if you want to force a different string capacity
* @update gess7/30/98
* @param aLength -- contains new length for mStr
* @return
*/
void SetLength(PRUint32 aLength) {
SetCapacity(aLength);
}
/**
* Sets the new length of the string.
* @param aLength is new string length.
* @return nada
*/
void SetCapacity(PRUint32 aLength);
/**
* This method truncates this string to given length.
*
* @param anIndex -- new length of string
* @return nada
*/
void Truncate(PRInt32 anIndex=0);
/**
* Determine whether or not the characters in this
* string are in sorted order.
*
* @return TRUE if ordered.
*/
PRBool IsOrdered(void) const;
/**
* Determine whether or not the characters in this
* string are in store as 1 or 2 byte (unicode) strings.
*
* @return TRUE if ordered.
*/
PRBool IsUnicode(void) const {
PRBool result=PRBool(mCharSize==eTwoByte);
return result;
}
/**
* Determine whether or not this string has a length of 0
*
* @return TRUE if empty.
*/
PRBool IsEmpty(void) const {
return PRBool(0==mLength);
}
/**********************************************************************
Accessor methods...
*********************************************************************/
const char* GetBuffer(void) const;
const PRUnichar* GetUnicode(void) const;
/**
* Get nth character.
*/
PRUnichar operator[](PRUint32 anIndex) const;
PRUnichar CharAt(PRUint32 anIndex) const;
PRUnichar First(void) const;
PRUnichar Last(void) const;
PRBool SetCharAt(PRUnichar aChar,PRUint32 anIndex);
/**********************************************************************
String creation methods...
*********************************************************************/
/**
* Create a new string by appending given string to this
* @param aString -- 2nd string to be appended
* @return new string
*/
nsSubsumeStr operator+(const nsStr& aString);
/**
* Create a new string by appending given string to this
* @param aString -- 2nd string to be appended
* @return new string
*/
nsSubsumeStr operator+(const nsString2& aString);
/**
* create a new string by adding this to the given buffer.
* @param aCString is a ptr to cstring to be added to this
* @return newly created string
*/
nsSubsumeStr operator+(const char* aCString);
/**
* create a new string by adding this to the given wide buffer.
* @param aString is a ptr to UC-string to be added to this
* @return newly created string
*/
nsSubsumeStr operator+(const PRUnichar* aString);
/**
* create a new string by adding this to the given char.
* @param aChar is a char to be added to this
* @return newly created string
*/
nsSubsumeStr operator+(char aChar);
/**
* create a new string by adding this to the given char.
* @param aChar is a unichar to be added to this
* @return newly created string
*/
nsSubsumeStr operator+(PRUnichar aChar);
/**********************************************************************
Lexomorphic transforms...
*********************************************************************/
/**
* Converts all chars in given string to UCS2
* which ensure that the lower 256 chars are correct.
*/
void ToUCS2(PRUint32 aStartOffset);
/**
* Converts chars in this to lowercase
* @update gess 7/27/98
*/
void ToLowerCase();
/**
* Converts chars in this to lowercase, and
* stores them in aOut
* @update gess 7/27/98
* @param aOut is a string to contain result
*/
void ToLowerCase(nsString2& aString) const;
/**
* Converts chars in this to uppercase
* @update gess 7/27/98
*/
void ToUpperCase();
/**
* Converts chars in this to lowercase, and
* stores them in a given output string
* @update gess 7/27/98
* @param aOut is a string to contain result
*/
void ToUpperCase(nsString2& aString) const;
/**
* This method is used to remove all occurances of the
* characters found in aSet from this string.
*
* @param aSet -- characters to be cut from this
* @return *this
*/
nsString2& StripChars(const char* aSet);
/**
* This method strips whitespace throughout the string
*
* @return this
*/
nsString2& StripWhitespace();
/**
* swaps occurence of 1 string for another
*
* @return this
*/
nsString2& ReplaceChar(PRUnichar aSourceChar,PRUnichar aDestChar);
/**
* This method trims characters found in aTrimSet from
* either end of the underlying string.
*
* @param aTrimSet -- contains chars to be trimmed from
* both ends
* @return this
*/
nsString2& Trim(const char* aSet,PRBool aEliminateLeading=PR_TRUE,PRBool aEliminateTrailing=PR_TRUE);
/**
* This method strips whitespace from string.
* You can control whether whitespace is yanked from
* start and end of string as well.
*
* @param aEliminateLeading controls stripping of leading ws
* @param aEliminateTrailing controls stripping of trailing ws
* @return this
*/
nsString2& CompressSet(const char* aSet, char aChar, PRBool aEliminateLeading=PR_TRUE,PRBool aEliminateTrailing=PR_TRUE);
/**
* This method strips whitespace from string.
* You can control whether whitespace is yanked from
* start and end of string as well.
*
* @param aEliminateLeading controls stripping of leading ws
* @param aEliminateTrailing controls stripping of trailing ws
* @return this
*/
nsString2& CompressWhitespace( PRBool aEliminateLeading=PR_TRUE,PRBool aEliminateTrailing=PR_TRUE);
/**********************************************************************
string conversion methods...
*********************************************************************/
/**
* This method constructs a new nsString2 on the stack that is a copy
* of this string.
*
*/
nsString2* ToNewString() const;
/**
* Creates an ISOLatin1 clone of this string
* @return ptr to new isolatin1 string
*/
char* ToNewCString() const;
/**
* Creates a unicode clone of this string
* @return ptr to new unicode string
*/
PRUnichar* ToNewUnicode() const;
/**
* Copies data from internal buffer onto given char* buffer
* @param aBuf is the buffer where data is stored
* @param aBuflength is the max # of chars to move to buffer
* @return ptr to given buffer
*/
char* ToCString(char* aBuf,PRUint32 aBufLength,PRUint32 anOffset=0) const;
/**
* Perform string to float conversion.
* @param aErrorCode will contain error if one occurs
* @return float rep of string value
*/
float ToFloat(PRInt32* aErrorCode) const;
/**
* Try to derive the radix from the value contained in this string
* @return kRadix10, kRadix16 or kAutoDetect (meaning unknown)
*/
PRUint32 DetermineRadix(void);
/**
* Perform string to int conversion.
* @param aErrorCode will contain error if one occurs
* @return int rep of string value
*/
PRInt32 ToInteger(PRInt32* aErrorCode,PRUint32 aRadix=kRadix10) const;
/**********************************************************************
String manipulation methods...
*********************************************************************/
/**
* Functionally equivalent to assign or operator=
*
*/
nsString2& SetString(const char* aString,PRInt32 aLength=-1) {return Assign(aString,aLength);}
nsString2& SetString(const PRUnichar* aString,PRInt32 aLength=-1) {return Assign(aString,aLength);}
nsString2& SetString(const nsString2& aString,PRInt32 aLength=-1) {return Assign(aString,aLength);}
/**
* assign given string to this string
* @param aStr: buffer to be assigned to this
* @param alength is the length of the given str (or -1)
if you want me to determine its length
* @return this
*/
nsString2& Assign(const nsString2& aString,PRInt32 aCount=-1);
nsString2& Assign(const nsStr& aString,PRInt32 aCount=-1);
nsString2& Assign(const char* aString,PRInt32 aCount=-1);
nsString2& Assign(const PRUnichar* aString,PRInt32 aCount=-1);
nsString2& Assign(char aChar);
nsString2& Assign(PRUnichar aChar);
/**
* here come a bunch of assignment operators...
* @param aString: string to be added to this
* @return this
*/
nsString2& operator=(const nsString2& aString) {return Assign(aString);}
nsString2& operator=(const nsStr& aString) {return Assign(aString);}
nsString2& operator=(char aChar) {return Assign(aChar);}
nsString2& operator=(PRUnichar aChar) {return Assign(aChar);}
nsString2& operator=(const char* aCString) {return Assign(aCString);}
nsString2& operator=(const PRUnichar* aString) {return Assign(aString);}
#ifdef AIX
nsString2& operator=(const nsSubsumeStr& aSubsumeString); // AIX requires a const here
#else
nsString2& operator=(nsSubsumeStr& aSubsumeString);
#endif
/**
* Here's a bunch of append mehtods for varying types...
* @param aString : string to be appended to this
* @return this
*/
nsString2& operator+=(const nsStr& aString){return Append(aString,aString.mLength);}
nsString2& operator+=(const nsString2& aString){return Append(aString,aString.mLength);}
nsString2& operator+=(const char* aCString) {return Append(aCString);}
//nsString2& operator+=(char aChar){return Append(aChar);}
nsString2& operator+=(const PRUnichar* aUCString) {return Append(aUCString);}
nsString2& operator+=(PRUnichar aChar){return Append(aChar);}
/*
* Appends n characters from given string to this,
* This version computes the length of your given string
*
* @param aString is the source to be appended to this
* @return number of chars copied
*/
nsString2& Append(const nsStr& aString) {return Append(aString,aString.mLength);}
nsString2& Append(const nsString2& aString) {return Append(aString,aString.mLength);}
/*
* Appends n characters from given string to this,
*
* @param aString is the source to be appended to this
* @param aCount -- number of chars to copy
* @return number of chars copied
*/
nsString2& Append(const nsStr& aString,PRInt32 aCount);
nsString2& Append(const nsString2& aString,PRInt32 aCount);
nsString2& Append(const char* aString,PRInt32 aCount=-1);
nsString2& Append(const PRUnichar* aString,PRInt32 aCount=-1);
nsString2& Append(char aChar);
nsString2& Append(PRUnichar aChar);
nsString2& Append(PRInt32 aInteger,PRInt32 aRadix=10); //radix=8,10 or 16
nsString2& Append(float aFloat);
/*
* Copies n characters from this string to given string,
* starting at the leftmost offset.
*
*
* @param aCopy -- Receiving string
* @param aCount -- number of chars to copy
* @return number of chars copied
*/
PRUint32 Left(nsString2& aCopy,PRInt32 aCount) const;
/*
* Copies n characters from this string to given string,
* starting at the given offset.
*
*
* @param aCopy -- Receiving string
* @param aCount -- number of chars to copy
* @param anOffset -- position where copying begins
* @return number of chars copied
*/
PRUint32 Mid(nsString2& aCopy,PRUint32 anOffset,PRInt32 aCount) const;
/*
* Copies n characters from this string to given string,
* starting at rightmost char.
*
*
* @param aCopy -- Receiving string
* @param aCount -- number of chars to copy
* @return number of chars copied
*/
PRUint32 Right(nsString2& aCopy,PRInt32 aCount) const;
/*
* This method inserts n chars from given string into this
* string at str[anOffset].
*
* @param aCopy -- String to be inserted into this
* @param anOffset -- insertion position within this str
* @param aCount -- number of chars to be copied from aCopy
* @return number of chars inserted into this.
*/
nsString2& Insert(const nsString2& aCopy,PRUint32 anOffset,PRInt32 aCount=-1);
/**
* Insert a given string into this string at
* a specified offset.
*
* @param aString* to be inserted into this string
* @param anOffset is insert pos in str
* @return the number of chars inserted into this string
*/
nsString2& Insert(const char* aChar,PRUint32 anOffset,PRInt32 aCount=-1);
nsString2& Insert(const PRUnichar* aChar,PRUint32 anOffset,PRInt32 aCount=-1);
/**
* Insert a single char into this string at
* a specified offset.
*
* @param character to be inserted into this string
* @param anOffset is insert pos in str
* @return the number of chars inserted into this string
*/
//nsString2& Insert(char aChar,PRUint32 anOffset);
nsString2& Insert(PRUnichar aChar,PRUint32 anOffset);
/*
* This method is used to cut characters in this string
* starting at anOffset, continuing for aCount chars.
*
* @param anOffset -- start pos for cut operation
* @param aCount -- number of chars to be cut
* @return *this
*/
nsString2& Cut(PRUint32 anOffset,PRInt32 aCount);
/**********************************************************************
Searching methods...
*********************************************************************/
/**
* Search for given character within this string.
* This method does so by using a binary search,
* so your string HAD BETTER BE ORDERED!
*
* @param aChar is the unicode char to be found
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 BinarySearch(PRUnichar aChar) const;
/**
* Search for given substring within this string
*
* @param aString is substring to be sought in this
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 Find(const nsString2& aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 Find(const nsStr& aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 Find(const char* aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 Find(const PRUnichar* aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 Find(PRUnichar aChar,PRUint32 offset=0,PRBool aIgnoreCase=PR_FALSE) const;
/**
* This method searches this string for the first character
* found in the given string
* @param aString contains set of chars to be found
* @param anOffset tells us where to start searching in this
* @return -1 if not found, else the offset in this
*/
PRInt32 FindCharInSet(const char* aString,PRUint32 anOffset=0) const;
PRInt32 FindCharInSet(const PRUnichar* aString,PRUint32 anOffset=0) const;
PRInt32 FindCharInSet(const nsString2& aString,PRUint32 anOffset=0) const;
/**
* This method searches this string for the last character
* found in the given string
* @param aString contains set of chars to be found
* @param anOffset tells us where to start searching in this
* @return -1 if not found, else the offset in this
*/
PRInt32 RFindCharInSet(const char* aString,PRUint32 anOffset=0) const;
PRInt32 RFindCharInSet(const PRUnichar* aString,PRUint32 anOffset=0) const;
PRInt32 RFindCharInSet(const nsString2& aString,PRUint32 anOffset=0) const;
/**
* This methods scans the string backwards, looking for the given string
* @param aString is substring to be sought in this
* @param aIgnoreCase tells us whether or not to do caseless compare
* @return offset in string, or -1 (kNotFound)
*/
PRInt32 RFind(const char* aCString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(const nsString2& aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(const nsStr& aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(const PRUnichar* aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(PRUnichar aChar,PRUint32 offset=0,PRBool aIgnoreCase=PR_FALSE) const;
/**********************************************************************
Comparison methods...
*********************************************************************/
/**
* Compares a given string type to this string.
* @update gess 7/27/98
* @param S is the string to be compared
* @param aIgnoreCase tells us how to treat case
* @return -1,0,1
*/
virtual PRInt32 Compare(const nsString2& aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
virtual PRInt32 Compare(const nsStr &aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
virtual PRInt32 Compare(const char* aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
virtual PRInt32 Compare(const PRUnichar* aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
/**
* These methods compare a given string type to this one
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator==(const nsString2 &aString) const;
PRBool operator==(const nsStr &aString) const;
PRBool operator==(const char *aString) const;
PRBool operator==(const PRUnichar* aString) const;
/**
* These methods perform a !compare of a given string type to this
* @param aString is the string to be compared to this
* @return TRUE
*/
PRBool operator!=(const nsString2 &aString) const;
PRBool operator!=(const nsStr &aString) const;
PRBool operator!=(const char* aString) const;
PRBool operator!=(const PRUnichar* aString) const;
/**
* These methods test if a given string is < than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator<(const nsString2 &aString) const;
PRBool operator<(const nsStr &aString) const;
PRBool operator<(const char* aString) const;
PRBool operator<(const PRUnichar* aString) const;
/**
* These methods test if a given string is > than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator>(const nsString2 &aString) const;
PRBool operator>(const nsStr &S) const;
PRBool operator>(const char* aString) const;
PRBool operator>(const PRUnichar* aString) const;
/**
* These methods test if a given string is <= than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator<=(const nsString2 &aString) const;
PRBool operator<=(const nsStr &S) const;
PRBool operator<=(const char* aString) const;
PRBool operator<=(const PRUnichar* aString) const;
/**
* These methods test if a given string is >= than this
* @param aString is the string to be compared to this
* @return TRUE or FALSE
*/
PRBool operator>=(const nsString2 &aString) const;
PRBool operator>=(const nsStr &S) const;
PRBool operator>=(const char* aString) const;
PRBool operator>=(const PRUnichar* aString) const;
/**
* Compare this to given string; note that we compare full strings here.
* The optional length argument just lets us know how long the given string is.
* If you provide a length, it is compared to length of this string as an
* optimization.
*
* @param aString -- the string to compare to this
* @param aLength -- optional length of given string.
* @return TRUE if equal
*/
PRBool Equals(const nsString2 &aString,PRBool aIgnoreCase=PR_FALSE) const;
PRBool Equals(const nsStr& aString,PRBool aIgnoreCase=PR_FALSE) const;
PRBool Equals(const char* aString,PRBool aIgnoreCase=PR_FALSE) const;
PRBool Equals(const char* aString,PRUint32 aCount,PRBool aIgnoreCase) const;
PRBool Equals(const PRUnichar* aString,PRBool aIgnoreCase=PR_FALSE) const;
PRBool Equals(const PRUnichar* aString,PRUint32 aCount,PRBool aIgnoreCase) const;
PRBool Equals(const nsIAtom* anAtom,PRBool aIgnoreCase) const;
PRBool Equals(const PRUnichar* s1, const PRUnichar* s2,PRBool aIgnoreCase=PR_FALSE) const;
PRBool EqualsIgnoreCase(const nsString2& aString) const;
PRBool EqualsIgnoreCase(const char* aString,PRInt32 aLength=-1) const;
PRBool EqualsIgnoreCase(const nsIAtom *aAtom) const;
PRBool EqualsIgnoreCase(const PRUnichar* s1, const PRUnichar* s2) const;
/**
* Determine if given char is a valid space character
*
* @param aChar is character to be tested
* @return TRUE if is valid space char
*/
static PRBool IsSpace(PRUnichar ch);
/**
* Determine if given char in valid alpha range
*
* @param aChar is character to be tested
* @return TRUE if in alpha range
*/
static PRBool IsAlpha(PRUnichar ch);
/**
* Determine if given char is valid digit
*
* @param aChar is character to be tested
* @return TRUE if char is a valid digit
*/
static PRBool IsDigit(PRUnichar ch);
static void Recycle(nsString2* aString);
static nsString2* CreateString(eCharSize aCharSize=eTwoByte);
virtual void DebugDump(ostream& aStream) const;
nsIMemoryAgent* mAgent;
};
extern NS_COM int fputs(const nsString2& aString, FILE* out);
ostream& operator<<(ostream& aStream,const nsString2& aString);
/**************************************************************
Here comes the AutoString class which uses internal memory
(typically found on the stack) for its default buffer.
If the buffer needs to grow, it gets reallocated on the heap.
**************************************************************/
class NS_COM nsAutoString2 : public nsString2 {
public:
nsAutoString2(eCharSize aCharSize=kDefaultCharSize);
nsAutoString2(nsStr& anExtBuffer,const char* aCString);
nsAutoString2(const char* aCString,eCharSize aCharSize=kDefaultCharSize);
nsAutoString2(char* aCString,PRInt32 aCapacity=-1,eCharSize aCharSize=kDefaultCharSize,PRBool assumeOwnership=PR_FALSE);
nsAutoString2(const PRUnichar* aString,eCharSize aCharSize=kDefaultCharSize);
nsAutoString2(PRUnichar* aString,PRInt32 aCapacity=-1,eCharSize aCharSize=kDefaultCharSize,PRBool assumeOwnership=PR_FALSE);
nsAutoString2(const nsStr& aString,eCharSize aCharSize=kDefaultCharSize);
nsAutoString2(const nsString2& aString,eCharSize aCharSize=kDefaultCharSize);
nsAutoString2(const nsAutoString2& aString,eCharSize aCharSize=kDefaultCharSize);
#ifdef AIX
nsAutoString2(const nsSubsumeStr& aSubsumeStr); // AIX requires a const
#else
nsAutoString2(nsSubsumeStr& aSubsumeStr);
#endif // AIX
nsAutoString2(PRUnichar aChar,eCharSize aCharSize=kDefaultCharSize);
virtual ~nsAutoString2();
nsAutoString2& operator=(const nsString2& aString) {nsString2::operator=(aString); return *this;}
nsAutoString2& operator=(const nsStr& aString) {nsString2::Assign(aString); return *this;}
nsAutoString2& operator=(const nsAutoString2& aString) {nsString2::operator=(aString); return *this;}
nsAutoString2& operator=(const char* aCString) {nsString2::operator=(aCString); return *this;}
nsAutoString2& operator=(char aChar) {nsString2::operator=(aChar); return *this;}
nsAutoString2& operator=(const PRUnichar* aBuffer) {nsString2::operator=(aBuffer); return *this;}
nsAutoString2& operator=(PRUnichar aChar) {nsString2::operator=(aChar); return *this;}
/**
* Retrieve the size of this string
* @return string length
*/
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
char mBuffer[32];
};
/***************************************************************
The subsumestr class is very unusual.
It differs from a normal string in that it doesn't use normal
copy semantics when another string is assign to this.
Instead, it "steals" the contents of the source string.
This is very handy for returning nsString classes as part of
an operator+(...) for example, in that it cuts down the number
of copy operations that must occur.
You should probably not use this class unless you really know
what you're doing.
***************************************************************/
class NS_COM nsSubsumeStr : public nsString2 {
public:
nsSubsumeStr(nsString2& aString);
nsSubsumeStr(nsStr& aString);
nsSubsumeStr(PRUnichar* aString,PRBool assumeOwnership,PRInt32 aLength=-1);
nsSubsumeStr(char* aString,PRBool assumeOwnership,PRInt32 aLength=-1);
};
/***************************************************************
***************************************************************/
class NS_COM nsCAutoString: public nsAutoString{
public:
nsCAutoString(const nsString2& aString);
operator const char*() const;
};
#endif

View File

@@ -0,0 +1,167 @@
/* -*- Mode: C++; 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 "nsDebug.h"
#include "nsIAllocator.h"
#include "nsXPIDLString.h"
#include "plstr.h"
// If the allocator changes, fix it here.
#define XPIDL_STRING_ALLOC(__len) ((PRUnichar*) nsAllocator::Alloc((__len) * sizeof(PRUnichar)))
#define XPIDL_CSTRING_ALLOC(__len) ((char*) nsAllocator::Alloc((__len) * sizeof(char)))
#define XPIDL_FREE(__ptr) (nsAllocator::Free(__ptr))
////////////////////////////////////////////////////////////////////////
// nsXPIDLString
nsXPIDLString::nsXPIDLString()
: mBufOwner(PR_FALSE),
mBuf(0)
{
}
nsXPIDLString::~nsXPIDLString()
{
if (mBufOwner && mBuf)
XPIDL_FREE(mBuf);
}
nsXPIDLString::operator const PRUnichar*()
{
return mBuf;
}
PRUnichar*
nsXPIDLString::Copy(const PRUnichar* aString)
{
NS_ASSERTION(aString, "null ptr");
if (! aString)
return 0;
PRInt32 len = 0;
{
const PRUnichar* p = aString;
while (*p++)
len++;
}
PRUnichar* result = XPIDL_STRING_ALLOC(len + 1);
if (result) {
PRUnichar* q = result;
while (*aString) {
*q = *aString;
q++;
aString++;
}
*q = '\0';
}
return result;
}
PRUnichar**
nsXPIDLString::StartAssignmentByValue()
{
if (mBufOwner && mBuf)
XPIDL_FREE(mBuf);
mBuf = 0;
mBufOwner = PR_TRUE;
return &mBuf;
}
const PRUnichar**
nsXPIDLString::StartAssignmentByReference()
{
if (mBufOwner && mBuf)
XPIDL_FREE(mBuf);
mBuf = 0;
mBufOwner = PR_FALSE;
return (const PRUnichar**) &mBuf;
}
////////////////////////////////////////////////////////////////////////
// nsXPIDLCString
nsXPIDLCString::nsXPIDLCString()
: mBufOwner(PR_FALSE),
mBuf(0)
{
}
nsXPIDLCString::~nsXPIDLCString()
{
if (mBufOwner && mBuf)
XPIDL_FREE(mBuf);
}
nsXPIDLCString::operator const char*()
{
return mBuf;
}
char*
nsXPIDLCString::Copy(const char* aCString)
{
NS_ASSERTION(aCString, "null ptr");
if (! aCString)
return 0;
PRInt32 len = PL_strlen(aCString);
char* result = XPIDL_CSTRING_ALLOC(len + 1);
if (result)
PL_strcpy(result, aCString);
return result;
}
char**
nsXPIDLCString::StartAssignmentByValue()
{
if (mBufOwner && mBuf)
XPIDL_FREE(mBuf);
mBuf = 0;
mBufOwner = PR_TRUE;
return &mBuf;
}
const char**
nsXPIDLCString::StartAssignmentByReference()
{
if (mBufOwner && mBuf)
XPIDL_FREE(mBuf);
mBuf = 0;
mBufOwner = PR_FALSE;
return (const char**) &mBuf;
}

View File

@@ -0,0 +1,300 @@
/* -*- Mode: C++; 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.
*/
/*
A set of string wrapper classes that ease transition to use of XPIDL
interfaces. nsXPIDLString and nsXPIDLCString are to XPIDL `wstring'
and `string' out params as nsCOMPtr is to generic XPCOM interface
pointers. They help you deal with object ownership.
Consider the following interface:
interface nsIFoo {
attribute string Bar;
};
This will generate the following C++ header file:
class nsIFoo {
NS_IMETHOD SetBar(const PRUnichar* aValue);
NS_IMETHOD GetBar(PRUnichar* *aValue);
};
The GetBar() method will allocate a copy of the nsIFoo object's
"bar" attribute, and leave you to deal with freeing it:
nsIFoo* aFoo; // assume we get this somehow
PRUnichar* bar;
aFoo->GetFoo(&bar);
// Use bar here...
printf("bar is %s!\n", bar);
delete[] bar;
(Strictly speaking, the `delete[] bar' should use the proper XPCOM
de-allocator; we'll ignore that for now.)
This makes your life harder, because you need to convolute your code
to ensure that you don't leak `bar'.
Enter nsXPIDLString, which manages the ownership of the allocated
string, and automatically destroys it when the nsXPIDLString goes
out of scope:
nsIFoo* aFoo;
nsXPIDLString bar;
aFoo->GetFoo( getter_Copies(bar) );
// Use bar here...
printf("bar is %s!\n", (const char*) bar);
// no need to remember to delete[].
Like nsCOMPtr, nsXPIDLString uses some syntactic sugar to make it
painfully clear exactly what the code expects. You need to wrap an
nsXPIDLString object with either `getter_Copies()' or
`getter_Shares()' before passing it to a getter: these tell the
nsXPIDLString how ownership is being handled.
In the case of `getter_Copies()', the callee is allocating a copy
(which is usually the case). In the case of `getter_Shares()', the
callee is returning a const reference to `the real deal' (this can
be done using the [shared] attribute in XPIDL).
*/
#ifndef nsXPIDLString_h__
#define nsXPIDLString_h__
#include "nsCom.h"
#include "prtypes.h"
#ifndef __PRUNICHAR__
#define __PRUNICHAR__
typedef PRUint16 PRUnichar;
#endif /* __PRUNICHAR__ */
////////////////////////////////////////////////////////////////////////
// nsXPIDLString
//
// A wrapper for Unicode strings. With the |getter_Copies()| and
// |getter_Shares()| helper functions, this can be used instead of
// the "naked" |PRUnichar*| interface for |wstring| parameters in
// XPIDL interfaces.
//
class NS_COM nsXPIDLString {
private:
PRUnichar* mBuf;
PRBool mBufOwner;
PRUnichar** StartAssignmentByValue();
const PRUnichar** StartAssignmentByReference();
public:
/**
* Construct a new, uninitialized wrapper for a Unicode string.
*/
nsXPIDLString();
virtual ~nsXPIDLString();
/**
* Return a reference to the immutable Unicode string.
*/
operator const PRUnichar*();
/**
* Make a copy of the Unicode string. Use this function in the
* callee to ensure that the correct memory allocator is used.
*/
static PRUnichar* Copy(const PRUnichar* aString);
// A helper class for assignment-by-value. This class is an
// implementation detail and should not be considered part of the
// public interface.
class NS_COM GetterCopies {
private:
nsXPIDLString& mXPIDLString;
public:
GetterCopies(nsXPIDLString& aXPIDLString)
: mXPIDLString(aXPIDLString) {}
operator PRUnichar**() {
return mXPIDLString.StartAssignmentByValue();
}
friend GetterCopies getter_Copies(nsXPIDLString& aXPIDLString);
};
friend class GetterCopies;
// A helper class for assignment-by-reference. This class is an
// implementation detail and should not be considered part of the
// public interface.
class NS_COM GetterShares {
private:
nsXPIDLString& mXPIDLString;
public:
GetterShares(nsXPIDLString& aXPIDLString)
: mXPIDLString(aXPIDLString) {}
operator const PRUnichar**() {
return mXPIDLString.StartAssignmentByReference();
}
friend GetterShares getter_Shares(nsXPIDLString& aXPIDLString);
};
friend class GetterShares;
private:
// not to be implemented
nsXPIDLString(nsXPIDLString& /* aXPIDLString */) {}
nsXPIDLString& operator =(nsXPIDLString& /* aXPIDLString */) { return *this; }
};
/**
* Use this function to "wrap" the nsXPIDLString object that is to
* receive an |out| value.
*/
inline nsXPIDLString::GetterCopies
getter_Copies(nsXPIDLString& aXPIDLString)
{
return nsXPIDLString::GetterCopies(aXPIDLString);
}
/**
* Use this function to "wrap" the nsXPIDLString object that is to
* receive a |[shared] out| value.
*/
inline nsXPIDLString::GetterShares
getter_Shares(nsXPIDLString& aXPIDLString)
{
return nsXPIDLString::GetterShares(aXPIDLString);
}
////////////////////////////////////////////////////////////////////////
// nsXPIDLCString
//
// A wrapper for Unicode strings. With the |getter_Copies()| and
// |getter_Shares()| helper functions, this can be used instead of
// the "naked" |char*| interface for |string| parameters in XPIDL
// interfaces.
//
class NS_COM nsXPIDLCString {
private:
char* mBuf;
PRBool mBufOwner;
char** StartAssignmentByValue();
const char** StartAssignmentByReference();
public:
/**
* Construct a new, uninitialized wrapper for a single-byte string.
*/
nsXPIDLCString();
virtual ~nsXPIDLCString();
/**
* Return a reference to the immutable single-byte string.
*/
operator const char*();
/**
* Make a copy of the single-byte string. Use this function in the
* callee to ensure that the correct memory allocator is used.
*/
static char* Copy(const char* aString);
// A helper class for assignment-by-value. This class is an
// implementation detail and should not be considered part of the
// public interface.
class NS_COM GetterCopies {
private:
nsXPIDLCString& mXPIDLString;
public:
GetterCopies(nsXPIDLCString& aXPIDLString)
: mXPIDLString(aXPIDLString) {}
operator char**() {
return mXPIDLString.StartAssignmentByValue();
}
friend GetterCopies getter_Copies(nsXPIDLCString& aXPIDLString);
};
friend class GetterCopies;
// A helper class for assignment-by-reference. This class is an
// implementation detail and should not be considered part of the
// public interface.
class NS_COM GetterShares {
private:
nsXPIDLCString& mXPIDLString;
public:
GetterShares(nsXPIDLCString& aXPIDLString)
: mXPIDLString(aXPIDLString) {}
operator const char**() {
return mXPIDLString.StartAssignmentByReference();
}
friend GetterShares getter_Shares(nsXPIDLCString& aXPIDLString);
};
friend class GetterShares;
private:
// not to be implemented
nsXPIDLCString(nsXPIDLCString& /* aXPIDLString */) {}
nsXPIDLCString& operator =(nsXPIDLCString& /* aXPIDLCString */) { return *this; }
};
/**
* Use this function to "wrap" the nsXPIDLCString object that is to
* receive an |out| value.
*/
inline nsXPIDLCString::GetterCopies
getter_Copies(nsXPIDLCString& aXPIDLString)
{
return nsXPIDLCString::GetterCopies(aXPIDLString);
}
/**
* Use this function to "wrap" the nsXPIDLCString object that is to
* receive a |[shared] out| value.
*/
inline nsXPIDLCString::GetterShares
getter_Shares(nsXPIDLCString& aXPIDLString)
{
return nsXPIDLCString::GetterShares(aXPIDLString);
}
#endif // nsXPIDLString_h__

41
mozilla/xpcom/Makefile.in Normal file
View File

@@ -0,0 +1,41 @@
#!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@
VPATH = @srcdir@
srcdir = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS= typelib \
base \
ds \
io \
components \
threads \
reflect \
proxy \
build \
tools \
sample \
$(NULL)
ifdef ENABLE_TESTS
DIRS += tests
endif
include $(topsrcdir)/config/rules.mk

6027
mozilla/xpcom/base/IIDS.h Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
nsAgg.h
nsIAllocator.h
nsCOMPtr.h
nsCom.h
nsDebug.h
nsError.h
nsID.h
nsIID.h
nsIPtr.h
nsISupportsUtils.h
nsTraceRefcnt.h
nscore.h

View File

@@ -0,0 +1,2 @@
nsISupports.idl
nsrootidl.idl

View File

@@ -0,0 +1,73 @@
#!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
LIBRARY_NAME = xpcombase_s
MODULE = xpcom
XPIDL_MODULE = xpcom_base
XPIDLSRCS = \
nsrootidl.idl \
nsISupports.idl \
$(NULL)
CPPSRCS = \
nsAllocator.cpp \
nsDebug.cpp \
nsTraceRefcnt.cpp \
nsCOMPtr.cpp \
nsID.cpp \
$(NULL)
EXPORTS = \
nsAgg.h \
nsIAllocator.h \
nsCOMPtr.h \
nsCom.h \
nsDebug.h \
nsError.h \
nsID.h \
nsIID.h \
nsIPtr.h \
nsISupportsUtils.h \
nsTraceRefcnt.h \
nscore.h \
$(NULL)
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
DEFINES += -D_IMPL_NS_COM
REQUIRES = xpcom
MKSHLIB :=
# we don't want the shared lib, but we want to force the creation of a static lib.
override NO_SHARED_LIB=1
override NO_STATIC_LIB=
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,81 @@
#!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.
IGNORE_MANIFEST=1
DEPTH=..\..
MODULE = xpcom
################################################################################
## exports
EXPORTS = \
nsAgg.h \
nsIAllocator.h \
nsCOMPtr.h \
nsCom.h \
nsDebug.h \
nsError.h \
nsID.h \
nsIID.h \
nsIPtr.h \
nsISupportsUtils.h \
nsTraceRefcnt.h \
nscore.h \
$(NULL)
XPIDL_MODULE = xpcom_base
XPIDLSRCS = \
.\nsrootidl.idl \
.\nsISupports.idl \
$(NULL)
################################################################################
## library
#MAKE_OBJ_TYPE = DLL
#LIBNAME = .\$(OBJDIR)\xpcombase
#DLL = $(LIBNAME).dll
LIBRARY_NAME=xpcombase_s
LINCS = \
-I$(PUBLIC)\xpcom \
$(NULL)
LCFLAGS = -D_IMPL_NS_COM -DWIN32_LEAN_AND_MEAN
CPP_OBJS = \
.\$(OBJDIR)\nsDebug.obj \
.\$(OBJDIR)\nsAllocator.obj \
.\$(OBJDIR)\nsCOMPtr.obj \
.\$(OBJDIR)\nsID.obj \
.\$(OBJDIR)\nsTraceRefcnt.obj \
$(NULL)
include <$(DEPTH)\config\rules.mak>
#libs:: $(DLL)
# $(MAKE_INSTALL) $(LIBNAME).$(DLL_SUFFIX) $(DIST)\bin
# $(MAKE_INSTALL) $(LIBNAME).$(LIB_SUFFIX) $(DIST)\lib
libs:: $(LIBRARY)
$(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib
clobber::
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib

170
mozilla/xpcom/base/nsAgg.h Normal file
View File

@@ -0,0 +1,170 @@
/* -*- Mode: C++; 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.
*/
#ifndef nsAgg_h___
#define nsAgg_h___
#include "nsISupports.h"
/**
* Outer objects can implement nsIOuter if they choose, allowing them to
* get notification if their inner objects (children) are effectively freed.
* This allows them to reset any state associated with the inner object and
* potentially unload it.
*/
class nsIOuter : public nsISupports {
public:
/**
* This method is called whenever an inner object's refcount is about to
* become zero and the inner object should be released by the outer. This
* allows the outer to clean up any state associated with the inner and
* potentially unload the inner object. This method should call
* inner->Release().
*/
NS_IMETHOD
ReleaseInner(nsISupports* inner) = 0;
};
#define NS_IOUTER_IID \
{ /* ea0bf9f0-3d67-11d2-8163-006008119d7a */ \
0xea0bf9f0, \
0x3d67, \
0x11d2, \
{0x81, 0x63, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \
}
////////////////////////////////////////////////////////////////////////////////
// Put this in your class's declaration:
#define NS_DECL_AGGREGATED \
NS_DECL_ISUPPORTS \
\
protected: \
\
/* You must implement this operation instead of the nsISupports */ \
/* methods if you inherit from nsAggregated. */ \
NS_IMETHOD \
AggregatedQueryInterface(const nsIID& aIID, void** aInstancePtr); \
\
class Internal : public nsISupports { \
public: \
\
Internal() {} \
\
NS_IMETHOD QueryInterface(const nsIID& aIID, \
void** aInstancePtr); \
NS_IMETHOD_(nsrefcnt) AddRef(void); \
NS_IMETHOD_(nsrefcnt) Release(void); \
\
}; \
\
friend class Internal; \
\
nsISupports* fOuter; \
Internal fAggregated; \
\
nsISupports* GetInner(void) { return &fAggregated; } \
\
public: \
// Put this in your class's constructor:
#define NS_INIT_AGGREGATED(outer) \
PR_BEGIN_MACRO \
NS_INIT_REFCNT(); \
fOuter = outer; \
PR_END_MACRO
// Put this in your class's implementation file:
#define NS_IMPL_AGGREGATED(_class) \
NS_IMETHODIMP \
_class::QueryInterface(const nsIID& aIID, void** aInstancePtr) \
{ \
/* try our own interfaces first before delegating to outer */ \
nsresult rslt = AggregatedQueryInterface(aIID, aInstancePtr); \
if (rslt != NS_OK && fOuter) \
return fOuter->QueryInterface(aIID, aInstancePtr); \
else \
return rslt; \
} \
\
NS_IMETHODIMP_(nsrefcnt) \
_class::AddRef(void) \
{ \
++mRefCnt; /* keep track of our refcount as well as outer's */ \
if (fOuter) \
return NS_ADDREF(fOuter); \
else \
return mRefCnt; \
} \
\
NS_IMETHODIMP_(nsrefcnt) \
_class::Release(void) \
{ \
if (fOuter) { \
nsISupports* outer = fOuter; /* in case we release ourself */ \
nsIOuter* outerIntf; \
static NS_DEFINE_IID(kIOuterIID, NS_IOUTER_IID); \
if (mRefCnt == 1 && \
outer->QueryInterface(kIOuterIID, \
(void**)&outerIntf) == NS_OK) { \
outerIntf->ReleaseInner(GetInner()); \
outerIntf->Release(); \
} \
else \
--mRefCnt; /* keep track of our refcount as well as outer's */ \
return outer->Release(); \
} \
else { \
if (--mRefCnt == 0) { \
delete this; \
return 0; \
} \
return mRefCnt; \
} \
} \
\
NS_IMETHODIMP \
_class::Internal::QueryInterface(const nsIID& aIID, void** aInstancePtr) \
{ \
_class* agg = (_class*)((char*)(this) - offsetof(_class, fAggregated)); \
return agg->AggregatedQueryInterface(aIID, aInstancePtr); \
} \
\
NS_IMETHODIMP_(nsrefcnt) \
_class::Internal::AddRef(void) \
{ \
_class* agg = (_class*)((char*)(this) - offsetof(_class, fAggregated)); \
return ++agg->mRefCnt; \
} \
\
NS_IMETHODIMP_(nsrefcnt) \
_class::Internal::Release(void) \
{ \
_class* agg = (_class*)((char*)(this) - offsetof(_class, fAggregated)); \
if (--agg->mRefCnt == 0) { \
delete agg; \
return 0; \
} \
return agg->mRefCnt; \
} \
#endif /* nsAgg_h___ */

View File

@@ -0,0 +1,179 @@
/* -*- Mode: C++; 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.
*/
////////////////////////////////////////////////////////////////////////////////
// Implementation of nsIAllocator using NSPR
////////////////////////////////////////////////////////////////////////////////
#include "nsAllocator.h"
#include "nsIServiceManager.h"
#include <string.h> /* for memcpy */
nsAllocatorImpl::nsAllocatorImpl(nsISupports* outer)
{
NS_INIT_AGGREGATED(outer);
}
nsAllocatorImpl::~nsAllocatorImpl(void)
{
}
NS_IMPL_AGGREGATED(nsAllocatorImpl);
NS_METHOD
nsAllocatorImpl::AggregatedQueryInterface(const nsIID& aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
if (aIID.Equals(nsIAllocator::GetIID()) ||
aIID.Equals(nsCOMTypeInfo<nsISupports>::GetIID())) {
*aInstancePtr = (void*) this;
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_METHOD
nsAllocatorImpl::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr)
{
if (outer && !aIID.Equals(nsCOMTypeInfo<nsISupports>::GetIID()))
return NS_NOINTERFACE; // XXX right error?
nsAllocatorImpl* mm = new nsAllocatorImpl(outer);
if (mm == NULL)
return NS_ERROR_OUT_OF_MEMORY;
mm->AddRef();
if (aIID.Equals(nsCOMTypeInfo<nsISupports>::GetIID()))
*aInstancePtr = mm->GetInner();
else
*aInstancePtr = mm;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
NS_METHOD_(void*)
nsAllocatorImpl::Alloc(PRUint32 size)
{
return PR_Malloc(size);
}
NS_METHOD_(void*)
nsAllocatorImpl::Realloc(void* ptr, PRUint32 size)
{
return PR_Realloc(ptr, size);
}
NS_METHOD
nsAllocatorImpl::Free(void* ptr)
{
PR_Free(ptr);
return NS_OK;
}
NS_METHOD
nsAllocatorImpl::HeapMinimize(void)
{
#ifdef XP_MAC
// This used to live in the memory allocators no Mac, but does no more
// Needs to be hooked up in the new world.
// CallCacheFlushers(0x7fffffff);
#endif
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
#if 0
nsAllocatorFactory::nsAllocatorFactory(void)
{
NS_INIT_REFCNT();
}
nsAllocatorFactory::~nsAllocatorFactory(void)
{
}
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
NS_IMPL_ISUPPORTS(nsAllocatorFactory, kIFactoryIID);
NS_METHOD
nsAllocatorFactory::CreateInstance(nsISupports *aOuter,
REFNSIID aIID,
void **aResult)
{
return nsAllocatorImpl::Create(aOuter, aIID, aResult);
}
NS_METHOD
nsAllocatorFactory::LockFactory(PRBool aLock)
{
return NS_OK; // XXX what?
}
#endif
////////////////////////////////////////////////////////////////////////////////
/*
* Public shortcuts to the shared allocator's methods
* (all these methods are class statics)
*/
// public:
void* nsAllocator::Alloc(PRUint32 size)
{
if(!EnsureAllocator()) return NULL;
return mAllocator->Alloc(size);
}
void* nsAllocator::Realloc(void* ptr, PRUint32 size)
{
if(!EnsureAllocator()) return NULL;
return mAllocator->Realloc(ptr, size);
}
void nsAllocator::Free(void* ptr)
{
if(!EnsureAllocator()) return;
mAllocator->Free(ptr);
}
void nsAllocator::HeapMinimize()
{
if(!EnsureAllocator()) return;
mAllocator->HeapMinimize();
}
void* nsAllocator::Clone(const void* ptr, PRUint32 size)
{
if(!ptr || !EnsureAllocator()) return NULL;
void* p = mAllocator->Alloc(size);
if(p) memcpy(p, ptr, size);
return p;
}
// private:
nsIAllocator* nsAllocator::mAllocator = NULL;
PRBool nsAllocator::FetchAllocator()
{
nsAllocatorImpl::Create(NULL, nsIAllocator::GetIID(), (void**)&mAllocator);
NS_ASSERTION(mAllocator, "failed to get Allocator!");
return (PRBool) mAllocator;
}

View File

@@ -0,0 +1,92 @@
/* -*- Mode: C++; 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.
*/
////////////////////////////////////////////////////////////////////////////////
// Implementation of nsIAllocator using NSPR
////////////////////////////////////////////////////////////////////////////////
#ifndef nsAllocator_h__
#define nsAllocator_h__
#include "nsIAllocator.h"
#include "prmem.h"
#include "nsAgg.h"
#include "nsIFactory.h"
class nsAllocatorImpl : public nsIAllocator {
public:
static const nsCID& CID() { static nsCID cid = NS_ALLOCATOR_CID; return cid; }
/**
* Allocates a block of memory of a particular size.
*
* @param size - the size of the block to allocate
* @result the block of memory
*/
NS_IMETHOD_(void*) Alloc(PRUint32 size);
/**
* Reallocates a block of memory to a new size.
*
* @param ptr - the block of memory to reallocate
* @param size - the new size
* @result the rellocated block of memory
*/
NS_IMETHOD_(void*) Realloc(void* ptr, PRUint32 size);
/**
* Frees a block of memory.
*
* @param ptr - the block of memory to free
*/
NS_IMETHOD Free(void* ptr);
/**
* Attempts to shrink the heap.
*/
NS_IMETHOD HeapMinimize(void);
////////////////////////////////////////////////////////////////////////////
nsAllocatorImpl(nsISupports* outer);
virtual ~nsAllocatorImpl(void);
NS_DECL_AGGREGATED
static NS_METHOD
Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr);
};
////////////////////////////////////////////////////////////////////////////////
#if 0
class nsAllocatorFactory : public nsIFactory {
public:
NS_IMETHOD CreateInstance(nsISupports *aOuter,
REFNSIID aIID,
void **aResult);
NS_IMETHOD LockFactory(PRBool aLock);
nsAllocatorFactory(void);
virtual ~nsAllocatorFactory(void);
NS_DECL_ISUPPORTS
};
#endif
////////////////////////////////////////////////////////////////////////////////
#endif // nsAllocator_h__

View File

@@ -0,0 +1,65 @@
/* -*- 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 "nsCOMPtr.h"
#ifdef NSCAP_FEATURE_FACTOR_DESTRUCTOR
nsCOMPtr_base::~nsCOMPtr_base()
{
if ( mRawPtr )
NSCAP_RELEASE(mRawPtr);
}
#endif
void
nsCOMPtr_base::assign_with_AddRef( nsISupports* rawPtr )
{
if ( rawPtr )
NSCAP_ADDREF(rawPtr);
if ( mRawPtr )
NSCAP_RELEASE(mRawPtr);
mRawPtr = rawPtr;
}
void
nsCOMPtr_base::assign_with_QueryInterface( nsISupports* rawPtr, const nsIID& iid, nsresult* result )
{
nsresult status = NS_ERROR_NULL_POINTER;
if ( !rawPtr || !NS_SUCCEEDED( status = rawPtr->QueryInterface(iid, NSCAP_REINTERPRET_CAST(void**, &rawPtr)) ) )
rawPtr = 0;
if ( mRawPtr )
NSCAP_RELEASE(mRawPtr);
mRawPtr = rawPtr;
if ( result )
*result = status;
}
void**
nsCOMPtr_base::begin_assignment()
{
if ( mRawPtr )
{
NSCAP_RELEASE(mRawPtr);
mRawPtr = 0;
}
return NSCAP_REINTERPRET_CAST(void**, &mRawPtr);
}

View File

@@ -0,0 +1,732 @@
/* -*- 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 nsCOMPtr_h___
#define nsCOMPtr_h___
// Wrapping includes can speed up compiles (see "Large Scale C++ Software Design")
#ifndef nsDebug_h___
#include "nsDebug.h"
// for |NS_PRECONDITION|
#endif
#ifndef nsISupports_h___
#include "nsISupports.h"
// for |nsresult|, |NS_ADDREF|, et al
#endif
/*
Public things defined in this file:
T* rawTptr;
class nsCOMPtr<T> nsCOMPtr<T> smartTptr;
null_nsCOMPtr() smartTptr = null_nsCOMPtr();
do_QueryInterface( nsISupports* ) smartTptr = do_QueryInterface(other_ptr);
do_QueryInterface( nsISupports*, nsresult* ) smartTptr = do_QueryInterface(other_ptr, &status);
dont_QueryInterface( T* ) smartTptr = dont_QueryInterface(rawTptr);
getter_AddRefs( nsCOMPtr<T>& )
getter_AddRefs( T* )
dont_AddRef( T* )
CallQueryInterface( nsISupports*, T** )
CallQueryInterface( nsISupports*, nsCOMPtr<T>* )
*/
/*
Having problems?
See the User Manual at:
<http://www.meer.net/ScottCollins/doc/nsCOMPtr.html>, or
<http://www.mozilla.org/projects/xpcom/nsCOMPtr.html>
*/
/*
TO DO...
+ Improve internal documentation
+ mention *&
+ alternatives for comparison
+ do_QueryInterface
*/
/*
WARNING:
This file defines several macros for internal use only. These macros begin with the
prefix |NSCAP_|. Do not use these macros in your own code. They are for internal use
only for cross-platform compatibility, and are subject to change without notice.
*/
/*
Set up some |#define|s to turn off a couple of troublesome C++ features.
Interestingly, none of the compilers barf on template stuff. These are set up automatically
by the autoconf system for all Unixes. (Temporarily, I hope) I have to define them
myself for Mac and Windows.
*/
// under Metrowerks (Mac), we don't have autoconf yet
#ifdef __MWERKS__
#define HAVE_CPP_USING
#define HAVE_CPP_EXPLICIT
#define HAVE_CPP_NEW_CASTS
#define HAVE_CPP_BOOL
#endif
// under VC++ (Windows), we don't have autoconf yet
#ifdef _MSC_VER
#define HAVE_CPP_EXPLICIT
#define HAVE_CPP_USING
#define HAVE_CPP_NEW_CASTS
#if (_MSC_VER<1100)
// before 5.0, VC++ couldn't handle explicit
#undef HAVE_CPP_EXPLICIT
#elif (_MSC_VER==1100)
// VC++5.0 has an internal compiler error (sometimes) without this
#undef HAVE_CPP_USING
#endif
#define NSCAP_FEATURE_INLINE_STARTASSIGNMENT
// under VC++, we win by inlining StartAssignment
#endif
#define NSCAP_FEATURE_ALLOW_RAW_POINTERS
#define NSCAP_FEATURE_ALLOW_COMPARISONS
#define NSCAP_FEATURE_FACTOR_DESTRUCTOR
#ifdef NS_DEBUG
#define NSCAP_FEATURE_TEST_DONTQUERY_CASES
#endif
/*
If the compiler doesn't support |explicit|, we'll just make it go away, trusting
that the builds under compilers that do have it will keep us on the straight and narrow.
*/
#ifndef HAVE_CPP_EXPLICIT
#define explicit
#endif
#ifdef HAVE_CPP_BOOL
typedef bool NSCAP_BOOL;
#else
typedef PRBool NSCAP_BOOL;
#endif
#ifdef HAVE_CPP_NEW_CASTS
#define NSCAP_STATIC_CAST(T,x) static_cast<T>(x)
#define NSCAP_REINTERPRET_CAST(T,x) reinterpret_cast<T>(x)
#else
#define NSCAP_STATIC_CAST(T,x) ((T)(x))
#define NSCAP_REINTERPRET_CAST(T,x) ((T)(x))
#endif
#ifdef NSCAP_FEATURE_DEBUG_MACROS
#define NSCAP_ADDREF(ptr) NS_ADDREF(ptr)
#define NSCAP_RELEASE(ptr) NS_RELEASE(ptr)
#else
#define NSCAP_ADDREF(ptr) (ptr)->AddRef()
#define NSCAP_RELEASE(ptr) (ptr)->Release()
#endif
/*
WARNING:
VC++4.2 is very picky. To compile under VC++4.2, the classes must be defined
in an order that satisfies:
nsDerivedSafe < nsCOMPtr
nsDontAddRef < nsCOMPtr
nsCOMPtr < nsGetterAddRefs
The other compilers probably won't complain, so please don't reorder these
classes, on pain of breaking 4.2 compatibility.
*/
template <class T>
class nsDerivedSafe : public T
/*
No client should ever see or have to type the name of this class. It is the
artifact that makes it a compile-time error to call |AddRef| and |Release|
on a |nsCOMPtr|. DO NOT USE THIS TYPE DIRECTLY IN YOUR CODE.
See |nsCOMPtr::operator->|, |nsCOMPtr::operator*|, et al.
*/
{
private:
#ifdef HAVE_CPP_USING
using T::AddRef;
using T::Release;
#else
NS_IMETHOD_(nsrefcnt) AddRef(void);
NS_IMETHOD_(nsrefcnt) Release(void);
#endif
void operator delete( void*, size_t ); // NOT TO BE IMPLEMENTED
// declaring |operator delete| private makes calling delete on an interface pointer a compile error
nsDerivedSafe<T>& operator=( const nsDerivedSafe<T>& ); // NOT TO BE IMPLEMENTED
// you may not call |operator=()| through a dereferenced |nsCOMPtr|, because you'd get the wrong one
};
#if !defined(HAVE_CPP_USING) && defined(NEED_CPP_UNUSED_IMPLEMENTATIONS)
template <class T>
nsrefcnt
nsDerivedSafe<T>::AddRef()
{
return 0;
}
template <class T>
nsrefcnt
nsDerivedSafe<T>::Release()
{
return 0;
}
#endif
template <class T>
struct nsDontQueryInterface
/*
...
DO NOT USE THIS TYPE DIRECTLY IN YOUR CODE. Use |dont_QueryInterface()| instead.
*/
{
explicit
nsDontQueryInterface( T* aRawPtr )
: mRawPtr(aRawPtr)
{
// nothing else to do here
}
T* mRawPtr;
};
template <class T>
inline
const nsDontQueryInterface<T>
dont_QueryInterface( T* aRawPtr )
{
return nsDontQueryInterface<T>(aRawPtr);
}
struct nsQueryInterface
/*
...
DO NOT USE THIS TYPE DIRECTLY IN YOUR CODE. Use |do_QueryInterface()| instead.
*/
{
explicit
nsQueryInterface( nsISupports* aRawPtr, nsresult* error = 0 )
: mRawPtr(aRawPtr),
mErrorPtr(error)
{
// nothing else to do here
}
nsISupports* mRawPtr;
nsresult* mErrorPtr;
};
inline
const nsQueryInterface
do_QueryInterface( nsISupports* aRawPtr, nsresult* error = 0 )
{
return nsQueryInterface(aRawPtr, error);
}
#ifdef NSCAP_FEATURE_ALLOW_RAW_POINTERS
#define null_nsCOMPtr() (0)
#else
inline
const nsQueryInterface
null_nsCOMPtr()
/*
You can use this to assign |NULL| into an |nsCOMPtr|, e.g.,
myPtr = null_nsCOMPtr();
*/
{
typedef nsISupports* nsISupports_Ptr;
return nsQueryInterface(nsISupports_Ptr(0));
}
#endif
template <class T>
struct nsDontAddRef
/*
...cooperates with |nsCOMPtr| to allow you to assign in a pointer _without_
|AddRef|ing it. You would rarely use this directly, but rather through the
machinery of |getter_AddRefs| in the argument list to functions that |AddRef|
their results before returning them to the caller.
DO NOT USE THIS TYPE DIRECTLY IN YOUR CODE. Use |getter_AddRefs()| or
|dont_AddRef()| instead.
See also |getter_AddRefs()|, |dont_AddRef()|, and |class nsGetterAddRefs|.
*/
{
explicit
nsDontAddRef( T* aRawPtr )
: mRawPtr(aRawPtr)
{
// nothing else to do here
}
T* mRawPtr;
};
template <class T>
inline
const nsDontAddRef<T>
getter_AddRefs( T* aRawPtr )
/*
...makes typing easier, because it deduces the template type, e.g.,
you write |dont_AddRef(fooP)| instead of |nsDontAddRef<IFoo>(fooP)|.
*/
{
return nsDontAddRef<T>(aRawPtr);
}
template <class T>
inline
const nsDontAddRef<T>
dont_AddRef( T* aRawPtr )
{
return nsDontAddRef<T>(aRawPtr);
}
class nsCOMPtr_base
/*
...factors implementation for all template versions of |nsCOMPtr|.
*/
{
public:
nsCOMPtr_base( nsISupports* rawPtr = 0 )
: mRawPtr(rawPtr)
{
// nothing else to do here
}
#ifdef NSCAP_FEATURE_FACTOR_DESTRUCTOR
NS_EXPORT ~nsCOMPtr_base();
#endif
#if 0
~nsCOMPtr_base()
{
if ( mRawPtr )
NSCAP_RELEASE(mRawPtr);
}
#endif
NS_EXPORT void assign_with_AddRef( nsISupports* );
NS_EXPORT void assign_with_QueryInterface( nsISupports*, const nsIID&, nsresult* );
NS_EXPORT void** begin_assignment();
protected:
nsISupports* mRawPtr;
};
template <class T>
class nsCOMPtr : private nsCOMPtr_base
/*
...
*/
{
public:
typedef T element_type;
#if 0
typedef nsDerivedSafe<T>* safe_ptr_t;
typedef T* safe_ptr_t;
#endif
#ifndef NSCAP_FEATURE_FACTOR_DESTRUCTOR
~nsCOMPtr()
{
if ( mRawPtr )
NSCAP_RELEASE(mRawPtr);
}
#endif
nsCOMPtr()
// : nsCOMPtr_base(0)
{
// nothing else to do here
}
nsCOMPtr( const nsQueryInterface& aSmartPtr )
// : nsCOMPtr_base(0)
{
assign_with_QueryInterface(aSmartPtr.mRawPtr, nsCOMTypeInfo<T>::GetIID(), aSmartPtr.mErrorPtr);
}
#ifdef NSCAP_FEATURE_TEST_DONTQUERY_CASES
void
Assert_NoQueryNeeded()
{
if ( !mRawPtr )
return;
T* query_result = 0;
nsresult status = CallQueryInterface(mRawPtr, &query_result);
NS_ASSERTION(query_result == mRawPtr, "QueryInterface needed");
if ( NS_SUCCEEDED(status) )
NSCAP_RELEASE(query_result);
}
#endif
nsCOMPtr( const nsDontAddRef<T>& aSmartPtr )
: nsCOMPtr_base(aSmartPtr.mRawPtr)
{
#ifdef NSCAP_FEATURE_TEST_DONTQUERY_CASES
Assert_NoQueryNeeded();
#endif
}
nsCOMPtr( const nsDontQueryInterface<T>& aSmartPtr )
: nsCOMPtr_base(aSmartPtr.mRawPtr)
{
if ( mRawPtr )
NSCAP_ADDREF(mRawPtr);
#ifdef NSCAP_FEATURE_TEST_DONTQUERY_CASES
Assert_NoQueryNeeded();
#endif
}
nsCOMPtr( const nsCOMPtr<T>& aSmartPtr )
: nsCOMPtr_base(aSmartPtr.mRawPtr)
{
if ( mRawPtr )
NSCAP_ADDREF(mRawPtr);
}
#ifdef NSCAP_FEATURE_ALLOW_RAW_POINTERS
nsCOMPtr( T* aRawPtr )
: nsCOMPtr_base(aRawPtr)
{
if ( mRawPtr )
NSCAP_ADDREF(mRawPtr);
#ifdef NSCAP_FEATURE_TEST_DONTQUERY_CASES
Assert_NoQueryNeeded();
#endif
}
nsCOMPtr<T>&
operator=( T* rhs )
{
assign_with_AddRef(rhs);
#ifdef NSCAP_FEATURE_TEST_DONTQUERY_CASES
Assert_NoQueryNeeded();
#endif
return *this;
}
#endif
nsCOMPtr<T>&
operator=( const nsQueryInterface& rhs )
{
assign_with_QueryInterface(rhs.mRawPtr, nsCOMTypeInfo<T>::GetIID(), rhs.mErrorPtr);
return *this;
}
nsCOMPtr<T>&
operator=( const nsDontAddRef<T>& rhs )
{
if ( mRawPtr )
NSCAP_RELEASE(mRawPtr);
mRawPtr = rhs.mRawPtr;
#ifdef NSCAP_FEATURE_TEST_DONTQUERY_CASES
Assert_NoQueryNeeded();
#endif
return *this;
}
nsCOMPtr<T>&
operator=( const nsDontQueryInterface<T>& rhs )
{
assign_with_AddRef(rhs.mRawPtr);
#ifdef NSCAP_FEATURE_TEST_DONTQUERY_CASES
Assert_NoQueryNeeded();
#endif
return *this;
}
nsCOMPtr<T>&
operator=( const nsCOMPtr<T>& rhs )
{
assign_with_AddRef(rhs.mRawPtr);
return *this;
}
nsDerivedSafe<T>*
get() const
// returns a |nsDerivedSafe<T>*| to deny clients the use of |AddRef| and |Release|
{
return NSCAP_REINTERPRET_CAST(nsDerivedSafe<T>*, mRawPtr);
}
nsDerivedSafe<T>*
operator->() const
// returns a |nsDerivedSafe<T>*| to deny clients the use of |AddRef| and |Release|
{
NS_PRECONDITION(mRawPtr != 0, "You can't dereference a NULL nsCOMPtr with operator->().");
return get();
}
nsDerivedSafe<T>&
operator*() const
// returns a |nsDerivedSafe<T>*| to deny clients the use of |AddRef| and |Release|
{
NS_PRECONDITION(mRawPtr != 0, "You can't dereference a NULL nsCOMPtr with operator*().");
return *get();
}
operator nsDerivedSafe<T>*() const
{
return get();
}
#if 0
private:
friend class nsGetterAddRefs<T>;
/*
In a perfect world, the following member function, |StartAssignment|, would be private.
It is and should be only accessed by the closely related class |nsGetterAddRefs<T>|.
Unfortunately, some compilers---most notably VC++5.0---fail to grok the
friend declaration above or in any alternate acceptable form. So, physically
it will be public (until our compilers get smarter); but it is not to be
considered part of the logical public interface.
*/
#endif
T**
StartAssignment()
{
#ifndef NSCAP_FEATURE_INLINE_STARTASSIGNMENT
return NSCAP_REINTERPRET_CAST(T**, begin_assignment());
#else
if ( mRawPtr )
NSCAP_RELEASE(mRawPtr);
mRawPtr = 0;
return NSCAP_REINTERPRET_CAST(T**, &mRawPtr);
#endif
}
};
template <class T>
class nsGetterAddRefs
/*
...
This class is designed to be used for anonymous temporary objects in the
argument list of calls that return COM interface pointers, e.g.,
nsCOMPtr<IFoo> fooP;
...->QueryInterface(iid, getter_AddRefs(fooP))
DO NOT USE THIS TYPE DIRECTLY IN YOUR CODE. Use |getter_AddRefs()| instead.
When initialized with a |nsCOMPtr|, as in the example above, it returns
a |void**| (or |T**| if needed) that the outer call (|QueryInterface| in this
case) can fill in.
*/
{
public:
explicit
nsGetterAddRefs( nsCOMPtr<T>& aSmartPtr )
: mTargetSmartPtr(aSmartPtr)
{
// nothing else to do
}
operator void**()
{
return NSCAP_REINTERPRET_CAST(void**, mTargetSmartPtr.StartAssignment());
}
T*&
operator*()
{
return *(mTargetSmartPtr.StartAssignment());
}
operator T**()
{
return mTargetSmartPtr.StartAssignment();
}
private:
nsCOMPtr<T>& mTargetSmartPtr;
};
template <class T>
inline
nsGetterAddRefs<T>
getter_AddRefs( nsCOMPtr<T>& aSmartPtr )
/*
Used around a |nsCOMPtr| when
...makes the class |nsGetterAddRefs<T>| invisible.
*/
{
return nsGetterAddRefs<T>(aSmartPtr);
}
#ifdef NSCAP_FEATURE_ALLOW_COMPARISONS
class NSCAP_Zero;
template <class T, class U>
inline
NSCAP_BOOL
operator==( const nsCOMPtr<T>& lhs, const nsCOMPtr<U>& rhs )
{
return NSCAP_STATIC_CAST(const void*, lhs.get()) == NSCAP_STATIC_CAST(const void*, rhs.get());
}
template <class T, class U>
inline
NSCAP_BOOL
operator==( const nsCOMPtr<T>& lhs, const U* rhs )
{
return NSCAP_STATIC_CAST(const void*, lhs.get()) == NSCAP_STATIC_CAST(const void*, rhs);
}
template <class T, class U>
inline
NSCAP_BOOL
operator==( const U* lhs, const nsCOMPtr<T>& rhs )
{
return NSCAP_STATIC_CAST(const void*, lhs) == NSCAP_STATIC_CAST(const void*, rhs.get());
}
template <class T>
inline
NSCAP_BOOL
operator==( const nsCOMPtr<T>& lhs, NSCAP_Zero* rhs )
// specifically to allow |smartPtr == 0|
{
return NSCAP_STATIC_CAST(const void*, lhs.get()) == NSCAP_REINTERPRET_CAST(const void*, rhs);
}
template <class T>
inline
NSCAP_BOOL
operator==( NSCAP_Zero* lhs, const nsCOMPtr<T>& rhs )
// specifically to allow |0 == smartPtr|
{
return NSCAP_REINTERPRET_CAST(const void*, lhs) == NSCAP_STATIC_CAST(const void*, rhs.get());
}
template <class T, class U>
inline
NSCAP_BOOL
operator!=( const nsCOMPtr<T>& lhs, const nsCOMPtr<U>& rhs )
{
return NSCAP_STATIC_CAST(const void*, lhs.get()) != NSCAP_STATIC_CAST(const void*, rhs.get());
}
template <class T, class U>
inline
NSCAP_BOOL
operator!=( const nsCOMPtr<T>& lhs, const U* rhs )
{
return NSCAP_STATIC_CAST(const void*, lhs.get()) != NSCAP_STATIC_CAST(const void*, rhs);
}
template <class T, class U>
inline
NSCAP_BOOL
operator!=( const U* lhs, const nsCOMPtr<T>& rhs )
{
return NSCAP_STATIC_CAST(const void*, lhs) != NSCAP_STATIC_CAST(const void*, rhs.get());
}
template <class T>
inline
NSCAP_BOOL
operator!=( const nsCOMPtr<T>& lhs, NSCAP_Zero* rhs )
// specifically to allow |smartPtr != 0|
{
return NSCAP_STATIC_CAST(const void*, lhs.get()) != NSCAP_REINTERPRET_CAST(const void*, rhs);
}
template <class T>
inline
NSCAP_BOOL
operator!=( NSCAP_Zero* lhs, const nsCOMPtr<T>& rhs )
// specifically to allow |0 != smartPtr|
{
return NSCAP_REINTERPRET_CAST(const void*, lhs) != NSCAP_STATIC_CAST(const void*, rhs.get());
}
inline
NSCAP_BOOL
SameCOMIdentity( nsISupports* lhs, nsISupports* rhs )
{
return nsCOMPtr<nsISupports>( do_QueryInterface(lhs) ) == nsCOMPtr<nsISupports>( do_QueryInterface(rhs) );
}
#endif // defined(NSCAP_FEATURE_ALLOW_COMPARISONS)
template <class DestinationType>
inline
nsresult
CallQueryInterface( nsISupports* aSource, nsCOMPtr<DestinationType>* aDestination )
// a type-safe shortcut for calling the |QueryInterface()| member function
{
return CallQueryInterface(aSource, getter_AddRefs(*aDestination));
// this calls the _other_ |CallQueryInterface|
}
#endif // !defined(nsCOMPtr_h___)

229
mozilla/xpcom/base/nsCom.h Normal file
View File

@@ -0,0 +1,229 @@
/* -*- 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 nsCom_h__
#define nsCom_h__
/*
* API Import/Export macros
*/
#ifdef _IMPL_NS_COM
#ifdef XP_PC
#define NS_COM _declspec(dllexport)
#elif defined(XP_MAC)
#define NS_COM __declspec(export)
#else /* !XP_PC */
#define NS_COM
#endif /* !XP_PC */
#else /* !_IMPL_NS_COM */
#ifdef XP_PC
#define NS_COM _declspec(dllimport)
#else /* !XP_PC */
#define NS_COM
#endif /* !XP_PC */
#endif /* !_IMPL_NS_COM */
/*
* DLL Export macro
*/
#if defined(XP_PC)
#define NS_EXPORT _declspec(dllexport)
#define NS_EXPORT_(type) _declspec(dllexport) type __stdcall
#define NS_IMETHOD_(type) virtual type __stdcall
#define NS_IMETHOD virtual nsresult __stdcall
#define NS_IMETHODIMP_(type) type __stdcall
#define NS_IMETHODIMP nsresult __stdcall
#define NS_METHOD_(type) type __stdcall
#define NS_METHOD nsresult __stdcall
#define NS_CALLBACK_(_type, _name) _type (__stdcall * _name)
#define NS_CALLBACK(_name) nsresult (__stdcall * _name)
#elif defined(XP_MAC)
#define NS_EXPORT __declspec(export)
#define NS_EXPORT_(type) __declspec(export) type
#define NS_IMETHOD_(type) virtual type
#define NS_IMETHOD virtual nsresult
#define NS_IMETHODIMP_(type) type
#define NS_IMETHODIMP nsresult
#define NS_METHOD_(type) type
#define NS_METHOD nsresult
#define NS_CALLBACK_(_type, _name) _type (* _name)
#define NS_CALLBACK(_name) nsresult (* _name)
#else /* !XP_PC && !XP_MAC */
#define NS_EXPORT
#define NS_EXPORT_(type) type
#define NS_IMETHOD_(type) virtual type
#define NS_IMETHOD virtual nsresult
#define NS_IMETHODIMP_(type) type
#define NS_IMETHODIMP nsresult
#define NS_METHOD_(type) type
#define NS_METHOD nsresult
#define NS_CALLBACK_(_type, _name) _type (* _name)
#define NS_CALLBACK(_name) nsresult (* _name)
#endif /* !XP_PC */
/* use these functions to associate get/set methods with a
C++ member variable
*/
#define NS_METHOD_GETTER(_method, _type, _member) \
_method(_type* aResult) \
{\
if (!aResult) return NS_ERROR_NULL_POINTER; \
*aResult = _member; \
return NS_OK; \
}
#define NS_METHOD_SETTER(_method, _type, _member) \
_method(_type aResult) \
{ \
_member = aResult; \
return NS_OK; \
}
/*
* special for strings to get/set char* strings
* using PL_strdup and PR_FREEIF
*/
#define NS_METHOD_GETTER_STR(_method,_member) \
_method(char* *aString)\
{\
if (!aString) return NS_ERROR_NULL_POINTER; \
*aString = PL_strdup(_member); \
return NS_OK; \
}
#define NS_METHOD_SETTER_STR(_method, _member) \
_method(char *aString)\
{\
PR_FREEIF(_member);\
if (aString) _member = PL_strdup(aString); \
else _member = nsnull;\
return NS_OK; \
}
/* Getter/Setter macros.
Usage:
NS_IMPL_[CLASS_]GETTER[_<type>](method, [type,] member);
NS_IMPL_[CLASS_]SETTER[_<type>](method, [type,] member);
NS_IMPL_[CLASS_]GETSET[_<type>]([class, ]postfix, [type,] member);
where:
CLASS_ - implementation is inside a class definition
(otherwise the class name is needed)
Do NOT use in publicly exported header files, because
the implementation may be included many times over.
Instead, use the non-CLASS_ version.
_<type> - For more complex (STR, IFACE) data types
(otherwise the simple data type is needed)
method - name of the method, such as GetWidth or SetColor
type - simple data type if required
member - class member variable such as m_width or mColor
class - the class name, such as Window or MyObject
postfix - Method part after Get/Set such as "Width" for "GetWidth"
Example:
class Window {
public:
NS_IMPL_CLASS_GETSET(Width, int, m_width);
NS_IMPL_CLASS_GETTER_STR(GetColor, m_color);
NS_IMETHOD SetColor(char *color);
private:
int m_width; // read/write
char *m_color; // readonly
};
// defined outside of class
NS_IMPL_SETTER_STR(Window::GetColor, m_color);
Questions/Comments to alecf@netscape.com
*/
/*
* Getter/Setter implementation within a class definition
*/
/* simple data types */
#define NS_IMPL_CLASS_GETTER(_method, _type, _member) \
NS_IMETHOD NS_METHOD_GETTER(_method, _type, _member)
#define NS_IMPL_CLASS_SETTER(_method, _type, _member) \
NS_IMETHOD NS_METHOD_SETTER(_method, _type, _member)
#define NS_IMPL_CLASS_GETSET(_postfix, _type, _member) \
NS_IMPL_CLASS_GETTER(Get##_postfix, _type, _member) \
NS_IMPL_CLASS_SETTER(Set##_postfix, _type, _member)
/* strings */
#define NS_IMPL_CLASS_GETTER_STR(_method, _member) \
NS_IMETHOD NS_METHOD_GETTER_STR(_method, _member)
#define NS_IMPL_CLASS_SETTER_STR(_method, _member) \
NS_IMETHOD NS_METHOD_SETTER_STR(_method, _member)
#define NS_IMPL_CLASS_GETSET_STR(_postfix, _member) \
NS_IMPL_CLASS_GETTER_STR(Get##_postfix, _member) \
NS_IMPL_CLASS_SETTER_STR(Set##_postfix, _member)
/* Getter/Setter implementation outside of a class definition */
/* simple data types */
#define NS_IMPL_GETTER(_method, _type, _member) \
NS_IMETHODIMP NS_METHOD_GETTER(_method, _type, _member)
#define NS_IMPL_SETTER(_method, _type, _member) \
NS_IMETHODIMP NS_METHOD_SETTER(_method, _type, _member)
#define NS_IMPL_GETSET(_class, _postfix, _type, _member) \
NS_IMPL_GETTER(_class::Get##_postfix, _type, _member) \
NS_IMPL_SETTER(_class::Set##_postfix, _type, _member)
/* strings */
#define NS_IMPL_GETTER_STR(_method, _member) \
NS_IMETHODIMP NS_METHOD_GETTER_STR(_method, _member)
#define NS_IMPL_SETTER_STR(_method, _member) \
NS_IMETHODIMP NS_METHOD_SETTER_STR(_method, _member)
#define NS_IMPL_GETSET_STR(_class, _postfix, _member) \
NS_IMPL_GETTER_STR(_class::Get##_postfix, _member) \
NS_IMPL_SETTER_STR(_class::Set##_postfix, _member)
#endif

View File

@@ -0,0 +1,205 @@
/* -*- 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 "nsDebug.h"
#include "prlog.h"
#include "prinit.h"
#if defined(XP_BEOS)
/* For DEBUGGER macros */
#include <Debug.h>
#endif
#if defined(XP_UNIX)
/* for abort() */
#include <stdlib.h>
#endif
#if defined(_WIN32)
#include <windows.h>
#elif defined(XP_MAC)
#define TEMP_MAC_HACK
//------------------------
#ifdef TEMP_MAC_HACK
#include <MacTypes.h>
#include <Processes.h>
#include <string.h>
// TEMPORARY UNTIL WE HAVE MACINTOSH ENVIRONMENT VARIABLES THAT CAN TURN ON
// LOGGING ON MACINTOSH
// At this moment, NSPR's logging is a no-op on Macintosh.
#include <stdarg.h>
#include <stdio.h>
#undef PR_LOG
#undef PR_LogFlush
#define PR_LOG(module,level,args) dprintf args
#define PR_LogFlush()
static void dprintf(const char *format, ...)
{
va_list ap;
Str255 buffer;
va_start(ap, format);
buffer[0] = vsnprintf((char *)buffer + 1, sizeof(buffer) - 1, format, ap);
va_end(ap);
if (strstr(format, "Warning: ") == format)
printf("¥¥¥%s\n", (char*)buffer + 1);
else
DebugStr(buffer);
}
#endif // TEMP_MAC_HACK
//------------------------
#elif defined(XP_UNIX)
#include<stdlib.h>
#endif
/**
* Implementation of the nsDebug methods. Note that this code is
* always compiled in, in case some other module that uses it is
* compiled with debugging even if this library is not.
*/
static PRLogModuleInfo* gDebugLog;
static void InitLog(void)
{
if (0 == gDebugLog) {
gDebugLog = PR_NewLogModule("nsDebug");
gDebugLog->level = PR_LOG_DEBUG;
}
}
NS_COM void nsDebug::Abort(const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("Abort: at file %s, line %d", aFile, aLine));
PR_LogFlush();
#if defined(_WIN32)
long* __p = (long*) 0x7;
*__p = 0x7;
#elif defined(XP_MAC)
ExitToShell();
#elif defined(XP_UNIX)
PR_Abort();
#elif defined(XP_BEOS)
{
char buf[2000];
sprintf(buf, "Abort: at file %s, line %d", aFile, aLine);
DEBUGGER(buf);
}
#endif
}
NS_COM void nsDebug::Break(const char* aFile, PRIntn aLine)
{
#ifndef TEMP_MAC_HACK
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("Break: at file %s, line %d", aFile, aLine));
PR_LogFlush();
#if defined(_WIN32)
::DebugBreak();
#elif defined(XP_UNIX) && !defined(UNIX_CRASH_ON_ASSERT)
fprintf(stderr, "\07"); fflush(stderr);
#elif defined(XP_BEOS)
{
char buf[2000];
sprintf(buf, "Break: at file %s, line %d", aFile, aLine);
DEBUGGER(buf);
}
#else
Abort(aFile, aLine);
#endif
#endif // TEMP_MAC_HACK
}
NS_COM void nsDebug::PreCondition(const char* aStr, const char* aExpr,
const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("PreCondition: \"%s\" (%s) at file %s, line %d", aStr, aExpr,
aFile, aLine));
Break(aFile, aLine);
}
NS_COM void nsDebug::PostCondition(const char* aStr, const char* aExpr,
const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("PostCondition: \"%s\" (%s) at file %s, line %d", aStr, aExpr,
aFile, aLine));
Break(aFile, aLine);
}
NS_COM void nsDebug::Assertion(const char* aStr, const char* aExpr,
const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("Assertion: \"%s\" (%s) at file %s, line %d", aStr, aExpr,
aFile, aLine));
#if defined(XP_UNIX)
fprintf(stderr, "Assertion: \"%s\" (%s) at file %s, line %d\n", aStr, aExpr,
aFile, aLine);
#endif
Break(aFile, aLine);
}
NS_COM void nsDebug::NotYetImplemented(const char* aMessage,
const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("NotYetImplemented: \"%s\" at file %s, line %d", aMessage,
aFile, aLine));
Break(aFile, aLine);
}
NS_COM void nsDebug::NotReached(const char* aMessage,
const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("NotReached: \"%s\" at file %s, line %d", aMessage, aFile, aLine));
Break(aFile, aLine);
}
NS_COM void nsDebug::Error(const char* aMessage,
const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("Error: \"%s\" at file %s, line %d", aMessage, aFile, aLine));
Break(aFile, aLine);
}
NS_COM void nsDebug::Warning(const char* aMessage,
const char* aFile, PRIntn aLine)
{
InitLog();
PR_LOG(gDebugLog, PR_LOG_ERROR,
("Warning: \"%s\" at file %s, line %d", aMessage, aFile, aLine));
PR_LogFlush();
}

View File

@@ -0,0 +1,183 @@
/* -*- 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 nsDebug_h___
#define nsDebug_h___
#include "nsCom.h"
#include "prtypes.h"
#ifdef DEBUG
#define NS_DEBUG
#endif
/**
* Namespace for debugging methods. Note that your code must use the
* macros defined later in this file so that the debug code can be
* conditionally compiled out.
*/
/* in case this is included by a C file */
#ifdef __cplusplus
class nsDebug {
public:
// XXX add in log controls here
// XXX probably want printf type arguments
/**
* Abort the executing program. This works on all architectures.
*/
static NS_COM void Abort(const char* aFile, PRIntn aLine);
/**
* Break the executing program into the debugger.
*/
static NS_COM void Break(const char* aFile, PRIntn aLine);
/**
* Log a pre-condition message to the debug log
*/
static NS_COM void PreCondition(const char* aStr, const char* aExpr,
const char* aFile, PRIntn aLine);
/**
* Log a post-condition message to the debug log
*/
static NS_COM void PostCondition(const char* aStr, const char* aExpr,
const char* aFile, PRIntn aLine);
/**
* Log an assertion message to the debug log
*/
static NS_COM void Assertion(const char* aStr, const char* aExpr,
const char* aFile, PRIntn aLine);
/**
* Log a not-yet-implemented message to the debug log
*/
static NS_COM void NotYetImplemented(const char* aMessage,
const char* aFile, PRIntn aLine);
/**
* Log a not-reached message to the debug log
*/
static NS_COM void NotReached(const char* aMessage,
const char* aFile, PRIntn aLine);
/**
* Log an error message to the debug log. This call returns.
*/
static NS_COM void Error(const char* aMessage,
const char* aFile, PRIntn aLine);
/**
* Log a warning message to the debug log.
*/
static NS_COM void Warning(const char* aMessage,
const char* aFile, PRIntn aLine);
};
#ifdef NS_DEBUG
/**
* Test a precondition for truth. If the expression is not true then
* trigger a program failure.
*/
#define NS_PRECONDITION(expr,str) \
if (!(expr)) \
nsDebug::PreCondition(str, #expr, __FILE__, __LINE__)
/**
* Test an assertion for truth. If the expression is not true then
* trigger a program failure.
*/
#define NS_ASSERTION(expr,str) \
if (!(expr)) \
nsDebug::Assertion(str, #expr, __FILE__, __LINE__)
/**
* Test an assertion for truth. If the expression is not true then
* trigger a program failure. The expression will still be
* executed in release mode.
*/
#define NS_VERIFY(expr,str) \
if (!(expr)) \
nsDebug::Assertion(str, #expr, __FILE__, __LINE__)
/**
* Test a post-condition for truth. If the expression is not true then
* trigger a program failure.
*/
#define NS_POSTCONDITION(expr,str) \
if (!(expr)) \
nsDebug::PostCondition(str, #expr, __FILE__, __LINE__)
/**
* This macros triggers a program failure if executed. It indicates that
* an attempt was made to execute some unimplimented functionality.
*/
#define NS_NOTYETIMPLEMENTED(str) \
nsDebug::NotYetImplemented(str, __FILE__, __LINE__)
/**
* This macros triggers a program failure if executed. It indicates that
* an attempt was made to execute some unimplimented functionality.
*/
#define NS_NOTREACHED(str) \
nsDebug::NotReached(str, __FILE__, __LINE__)
/**
* Log an error message.
*/
#define NS_ERROR(str) \
nsDebug::Error(str, __FILE__, __LINE__)
/**
* Log a warning message.
*/
#define NS_WARNING(str) \
nsDebug::Warning(str, __FILE__, __LINE__)
/**
* Trigger an abort
*/
#define NS_ABORT() \
nsDebug::Abort(__FILE__, __LINE__)
/**
* Cause a break
*/
#define NS_BREAK() \
nsDebug::Break(__FILE__, __LINE__)
#else /* NS_DEBUG */
#define NS_PRECONDITION(expr,str) {}
#define NS_ASSERTION(expr,str) {}
#define NS_VERIFY(expr,str) expr
#define NS_POSTCONDITION(expr,str) {}
#define NS_NOTYETIMPLEMENTED(str) {}
#define NS_NOTREACHED(str) {}
#define NS_ERROR(str) {}
#define NS_WARNING(str) {}
#define NS_ABORT() {}
#define NS_BREAK() {}
#endif /* ! NS_DEBUG */
#endif /* __cplusplus */
#endif /* nsDebug_h___ */

View File

@@ -0,0 +1,189 @@
/* -*- 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 nsError_h
#define nsError_h
#ifndef prtypes_h___
#include "prtypes.h"
#endif
/**
* Generic result data type
*/
typedef PRUint32 nsresult;
/*
* To add error code to your module, you need to do the following:
*
* 1) Add a module offset code. Add yours to the bottom of the list
* right below this comment, adding 1.
*
* 2) In your module, define a header file which uses one of the
* NE_ERROR_GENERATExxxxxx macros. Some examples below:
*
* #define NS_ERROR_MYMODULE_MYERROR1 NS_ERROR_GENERATE(NS_ERROR_SEVERITY_ERROR,NS_ERROR_MODULE_MYMODULE,1)
* #define NS_ERROR_MYMODULE_MYERROR2 NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_MYMODULE,2)
* #define NS_ERROR_MYMODULE_MYERROR3 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_MYMODULE,3)
*
*/
/**
* @name Standard Module Offset Code. Each Module should identify a unique number
* and then all errors associated with that module become offsets from the
* base associated with that module id. There are 16 bits of code bits for
* each module.
*/
#define NS_ERROR_MODULE_XPCOM 1
#define NS_ERROR_MODULE_BASE 2
#define NS_ERROR_MODULE_GFX 3
#define NS_ERROR_MODULE_WIDGET 4
#define NS_ERROR_MODULE_CALENDAR 5
#define NS_ERROR_MODULE_NETWORK 6
#define NS_ERROR_MODULE_PLUGINS 7
#define NS_ERROR_MODULE_LAYOUT 8
#define NS_ERROR_MODULE_HTMLPARSER 9
#define NS_ERROR_MODULE_RDF 10
#define NS_ERROR_MODULE_UCONV 11
#define NS_ERROR_MODULE_REG 12
#define NS_ERROR_MODULE_FILES 13
#define NS_ERROR_MODULE_MAILNEWS 16
#define NS_ERROR_MODULE_EDITOR 17
/**
* @name Standard Error Handling Macros
*/
#define NS_FAILED(_nsresult) ((_nsresult) & 0x80000000)
#define NS_SUCCEEDED(_nsresult) (!((_nsresult) & 0x80000000))
/**
* @name Severity Code. This flag identifies the level of warning
*/
#define NS_ERROR_SEVERITY_SUCCESS 0
#define NS_ERROR_SEVERITY_ERROR 1
/**
* @name Mozilla Code. This flag separates consumers of mozilla code
* from the native platform
*/
#define NS_ERROR_MODULE_BASE_OFFSET 0x45
/**
* @name Standard Error Generating Macros
*/
#define NS_ERROR_GENERATE(sev,module,code) \
((nsresult) (((PRUint32)(sev)<<31) | ((PRUint32)(module+NS_ERROR_MODULE_BASE_OFFSET)<<16) | ((PRUint32)(code))) )
#define NS_ERROR_GENERATE_SUCCESS(module,code) \
((nsresult) (((PRUint32)(NS_ERROR_SEVERITY_SUCCESS)<<31) | ((PRUint32)(module+NS_ERROR_MODULE_BASE_OFFSET)<<16) | ((PRUint32)(code))) )
#define NS_ERROR_GENERATE_FAILURE(module,code) \
((nsresult) (((PRUint32)(NS_ERROR_SEVERITY_ERROR)<<31) | ((PRUint32)(module+NS_ERROR_MODULE_BASE_OFFSET)<<16) | ((PRUint32)(code))) )
/**
* @name Standard Macros for retrieving error bits
*/
#define NS_ERROR_GET_CODE(err) ((err) & 0xffff)
#define NS_ERROR_GET_MODULE(err) (((((err) >> 16) - NS_ERROR_MODULE_BASE_OFFSET) & 0x1fff))
#define NS_ERROR_GET_SEVERITY(err) (((err) >> 31) & 0x1)
/**
* @name Standard return values
*/
/*@{*/
/* Standard "it worked" return value */
#define NS_OK 0
/* The backwards COM false */
#define NS_COMFALSE 1
#define NS_ERROR_BASE ((nsresult) 0xC1F30000)
/* Returned when an instance is not initialized */
#define NS_ERROR_NOT_INITIALIZED (NS_ERROR_BASE + 1)
/* Returned when an instance is already initialized */
#define NS_ERROR_ALREADY_INITIALIZED (NS_ERROR_BASE + 2)
/* Returned by a not implemented function */
#define NS_ERROR_NOT_IMPLEMENTED ((nsresult) 0x80004001L)
/* Returned when a given interface is not supported. */
#define NS_NOINTERFACE ((nsresult) 0x80004002L)
#define NS_ERROR_NO_INTERFACE NS_NOINTERFACE
#define NS_ERROR_INVALID_POINTER ((nsresult) 0x80004003L)
#define NS_ERROR_NULL_POINTER NS_ERROR_INVALID_POINTER
/* Returned when a function aborts */
#define NS_ERROR_ABORT ((nsresult) 0x80004004L)
/* Returned when a function fails */
#define NS_ERROR_FAILURE ((nsresult) 0x80004005L)
/* Returned when an unexpected error occurs */
#define NS_ERROR_UNEXPECTED ((nsresult) 0x8000ffffL)
/* Returned when a memory allocation failes */
#define NS_ERROR_OUT_OF_MEMORY ((nsresult) 0x8007000eL)
/* Returned when an illegal value is passed */
#define NS_ERROR_ILLEGAL_VALUE ((nsresult) 0x80070057L)
#define NS_ERROR_INVALID_ARG NS_ERROR_ILLEGAL_VALUE
/* Returned when a class doesn't allow aggregation */
#define NS_ERROR_NO_AGGREGATION ((nsresult) 0x80040110L)
/* Returned when a class doesn't allow aggregation */
#define NS_ERROR_NOT_AVAILABLE ((nsresult) 0x80040111L)
/* Returned when a class is not registered */
#define NS_ERROR_FACTORY_NOT_REGISTERED ((nsresult) 0x80040154L)
/* Returned when a dynamically loaded factory couldn't be found */
#define NS_ERROR_FACTORY_NOT_LOADED ((nsresult) 0x800401f8L)
/* Returned when a factory doesn't support signatures */
#define NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT \
(NS_ERROR_BASE + 0x101)
/* Returned when a factory already is registered */
#define NS_ERROR_FACTORY_EXISTS (NS_ERROR_BASE + 0x100)
/*@}*/
////////////////////////////////////////////////////////////////////////////////
#ifdef XP_PC
#pragma warning(disable: 4251) // 'nsCOMPtr<class nsIInputStream>' needs to have dll-interface to be used by clients of class 'nsInputStream'
#pragma warning(disable: 4275) // non dll-interface class 'nsISupports' used as base for dll-interface class 'nsIRDFNode'
#endif
#endif

View File

@@ -0,0 +1,108 @@
/* -*- Mode: C++; 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.
*/
#ifndef nsIAllocator_h___
#define nsIAllocator_h___
#include "nsISupports.h"
/**
* Unlike IMalloc, this interface returns nsresults and doesn't
* implement the problematic GetSize and DidAlloc routines.
*/
#define NS_IALLOCATOR_IID \
{ /* 56def700-b1b9-11d2-8177-006008119d7a */ \
0x56def700, \
0xb1b9, \
0x11d2, \
{0x81, 0x77, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \
}
#define NS_ALLOCATOR_PROGID "component://netscape/allocator"
#define NS_ALLOCATOR_CLASSNAME "Allocator"
class nsIAllocator : public nsISupports {
public:
static const nsIID& GetIID() { static nsIID iid = NS_IALLOCATOR_IID; return iid; }
/**
* Allocates a block of memory of a particular size.
*
* @param size - the size of the block to allocate
* @result the block of memory
*/
NS_IMETHOD_(void*) Alloc(PRUint32 size) = 0;
/**
* Reallocates a block of memory to a new size.
*
* @param ptr - the block of memory to reallocate
* @param size - the new size
* @result the rellocated block of memory
*/
NS_IMETHOD_(void*) Realloc(void* ptr, PRUint32 size) = 0;
/**
* Frees a block of memory.
*
* @param ptr - the block of memory to free
* @param size - the size of the block to be freed. If -1 (the default),
* the implementation must be able to determine the block size by
* examining the block pointer.
*/
NS_IMETHOD Free(void* ptr) = 0;
/**
* Attempts to shrink the heap.
*/
NS_IMETHOD HeapMinimize(void) = 0;
};
// To get the global memory manager service:
#define NS_ALLOCATOR_CID \
{ /* aafe6770-b1bb-11d2-8177-006008119d7a */ \
0xaafe6770, \
0xb1bb, \
0x11d2, \
{0x81, 0x77, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \
}
/*
* Public shortcuts to the shared allocator's methods
*/
class nsAllocator
{
public:
static NS_EXPORT void* Alloc(PRUint32 size);
static NS_EXPORT void* Realloc(void* ptr, PRUint32 size);
static NS_EXPORT void Free(void* ptr);
static NS_EXPORT void HeapMinimize();
static NS_EXPORT void* Clone(const void* ptr, PRUint32 size);
private:
nsAllocator(); // not implemented
static PRBool EnsureAllocator() {return mAllocator || FetchAllocator();}
static PRBool FetchAllocator();
static nsIAllocator* mAllocator;
};
////////////////////////////////////////////////////////////////////////////////
#endif /* nsIAllocator_h___ */

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 "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 "nsID.h"
#include "prprf.h"
static const char gIDFormat[] =
"{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}";
static const char gIDFormat2[] =
"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x";
/*
* Turns a {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} string into
* an nsID
*/
NS_COM PRBool nsID::Parse(char *aIDStr)
{
PRInt32 count = 0;
PRInt32 n1, n2, n3[8];
PRInt32 n0;
if (NULL != aIDStr) {
count = PR_sscanf(aIDStr,
(aIDStr[0] == '{') ? gIDFormat : gIDFormat2,
&n0, &n1, &n2,
&n3[0],&n3[1],&n3[2],&n3[3],
&n3[4],&n3[5],&n3[6],&n3[7]);
m0 = (PRInt32) n0;
m1 = (PRInt16) n1;
m2 = (PRInt16) n2;
for (int i = 0; i < 8; i++) {
m3[i] = (PRInt8) n3[i];
}
}
return (PRBool) (count == 11);
}
/*
* Returns an allocated string in {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
* format. Caller should delete [] the string.
*/
NS_COM char *nsID::ToString() const
{
char *res = new char[39];
if (res != NULL) {
PR_snprintf(res, 39, gIDFormat,
m0, (PRUint32) m1, (PRUint32) m2,
(PRUint32) m3[0], (PRUint32) m3[1], (PRUint32) m3[2],
(PRUint32) m3[3], (PRUint32) m3[4], (PRUint32) m3[5],
(PRUint32) m3[6], (PRUint32) m3[7]);
}
return res;
}

107
mozilla/xpcom/base/nsID.h Normal file
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.
*/
#ifndef nsID_h__
#define nsID_h__
#include <string.h>
#ifndef prtypes_h___
#include "prtypes.h"
#endif
#ifndef nsCom_h__
#include "nsCom.h"
#endif
/**
* A "unique identifier". This is modeled after OSF DCE UUIDs.
*/
struct nsID {
/**
* @name Indentifier values
*/
//@{
PRUint32 m0;
PRUint16 m1;
PRUint16 m2;
PRUint8 m3[8];
//@}
/**
* @name Methods
*/
//@{
/**
* Equivalency method. Compares this nsID with another.
* @return <b>PR_TRUE</b> if they are the same, <b>PR_FALSE</b> if not.
*/
inline PRBool Equals(const nsID& other) const {
return (PRBool)
((((PRUint32*) &m0)[0] == ((PRUint32*) &other.m0)[0]) &&
(((PRUint32*) &m0)[1] == ((PRUint32*) &other.m0)[1]) &&
(((PRUint32*) &m0)[2] == ((PRUint32*) &other.m0)[2]) &&
(((PRUint32*) &m0)[3] == ((PRUint32*) &other.m0)[3]));
}
/**
* nsID Parsing method. Turns a {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
* string into an nsID
*/
NS_COM PRBool Parse(char *aIDStr);
/**
* nsID string encoder. Returns an allocated string in
* {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} format. Caller should free string.
*/
NS_COM char* ToString() const;
//@}
};
/**
* Declare an ID. If NS_IMPL_IDS is set, a variable <i>_name</i> is declared
* with the given values, otherwise <i>_name</i> is declared as an
* <tt>extern</tt> variable.
*/
#ifdef NS_IMPL_IDS
#define NS_DECLARE_ID(_name,m0,m1,m2,m30,m31,m32,m33,m34,m35,m36,m37) \
extern "C" const nsID _name = {m0,m1,m2,{m30,m31,m32,m33,m34,m35,m36,m37}}
#else
#define NS_DECLARE_ID(_name,m0,m1,m2,m30,m31,m32,m33,m34,m35,m36,m37) \
extern "C" const nsID _name
#endif
/*
* Class IDs
*/
typedef nsID nsCID;
// Define an CID
#define NS_DEFINE_CID(_name, _cidspec) \
const nsCID _name = _cidspec
#define REFNSCID const nsCID&
#endif

View File

@@ -0,0 +1,46 @@
/* -*- Mode: C++; 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.
*/
#ifndef __nsIID_h
#define __nsIID_h
#ifndef nsID_h__
#include "nsID.h"
#endif
/**
* An "interface id" which can be used to uniquely identify a given
* interface.
*/
typedef nsID nsIID;
/**
* A macro shorthand for <tt>const nsIID&<tt>
*/
#define REFNSIID const nsIID&
/**
* Define an IID (obsolete)
*/
#define NS_DEFINE_IID(_name, _iidspec) \
const nsIID _name = _iidspec
#endif /* __nsIID_h */

142
mozilla/xpcom/base/nsIPtr.h Normal file
View File

@@ -0,0 +1,142 @@
/* -*- 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 nsIPtr_h___
#define nsIPtr_h___
#include "nsISupports.h"
/*
* nsIPtr is an "auto-release pointer" class for nsISupports based interfaces
*
* It's intent is to be a "set and forget" pointer to help with managing
* active references to nsISupports bases objects.
*
* The pointer object ensures that the underlying pointer is always
* released whenever the value is changed or when the object leaves scope.
*
* Proper care needs to be taken when assigning pointers to a nsIPtr.
* When asigning from a C pointer (nsISupports*), the pointer presumes
* an active reference and subsumes it. When assigning from another nsIPtr,
* a new reference is established.
*
* There are 3 ways to assign a value to a nsIPtr.
* 1) Direct construction or assignment from a C pointer.
* 2) Direct construction or assignment form another nsIPtr.
* 3) Usage of an "out parameter" method.
* a) AssignRef() releases the underlying pointer and returns a reference to it.
* Useful for pointer reference out paramaters.
* b) AssignPtr() releases the underlying pointer and returns a pointer to it.
* c) Query() releases the underlying pointer and returns a (void**) pointer to it.
* Useful for calls to QueryInterface()
* 4) The SetAddRef() method. This is equivalent to an assignment followed by an AddRef().
*
* examples:
*
* class It {
* void NS_NewFoo(nsIFoo** aFoo);
* nsIFoo* GetFoo(void);
* void GetBar(nsIBar*& aBar);
* };
*
* nsIFooPtr foo = it->GetFoo();
* nsIBarPtr bar;
*
* it->NS_NewFoo(foo.AssignPtr());
* it->GetBar(bar.AssignRef());
* it->QueryInterface(kIFooIID, foo.Query());
* bar.SetAddRef(new Bar());
*
* Advantages:
* Set and forget. Once a pointer is assigned to a nsIPtr, it is impossible
* to forget to release it.
* Always pre-initialized. You can't forget to initialize the pointer.
*
* Disadvantages:
* Usage of this class doesn't eliminate the need to think about ref counts
* and assign values properly, AddRef'ing as needed.
* The nsIPtr doesn't typecast exactly like a C pointer. In order to achieve
* typecasting, it may be necessary to first cast to a C pointer of the
* underlying type.
*
*/
#define NS_DEF_PTR(cls) \
class cls##Ptr { \
public: \
cls##Ptr(void) : mPtr(0) {} \
cls##Ptr(const cls##Ptr& aCopy) : mPtr(aCopy.mPtr) \
{ NS_IF_ADDREF(mPtr); } \
cls##Ptr(cls* aInterface) : mPtr(aInterface) {} \
~cls##Ptr(void) { NS_IF_RELEASE(mPtr); } \
cls##Ptr& operator=(const cls##Ptr& aCopy) \
{ if(mPtr == aCopy.mPtr) return *this; \
NS_IF_ADDREF(aCopy.mPtr); \
NS_IF_RELEASE(mPtr); \
mPtr = aCopy.mPtr; return *this; } \
cls##Ptr& operator=(cls* aInterface) \
{ if(mPtr == aInterface) return *this; \
NS_IF_RELEASE(mPtr); mPtr = aInterface; \
return *this; } \
cls##Ptr& operator=(PRInt32 aInt) \
{ NS_IF_RELEASE(mPtr); \
return *this; } \
void SetAddRef(cls* aInterface) \
{ if(aInterface == mPtr) return; \
NS_IF_ADDREF(aInterface); \
NS_IF_RELEASE(mPtr); mPtr = aInterface; } \
cls* AddRef(void) { NS_ADDREF(mPtr); return mPtr; } \
cls* IfAddRef(void) \
{ NS_IF_ADDREF(mPtr); return mPtr; } \
cls*& AssignRef(void) \
{ NS_IF_RELEASE(mPtr); return mPtr; } \
cls** AssignPtr(void) \
{ NS_IF_RELEASE(mPtr); return &mPtr; } \
void** Query(void) \
{ NS_IF_RELEASE(mPtr); return (void**)&mPtr; } \
PRBool IsNull() const \
{ return PRBool(0 == mPtr); } \
PRBool IsNotNull() const \
{ return PRBool(0 != mPtr); } \
PRBool operator==(const cls##Ptr& aCopy) const \
{ return PRBool(mPtr == aCopy.mPtr); } \
PRBool operator==(cls* aInterface) const \
{ return PRBool(mPtr == aInterface); } \
PRBool operator!=(const cls##Ptr& aCopy) const \
{ return PRBool(mPtr != aCopy.mPtr); } \
PRBool operator!=(cls* aInterface) const \
{ return PRBool(mPtr != aInterface); } \
cls* operator->(void) { return mPtr; } \
cls& operator*(void) { return *mPtr; } \
operator cls*(void) { return mPtr; } \
const cls* operator->(void) const { return mPtr; } \
const cls& operator*(void) const { return *mPtr; } \
operator const cls* (void) const { return mPtr; } \
private: \
void* operator new(size_t size) { return 0; } \
void operator delete(void* aPtr) {} \
cls* mPtr; \
public: \
friend inline PRBool operator==(const cls* aInterface, const cls##Ptr& aPtr) \
{ return PRBool(aInterface == aPtr.mPtr); } \
friend inline PRBool operator!=(const cls* aInterface, const cls##Ptr& aPtr) \
{ return PRBool(aInterface != aPtr.mPtr); } \
}
#endif // nsIPtr_h___

View File

@@ -0,0 +1,56 @@
/* -*- 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.
*/
/* The mother of all xpcom interfaces. */
/* In order to get both the right typelib and the right header we force
* the 'real' output from xpidl to be commentout out in the generated header
* and includes a copy of the original nsISUpports.h. This is all just to deal
* with the Mac specific ": public __comobject" thing.
*/
#include "nsrootidl.idl"
%{C++
/*
* Start commenting out the C++ versions of the below in the output header
*/
#if 0
%}
[scriptable, uuid(00000000-0000-0000-c000-000000000046)]
interface nsISupports {
void QueryInterface(in nsIIDRef uuid,
[iid_is(uuid),retval] out nsQIResult result);
[noscript, notxpcom] nsrefcnt AddRef();
[noscript, notxpcom] nsrefcnt Release();
};
%{C++
/*
* End commenting out the C++ versions of the above in the output header
*/
#endif
%}
%{C++
#include "nsISupportsUtils.h"
%}

View File

@@ -0,0 +1,756 @@
/* -*- Mode: C++; 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.
*/
#ifndef __nsISupportsUtils_h
#define __nsISupportsUtils_h
/***************************************************************************/
/* this section copied from the hand written nsISupports.h */
#include "nsDebug.h"
#include "nsID.h"
#include "nsIID.h"
#include "nsError.h"
#if defined(NS_MT_SUPPORTED)
#include "prcmon.h"
#endif /* NS_MT_SUPPORTED */
#if defined(XPIDL_JS_STUBS)
struct JSObject;
struct JSContext;
#endif
// under Metrowerks (Mac), we don't have autoconf yet
#ifdef __MWERKS__
#define HAVE_CPP_SPECIALIZATION
#endif
// under VC++ (Windows), we don't have autoconf yet
#if defined(_MSC_VER) && (_MSC_VER>=1100)
// VC++ 5.0 and greater implement template specialization, 4.2 is unknown
#define HAVE_CPP_SPECIALIZATION
#endif
#ifdef HAVE_CPP_SPECIALIZATION
#define NSCAP_FEATURE_HIDE_NSISUPPORTS_GETIID
#endif
/*@{*/
////////////////////////////////////////////////////////////////////////////////
/**
* IID for the nsISupports interface
* {00000000-0000-0000-c000-000000000046}
*
* To maintain binary compatibility with COM's nsIUnknown, we define the IID
* of nsISupports to be the same as that of COM's nsIUnknown.
*/
#define NS_ISUPPORTS_IID \
{ 0x00000000, 0x0000, 0x0000, \
{0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }
/**
* Reference count values
*
* This is type of return value from Addref() and Release() in nsISupports.
* nsIUnknown of COM returns a unsigned long from equivalent functions.
* To maintain binary compatibility of nsISupports with nsIUnknown, we are
* doing this ifdeffing.
*/
#if defined(XP_PC) && PR_BYTES_PER_LONG == 4
typedef unsigned long nsrefcnt;
#else
typedef PRUint32 nsrefcnt;
#endif
#include "nsTraceRefcnt.h"
/**
* Base class for all XPCOM objects to use. This macro forces the C++
* compiler to use a compatible vtable layout for all XPCOM objects.
*/
#ifdef XP_MAC
#define XPCOM_OBJECT : public __comobject
#else
#define XPCOM_OBJECT
#endif
/**
* Basic component object model interface. Objects which implement
* this interface support runtime interface discovery (QueryInterface)
* and a reference counted memory model (AddRef/Release). This is
* modelled after the win32 IUnknown API.
*/
class nsISupports XPCOM_OBJECT {
public:
#ifndef NSCAP_FEATURE_HIDE_NSISUPPORTS_GETIID
static const nsIID& GetIID() { static nsIID iid = NS_ISUPPORTS_IID; return iid; }
#endif
/**
* @name Methods
*/
//@{
/**
* A run time mechanism for interface discovery.
* @param aIID [in] A requested interface IID
* @param aInstancePtr [out] A pointer to an interface pointer to
* receive the result.
* @return <b>NS_OK</b> if the interface is supported by the associated
* instance, <b>NS_NOINTERFACE</b> if it is not.
* <b>NS_ERROR_INVALID_POINTER</b> if <i>aInstancePtr</i> is <b>NULL</b>.
*/
NS_IMETHOD QueryInterface(REFNSIID aIID,
void** aInstancePtr) = 0;
/**
* Increases the reference count for this interface.
* The associated instance will not be deleted unless
* the reference count is returned to zero.
*
* @return The resulting reference count.
*/
NS_IMETHOD_(nsrefcnt) AddRef(void) = 0;
/**
* Decreases the reference count for this interface.
* Generally, if the reference count returns to zero,
* the associated instance is deleted.
*
* @return The resulting reference count.
*/
NS_IMETHOD_(nsrefcnt) Release(void) = 0;
//@}
};
/*@}*/
/***************************************************************************/
/**
* A macro to build the static const IID accessor method
*/
#define NS_DEFINE_STATIC_IID_ACCESSOR(the_iid) \
static const nsIID& GetIID() {static nsIID iid = the_iid; return iid;}
/**
* A macro to build the static const CID accessor method
*/
#define NS_DEFINE_STATIC_CID_ACCESSOR(the_cid) \
static const nsID& GetCID() {static nsID cid = the_cid; return cid;}
/**
* Some convenience macros for implementing AddRef and Release
*/
/**
* Declare the reference count variable and the implementations of the
* AddRef and QueryInterface methods.
*/
#define NS_DECL_ISUPPORTS \
public: \
NS_IMETHOD QueryInterface(REFNSIID aIID, \
void** aInstancePtr); \
NS_IMETHOD_(nsrefcnt) AddRef(void); \
NS_IMETHOD_(nsrefcnt) Release(void); \
protected: \
nsrefcnt mRefCnt; \
public:
#define NS_DECL_ISUPPORTS_EXPORTED \
public: \
NS_EXPORT NS_IMETHOD QueryInterface(REFNSIID aIID, \
void** aInstancePtr); \
NS_EXPORT NS_IMETHOD_(nsrefcnt) AddRef(void); \
NS_EXPORT NS_IMETHOD_(nsrefcnt) Release(void); \
protected: \
nsrefcnt mRefCnt; \
public:
////////////////////////////////////////////////////////////////////////////////
/**
* Initialize the reference count variable. Add this to each and every
* constructor you implement.
*/
#define NS_INIT_REFCNT() mRefCnt = 0
#define NS_INIT_ISUPPORTS() NS_INIT_REFCNT() // what it should have been called in the first place
/**
* Use this macro to implement the AddRef method for a given <i>_class</i>
* @param _class The name of the class implementing the method
*/
#define NS_IMPL_ADDREF(_class) \
NS_IMETHODIMP_(nsrefcnt) _class::AddRef(void) \
{ \
NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); \
++mRefCnt; \
NS_LOG_ADDREF(this, mRefCnt, __FILE__, __LINE__); \
return mRefCnt; \
}
/**
* Use this macro to implement the Release method for a given <i>_class</i>
* @param _class The name of the class implementing the method
*/
#define NS_IMPL_RELEASE(_class) \
NS_IMETHODIMP_(nsrefcnt) _class::Release(void) \
{ \
NS_PRECONDITION(0 != mRefCnt, "dup release"); \
--mRefCnt; \
NS_LOG_RELEASE(this, mRefCnt, __FILE__, __LINE__); \
if (mRefCnt == 0) { \
NS_DELETEXPCOM(this); \
return 0; \
} \
return mRefCnt; \
}
////////////////////////////////////////////////////////////////////////////////
/*
* Some convenience macros for implementing QueryInterface
*/
/**
* This implements query interface with two assumptions: First, the
* class in question implements nsISupports and it's own interface and
* nothing else. Second, the implementation of the class's primary
* inheritance chain leads to it's own interface.
*
* @param _class 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)
*/
#define NS_IMPL_QUERY_INTERFACE(_class,_classiiddef) \
NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
{ \
if (NULL == aInstancePtr) { \
return NS_ERROR_NULL_POINTER; \
} \
\
*aInstancePtr = NULL; \
\
static NS_DEFINE_IID(kClassIID, _classiiddef); \
if (aIID.Equals(kClassIID)) { \
*aInstancePtr = (void*) this; \
NS_ADDREF_THIS(); \
return NS_OK; \
} \
if (aIID.Equals(nsCOMTypeInfo<nsISupports>::GetIID())) { \
*aInstancePtr = (void*) ((nsISupports*)this); \
NS_ADDREF_THIS(); \
return NS_OK; \
} \
return NS_NOINTERFACE; \
}
/**
* Convenience macro for implementing all nsISupports methods for
* a simple class.
* @param _class 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)
*/
#define NS_IMPL_ISUPPORTS(_class,_classiiddef) \
NS_IMPL_ADDREF(_class) \
NS_IMPL_RELEASE(_class) \
NS_IMPL_QUERY_INTERFACE(_class,_classiiddef)
////////////////////////////////////////////////////////////////////////////////
/**
* Declare that you're going to inherit from something that already
* implements nsISupports, but also implements an additional interface, thus
* causing an ambiguity. In this case you don't need another mRefCnt, you
* just need to forward the definitions to the appropriate superclass. E.g.
*
* class Bar : public Foo, public nsIBar { // both provide nsISupports
* public:
* NS_DECL_ISUPPORTS_INHERITED
* ...other nsIBar and Bar methods...
* };
*/
#define NS_DECL_ISUPPORTS_INHERITED \
public: \
NS_IMETHOD QueryInterface(REFNSIID aIID, \
void** aInstancePtr); \
NS_IMETHOD_(nsrefcnt) AddRef(void); \
NS_IMETHOD_(nsrefcnt) Release(void); \
/**
* These macros can be used in conjunction with NS_DECL_ISUPPORTS_INHERITED
* to implement the nsISupports methods, forwarding the invocations to a
* superclass that already implements nsISupports.
*
* Note that I didn't make these inlined because they're virtual methods.
*/
#define NS_IMPL_ADDREF_INHERITED(Class, Super) \
NS_IMETHODIMP_(nsrefcnt) Class::AddRef(void) \
{ \
return Super::AddRef(); \
} \
#define NS_IMPL_RELEASE_INHERITED(Class, Super) \
NS_IMETHODIMP_(nsrefcnt) Class::Release(void) \
{ \
return Super::Release(); \
} \
#define NS_IMPL_QUERY_INTERFACE_INHERITED(Class, Super, AdditionalInterface) \
NS_IMETHODIMP Class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
{ \
if (!aInstancePtr) return NS_ERROR_NULL_POINTER; \
if (aIID.Equals(AdditionalInterface::GetIID())) { \
*aInstancePtr = NS_STATIC_CAST(AdditionalInterface*, this); \
NS_ADDREF_THIS(); \
return NS_OK; \
} \
return Super::QueryInterface(aIID, aInstancePtr); \
} \
#define NS_IMPL_ISUPPORTS_INHERITED(Class, Super, AdditionalInterface) \
NS_IMPL_QUERY_INTERFACE_INHERITED(Class, Super, AdditionalInterface) \
NS_IMPL_ADDREF_INHERITED(Class, Super) \
NS_IMPL_RELEASE_INHERITED(Class, Super) \
////////////////////////////////////////////////////////////////////////////////
/**
*
* Threadsafe implementations of the ISupports convenience macros
*
*/
/**
* IID for the nsIsThreadsafe interface
* {88210890-47a6-11d2-bec3-00805f8a66dc}
*
* This interface is *only* used for debugging purposes to determine if
* a given component is threadsafe.
*/
#define NS_ISTHREADSAFE_IID \
{ 0x88210890, 0x47a6, 0x11d2, \
{0xbe, 0xc3, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0xdc} }
#if defined(NS_MT_SUPPORTED)
#define NS_LOCK_INSTANCE() \
PR_CEnterMonitor((void*)this)
#define NS_UNLOCK_INSTANCE() \
PR_CExitMonitor((void*)this)
/**
* Use this macro to implement the AddRef method for a given <i>_class</i>
* @param _class The name of the class implementing the method
*/
#if defined(XP_PC)
#define NS_IMPL_THREADSAFE_ADDREF(_class) \
NS_IMETHODIMP_(nsrefcnt) _class::AddRef(void) \
{ \
NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); \
return InterlockedIncrement((LONG*)&mRefCnt); \
}
#else /* ! XP_PC */
#define NS_IMPL_THREADSAFE_ADDREF(_class) \
nsrefcnt _class::AddRef(void) \
{ \
nsrefcnt count; \
NS_LOCK_INSTANCE(); \
NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); \
count = ++mRefCnt; \
NS_UNLOCK_INSTANCE(); \
return count; \
}
#endif /* ! XP_PC */
/**
* Use this macro to implement the Release method for a given <i>_class</i>
* @param _class The name of the class implementing the method
*/
#if defined(XP_PC)
#define NS_IMPL_THREADSAFE_RELEASE(_class) \
NS_IMETHODIMP_(nsrefcnt) _class::Release(void) \
{ \
NS_PRECONDITION(0 != mRefCnt, "dup release"); \
if (0 == InterlockedDecrement((LONG*)&mRefCnt)) { \
NS_DELETEXPCOM(this); \
return 0; \
} \
return mRefCnt; /* Not threadsafe but who cares. */ \
}
#else /* ! XP_PC */
#define NS_IMPL_THREADSAFE_RELEASE(_class) \
nsrefcnt _class::Release(void) \
{ \
nsrefcnt count; \
NS_PRECONDITION(0 != mRefCnt, "dup release"); \
NS_LOCK_INSTANCE(); \
count = --mRefCnt; \
NS_UNLOCK_INSTANCE(); \
if (0 == count) { \
NS_DELETEXPCOM(this); \
return 0; \
} \
return count; \
}
#endif /* ! XP_PC */
////////////////////////////////////////////////////////////////////////////////
/*
* Some convenience macros for implementing QueryInterface
*/
/**
* This implements query interface with two assumptions: First, the
* class in question implements nsISupports and it's own interface and
* nothing else. Second, the implementation of the class's primary
* inheritance chain leads to it's own interface.
*
* @param _class 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)
*/
#if defined(NS_DEBUG)
#define NS_VERIFY_THREADSAFE_INTERFACE(_iface) \
if (NULL != (_iface)) { \
nsISupports* tmp; \
static NS_DEFINE_IID(kIsThreadsafeIID, NS_ISTHREADSAFE_IID); \
NS_PRECONDITION((NS_OK == _iface->QueryInterface(kIsThreadsafeIID, \
(void**)&tmp)), \
"Interface is not threadsafe"); \
}
#define NS_IMPL_THREADSAFE_QUERY_INTERFACE(_class,_classiiddef) \
NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
{ \
if (NULL == aInstancePtr) { \
return NS_ERROR_NULL_POINTER; \
} \
\
*aInstancePtr = NULL; \
\
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); \
static NS_DEFINE_IID(kIsThreadsafeIID, NS_ISTHREADSAFE_IID); \
static NS_DEFINE_IID(kClassIID, _classiiddef); \
if (aIID.Equals(kClassIID)) { \
*aInstancePtr = (void*) this; \
NS_ADDREF_THIS(); \
return NS_OK; \
} \
if (aIID.Equals(kISupportsIID)) { \
*aInstancePtr = (void*) ((nsISupports*)this); \
NS_ADDREF_THIS(); \
return NS_OK; \
} \
if (aIID.Equals(kIsThreadsafeIID)) { \
return NS_OK; \
} \
return NS_NOINTERFACE; \
}
#else /* !NS_DEBUG */
#define NS_VERIFY_THREADSAFE_INTERFACE(_iface)
#define NS_IMPL_THREADSAFE_QUERY_INTERFACE(_class,_classiiddef) \
NS_IMPL_QUERY_INTERFACE(_class, _classiiddef)
#endif /* !NS_DEBUG */
/**
* Convenience macro for implementing all nsISupports methods for
* a simple class.
* @param _class 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)
*/
#define NS_IMPL_THREADSAFE_ISUPPORTS(_class,_classiiddef) \
NS_IMPL_THREADSAFE_ADDREF(_class) \
NS_IMPL_THREADSAFE_RELEASE(_class) \
NS_IMPL_THREADSAFE_QUERY_INTERFACE(_class,_classiiddef)
#else /* !NS_MT_SUPPORTED */
#define NS_LOCK_INSTANCE()
#define NS_UNLOCK_INSTANCE()
#define NS_IMPL_THREADSAFE_ADDREF(_class) NS_IMPL_ADDREF(_class)
#define NS_IMPL_THREADSAFE_RELEASE(_class) NS_IMPL_RELEASE(_class)
#define NS_VERIFY_THREADSAFE_INTERFACE(_iface)
#define NS_IMPL_THREADSAFE_QUERY_INTERFACE(_class,_classiiddef) \
NS_IMPL_QUERY_INTERFACE(_class, _classiiddef)
#define NS_IMPL_THREADSAFE_ISUPPORTS(_class,_classiiddef) \
NS_IMPL_ADDREF(_class) \
NS_IMPL_RELEASE(_class) \
NS_IMPL_QUERY_INTERFACE(_class,_classiiddef)
#endif /* !NS_MT_SUPPORTED */
////////////////////////////////////////////////////////////////////////////////
// Debugging Macros
////////////////////////////////////////////////////////////////////////////////
/**
* Macro for instantiating a new object that implements nsISupports.
* Use this in your factory methods to allow for refcnt tracing.
* Note that you can only use this if you adhere to the no arguments
* constructor com policy (which you really should!).
* @param _result Where the new instance pointer is stored
* @param _type The type of object to call "new" with.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_NEWXPCOM(_result,_type) \
PR_BEGIN_MACRO \
_result = new _type(); \
nsTraceRefcnt::Create(_result, #_type, __FILE__, __LINE__); \
PR_END_MACRO
#else
#define NS_NEWXPCOM(_result,_type) \
_result = new _type()
#endif
/**
* Macro for deleting an object that implements nsISupports.
* Use this in your Release methods to allow for refcnt tracing.
* @param _ptr The object to delete.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_DELETEXPCOM(_ptr) \
PR_BEGIN_MACRO \
nsTraceRefcnt::Destroy((_ptr), __FILE__, __LINE__); \
delete (_ptr); \
PR_END_MACRO
#else
#define NS_DELETEXPCOM(_ptr) \
delete (_ptr)
#endif
/**
* Macro for adding a reference to an interface.
* @param _ptr The interface pointer.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_ADDREF(_ptr) \
((nsrefcnt) nsTraceRefcnt::AddRef((_ptr), (_ptr)->AddRef(), \
__FILE__, __LINE__))
#else
#define NS_ADDREF(_ptr) \
(_ptr)->AddRef()
#endif
/**
* Macro for adding a reference to this. This macro should be used
* because NS_ADDREF (when tracing) may require an ambiguous cast
* from the pointers primary type to nsISupports. This macro sidesteps
* that entire problem.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_ADDREF_THIS() \
((nsrefcnt) nsTraceRefcnt::AddRef(this, AddRef(), __FILE__, __LINE__))
#else
#define NS_ADDREF_THIS() \
AddRef()
#endif
/**
* Macro for adding a reference to an interface that checks for NULL.
* @param _ptr The interface pointer.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_IF_ADDREF(_ptr) \
((0 != (_ptr)) \
? ((nsrefcnt) nsTraceRefcnt::AddRef((_ptr), (_ptr)->AddRef(), __FILE__, \
__LINE__)) \
: 0)
#else
#define NS_IF_ADDREF(_ptr) \
((0 != (_ptr)) ? (_ptr)->AddRef() : 0)
#endif
/**
* Macro for releasing a reference to an interface.
*
* Note that when MOZ_TRACE_XPCOM_REFCNT is defined that the release will
* be done before the trace message is logged. If the reference count
* goes to zero and implementation of Release logs a message, the two
* messages will be logged out of order.
*
* @param _ptr The interface pointer.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_RELEASE(_ptr) \
PR_BEGIN_MACRO \
nsTraceRefcnt::Release((_ptr), (_ptr)->Release(), __FILE__, __LINE__); \
(_ptr) = 0; \
PR_END_MACRO
#else
#define NS_RELEASE(_ptr) \
PR_BEGIN_MACRO \
(_ptr)->Release(); \
(_ptr) = 0; \
PR_END_MACRO
#endif
/**
* Macro for releasing a reference to an interface.
*
* Note that when MOZ_TRACE_XPCOM_REFCNT is defined that the release will
* be done before the trace message is logged. If the reference count
* goes to zero and implementation of Release logs a message, the two
* messages will be logged out of order.
*
* @param _ptr The interface pointer.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_RELEASE_THIS() \
nsTraceRefcnt::Release(this, Release(), __FILE__, __LINE__)
#else
#define NS_RELEASE_THIS() \
Release()
#endif
/**
* Macro for releasing a reference to an interface, except that this
* macro preserves the return value from the underlying Release call.
* The interface pointer argument will only be NULLed if the reference count
* goes to zero.
*
* Note that when MOZ_TRACE_XPCOM_REFCNT is defined that the release will
* be done before the trace message is logged. If the reference count
* goes to zero and implementation of Release logs a message, the two
* messages will be logged out of order.
*
* @param _ptr The interface pointer.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_RELEASE2(_ptr, _result) \
PR_BEGIN_MACRO \
_result = ((nsrefcnt) nsTraceRefcnt::Release((_ptr), (_ptr)->Release(), \
__FILE__, __LINE__)); \
if (0 == (_result)) (_ptr) = 0; \
PR_END_MACRO
#else
#define NS_RELEASE2(_ptr, _result) \
PR_BEGIN_MACRO \
_result = (_ptr)->Release(); \
if (0 == (_result)) (_ptr) = 0; \
PR_END_MACRO
#endif
/**
* Macro for releasing a reference to an interface that checks for NULL;
*
* Note that when MOZ_TRACE_XPCOM_REFCNT is defined that the release will
* be done before the trace message is logged. If the reference count
* goes to zero and implementation of Release logs a message, the two
* messages will be logged out of order.
*
* @param _ptr The interface pointer.
*/
#ifdef MOZ_TRACE_XPCOM_REFCNT
#define NS_IF_RELEASE(_ptr) \
PR_BEGIN_MACRO \
((0 != (_ptr)) \
? ((nsrefcnt) nsTraceRefcnt::Release((_ptr), (_ptr)->Release(), \
__FILE__, __LINE__)) \
: 0); \
(_ptr) = 0; \
PR_END_MACRO
#else
#define NS_IF_RELEASE(_ptr) \
PR_BEGIN_MACRO \
((0 != (_ptr)) ? (_ptr)->Release() : 0); \
(_ptr) = 0; \
PR_END_MACRO
#endif
#ifdef MOZ_LOG_REFCNT
#define NS_LOG_ADDREF(_ptr, _refcnt, _file, _line) \
nsTraceRefcnt::LogAddRef((_ptr), (_refcnt), (_file), (_line))
#define NS_LOG_RELEASE(_ptr, _refcnt, _file, _line) \
nsTraceRefcnt::LogRelease((_ptr), (_refcnt), (_file), (_line))
#else
#define NS_LOG_ADDREF(_file, _line, _ptr, _refcnt)
#define NS_LOG_RELEASE(_file, _line, _ptr, _refcnt)
#endif
////////////////////////////////////////////////////////////////////////////////
// A type-safe interface for calling |QueryInterface()|. A similar implementation
// exists in "nsCOMPtr.h" for use with |nsCOMPtr|s.
extern "C++" {
// ...because some one is accidentally including this file inside an |extern "C"|
class nsISupports;
template <class T>
struct nsCOMTypeInfo
{
static const nsIID& GetIID() { return T::GetIID(); }
};
#ifdef NSCAP_FEATURE_HIDE_NSISUPPORTS_GETIID
template <>
struct nsCOMTypeInfo<nsISupports>
{
static const nsIID& GetIID() { static nsIID iid = NS_ISUPPORTS_IID; return iid; }
};
#endif
#define NS_GET_IID(T) nsCOMTypeInfo<T>::GetIID()
template <class DestinationType>
inline
nsresult
CallQueryInterface( nsISupports* aSource, DestinationType** aDestination )
// a type-safe shortcut for calling the |QueryInterface()| member function
{
NS_PRECONDITION(aSource, "null parameter");
NS_PRECONDITION(aDestination, "null parameter");
return aSource->QueryInterface(nsCOMTypeInfo<DestinationType>::GetIID(), (void**)aDestination);
}
} // extern "C++"
////////////////////////////////////////////////////////////////////////////////
#endif /* __nsISupportsUtils_h */

View File

@@ -0,0 +1,486 @@
/* -*- 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 "nsISupports.h"
#include "prprf.h"
#include "prlog.h"
#if defined(_WIN32)
#include <windows.h>
#elif defined(linux) && defined(__GLIBC__) && defined(__i386)
#include <setjmp.h>
//
// On glibc 2.1, the Dl_info api defined in <dlfcn.h> is only exposed
// if __USE_GNU is defined. I suppose its some kind of standards
// adherence thing.
//
#if (__GLIBC_MINOR__ >= 1)
#define __USE_GNU
#endif
#include <dlfcn.h>
#endif
#if defined(NS_MT_SUPPORTED)
#include "prlock.h"
static PRLock* gTraceLock;
#define LOCK_TRACELOG() PR_Lock(gTraceLock)
#define UNLOCK_TRACELOG() PR_Unlock(gTraceLock)
#else /* ! NT_MT_SUPPORTED */
#define LOCK_TRACELOG()
#define UNLOCK_TRACELOG()
#endif /* ! NS_MT_SUPPORTED */
static PRLogModuleInfo* gTraceRefcntLog;
static void InitTraceLog(void)
{
if (0 == gTraceRefcntLog) {
gTraceRefcntLog = PR_NewLogModule("xpcomrefcnt");
#if defined(NS_MT_SUPPORTED)
gTraceLock = PR_NewLock();
#endif /* NS_MT_SUPPORTED */
}
}
int nsIToA16(PRUint32 aNumber, char* aBuffer)
{
static char kHex[] = "0123456789abcdef";
if (aNumber == 0) {
*aBuffer = '0';
return 1;
}
char buf[8];
PRInt32 count = 0;
while (aNumber != 0) {
PRUint32 nibble = aNumber & 0xf;
buf[count++] = kHex[nibble];
aNumber >>= 4;
}
for (PRInt32 i = count - 1; i >= 0; --i)
*aBuffer++ = buf[i];
return count;
}
#if defined(_WIN32) // WIN32 stack walking code
#include "imagehlp.h"
#include <stdio.h>
// Define these as static pointers so that we can load the DLL on the
// fly (and not introduce a link-time dependency on it). Tip o' the
// hat to Matt Pietrick for this idea. See:
//
// http://msdn.microsoft.com/library/periodic/period97/F1/D3/S245C6.htm
//
typedef BOOL (__stdcall *SYMINITIALIZEPROC)(HANDLE, LPSTR, BOOL);
static SYMINITIALIZEPROC _SymInitialize;
typedef BOOL (__stdcall *SYMCLEANUPPROC)(HANDLE);
static SYMCLEANUPPROC _SymCleanup;
typedef BOOL (__stdcall *STACKWALKPROC)(DWORD,
HANDLE,
HANDLE,
LPSTACKFRAME,
LPVOID,
PREAD_PROCESS_MEMORY_ROUTINE,
PFUNCTION_TABLE_ACCESS_ROUTINE,
PGET_MODULE_BASE_ROUTINE,
PTRANSLATE_ADDRESS_ROUTINE);
static STACKWALKPROC _StackWalk;
typedef LPVOID (__stdcall *SYMFUNCTIONTABLEACCESSPROC)(HANDLE, DWORD);
static SYMFUNCTIONTABLEACCESSPROC _SymFunctionTableAccess;
typedef DWORD (__stdcall *SYMGETMODULEBASEPROC)(HANDLE, DWORD);
static SYMGETMODULEBASEPROC _SymGetModuleBase;
typedef BOOL (__stdcall *SYMGETSYMFROMADDRPROC)(HANDLE, DWORD, PDWORD, PIMAGEHLP_SYMBOL);
static SYMGETSYMFROMADDRPROC _SymGetSymFromAddr;
static PRBool
EnsureSymInitialized()
{
PRBool gInitialized = PR_FALSE;
if (! gInitialized) {
HMODULE module = ::LoadLibrary("IMAGEHLP.DLL");
if (!module) return PR_FALSE;
_SymInitialize = (SYMINITIALIZEPROC) ::GetProcAddress(module, "SymInitialize");
if (!_SymInitialize) return PR_FALSE;
_SymCleanup = (SYMCLEANUPPROC)GetProcAddress(module, "SymCleanup");
if (!_SymCleanup) return PR_FALSE;
_StackWalk = (STACKWALKPROC)GetProcAddress(module, "StackWalk");
if (!_StackWalk) return PR_FALSE;
_SymFunctionTableAccess = (SYMFUNCTIONTABLEACCESSPROC) GetProcAddress(module, "SymFunctionTableAccess");
if (!_SymFunctionTableAccess) return PR_FALSE;
_SymGetModuleBase = (SYMGETMODULEBASEPROC)GetProcAddress(module, "SymGetModuleBase");
if (!_SymGetModuleBase) return PR_FALSE;
_SymGetSymFromAddr = (SYMGETSYMFROMADDRPROC)GetProcAddress(module, "SymGetSymFromAddr");
if (!_SymGetSymFromAddr) return PR_FALSE;
gInitialized = _SymInitialize(GetCurrentProcess(), 0, TRUE);
}
return gInitialized;
}
/**
* Walk the stack, translating PC's found into strings and recording the
* chain in aBuffer. For this to work properly, the dll's must be rebased
* so that the address in the file agrees with the address in memory.
* Otherwise StackWalk will return FALSE when it hits a frame in a dll's
* whose in memory address doesn't match it's in-file address.
*
* Fortunately, there is a handy dandy routine in IMAGEHLP.DLL that does
* the rebasing and accordingly I've made a tool to use it to rebase the
* DLL's in one fell swoop (see xpcom/tools/windows/rebasedlls.cpp).
*/
void
nsTraceRefcnt::WalkTheStack(char* aBuffer, int aBufLen)
{
aBuffer[0] = '\0';
aBufLen--; // leave room for nul
HANDLE myProcess = ::GetCurrentProcess();
HANDLE myThread = ::GetCurrentThread();
BOOL ok;
ok = EnsureSymInitialized();
if (! ok)
return;
// Get the context information for this thread. That way we will
// know where our sp, fp, pc, etc. are and can fill in the
// STACKFRAME with the initial values.
CONTEXT context;
context.ContextFlags = CONTEXT_FULL;
ok = GetThreadContext(myThread, &context);
if (! ok)
return;
// Setup initial stack frame to walk from
STACKFRAME frame;
memset(&frame, 0, sizeof(frame));
frame.AddrPC.Offset = context.Eip;
frame.AddrPC.Mode = AddrModeFlat;
frame.AddrStack.Offset = context.Esp;
frame.AddrStack.Mode = AddrModeFlat;
frame.AddrFrame.Offset = context.Ebp;
frame.AddrFrame.Mode = AddrModeFlat;
// Now walk the stack and map the pc's to symbol names that we stuff
// append to *cp.
char* cp = aBuffer;
int skip = 2;
while (aBufLen > 0) {
ok = _StackWalk(IMAGE_FILE_MACHINE_I386,
myProcess,
myThread,
&frame,
&context,
0, // read process memory routine
_SymFunctionTableAccess, // function table access routine
_SymGetModuleBase, // module base routine
0); // translate address routine
if (!ok || frame.AddrPC.Offset == 0)
break;
if (skip-- > 0)
continue;
char buf[sizeof(IMAGEHLP_SYMBOL) + 512];
PIMAGEHLP_SYMBOL symbol = (PIMAGEHLP_SYMBOL) buf;
symbol->SizeOfStruct = sizeof(buf);
symbol->MaxNameLength = 512;
DWORD displacement;
ok = _SymGetSymFromAddr(myProcess,
frame.AddrPC.Offset,
&displacement,
symbol);
if (ok) {
int nameLen = strlen(symbol->Name);
if (nameLen + 12 > aBufLen) { // 12 == strlen("+0x12345678 ")
break;
}
char* cp2 = symbol->Name;
while (*cp2) {
if (*cp2 == ' ') *cp2 = '_'; // replace spaces with underscores
*cp++ = *cp2++;
}
aBufLen -= nameLen;
*cp++ = '+';
*cp++ = '0';
*cp++ = 'x';
PRInt32 len = nsIToA16(displacement, cp);
cp += len;
*cp++ = ' ';
aBufLen -= nameLen + len + 4;
}
else {
if (11 > aBufLen) { // 11 == strlen("0x12345678 ")
break;
}
*cp++ = '0';
*cp++ = 'x';
PRInt32 len = nsIToA16(frame.AddrPC.Offset, cp);
cp += len;
*cp++ = ' ';
aBufLen -= len + 3;
}
}
*cp = 0;
}
/* _WIN32 */
#elif defined(linux) && defined(__GLIBC__) && defined(__i386) // i386 Linux stackwalking code
void
nsTraceRefcnt::WalkTheStack(char* aBuffer, int aBufLen)
{
aBuffer[0] = '\0';
aBufLen--; // leave room for nul
char* cp = aBuffer;
jmp_buf jb;
setjmp(jb);
// Stack walking code courtesy Kipp's "leaky".
u_long* bp = (u_long*) (jb[0].__jmpbuf[JB_BP]);
int skip = 2;
for (;;) {
u_long* nextbp = (u_long*) *bp++;
u_long pc = *bp;
if ((pc < 0x08000000) || (pc > 0x7fffffff) || (nextbp < bp)) {
break;
}
if (--skip <= 0) {
Dl_info info;
int ok = dladdr((void*) pc, &info);
if (ok < 0)
break;
int len = strlen(info.dli_sname);
if (! len)
break; // XXX Lazy. We could look at the filename or something.
if (len + 12 >= aBufLen) // 12 == strlen("+0x12345678 ")
break;
strcpy(cp, info.dli_sname);
cp += len;
*cp++ = '+';
*cp++ = '0';
*cp++ = 'x';
PRUint32 off = (char*)pc - (char*)info.dli_saddr;
PRInt32 addrStrLen = nsIToA16(off, cp);
cp += addrStrLen;
*cp++ = ' ';
aBufLen -= addrStrLen + 4;
}
bp = nextbp;
}
*cp = '\0';
}
#else // unsupported platform.
NS_COM void
nsTraceRefcnt::WalkTheStack(char* aBuffer, int aBufLen)
{
// Write me!!!
*aBuffer = '\0';
}
#endif
NS_COM void
nsTraceRefcnt::LoadLibrarySymbols(const char* aLibraryName,
void* aLibrayHandle)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
#if defined(_WIN32)
InitTraceLog();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
HANDLE myProcess = ::GetCurrentProcess();
if (!SymInitialize(myProcess, ".;..\\lib", TRUE)) {
return;
}
BOOL b = ::SymLoadModule(myProcess,
NULL,
(char*)aLibraryName,
(char*)aLibraryName,
0,
0);
// DWORD lastError = 0;
// if (!b) lastError = ::GetLastError();
// printf("loading symbols for library %s => %s [%d]\n", aLibraryName,
// b ? "true" : "false", lastError);
}
#endif
#endif
}
NS_COM unsigned long
nsTraceRefcnt::AddRef(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("AddRef: %p: %d=>%d [%s] in %s (line %d)",
aPtr, aNewRefcnt-1, aNewRefcnt, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
return aNewRefcnt;
}
NS_COM unsigned long
nsTraceRefcnt::Release(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("Release: %p: %d=>%d [%s] in %s (line %d)",
aPtr, aNewRefcnt+1, aNewRefcnt, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
return aNewRefcnt;
}
NS_COM void
nsTraceRefcnt::Create(void* aPtr,
const char* aType,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("Create: %p[%s]: [%s] in %s (line %d)",
aPtr, aType, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
}
NS_COM void
nsTraceRefcnt::Destroy(void* aPtr,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("Destroy: %p: [%s] in %s (line %d)",
aPtr, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
}
NS_COM void
nsTraceRefcnt::LogAddRef(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine)
{
InitTraceLog();
if (PR_LOG_TEST(gTraceRefcntLog, PR_LOG_DEBUG)) {
char sb[16384];
WalkTheStack(sb, sizeof(sb));
// Can't use PR_LOG(), b/c it truncates the line
printf("%s(%d) %p AddRef %d %s\n", aFile, aLine, aPtr, aRefCnt, sb);
}
}
NS_COM void
nsTraceRefcnt::LogRelease(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine)
{
InitTraceLog();
if (PR_LOG_TEST(gTraceRefcntLog, PR_LOG_DEBUG)) {
char sb[16384];
WalkTheStack(sb, sizeof(sb));
// Can't use PR_LOG(), b/c it truncates the line
printf("%s(%d) %p Release %d %s\n", aFile, aLine, aPtr, aRefCnt, sb);
}
}

View File

@@ -0,0 +1,72 @@
/* -*- 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.
*/
#ifndef nsTraceRefcnt_h___
#define nsTraceRefcnt_h___
#include "nsCom.h"
/**
* This class is used to support tracing (and logging using nspr) of
* addref and release calls. Note that only calls that use the
* NS_ADDREF and related macros in nsISupports can be traced.
*
* The name of the nspr log module is "xpcomrefcnt" (case matters).
*
* This code only performs tracing built with debugging AND when
* built with -DMOZ_TRACE_XPCOM_REFCNT (because it's expensive!).
*/
class nsTraceRefcnt {
public:
static NS_COM unsigned long AddRef(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
int aLine);
static NS_COM unsigned long Release(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
int aLine);
static NS_COM void Create(void* aPtr,
const char* aType,
const char* aFile,
int aLine);
static NS_COM void Destroy(void* aPtr,
const char* aFile,
int aLine);
static NS_COM void LoadLibrarySymbols(const char* aLibraryName,
void* aLibrayHandle);
static NS_COM void WalkTheStack(char* aBuffer, int aBufLen);
static NS_COM void LogAddRef(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine);
static NS_COM void LogRelease(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine);
};
#endif /* nsTraceRefcnt_h___ */

View File

@@ -0,0 +1,486 @@
/* -*- 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 "nsISupports.h"
#include "prprf.h"
#include "prlog.h"
#if defined(_WIN32)
#include <windows.h>
#elif defined(linux) && defined(__GLIBC__) && defined(__i386)
#include <setjmp.h>
//
// On glibc 2.1, the Dl_info api defined in <dlfcn.h> is only exposed
// if __USE_GNU is defined. I suppose its some kind of standards
// adherence thing.
//
#if (__GLIBC_MINOR__ >= 1)
#define __USE_GNU
#endif
#include <dlfcn.h>
#endif
#if defined(NS_MT_SUPPORTED)
#include "prlock.h"
static PRLock* gTraceLock;
#define LOCK_TRACELOG() PR_Lock(gTraceLock)
#define UNLOCK_TRACELOG() PR_Unlock(gTraceLock)
#else /* ! NT_MT_SUPPORTED */
#define LOCK_TRACELOG()
#define UNLOCK_TRACELOG()
#endif /* ! NS_MT_SUPPORTED */
static PRLogModuleInfo* gTraceRefcntLog;
static void InitTraceLog(void)
{
if (0 == gTraceRefcntLog) {
gTraceRefcntLog = PR_NewLogModule("xpcomrefcnt");
#if defined(NS_MT_SUPPORTED)
gTraceLock = PR_NewLock();
#endif /* NS_MT_SUPPORTED */
}
}
int nsIToA16(PRUint32 aNumber, char* aBuffer)
{
static char kHex[] = "0123456789abcdef";
if (aNumber == 0) {
*aBuffer = '0';
return 1;
}
char buf[8];
PRInt32 count = 0;
while (aNumber != 0) {
PRUint32 nibble = aNumber & 0xf;
buf[count++] = kHex[nibble];
aNumber >>= 4;
}
for (PRInt32 i = count - 1; i >= 0; --i)
*aBuffer++ = buf[i];
return count;
}
#if defined(_WIN32) // WIN32 stack walking code
#include "imagehlp.h"
#include <stdio.h>
// Define these as static pointers so that we can load the DLL on the
// fly (and not introduce a link-time dependency on it). Tip o' the
// hat to Matt Pietrick for this idea. See:
//
// http://msdn.microsoft.com/library/periodic/period97/F1/D3/S245C6.htm
//
typedef BOOL (__stdcall *SYMINITIALIZEPROC)(HANDLE, LPSTR, BOOL);
static SYMINITIALIZEPROC _SymInitialize;
typedef BOOL (__stdcall *SYMCLEANUPPROC)(HANDLE);
static SYMCLEANUPPROC _SymCleanup;
typedef BOOL (__stdcall *STACKWALKPROC)(DWORD,
HANDLE,
HANDLE,
LPSTACKFRAME,
LPVOID,
PREAD_PROCESS_MEMORY_ROUTINE,
PFUNCTION_TABLE_ACCESS_ROUTINE,
PGET_MODULE_BASE_ROUTINE,
PTRANSLATE_ADDRESS_ROUTINE);
static STACKWALKPROC _StackWalk;
typedef LPVOID (__stdcall *SYMFUNCTIONTABLEACCESSPROC)(HANDLE, DWORD);
static SYMFUNCTIONTABLEACCESSPROC _SymFunctionTableAccess;
typedef DWORD (__stdcall *SYMGETMODULEBASEPROC)(HANDLE, DWORD);
static SYMGETMODULEBASEPROC _SymGetModuleBase;
typedef BOOL (__stdcall *SYMGETSYMFROMADDRPROC)(HANDLE, DWORD, PDWORD, PIMAGEHLP_SYMBOL);
static SYMGETSYMFROMADDRPROC _SymGetSymFromAddr;
static PRBool
EnsureSymInitialized()
{
PRBool gInitialized = PR_FALSE;
if (! gInitialized) {
HMODULE module = ::LoadLibrary("IMAGEHLP.DLL");
if (!module) return PR_FALSE;
_SymInitialize = (SYMINITIALIZEPROC) ::GetProcAddress(module, "SymInitialize");
if (!_SymInitialize) return PR_FALSE;
_SymCleanup = (SYMCLEANUPPROC)GetProcAddress(module, "SymCleanup");
if (!_SymCleanup) return PR_FALSE;
_StackWalk = (STACKWALKPROC)GetProcAddress(module, "StackWalk");
if (!_StackWalk) return PR_FALSE;
_SymFunctionTableAccess = (SYMFUNCTIONTABLEACCESSPROC) GetProcAddress(module, "SymFunctionTableAccess");
if (!_SymFunctionTableAccess) return PR_FALSE;
_SymGetModuleBase = (SYMGETMODULEBASEPROC)GetProcAddress(module, "SymGetModuleBase");
if (!_SymGetModuleBase) return PR_FALSE;
_SymGetSymFromAddr = (SYMGETSYMFROMADDRPROC)GetProcAddress(module, "SymGetSymFromAddr");
if (!_SymGetSymFromAddr) return PR_FALSE;
gInitialized = _SymInitialize(GetCurrentProcess(), 0, TRUE);
}
return gInitialized;
}
/**
* Walk the stack, translating PC's found into strings and recording the
* chain in aBuffer. For this to work properly, the dll's must be rebased
* so that the address in the file agrees with the address in memory.
* Otherwise StackWalk will return FALSE when it hits a frame in a dll's
* whose in memory address doesn't match it's in-file address.
*
* Fortunately, there is a handy dandy routine in IMAGEHLP.DLL that does
* the rebasing and accordingly I've made a tool to use it to rebase the
* DLL's in one fell swoop (see xpcom/tools/windows/rebasedlls.cpp).
*/
void
nsTraceRefcnt::WalkTheStack(char* aBuffer, int aBufLen)
{
aBuffer[0] = '\0';
aBufLen--; // leave room for nul
HANDLE myProcess = ::GetCurrentProcess();
HANDLE myThread = ::GetCurrentThread();
BOOL ok;
ok = EnsureSymInitialized();
if (! ok)
return;
// Get the context information for this thread. That way we will
// know where our sp, fp, pc, etc. are and can fill in the
// STACKFRAME with the initial values.
CONTEXT context;
context.ContextFlags = CONTEXT_FULL;
ok = GetThreadContext(myThread, &context);
if (! ok)
return;
// Setup initial stack frame to walk from
STACKFRAME frame;
memset(&frame, 0, sizeof(frame));
frame.AddrPC.Offset = context.Eip;
frame.AddrPC.Mode = AddrModeFlat;
frame.AddrStack.Offset = context.Esp;
frame.AddrStack.Mode = AddrModeFlat;
frame.AddrFrame.Offset = context.Ebp;
frame.AddrFrame.Mode = AddrModeFlat;
// Now walk the stack and map the pc's to symbol names that we stuff
// append to *cp.
char* cp = aBuffer;
int skip = 2;
while (aBufLen > 0) {
ok = _StackWalk(IMAGE_FILE_MACHINE_I386,
myProcess,
myThread,
&frame,
&context,
0, // read process memory routine
_SymFunctionTableAccess, // function table access routine
_SymGetModuleBase, // module base routine
0); // translate address routine
if (!ok || frame.AddrPC.Offset == 0)
break;
if (skip-- > 0)
continue;
char buf[sizeof(IMAGEHLP_SYMBOL) + 512];
PIMAGEHLP_SYMBOL symbol = (PIMAGEHLP_SYMBOL) buf;
symbol->SizeOfStruct = sizeof(buf);
symbol->MaxNameLength = 512;
DWORD displacement;
ok = _SymGetSymFromAddr(myProcess,
frame.AddrPC.Offset,
&displacement,
symbol);
if (ok) {
int nameLen = strlen(symbol->Name);
if (nameLen + 12 > aBufLen) { // 12 == strlen("+0x12345678 ")
break;
}
char* cp2 = symbol->Name;
while (*cp2) {
if (*cp2 == ' ') *cp2 = '_'; // replace spaces with underscores
*cp++ = *cp2++;
}
aBufLen -= nameLen;
*cp++ = '+';
*cp++ = '0';
*cp++ = 'x';
PRInt32 len = nsIToA16(displacement, cp);
cp += len;
*cp++ = ' ';
aBufLen -= nameLen + len + 4;
}
else {
if (11 > aBufLen) { // 11 == strlen("0x12345678 ")
break;
}
*cp++ = '0';
*cp++ = 'x';
PRInt32 len = nsIToA16(frame.AddrPC.Offset, cp);
cp += len;
*cp++ = ' ';
aBufLen -= len + 3;
}
}
*cp = 0;
}
/* _WIN32 */
#elif defined(linux) && defined(__GLIBC__) && defined(__i386) // i386 Linux stackwalking code
void
nsTraceRefcnt::WalkTheStack(char* aBuffer, int aBufLen)
{
aBuffer[0] = '\0';
aBufLen--; // leave room for nul
char* cp = aBuffer;
jmp_buf jb;
setjmp(jb);
// Stack walking code courtesy Kipp's "leaky".
u_long* bp = (u_long*) (jb[0].__jmpbuf[JB_BP]);
int skip = 2;
for (;;) {
u_long* nextbp = (u_long*) *bp++;
u_long pc = *bp;
if ((pc < 0x08000000) || (pc > 0x7fffffff) || (nextbp < bp)) {
break;
}
if (--skip <= 0) {
Dl_info info;
int ok = dladdr((void*) pc, &info);
if (ok < 0)
break;
int len = strlen(info.dli_sname);
if (! len)
break; // XXX Lazy. We could look at the filename or something.
if (len + 12 >= aBufLen) // 12 == strlen("+0x12345678 ")
break;
strcpy(cp, info.dli_sname);
cp += len;
*cp++ = '+';
*cp++ = '0';
*cp++ = 'x';
PRUint32 off = (char*)pc - (char*)info.dli_saddr;
PRInt32 addrStrLen = nsIToA16(off, cp);
cp += addrStrLen;
*cp++ = ' ';
aBufLen -= addrStrLen + 4;
}
bp = nextbp;
}
*cp = '\0';
}
#else // unsupported platform.
NS_COM void
nsTraceRefcnt::WalkTheStack(char* aBuffer, int aBufLen)
{
// Write me!!!
*aBuffer = '\0';
}
#endif
NS_COM void
nsTraceRefcnt::LoadLibrarySymbols(const char* aLibraryName,
void* aLibrayHandle)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
#if defined(_WIN32)
InitTraceLog();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
HANDLE myProcess = ::GetCurrentProcess();
if (!SymInitialize(myProcess, ".;..\\lib", TRUE)) {
return;
}
BOOL b = ::SymLoadModule(myProcess,
NULL,
(char*)aLibraryName,
(char*)aLibraryName,
0,
0);
// DWORD lastError = 0;
// if (!b) lastError = ::GetLastError();
// printf("loading symbols for library %s => %s [%d]\n", aLibraryName,
// b ? "true" : "false", lastError);
}
#endif
#endif
}
NS_COM unsigned long
nsTraceRefcnt::AddRef(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("AddRef: %p: %d=>%d [%s] in %s (line %d)",
aPtr, aNewRefcnt-1, aNewRefcnt, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
return aNewRefcnt;
}
NS_COM unsigned long
nsTraceRefcnt::Release(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("Release: %p: %d=>%d [%s] in %s (line %d)",
aPtr, aNewRefcnt+1, aNewRefcnt, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
return aNewRefcnt;
}
NS_COM void
nsTraceRefcnt::Create(void* aPtr,
const char* aType,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("Create: %p[%s]: [%s] in %s (line %d)",
aPtr, aType, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
}
NS_COM void
nsTraceRefcnt::Destroy(void* aPtr,
const char* aFile,
PRIntn aLine)
{
#ifdef MOZ_TRACE_XPCOM_REFCNT
InitTraceLog();
LOCK_TRACELOG();
if (PR_LOG_TEST(gTraceRefcntLog,PR_LOG_DEBUG)) {
char sb[1000];
WalkTheStack(sb, sizeof(sb));
PR_LOG(gTraceRefcntLog, PR_LOG_DEBUG,
("Destroy: %p: [%s] in %s (line %d)",
aPtr, sb, aFile, aLine));
}
UNLOCK_TRACELOG();
#endif
}
NS_COM void
nsTraceRefcnt::LogAddRef(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine)
{
InitTraceLog();
if (PR_LOG_TEST(gTraceRefcntLog, PR_LOG_DEBUG)) {
char sb[16384];
WalkTheStack(sb, sizeof(sb));
// Can't use PR_LOG(), b/c it truncates the line
printf("%s(%d) %p AddRef %d %s\n", aFile, aLine, aPtr, aRefCnt, sb);
}
}
NS_COM void
nsTraceRefcnt::LogRelease(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine)
{
InitTraceLog();
if (PR_LOG_TEST(gTraceRefcntLog, PR_LOG_DEBUG)) {
char sb[16384];
WalkTheStack(sb, sizeof(sb));
// Can't use PR_LOG(), b/c it truncates the line
printf("%s(%d) %p Release %d %s\n", aFile, aLine, aPtr, aRefCnt, sb);
}
}

View File

@@ -0,0 +1,72 @@
/* -*- 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.
*/
#ifndef nsTraceRefcnt_h___
#define nsTraceRefcnt_h___
#include "nsCom.h"
/**
* This class is used to support tracing (and logging using nspr) of
* addref and release calls. Note that only calls that use the
* NS_ADDREF and related macros in nsISupports can be traced.
*
* The name of the nspr log module is "xpcomrefcnt" (case matters).
*
* This code only performs tracing built with debugging AND when
* built with -DMOZ_TRACE_XPCOM_REFCNT (because it's expensive!).
*/
class nsTraceRefcnt {
public:
static NS_COM unsigned long AddRef(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
int aLine);
static NS_COM unsigned long Release(void* aPtr,
unsigned long aNewRefcnt,
const char* aFile,
int aLine);
static NS_COM void Create(void* aPtr,
const char* aType,
const char* aFile,
int aLine);
static NS_COM void Destroy(void* aPtr,
const char* aFile,
int aLine);
static NS_COM void LoadLibrarySymbols(const char* aLibraryName,
void* aLibrayHandle);
static NS_COM void WalkTheStack(char* aBuffer, int aBufLen);
static NS_COM void LogAddRef(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine);
static NS_COM void LogRelease(void* aPtr,
nsrefcnt aRefCnt,
const char* aFile,
int aLine);
};
#endif /* nsTraceRefcnt_h___ */

164
mozilla/xpcom/base/nscore.h Normal file
View File

@@ -0,0 +1,164 @@
/* -*- 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 nscore_h___
#define nscore_h___
#ifdef _WIN32
#define NS_WIN32 1
#endif
#if defined(__unix)
#define NS_UNIX 1
#endif
#include "prtypes.h"
#ifdef __cplusplus
#include "nsDebug.h"
#endif
#ifndef __PRUNICHAR__
#define __PRUNICHAR__
typedef PRUint16 PRUnichar;
#endif
/* The preferred symbol for null. */
#define nsnull 0
/* Define brackets for protecting C code from C++ */
#ifdef __cplusplus
#define NS_BEGIN_EXTERN_C extern "C" {
#define NS_END_EXTERN_C }
#else
#define NS_BEGIN_EXTERN_C
#define NS_END_EXTERN_C
#endif
/*----------------------------------------------------------------------*/
/* Import/export defines */
#ifdef NS_WIN32
#define NS_IMPORT _declspec(dllimport)
#define NS_IMPORT_(type) type _declspec(dllimport) __stdcall
#define NS_EXPORT _declspec(dllexport)
/* XXX NS_EXPORT_ defined in nsCOm.h (xpcom) differs in where the __declspec
is placed. It needs to be done this way to make the 4.x compiler happy... */
#undef NS_EXPORT_
#define NS_EXPORT_(type) type _declspec(dllexport) __stdcall
#elif defined(XP_MAC)
#define NS_IMPORT
#define NS_IMPORT_(type) type
/* XXX NS_EXPORT_ defined in nsCom.h actually does an export. Here it's just sugar. */
#undef NS_EXPORT
#undef NS_EXPORT_
#define NS_EXPORT __declspec(export)
#define NS_EXPORT_(type) __declspec(export) type
#else
/* XXX do something useful? */
#define NS_IMPORT
#define NS_IMPORT_(type) type
#define NS_EXPORT
#define NS_EXPORT_(type) type
#endif
#ifdef _IMPL_NS_BASE
#define NS_BASE NS_EXPORT
#else
#define NS_BASE NS_IMPORT
#endif
#ifdef _IMPL_NS_NET
#define NS_NET NS_EXPORT
#else
#define NS_NET NS_IMPORT
#endif
#ifdef _IMPL_NS_DOM
#define NS_DOM NS_EXPORT
#else
#define NS_DOM NS_IMPORT
#endif
#ifdef _IMPL_NS_WIDGET
#define NS_WIDGET NS_EXPORT
#else
#define NS_WIDGET NS_IMPORT
#endif
#ifdef _IMPL_NS_VIEW
#define NS_VIEW NS_EXPORT
#else
#define NS_VIEW NS_IMPORT
#endif
#ifdef _IMPL_NS_GFXNONXP
#define NS_GFXNONXP NS_EXPORT
#define NS_GFXNONXP_(type) NS_EXPORT_(type)
#else
#define NS_GFXNONXP NS_IMPORT
#define NS_GFXNONXP_(type) NS_IMPORT_(type)
#endif
#ifdef _IMPL_NS_GFX
#define NS_GFX NS_EXPORT
#define NS_GFX_(type) NS_EXPORT_(type)
#else
#define NS_GFX NS_IMPORT
#define NS_GFX_(type) NS_IMPORT_(type)
#endif
#ifdef _IMPL_NS_PLUGIN
#define NS_PLUGIN NS_EXPORT
#else
#define NS_PLUGIN NS_IMPORT
#endif
#ifdef _IMPL_NS_APPSHELL
#define NS_APPSHELL NS_EXPORT
#else
#define NS_APPSHELL NS_IMPORT
#endif
/* ------------------------------------------------------------------------ */
/* Casting macros for hiding C++ features from older compilers */
/* unix now determines this automatically */
#ifndef XP_UNIX
#define HAVE_CPP_NEW_CASTS /* we'll be optimistic. */
#endif
#if defined(HAVE_CPP_NEW_CASTS)
#define NS_STATIC_CAST(__type, __ptr) static_cast<__type>(__ptr)
#define NS_CONST_CAST(__type, __ptr) const_cast<__type>(__ptr)
#define NS_REINTERPRET_CAST(__type, __ptr) reinterpret_cast<__type>(__ptr)
#else
#define NS_STATIC_CAST(__type, __ptr) ((__type)(__ptr))
#define NS_CONST_CAST(__type, __ptr) ((__type)(__ptr))
#define NS_REINTERPRET_CAST(__type, __ptr) ((__type)(__ptr))
#endif
/* No sense in making an NS_DYNAMIC_CAST() macro: you can't duplicate
the semantics. So if you want to dynamic_cast, then just use it
"straight", no macro. */
#endif /* nscore_h___ */

View File

@@ -0,0 +1,63 @@
/* -*- 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.
*/
/* Root idl declarations to be used by all. */
%{C++
#include "nscore.h"
#include "prtime.h"
/*
* Start commenting out the C++ versions of the below in the output header
*/
#if 0
%}
typedef boolean PRBool ;
typedef octet PRUint8 ;
typedef unsigned short PRUint16 ;
typedef unsigned long PRUint32 ;
typedef unsigned long long PRUint64 ;
typedef unsigned long long PRTime ;
typedef short PRInt16 ;
typedef long PRInt32 ;
typedef long long PRInt64 ;
typedef unsigned long nsrefcnt ;
typedef unsigned long nsresult ;
[ptr] native voidStar(void);
[ptr] native charStar(char);
[ref, nsid] native nsIDRef(nsID);
[ref, nsid] native nsIIDRef(nsIID);
[ref, nsid] native nsCIDRef(nsCID);
[ptr, nsid] native nsIDPtr(nsID);
[ptr, nsid] native nsIIDPtr(nsIID);
[ptr, nsid] native nsCIDPtr(nsCID);
[ptr] native nsQIResult(void);
%{C++
/*
* End commenting out the C++ versions of the above in the output header
*/
#endif
%}

View File

@@ -0,0 +1,84 @@
#
# 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
LIBRARY_NAME = xpcom
MODULE = xpcom
CPPSRCS = nsXPComInit.cpp
REQUIRES = xpcom
include $(topsrcdir)/config/config.mk
LOCAL_INCLUDES += \
-I$(srcdir)/../base \
-I$(srcdir)/../ds \
-I$(srcdir)/../io \
-I$(srcdir)/../components \
-I$(srcdir)/../threads \
-I$(srcdir)/../proxy/src \
$(NULL)
DEFINES += -D_IMPL_NS_COM -D_IMPL_NS_BASE
SHARED_LIBRARY_LIBS = \
$(DIST)/lib/libxpcomds_s.a \
$(DIST)/lib/libxpcomio_s.a \
$(DIST)/lib/libxpcomcomponents_s.a \
$(DIST)/lib/libxpcomthreads_s.a \
$(DIST)/lib/libxpcomproxy_s.a \
$(DIST)/lib/libxpcombase_s.a \
$(DIST)/lib/libxptcall.a \
$(DIST)/lib/libxptinfo.a \
$(DIST)/lib/libxpt.a \
$(DIST)/lib/libxptcmd.a \
$(DIST)/lib/libreg.a \
$(NULL)
ifeq ($(OS_ARCH),HP-UX)
EXTRA_DSO_LDOPTS = -c objs/objslist
else
EXTRA_DSO_LDOPTS = \
$(MKSHLIB_FORCE_ALL) \
$(SHARED_LIBRARY_LIBS) \
$(MKSHLIB_UNFORCE_ALL)
endif
ifeq ($(OS_ARCH),BeOS)
EXTRA_DSO_LDOPTS += -lbe
endif
include $(topsrcdir)/config/rules.mk
ifeq ($(OS_ARCH),HP-UX)
shared_library_objs: $(SHARED_LIBRARY_LIBS)
rm -rf objs
mkdir objs
(cd objs; for lib in $(SHARED_LIBRARY_LIBS); do ar xv ../$$lib; done) \
| awk '{ print "objs/"$$3 }' > objs/objslist
$(LIBRARY) $(SHARED_LIBRARY): shared_library_objs Makefile
else
$(LIBRARY) $(SHARED_LIBRARY): $(SHARED_LIBRARY_LIBS) Makefile
endif

View File

@@ -0,0 +1,83 @@
/* -*- 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.
*/
// Force references to all of the symbols that we want exported from
// the dll that are located in the .lib files we link with
#include "nsVoidArray.h"
#include "nsIAtom.h"
#include "nsFileSpec.h"
#include "nsIBuffer.h"
//#include "nsIByteBufferInputStream.h"
#include "nsFileStream.h"
#include "nsFileSpecStreaming.h"
#include "nsSpecialSystemDirectory.h"
#include "nsIThread.h"
#include "nsDeque.h"
#include "nsObserver.h"
#include "nsTraceRefcnt.h"
#include "nsXPIDLString.h"
#include "nsIEnumerator.h"
#include "nsEnumeratorUtils.h"
#include "nsQuickSort.h"
#include "nsString2.h"
#include "nsProxyEventPrivate.h"
#include "xpt_xdr.h"
#include "nsInterfaceInfo.h"
#include "xptcall.h"
#include "nsIFileSpec.h"
#include "nsIGenericFactory.h"
void XXXNeverCalled()
{
nsVoidArray();
NS_GetNumberOfAtoms();
nsFileURL(NULL);
NS_NewPipe(NULL, NULL, 0, 0, 0, NULL);
nsFileSpec s;
NS_NewIOFileStream(NULL, s, 0, 0);
nsInputFileStream(s, 0, 0);
nsPersistentFileDescriptor d;
ReadDescriptor(NULL, d);
new nsSpecialSystemDirectory(nsSpecialSystemDirectory::OS_DriveDirectory);
nsIThread::GetCurrent(NULL);
nsDeque(NULL);
NS_NewObserver(NULL, NULL);
nsTraceRefcnt::AddRef(NULL, 0, NULL, 0);
nsXPIDLCString::Copy(NULL);
NS_NewEmptyEnumerator(NULL);
nsArrayEnumerator(NULL);
NS_NewIntersectionEnumerator(NULL, NULL, NULL);
NS_QuickSort(NULL, 0, 0, NULL, NULL);
nsString2();
nsProxyObject();
XPT_DoString(NULL, NULL);
XPT_DoHeader(NULL, NULL);
nsInterfaceInfo* info = NULL;
info->GetName(NULL);
#ifdef DEBUG
info->print(NULL);
#endif
XPTC_InvokeByIndex(NULL, 0, 0, NULL);
NS_NewFileSpec(NULL);
xptc_dummy();
xptc_dummy2();
XPTI_GetInterfaceInfoManager();
NS_NewGenericFactory(NULL, NULL, NULL);
}

View File

@@ -0,0 +1,86 @@
#!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.
IGNORE_MANIFEST=1
DEPTH=..\..
MODULE = xpcom
LIBNAME = .\$(OBJDIR)\xpcom
DLL = $(LIBNAME).dll
LINCS = \
-I$(PUBLIC)\xpcom \
-I..\base \
-I..\ds \
-I..\io \
-I..\components \
-I..\threads \
-I..\reflect\xptinfo\src \
-I..\proxy\src \
$(NULL)
LCFLAGS=-D_IMPL_NS_COM \
-D_IMPL_NS_BASE \
-DWIN32_LEAN_AND_MEAN \
-DEXPORT_XPT_API \
-DEXPORT_XPTC_API \
-DEXPORT_XPTI_API
CPP_OBJS = \
.\$(OBJDIR)\nsXPComInit.obj \
.\$(OBJDIR)\dlldeps.obj \
$(NULL)
!ifndef BUILD_OPT
#CPP_OBJS = $(CPP_OBJS) .\$(OBJDIR)\nsConstructorPattern.obj
!endif
OURLIBS = \
$(LIBNSPR) \
$(DIST)\lib\plc3.lib \
$(DIST)\lib\xpcombase_s.lib \
$(DIST)\lib\xpcomds_s.lib \
$(DIST)\lib\xpcomio_s.lib \
$(DIST)\lib\xpcomcomp_s.lib \
$(DIST)\lib\xpcomthreads_s.lib \
$(DIST)\lib\xpcomxpt_s.lib \
$(DIST)\lib\xpcomxptcall_s.lib \
$(DIST)\lib\xpcomxptcmd_s.lib \
$(DIST)\lib\xpcomxptinfo_s.lib \
$(DIST)\lib\xpcomproxy_s.lib \
$(DIST)\lib\libreg32.lib \
$(NULL)
LLIBS = \
$(OURLIBS) \
shell32.lib \
!if "$(MOZ_BITS)"=="32" && defined(MOZ_DEBUG) && defined(GLOWCODE)
$(GLOWDIR)\glowcode.lib \
!endif
!if defined(MOZ_TRACE_XPCOM_REFCNT)
imagehlp.lib \
!endif
$(NULL)
MISCDEP=$(OURLIBS)
include <$(DEPTH)\config\rules.mak>
libs:: $(DLL)
$(MAKE_INSTALL) $(LIBNAME).$(DLL_SUFFIX) $(DIST)\bin
$(MAKE_INSTALL) $(LIBNAME).$(LIB_SUFFIX) $(DIST)\lib

View File

@@ -0,0 +1,243 @@
/* -*- Mode: C++; 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.h"
////////////////////////////////////////////////////////////////////////////////
// nsIFoo.h
////////////////////////////////////////////////////////////////////////////////
// Here's an interface that we're going to work with. Normally it would be
// defined in nsIFoo.h:
#define NS_IFOO_IID \
{ /* f981ba10-1547-11d3-9337-00104ba0fd40 */ \
0xf981ba10, \
0x1547, \
0x11d3, \
{0x93, 0x37, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40} \
}
#define NS_FOO_CID \
{ /* fe1a5870-1547-11d3-9337-00104ba0fd40 */ \
0xfe1a5870, \
0x1547, \
0x11d3, \
{0x93, 0x37, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40} \
}
class nsIFoo : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_IFOO_IID);
NS_IMETHOD Init(const char* name) = 0;
NS_IMETHOD Doit(int x) = 0;
};
// Define a global constructor function if you really need one. Otherwise
// you can always use nsIComponentManager::CreateInstance.
PR_EXTERN(nsresult)
NS_NewFoo(nsIFoo* *result, const char* name);
////////////////////////////////////////////////////////////////////////////////
// nsFoo.h
////////////////////////////////////////////////////////////////////////////////
// Here's the implementation class definition. Put this in an nsFoo.h (and don't
// export it to dist).
//#include "nsIFoo.h"
class nsFoo : public nsIFoo {
public:
// Define the constructor, but don't give it arguments that are needed
// for initialization that can fail:
nsFoo();
// Always make the destructor virtual:
virtual ~nsFoo();
// Define a Create method to be used with a factory:
static NS_METHOD
Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult);
// from nsIFoo:
NS_IMETHOD Init(const char* name);
NS_IMETHOD Doit(int x);
// from nsISupports:
NS_DECL_ISUPPORTS
protected:
// instance variables:
char* mName;
};
////////////////////////////////////////////////////////////////////////////////
// nsFoo.cpp
////////////////////////////////////////////////////////////////////////////////
// Here's the implementation. Put this in an nsFoo.cpp.
//#include "nsFoo.h"
#include "nsCRT.h"
#include <stdio.h>
// Don't do anything in the constructor that can fail. Just initialize all
// the instance variables and get out:
nsFoo::nsFoo()
: mName(NULL)
{
NS_INIT_REFCNT();
}
// Do anything that can fail in the Init method. It's a good idea to provide
// one so that in the future if someone adds something that can fail they'll
// be encouraged to do it right:
NS_IMETHODIMP
nsFoo::Init(const char* name)
{
mName = nsCRT::strdup(name);
if (mName == NULL)
return NS_ERROR_OUT_OF_MEMORY;
return NS_OK;
}
// Destroy and release things as usual in the destructor:
nsFoo::~nsFoo()
{
if (mName)
nsCRT::free(mName);
}
// Provide a Create method that can be called by a factory constructor:
NS_METHOD
nsFoo::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult)
{
if (aOuter)
return NS_ERROR_NO_AGGREGATION;
nsFoo* foo = new nsFoo();
if (foo == NULL)
return NS_ERROR_OUT_OF_MEMORY;
// Note that Create doesn't initialize the instance -- that has to
// be done by the caller since the initialization args aren't passed
// in here.
// AddRef before calling QI -- this makes it easier to handle the QI
// failure case because we'll always just Release and return
NS_ADDREF(foo);
nsresult rv = foo->QueryInterface(aIID, aResult);
// This will free it if QI failed:
NS_RELEASE(foo);
return rv;
}
// Implement the nsISupports methods:
NS_IMPL_ISUPPORTS(nsFoo, nsIFoo::GetIID());
// Implement the method(s) of the interface:
NS_IMETHODIMP
nsFoo::Doit(int x)
{
printf("%s %d\n", mName, x);
return NS_OK;
}
// Finally, (if you really need one) implement a global constructor function
// for this class:
PR_IMPLEMENT(nsresult)
NS_NewFoo(nsIFoo* *result, const char* name)
{
// Use the constructor method to create this. Don't duplicate work.
nsresult rv = nsFoo::Create(NULL, nsIFoo::GetIID(),
(void**)result);
if (NS_SUCCEEDED(rv)) {
// Only initialize if the constructor succeeded:
rv = (*result)->Init(name);
}
return rv;
}
////////////////////////////////////////////////////////////////////////////////
// nsFooModuleFactory.cpp
////////////////////////////////////////////////////////////////////////////////
// This file defines the factory that instantiates nsFoo and any other classes
// in the same component. It also defines the component's NSGetFactory,
// NSRegisterSelf and NSUnregisterSelf entry points:
// Include nsFoo.h to get the nsFoo::Create method:
//#include "nsFoo.h"
#include "nsIComponentManager.h"
#include "nsIServiceManager.h"
// Include the generic factory stuff. It's the easiest and smallest way to
// work with factories:
#include "nsGenericFactory.h"
static NS_DEFINE_CID(kFooCID, NS_FOO_CID);
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
extern "C" PR_IMPLEMENT(nsresult)
NSGetFactory(nsISupports* aServMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory)
{
nsresult rv;
nsIGenericFactory* fact;
if (aClass.Equals(kFooCID))
rv = NS_NewGenericFactory(&fact, nsFoo::Create);
else
rv = NS_ERROR_FAILURE;
if (NS_SUCCEEDED(rv))
*aFactory = fact;
return rv;
}
extern "C" PR_IMPLEMENT(nsresult)
NSRegisterSelf(nsISupports* aServMgr , const char* aPath)
{
nsresult rv;
NS_WITH_SERVICE1(nsIComponentManager, compMgr,
aServMgr, kComponentManagerCID, &rv);
if (NS_FAILED(rv)) return rv;
rv = compMgr->RegisterComponent(kFooCID, "Foo", NULL,
aPath, PR_TRUE, PR_TRUE);
return rv;
}
extern "C" PR_IMPLEMENT(nsresult)
NSUnregisterSelf(nsISupports* aServMgr, const char* aPath)
{
nsresult rv;
NS_WITH_SERVICE1(nsIComponentManager, compMgr,
aServMgr, kComponentManagerCID, &rv);
if (NS_FAILED(rv)) return rv;
rv = compMgr->UnregisterComponent(kFooCID, aPath);
return rv;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,263 @@
/* -*- Mode: C++; 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 "nsIRegistry.h"
#include "nscore.h"
#include "nsCOMPtr.h"
#include "nsObserverService.h"
#include "nsObserver.h"
#include "nsProperties.h"
#include "nsAllocator.h"
#include "nsArena.h"
#include "nsBuffer.h"
#include "nsByteBuffer.h"
#include "nsPageMgr.h"
#include "nsSupportsArray.h"
#include "nsUnicharBuffer.h"
#include "nsComponentManager.h"
#include "nsIServiceManager.h"
#include "nsGenericFactory.h"
#include "nsEventQueueService.h"
#include "nsEventQueue.h"
#include "nsProxyObjectManager.h"
#include "nsProxyEventPrivate.h" // access to the impl of nsProxyObjectManager for the generic factory registration.
#include "nsFileSpecImpl.h"
// base
static NS_DEFINE_CID(kAllocatorCID, NS_ALLOCATOR_CID);
// ds
static NS_DEFINE_CID(kArenaCID, NS_ARENA_CID);
static NS_DEFINE_CID(kBufferCID, NS_BUFFER_CID);
static NS_DEFINE_CID(kByteBufferCID, NS_BYTEBUFFER_CID);
static NS_DEFINE_CID(kPageManagerCID, NS_PAGEMANAGER_CID);
static NS_DEFINE_CID(kPropertiesCID, NS_PROPERTIES_CID);
static NS_DEFINE_CID(kSupportsArrayCID, NS_SUPPORTSARRAY_CID);
static NS_DEFINE_CID(kUnicharBufferCID, NS_UNICHARBUFFER_CID);
// io
static NS_DEFINE_CID(kFileSpecCID, NS_FILESPEC_CID);
static NS_DEFINE_CID(kDirectoryIteratorCID, NS_DIRECTORYITERATOR_CID);
// components
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
static NS_DEFINE_CID(kGenericFactoryCID, NS_GENERICFACTORY_CID);
// threads
static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID);
static NS_DEFINE_CID(kEventQueueCID, NS_EVENTQUEUE_CID);
// proxy
static NS_DEFINE_CID(kProxyObjectManagerCID, NS_PROXYEVENT_MANAGER_CID);
////////////////////////////////////////////////////////////////////////////////
// XPCOM initialization
//
// To Control the order of initialization of these key components I am putting
// this function.
//
// - nsServiceManager
// - nsComponentManager
// - nsRegistry
//
// Here are key points to remember:
// - A global of all these need to exist. nsServiceManager is an independent object.
// nsComponentManager uses both the globalServiceManager and its own registry.
//
// - A static object of both the nsComponentManager and nsServiceManager
// are in use. Hence InitXPCOM() gets triggered from both
// NS_GetGlobale{Service/Component}Manager() calls.
//
// - There exists no global Registry. Registry can be created from the component manager.
//
static nsresult
RegisterGenericFactory(nsIComponentManager* compMgr, const nsCID& cid, const char* className,
const char *progid, nsIGenericFactory::ConstructorProcPtr constr)
{
nsresult rv;
nsIGenericFactory* fact;
rv = NS_NewGenericFactory(&fact, constr);
if (NS_FAILED(rv)) return rv;
rv = compMgr->RegisterFactory(cid, className, progid, fact, PR_TRUE);
NS_RELEASE(fact);
return rv;
}
nsIServiceManager* nsServiceManager::mGlobalServiceManager = NULL;
nsComponentManagerImpl* nsComponentManagerImpl::gComponentManager = NULL;
nsresult NS_InitXPCOM(nsIServiceManager* *result)
{
nsresult rv = NS_OK;
// 1. Create the Global Service Manager
nsIServiceManager* servMgr = NULL;
if (nsServiceManager::mGlobalServiceManager == NULL)
{
rv = NS_NewServiceManager(&servMgr);
if (NS_FAILED(rv)) return rv;
nsServiceManager::mGlobalServiceManager = servMgr;
if (result)
{
NS_ADDREF(servMgr);
*result = servMgr;
}
}
// 2. Create the Component Manager and register with global service manager
// It is understood that the component manager can use the global service manager.
nsComponentManagerImpl *compMgr = NULL;
if (nsComponentManagerImpl::gComponentManager == NULL)
{
compMgr = new nsComponentManagerImpl();
if (compMgr == NULL)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(compMgr);
rv = compMgr->Init();
if (NS_FAILED(rv))
{
NS_RELEASE(compMgr);
return rv;
}
nsComponentManagerImpl::gComponentManager = compMgr;
}
rv = servMgr->RegisterService(kComponentManagerCID, compMgr);
if (NS_FAILED(rv)) return rv;
// 3. Register the global services with the component manager so that
// clients can create new objects.
// Registry
nsIFactory *registryFactory = NULL;
rv = NS_RegistryGetFactory(&registryFactory);
if (NS_FAILED(rv)) return rv;
NS_DEFINE_CID(kRegistryCID, NS_REGISTRY_CID);
rv = compMgr->RegisterFactory(kRegistryCID,
NS_REGISTRY_CLASSNAME,
NS_REGISTRY_PROGID,
registryFactory, PR_TRUE);
NS_RELEASE(registryFactory);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kAllocatorCID,
NS_ALLOCATOR_CLASSNAME,
NS_ALLOCATOR_PROGID,
nsAllocatorImpl::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kArenaCID,
NS_ARENA_CLASSNAME,
NS_ARENA_PROGID,
ArenaImpl::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kBufferCID,
NS_BUFFER_CLASSNAME,
NS_BUFFER_PROGID,
nsBuffer::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kByteBufferCID,
NS_BYTEBUFFER_CLASSNAME,
NS_BYTEBUFFER_PROGID,
ByteBufferImpl::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kFileSpecCID,
NS_FILESPEC_CLASSNAME,
NS_FILESPEC_PROGID,
nsFileSpecImpl::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kDirectoryIteratorCID,
NS_DIRECTORYITERATOR_CLASSNAME,
NS_DIRECTORYITERATOR_PROGID,
nsDirectoryIteratorImpl::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kPageManagerCID,
NS_PAGEMANAGER_CLASSNAME,
NS_PAGEMANAGER_PROGID,
nsPageMgr::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kPropertiesCID,
NS_PROPERTIES_CLASSNAME,
NS_PROPERTIES_PROGID,
nsProperties::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kPersistentPropertiesCID,
NS_PERSISTENTPROPERTIES_CLASSNAME,
NS_PERSISTENTPROPERTIES_PROGID,
nsPersistentProperties::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kSupportsArrayCID,
NS_SUPPORTSARRAY_CLASSNAME,
NS_SUPPORTSARRAY_PROGID,
nsSupportsArray::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, nsObserver::GetCID(),
NS_OBSERVER_CLASSNAME,
NS_OBSERVER_PROGID,
nsObserver::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, nsObserverService::GetCID(),
NS_OBSERVERSERVICE_CLASSNAME,
NS_OBSERVERSERVICE_PROGID,
nsObserverService::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kGenericFactoryCID,
NS_GENERICFACTORY_CLASSNAME,
NS_GENERICFACTORY_PROGID,
nsGenericFactory::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kEventQueueServiceCID,
NS_EVENTQUEUESERVICE_CLASSNAME,
NS_EVENTQUEUESERVICE_PROGID,
nsEventQueueServiceImpl::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr, kEventQueueCID,
NS_EVENTQUEUE_CLASSNAME,
NS_EVENTQUEUE_PROGID,
nsEventQueueImpl::Create);
if (NS_FAILED(rv)) return rv;
rv = RegisterGenericFactory(compMgr,
kProxyObjectManagerCID,
NS_XPCOMPROXY_CLASSNAME,
NS_XPCOMPROXY_PROGID,
nsProxyObjectManager::Create);
// Prepopulate registry for performance
nsComponentManagerImpl::gComponentManager->PlatformPrePopulateRegistry();
return rv;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,8 @@
nsIComponentManager.h
nsIFactory.h
nsIGenericFactory.h
nsIRegistry.h
nsIServiceManager.h
nsIServiceProvider.h
nsRepository.h
nsXPComFactory.h

View File

@@ -0,0 +1,72 @@
#!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
LIBRARY_NAME = xpcomcomponents_s
MODULE = xpcom
XPIDLSRCS = \
$(NULL)
CPPSRCS = \
nsComponentManager.cpp \
nsGenericFactory.cpp \
nsRegistry.cpp \
nsRepository.cpp \
nsServiceManager.cpp \
xcDll.cpp \
$(NULL)
EXPORTS = \
nsIComponentManager.h \
nsIFactory.h \
nsIGenericFactory.h \
nsIRegistry.h \
nsIServiceManager.h \
nsIServiceProvider.h \
nsRepository.h \
nsXPComFactory.h \
$(NULL)
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
DEFINES += -DUSE_NSREG -D_IMPL_NS_COM -D_IMPL_NS_BASE
REQUIRES = xpcom libreg
LOCAL_INCLUDES += \
-I$(srcdir)/../base \
-I$(srcdir)/../thread \
$(NULL)
MKSHLIB :=
# we don't want the shared lib, but we want to force the creation of a static lib.
override NO_SHARED_LIB=1
override NO_STATIC_LIB=
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,69 @@
#!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.
IGNORE_MANIFEST=1
DEPTH=..\..
MODULE = xpcom
################################################################################
## exports
EXPORTS = \
nsIComponentManager.h \
nsIFactory.h \
nsIGenericFactory.h \
nsIRegistry.h \
nsIServiceManager.h \
nsIServiceProvider.h \
nsRepository.h \
nsXPComFactory.h \
$(NULL)
XPIDLSRCS = \
$(NULL)
################################################################################
## library
LIBRARY_NAME=xpcomcomp_s
LINCS = \
-I$(PUBLIC)\xpcom \
-I$(PUBLIC)\libreg \
-I..\base \
-I..\threads \
$(NULL)
LCFLAGS = -DUSE_NSREG -D_IMPL_NS_COM -D_IMPL_NS_BASE -DWIN32_LEAN_AND_MEAN
CPP_OBJS = \
.\$(OBJDIR)\nsComponentManager.obj \
.\$(OBJDIR)\nsGenericFactory.obj \
.\$(OBJDIR)\nsRegistry.obj \
.\$(OBJDIR)\nsRepository.obj \
.\$(OBJDIR)\nsServiceManager.obj \
.\$(OBJDIR)\xcDll.obj \
$(NULL)
include <$(DEPTH)\config\rules.mak>
libs:: $(LIBRARY)
$(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib
clobber::
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib

View File

@@ -0,0 +1,168 @@
/* -*- 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 __mozIClassRegistry_h
#define __mozIClassRegistry_h
#include "nsIComponentManager.h"
/*---------------------------- mozIClassRegistry -------------------------------
| This interface provides access to a mapping from mnemonic interface names |
| to shared libraries where implementations of those interfaces can be located.|
| |
| This interface is designed to provide two things: |
| 1. A means of less static binding between clients and the code that |
| implements the XPCOM interfaces those clients use. This accomplished |
| by the mapping from interface names to nsCID (and the shared libraries |
| that implement those classes). |
| 2. A means of dynamically changing the mapping from interface name to |
| implementation. The canonical example of this is to switch to a |
| "native" widget set versus an "XP" (implemented using gfx) set. |
| |
| The first goal is achieved by storing (in a "Netscape Registry" file, see |
| nsReg.h) information that maps interface/class "names" to information about |
| where to load implementations of those interfaces. That information |
| includes the interface ID, class ID (of the implementation class), and the |
| name of the shared library that contains the implementation. |
| |
| The class registry object will register those classes with the "repository" |
| (see nsComponentManager.h) the first time a request is made to create an |
| instance. Subsequent requests will simply be forwarded to the repository |
| after the appropriate interface and class IDs are determined. |
| |
| The second goal is accomplished by permitting the mnemonic interface |
| "names" to be "overloaded", that is, mapped to distinct implementations |
| by separate class registry objects. Further, class registries can be |
| cascaded: they can be chained together so that when a name is not |
| recognized by one registry, it can pass the request to the next registry in |
| the chain. Users can control resolution by making the request of a |
| registry further up/down the chain. |
| |
| For example, consider the case of "native" vs. "gfx" widgets. This might |
| be structured by a class registry arrangment like this: |
| |
| nativeWidgetRegistry baseWidgetRegistry |
| +----------+ +----------+ |
| | ----+---------------->| | |
| +----------+ +----------+ |
| |toolbar| -+-----+ |toolbar| -+-----+ |
| +----------+ | +----------+ | |
| |button | -+-----+ |button | -+-----+ |
| +----------+ | +----------+ | |
| V V |
| +-----------------+ +-----------------+ |
| | native.dll | | base.dll | |
| +-----------------+ +-----------------+ |
| |
| If a specialized implementation of widgets is present (e.g., native.dll) |
| then a corresponding class registry object is created and added to the |
| head of the registry chain. Object creation requests (normal ones) are |
| resolved to the native implementation. If such a library is not present, |
| then the resolution is to the base implementation. If objects of the |
| base implementation are required, then creation requests can be directed |
| directly to the baseWidgetRegistry object, rather than the head of the |
| registry chain. |
| |
| It is intended that there be a single instance of this interface, accessed |
| via the Service Manager (see nsServiceManager.h). |
------------------------------------------------------------------------------*/
struct mozIClassRegistry : public ISupports {
/*------------------------------ CreateInstance ----------------------------
| Create an instance of the requested class/interface. The interface |
| ID is required to specify how the result will be treated. The class |
| named by aName must support this interface. The result is placed in |
| ncomment aResult (NULL if the request fails). "start" specifies the |
| registry at which the search for an implementation of the named |
| interface should start. It defaults to 0 (indicating to start at the |
| head of the registry chain). |
--------------------------------------------------------------------------*/
NS_IMETHOD CreateInstance( const char *anInterfaceName,
const nsIID &aIID,
void* *aResult,
const char *start = 0 ) = 0;
/*--------------------------- CreateEnumerator -----------------------------
| Creates an nsIEnumerator interface object that can be used to examine |
| the contents of the registry. "pattern" specifies either "*" or the |
| name of a specific interface that you want to query. "result" will |
| be set to point to a new object (which will be freed on the last call |
| to its Release() member). See nsIEnumerator.h for details on how to |
| use the returned interface pointer. |
--------------------------------------------------------------------------*/
NS_IMETHOD CreateEnumerator( const char *pattern,
nsIEnumerator* *result ) = 0;
}; // mozIClassRegistry
/*-------------------------- mozIClassRegistryEntry ----------------------------
| Objects of this class represent the individual elements that comprise a |
| mozIClassRegistry interface. You obtain such objects by applying the |
| CreateEnumerator member function to the class registry and then applying |
| the CurrentItem member function to the resulting nsIEnumerator interface. |
| |
| Each entry can be queried for the following information: |
| o sub-registry name |
| o interface name |
| o Class ID |
| o IIDs implemented |
| |
| The information obtained from the entry (specifically, the const char* |
| strings) remains valid for the life of the entry (i.e., until you |
| Release() it). |
| |
| Here is an example of code that uses this interface to dump the contents |
| of a mozIClassRegistry: |
| |
| mozIClassRegistry *reg = nsServiceManager::GetService( kIDRegistry ); |
| nsIEnumerator *enum; |
| reg->CreateEnumerator( "*", &enum ); |
| for ( enum->First(); !enum->IsDone(); enum->Next(); ) { |
| mozIClassRegistryEntry *entry; |
| enum->CurrentItem( &entry ); |
| const char *subreg; |
| const char *name; |
| nsCID cid; |
| int numIIDs; |
| entry->GetSubRegistryName( &subreg ); |
| entry->GetInterfaceName( &name ); |
| entry->GetClassID( &cid ); |
| entry->GetNumIIDs( &numIIDs ); |
| cout << subreg << "/" << name << " = " << cid.ToString() << endl; |
| for ( int i = 0; i < numIIDs; i++ ) { |
| nsIID iid; |
| entry->GetInterfaceID( i, &iid ); |
| cout << "/tIID[" << i << "] = " << iid.ToString() << endl; |
| } |
| entry->Release(); |
| } |
| enum->Release(); |
------------------------------------------------------------------------------*/
struct mozIClassRegistryEntry : public nsISupports {
NS_IMETHOD GetSubRegistryName( const char **result ) = 0;
NS_IMETHOD GetInterfaceName( const char **result ) = 0;
NS_IMETHOD GetClassID( nsCID *result ) = 0;
NS_IMETHOD GetNumIIDs( int *result ) = 0;
NS_IMETHOD GetInterfaceID( int n, nsIID *result ) = 0;
}; // mozIClassRegistryEntry
// {5D41A440-8E37-11d2-8059-00600811A9C3}
#define MOZ_ICLASSREGISTRY_IID { 0x5d41a440, 0x8e37, 0x11d2, { 0x80, 0x59, 0x0, 0x60, 0x8, 0x11, 0xa9, 0xc3 } }
// {D1B54831-AC07-11d2-805E-00600811A9C3}
#define MOZ_ICLASSREGISTRYENTRY_IID { 0xd1b54831, 0xac07, 0x11d2, { 0x80, 0x5e, 0x0, 0x60, 0x8, 0x11, 0xa9, 0xc3 } }
#endif

View File

@@ -0,0 +1,326 @@
/* -*- 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 __mozIRegistry_h
#define __mozIRegistry_h
#include "nsISupports.h"
class nsIEnumerator;
/*------------------------------- mozIRegistry ---------------------------------
| This interface provides access to a tree of arbitrary values. |
| |
| Each node of the tree contains either a value or a subtree or both. |
| |
| The value at any of these leaf nodes can be any of these "primitive" types: |
| o string (null terminated UTF string) |
| o array of 32-bit integers |
| o arbitrary array of bytes |
| o file identifier |
| Of course, since you can store an arbitrary array of bytes, you can put |
| any data you like into a registry (although you have the burden of |
| encoding/decoding your data in that case). |
| |
| Each branch of the tree is labelled with a string "key." The entire path |
| from a given point of the tree to another point further down can be |
| presented as a single string composed of each branch's label, concatenated |
| to the next, with an intervening forward slash ('/'). The term "key" |
| refers to both specific tree branch labels and to such concatenated paths. |
| |
| The branches from a given node must have unique labels. Distinct nodes can |
| have branches with the same label. |
| |
| For example, here's a small registry tree: |
| | |
| /\ |
| / \ |
| / \ |
| / \ |
| "Classes" "Users" |
| / \ |
| / \ |
| / ["joe"] |
| / / \ |
| | / \ |
| /\ / \ |
| / \ "joe" "bob" |
| / \ / \ |
| / \ |
| "{xxxx-xx-1}" "{xxxx-xx-2}" ["c:/joe"] ["d:/Robert"] |
| | | |
| /\ /\ |
| / \ / \ |
| / \ / \ |
| "Library" "Version" "Library" "Version" |
| / \ / \ |
| ["foo.dll"] 2 ["bar.dll"] 1 |
| |
| In this example, there are 2 keys under the root: "Classes" and "Users". |
| The first denotes a subtree only (which has two subtrees, ...). The second |
| denotes both a value ["joe"] and two subtrees labelled "joe" and "bob". |
| The value at the node "/Users" is ["joe"], at "/Users/bob" is ["d:/Robert"]. |
| The value at "/Classes/{xxxx-xx-1}/Version" is 2. |
| |
| The registry interface provides functions that let you navigate the tree |
| and manipulate it's contents. |
| |
| Please note that the registry itself does not impose any structure or |
| meaning on the contents of the tree. For example, the registry doesn't |
| control whether the value at the key "/Users" is the label for the subtree |
| with information about the last active user. That meaning is applied by |
| the code that stores these values and uses them for that purpose. |
| |
| [Any resemblence between this example and actual contents of any actual |
| registry is purely coincidental.] |
------------------------------------------------------------------------------*/
struct mozIRegistry : public nsISupports {
/*------------------------------ Constants ---------------------------------
| The following enumerated types and values are used by the registry |
| interface. |
--------------------------------------------------------------------------*/
typedef enum {
String = 1,
Int32,
Bytes,
File
} DataType;
/*-------------------------------- Types -----------------------------------
| The following data types are used by this interface. All are basically |
| opaque types. You obtain objects of these types via certain member |
| function calls and re-use them later (without having to know what they |
| contain). |
| |
| Key - Placeholder to represent a particular node in a registry |
| tree. There are 3 enumerated values that correspond to |
| specific nodes: |
| Common - Where most stuff goes. |
| Users - Special subtree to hold info about |
| "users"; if you don't know what goes |
| here, don't mess with it. |
| CurrentUser - Subtree under Users corresponding to |
| whatever user is designed the "current" |
| one; see note above. |
| You can specify any of these enumerated values as "keys" |
| on any member function that takes a mozRegistry::Key. |
| ValueInfo - Structure describing a registry value. |
--------------------------------------------------------------------------*/
typedef uint32 Key;
enum { Users = 1, Common = 2, CurrentUser = 3 };
struct ValueInfo {
DataType type;
uint32 length;
};
/*--------------------------- Opening/Closing ------------------------------
| These functions open the specified registry file (Open() with a non-null |
| argument) or the default "standard" registry file (Open() with a null |
| argument or OpenDefault()). |
| |
| Once opened, you can access the registry contents via the read/write |
| or query functions. |
| |
| The registry file will be closed automatically when the registry object |
| is destroyed. You can close the file prior to that by using the |
| Close() function. |
--------------------------------------------------------------------------*/
NS_IMETHOD Open( const char *regFile = 0 ) = 0;
NS_IMETHOD OpenDefault() = 0;
NS_IMETHOD Close() = 0;
/*----------------------- Reading/Writing Values ---------------------------
| These functions read/write the registry values at a given node. |
| |
| All functions require you to specify where in the registry key to |
| get/set the value. The location is specified using two components: |
| o A "base key" indicating where to start from; this is a value of type |
| mozIRegistry::Key. You use either one of the special "root" key |
| values or a subkey obtained via some other member function call. |
| o A "relative path," expressed as a sequence of subtree names |
| separated by forward slashes. This path describes how to get from |
| the base key to the node at which you want to store the data. This |
| component can be a null pointer which means the value goes directly |
| at the node denoted by the base key. |
| |
| When you request a value of a given type, the data stored at the |
| specified node must be of the type requested. If not, an error results. |
| |
| GetString - Obtains a newly allocated copy of a string type value. The |
| caller is obligated to free the returned string using |
| PR_Free. |
| SetString - Stores the argument string at the specified node. |
| GetInt - Obtains an int32 value at the specified node. The result |
| is returned into an int32 location you specify. |
| SetInt - Stores a given int32 value at a node. |
| GetBytes - Obtains a byte array value; this returns both an allocated |
| array of bytes and a length (necessary because there may be |
| embedded null bytes in the array). You must free the |
| resulting array using PR_Free. |
| SetBytes - Stores a given array of bytes; you specify the bytes via a |
| pointer and a length. |
| GetIntArray - Obtains the array of int32 values stored at a given node. |
| The result is composed of two values: a pointer to an |
| array of integer values (which must be freed using |
| PR_Free) and the number of elements in that array. |
| SetIntArray - Stores a set of int32 values at a given node. You must |
| provide a pointer to the array and the number of entries. |
--------------------------------------------------------------------------*/
NS_IMETHOD GetString( Key baseKey, const char *path, char **result ) = 0;
NS_IMETHOD SetString( Key baseKey, const char *path, const char *value ) = 0;
NS_IMETHOD GetInt( Key baseKey, const char *path, int32 *result ) = 0;
NS_IMETHOD SetInt( Key baseKey, const char *path, int32 value ) = 0;
NS_IMETHOD GetBytes( Key baseKey, const char *path, void **result, uint32 *len ) = 0;
NS_IMETHOD SetBytes( Key baseKey, const char *path, void *value, uint32 len ) = 0;
NS_IMETHOD GetIntArray( Key baseKey, const char *path, int32 **result, uint32 *len ) = 0;
NS_IMETHOD SetIntArray( Key baseKey, const char *path, const int32 *value, uint32 len ) = 0;
/*------------------------------ Navigation --------------------------------
| These functions let you navigate through the registry tree, querying |
| its contents. |
| |
| As above, all these functions requires a starting tree location ("base |
| key") specified as a mozIRegistry::Key. Some also require a path |
| name to locate the registry node location relative to this base key. |
| |
| AddSubtree - Adds a new registry subtree at the specified |
| location. Returns the resulting key in |
| the location specified by the third argument |
| (unless that pointer is 0). |
| RemoveNode - Removes the specified registry subtree or |
| value at the specified location. |
| GetSubtree - Returns a mozIRegistry::Key that can be used |
| to refer to the specified registry location. |
| EnumerateSubtrees - Returns a nsIEnumerator object that you can |
| use to enumerate all the subtrees descending |
| from a specified location. You must free the |
| enumerator via Release() when you're done with |
| it. |
| EnumerateAllSubtrees - Like EnumerateSubtrees, but will recursively |
| enumerate lower-level subtrees, too. |
| GetValueInfo - Returns a uint32 value that designates the type |
| of data stored at this location in the registry; |
| the possible values are defined by the enumerated |
| type mozIRegistry::DataType. |
| GetValueLength - Returns a uint32 value that indicates the length |
| of this registry value; the length is the number |
| of characters (for Strings), the number of bytes |
| (for Bytes), or the number of int32 values (for |
| Int32). |
| EnumerateValues - Returns a nsIEnumerator that you can use to |
| enumerate all the value nodes descending from |
| a specified location. |
--------------------------------------------------------------------------*/
NS_IMETHOD AddSubtree( Key baseKey, const char *path, Key *result ) = 0;
NS_IMETHOD RemoveSubtree( Key baseKey, const char *path ) = 0;
NS_IMETHOD GetSubtree( Key baseKey, const char *path, Key *result ) = 0;
NS_IMETHOD EnumerateSubtrees( Key baseKey, nsIEnumerator **result ) = 0;
NS_IMETHOD EnumerateAllSubtrees( Key baseKey, nsIEnumerator **result ) = 0;
NS_IMETHOD GetValueType( Key baseKey, const char *path, uint32 *result ) = 0;
NS_IMETHOD GetValueLength( Key baseKey, const char *path, uint32 *result ) = 0;
NS_IMETHOD EnumerateValues( Key baseKey, nsIEnumerator **result ) = 0;
/*------------------------------ User Name ---------------------------------
| These functions manipulate the current "user name." This value controls |
| the behavior of certain registry functions (namely, ?). |
| |
| GetCurrentUserName allocates a copy of the current user name (which the |
| caller should free using PR_Free). |
--------------------------------------------------------------------------*/
NS_IMETHOD GetCurrentUserName( char **result ) = 0;
NS_IMETHOD SetCurrentUserName( const char *name ) = 0;
/*------------------------------ Utilities ---------------------------------
| Various utility functions: |
| |
| Pack() is used to compress the contents of an open registry file. |
--------------------------------------------------------------------------*/
NS_IMETHOD Pack() = 0;
}; // mozIRegistry
/*----------------------------- mozIRegistryNode -------------------------------
| This interface is implemented by all the objects obtained from the |
| nsIEnumerators that mozIRegistry provides when you call either of the |
| subtree enumeration functions EnumerateSubtrees or EnumerateAllSubtrees. |
| |
| You can call this function to get the name of this subtree. This is the |
| relative path from the base key from which you got this interface. |
| |
| GetName - Returns the path name of this node; this is the relative path |
| from the base key from which this subtree was obtained. The |
| function allocates a copy of the name; the caller must free it |
| using PR_Free. |
------------------------------------------------------------------------------*/
struct mozIRegistryNode : public nsISupports {
NS_IMETHOD GetName( char **result ) = 0;
}; // mozIRegistryNode
/*----------------------------- mozIRegistryValue ------------------------------
| This interface is implemented by the objects obtained from the |
| nsIEnumerators that mozIRegistry provides when you call the |
| EnumerateValues function. An object supporting this interface is |
| returned when you call the CurrentItem() function on that enumerator. |
| |
| You use the member functions of this interface to obtain information |
| about each registry value. |
| |
| GetName - Returns the path name of this node; this is the relative |
| path\ from the base key from which this value was obtained. |
| The function allocates a copy of the name; the caller must |
| subsequently free it via PR_Free. |
| GetValueType - Returns (into a location provided by the caller) the type |
| of the value; the types are defined by the enumerated |
| type mozIRegistry::DataType. |
| GetValueLength - Returns a uint32 value that indicates the length |
| of this registry value; the length is the number |
| of characters (for Strings), the number of bytes |
| (for Bytes), or the number of int32 values (for |
| Int32). |
------------------------------------------------------------------------------*/
struct mozIRegistryValue : public nsISupports {
NS_IMETHOD GetName( char **result ) = 0;
NS_IMETHOD GetValueType( uint32 *result ) = 0;
NS_IMETHOD GetValueLength( uint32 *result ) = 0;
}; // mozIRegistryEntry
/*------------------------------- Error Codes ----------------------------------
------------------------------------------------------------------------------*/
#define NS_ERROR_REG_BADTYPE NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 1 )
#define NS_ERROR_REG_NO_MORE NS_ERROR_GENERATE_SUCCESS( NS_ERROR_MODULE_REG, 2 )
#define NS_ERROR_REG_NOT_FOUND NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 3 )
#define NS_ERROR_REG_NOFILE NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 4 )
#define NS_ERROR_REG_BUFFER_TOO_SMALL NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 5 )
#define NS_ERROR_REG_NAME_TOO_LONG NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 6 )
#define NS_ERROR_REG_NO_PATH NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 7 )
#define NS_ERROR_REG_READ_ONLY NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 8 )
#define NS_ERROR_REG_BAD_UTF8 NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 9 )
// {5D41A440-8E37-11d2-8059-00600811A9C3}
#define MOZ_IREGISTRY_IID { 0x5d41a440, 0x8e37, 0x11d2, { 0x80, 0x59, 0x0, 0x60, 0x8, 0x11, 0xa9, 0xc3 } }
// {D1B54831-AC07-11d2-805E-00600811A9C3}
#define MOZ_IREGISTRYNODE_IID { 0xd1b54831, 0xac07, 0x11d2, { 0x80, 0x5e, 0x0, 0x60, 0x8, 0x11, 0xa9, 0xc3 } }
// {5316C380-B2F8-11d2-A374-0080C6F80E4B}
#define MOZ_IREGISTRYVALUE_IID { 0x5316c380, 0xb2f8, 0x11d2, { 0xa3, 0x74, 0x0, 0x80, 0xc6, 0xf8, 0xe, 0x4b } }
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,260 @@
/* -*- 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.
*/
#ifndef nsComponentManager_h__
#define nsComponentManager_h__
#include "nsIComponentManager.h"
#include "nsIRegistry.h"
#include "nsHashtable.h"
#include "prtime.h"
#include "prmon.h"
class nsFactoryEntry;
class nsDll;
// Registry Factory creation function defined in nsRegistry.cpp
// We hook into this function locally to create and register the registry
// Since noone outside xpcom needs to know about this and nsRegistry.cpp
// does not have a local include file, we are putting this definition
// here rather than in nsIRegistry.h
extern "C" NS_EXPORT nsresult NS_RegistryGetFactory(nsIFactory** aFactory);
////////////////////////////////////////////////////////////////////////////////
class nsComponentManagerImpl : public nsIComponentManager {
public:
NS_DECL_ISUPPORTS
// nsIComponentManager methods:
NS_IMETHOD FindFactory(const nsCID &aClass,
nsIFactory **aFactory);
// Finds a class ID for a specific Program ID
NS_IMETHOD ProgIDToCLSID(const char *aProgID,
nsCID *aClass);
// Finds a Program ID for a specific class ID
// caller frees the result with delete[]
NS_IMETHOD CLSIDToProgID(nsCID *aClass,
char* *aClassName,
char* *aProgID);
// Creates a class instance for a specific class ID
NS_IMETHOD CreateInstance(const nsCID &aClass,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult);
// Convenience routine, creates a class instance for a specific ProgID
NS_IMETHOD CreateInstance(const char *aProgID,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult);
// Manually registry a factory for a class
NS_IMETHOD RegisterFactory(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory *aFactory,
PRBool aReplace);
// Manually register a dynamically loaded component.
// The libraryPersistentDescriptor is what gets passed to the library
// self register function from ComponentManager. The format of this string
// is the same as nsIFileSpec::GetPersistentDescriptorString()
//
// This function will go away in favour of RegisterComponentSpec. In fact,
// it internally turns around and calls RegisterComponentSpec.
NS_IMETHOD RegisterComponent(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *aLibraryPersistentDescriptor,
PRBool aReplace,
PRBool aPersist);
// Register a component using its FileSpec as its identification
// This is the more prevalent use.
NS_IMETHOD RegisterComponentSpec(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFileSpec *aLibrary,
PRBool aReplace,
PRBool aPersist);
// Register a component using its dllName. This could be a dll name with
// no path so that LD_LIBRARY_PATH on unix or PATH on win can load it. Or
// this could be a code fragment name on the Mac.
NS_IMETHOD RegisterComponentLib(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *adllName,
PRBool aReplace,
PRBool aPersist);
// Manually unregister a factory for a class
NS_IMETHOD UnregisterFactory(const nsCID &aClass,
nsIFactory *aFactory);
// Manually unregister a dynamically loaded component
NS_IMETHOD UnregisterComponent(const nsCID &aClass,
const char *aLibrary);
// Unload dynamically loaded factories that are not in use
NS_IMETHOD FreeLibraries(void);
//////////////////////////////////////////////////////////////////////////////
// DLL registration support
// Autoregistration will try only files with these extensions.
// All extensions are case insensitive.
// ".dll", // Windows
// ".dso", // Unix
// ".so", // Unix
// ".sl", // Unix: HP
// ".shlb", // Mac
// ".dlm", // new for all platforms
//
//
NS_IMETHOD AutoRegister(RegistrationTime when, nsIFileSpec *directory);
NS_IMETHOD AutoRegisterComponent(RegistrationTime when, nsIFileSpec *component);
// nsComponentManagerImpl methods:
nsComponentManagerImpl();
virtual ~nsComponentManagerImpl();
static nsComponentManagerImpl* gComponentManager;
nsresult Init(void);
nsresult PlatformPrePopulateRegistry();
protected:
nsresult LoadFactory(nsFactoryEntry *aEntry, nsIFactory **aFactory);
nsFactoryEntry *GetFactoryEntry(const nsCID &aClass, PRBool checkRegistry);
nsresult SyncComponentsInDir(RegistrationTime when, nsIFileSpec *dirSpec);
nsresult SelfRegisterDll(nsDll *dll);
nsresult SelfUnregisterDll(nsDll *dll);
nsresult HashProgID(const char *aprogID, const nsCID &aClass);
nsDll *CreateCachedDll(const char *persistentDescriptor, PRUint32 modDate, PRUint32 size);
nsDll *CreateCachedDll(nsIFileSpec *dllSpec);
nsDll *CreateCachedDllName(const char *dllName);
// The following functions are the only ones that operate on the persistent
// registry
nsresult PlatformInit(void);
nsresult PlatformVersionCheck();
nsresult PlatformCreateDll(const char *fullname, nsDll* *result);
nsresult PlatformMarkNoComponents(nsDll *dll);
nsresult PlatformRegister(const char *cidString, const char *className, const char *progID, nsDll *dll);
nsresult PlatformUnregister(const char *cidString, const char *aLibrary);
nsresult PlatformFind(const nsCID &aCID, nsFactoryEntry* *result);
nsresult PlatformProgIDToCLSID(const char *aProgID, nsCID *aClass);
nsresult PlatformCLSIDToProgID(nsCID *aClass, char* *aClassName, char* *aProgID);
void PlatformGetFileInfo(nsIRegistry::Key Key, PRUint32 *lastModifiedTime, PRUint32 *fileSize);
void PlatformSetFileInfo(nsIRegistry::Key Key, PRUint32 lastModifiedTime, PRUint32 fileSize);
protected:
nsHashtable* mFactories;
nsHashtable* mProgIDs;
PRMonitor* mMon;
nsHashtable* mDllStore;
nsIRegistry* mRegistry;
nsIRegistry::Key mXPCOMKey;
nsIRegistry::Key mClassesKey;
nsIRegistry::Key mCLSIDKey;
};
#define NS_MAX_FILENAME_LEN 1024
#define NS_ERROR_IS_DIR NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_XPCOM, 24)
#ifdef XP_UNIX
/* The default registry on the unix system is $HOME/.mozilla/registry per
* vr_findGlobalRegName(). vr_findRegFile() will create the registry file
* if it doesn't exist. But it wont create directories.
*
* Hence we need to create the directory if it doesn't exist already.
*
* Why create it here as opposed to the app ?
* ------------------------------------------
* The app cannot create the directory in main() as most of the registry
* and initialization happens due to use of static variables.
* And we dont want to be dependent on the order in which
* these static stuff happen.
*
* Permission for the $HOME/.mozilla will be Read,Write,Execute
* for user only. Nothing to group and others.
*/
#define NS_MOZILLA_DIR_NAME ".mozilla"
#define NS_MOZILLA_DIR_PERMISSION 00700
#endif /* XP_UNIX */
#ifdef XP_BEOS
#define NS_MOZILLA_DIR_NAME "mozilla"
#define NS_MOZILLA_DIR_PERMISSION 00700
#endif /* XP_BEOS */
/**
* When using the registry we put a version number in it.
* If the version number that is in the registry doesn't match
* the following, we ignore the registry. This lets news versions
* of the software deal with old formats of registry and not
*
* alpha0.20 : First time we did versioning
* alpha0.30 : Changing autoreg to begin registration from ./components on unix
* alpha0.40 : repository -> component manager
* alpha0.50 : using nsIRegistry
* alpha0.60 : xpcom 2.0 landing
* alpha0.70 : using nsIFileSpec. PRTime -> PRUint32
*/
#define NS_XPCOM_COMPONENT_MANAGER_VERSION_STRING "alpha0.70"
////////////////////////////////////////////////////////////////////////////////
/**
* Class: nsFactoryEntry()
*
* There are two types of FactoryEntries.
*
* 1. {CID, dll} mapping.
* Factory is a consequence of the dll. These can be either session
* specific or persistent based on whether we write this
* to the registry or not.
*
* 2. {CID, factory} mapping
* These are strictly session specific and in memory only.
*/
class nsFactoryEntry {
public:
nsFactoryEntry(const nsCID &aClass, nsDll *dll);
nsFactoryEntry(const nsCID &aClass, nsIFactory *aFactory);
~nsFactoryEntry();
nsresult Init(nsHashtable* dllHashtable, const nsCID &aClass, const char *aLibrary,
PRTime lastModTime, PRUint32 fileSize);
nsCID cid;
nsIFactory *factory;
// DO NOT DELETE THIS. Many nsFactoryEntry(s) could be sharing the same Dll.
// This gets deleted from the dllStore going away.
nsDll *dll;
};
////////////////////////////////////////////////////////////////////////////////
#endif // nsComponentManager_h__

View File

@@ -0,0 +1,110 @@
/* -*- Mode: C++; 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 "nsGenericFactory.h"
nsGenericFactory::nsGenericFactory(ConstructorProcPtr constructor)
: mConstructor(constructor), mDestructor(NULL)
{
NS_INIT_ISUPPORTS();
}
nsGenericFactory::~nsGenericFactory()
{
if (mDestructor != NULL)
(*mDestructor) ();
}
NS_METHOD nsGenericFactory::QueryInterface(const nsIID& aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
if (aIID.Equals(nsIGenericFactory::GetIID()) ||
aIID.Equals(nsIFactory::GetIID()) ||
aIID.Equals(nsCOMTypeInfo<nsISupports>::GetIID())) {
*aInstancePtr = (nsIGenericFactory*) this;
NS_ADDREF_THIS();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsGenericFactory)
NS_IMPL_RELEASE(nsGenericFactory)
NS_IMETHODIMP nsGenericFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
return mConstructor(aOuter, aIID, aResult);
}
NS_IMETHODIMP nsGenericFactory::LockFactory(PRBool aLock)
{
return NS_OK;
}
NS_IMETHODIMP nsGenericFactory::SetConstructor(ConstructorProcPtr constructor)
{
mConstructor = constructor;
return NS_OK;
}
NS_IMETHODIMP nsGenericFactory::SetDestructor(DestructorProcPtr destructor)
{
mDestructor = destructor;
return NS_OK;
}
NS_METHOD nsGenericFactory::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr)
{
// sorry, aggregation not spoken here.
nsresult res = NS_ERROR_NO_AGGREGATION;
if (outer == NULL) {
nsGenericFactory* factory = new nsGenericFactory;
if (factory != NULL) {
res = factory->QueryInterface(aIID, aInstancePtr);
if (res != NS_OK)
delete factory;
} else {
res = NS_ERROR_OUT_OF_MEMORY;
}
}
return res;
}
NS_COM nsresult
NS_NewGenericFactory(nsIGenericFactory* *result,
nsIGenericFactory::ConstructorProcPtr constructor,
nsIGenericFactory::DestructorProcPtr destructor)
{
nsresult rv;
nsIGenericFactory* fact;
rv = nsGenericFactory::Create(NULL, nsIGenericFactory::GetIID(), (void**)&fact);
if (NS_FAILED(rv)) return rv;
rv = fact->SetConstructor(constructor);
if (NS_FAILED(rv)) goto error;
rv = fact->SetDestructor(destructor);
if (NS_FAILED(rv)) goto error;
*result = fact;
return rv;
error:
NS_RELEASE(fact);
return rv;
}

View File

@@ -0,0 +1,60 @@
/* -*- Mode: C++; 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.
*/
#ifndef nsGenericFactory_h___
#define nsGenericFactory_h___
#include "nsIGenericFactory.h"
/**
* Most factories follow this simple pattern, so why not just use a function pointer
* for most creation operations?
*/
class nsGenericFactory : public nsIGenericFactory {
public:
static const nsCID& CID() { static nsCID cid = NS_GENERICFACTORY_CID; return cid; }
nsGenericFactory(ConstructorProcPtr constructor = NULL);
virtual ~nsGenericFactory();
NS_DECL_ISUPPORTS
NS_IMETHOD CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult);
NS_IMETHOD LockFactory(PRBool aLock);
/**
* Establishes the generic factory's constructor function, which will be called
* by CreateInstance.
*/
NS_IMETHOD SetConstructor(ConstructorProcPtr constructor);
/**
* Establishes the generic factory's destructor function, which will be called
* whe the generic factory is deleted. This is used to notify the DLL that
* an instance of one of its generic factories is going away.
*/
NS_IMETHOD SetDestructor(DestructorProcPtr destructor);
static NS_METHOD Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr);
private:
ConstructorProcPtr mConstructor;
DestructorProcPtr mDestructor;
};
#endif /* nsGenericFactory_h___ */

View File

@@ -0,0 +1,286 @@
/* -*- 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 nsIComponentManager_h__
#define nsIComponentManager_h__
#include "prtypes.h"
#include "nsCom.h"
#include "nsID.h"
#include "nsError.h"
#include "nsISupports.h"
#include "nsIFactory.h"
#include "nsIFileSpec.h"
/*
* Prototypes for dynamic library export functions. Your DLL/DSO needs to export
* these methods to play in the component world.
*/
extern "C" NS_EXPORT nsresult NSGetFactory(nsISupports* aServMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" NS_EXPORT PRBool NSCanUnload(nsISupports* aServMgr);
extern "C" NS_EXPORT nsresult NSRegisterSelf(nsISupports* aServMgr, const char *fullpath);
extern "C" NS_EXPORT nsresult NSUnregisterSelf(nsISupports* aServMgr, const char *fullpath);
typedef nsresult (*nsFactoryProc)(nsISupports* aServMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
typedef PRBool (*nsCanUnloadProc)(nsISupports* aServMgr);
typedef nsresult (*nsRegisterProc)(nsISupports* aServMgr, const char *path);
typedef nsresult (*nsUnregisterProc)(nsISupports* aServMgr, const char *path);
#define NS_ICOMPONENTMANAGER_IID \
{ /* 8458a740-d5dc-11d2-92fb-00e09805570f */ \
0x8458a740, \
0xd5dc, \
0x11d2, \
{0x92, 0xfb, 0x00, 0xe0, 0x98, 0x05, 0x57, 0x0f} \
}
#define NS_COMPONENTMANAGER_CID \
{ /* 91775d60-d5dc-11d2-92fb-00e09805570f */ \
0x91775d60, \
0xd5dc, \
0x11d2, \
{0x92, 0xfb, 0x00, 0xe0, 0x98, 0x05, 0x57, 0x0f} \
}
/*
* nsIComponentManager interface
*/
class nsIComponentManager : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ICOMPONENTMANAGER_IID)
NS_IMETHOD FindFactory(const nsCID &aClass,
nsIFactory **aFactory) = 0;
// Finds a class ID for a specific Program ID
NS_IMETHOD ProgIDToCLSID(const char *aProgID,
nsCID *aClass) = 0;
// Finds a Program ID for a specific class ID
// caller frees the result with delete[]
NS_IMETHOD CLSIDToProgID(nsCID *aClass,
char* *aClassName,
char* *aProgID) = 0;
// Creates a class instance for a specific class ID
NS_IMETHOD CreateInstance(const nsCID &aClass,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult) = 0;
// Convenience routine, creates a class instance for a specific ProgID
NS_IMETHOD CreateInstance(const char *aProgID,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult) = 0;
// Manually registry a factory for a class
NS_IMETHOD RegisterFactory(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory *aFactory,
PRBool aReplace) = 0;
// Manually register a dynamically loaded component.
// The libraryPersistentDescriptor is what gets passed to the library
// self register function from ComponentManager. The format of this string
// is the same as nsIFileSpec::GetPersistentDescriptorString()
//
// This function will go away in favour of RegisterComponentSpec. In fact,
// it internally turns around and calls RegisterComponentSpec.
NS_IMETHOD RegisterComponent(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *aLibraryPersistentDescriptor,
PRBool aReplace,
PRBool aPersist) = 0;
// Register a component using its FileSpec as its identification
// This is the more prevalent use.
NS_IMETHOD RegisterComponentSpec(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFileSpec *aLibrary,
PRBool aReplace,
PRBool aPersist) = 0;
// Register a component using its dllName. This could be a dll name with
// no path so that LD_LIBRARY_PATH on unix or PATH on win can load it. Or
// this could be a code fragment name on the Mac.
NS_IMETHOD RegisterComponentLib(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *adllName,
PRBool aReplace,
PRBool aPersist) = 0;
// Manually unregister a factory for a class
NS_IMETHOD UnregisterFactory(const nsCID &aClass,
nsIFactory *aFactory) = 0;
// Manually unregister a dynamically loaded component
NS_IMETHOD UnregisterComponent(const nsCID &aClass,
const char *aLibrary) = 0;
// Unload dynamically loaded factories that are not in use
NS_IMETHOD FreeLibraries(void) = 0;
//////////////////////////////////////////////////////////////////////////////
// DLL registration support
// Autoregistration will try only files with these extensions.
// All extensions are case insensitive.
// ".dll", // Windows
// ".dso", // Unix
// ".so", // Unix
// ".sl", // Unix: HP
// ".shlb", // Mac
// ".dlm", // new for all platforms
//
// Directory and fullname are what NSPR will accept. For eg.
// MAC /Hard drive/mozilla/dist/bin
// WIN y:\Hard drive\mozilla\dist\bin (or) y:/Hard drive/mozilla/dist/bin
// UNIX /Hard drive/mozilla/dist/bin
//
enum RegistrationTime {
NS_Startup = 0,
NS_Script = 1,
NS_Timer = 2
};
NS_IMETHOD AutoRegister(RegistrationTime when, nsIFileSpec* directory) = 0;
NS_IMETHOD AutoRegisterComponent(RegistrationTime when, nsIFileSpec *component) = 0;
};
////////////////////////////////////////////////////////////////////////////////
extern NS_COM nsresult
NS_GetGlobalComponentManager(nsIComponentManager* *result);
////////////////////////////////////////////////////////////////////////////////
// Global Static Component Manager Methods
// (for when you need to link with xpcom)
class NS_COM nsComponentManager {
public:
static nsresult Initialize(void);
// Finds a factory for a specific class ID
static nsresult FindFactory(const nsCID &aClass,
nsIFactory **aFactory);
// Finds a class ID for a specific Program ID
static nsresult ProgIDToCLSID(const char *aProgID,
nsCID *aClass);
// Finds a Program ID for a specific class ID
// caller frees the result with delete[]
static nsresult CLSIDToProgID(nsCID *aClass,
char* *aClassName,
char* *aProgID);
// Creates a class instance for a specific class ID
static nsresult CreateInstance(const nsCID &aClass,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult);
// Convenience routine, creates a class instance for a specific ProgID
static nsresult CreateInstance(const char *aProgID,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult);
// Manually registry a factory for a class
static nsresult RegisterFactory(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory *aFactory,
PRBool aReplace);
// Manually register a dynamically loaded component.
// The libraryPersistentDescriptor is what gets passed to the library
// self register function from ComponentManager. The format of this string
// is the same as nsIFileSpec::GetPersistentDescriptorString()
//
// This function will go away in favour of RegisterComponentSpec. In fact,
// it internally turns around and calls RegisterComponentSpec.
static nsresult RegisterComponent(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *aLibraryPersistentDescriptor,
PRBool aReplace,
PRBool aPersist);
// Register a component using its FileSpec as its identification
// This is the more prevalent use.
static nsresult RegisterComponentSpec(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFileSpec *aLibrary,
PRBool aReplace,
PRBool aPersist);
// Register a component using its dllName. This could be a dll name with
// no path so that LD_LIBRARY_PATH on unix or PATH on win can load it. Or
// this could be a code fragment name on the Mac.
static nsresult RegisterComponentLib(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *adllName,
PRBool aReplace,
PRBool aPersist);
// Manually unregister a factory for a class
static nsresult UnregisterFactory(const nsCID &aClass,
nsIFactory *aFactory);
// Manually unregister a dynamically loaded component
static nsresult UnregisterComponent(const nsCID &aClass,
const char *aLibrary);
// Unload dynamically loaded factories that are not in use
static nsresult FreeLibraries(void);
//////////////////////////////////////////////////////////////////////////////
// DLL registration support
// If directory is NULL, then AutoRegister will try registering components
// in the default components directory which is got by
// nsSpecialSystemDirectory(XPCOM_CurrentProcessComponentDirectory)
static nsresult AutoRegister(nsIComponentManager::RegistrationTime when,
nsIFileSpec* directory);
static nsresult AutoRegisterComponent(nsIComponentManager::RegistrationTime when,
nsIFileSpec *component);
};
////////////////////////////////////////////////////////////////////////////////
#endif

View File

@@ -0,0 +1,39 @@
/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM nsIFactory.idl
*/
#ifndef __gen_nsIFactory_h__
#define __gen_nsIFactory_h__
#include "nsISupports.h" /* interface nsISupports */
#include "nsrootidl.h" /* interface nsrootidl */
#ifdef XPIDL_JS_STUBS
#include "jsapi.h"
#endif
/* starting interface: nsIFactory */
/* {00000001-0000-0000-c000-000000000046} */
#define NS_IFACTORY_IID_STR "00000001-0000-0000-c000-000000000046"
#define NS_IFACTORY_IID \
{0x00000001, 0x0000, 0x0000, \
{ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 }}
class nsIFactory : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_IFACTORY_IID)
/* voidStar CreateInstance (in nsISupports aOuter, in nsIIDRef iid); */
NS_IMETHOD CreateInstance(nsISupports *aOuter, const nsIID & iid, void * *_retval) = 0;
/* void LockFactory (in PRBool lock); */
NS_IMETHOD LockFactory(PRBool lock) = 0;
#ifdef XPIDL_JS_STUBS
static NS_EXPORT_(JSObject *) InitJSClass(JSContext *cx);
static NS_EXPORT_(JSObject *) GetJSObject(JSContext *cx, nsIFactory *priv);
#endif
};
#endif /* __gen_nsIFactory_h__ */

View File

@@ -0,0 +1,29 @@
/* -*- 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"
[object, uuid(00000001-0000-0000-c000-000000000046)]
interface nsIFactory : nsISupports {
voidStar CreateInstance(in nsISupports aOuter,
in nsIIDRef iid);
void LockFactory(in PRBool lock);
};

View File

@@ -0,0 +1,95 @@
/* -*- Mode: C++; 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.
*/
#ifndef nsIGenericFactory_h___
#define nsIGenericFactory_h___
#include "nsIFactory.h"
// {3bc97f01-ccdf-11d2-bab8-b548654461fc}
#define NS_GENERICFACTORY_CID \
{ 0x3bc97f01, 0xccdf, 0x11d2, { 0xba, 0xb8, 0xb5, 0x48, 0x65, 0x44, 0x61, 0xfc } }
// {3bc97f00-ccdf-11d2-bab8-b548654461fc}
#define NS_IGENERICFACTORY_IID \
{ 0x3bc97f00, 0xccdf, 0x11d2, { 0xba, 0xb8, 0xb5, 0x48, 0x65, 0x44, 0x61, 0xfc } }
#define NS_GENERICFACTORY_PROGID "component:/netscape/generic-factory"
#define NS_GENERICFACTORY_CLASSNAME "Generic Factory"
/**
* Provides a Generic nsIFactory implementation that can be used by
* DLLs with very simple factory needs.
*/
class nsIGenericFactory : public nsIFactory {
public:
static const nsIID& GetIID() { static nsIID iid = NS_IGENERICFACTORY_IID; return iid; }
typedef NS_CALLBACK(ConstructorProcPtr) (nsISupports *aOuter, REFNSIID aIID, void **aResult);
typedef NS_CALLBACK(DestructorProcPtr) (void);
/**
* Establishes the generic factory's constructor function, which will be called
* by CreateInstance.
*/
NS_IMETHOD SetConstructor(ConstructorProcPtr constructor) = 0;
/**
* Establishes the generic factory's destructor function, which will be called
* whe the generic factory is deleted. This is used to notify the DLL that
* an instance of one of its generic factories is going away.
*/
NS_IMETHOD SetDestructor(DestructorProcPtr destructor) = 0;
};
extern NS_COM nsresult
NS_NewGenericFactory(nsIGenericFactory* *result,
nsIGenericFactory::ConstructorProcPtr constructor,
nsIGenericFactory::DestructorProcPtr destructor = NULL);
#define NS_GENERIC_FACTORY_CONSTRUCTOR(_InstanceClass) \
static nsresult \
_InstanceClass##Constructor(nsISupports *aOuter, REFNSIID aIID, void **aResult) \
{ \
nsresult rv; \
\
_InstanceClass * inst; \
\
if (NULL == aResult) { \
rv = NS_ERROR_NULL_POINTER; \
goto done; \
} \
*aResult = NULL; \
if (NULL != aOuter) { \
rv = NS_ERROR_NO_AGGREGATION; \
goto done; \
} \
\
NS_NEWXPCOM(inst, _InstanceClass); \
if (NULL == inst) { \
rv = NS_ERROR_OUT_OF_MEMORY; \
goto done; \
} \
NS_ADDREF(inst); \
rv = inst->QueryInterface(aIID, aResult); \
NS_RELEASE(inst); \
\
done: \
return rv; \
}
#endif /* nsIGenericFactory_h___ */

View File

@@ -0,0 +1,363 @@
/* -*- 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 __nsIRegistry_h
#define __nsIRegistry_h
#include "nsISupports.h"
// {5D41A440-8E37-11d2-8059-00600811A9C3}
#define NS_IREGISTRY_IID { 0x5d41a440, 0x8e37, 0x11d2, { 0x80, 0x59, 0x0, 0x60, 0x8, 0x11, 0xa9, 0xc3 } }
#define NS_REGISTRY_PROGID "component://netscape/registry"
#define NS_REGISTRY_CLASSNAME "Mozilla Registry"
// {D1B54831-AC07-11d2-805E-00600811A9C3}
#define NS_IREGISTRYNODE_IID { 0xd1b54831, 0xac07, 0x11d2, { 0x80, 0x5e, 0x0, 0x60, 0x8, 0x11, 0xa9, 0xc3 } }
// {5316C380-B2F8-11d2-A374-0080C6F80E4B}
#define NS_IREGISTRYVALUE_IID { 0x5316c380, 0xb2f8, 0x11d2, { 0xa3, 0x74, 0x0, 0x80, 0xc6, 0xf8, 0xe, 0x4b } }
/* be761f00-a3b0-11d2-996c-0080c7cb1081 */
#define NS_REGISTRY_CID \
{ 0xbe761f00, 0xa3b0, 0x11d2, \
{0x99, 0x6c, 0x00, 0x80, 0xc7, 0xcb, 0x10, 0x81} }
class nsIEnumerator;
/*-------------------------------- nsIRegistry ---------------------------------
| This interface provides access to a tree of arbitrary values. |
| |
| Each node of the tree contains either a value or a subtree or both. |
| |
| The value at any of these leaf nodes can be any of these "primitive" types: |
| o string (null terminated UTF string) |
| o array of 32-bit integers |
| o arbitrary array of bytes |
| o file identifier |
| Of course, since you can store an arbitrary array of bytes, you can put |
| any data you like into a registry (although you have the burden of |
| encoding/decoding your data in that case). |
| |
| Each branch of the tree is labelled with a string "key." The entire path |
| from a given point of the tree to another point further down can be |
| presented as a single string composed of each branch's label, concatenated |
| to the next, with an intervening forward slash ('/'). The term "key" |
| refers to both specific tree branch labels and to such concatenated paths. |
| |
| The branches from a given node must have unique labels. Distinct nodes can |
| have branches with the same label. |
| |
| For example, here's a small registry tree: |
| | |
| /\ |
| / \ |
| / \ |
| / \ |
| "Classes" "Users" |
| / \ |
| / \ |
| / ["joe"] |
| / / \ |
| | / \ |
| /\ / \ |
| / \ "joe" "bob" |
| / \ / \ |
| / \ |
| "{xxxx-xx-1}" "{xxxx-xx-2}" ["c:/joe"] ["d:/Robert"] |
| | | |
| /\ /\ |
| / \ / \ |
| / \ / \ |
| "Library" "Version" "Library" "Version" |
| / \ / \ |
| ["foo.dll"] 2 ["bar.dll"] 1 |
| |
| In this example, there are 2 keys under the root: "Classes" and "Users". |
| The first denotes a subtree only (which has two subtrees, ...). The second |
| denotes both a value ["joe"] and two subtrees labelled "joe" and "bob". |
| The value at the node "/Users" is ["joe"], at "/Users/bob" is ["d:/Robert"]. |
| The value at "/Classes/{xxxx-xx-1}/Version" is 2. |
| |
| The registry interface provides functions that let you navigate the tree |
| and manipulate it's contents. |
| |
| Please note that the registry itself does not impose any structure or |
| meaning on the contents of the tree. For example, the registry doesn't |
| control whether the value at the key "/Users" is the label for the subtree |
| with information about the last active user. That meaning is applied by |
| the code that stores these values and uses them for that purpose. |
| |
| [Any resemblence between this example and actual contents of any actual |
| registry is purely coincidental.] |
------------------------------------------------------------------------------*/
struct nsIRegistry : public nsISupports {
/*------------------------------ Constants ---------------------------------
| The following enumerated types and values are used by the registry |
| interface. |
--------------------------------------------------------------------------*/
typedef enum {
String = 1,
Int32,
Bytes,
File
} DataType;
/*-------------------------------- Types -----------------------------------
| The following data types are used by this interface. All are basically |
| opaque types. You obtain objects of these types via certain member |
| function calls and re-use them later (without having to know what they |
| contain). |
| |
| Key - Placeholder to represent a particular node in a registry |
| tree. There are 3 enumerated values that correspond to |
| specific nodes: |
| Common - Where most stuff goes. |
| Users - Special subtree to hold info about |
| "users"; if you don't know what goes |
| here, don't mess with it. |
| CurrentUser - Subtree under Users corresponding to |
| whatever user is designed the "current" |
| one; see note above. |
| You can specify any of these enumerated values as "keys" |
| on any member function that takes a nsRegistry::Key. |
| ValueInfo - Structure describing a registry value. |
--------------------------------------------------------------------------*/
typedef uint32 Key;
enum WellKnownKeys { Users = 1, Common = 2, CurrentUser = 3 };
enum WellKnownRegistry {
ApplicationComponentRegistry = 1
};
struct ValueInfo {
DataType type;
uint32 length;
};
static const nsIID& GetIID() { static nsIID iid = NS_IREGISTRY_IID; return iid; }
/*--------------------------- Opening/Closing ------------------------------
| These functions open the specified registry file (Open() with a non-null |
| argument) or the default "standard" registry file (Open() with a null |
| argument or OpenDefault()). |
| |
| Once opened, you can access the registry contents via the read/write |
| or query functions. |
| |
| The registry file will be closed automatically when the registry object |
| is destroyed. You can close the file prior to that by using the |
| Close() function. |
--------------------------------------------------------------------------*/
NS_IMETHOD Open( const char *regFile = 0 ) = 0;
NS_IMETHOD OpenWellKnownRegistry( uint32 regid ) = 0;
NS_IMETHOD OpenDefault() = 0;
NS_IMETHOD Close() = 0;
/*----------------------- Reading/Writing Values ---------------------------
| These functions read/write the registry values at a given node. |
| |
| All functions require you to specify where in the registry key to |
| get/set the value. The location is specified using two components: |
| o A "base key" indicating where to start from; this is a value of type |
| nsIRegistry::Key. You use either one of the special "root" key |
| values or a subkey obtained via some other member function call. |
| o A "relative path," expressed as a sequence of subtree names |
| separated by forward slashes. This path describes how to get from |
| the base key to the node at which you want to store the data. This |
| component can be a null pointer which means the value goes directly |
| at the node denoted by the base key. |
| |
| When you request a value of a given type, the data stored at the |
| specified node must be of the type requested. If not, an error results. |
| |
| GetString - Obtains a newly allocated copy of a string type value. The |
| caller is obligated to free the returned string using |
| PR_Free. |
| SetString - Stores the argument string at the specified node. |
| GetInt - Obtains an int32 value at the specified node. The result |
| is returned into an int32 location you specify. |
| SetInt - Stores a given int32 value at a node. |
| GetBytes - Obtains a byte array value; this returns both an allocated |
| array of bytes and a length (necessary because there may be |
| embedded null bytes in the array). You must free the |
| resulting array using PR_Free. |
| SetBytes - Stores a given array of bytes; you specify the bytes via a |
| pointer and a length. |
| GetIntArray - Obtains the array of int32 values stored at a given node. |
| The result is composed of two values: a pointer to an |
| array of integer values (which must be freed using |
| PR_Free) and the number of elements in that array. |
| SetIntArray - Stores a set of int32 values at a given node. You must |
| provide a pointer to the array and the number of entries. |
--------------------------------------------------------------------------*/
NS_IMETHOD GetString( Key baseKey, const char *path, char **result ) = 0;
NS_IMETHOD SetString( Key baseKey, const char *path, const char *value ) = 0;
NS_IMETHOD GetInt( Key baseKey, const char *path, int32 *result ) = 0;
NS_IMETHOD SetInt( Key baseKey, const char *path, int32 value ) = 0;
NS_IMETHOD GetBytes( Key baseKey, const char *path, void **result, uint32 *len ) = 0;
NS_IMETHOD SetBytes( Key baseKey, const char *path, void *value, uint32 len ) = 0;
NS_IMETHOD GetIntArray( Key baseKey, const char *path, int32 **result, uint32 *len ) = 0;
NS_IMETHOD SetIntArray( Key baseKey, const char *path, const int32 *value, uint32 len ) = 0;
/*------------------------------ Navigation --------------------------------
| These functions let you navigate through the registry tree, querying |
| its contents. |
| |
| As above, all these functions requires a starting tree location ("base |
| key") specified as a nsIRegistry::Key. Some also require a path |
| name to locate the registry node location relative to this base key. |
| |
| AddSubtree - Adds a new registry subtree at the specified |
| location. Returns the resulting key in |
| the location specified by the third argument |
| (unless that pointer is 0). |
| AddSubtreeRaw - Adds a new registry subtree at the specified |
| location. Returns the resulting key in |
| the location specified by the third argument |
| (unless that pointer is 0). |
| Does not interpret special chars in key names. |
| |
| RemoveSubtree - Removes the specified registry subtree or |
| value at the specified location. |
| RemoveSubtreeRaw - Removes the specified registry subtree or |
| value at the specified location. |
| Does not interpret special chars in key names. |
| |
| GetSubtree - Returns a nsIRegistry::Key that can be used |
| to refer to the specified registry location. |
| GetSubtreeRaw - Returns a nsIRegistry::Key that can be used |
| to refer to the specified registry location. |
| Does not interpret special chars in key names. |
| |
| EnumerateSubtrees - Returns a nsIEnumerator object that you can |
| use to enumerate all the subtrees descending |
| from a specified location. You must free the |
| enumerator via Release() when you're done with |
| it. |
| EnumerateAllSubtrees - Like EnumerateSubtrees, but will recursively |
| enumerate lower-level subtrees, too. |
| GetValueInfo - Returns a uint32 value that designates the type |
| of data stored at this location in the registry; |
| the possible values are defined by the enumerated |
| type nsIRegistry::DataType. |
| GetValueLength - Returns a uint32 value that indicates the length |
| of this registry value; the length is the number |
| of characters (for Strings), the number of bytes |
| (for Bytes), or the number of int32 values (for |
| Int32). |
| EnumerateValues - Returns a nsIEnumerator that you can use to |
| enumerate all the value nodes descending from |
| a specified location. |
--------------------------------------------------------------------------*/
NS_IMETHOD AddSubtree( Key baseKey, const char *path, Key *result ) = 0;
NS_IMETHOD RemoveSubtree( Key baseKey, const char *path ) = 0;
NS_IMETHOD GetSubtree( Key baseKey, const char *path, Key *result ) = 0;
NS_IMETHOD AddSubtreeRaw( Key baseKey, const char *keyname, Key *result ) = 0;
NS_IMETHOD RemoveSubtreeRaw( Key baseKey, const char *keyname ) = 0;
NS_IMETHOD GetSubtreeRaw( Key baseKey, const char *keyname, Key *result ) = 0;
NS_IMETHOD EnumerateSubtrees( Key baseKey, nsIEnumerator **result ) = 0;
NS_IMETHOD EnumerateAllSubtrees( Key baseKey, nsIEnumerator **result ) = 0;
NS_IMETHOD GetValueType( Key baseKey, const char *path, uint32 *result ) = 0;
NS_IMETHOD GetValueLength( Key baseKey, const char *path, uint32 *result ) = 0;
NS_IMETHOD EnumerateValues( Key baseKey, nsIEnumerator **result ) = 0;
/*------------------------------ User Name ---------------------------------
| These functions manipulate the current "user name." This value controls |
| the behavior of certain registry functions (namely, ?). |
| |
| GetCurrentUserName allocates a copy of the current user name (which the |
| caller should free using PR_Free). |
--------------------------------------------------------------------------*/
NS_IMETHOD GetCurrentUserName( char **result ) = 0;
NS_IMETHOD SetCurrentUserName( const char *name ) = 0;
/*------------------------------ Utilities ---------------------------------
| Various utility functions: |
| |
| Pack() is used to compress the contents of an open registry file. |
--------------------------------------------------------------------------*/
NS_IMETHOD Pack() = 0;
}; // nsIRegistry
/*------------------------------ nsIRegistryNode -------------------------------
| This interface is implemented by all the objects obtained from the |
| nsIEnumerators that nsIRegistry provides when you call either of the |
| subtree enumeration functions EnumerateSubtrees or EnumerateAllSubtrees. |
| |
| You can call this function to get the name of this subtree. This is the |
| relative path from the base key from which you got this interface. |
| |
| GetName - Returns the path name of this node; this is the relative path |
| from the base key from which this subtree was obtained. The |
| function allocates a copy of the name; the caller must free it |
| using PR_Free. |
------------------------------------------------------------------------------*/
struct nsIRegistryNode : public nsISupports {
NS_DEFINE_STATIC_IID_ACCESSOR(NS_IREGISTRYNODE_IID)
NS_IMETHOD GetName( char **result ) = 0;
NS_IMETHOD GetKey( nsIRegistry::Key *r_key ) = 0;
}; // nsIRegistryNode
/*------------------------------ nsIRegistryValue ------------------------------
| This interface is implemented by the objects obtained from the |
| nsIEnumerators that nsIRegistry provides when you call the |
| EnumerateValues function. An object supporting this interface is |
| returned when you call the CurrentItem() function on that enumerator. |
| |
| You use the member functions of this interface to obtain information |
| about each registry value. |
| |
| GetName - Returns the path name of this node; this is the relative |
| path\ from the base key from which this value was obtained. |
| The function allocates a copy of the name; the caller must |
| subsequently free it via PR_Free. |
| GetValueType - Returns (into a location provided by the caller) the type |
| of the value; the types are defined by the enumerated |
| type nsIRegistry::DataType. |
| GetValueLength - Returns a uint32 value that indicates the length |
| of this registry value; the length is the number |
| of characters (for Strings), the number of bytes |
| (for Bytes), or the number of int32 values (for |
| Int32). |
------------------------------------------------------------------------------*/
struct nsIRegistryValue : public nsISupports {
NS_IMETHOD GetName( char **result ) = 0;
NS_IMETHOD GetValueType( uint32 *result ) = 0;
NS_IMETHOD GetValueLength( uint32 *result ) = 0;
}; // nsIRegistryEntry
/*------------------------------- Error Codes ----------------------------------
------------------------------------------------------------------------------*/
#define NS_ERROR_REG_BADTYPE NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 1 )
#define NS_ERROR_REG_NO_MORE NS_ERROR_GENERATE_SUCCESS( NS_ERROR_MODULE_REG, 2 )
#define NS_ERROR_REG_NOT_FOUND NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 3 )
#define NS_ERROR_REG_NOFILE NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 4 )
#define NS_ERROR_REG_BUFFER_TOO_SMALL NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 5 )
#define NS_ERROR_REG_NAME_TOO_LONG NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 6 )
#define NS_ERROR_REG_NO_PATH NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 7 )
#define NS_ERROR_REG_READ_ONLY NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 8 )
#define NS_ERROR_REG_BAD_UTF8 NS_ERROR_GENERATE_FAILURE( NS_ERROR_MODULE_REG, 9 )
#endif

View File

@@ -0,0 +1,343 @@
/* -*- 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 nsIServiceManager_h___
#define nsIServiceManager_h___
#include "nsIComponentManager.h"
#include "nsID.h"
class nsIShutdownListener;
#define NS_ISERVICEMANAGER_IID \
{ /* cf0df3b0-3401-11d2-8163-006008119d7a */ \
0xcf0df3b0, \
0x3401, \
0x11d2, \
{0x81, 0x63, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \
}
/**
* The nsIServiceManager manager interface provides a means to obtain
* global services in an application. The service manager depends on the
* repository to find and instantiate factories to obtain services.
*
* Users of the service manager must first obtain a pointer to the global
* service manager by calling NS_GetGlobalServiceManager. After that,
* they can request specific services by calling GetService. When they are
* finished with a service the release it by calling ReleaseService (instead
* of releasing the service object directly):
*
* nsICacheManager* cm;
* nsServiceManager::GetService(kCacheManagerCID, kICacheManagerIID, (nsISupports**)&cm);
*
* ... use cm, and then sometime later ...
*
* nsServiceManager::ReleaseService(kCacheManagerCID, cm);
*
* A user of a service may keep references to particular services indefinitely
* and only must call ReleaseService when it shuts down. However if the user
* wishes to voluntarily cooperate with the shutdown of the service it is
* using, it may supply an nsIShutdownListener to provide for asynchronous
* release of the services it is using. The shutdown listener's OnShutdown
* method will be called for a service that is being shut down, and it is
* its responsiblity to release references obtained from that service if at
* all possible.
*
* The process of shutting down a particular service is initiated by calling
* the service manager's ShutdownService method. This will iterate through
* all the registered shutdown listeners for the service being shut down, and
* then will attempt to unload the library associated with the service if
* possible. The status result of ShutdownService indicates whether the
* service was successfully shut down, failed, or was not in service.
*
* XXX QUESTIONS:
* - Should a "service" be more than nsISupports? Should it be a factory
* and/or have Startup(), Shutdown(), etc.
* - If the asynchronous OnShutdown operation gets called, does the user
* of a service still need to call ReleaseService? (Or should they _not_
* call it?)
*/
class nsIServiceManager : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISERVICEMANAGER_IID);
/**
* RegisterService may be called explicitly to register a service
* with the service manager. If a service is not registered explicitly,
* the component manager will be used to create an instance according
* to the class ID specified.
*/
NS_IMETHOD
RegisterService(const nsCID& aClass, nsISupports* aService) = 0;
/**
* Requests a service to be shut down, possibly unloading its DLL.
*
* @returns NS_OK - if shutdown was successful and service was unloaded,
* @returns NS_ERROR_SERVICE_NOT_FOUND - if shutdown failed because
* the service was not currently loaded
* @returns NS_ERROR_SERVICE_IN_USE - if shutdown failed because some
* user of the service wouldn't voluntarily release it by using
* a shutdown listener.
*/
NS_IMETHOD
UnregisterService(const nsCID& aClass) = 0;
NS_IMETHOD
GetService(const nsCID& aClass, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener = nsnull) = 0;
NS_IMETHOD
ReleaseService(const nsCID& aClass, nsISupports* service,
nsIShutdownListener* shutdownListener = nsnull) = 0;
////////////////////////////////////////////////////////////////////////////
// let's do it again, this time with ProgIDs...
NS_IMETHOD
RegisterService(const char* aProgID, nsISupports* aService) = 0;
NS_IMETHOD
UnregisterService(const char* aProgID) = 0;
NS_IMETHOD
GetService(const char* aProgID, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener = nsnull) = 0;
NS_IMETHOD
ReleaseService(const char* aProgID, nsISupports* service,
nsIShutdownListener* shutdownListener = nsnull) = 0;
};
#define NS_ERROR_SERVICE_NOT_FOUND NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_XPCOM, 22)
#define NS_ERROR_SERVICE_IN_USE NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_XPCOM, 23)
////////////////////////////////////////////////////////////////////////////////
#define NS_ISHUTDOWNLISTENER_IID \
{ /* 56decae0-3406-11d2-8163-006008119d7a */ \
0x56decae0, \
0x3406, \
0x11d2, \
{0x81, 0x63, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \
}
class nsIShutdownListener : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISHUTDOWNLISTENER_IID);
NS_IMETHOD
OnShutdown(const nsCID& aClass, nsISupports* service) = 0;
};
////////////////////////////////////////////////////////////////////////////////
// Interface to Global Services
class NS_COM nsServiceManager {
public:
static nsresult
RegisterService(const nsCID& aClass, nsISupports* aService);
static nsresult
UnregisterService(const nsCID& aClass);
static nsresult
GetService(const nsCID& aClass, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener = nsnull);
static nsresult
ReleaseService(const nsCID& aClass, nsISupports* service,
nsIShutdownListener* shutdownListener = nsnull);
////////////////////////////////////////////////////////////////////////////
// let's do it again, this time with ProgIDs...
static nsresult
RegisterService(const char* aProgID, nsISupports* aService);
static nsresult
UnregisterService(const char* aProgID);
static nsresult
GetService(const char* aProgID, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener = nsnull);
static nsresult
ReleaseService(const char* aProgID, nsISupports* service,
nsIShutdownListener* shutdownListener = nsnull);
////////////////////////////////////////////////////////////////////////////
static nsresult GetGlobalServiceManager(nsIServiceManager* *result);
// This method can be called when shutting down the application. It
// releases all the global services, and deletes the global service manager.
static nsresult ShutdownGlobalServiceManager(nsIServiceManager* *result);
static nsIServiceManager* mGlobalServiceManager;
};
////////////////////////////////////////////////////////////////////////////////
// NS_WITH_SERVICE: macro to make using services easier.
// Now you can replace this:
// {
// nsIMyService* service;
// rv = nsServiceManager::GetService(kMyServiceCID, nsIMyService::GetIID(),
// &service);
// if (NS_FAILED(rv)) return rv;
// service->Doit(...); // use my service
// rv = nsServiceManager::ReleaseService(kMyServiceCID, service);
// }
// with this:
// {
// NS_WITH_SERVICE(nsIMyService, service, kMyServiceCID, &rv);
// if (NS_FAILED(rv)) return rv;
// service->Doit(...); // use my service
// }
// and the automatic destructor will take care of releasing the service.
//
// Note that this macro requires you to link with the xpcom DLL to pick up the
// static member functions from nsServiceManager. For situations where you're
// passed an nsISupports that is an nsIComponentManager (such as in a DLL's
// NSRegisterSelf or NSUnregisterSelf entry points) you can use the following
// macro instead:
//
// NSRegisterSelf(nsISupports* servMgr, const char* path) {
// NS_WITH_SERVICE1(nsIComponentManager, compMgr, servMgr,
// kComponentManagerCID, &rv);
// if (NS_FAILED(rv)) return rv;
// compMgr->RegisterComponent(...); // use the service
// }
//
// Note that both NS_WITH_SERVICE and NS_WITH_SERVICE1 can be used with a
// "progid" as well as a "clsid"; for example,
//
// nsresult rv;
// NS_WITH_SERVICE(nsIObserverService,
// observer,
// "component://netscape/observer-service", /* or NS_OBSERVERSERVICE_PROGID */
// &rv);
//
#define NS_WITH_SERVICE(T, var, cid, rvAddr) \
nsService _serv##var(cid, T::GetIID(), rvAddr); \
T* var = (T*)(nsISupports*)_serv##var;
#define NS_WITH_SERVICE1(T, var, isupports, cid, rvAddr) \
nsService _serv##var(isupports, cid, T::GetIID(), rvAddr); \
T* var = (T*)(nsISupports*)_serv##var;
class nsService {
protected:
nsCID mCID;
nsISupports* mService;
public:
nsService(nsISupports* aServMgr, const nsCID& aClass, const nsIID& aIID, nsresult *rv)
: mCID(aClass), mService(0)
{
nsIServiceManager* servMgr;
*rv = aServMgr->QueryInterface(nsIServiceManager::GetIID(), (void**)&servMgr);
if (NS_SUCCEEDED(*rv)) {
*rv = servMgr->GetService(mCID, aIID, &mService);
NS_RELEASE(servMgr);
}
}
nsService(nsISupports* aServMgr, const char* aProgID, const nsIID& aIID, nsresult *rv)
: mService(0)
{
*rv = nsComponentManager::ProgIDToCLSID(aProgID, &mCID);
if (NS_FAILED(*rv)) return;
nsIServiceManager* servMgr;
*rv = aServMgr->QueryInterface(nsIServiceManager::GetIID(), (void**)&servMgr);
if (NS_SUCCEEDED(*rv)) {
*rv = servMgr->GetService(mCID, aIID, &mService);
NS_RELEASE(servMgr);
}
}
nsService(const nsCID& aClass, const nsIID& aIID, nsresult *rv)
: mCID(aClass), mService(0) {
*rv = nsServiceManager::GetService(aClass, aIID,
(nsISupports**)&mService);
}
nsService(const char* aProgID, const nsIID& aIID, nsresult *rv)
: mService(0)
{
*rv = nsComponentManager::ProgIDToCLSID(aProgID, &mCID);
if (NS_FAILED(*rv)) return;
*rv = nsServiceManager::GetService(mCID, aIID,
(nsISupports**)&mService);
}
~nsService() {
if (mService) { // mService could be null if the constructor fails
nsresult rv = NS_OK;
rv = nsServiceManager::ReleaseService(mCID, mService);
}
}
nsISupports* operator->() const {
NS_PRECONDITION(mService != 0, "Your code should test the error result from the constructor.");
return mService;
}
PRBool operator==(const nsISupports* other) {
return mService == other;
}
operator nsISupports*() const {
return mService;
}
};
////////////////////////////////////////////////////////////////////////////////
// NS_NewServiceManager: For when you want to create a service manager
// in a given context.
extern NS_COM nsresult
NS_NewServiceManager(nsIServiceManager* *result);
////////////////////////////////////////////////////////////////////////////////
// Initialization of XPCOM. Creates the global ComponentManager, ServiceManager
// and registers xpcom components with the ComponentManager. Should be called
// before any call can be made to XPCOM. Currently we are coping with this
// not being called and internally initializing XPCOM if not already.
extern NS_COM nsresult
NS_InitXPCOM(nsIServiceManager* *result);
////////////////////////////////////////////////////////////////////////////////
#endif /* nsIServiceManager_h___ */

View File

@@ -16,23 +16,16 @@
* Reserved.
*/
#ifndef nsInstallFileOpEnums_h__
#define nsInstallFileOpEnums_h__
#ifndef __nsIServerProvider_h
#define __nsIServerProvider_h
#include "nsISupports.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
typedef nsID nsSID;
#define NSSIDREF const nsSID&
} nsInstallFileOpEnums;
class nsIServiceProvider: public nsISupports {
public:
NS_IMETHOD QueryService(NSSIDREF aSID, NSIIDREF sIID, (void **) pService);
};
#endif /* nsInstallFileOpEnums_h__ */
#endif /* __nsIServerProvider_h */

View File

@@ -0,0 +1,164 @@
/* -*- 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.
*/
#ifdef XP_MAC
#ifdef MOZ_NGLAYOUT
#error "nsMacRepository.h became obsolete when the shared lib conversion was completed."
// The Mac NGLayout is not based on shared libraries yet.
// All the DLLs are built as static libraries and we present them as
// shared libraries by redefining PR_LoadLibrary(), PR_UnloadLibrary()
// and PR_FindSymbol() below.
//
// If you add or remove shared libraries on other platforms, you must
// - Add the library name to the defines below.
// - Rename the "NSGetFactory" and "NSCanUnload" procs for the Mac:
// just append the library name to the function name.
// - Add the library and its procs to the static list below.
typedef struct MacLibrary
{
char * name;
nsFactoryProc factoryProc;
nsCanUnloadProc unloadProc;
} MacLibrary;
// library names
#define WIDGET_DLL "WIDGET_DLL"
#define GFXWIN_DLL "GFXWIN_DLL"
#define VIEW_DLL "VIEW_DLL"
#define WEB_DLL "WEB_DLL"
#define PLUGIN_DLL "PLUGIN_DLL"
#define PREF_DLL "PREF_DLL"
#define PARSER_DLL "PARSER_DLL"
#define DOM_DLL "DOM_DLL"
#define LAYOUT_DLL "LAYOUT_DLL"
#define NETLIB_DLL "NETLIB_DLL"
#define EDITOR_DLL "EDITOR_DLL"
#ifdef IMPL_MAC_REPOSITORY
extern "C" nsresult NSGetFactory_WIDGET_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_GFXWIN_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_VIEW_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_WEB_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
#if 0
extern "C" nsresult NSGetFactory_PLUGIN_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
#endif
extern "C" nsresult NSGetFactory_PREF_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_PARSER_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_DOM_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_LAYOUT_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_NETLIB_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" nsresult NSGetFactory_EDITOR_DLL(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory);
extern "C" PRBool NSCanUnload_PREF_DLL(void);
// library list
static MacLibrary libraries[] = {
#if 0
WIDGET_DLL, NSGetFactory_WIDGET_DLL, NULL,
GFXWIN_DLL, NSGetFactory_GFXWIN_DLL, NULL,
VIEW_DLL, NSGetFactory_VIEW_DLL, NULL,
WEB_DLL, NSGetFactory_WEB_DLL, NULL,
//PLUGIN_DLL, NSGetFactory_PLUGIN_DLL, NULL,
PREF_DLL, NSGetFactory_PREF_DLL, NSCanUnload_PREF_DLL,
PARSER_DLL, NSGetFactory_PARSER_DLL, NULL,
DOM_DLL, NSGetFactory_DOM_DLL, NULL,
LAYOUT_DLL, NSGetFactory_LAYOUT_DLL, NULL,
NETLIB_DLL, NSGetFactory_NETLIB_DLL, NULL,
//EDITOR_DLL, NSGetFactory_EDITOR_DLL, NULL, // FIX ME
#endif
NULL
};
static void* FindMacSymbol(char* libName, const char *symbolName)
{
MacLibrary * macLib;
for (macLib = libraries; ; macLib ++)
{
if (macLib->name == NULL)
return NULL;
if (PL_strcmp(macLib->name, libName) == 0)
break;
}
if (PL_strcmp(symbolName, "NSGetFactory") == 0) {
return macLib->factoryProc;
}
else if (PL_strcmp(symbolName, "NSCanUnload") == 0) {
return macLib->unloadProc;
}
return NULL;
}
#define PR_LoadLibrary(libName) (PRLibrary *)libName
#define PR_UnloadLibrary(lib) lib = NULL
#define PR_FindSymbol(lib, symbolName) FindMacSymbol((char*)lib, symbolName)
#endif // IMPL_MAC_REPOSITORY
#endif // MOZ_NGLAYOUT
#endif // XP_MAC

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,188 @@
/* -*- 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 "nsIComponentManager.h"
nsresult
nsComponentManager::Initialize(void)
{
return NS_OK;
}
nsresult
nsComponentManager::FindFactory(const nsCID &aClass,
nsIFactory **aFactory)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->FindFactory(aClass, aFactory);
}
nsresult
nsComponentManager::ProgIDToCLSID(const char *aProgID,
nsCID *aClass)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->ProgIDToCLSID(aProgID, aClass);
}
nsresult
nsComponentManager::CLSIDToProgID(nsCID *aClass,
char* *aClassName,
char* *aProgID)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->CLSIDToProgID(aClass, aClassName, aProgID);
}
nsresult
nsComponentManager::CreateInstance(const nsCID &aClass,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->CreateInstance(aClass, aDelegate, aIID, aResult);
}
nsresult
nsComponentManager::CreateInstance(const char *aProgID,
nsISupports *aDelegate,
const nsIID &aIID,
void **aResult)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->CreateInstance(aProgID, aDelegate, aIID, aResult);
}
nsresult
nsComponentManager::RegisterFactory(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory *aFactory,
PRBool aReplace)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->RegisterFactory(aClass, aClassName, aProgID,
aFactory, aReplace);
}
nsresult
nsComponentManager::RegisterComponent(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *aLibraryPersistentDescriptor,
PRBool aReplace,
PRBool aPersist)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->RegisterComponent(aClass, aClassName, aProgID,
aLibraryPersistentDescriptor, aReplace, aPersist);
}
nsresult
nsComponentManager::RegisterComponentSpec(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFileSpec *aLibrary,
PRBool aReplace,
PRBool aPersist)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->RegisterComponentSpec(aClass, aClassName, aProgID,
aLibrary, aReplace, aPersist);
}
nsresult
nsComponentManager::RegisterComponentLib(const nsCID &aClass,
const char *aClassName,
const char *aProgID,
const char *adllName,
PRBool aReplace,
PRBool aPersist)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->RegisterComponentLib(aClass, aClassName, aProgID,
adllName, aReplace, aPersist);
}
nsresult
nsComponentManager::UnregisterFactory(const nsCID &aClass,
nsIFactory *aFactory)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->UnregisterFactory(aClass, aFactory);
}
nsresult
nsComponentManager::UnregisterComponent(const nsCID &aClass,
const char *aLibrary)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->UnregisterComponent(aClass, aLibrary);
}
nsresult
nsComponentManager::FreeLibraries(void)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->FreeLibraries();
}
nsresult
nsComponentManager::AutoRegister(nsIComponentManager::RegistrationTime when,
nsIFileSpec *directory)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->AutoRegister(when, directory);
}
nsresult
nsComponentManager::AutoRegisterComponent(nsIComponentManager::RegistrationTime when,
nsIFileSpec *fullname)
{
nsIComponentManager* cm;
nsresult rv = NS_GetGlobalComponentManager(&cm);
if (NS_FAILED(rv)) return rv;
return cm->AutoRegisterComponent(when, fullname);
}

View File

@@ -0,0 +1,28 @@
/* -*- 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 __nsRespository_h
#define __nsRespository_h
#include "nsIComponentManager.h"
// XXX nsRepository is obsolete! Use nsComponentManager now!
#define nsRepository nsComponentManager
#endif

View File

@@ -0,0 +1,518 @@
/* -*- Mode: C++; tab-width: 2; 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 "nsIServiceManager.h"
#include "nsVector.h"
#include "nsHashtable.h"
#include "prcmon.h"
#include "prthread.h" /* XXX: only used for the NSPR initialization hack (rick) */
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
class nsServiceEntry {
public:
nsServiceEntry(const nsCID& cid, nsISupports* service);
~nsServiceEntry();
nsresult AddListener(nsIShutdownListener* listener);
nsresult RemoveListener(nsIShutdownListener* listener);
nsresult NotifyListeners(void);
const nsCID& mClassID;
nsISupports* mService;
nsVector* mListeners; // nsVector<nsIShutdownListener>
PRBool mShuttingDown;
};
nsServiceEntry::nsServiceEntry(const nsCID& cid, nsISupports* service)
: mClassID(cid), mService(service), mListeners(NULL), mShuttingDown(PR_FALSE)
{
}
nsServiceEntry::~nsServiceEntry()
{
if (mListeners) {
NS_ASSERTION(mListeners->GetSize() == 0, "listeners not removed or notified");
#if 0
PRUint32 size = mListeners->GetSize();
for (PRUint32 i = 0; i < size; i++) {
nsIShutdownListener* listener = (nsIShutdownListener*)(*mListeners)[i];
NS_RELEASE(listener);
}
#endif
delete mListeners;
}
}
nsresult
nsServiceEntry::AddListener(nsIShutdownListener* listener)
{
if (listener == NULL)
return NS_OK;
if (mListeners == NULL) {
mListeners = new nsVector();
if (mListeners == NULL)
return NS_ERROR_OUT_OF_MEMORY;
}
PRInt32 rv = mListeners->Add(listener);
NS_ADDREF(listener);
return rv == -1 ? NS_ERROR_FAILURE : NS_OK;
}
nsresult
nsServiceEntry::RemoveListener(nsIShutdownListener* listener)
{
if (listener == NULL)
return NS_OK;
NS_ASSERTION(mListeners, "no listeners added yet");
PRUint32 size = mListeners->GetSize();
for (PRUint32 i = 0; i < size; i++) {
if ((*mListeners)[i] == listener) {
mListeners->Remove(i);
NS_RELEASE(listener);
return NS_OK;
}
}
NS_ASSERTION(0, "unregistered shutdown listener");
return NS_ERROR_FAILURE;
}
nsresult
nsServiceEntry::NotifyListeners(void)
{
if (mListeners) {
PRUint32 size = mListeners->GetSize();
for (PRUint32 i = 0; i < size; i++) {
nsIShutdownListener* listener = (nsIShutdownListener*)(*mListeners)[0];
nsresult rv = listener->OnShutdown(mClassID, mService);
if (NS_FAILED(rv)) return rv;
NS_RELEASE(listener);
mListeners->Remove(0);
}
NS_ASSERTION(mListeners->GetSize() == 0, "failed to notify all listeners");
delete mListeners;
mListeners = NULL;
}
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
class nsServiceManagerImpl : public nsIServiceManager {
public:
NS_IMETHOD
RegisterService(const nsCID& aClass, nsISupports* aService);
NS_IMETHOD
UnregisterService(const nsCID& aClass);
NS_IMETHOD
GetService(const nsCID& aClass, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener = NULL);
NS_IMETHOD
ReleaseService(const nsCID& aClass, nsISupports* service,
nsIShutdownListener* shutdownListener = NULL);
NS_IMETHOD
RegisterService(const char* aProgID, nsISupports* aService);
NS_IMETHOD
UnregisterService(const char* aProgID);
NS_IMETHOD
GetService(const char* aProgID, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener = NULL);
NS_IMETHOD
ReleaseService(const char* aProgID, nsISupports* service,
nsIShutdownListener* shutdownListener = NULL);
nsServiceManagerImpl(void);
NS_DECL_ISUPPORTS
protected:
virtual ~nsServiceManagerImpl(void);
nsHashtable/*<nsServiceEntry>*/* mServices;
};
nsServiceManagerImpl::nsServiceManagerImpl(void)
{
NS_INIT_REFCNT();
mServices = new nsHashtable(256, PR_TRUE); // Get a threadSafe hashtable
NS_ASSERTION(mServices, "out of memory already?");
}
static PRBool
DeleteEntry(nsHashKey *aKey, void *aData, void* closure)
{
nsServiceEntry* entry = (nsServiceEntry*)aData;
NS_RELEASE(entry->mService);
delete entry;
return PR_TRUE;
}
nsServiceManagerImpl::~nsServiceManagerImpl(void)
{
if (mServices) {
mServices->Enumerate(DeleteEntry);
delete mServices;
}
}
static NS_DEFINE_IID(kIServiceManagerIID, NS_ISERVICEMANAGER_IID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
NS_IMPL_ADDREF(nsServiceManagerImpl);
NS_IMPL_RELEASE(nsServiceManagerImpl);
NS_IMETHODIMP
nsServiceManagerImpl::QueryInterface(const nsIID& aIID, void* *aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
*aInstancePtr = NULL;
if (aIID.Equals(kIServiceManagerIID) ||
aIID.Equals(kISupportsIID)) {
*aInstancePtr = (void*) this;
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMETHODIMP
nsServiceManagerImpl::GetService(const nsCID& aClass, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener)
{
nsresult rv = NS_OK;
/* XXX: This is a hack to force NSPR initialization.. This should be
* removed once PR_CEnterMonitor(...) initializes NSPR... (rick)
*/
(void)PR_GetCurrentThread();
PR_CEnterMonitor(this);
nsIDKey key(aClass);
nsServiceEntry* entry = (nsServiceEntry*)mServices->Get(&key);
if (entry) {
nsISupports* service;
rv = entry->mService->QueryInterface(aIID, (void**)&service);
if (NS_SUCCEEDED(rv)) {
rv = entry->AddListener(shutdownListener);
if (NS_SUCCEEDED(rv)) {
*result = service;
// If someone else requested the service to be shut down,
// and we just asked to get it again before it could be
// released, then cancel their shutdown request:
if (entry->mShuttingDown) {
entry->mShuttingDown = PR_FALSE;
NS_ADDREF(service); // Released in UnregisterService
}
}
}
}
else {
nsISupports* service;
rv = nsComponentManager::CreateInstance(aClass, NULL, aIID, (void**)&service);
if (NS_SUCCEEDED(rv)) {
entry = new nsServiceEntry(aClass, service);
if (entry == NULL) {
NS_RELEASE(service);
rv = NS_ERROR_OUT_OF_MEMORY;
}
else {
rv = entry->AddListener(shutdownListener);
if (NS_SUCCEEDED(rv)) {
mServices->Put(&key, entry);
*result = service;
NS_ADDREF(service); // Released in UnregisterService
}
else {
NS_RELEASE(service);
delete entry;
}
}
}
}
PR_CExitMonitor(this);
return rv;
}
NS_IMETHODIMP
nsServiceManagerImpl::ReleaseService(const nsCID& aClass, nsISupports* service,
nsIShutdownListener* shutdownListener)
{
nsresult rv = NS_OK;
PR_CEnterMonitor(this);
nsIDKey key(aClass);
nsServiceEntry* entry = (nsServiceEntry*)mServices->Get(&key);
NS_ASSERTION(entry, "service not found");
// NS_ASSERTION(entry->mService == service, "service looked failed");
if (entry) {
rv = entry->RemoveListener(shutdownListener);
nsrefcnt cnt;
NS_RELEASE2(service, cnt);
if (NS_SUCCEEDED(rv) && cnt == 0) {
mServices->Remove(&key);
delete entry;
rv = nsComponentManager::FreeLibraries();
}
}
PR_CExitMonitor(this);
return rv;
}
NS_IMETHODIMP
nsServiceManagerImpl::RegisterService(const nsCID& aClass, nsISupports* aService)
{
nsresult rv = NS_OK;
PR_CEnterMonitor(this);
nsIDKey key(aClass);
nsServiceEntry* entry = (nsServiceEntry*)mServices->Get(&key);
if (entry) {
rv = NS_ERROR_FAILURE;
}
else {
entry = new nsServiceEntry(aClass, aService);
if (entry == NULL)
rv = NS_ERROR_OUT_OF_MEMORY;
else {
mServices->Put(&key, entry);
NS_ADDREF(aService); // Released in UnregisterService
}
}
PR_CExitMonitor(this);
return rv;
}
NS_IMETHODIMP
nsServiceManagerImpl::UnregisterService(const nsCID& aClass)
{
nsresult rv = NS_OK;
PR_CEnterMonitor(this);
nsIDKey key(aClass);
nsServiceEntry* entry = (nsServiceEntry*)mServices->Get(&key);
if (entry == NULL) {
rv = NS_ERROR_SERVICE_NOT_FOUND;
}
else {
rv = entry->NotifyListeners(); // break the cycles
entry->mShuttingDown = PR_TRUE;
nsrefcnt cnt;
NS_RELEASE2(entry->mService, cnt); // AddRef in GetService
if (NS_SUCCEEDED(rv) && cnt == 0) {
mServices->Remove(&key);
delete entry;
rv = nsComponentManager::FreeLibraries();
}
else
rv = NS_ERROR_SERVICE_IN_USE;
}
PR_CExitMonitor(this);
return rv;
}
////////////////////////////////////////////////////////////////////////////////
// let's do it again, this time with ProgIDs...
NS_IMETHODIMP
nsServiceManagerImpl::RegisterService(const char* aProgID, nsISupports* aService)
{
nsCID aClass;
nsresult rv;
rv = nsComponentManager::ProgIDToCLSID(aProgID, &aClass);
if (NS_FAILED(rv)) return rv;
return RegisterService(aClass, aService);
}
NS_IMETHODIMP
nsServiceManagerImpl::UnregisterService(const char* aProgID)
{
nsCID aClass;
nsresult rv;
rv = nsComponentManager::ProgIDToCLSID(aProgID, &aClass);
if (NS_FAILED(rv)) return rv;
return UnregisterService(aClass);
}
NS_IMETHODIMP
nsServiceManagerImpl::GetService(const char* aProgID, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener)
{
nsCID aClass;
nsresult rv;
rv = nsComponentManager::ProgIDToCLSID(aProgID, &aClass);
if (NS_FAILED(rv)) return rv;
return GetService(aClass, aIID, result, shutdownListener);
}
NS_IMETHODIMP
nsServiceManagerImpl::ReleaseService(const char* aProgID, nsISupports* service,
nsIShutdownListener* shutdownListener)
{
nsCID aClass;
nsresult rv;
rv = nsComponentManager::ProgIDToCLSID(aProgID, &aClass);
if (NS_FAILED(rv)) return rv;
return ReleaseService(aClass, service, shutdownListener);
}
////////////////////////////////////////////////////////////////////////////////
nsresult
NS_NewServiceManager(nsIServiceManager* *result)
{
nsServiceManagerImpl* servMgr = new nsServiceManagerImpl();
if (servMgr == NULL)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(servMgr);
*result = servMgr;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
// Global service manager interface (see nsIServiceManager.h)
nsresult
nsServiceManager::GetGlobalServiceManager(nsIServiceManager* *result)
{
nsresult rv = NS_OK;
if (mGlobalServiceManager == NULL) {
// XPCOM not initialized yet. Let us do initialization of our module.
rv = NS_InitXPCOM(NULL);
}
// No ADDREF as we are advicing no release of this.
if (NS_SUCCEEDED(rv)) *result = mGlobalServiceManager;
return rv;
}
nsresult
nsServiceManager::ShutdownGlobalServiceManager(nsIServiceManager* *result)
{
if (mGlobalServiceManager != NULL) {
NS_RELEASE(mGlobalServiceManager);
mGlobalServiceManager = NULL;
}
return NS_OK;
}
nsresult
nsServiceManager::GetService(const nsCID& aClass, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->GetService(aClass, aIID, result, shutdownListener);
}
nsresult
nsServiceManager::ReleaseService(const nsCID& aClass, nsISupports* service,
nsIShutdownListener* shutdownListener)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->ReleaseService(aClass, service, shutdownListener);
}
nsresult
nsServiceManager::RegisterService(const nsCID& aClass, nsISupports* aService)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->RegisterService(aClass, aService);
}
nsresult
nsServiceManager::UnregisterService(const nsCID& aClass)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->UnregisterService(aClass);
}
////////////////////////////////////////////////////////////////////////////////
// let's do it again, this time with ProgIDs...
nsresult
nsServiceManager::GetService(const char* aProgID, const nsIID& aIID,
nsISupports* *result,
nsIShutdownListener* shutdownListener)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->GetService(aProgID, aIID, result, shutdownListener);
}
nsresult
nsServiceManager::ReleaseService(const char* aProgID, nsISupports* service,
nsIShutdownListener* shutdownListener)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->ReleaseService(aProgID, service, shutdownListener);
}
nsresult
nsServiceManager::RegisterService(const char* aProgID, nsISupports* aService)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->RegisterService(aProgID, aService);
}
nsresult
nsServiceManager::UnregisterService(const char* aProgID)
{
nsIServiceManager* mgr;
nsresult rv = GetGlobalServiceManager(&mgr);
if (NS_FAILED(rv)) return rv;
return mgr->UnregisterService(aProgID);
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,158 @@
/* -*- 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.
*/
#ifndef nsXPComFactory_h__
#define nsXPComFactory_h__
#include "nsIFactory.h"
/*
* This file contains a macro for the implementation of a simple XPCOM factory.
*
* To implement a factory for a given component, you need to declare the
* factory class using the NS_DEF_FACTORY() macro.
*
* The first macro argument is the name for the factory.
*
* The second macro argument is a function (provided by you) which
* can be called by your DLL's NSGetFactory(...) entry point.
*
* Example:
*
* NS_DEF_FACTORY(SomeComponent,SomeComponentImpl)
*
* Declares:
*
* class nsSomeComponentFactory : public nsIFactory {};
*
* NOTE that the NS_DEF_FACTORY takes care of enforcing the "ns" prefix
* and appending the "Factory" suffix to the given name.
*
* To use the new factory:
*
* nsresult NS_New_SomeComponent_Factory(nsIFactory** aResult)
* {
* nsresult rv = NS_OK;
* nsIFactory* inst = new nsSomeComponentFactory;
* if (NULL == inst) {
* rv = NS_ERROR_OUT_OF_MEMORY;
* } else {
* NS_ADDREF(inst);
* }
* *aResult = inst;
* return rv;
* }
*
* NOTE:
* ----
* The factories created by this macro are not thread-safe and do not
* support aggregation.
*
*/
#define NS_DEF_FACTORY(_name,_type) \
class ns##_name##Factory : public nsIFactory \
{ \
public: \
ns##_name##Factory() { NS_INIT_REFCNT(); } \
\
NS_IMETHOD_(nsrefcnt) AddRef (void) \
{ \
return ++mRefCnt; \
} \
\
NS_IMETHOD_(nsrefcnt) Release(void) \
{ \
NS_PRECONDITION(0 != mRefCnt, "dup release"); \
if (--mRefCnt == 0) { \
NS_DELETEXPCOM(this); \
return 0; \
} \
return mRefCnt; \
} \
\
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) \
{ \
if (NULL == aInstancePtr) { \
return NS_ERROR_NULL_POINTER; \
} \
\
*aInstancePtr = NULL; \
\
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); \
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); \
if (aIID.Equals(kIFactoryIID)) { \
*aInstancePtr = (void*) this; \
NS_ADDREF_THIS(); \
return NS_OK; \
} \
if (aIID.Equals(kISupportsIID)) { \
*aInstancePtr = (void*) ((nsISupports*)this); \
NS_ADDREF_THIS(); \
return NS_OK; \
} \
return NS_NOINTERFACE; \
} \
\
NS_IMETHOD CreateInstance(nsISupports *aOuter, \
const nsIID &aIID, \
void **aResult) \
{ \
nsresult rv; \
\
_type * inst; \
\
if (NULL == aResult) { \
rv = NS_ERROR_NULL_POINTER; \
goto done; \
} \
*aResult = NULL; \
if (NULL != aOuter) { \
rv = NS_ERROR_NO_AGGREGATION; \
goto done; \
} \
\
NS_NEWXPCOM(inst, _type); \
if (NULL == inst) { \
rv = NS_ERROR_OUT_OF_MEMORY; \
goto done; \
} \
NS_ADDREF(inst); \
rv = inst->QueryInterface(aIID, aResult); \
NS_RELEASE(inst); \
\
done: \
return rv; \
} \
\
NS_IMETHOD LockFactory(PRBool aLock) \
{ \
return NS_OK; \
} \
\
\
protected: \
virtual ~ns##_name##Factory() \
{ \
NS_ASSERTION(mRefCnt == 0, "non-zero refcnt at destruction"); \
} \
\
nsrefcnt mRefCnt; \
};
#endif /* nsXPComFactory_h__ */

View File

@@ -0,0 +1,273 @@
/* -*- 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.
*/
/* nsDll
*
* Abstraction of a Dll. Stores modifiedTime and size for easy detection of
* change in dll.
*
* dp Suresh <dp@netscape.com>
*/
#include "xcDll.h"
#include "plstr.h" // strdup and strfree
#include "nsIComponentManager.h"
// MAC ONLY
nsDll::nsDll(const char *codeDllName, int type)
: m_dllName(NULL), m_dllSpec(NULL), m_modDate(0), m_size(0),
m_instance(NULL), m_status(DLL_OK)
{
if (!codeDllName || !*codeDllName)
{
m_status = DLL_INVALID_PARAM;
return;
}
m_dllName = PL_strdup(codeDllName);
if (!m_dllName)
{
m_status = DLL_NO_MEM;
return;
}
}
nsDll::nsDll(nsIFileSpec *dllSpec)
: m_dllName(NULL), m_dllSpec(dllSpec), m_modDate(0), m_size(0),
m_instance(NULL), m_status(DLL_OK)
{
Init(dllSpec);
}
nsDll::nsDll(const char *libPersistentDescriptor)
: m_dllName(NULL), m_dllSpec(NULL), m_modDate(0), m_size(0),
m_instance(NULL), m_status(DLL_OK)
{
Init(libPersistentDescriptor);
}
nsDll::nsDll(const char *libPersistentDescriptor, PRUint32 modDate, PRUint32 fileSize)
: m_dllName(NULL), m_dllSpec(NULL), m_modDate(0), m_size(0),
m_instance(NULL), m_status(DLL_OK)
{
Init(libPersistentDescriptor);
// and overwrite the modData and fileSize
m_modDate = modDate;
m_size = fileSize;
}
void
nsDll::Init(nsIFileSpec *dllSpec)
{
// Addref the m_dllSpec
m_dllSpec = dllSpec;
NS_ADDREF(m_dllSpec);
// Make sure we are dealing with a file
PRBool isFile = PR_FALSE;
nsresult rv = m_dllSpec->isFile(&isFile);
if (NS_FAILED(rv))
{
m_status = DLL_INVALID_PARAM;
return;
}
if (isFile == PR_FALSE)
{
// Not a file. Cant work with it.
m_status = DLL_NOT_FILE;
return;
}
// Populate m_modDate and m_size
if (NS_FAILED(m_dllSpec->GetModDate(&m_modDate)) ||
NS_FAILED(m_dllSpec->GetFileSize(&m_size)))
{
m_status = DLL_INVALID_PARAM;
return;
}
m_status = DLL_OK;
}
void
nsDll::Init(const char *libPersistentDescriptor)
{
nsresult rv;
m_modDate = 0;
m_size = 0;
if (libPersistentDescriptor == NULL)
{
m_status = DLL_INVALID_PARAM;
return;
}
// Create a FileSpec from the persistentDescriptor
nsIFileSpec *dllSpec = NULL;
NS_DEFINE_IID(kFileSpecIID, NS_IFILESPEC_IID);
rv = nsComponentManager::CreateInstance(NS_FILESPEC_PROGID, NULL, kFileSpecIID, (void **) &dllSpec);
if (NS_FAILED(rv))
{
m_status = DLL_INVALID_PARAM;
return;
}
rv = dllSpec->SetPersistentDescriptorString((char *)libPersistentDescriptor);
if (NS_FAILED(rv))
{
m_status = DLL_INVALID_PARAM;
return;
}
Init(dllSpec);
}
nsDll::~nsDll(void)
{
if (m_instance != NULL)
Unload();
if (m_dllSpec)
NS_RELEASE(m_dllSpec);
if (m_dllName)
PL_strfree(m_dllName);
}
const char *
nsDll::GetNativePath()
{
if (m_dllName)
return m_dllName;
char *nativePath = NULL;
m_dllSpec->GetNativePath(&nativePath);
return nativePath;
}
const char *
nsDll::GetPersistentDescriptorString()
{
if (m_dllName)
return m_dllName;
char *persistentDescriptor = NULL;
m_dllSpec->GetPersistentDescriptorString(&persistentDescriptor);
return persistentDescriptor;
}
PRBool
nsDll::HasChanged()
{
if (m_dllName)
return PR_FALSE;
// If mod date has changed, then dll has changed
PRBool modDateChanged = PR_FALSE;
nsresult rv = m_dllSpec->modDateChanged(m_modDate, &modDateChanged);
if (NS_FAILED(rv) || modDateChanged == PR_TRUE)
return PR_TRUE;
// If size has changed, then dll has changed
PRUint32 aSize = 0;
rv = m_dllSpec->GetFileSize(&aSize);
if (NS_FAILED(rv) || aSize != m_size)
return PR_TRUE;
return PR_FALSE;
}
PRBool nsDll::Load(void)
{
if (m_status != DLL_OK)
{
return (PR_FALSE);
}
if (m_instance != NULL)
{
// Already loaded
return (PR_TRUE);
}
if (m_dllName)
{
m_instance = PR_LoadLibrary(m_dllName);
}
else
{
char *nsprPath = NULL;
nsresult rv = m_dllSpec->GetNSPRPath(&nsprPath);
if (NS_FAILED(rv)) return PR_FALSE;
#ifdef XP_MAC
// NSPR path is / separated. This works for all NSPR functions
// except Load Library. Translate to something NSPR can accepts.
char *macFileName = PL_strdup(nsprPath);
if (macFileName != NULL)
{
if (macFileName[0] == '/')
{
// convert '/' to ':'
int c;
char* str = macFileName;
while ((c = *str++) != 0)
{
if (c == '/')
str[-1] = ':';
}
m_instance = PR_LoadLibrary(&macFileName[1]); // skip over initial slash
}
else
{
m_instance = PR_LoadLibrary(macFileName);
}
PL_strfree(macFileName);
}
#else
m_instance = PR_LoadLibrary(nsprPath);
#endif /* XP_MAC */
}
return ((m_instance == NULL) ? PR_FALSE : PR_TRUE);
}
PRBool nsDll::Unload(void)
{
if (m_status != DLL_OK || m_instance == NULL)
return (PR_FALSE);
PRStatus ret = PR_UnloadLibrary(m_instance);
if (ret == PR_SUCCESS)
{
m_instance = NULL;
return (PR_TRUE);
}
else
return (PR_FALSE);
}
void * nsDll::FindSymbol(const char *symbol)
{
if (symbol == NULL)
return (NULL);
// If not already loaded, load it now.
if (Load() != PR_TRUE)
return (NULL);
return (PR_FindSymbol(m_instance, symbol));
}

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.
*/
/* Dll
*
* Programmatic representation of a dll. Stores modifiedTime and size for
* easy detection of change in dll.
*
* dp Suresh <dp@netscape.com>
*/
#include "prio.h"
#include "prlink.h"
#include "nsIFileSpec.h"
typedef enum nsDllStatus
{
DLL_OK = 0,
DLL_NO_MEM = 1,
DLL_STAT_ERROR = 2,
DLL_NOT_FILE = 3,
DLL_INVALID_PARAM = 4
} nsDllStatus;
class nsDll
{
private:
char *m_dllName; // Mac only. Stores the dllName to load.
nsIFileSpec *m_dllSpec; // Filespec representing the component
PRUint32 m_modDate; // last modified time at creation of this object
PRUint32 m_size; // size of the dynamic library at creation of this object
PRLibrary *m_instance; // Load instance
nsDllStatus m_status; // holds current status
void Init(nsIFileSpec *dllSpec);
void Init(const char *persistentDescriptor);
public:
nsDll(nsIFileSpec *dllSpec);
nsDll(const char *persistentDescriptor);
nsDll(const char *persistentDescriptor, PRUint32 modDate, PRUint32 fileSize);
nsDll(const char *dll, int type /* dummy */);
~nsDll(void);
// Status checking on operations completed
nsDllStatus GetStatus(void) { return (m_status); }
// Dll Loading
PRBool Load(void);
PRBool Unload(void);
PRBool IsLoaded(void)
{
return ((m_instance != 0) ? PR_TRUE : PR_FALSE);
}
void *FindSymbol(const char *symbol);
PRBool HasChanged(void);
const char *GetNativePath(void);
const char *GetPersistentDescriptorString(void);
PRUint32 GetLastModifiedTime(void) { return(m_modDate); }
PRUint32 GetSize(void) { return(m_size); }
PRLibrary *GetInstance(void) { return (m_instance); }
};

View File

@@ -0,0 +1,88 @@
/* -*- 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.
*/
/* THIS FILE IS OBSOLETE */
/* nsDllStore
*
* Stores dll and their accociated info in a hash keyed on the system format
* full dll path name e.g C:\Program Files\Netscape\Program\raptor.dll
*
* NOTE: dll names are considered to be case sensitive.
*/
#include "xcDllStore.h"
static PR_CALLBACK PRIntn _deleteDllInfo(PLHashEntry *he, PRIntn i, void *arg)
{
delete (nsDll *)he->value;
return (HT_ENUMERATE_NEXT);
}
nsDllStore::nsDllStore(void) : m_dllHashTable(NULL)
{
PRUint32 initSize = 128;
m_dllHashTable = PL_NewHashTable(initSize, PL_HashString,
PL_CompareStrings, PL_CompareValues, NULL, NULL);
}
nsDllStore::~nsDllStore(void)
{
if (m_dllHashTable)
{
// Delete each of the nsDll stored before deleting the Hash Table
PL_HashTableEnumerateEntries(m_dllHashTable, _deleteDllInfo, NULL);
PL_HashTableDestroy(m_dllHashTable);
}
m_dllHashTable = NULL;
}
nsDll* nsDllStore::Get(const char *dll)
{
nsDll *dllInfo = NULL;
if (m_dllHashTable)
{
dllInfo = (nsDll *)PL_HashTableLookup(m_dllHashTable, dll);
}
return (dllInfo);
}
nsDll* nsDllStore::Remove(const char *dll)
{
if (m_dllHashTable == NULL)
{
return (NULL);
}
nsDll *dllInfo = Get(dll);
PL_HashTableRemove(m_dllHashTable, dll);
return (dllInfo);
}
PRBool nsDllStore::Put(const char *dll, nsDll *dllInfo)
{
if (m_dllHashTable == NULL)
return(PR_FALSE);
PLHashEntry *entry =
PL_HashTableAdd(m_dllHashTable, (void *)dll, (void *)dllInfo);
return ((entry != NULL) ? PR_TRUE : PR_FALSE);
}

View File

@@ -0,0 +1,49 @@
/* -*- 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.
*/
/* nsDllStore
*
* Stores dll and their accociated info in a hash keyed on the system format
* full dll path name e.g C:\Program Files\Netscape\Program\raptor.dll
*
* NOTE: dll names are considered to be case sensitive.
*/
#include "plhash.h"
#include "xcDll.h"
class nsDllStore
{
private:
PLHashTable *m_dllHashTable;
public:
// Constructor
nsDllStore(void);
~nsDllStore(void);
// Caller is not expected to delete nsDll returned
// The nsDll returned in NOT removed from the hash
nsDll* Get(const char *filename);
PRBool Put(const char *filename, nsDll *dllInfo);
// The nsDll returned is removed from the hash
// Caller is expected to delete the returned nsDll
nsDll* Remove(const char *filename);
};

View File

@@ -0,0 +1,117 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Kipp E.B. Hickman">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]">
<TITLE>Gemini Object Model</TITLE>
</HEAD>
<BODY>
<H1>
Gemini Object Model</H1>
The gemini object model is a cross platform component object model modelled
after win32's IUnknown and COM. We do not support a C API to gemini at
this time.
<H2>
nsID</H2>
Like OSF's DCE, we use an "interface id" which is a unique identifer which
names the interface. The nsID and be used as a key into a cross platform
registry service to discover an implementation of an interface. Here is
the declaration of nsID:
<UL><TT>struct nsID {</TT>
<BR><TT>&nbsp; PRUint32 m0;</TT>
<BR><TT>&nbsp; PRUint16 m1, m2;</TT>
<BR><TT>&nbsp; PRUint8 m3[8];</TT>
<P><TT>&nbsp; inline nsbool Equals(const nsID&amp; other) const {</TT>
<BR><TT>&nbsp;&nbsp;&nbsp; return</TT>
<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (((PRUint32*) &amp;m0)[0] == ((PRUint32*)
&amp;other.m0)[0]) &amp;&amp;</TT>
<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (((PRUint32*) &amp;m0)[1] == ((PRUint32*)
&amp;other.m0)[1]) &amp;&amp;</TT>
<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (((PRUint32*) &amp;m0)[2] == ((PRUint32*)
&amp;other.m0)[2]) &amp;&amp;</TT>
<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (((PRUint32*) &amp;m0)[3] == ((PRUint32*)
&amp;other.m0)[3]);</TT>
<BR><TT>&nbsp; }</TT>
<BR><TT>};</TT></UL>
On windows, the "uuidgen" program (provided with Visual C++) can be used
to generate these identifiers.
<H2>
nsISupports</H2>
This is the base class for all component objects. Not all objects are component
objects; these rules apply to objects which expose an interface which is
shared across dll/exe boundaries. Here is nsISupports:
<UL><TT>typedef nsID nsIID;</TT>
<BR><TT>class nsISupports {</TT>
<BR><TT>public:</TT>
<BR><TT>&nbsp; virtual nsqresult QueryInterface(const nsIID&amp; aIID,</TT>
<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
void** aInstancePtr) = 0;</TT>
<BR><TT>&nbsp; virtual nsrefcnt AddRef() = 0;</TT>
<BR><TT>&nbsp; virtual nsrefcnt Release() = 0;</TT>
<BR><TT>};</TT></UL>
The semantics of this interface are identical to win32's "COM" IUnknown
interface. In addition, the types are carefully mapped and the names are
the same so that if necessary we can "flip a switch" and have the windows
version (or any other platform that embraces COM) use the native COM IUnknown
without source code modification.
<H2>
Factory Procedures</H2>
Factory procedures use this design pattern
<UL><TT>nsqresult NS_NewFoo(nsIFoo** aInstancePtr, nsISupports* aOuter,
...);</TT></UL>
The return value is a status value (see nsISupports.h for the legal return
values); the first argument is a pointer to a cell which will hold the
new instance pointer if the factory procedure succeeds. The second argument
is a pointer to a containing component object that wishes to aggregate
in the Foo object. This pointer will be null if no aggregation is requested.
If the factory procedure cannot support aggregation of the Foo type then
it fails and returns an error if aggregation is requested.
<P>The following symbols are defined for standard error return values from
<TT>QueryInterface</TT> and from factory procedures:
<UL><TT>#define NS_FAILED(_nsresult) ((_nsresult) &lt; 0)</TT>
<BR><TT>#define NS_SUCCEEDED(_nsresult) ((_nsresult) >= 0)</TT>
<P><TT>// Standard "it worked" return value</TT>
<BR><TT>#define NS_OK 0</TT>
<P><TT>// Some standard error codes we use</TT>
<BR><TT>#define NS_ERROR_BASE ((nsresult) 0xC1F30000)</TT>
<BR><TT>#define NS_ERROR_OUT_OF_MEMORY (NS_ERROR_BASE + 0)</TT>
<BR><TT>#define NS_ERROR_NO_AGGREGATION (NS_ERROR_BASE + 1)</TT>
<BR><TT>#define NS_NOINTERFACE ((nqresult) 0x80004002L)</TT></UL>
<H2>
nsIFactory</H2>
Factory classes should eventually replace factory procedures for major
classes. They provide an easy mechanism for placing code in DLLs. The nsIFactory
class is as follows:
<BR>&nbsp;
<UL><TT>class nsIFactory: public nsISupports {</TT>
<BR><TT>public:</TT>
<UL><TT>virtual nsresult CreateInstance(const nsIID &amp;aIID,</TT>
<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
nsISupports *aOuter,</TT>
<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
void **aResult) = 0;</TT>
<BR><TT>virtual void LockFactory(PRBool aLock) = 0;</TT></UL>
<TT>};</TT></UL>
This interface is again identical to the COM version. More on registering
factories shortly.
<H2>
Error Handling</H2>
Because no exceptions are returned, error handling is done in the traditional
"error status value" method.
<H2>
Cross Platform Registry</H2>
A cross platform registry was written for the SmartUpdate feature of Communicator.
We will investigate it's usefulness for our purposes.
<H2>
Library Management</H2>
NSPR 2.x provides the cross platform mechanism for loading and unloading
libraries, and run time linking.
<BR>&nbsp;
</BODY>
</HTML>

254
mozilla/xpcom/doc/TODO.html Normal file
View File

@@ -0,0 +1,254 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.51 [en] (WinNT; U) [Netscape]">
<meta name="Author" content="Suresh Duddi">
<title>TODO List for XPCOM</title>
</head>
<body>
<center>
<h1>
TODO List for XPCOM</h1></center>
<center>Last updated: 25 March 1999
<br><a href="mailto:dp@netscape.com">Suresh Duddi</a></center>
<table BORDER WIDTH="100%" NOSAVE >
<tr NOSAVE>
<th NOSAVE>Task</th>
<th NOSAVE><a href="http://bugzilla.mozilla.org/bug_status.html#priority">Priority</a></th>
<th NOSAVE>Owner</th>
<th NOSAVE>MileStone complete/Status</th>
</tr>
<tr BGCOLOR="#33CCFF" NOSAVE>
<td NOSAVE>Move xpcom from using NR_*() functions (modules/libreg) to nsIRegistry
(xpcom/src/nsRegistry.cpp)
<ul>
<li>
Mainly you want to change all the Platform*() functions in nsComponentManager.cpp</li>
<li>
Now we open/close the registry all the time. I want to keep the registry
open all the time. That would get performance up.</li>
<li>
Platform*() functions use the NR_*Raw() functions in some places. I wonder
if the nsRegistry has a equivalent. If not we need to create them.</li>
</ul>
Mostly, there is equivalence between NR_*() calls and nsRegistry calls.&nbsp;</td>
<td>P2</td>
<td>Nick Ambrose &lt;<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
<td>3/22/1999 started
<br>3/27/1999 Patch submitted
<br>3/30/1999 landing
<br><b>DONE</b></td>
</tr>
<tr BGCOLOR="#33CCFF">
<td>RegisterFactory() and RegisterComponent(..persist=0) ignoring PROGID.
Needs Fix.</td>
<td>P1</td>
<td>Nick Ambrose &lt;<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
<td>4/6/1999 started
<br>4/7/1999 Patch submitted
<br>4/12/1999 Patch Checked in
<br><b>DONE</b></td>
</tr>
<tr>
<td>Startup components: Some components need to be created at startup.
Have a framework for them.</td>
<td>P1</td>
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
<td></td>
</tr>
<tr>
<td>nsIRegistry access via Javascript.</td>
<td>P1</td>
<td></td>
<td>IDL of nsIRegistry will fix this says <a href="mailto:jband@netscape.com">John
Bandhauer</a></td>
</tr>
<tr BGCOLOR="#33CCFF" NOSAVE>
<td NOSAVE>API changes: Remove all pathlist. XPCOM should support only
paths.</td>
<td>P1</td>
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
<td>4/2/1999 Checked in
<br><b>DONE</b></td>
</tr>
<tr>
<td>Fix xpcom from being initialized before main from static variables.</td>
<td>P1</td>
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
<td>3/22/1999 Started.
<br>- checked in a fixed xpcom initialization sequence.
<br>- Now got to fix all code statically calling it. I know Netlib does.
<br>- 4/1/1999 Fixed netlib on unix from static intialization. WIN is left.</td>
</tr>
<tr>
<td>Path handling: Use nsFileSpec instead of file path names. Char * pathnames
are not intl, and cannot be stored in the registry. Plus that wont support
mac aliases.
<ul>
<li>
Possibly move autoreg out of xpcom</li>
</ul>
</td>
<td>P1</td>
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a>
<br><a href="mailto:rjc@netscape.com">Robert Churchill</a></td>
<td>3/24/1999 started
<br><b>Blocked </b>on deciding which solution to pick.</td>
</tr>
<tr>
<td>Registry dump utility (regExport exists on windows) and about:registry
(or) better yet an rdf data source for the registry.</td>
<td>P3</td>
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
<td>4/5/1999 Fixed regExport to accurately dump the registry on win and
unix.
<br>- regExport needs to be compiled on the mac.</td>
</tr>
<tr>
<td>Replace use of nsVector (PL_Vector) with nsISupportsArray</td>
<td>P3</td>
<td></td>
<td></td>
</tr>
<tr>
<td>PATH argument to NSRegisterSelf() and NSUnregisterSelf() to be a nsISupports</td>
<td>P1</td>
<td></td>
<td></td>
</tr>
<tr BGCOLOR="#33CCFF" NOSAVE>
<td NOSAVE>Code Cleanup:
<ul>
<li>
Registry path strings in nsComponentManager.cpp #defined</li>
</ul>
</td>
<td>P3</td>
<td>Nick Ambrose &lt;<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
<td>4/1/1999 started
<br>4/5/1999 Patch submitted and checked in
<br><b>DONE</b></td>
</tr>
<tr BGCOLOR="#33CCFF">
<td>Performance
<ul>
<li>
Cache commonly used registry keys</li>
</ul>
</td>
<td>P1</td>
<td>Nick Ambrose &lt;<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
<td>4/1/1999 started
<br>4/5/1999 Patch submitted and checked in
<br><b>DONE</b></td>
</tr>
<tr>
<td>Factories: Use previously created factories for object creation instead
of creating the factory everytime the object needs to be created.
<ul>
<li>
This is very tricky as the factory is owned by the component and when it
decides to unload itself on a CanUnload() call, the factory will be released.
Got to make sure that the component manager gets notified of this if it
caches the factory.</li>
</ul>
</td>
<td>P2</td>
<td></td>
<td></td>
</tr>
<tr BGCOLOR="#33CCFF" NOSAVE>
<td NOSAVE>nsIAllocator: wrap it in a static api</td>
<td>P2</td>
<td><a href="mailto:jband@netscape.com">John Bandhauer</a></td>
<td NOSAVE>3/31/1999 started
<br>4/2/1999 Check in
<br><b>DONE</b></td>
</tr>
</table>
<h2>
Documentation on XPCOM</h2>
<ul>
<li>
<a href="TODO.html">TODO List</a> &lt;<i>this page></i></li>
<li>
XPCOM main page : <a href="http://www.mozilla.org/projects/xpcom">http://www.mozilla.org/projects/xpcom</a></li>
<li>
<a href="xpcom-code-faq.html">Code FAQ</a></li>
<li>
<a href="xpcom-component-registration.html">Component Registration</a></li>
</ul>
<hr WIDTH="100%">
</body>
</html>

View File

@@ -0,0 +1,93 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Kipp E.B. Hickman">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>C++ Tips</TITLE>
</HEAD>
<BODY>
<H1>
C++ Tips</H1>
This is a compilation of tips on how to write cross-platform C++ code that
compiles everywhere.
<H2>
General</H2>
<UL>
<LI>
Always use the nspr types for intrinsic integer types. The only exception
to this rule is when writing machine dependent code that is called from
xp code. In this case you will probably need to bridge the type systems
and cast from an nspr type to a native type. The other exception is floating
point; nspr defines PRFloat as a double (!).</LI>
<LI>
Exceptions do not work everywhere so don't use them anywhere except in
machine specific code, and then if you do use them in machine specific
code you must catch all exceptions there because you can't throw the exception
across xp code.</LI>
<LI>
Templates do not work everywhere so don't use them anywhere.</LI>
<LI>
Do not wrap include statements with an #ifdef. The reason is that when
the symbol is not defined, other compiler symbols will not be defined and
it will be hard to test the code on all platforms. An example of what <B>not</B>
to do:</LI>
<BR>&nbsp;
<UL><TT>#ifdef X</TT>
<BR><TT>#include "foo.h"</TT>
<BR><TT>#endif</TT>
<BR><TT></TT>&nbsp;</UL>
<LI>
For types that do not need operator= or a copy constructor, declare them
yourselves and make them private. Example:</LI>
<BR>&nbsp;
<UL><TT>class foo {</TT>
<BR><TT>...</TT>
<BR><TT>private:</TT>
<BR><TT>&nbsp; // These are not supported and are not implemented!</TT>
<BR><TT>&nbsp; foo(const foo&amp; x);</TT>
<BR><TT>&nbsp; foo&amp; operator=(const foo&amp; x);</TT>
<BR><TT>};</TT></UL>
<LI>
</LI>
</UL>
<H2>
Windows Compatability</H2>
<H2>
Metroworks Compatability</H2>
<UL>
<LI>
MAC compilers do not handle #include path names in the same manner as other
systems. Consequently #include statements should not contain path names,
just simple file names. An example of what <B>not</B> to do:</LI>
<BR>&nbsp;
<UL>#include "gemini/nsICSSParser.h"
<BR>&nbsp;</UL>
<LI>
</LI>
</UL>
<H2>
G++ Compatability</H2>
<UL>
<LI>
Use void in argument lists for functions that have no arguments (this works
around a bug in g++ 2.6.3)</LI>
</UL>
</BODY>
</HTML>

View File

@@ -0,0 +1,279 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.51 [en] (WinNT; U) [Netscape]">
<meta name="Author" content="Suresh Duddi">
<title>XPCOM Code FAQ</title>
</head>
<body>
<h2>
XPCOM Code FAQ</h2>
Suresh Duddi &lt;<a href="mailto:dp@netscape.com">dp@netscape.com</a>>
<br>Last Modified: April 2 1999
<br>
<hr WIDTH="100%">
<br>I am documenting things randomly as I am replying to people's questions.
So this looks more like an FAQ.
<h3>
Table of Contents</h3>
<ol>
<li>
<a href="#What are the Global Objects that XPCOM maintains">What are the
Global Objects that XPCOM maintains</a></li>
<li>
<a href="#What are the static classes that XPCOM maintains">What are the
static classes that XPCOM maintains</a></li>
<li>
<a href="#Is there any restriction on which static class I should call fi">Is
there any restriction on which static class I should call first</a></li>
<li>
<a href="#What is the order of creation of the ServiceManager, ComponentM">What
is the order of creation of the ServiceManager, ComponentManager and Registry</a></li>
<li>
<a href="#Is there a global Registry being maintained">Is there a global
Registry being maintained</a></li>
<li>
<font color="#000000"><a href="#ComponentManager Vs ServiceManager">ComponentManager
Vs ServiceManager</a></font></li>
<li>
<a href="#ProgID Vs CLSID">ProgID Vs CLSID</a></li>
<li>
<a href="#How to debug components ?">How to debug components ?</a></li>
</ol>
<hr WIDTH="100%">
<h4>
<a NAME="What are the Global Objects that XPCOM maintains"></a>What are
the Global Objects that XPCOM maintains</h4>
<ul>mGlobalServiceManager
<br>mGlobalComponentManager</ul>
<h4>
<a NAME="What are the static classes that XPCOM maintains"></a>What are
the static classes that XPCOM maintains</h4>
<blockquote>nsComponentManager
<br>nsServiceManager</blockquote>
<h4>
<a NAME="Is there any restriction on which static class I should call fi"></a>Is
there any restriction on which static class I should call first</h4>
<blockquote>No restrictions. You can call any function from the static
classes nsComponentManager and nsServiceManager. XPCOM will do the right
thing to initialize itself at both places.
<p>Autoregistration() can happen only after Init_XPCOM() is called since
the registy might be required by SelfRegister() functions of the dlls and
it is only in Init_XPCOM() do we create register the RegistryFactory()
with the ComponentManager.</blockquote>
<h4>
<a NAME="What is the order of creation of the ServiceManager, ComponentM"></a>What
is the order of creation of the ServiceManager, ComponentManager and Registry</h4>
<blockquote>Init_XPCOM()
<blockquote>
<li>
create the global service manager</li>
<li>
create the global component manager and register as service with the global
service manager</li>
<li>
RegisterFactory(...RegistryFactory...)&nbsp; Register the RegistryFactory
with the component manager so that new registry objects can be created.</li>
</blockquote>
Now the hard problem is when to trigger Init_XPCOM() There are two static
objects nsComponentManager and nsServiceManager. Any function in either
of them can be called first. Today nsServiceManager::GetService() is the
first one that gets called. All the members of the static nsServiceManager
use the NS_GetGlobalServiceManager() to get to the global service manager.
All members of the static nsComponentManager use the NS_GetGlobalComponentManager()
to get to the global component manager. Hence if we trigger Init_XPCOM()
from both NS_GetGlobalComponentManager() and NS_GetGlobalServiceManager()
we will be safe.</blockquote>
<h4>
<a NAME="Is there a global Registry being maintained"></a>Is there a global
Registry being maintained</h4>
<blockquote>No. The nsIRegistry is designed to be lightweight access to
the registry. Consumers who need to access the registry should use the
component manager to create the their own registry access object. This
is required because the open() call is supported by the nsIRegistry() and
if we maintain a global registry arbitrating which registry file is opened
is going to be a major headach.
<p>The ProgID for the registry will be <font color="#990000">component://netscape/registry</font>
<br>&nbsp;</blockquote>
<h4>
<a NAME="ComponentManager Vs ServiceManager"></a><font color="#000000">ComponentManager
Vs ServiceManager</font></h4>
<blockquote><font color="#000000">ComponentManager is the only way for
component creation. ComponentManager always uses the component's factory
to create the component instance. Clients (code that calls CreateInstance()
to create and use a component) call the ComponentManager to create instances.
Components (the code that implemented NSRegisterSelf()) calls the ComponentManager
to register itself and gets called when a Client wants to instantiate a
component.</font>
<p><font color="#000000">ServiceManager is a convinience for getting singleton
components, components for which only one instance stays alive for the
entire application e.g Netlib. It enforces only one of a kind of a component
to exist. Hence the notion of getting a service not creating one. (as opposed
to the notion of Creating instances with the componentManager). ServiceManager
is a convenience because components can technically force singletonism
by making their factory return the same instance if one was created already.
The other big use of ServiceManager is the (still unimplemented) notion
of Shutting down a service.</font>
<p><b><i><font color="#000000">Client</font></i></b>
<ul>
<li>
<i><font color="#000000">When does a client use the service manager vs
component manager</font></i></li>
<br><font color="#000000">When a client knows that the component that they
are trying to instantiate is a singleton, they need to call service manager
instead of component manager. Clients dont have to worry about calling
the ComponentManager at all in this case. The ServiceManager will take
care of creating the instance if the first one doesn't exist already.</font>
<br>&nbsp;
<li>
<i><font color="#000000">When does a client use the Component Manager as
opposed to Service Manager</font></i></li>
<br><font color="#000000">When a client wants a private instance of a component,
they call the Component Manager. From the Clients point of view, a new
xpcom object creation happens everytime they call CreateInstance() Anything
else is an implementation detail that the Client need not worry about.</font>
<br>&nbsp;
<li>
<i><font color="#000000">How does a Client know that they have to instantiate
a singleton</font></i></li>
<br><font color="#000000">For now, the Client just has to know. There is
no way of telling which component is a Service and which isn't. In fact,
in todays xpcom (Mar 1999) any component can be accessed as a Service.
Use your judgement until there is a proper method or service manager is
eliminated. There is nothing even in the code that detects Services from
Instances.</font>
<p><b><font color="#CC0000">Need a solution for this. Email suggestion
to <a href="mailto:warren@netscape.com,dp@netscape.com">warren@netscape.com,
dp@netscape.com</a></font></b>
<br>&nbsp;</ul>
<b><i><font color="#000000">Component</font></i></b>
<ul>
<li>
<i><font color="#000000">Can a component enforce use only as a Service</font></i></li>
<br><font color="#000000">No. The notion of the ServiceManager is available
only to Clients.</font>
<p><font color="#000000">Note that at some points when a component wants
another component, it actually behaves as a client and hence follows the
rules of the Client above to either CreateInstance() or GetService() the
needed component.</font>
<p><b><tt><font color="#990000">Workaround:</font></tt></b><font color="#000000">
If however a component wants only one of its instances to exist and cannot
ensure that Clients understand well enough only to use the Service Manager
to get it, it can implement singletonism in its factory. Basically the
factory on first instance creation should hang on to the instance. On subsequence
instance creations, addref the instance it is holding to and return that
instead creating a new one.</font>
<ul>&nbsp;
<br><font color="#000000">E.g preferences does this.</font> Code sample
at
<a href="http://lxr.mozilla.org/seamonkey/source/modules/libpref/src/nsPref.cpp#621">nsPref.cpp
nsPrefFactory::CreateInstance()</a> and&nbsp; <a href="http://lxr.mozilla.org/seamonkey/source/modules/libpref/src/nsPref.cpp#227">nsPref.cpp
nsPref::GetInstance()</a> With this implementation, whether Clients get
to it by calling nsIServiceManager::GetService() or nsIComponentManager::CreateInstance(),
the same object will be returned hence guaranteeing singletonism.</ul>
<li>
<i><font color="#000000">Should a component do anything at creation to
become a Service</font></i></li>
<br><font color="#000000">No. Again, the notion of a ServiceManager is
available only to Clients.</font>
<br>&nbsp;
<li>
<i><font color="#000000">Can a component advertise that it is a service
so clients can use it as one</font></i></li>
<br>No. There isn't a way other than a comment in the interface of the
header file.</ul>
</blockquote>
<h4>
<a NAME="ProgID Vs CLSID"></a>ProgID Vs CLSID</h4>
<blockquote>ClassID or CLSID is the unique indentification of a component.
It is a structure of huge numbers generated by using uuidgen on a windows
box. It is represented as a string in documentation as {108d75a0-bab5-11d2-96c4-0060b0fb9956}
<p>ProgID is the string identification of an implementation of a component
the client is looking for. The representation takes a URI syntax. Eg. <i>component://netscape/network/protocol?name=http;description=Http%20Protocol%20Handler</i>
<br>Some simplify this to, ProgID is a more readable string form of a CLSID.
That is acceptable on the periphery. The ProgID is a Client thing. Components
register with component manager to claim that they are the implementation
for a ProgID. A component can register to be the implementation for multiple
ProgIDs (not implemented yet).
<p><b><i>Client</i></b>
<ul>
<li>
<i>Should CreateInstance() calls use ProgID or CLSID</i></li>
<br>ProgID is what Clients should use to CreateInstances. Clients should
not even know about the CLSID unless they are hell bent on creating a particular
implementation of a component.
<br>&nbsp;</ul>
<b><i>Component</i></b>
<ul>
<li>
<i>Should Components register with both a CID and ProgID</i></li>
<br>Absolutely.</ul>
</blockquote>
<h4>
<a NAME="How to debug components ?"></a>How to debug components ?</h4>
<blockquote>XPCOM provides log output. To enable the logging:
<blockquote><tt>setenv NSPR_LOG_MODULES nsComponentManager:5</tt>
<br><tt>setenv NSPR_LOG_FILE xpcom.log</tt></blockquote>
Start your application after setting the above environment variables. Debug
log from xpcom would be in the file <tt>xpcom.log</tt>
<p>Since components are dynamically loaded only on demand, debugging them
could be a hard. Here are some tips to debugging components.
<p><b><i>Windows: VC5.0 VC6.0</i></b>
<ul>Include your component library in the Project->Settings, Additional
Dll. drop down. After that breakpoints can be enabled.</ul>
<b><i>Unix: gdb</i></b>
<blockquote>Let the program run until you are sure that your component
is loaded. Type Control-C. Now all symbols from your component will be
available in gdb. Put your breakpoints and restart the app. Gdb will complain
that it cannot set the breakpoint, and that it is temporarily disabling
it, but when the *.so is loaded, the breakpoint is enabled automatically.
- &lt;<a href="mailto:erik@netscape.com">Eric Van Der Poel</a>>
<p>I think typing "dir components" (assuming you're in dist/bin) will also
allow you to see the symbols in your stack the first time. - &lt;<a href="mailto:alecf@netscape.com">Alec
Flett</a>></blockquote>
<b><i>Mac: Codewarrior</i></b>
<blockquote>Just open the appropriate .xSYM file in the debugger; the debugger
will target the library when the application is run. - &lt;<a href="mailto:sfraser@netscape.com">Simon
Fraser</a>></blockquote>
</blockquote>
<hr WIDTH="100%">
</body>
</html>

View File

@@ -0,0 +1,543 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Suresh Duddi">
<meta name="GENERATOR" content="Mozilla/4.51 [en] (X11; U; Linux 2.0.36 i686) [Netscape]">
<title>XPCOM Dynamic Component Registration</title>
</head>
<body>
<center>
<h2>
XPCOM Dynamic Component Registration</h2></center>
<center>Suresh Duddi &lt;<a href="mailto:dp@netscape.com">dp@netscape.com</a>>
<hr WIDTH="100%"></center>
<p>Dynamic object registration in XPCOM is achieved by interaction of the
following components:
<ul>
<li>
The Component Registry</li>
<li>
The Repository</li>
<li>
The Service Manager</li>
<li>
Component dll implementing <tt>NSRegisterSelf()</tt></li>
</ul>
The registration mechanism for XPCOM components is similar in many ways
to that of COM. The XPCOM component dlls will have the opportunity to register
themselves with the registry. The exact time of installation would be either
at install time or as a result of <b>autodetection</b> by the Repository
Manager at runtime.
<br>
<hr WIDTH="100%">
<h3>
<a NAME="The Registry: XPCOM Hierarchy"></a>The Component Registry</h3>
There are three types of Component Registries:
<ol>
<li>
<b>App-Component-Registry<br>
</b>Each application has its own Component Registry that lives along with
the app in its &lt;exe-dir>/components directory. The Component Registry
is created on installation or first run. It is be used read-only by XPCOM</li>
<li>
<b>User-Component-Registry</b></li>
<br>Each user can install additional components under their user home directory.
These components will be shared across all XPCOM applications that the
user runs.
<li>
<b>Meta-Component-Registry</b></li>
<br>Sharing Components between application: This can happen in two ways.
The installer of an application can find the other application's components
by looking for the application specifically and registering them with this
app's component registry. The second and more preferable approach is to
keep a machine wide Meta-Components-Registry that would aggregate all the
app component registries.</ol>
The difference component registries will be searched in the following order:
<ol>
<li>
User Components Registry</li>
<li>
App Component Registry</li>
<li>
Meta Component Registry</li>
</ol>
The user component registry is the only one that will be updated on the
fly by XPCOM. JS will be given the option to update either the App-Component-Registry
or the User-Component-Registry and this may succeed fail based on write
permission, although the general guideline is to update the User-Component-Registry.
JS will have to do special things to update the App-Component-Registry.
<p>Profiles are a notion of the app (navigator) and xpcom has nothing to
do with it. The app will store app specific data in a Data-Registry that
will be stored under the user's home directory.
<h4>
How does this Solve our problems</h4>
<ol>
<li>
Multiple installations of mozilla and xpcom based apps</li>
<br>Since each installation is going run with their own App-Component-Registry,
basically both apps will work. No inter process locking is essential. Since
both processes will operate on the User-Component-Registry, inter process
locking of the User-Component-Registry will be required.
<li>
Third Party components installation</li>
<br>Third parties can install components in their own directories and update
the App-Component-Registry (preferable) or User-Component-Registry depending
on if the sharing of component needs to be specific to the user or for
all users. Facilities for updating the registry would be to use JS or write
XPCOM code in their installer. The other option would be to add their components
in their own directory, create a App-Component-Registry of their own in
their directory and reference it in the Global Meta-Components-Registry.
This will get their components used by all applications.
<li>
Registry used to store app specific data</li>
<br>This is a totally separate registry: the Data-Registry. The theory
is that this will reside in the user's home directory. The registry hierarchy
is app specific.
<li>
User Specific components</li>
<br>This is basically the User-Component-Registry. Inter process locking
is required as all processes with XPCOM will access the same User-Component-Registry.
<li>
Embedding</li>
<br>This is requires more thought. The fact is when say Gecko is embedded
into an application, Gecko is running most probably in the process space
of that application and hence the XPCOM used will look for components in
this embedding applications directory. The embedding procedure should create
a App-Component-Reqistry for the embedding application that should contain
all the components from different apps this app would like to use. This
is however not required, if the Meta-Component-Registry exists.
<li>
User not having permission to the place where the global registry lives,
if there is one.</li>
<br>First the App-Component-Registry is written to only when there is a
new component or a component has gone away. New components come with installers
or the user calls regFactory.exe with the dll as an argument or clicks
on a button that says "refresh my user components" which will cause autoregistration
of user components. For deleted app components, annotations will be made
in the User-Component-Registry. Deleted user components is a non-issue.
<li>
NFS mounted home directories and app directories</li>
<br>NFS mounted home directories requires inter-machine locking of the
User-Component-Registry.&nbsp; NFS mounted app directories dont have a
problem as the App-Component-Registry is&nbsp; only used read-only by XPCOM.</ol>
So in summary,
<ul>
<li>
App-Component-Registry pretty much solves the top problem of Multiple applications.
With some help from the installer, Third party components will also be
solved.</li>
<li>
User-Component-Registry solves the User Specific Components problem.</li>
<li>
Meta-Component-Registry enables the dynamic sharing of components between
apps which eases embedding.</li>
</ul>
As a first cut, I am going to implement the App-Component-Registry for
M8.
<h4>
Hierarchy Used by Component Registry</h4>
XPCOM uses the nsRegistry to store mappings between CLSIDs and their implementations.
The Registry provides persistent storage of hierarchical keys and name-value
pairs associated with each key. Each key also keeps a default value.
<p>XPCOM will use the following registry hierarchy:
<blockquote><tt>ROOTKEY_COMMON</tt>
<br><tt>&nbsp;&nbsp;&nbsp; Common</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Classes</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CLSID</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><font color="#CC0000">{108d75a0-bab5-11d2-96c4-0060b0fb9956}</font></b></tt>
<br><tt><nobr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
InprocServer (S)&nbsp; = <font color="#CC0000">/home/dp/dist/bin/components/libnfs-protocol.so</font></nobr></tt>
<br><tt><nobr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ProgID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (S)&nbsp; = <b><font color="#CC0000">component://netscape/network-protocol&amp;type=nfs</font></b></nobr></tt>
<br><tt><nobr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ClassName&nbsp;&nbsp;&nbsp; (S)&nbsp; = <b><font color="#CC0000">NFS Protocol
Handler</font></b></nobr></tt>
<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#CC0000">component://netscape/network-protocol&amp;type=nfs</font></tt>
<br><tt><nobr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CLSID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (S)&nbsp; = <font color="#CC0000">{108d75a0-bab5-11d2-96c4-0060b0fb9956}</font></nobr></tt>
<p><tt><i>&nbsp;&nbsp;&nbsp; </i>Software</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Netscape</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
XPCOM</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
VersionString&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (S)&nbsp;
= <font color="#CC0000">alpha0.20</font></tt>
<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<font color="#CC0000">/home/dp/dist/bin/components/libnfs-protocol.so</font></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ComponentsCount&nbsp;&nbsp;&nbsp; (Int)&nbsp; = <font color="#CC0000">1</font></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
FileSize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Int)&nbsp;
= <font color="#CC0000">78965</font></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
LastModTimeStamp&nbsp;&nbsp; (S)&nbsp;&nbsp;&nbsp; = <font color="#CC0000">Wed
Feb 24 11:24:06 PST 1999</font></tt>
<p><tt><font color="#CC0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</font><font color="#000000">Events</font></tt>
<br><tt><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Startup</font></tt>
<br><tt><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</font><font color="#CC0000">{108d75a0-bab5-11d2-96c4-0060b0fb9956}</font></tt>
<br><tt><font color="#CC0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
{17894983-ab78-8d75-a0bb-511d296c4006}</font></tt>
<p><tt><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Shutdown</font></tt>
<br><tt><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</font><font color="#CC0000">{748958ea-abab-511d-296c-40060b0fb995}</font></tt>
<br><tt><font color="#CC0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
{45617894-983a-b788-d75a-0bab11d296c4}</font></tt>
<br>&nbsp;</blockquote>
<h3>
<hr WIDTH="100%"><a NAME="The Repository: Object instance creation"></a>The
Repository: Object instance creation</h3>
All object creation happens via The Repository.&nbsp; <tt>nsIRepository::CreateInstance()</tt>
will be the primary way of creation of object instances. The steps in instantiation
of an object that implements the IID interface and of class CLSID is as
follows:
<ol>
<li>
The CLSID of the component that would need to create the object instance
is identified.</li>
<ol>Callers use <tt>nsIRepository::ProgIDToCLSID()</tt> to convert the
ProgID string to the CLSID.</ol>
<li>
Load the dll associated with the CLSID after consulting the Registry</li>
<li>
Instantiate the class factory by calling a globally exported dll function
<tt>NSGetFactory()</tt>.
This returns an instance of the class factory that implements the <tt>nsIFactory</tt>
interface.</li>
<li>
The actual object creation is delegated to this <tt>nsIFactory</tt> instance
with a call to <tt>nsIFactory::CreateInstance()</tt>.</li>
</ol>
<h3>
<hr WIDTH="100%"><a NAME="The Service Manager"></a>The Service Manager</h3>
All globally created system services are available via the <tt>nsIServiceManager</tt>,
including the <tt>nsIRepository</tt> and <tt>nsIRegistry</tt>. Although
the <tt>nsIServiceManager</tt> uses the Registry and Repository in the
creation and maintenance of other services, the circular dependency is
broken by not letting the <tt>nsIServiceManager</tt> create the <tt>nsIRepository</tt>
and <tt>nsIRegistry</tt> instance and registering them specially with the
<tt>nsIServiceManager</tt>.
The nsIServiceManager is passed into NSGetFactory() for assisting the DLL
in the Factory creation process.
<h3>
<hr WIDTH="100%"><a NAME="Component Registration"></a>Component Registration</h3>
Either at installation time of the Component or at times when the XPCOM
library autodetect new/changed dlls, component registration is activated.
The autodetection happens at startup time of the navigator or via a javascript
trigger <tt>navigator.repository.autodetect()</tt>. The steps in component
registration would be:
<ol>
<li>
The dll is loaded</li>
<li>
The component is allowed to self register by a call to a globally exported
dll function <tt>NSRegisterSelf()</tt>. The <tt>nsIServiceManager</tt>
and the fullpath of the dll are passed in to assist in the registration
process. The dll is expected to create/modify its entries in the Registry
according to the guidelines of the <a href="#The Registry: XPCOM Hierarchy">XPCOM
hierarchy</a> in the registry. <tt>nsIRepository</tt>, which can be queried
from the <tt>nsIServiceManager</tt>, has useful registration functions
that would easen the process.</li>
<li>
The dll is unloaded</li>
</ol>
<h3>
<hr WIDTH="100%"><a NAME="Autodetection of Components"></a>Autodetection
of Components</h3>
Autodetection of changed dlls happened by storing the dll's last modified
time and its size in the Registry automatically. If either the last modified
time stamp or the filesize differs from that stored in the Registry for
the dll, re-registration takes place. Before re-registration, the existing
instances of the objects created by the classes in the dll are not freed
because the <tt>nsIRepository</tt> has no list of them. The <tt>NSCanUnload()</tt>
will be called with input parameter <i>force</i> set to <tt>true</tt>.
The dll has to prepare for getting unloaded. After this call returns, the
dll <b>will</b> be unloaded if the return value is <tt>true</tt>. If the
dll detects that it cannot properly prepare for unloading, then it can
return <tt>false</tt>. XPCOM will not let the re-registration of the modified
dll proceed in this case. There is nothing much that XPCOM library can
do to salvage this situation other than warning the user of possible instability
and advice a restart upon which the re-registration will happen.
<h3>
<hr WIDTH="100%"><a NAME="ProgID Spec"></a>ProgID Spec</h3>
The general format of ProgIDs is <i><b><font color="#990000">component://</font></b>netscape<b><font color="#990000">/</font></b>compname<b><font color="#990000">?</font></b>var<b><font color="#990000">=</font></b>value<b><font color="#990000">;</font></b>var<b><font color="#990000">=</font></b>value<b><font color="#990000">;</font></b>var<b><font color="#990000">=</font></b>value...</i>
<p>Let us consider some more examples:
<ol>
<li>
A pluggable protocol that implementes the nfs protocol</li>
<li>
A converter that can handle application/x-zip</li>
<li>
A plugin that can handle image/gif</li>
<li>
A widget that can do a toolbar</li>
<li>
A datasource that can handle mail</li>
<li>
A helperapp that deals with application/postscript</li>
</ol>
All the above have what type they are and one or more arguments on what
they particularly do.
<p>The ProgID for these would look like
<ol>
<li>
<tt>component://netscape/network-protocol?type=nfs</tt></li>
<li>
<tt>component://netscape/data-converter?type=application/x-zip</tt></li>
<li>
<tt>component://netscape/plugin?type=image/gif;name=ImageMedia%20Gif%20Image%20Plugin;Description=Renders%20GIF%20Images....</tt></li>
<li>
<tt>component://netscape/widget?type=toolbar</tt></li>
<li>
<tt>component://netscape/rdf/datsource?type=mail</tt></li>
<li>
<tt>component://netscape/helperapp?type=application/postscript</tt></li>
</ol>
{Assume proper escaping of all above URI}
<p>The above semantics would let ProgID be an extensible mechanism that
could be searched on multiple ways. And
<br>query on a progid should match only whatever was passed in. So a query
for
<br>component://netscape/plugin?type=image/gif should pass for the progid
specified above. We could extend this
<br>mechanism with wildcards, but I dont want to go there yet... :-)
<br>&nbsp;
<h3>
<hr WIDTH="100%"><a NAME="Startup Components"></a>Components created on
events</h3>
<b><font color="#990000">NOTE: THIS IS NOT BEING DONE. We are going to
expect the apps to this themselves by using the registry.</font></b>
<p>Some dlls have components that want to be created on certain events
namely Startup, Shutdown (for now). Example is xpinstall.
<blockquote>RegisterComponentForEvent(..., RegisterationTime when, ...)
<br>RegisterFactoryForEvent(..., RegistrationTime when,...)</blockquote>
exists for this purpose. When an application wants to Fire the particular
event, it calls
<blockquote>nsComponentManager::FireEvent(RegistrationTime when)</blockquote>
ComponentManager will look for components that are registered to be created
on these events and do the following for each of the components:
<ol>
<li>
CreateInstance(...,CID, knsIStartupComponentIID, &amp;obj);</li>
<br>For a shutdown event, knsIShutdownComponentIID would be used.
<br>&nbsp;
<li>
obj->Release();</li>
<br>The component needs to take adequate measures to keep itself alive
and figure out how it would delete the object, since a Release() happens
immediately after a CreateInstace()</ol>
<b><i>Warning: </i></b>Order of creation of multiple components registered
on the same event is not defined. Component dependencies aren't thought
of yet.
<br>&nbsp;
<h3>
<hr WIDTH="100%"><a NAME="How will all this help me"></a>How will all this
help me</h3>
For Component Developers:
<ul>
<li>
Component dlls developed could be dropped into a directory, a JS function
called after which your component is in business without even a restart
of the browser. Of course, there needs to be someone accessing it.</li>
<li>
No need to export you CLSID or run around finding where to advertise your
CLSID</li>
</ul>
For Component Users:
<blockquote>
<li>
No more hacking in calls to <tt>nsIRepository::RegisterFactory()</tt></li>
<li>
No need to know the CLSID of components that you want to instantiate. Component
creation can happen like this</li>
<br><tt>nsIRepository::CreateInstance(<b>"<font color="#CC0000">component://netscape/network-protocol&amp;type=nfs</font>"</b>,
NULL, kProtocolIID, &amp;result);</tt>
<br>instead of
<br><strike>nsIRepository::CreateInstance(NFS_PROTOCOL_CID, NULL, domIID,
&amp;result);</strike></blockquote>
<h3>
<hr WIDTH="100%"><a NAME="What has happened so far"></a>What has happened
so far</h3>
<ul>
<li>
Autoregistration implemented to grovel for components from the current
directory</li>
<li>
nsRepository is a global object. Not nsIRepository exists.</li>
<li>
nsRepository::ProgIDToCLSID() implemented</li>
</ul>
<h3>
<hr WIDTH="100%"><a NAME="Changes to XPCOM happening"></a>Changes to XPCOM
happening</h3>
<ul>
<li>
API changes to get ProgID in entire registration process for factories
and components</li>
<li>
ProgID cache to improve performance of ProgID queries</li>
<li>
Notion of Component dlls living in a <b>Components directory </b>and autoregistration
will load/manage only these components. Other components that are linked
in to the app need to call <tt>nsRepository::RegisterFactory()</tt> from
the app. <b>To make this happen we need a list of these.</b></li>
<li>
<b>nsRegistry:</b> Enabling the new nsRegistry developed by Bill Law &lt;law@netscape.com></li>
<li>
Service Manager and Repository: Merge them</li>
<li>
Convenience function to createIntance(progid)</li>
<li>
Base ProgID in the interface ID header file</li>
</ul>
<h3>
<hr WIDTH="100%"><a NAME="What should I do"></a>What should I do</h3>
<ul><b><font color="#CC0000">Component Developers</font></b>
<ul>
<li>
<font color="#000000">Implement <tt>NSRegisterSelf()</tt> for your component
dlls. Sample implementation that perf</font> <a href="http://cvs-mirror.mozilla.org/webtools/lxr/source/modules/libpref/src/nsPref.cpp#608">http://cvs-mirror.mozilla.org/webtools/lxr/source/modules/libpref/src/nsPref.cpp#608</a></li>
<li>
Use <tt>nsRepository::RegisterComponent()</tt> instead of <tt>nsRepository::RegisterFactory()</tt>
if your component lives in a DLL</li>
<li>
<b>Dont use static constructors in loadable components</b></li>
</ul>
<p><br><b><font color="#CC0000">Component Users</font></b>
<ul>
<li>
Create all your components using ProgID rather than CID</li>
<li>
If you were thinking of managing creation of components yourself, think
again. The repository may be already doing that.</li>
</ul>
</ul>
<h3>
<hr WIDTH="100%"><a NAME="Issues"></a>Issues</h3>
<ul>
<li>
Need support for questions like:</li>
<ol>
<li>
Enumerate all CLSIDs that implement a particular interface.</li>
<li>
Let a particular CLSID be the preferable implementation for an interface.</li>
<br>I dont know how this a XPCOM component user could use it unless there
could be a call like:
<br><tt>nsIRepository::CreateInstance(<b>NULL</b>, NULL, nsWidgetIID, &amp;result);</tt>
<li>
Enumerate all interfaces supported by a CLSID</li>
</ol>
<li>
Resolving naming conflicts between ProgID</li>
<li>
Store component specific name-values under <tt>ROOTKEY_COMMON\\<i>component.class.version\\</i></tt></li>
<li>
Add a registry entry under <tt>ROOTKEY_COMMON\\<i>component.class.version\\</i></tt>to
indicate the willingness for a CLSID to behave as a Service.</li>
<li>
Add quick registration support functions in <tt>nsIRepository</tt> for
components to use.</li>
<li>
Is the hierarchy <tt>ROOTKEY_COMMON\\<b>Classes</b>\\CLSID </tt>acceptable.</li>
<li>
Should we have a nsIRepository. JS needs it so that they can reflect it
in javascript. Remove &amp;'s in the API.</li>
</ul>
<hr WIDTH="100%">
<br><i><font size=-1>Last Modified: 28 Jan 1998</font></i>
<br><font size=-1><i>Feedback to: </i><a href="news:netscape.public.mozilla.xpcom">netscape.public.mozilla.xpcom</a></font>
</body>
</html>

View File

@@ -0,0 +1,161 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="pnunn">
<meta name="GENERATOR" content="Mozilla/4.5 [en]C-NSCP (WinNT; U) [Netscape]">
<title>xpCom FAQ</title>
</head>
<body>
<b><font size=+3>XPCOM FAQ</font></b>
<p>Get out your decoder rings kids!
<p>Having a basic understanding of COM is only the first
<br>step. To get CMonkey code to build and run,
<br>you&nbsp; need to translate your COM ideas into Netscape
<br>speak.
<p>Feel free to add to this document or change incorrect info.
<br>Hopefully more info and more examples will help new
<br>people reach XPCOM nirvana more quickly.
<p><b>To mentally translate XPCOM to COM.</b>
<br>&nbsp;
<table BORDER COLS=2 WIDTH="100%" >
<tr>
<td BGCOLOR="#CCCCCC"><b>vanilla COM</b></td>
<td BGCOLOR="#FFCCCC"><b>XPCOM</b></td>
</tr>
<tr>
<td BGCOLOR="#CCCCCC">&nbsp;IUnknown</td>
<td BGCOLOR="#FFCCCC">nsISupports</td>
</tr>
<tr>
<td BGCOLOR="#CCCCCC">IClassFactory</td>
<td BGCOLOR="#FFCCCC">nsIFactory</td>
</tr>
<tr>
<td BGCOLOR="#CCCCCC">virtual void _stdcall</td>
<td BGCOLOR="#FFCCCC">NS_IMETHOD</td>
</tr>
<tr>
<td BGCOLOR="#CCCCCC">interface ID = IID</td>
<td BGCOLOR="#FFCCCC">nsID = nsIID = IID</td>
</tr>
<tr>
<td BGCOLOR="#CCCCCC">class ID = CLSID&nbsp;</td>
<td BGCOLOR="#FFCCCC">nsCID = CID</td>
</tr>
</table>
<p>Not too difficult.
<br>But wait. There's more.
<br><b>-------------------------------------------</b>
<p><b><font size=+1>Why don't those classes have AddRef?</font></b>
<p>Actually, those classes do have AddRef. It is hidden
<br>in a macro. There are alot of&nbsp; macros that are alot of&nbsp; help
<br>once you know :
<br>&nbsp;&nbsp;&nbsp; 1) They exist.
<p>&nbsp;&nbsp;&nbsp; 2) Where they are defined. (They aren't always mnemonic
or onomatipeic.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
You might want to print them out.)
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mozilla/xpcom/public/nsCom.h
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mozilla/xpcom/public/nsISupports.h
<p>&nbsp;&nbsp;&nbsp; 3)What they are
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Here's a short list to give you an idea of what you've been missing.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
The include files listed above are the real reference.
<p>&nbsp;&nbsp;&nbsp; 4) A quick way to expand pesky macros:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
For macros in&nbsp; foo.cpp,&nbsp; 'make foo.i'
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This
will pump the foo.cpp file through C preprocessing
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
and expand all the macros for you.&nbsp; The output can be
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
hard to read, but if you search for&nbsp; unique strings
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
in the area you aredebugging, you can navigate
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
the file pretty easily.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(thanks to hshaw@netscape.com)
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<table BORDER COLS=2 WIDTH="100%" BGCOLOR="#CCCCCC" >
<tr>
<td BGCOLOR="#FFCCCC"><b><font size=+1>Netscape MACRO</font></b></td>
<td><b><font size=+1>Expansion of macro</font></b></td>
</tr>
<tr>
<td BGCOLOR="#FFCCCC">NSADDREF(factoryinstname)</td>
<td>Factory->AddRef();</td>
</tr>
<tr>
<td BGCOLOR="#FFCCCC">NS_IMETHOD</td>
<td>virtual nsresult __stdcall</td>
</tr>
<tr>
<td BGCOLOR="#FFCCCC">NS_INIT_REFCNT()</td>
<td>mRefCnt = 0</td>
</tr>
<tr>
<td BGCOLOR="#FFCCCC">NS_INIT_ISUPPORTS()</td>
<td>NS_INIT_REFCNT()</td>
</tr>
<tr>
<td BGCOLOR="#FFCCCC">NS_DECL_ISUPPORTS</td>
<td>public:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD QueryInterface(REFNSIID
aIID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
void** aInstancePtr);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD_(nsrefcnt)
AddRef(void);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD_(nsrefcnt)
Release(void);
<br>&nbsp;&nbsp;&nbsp; protected:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nsrefcnt mRefCnt;</td>
</tr>
</table>
<p>&nbsp;<font size=+1>Useful Links to COM Documents:</font>
<p><a href="http://www.mozilla.org/projects/xpcom/">XPCOM&nbsp; Page</a>
<br><a href="http://www.mozilla.org/projects/xpcom/nsCOMPtr.html">nsCOMPtr</a>
<br><a href="http://warp.netscape.com/client/raptor/codingconventions.html">Coding
Conventions</a>
<br><a href="http://warp/client/bam/eng/howto.html">Getting BAMmed</a>
<br><a href="http://warp/client/bam/eng/comdoc.html">How to COM</a>
<br><a href="http://www.mozilla.org/docs/tplist/catFlow/modunote.htm">Modularization
Techniques</a>
<br><a href="http://www.mozilla.org/docs/tplist/catBuild/portable-cpp.html">C++
Portability Guide</a>
<br><a href="http://www.mozilla.org/newlayout/">NGLayout</a>
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
</body>
</html>

28
mozilla/xpcom/ds/MANIFEST Normal file
View File

@@ -0,0 +1,28 @@
nsBTree.h
nsCRT.h
nsDeque.h
nsEnumeratorUtils.h
nsHashtable.h
nsIArena.h
nsIAtom.h
nsIBuffer.h
nsIByteBuffer.h
nsIObserverList.h
nsIPageManager.h
nsIProperties.h
nsISimpleEnumerator.h
nsISizeOfHandler.h
nsIUnicharBuffer.h
nsIVariant.h
nsInt64.h
nsQuickSort.h
nsRBTree.h
nsStr.h
nsString.h
nsString2.h
nsTime.h
nsUnitConversion.h
nsVector.h
nsVoidArray.h
nsXPIDLString.h
plvector.h

View File

@@ -0,0 +1,5 @@
nsICollection.idl
nsIEnumerator.idl
nsIObserver.idl
nsIObserverService.idl
nsISupportsArray.idl

View File

@@ -0,0 +1,117 @@
#!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
LIBRARY_NAME = xpcomds_s
MODULE = xpcom
XPIDL_MODULE = xpcom_ds
XPIDLSRCS = \
nsICollection.idl \
nsIEnumerator.idl \
nsIObserver.idl \
nsIObserverService.idl \
nsISupportsArray.idl \
$(NULL)
CPPSRCS = \
nsArena.cpp \
nsAtomTable.cpp \
nsBTree.cpp \
nsBuffer.cpp \
nsByteBuffer.cpp \
nsCRT.cpp \
nsConjoiningEnumerator.cpp \
nsDeque.cpp \
nsEmptyEnumerator.cpp \
nsEnumeratorUtils.cpp \
nsHashtable.cpp \
nsObserver.cpp \
nsObserverList.cpp \
nsObserverService.cpp \
nsPageMgr.cpp \
nsProperties.cpp \
nsQuickSort.cpp \
nsRBTree.cpp \
nsSizeOfHandler.cpp \
nsStr.cpp \
nsString.cpp \
nsString2.cpp \
nsSupportsArray.cpp \
nsSupportsArrayEnumerator.cpp \
nsUnicharBuffer.cpp \
nsVariant.cpp \
nsVoidArray.cpp \
nsXPIDLString.cpp \
plvector.cpp \
$(NULL)
EXPORTS = \
nsBTree.h \
nsCRT.h \
nsDeque.h \
nsEnumeratorUtils.h \
nsHashtable.h \
nsIArena.h \
nsIAtom.h \
nsIBuffer.h \
nsIByteBuffer.h \
nsIObserverList.h \
nsIPageManager.h \
nsIProperties.h \
nsISimpleEnumerator.h \
nsISizeOfHandler.h \
nsIUnicharBuffer.h \
nsIVariant.h \
nsInt64.h \
nsQuickSort.h \
nsRBTree.h \
nsStr.h \
nsString.h \
nsString2.h \
nsTime.h \
nsUnitConversion.h \
nsVector.h \
nsVoidArray.h \
nsXPIDLString.h \
plvector.h \
$(NULL)
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
DEFINES = -D_IMPL_NS_COM -D_IMPL_NS_BASE
REQUIRES = xpcom uconv unicharutil
MKSHLIB :=
# we don't want the shared lib, but we want to force the creation of a static lib.
override NO_SHARED_LIB=1
override NO_STATIC_LIB=
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,896 @@
/* -*- 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.
*/
/******************************************************************************************
MODULE NOTES:
This file contains the workhorse copy and shift functions used in nsStrStruct.
Ultimately, I plan to make the function pointers in this system available for
use by external modules. They'll be able to install their own "handlers".
Not so, today though.
*******************************************************************************************/
#ifndef _BUFFERROUTINES_H
#define _BUFFERROUTINES_H
#include "nsCRT.h"
#ifndef RICKG_TESTBED
#include "nsUnicharUtilCIID.h"
#include "nsIServiceManager.h"
#include "nsICaseConversion.h"
#endif
#define KSHIFTLEFT (0)
#define KSHIFTRIGHT (1)
inline PRUnichar GetUnicharAt(const char* aString,PRUint32 anIndex) {
return ((PRUnichar*)aString)[anIndex];
}
inline PRUnichar GetCharAt(const char* aString,PRUint32 anIndex) {
return (PRUnichar)aString[anIndex];
}
//----------------------------------------------------------------------------------------
//
// This set of methods is used to shift the contents of a char buffer.
// The functions are differentiated by shift direction and the underlying charsize.
//
/**
* This method shifts single byte characters left by a given amount from an given offset.
* @update gess 01/04/99
* @param aDest is a ptr to a cstring where left-shift is to be performed
* @param aLength is the known length of aDest
* @param anOffset is the index into aDest where shifting shall begin
* @param aCount is the number of chars to be "cut"
*/
void ShiftCharsLeft(char* aDest,PRUint32 aLength,PRUint32 anOffset,PRUint32 aCount) {
PRUint32 theMax=aLength-anOffset;
PRUint32 theLength=(theMax<aCount) ? theMax : aCount;
char* first= aDest+anOffset+aCount;
char* last = aDest+aLength;
char* to = aDest+anOffset;
//now loop over characters, shifting them left...
while(first<=last) {
*to=*first;
to++;
first++;
}
}
/**
* This method shifts single byte characters right by a given amount from an given offset.
* @update gess 01/04/99
* @param aDest is a ptr to a cstring where the shift is to be performed
* @param aLength is the known length of aDest
* @param anOffset is the index into aDest where shifting shall begin
* @param aCount is the number of chars to be "inserted"
*/
void ShiftCharsRight(char* aDest,PRUint32 aLength,PRUint32 anOffset,PRUint32 aCount) {
char* last = aDest+aLength;
char* first= aDest+anOffset-1;
char* to = aDest+aLength+aCount;
//Copy rightmost chars, up to offset+theDelta...
while(first<=last) {
*to=*last;
to--;
last--;
}
}
/**
* This method shifts unicode characters by a given amount from an given offset.
* @update gess 01/04/99
* @param aDest is a ptr to a cstring where the shift is to be performed
* @param aLength is the known length of aDest
* @param anOffset is the index into aDest where shifting shall begin
* @param aCount is the number of chars to be "cut"
*/
void ShiftDoubleCharsLeft(char* aDest,PRUint32 aLength,PRUint32 anOffset,PRUint32 aCount) {
PRUint32 theMax=aLength-anOffset;
PRUint32 theLength=(theMax<aCount) ? theMax : aCount;
PRUnichar* theBuf=(PRUnichar*)aDest;
PRUnichar* first= theBuf+anOffset+aCount;
PRUnichar* last = theBuf+aLength;
PRUnichar* to = theBuf+anOffset;
//now loop over characters, shifting them left...
while(first<=last) {
*to=*first;
to++;
first++;
}
}
/**
* This method shifts unicode characters by a given amount from an given offset.
* @update gess 01/04/99
* @param aDest is a ptr to a cstring where the shift is to be performed
* @param aLength is the known length of aDest
* @param anOffset is the index into aDest where shifting shall begin
* @param aCount is the number of chars to be "inserted"
*/
void ShiftDoubleCharsRight(char* aDest,PRUint32 aLength,PRUint32 anOffset,PRUint32 aCount) {
PRUnichar* theBuf=(PRUnichar*)aDest;
PRUnichar* last = theBuf+aLength;
PRUnichar* first= theBuf+anOffset-1;
PRUnichar* to = theBuf+aLength+aCount;
//Copy rightmost chars, up to offset+theDelta...
while(first<=last) {
*to=*last;
to--;
last--;
}
}
typedef void (*ShiftChars)(char* aDest,PRUint32 aLength,PRUint32 anOffset,PRUint32 aCount);
ShiftChars gShiftChars[2][2]= {
{&ShiftCharsLeft,&ShiftCharsRight},
{&ShiftDoubleCharsLeft,&ShiftDoubleCharsRight}
};
//----------------------------------------------------------------------------------------
//
// This set of methods is used to copy one buffer onto another.
// The functions are differentiated by the size of source and dest character sizes.
// WARNING: Your destination buffer MUST be big enough to hold all the source bytes.
// We don't validate these ranges here (this should be done in higher level routines).
//
/**
* Going 1 to 1 is easy, since we assume ascii. No conversions are necessary.
* @update gess 01/04/99
* @param aDest is the destination buffer
* @param aDestOffset is the pos to start copy to in the dest buffer
* @param aSource is the source buffer
* @param anOffset is the offset to start copying from in the source buffer
* @param aCount is the (max) number of chars to copy
*/
void CopyChars1To1(char* aDest,PRInt32 anDestOffset,const char* aSource,PRUint32 anOffset,PRUint32 aCount) {
char* to = aDest+anDestOffset;
const char* first= aSource+anOffset;
const char* last = first+aCount;
//now loop over characters, shifting them left...
while(first<last) {
*to=*first;
to++;
first++;
}
}
/**
* Going 1 to 2 requires a conversion from ascii to unicode. This can be expensive.
* @param aDest is the destination buffer
* @param aDestOffset is the pos to start copy to in the dest buffer
* @param aSource is the source buffer
* @param anOffset is the offset to start copying from in the source buffer
* @param aCount is the (max) number of chars to copy
*/
void CopyChars1To2(char* aDest,PRInt32 anDestOffset,const char* aSource,PRUint32 anOffset,PRUint32 aCount) {
PRUnichar* theDest=(PRUnichar*)aDest;
PRUnichar* to = theDest+anDestOffset;
const unsigned char* first= (const unsigned char*)aSource+anOffset;
const unsigned char* last = first+aCount;
//now loop over characters, shifting them left...
while(first<last) {
*to=(PRUnichar)(*first);
to++;
first++;
}
}
/**
* Going 2 to 1 requires a conversion from unicode down to ascii. This can be lossy.
* @update gess 01/04/99
* @param aDest is the destination buffer
* @param aDestOffset is the pos to start copy to in the dest buffer
* @param aSource is the source buffer
* @param anOffset is the offset to start copying from in the source buffer
* @param aCount is the (max) number of chars to copy
*/
void CopyChars2To1(char* aDest,PRInt32 anDestOffset,const char* aSource,PRUint32 anOffset,PRUint32 aCount) {
char* to = aDest+anDestOffset;
PRUnichar* theSource=(PRUnichar*)aSource;
const PRUnichar* first= theSource+anOffset;
const PRUnichar* last = first+aCount;
//now loop over characters, shifting them left...
while(first<last) {
if(*first<256)
*to=(char)*first;
else *to='.';
to++;
first++;
}
}
/**
* Going 2 to 2 is fast and efficient.
* @update gess 01/04/99
* @param aDest is the destination buffer
* @param aDestOffset is the pos to start copy to in the dest buffer
* @param aSource is the source buffer
* @param anOffset is the offset to start copying from in the source buffer
* @param aCount is the (max) number of chars to copy
*/
void CopyChars2To2(char* aDest,PRInt32 anDestOffset,const char* aSource,PRUint32 anOffset,PRUint32 aCount) {
PRUnichar* theDest=(PRUnichar*)aDest;
PRUnichar* to = theDest+anDestOffset;
PRUnichar* theSource=(PRUnichar*)aSource;
PRUnichar* from= theSource+anOffset;
memcpy((void*)to,(void*)from,aCount*2);
}
//--------------------------------------------------------------------------------------
typedef void (*CopyChars)(char* aDest,PRInt32 anDestOffset,const char* aSource,PRUint32 anOffset,PRUint32 aCount);
CopyChars gCopyChars[2][2]={
{&CopyChars1To1,&CopyChars1To2},
{&CopyChars2To1,&CopyChars2To2}
};
//----------------------------------------------------------------------------------------
//
// This set of methods is used to search a buffer looking for a char.
//
/**
* This methods cans the given buffer for the given char
*
* @update gess 3/25/98
* @param aDest is the buffer to be searched
* @param aLength is the size (in char-units, not bytes) of the buffer
* @param anOffset is the start pos to begin searching
* @param aChar is the target character we're looking for
* @param aIgnorecase tells us whether to use a case sensitive search
* @return index of pos if found, else -1 (kNotFound)
*/
inline PRInt32 FindChar1(const char* aDest,PRUint32 aLength,PRUint32 anOffset,const PRUnichar aChar,PRBool aIgnoreCase) {
PRUnichar theCmpChar=(aIgnoreCase ? nsCRT::ToUpper(aChar) : aChar);
PRInt32 theIndex=0;
PRInt32 theLength=(PRInt32)aLength;
for(theIndex=(PRInt32)anOffset;theIndex<theLength;theIndex++){
PRUnichar theChar=GetCharAt(aDest,theIndex);
if(aIgnoreCase)
theChar=nsCRT::ToUpper(theChar);
if(theChar==theCmpChar)
return theIndex;
}
return kNotFound;
}
/**
* This methods cans the given buffer for the given char
*
* @update gess 3/25/98
* @param aDest is the buffer to be searched
* @param aLength is the size (in char-units, not bytes) of the buffer
* @param anOffset is the start pos to begin searching
* @param aChar is the target character we're looking for
* @param aIgnorecase tells us whether to use a case sensitive search
* @return index of pos if found, else -1 (kNotFound)
*/
inline PRInt32 FindChar2(const char* aDest,PRUint32 aLength,PRUint32 anOffset,const PRUnichar aChar,PRBool aIgnoreCase) {
PRUnichar theCmpChar=(aIgnoreCase ? nsCRT::ToUpper(aChar) : aChar);
PRInt32 theIndex=0;
PRInt32 theLength=(PRInt32)aLength;
for(theIndex=(PRInt32)anOffset;theIndex<theLength;theIndex++){
PRUnichar theChar=GetUnicharAt(aDest,theIndex);
if(aIgnoreCase)
theChar=nsCRT::ToUpper(theChar);
if(theChar==theCmpChar)
return theIndex;
}
return kNotFound;
}
/**
* This methods cans the given buffer (in reverse) for the given char
*
* @update gess 3/25/98
* @param aDest is the buffer to be searched
* @param aLength is the size (in char-units, not bytes) of the buffer
* @param anOffset is the start pos to begin searching
* @param aChar is the target character we're looking for
* @param aIgnorecase tells us whether to use a case sensitive search
* @return index of pos if found, else -1 (kNotFound)
*/
inline PRInt32 RFindChar1(const char* aDest,PRUint32 aLength,PRUint32 anOffset,const PRUnichar aChar,PRBool aIgnoreCase) {
PRUnichar theCmpChar=(aIgnoreCase ? nsCRT::ToUpper(aChar) : aChar);
PRInt32 theIndex=0;
PRInt32 thePos=(PRInt32)aLength-anOffset-1;
for(theIndex=thePos;theIndex>=0;theIndex--){
PRUnichar theChar=GetCharAt(aDest,theIndex);
if(aIgnoreCase)
theChar=nsCRT::ToUpper(theChar);
if(theChar==theCmpChar)
return theIndex;
}
return kNotFound;
}
/**
* This methods cans the given buffer for the given char
*
* @update gess 3/25/98
* @param aDest is the buffer to be searched
* @param aLength is the size (in char-units, not bytes) of the buffer
* @param anOffset is the start pos to begin searching
* @param aChar is the target character we're looking for
* @param aIgnorecase tells us whether to use a case sensitive search
* @return index of pos if found, else -1 (kNotFound)
*/
inline PRInt32 RFindChar2(const char* aDest,PRUint32 aLength,PRUint32 anOffset,const PRUnichar aChar,PRBool aIgnoreCase) {
PRUnichar theCmpChar=(aIgnoreCase ? nsCRT::ToUpper(aChar) : aChar);
PRInt32 theIndex=0;
PRInt32 thePos=(PRInt32)aLength-anOffset-1;
for(theIndex=thePos;theIndex>=0;theIndex--){
PRUnichar theChar=GetUnicharAt(aDest,theIndex);
if(aIgnoreCase)
theChar=nsCRT::ToUpper(theChar);
if(theChar==theCmpChar)
return theIndex;
}
return kNotFound;
}
typedef PRInt32 (*FindChars)(const char* aDest,PRUint32 aLength,PRUint32 anOffset,const PRUnichar aChar,PRBool aIgnoreCase);
FindChars gFindChars[]={&FindChar1,&FindChar2};
FindChars gRFindChars[]={&RFindChar1,&RFindChar2};
//----------------------------------------------------------------------------------------
//
// This set of methods is used to compare one buffer onto another.
// The functions are differentiated by the size of source and dest character sizes.
// WARNING: Your destination buffer MUST be big enough to hold all the source bytes.
// We don't validate these ranges here (this should be done in higher level routines).
//
/**
* This method compares the data in one buffer with another
* @update gess 01/04/99
* @param aStr1 is the first buffer to be compared
* @param aStr2 is the 2nd buffer to be compared
* @param aCount is the number of chars to compare
* @param aIgnorecase tells us whether to use a case-sensitive comparison
* @return -1,0,1 depending on <,==,>
*/
PRInt32 Compare1To1(const char* aStr1,const char* aStr2,PRUint32 aCount,PRBool aIgnoreCase){
PRInt32 result=0;
if(aIgnoreCase)
result=nsCRT::strncasecmp(aStr1,aStr2,aCount);
else result=strncmp(aStr1,aStr2,aCount);
return result;
}
/**
* This method compares the data in one buffer with another
* @update gess 01/04/99
* @param aStr1 is the first buffer to be compared
* @param aStr2 is the 2nd buffer to be compared
* @param aCount is the number of chars to compare
* @param aIgnorecase tells us whether to use a case-sensitive comparison
* @return -1,0,1 depending on <,==,>
*/
PRInt32 Compare2To2(const char* aStr1,const char* aStr2,PRUint32 aCount,PRBool aIgnoreCase){
PRInt32 result=0;
if(aIgnoreCase)
result=nsCRT::strncasecmp((PRUnichar*)aStr1,(PRUnichar*)aStr2,aCount);
else result=nsCRT::strncmp((PRUnichar*)aStr1,(PRUnichar*)aStr2,aCount);
return result;
}
/**
* This method compares the data in one buffer with another
* @update gess 01/04/99
* @param aStr1 is the first buffer to be compared
* @param aStr2 is the 2nd buffer to be compared
* @param aCount is the number of chars to compare
* @param aIgnorecase tells us whether to use a case-sensitive comparison
* @return -1,0,1 depending on <,==,>
*/
PRInt32 Compare2To1(const char* aStr1,const char* aStr2,PRUint32 aCount,PRBool aIgnoreCase){
PRInt32 result;
if(aIgnoreCase)
result=nsCRT::strncasecmp((PRUnichar*)aStr1,aStr2,aCount);
else result=nsCRT::strncmp((PRUnichar*)aStr1,aStr2,aCount);
return result;
}
/**
* This method compares the data in one buffer with another
* @update gess 01/04/99
* @param aStr1 is the first buffer to be compared
* @param aStr2 is the 2nd buffer to be compared
* @param aCount is the number of chars to compare
* @param aIgnorecase tells us whether to use a case-sensitive comparison
* @return -1,0,1 depending on <,==,>
*/
PRInt32 Compare1To2(const char* aStr1,const char* aStr2,PRUint32 aCount,PRBool aIgnoreCase){
PRInt32 result;
if(aIgnoreCase)
result=nsCRT::strncasecmp((PRUnichar*)aStr2,aStr1,aCount)*-1;
else result=nsCRT::strncmp((PRUnichar*)aStr2,aStr1,aCount)*-1;
return result;
}
typedef PRInt32 (*CompareChars)(const char* aStr1,const char* aStr2,PRUint32 aCount,PRBool aIgnoreCase);
CompareChars gCompare[2][2]={
{&Compare1To1,&Compare1To2},
{&Compare2To1,&Compare2To2},
};
//----------------------------------------------------------------------------------------
//
// This set of methods is used to convert the case of strings...
//
/**
* This method performs a case conversion the data in the given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be case shifted
* @param aCount is the number of chars to compare
* @param aToUpper tells us whether to convert to upper or lower
* @return 0
*/
PRInt32 ConvertCase1(char* aString,PRUint32 aCount,PRBool aToUpper){
PRInt32 result=0;
typedef char chartype;
chartype* cp = (chartype*)aString;
chartype* end = cp + aCount-1;
while (cp <= end) {
chartype ch = *cp;
if(aToUpper) {
if ((ch >= 'a') && (ch <= 'z')) {
*cp = 'A' + (ch - 'a');
}
}
else {
if ((ch >= 'A') && (ch <= 'Z')) {
*cp = 'a' + (ch - 'A');
}
}
cp++;
}
return result;
}
//----------------------------------------------------------------------------------------
#ifndef RICKG_TESTBED
class HandleCaseConversionShutdown3 : public nsIShutdownListener {
public :
NS_IMETHOD OnShutdown(const nsCID& cid, nsISupports* service);
HandleCaseConversionShutdown3(void) { NS_INIT_REFCNT(); }
virtual ~HandleCaseConversionShutdown3(void) {}
NS_DECL_ISUPPORTS
};
static NS_DEFINE_CID(kUnicharUtilCID, NS_UNICHARUTIL_CID);
static NS_DEFINE_IID(kICaseConversionIID, NS_ICASECONVERSION_IID);
static NS_DEFINE_IID(kIShutdownListenerIID, NS_ISHUTDOWNLISTENER_IID);
static nsICaseConversion * gCaseConv = 0;
NS_IMPL_ISUPPORTS(HandleCaseConversionShutdown3, kIShutdownListenerIID);
nsresult HandleCaseConversionShutdown3::OnShutdown(const nsCID& cid, nsISupports* service) {
if (cid.Equals(kUnicharUtilCID)) {
NS_ASSERTION(service == gCaseConv, "wrong service!");
if(gCaseConv){
gCaseConv->Release();
gCaseConv = 0;
}
}
return NS_OK;
}
class CCaseConversionServiceInitializer {
public:
CCaseConversionServiceInitializer(){
mListener = new HandleCaseConversionShutdown3();
if(mListener){
mListener->AddRef();
nsresult result=nsServiceManager::GetService(kUnicharUtilCID, kICaseConversionIID,(nsISupports**) &gCaseConv, mListener);
}
}
protected:
HandleCaseConversionShutdown3* mListener;
};
#endif
//----------------------------------------------------------------------------------------
/**
* This method performs a case conversion the data in the given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be case shifted
* @param aCount is the number of chars to compare
* @param aToUpper tells us whether to convert to upper or lower
* @return 0
*/
PRInt32 ConvertCase2(char* aString,PRUint32 aCount,PRBool aToUpper){
PRUnichar* cp = (PRUnichar*)aString;
PRUnichar* end = cp + aCount-1;
PRInt32 result=0;
#ifndef RICKG_TESTBED
static CCaseConversionServiceInitializer gCaseConversionServiceInitializer;
// I18N code begin
if(gCaseConv) {
nsresult err=(aToUpper) ? gCaseConv->ToUpper(cp, cp, aCount) : gCaseConv->ToLower(cp, cp, aCount);
if(NS_SUCCEEDED(err))
return 0;
}
// I18N code end
#endif
while (cp <= end) {
PRUnichar ch = *cp;
if(aToUpper) {
if ((ch >= 'a') && (ch <= 'z')) {
*cp = 'A' + (ch - 'a');
}
}
else {
if ((ch >= 'A') && (ch <= 'Z')) {
*cp = 'a' + (ch - 'A');
}
}
cp++;
}
return result;
}
typedef PRInt32 (*CaseConverters)(char*,PRUint32,PRBool);
CaseConverters gCaseConverters[]={&ConvertCase1,&ConvertCase2};
//----------------------------------------------------------------------------------------
//
// This set of methods is used strip chars from a given buffer...
//
/**
* This method removes chars (given in aSet) from the given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be manipulated
* @param anOffset is starting pos in buffer for manipulation
* @param aCount is the number of chars to compare
* @param aSet tells us which chars to remove from given buffer
* @return the new length of the given buffer
*/
PRInt32 StripChars1(char* aString,PRUint32 anOffset,PRUint32 aCount,const char* aSet){
PRInt32 result=0;
typedef char chartype;
chartype* from = (chartype*)&aString[anOffset];
chartype* end = (chartype*)from + aCount-1;
chartype* to = from;
if(aSet){
PRUint32 aSetLen=strlen(aSet);
while (from <= end) {
chartype ch = *from;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
*to++=*from;
}
from++;
}
*to = 0;
}
return to - (chartype*)aString;
}
/**
* This method removes chars (given in aSet) from the given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be manipulated
* @param anOffset is starting pos in buffer for manipulation
* @param aCount is the number of chars to compare
* @param aSet tells us which chars to remove from given buffer
* @return the new length of the given buffer
*/
PRInt32 StripChars2(char* aString,PRUint32 anOffset,PRUint32 aCount,const char* aSet){
PRInt32 result=0;
typedef PRUnichar chartype;
chartype* from = (chartype*)&aString[anOffset];
chartype* end = (chartype*)from + aCount-1;
chartype* to = from;
if(aSet){
PRUint32 aSetLen=strlen(aSet);
while (from <= end) {
chartype ch = *from;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
*to++=*from;
}
from++;
}
*to = 0;
}
return to - (chartype*)aString;
}
typedef PRInt32 (*StripChars)(char* aString,PRUint32 aDestOffset,PRUint32 aCount,const char* aSet);
StripChars gStripChars[]={&StripChars1,&StripChars2};
//----------------------------------------------------------------------------------------
//
// This set of methods is used trim chars from the edges of a buffer...
//
/**
* This method trims chars (given in aSet) from the edges of given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be manipulated
* @param aLength is the length of the buffer
* @param aSet tells us which chars to remove from given buffer
* @param aEliminateLeading tells us whether to strip chars from the start of the buffer
* @param aEliminateTrailing tells us whether to strip chars from the start of the buffer
* @return the new length of the given buffer
*/
PRInt32 TrimChars1(char* aString,PRUint32 aLength,const char* aSet,PRBool aEliminateLeading,PRBool aEliminateTrailing){
PRInt32 result=0;
typedef char chartype;
chartype* from = (chartype*)aString;
chartype* end = from + aLength -1;
chartype* to = from;
if(aSet) {
PRUint32 aSetLen=strlen(aSet);
//begin by find the first char not in aTrimSet
if(aEliminateLeading) {
while (from <= end) {
chartype ch = *from;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
break;
}
from++;
}
}
//Now, find last char not in aTrimSet
if(aEliminateTrailing) {
while(from<=end) {
chartype ch = *end;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
break;
}
end--;
}
}
//now rewrite your string without unwanted
//leading or trailing characters.
if (from != to) {
while (from <= end) {
*to++ = *from++;
}
}
else {
to = ++end;
}
*to = 0;
}
return to - (chartype*)aString;
}
/**
* This method trims chars (given in aSet) from the edges of given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be manipulated
* @param aLength is the length of the buffer
* @param aSet tells us which chars to remove from given buffer
* @param aEliminateLeading tells us whether to strip chars from the start of the buffer
* @param aEliminateTrailing tells us whether to strip chars from the start of the buffer
* @return the new length of the given buffer
*/
PRInt32 TrimChars2(char* aString,PRUint32 aLength,const char* aSet,PRBool aEliminateLeading,PRBool aEliminateTrailing){
PRInt32 result=0;
typedef PRUnichar chartype;
chartype* from = (chartype*)aString;
chartype* end = from + aLength -1;
chartype* to = from;
if(aSet) {
PRUint32 aSetLen=strlen(aSet);
//begin by find the first char not in aTrimSet
if(aEliminateLeading) {
while (from <= end) {
chartype ch = *from;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
break;
}
from++;
}
}
//Now, find last char not in aTrimSet
if(aEliminateTrailing) {
while(from<=end) {
chartype ch = *end;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
break;
}
end--;
}
}
//now rewrite your string without unwanted
//leading or trailing characters.
if (from != to) {
while (from <= end) {
*to++ = *from++;
}
}
else {
to = ++end;
}
*to = 0;
}
return to - (chartype*)aString;
}
typedef PRInt32 (*TrimChars)(char* aString,PRUint32 aCount,const char* aSet,PRBool aEliminateLeading,PRBool aEliminateTrailing);
TrimChars gTrimChars[]={&TrimChars1,&TrimChars2};
//----------------------------------------------------------------------------------------
//
// This set of methods is used compress char sequences in a buffer...
//
/**
* This method compresses duplicate runs of a given char from the given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be manipulated
* @param aLength is the length of the buffer
* @param aSet tells us which chars to compress from given buffer
* @param aEliminateLeading tells us whether to strip chars from the start of the buffer
* @param aEliminateTrailing tells us whether to strip chars from the start of the buffer
* @return the new length of the given buffer
*/
PRInt32 CompressChars1(char* aString,PRUint32 aLength,const char* aSet,PRUint32 aChar,PRBool aEliminateLeading,PRBool aEliminateTrailing){
PRInt32 result=0;
TrimChars1(aString,aLength,aSet,aEliminateLeading,aEliminateTrailing);
typedef char chartype;
chartype* from = aString;
chartype* end = aString + aLength-1;
chartype* to = from;
//this code converts /n, /t, /r into normal space ' ';
//it also compresses runs of whitespace down to a single char...
if(aSet){
PRUint32 aSetLen=strlen(aSet);
while (from <= end) {
chartype ch = *from++;
if(kNotFound!=FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
*to++ = (char)aChar;
while (from <= end) {
ch = *from++;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
*to++ = ch;
break;
}
}
} else {
*to++ = ch;
}
}
*to = 0;
}
return to - (chartype*)aString;
}
/**
* This method compresses duplicate runs of a given char from the given buffer
*
* @update gess 01/04/99
* @param aString is the buffer to be manipulated
* @param aLength is the length of the buffer
* @param aSet tells us which chars to compress from given buffer
* @param aEliminateLeading tells us whether to strip chars from the start of the buffer
* @param aEliminateTrailing tells us whether to strip chars from the start of the buffer
* @return the new length of the given buffer
*/
PRInt32 CompressChars2(char* aString,PRUint32 aLength,const char* aSet,PRUint32 aChar,PRBool aEliminateLeading,PRBool aEliminateTrailing){
PRInt32 result=0;
TrimChars2(aString,aLength,aSet,aEliminateLeading,aEliminateTrailing);
typedef PRUnichar chartype;
chartype* from = (chartype*)aString;
chartype* end = from + aLength-1;
chartype* to = from;
//this code converts /n, /t, /r into normal space ' ';
//it also compresses runs of whitespace down to a single char...
if(aSet){
PRUint32 aSetLen=strlen(aSet);
while (from <= end) {
chartype ch = *from++;
if(kNotFound!=FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
*to++ = (PRUnichar)aChar;
while (from <= end) {
ch = *from++;
if(kNotFound==FindChar1(aSet,aSetLen,0,ch,PR_FALSE)){
*to++ = ch;
break;
}
}
} else {
*to++ = ch;
}
}
*to = 0;
}
return to - (chartype*)aString;
}
typedef PRInt32 (*CompressChars)(char* aString,PRUint32 aCount,const char* aSet,PRUint32 aChar,PRBool aEliminateLeading,PRBool aEliminateTrailing);
CompressChars gCompressChars[]={&CompressChars1,&CompressChars2};
#endif

View File

@@ -0,0 +1,118 @@
#!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.
IGNORE_MANIFEST=1
DEPTH=..\..
MODULE = xpcom
################################################################################
## exports
EXPORTS = \
nsBTree.h \
nsCRT.h \
nsDeque.h \
nsEnumeratorUtils.h \
nsHashtable.h \
nsIArena.h \
nsIAtom.h \
nsIBuffer.h \
nsIByteBuffer.h \
nsIObserverList.h \
nsIPageManager.h \
nsIProperties.h \
nsISimpleEnumerator.h \
nsISizeOfHandler.h \
nsIUnicharBuffer.h \
nsIVariant.h \
nsInt64.h \
nsQuickSort.h \
nsRBTree.h \
nsStr.h \
nsString.h \
nsString2.h \
nsTime.h \
nsUnitConversion.h \
nsVector.h \
nsVoidArray.h \
nsXPIDLString.h \
plvector.h \
$(NULL)
XPIDL_MODULE = xpcom_ds
XPIDLSRCS = \
.\nsICollection.idl \
.\nsIEnumerator.idl \
.\nsIObserver.idl \
.\nsIObserverService.idl \
.\nsISupportsArray.idl \
$(NULL)
################################################################################
## library
LIBRARY_NAME=xpcomds_s
LINCS = \
-I$(PUBLIC)\xpcom \
-I$(PUBLIC)\uconv \
-I$(PUBLIC)\unicharutil \
$(NULL)
LCFLAGS = -D_IMPL_NS_COM -D_IMPL_NS_BASE -DWIN32_LEAN_AND_MEAN
CPP_OBJS = \
.\$(OBJDIR)\nsArena.obj \
.\$(OBJDIR)\nsAtomTable.obj \
.\$(OBJDIR)\nsBTree.obj \
.\$(OBJDIR)\nsBuffer.obj \
.\$(OBJDIR)\nsByteBuffer.obj \
.\$(OBJDIR)\nsCRT.obj \
.\$(OBJDIR)\nsConjoiningEnumerator.obj \
.\$(OBJDIR)\nsDeque.obj \
.\$(OBJDIR)\nsEmptyEnumerator.obj \
.\$(OBJDIR)\nsEnumeratorUtils.obj \
.\$(OBJDIR)\nsHashtable.obj \
.\$(OBJDIR)\nsObserver.obj \
.\$(OBJDIR)\nsObserverList.obj \
.\$(OBJDIR)\nsObserverService.obj \
.\$(OBJDIR)\nsPageMgr.obj \
.\$(OBJDIR)\nsProperties.obj \
.\$(OBJDIR)\nsQuickSort.obj \
.\$(OBJDIR)\nsRBTree.obj \
.\$(OBJDIR)\nsSizeOfHandler.obj \
.\$(OBJDIR)\nsStr.obj \
.\$(OBJDIR)\nsString.obj \
.\$(OBJDIR)\nsString2.obj \
.\$(OBJDIR)\nsSupportsArray.obj \
.\$(OBJDIR)\nsSupportsArrayEnumerator.obj \
.\$(OBJDIR)\nsUnicharBuffer.obj \
.\$(OBJDIR)\nsVariant.obj \
.\$(OBJDIR)\nsVoidArray.obj \
.\$(OBJDIR)\nsXPIDLString.obj \
.\$(OBJDIR)\plvector.obj \
$(NULL)
include <$(DEPTH)\config\rules.mak>
libs:: $(LIBRARY)
$(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib
clobber::
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib

View File

@@ -0,0 +1,86 @@
/* -*- 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 "nsArena.h"
#include "nsCRT.h"
NS_IMETHODIMP
ArenaImpl::Init(PRUint32 aBlockSize)
{
if (aBlockSize < NS_MIN_ARENA_BLOCK_SIZE) {
aBlockSize = NS_DEFAULT_ARENA_BLOCK_SIZE;
}
PL_INIT_ARENA_POOL(&mPool, "nsIArena", aBlockSize);
mBlockSize = aBlockSize;
return NS_OK;
}
NS_IMPL_ISUPPORTS(ArenaImpl, nsIArena::GetIID())
ArenaImpl::~ArenaImpl()
{
PL_FinishArenaPool(&mPool);
}
NS_IMETHODIMP_(void*)
ArenaImpl::Alloc(PRUint32 size)
{
// Adjust size so that it's a multiple of sizeof(double)
PRUint32 align = size & (sizeof(double) - 1);
if (0 != align) {
size += sizeof(double) - align;
}
void* p;
PL_ARENA_ALLOCATE(p, &mPool, size);
return p;
}
NS_METHOD
ArenaImpl::Create(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aOuter)
return NS_ERROR_NO_AGGREGATION;
ArenaImpl* it = new ArenaImpl();
if (nsnull == it)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(it);
nsresult rv = it->QueryInterface(aIID, aResult);
NS_RELEASE(it);
return rv;
}
NS_COM nsresult NS_NewHeapArena(nsIArena** aInstancePtrResult,
PRUint32 aArenaBlockSize)
{
nsresult rv;
nsIArena* arena;
rv = ArenaImpl::Create(NULL, nsIArena::GetIID(), (void**)&arena);
if (NS_FAILED(rv)) return rv;
rv = arena->Init(aArenaBlockSize);
if (NS_FAILED(rv)) {
NS_RELEASE(arena);
return rv;
}
*aInstancePtrResult = arena;
return rv;
}

View File

@@ -0,0 +1,47 @@
/* -*- 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 nsArena_h__
#define nsArena_h__
#include "nsIArena.h"
#define PL_ARENA_CONST_ALIGN_MASK 7
#include "plarena.h"
// Simple arena implementation layered on plarena
class ArenaImpl : public nsIArena {
public:
ArenaImpl(void) { NS_INIT_REFCNT(); }
virtual ~ArenaImpl();
NS_DECL_ISUPPORTS
static NS_METHOD
Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);
NS_IMETHOD Init(PRUint32 arenaBlockSize);
NS_IMETHOD_(void*) Alloc(PRUint32 size);
protected:
PLArenaPool mPool;
PRUint32 mBlockSize;
};
#endif // nsArena_h__

View File

@@ -0,0 +1,135 @@
/* -*- 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 "nsAtomTable.h"
#include "nsString.h"
#include "nsCRT.h"
#include "plhash.h"
#include "nsISizeOfHandler.h"
/**
* The shared hash table for atom lookups.
*/
static nsrefcnt gAtoms;
static struct PLHashTable* gAtomHashTable;
AtomImpl::AtomImpl()
{
NS_INIT_REFCNT();
// Every live atom holds a reference on the atom hashtable
gAtoms++;
}
AtomImpl::~AtomImpl()
{
NS_PRECONDITION(nsnull != gAtomHashTable, "null atom hashtable");
if (nsnull != gAtomHashTable) {
PL_HashTableRemove(gAtomHashTable, mString);
nsrefcnt cnt = --gAtoms;
if (0 == cnt) {
// When the last atom is destroyed, the atom arena is destroyed
NS_ASSERTION(0 == gAtomHashTable->nentries, "bad atom table");
PL_HashTableDestroy(gAtomHashTable);
gAtomHashTable = nsnull;
}
}
}
static NS_DEFINE_IID(kIAtomIID, NS_IATOM_IID);
NS_IMPL_ISUPPORTS(AtomImpl, kIAtomIID);
void* AtomImpl::operator new(size_t size, const PRUnichar* us, PRInt32 uslen)
{
size = size + uslen * sizeof(PRUnichar);
AtomImpl* ii = (AtomImpl*) ::operator new(size);
nsCRT::memcpy(ii->mString, us, uslen * sizeof(PRUnichar));
ii->mString[uslen] = 0;
return ii;
}
void AtomImpl::ToString(nsString& aBuf) const
{
aBuf.SetLength(0);
aBuf.Append(mString, nsCRT::strlen(mString));
}
const PRUnichar* AtomImpl::GetUnicode() const
{
return mString;
}
NS_IMETHODIMP
AtomImpl::SizeOf(nsISizeOfHandler* aHandler) const
{
aHandler->Add(sizeof(*this) + nsCRT::strlen(mString) * sizeof(PRUnichar));
return NS_OK;
}
//----------------------------------------------------------------------
static PLHashNumber HashKey(const PRUnichar* k)
{
return (PLHashNumber) nsCRT::HashValue(k);
}
static PRIntn CompareKeys(const PRUnichar* k1, const PRUnichar* k2)
{
return nsCRT::strcmp(k1, k2) == 0;
}
NS_COM nsIAtom* NS_NewAtom(const char* isolatin1)
{
nsAutoString tmp(isolatin1);
return NS_NewAtom(tmp.GetUnicode());
}
NS_COM nsIAtom* NS_NewAtom(const nsString& aString)
{
return NS_NewAtom(aString.GetUnicode());
}
NS_COM nsIAtom* NS_NewAtom(const PRUnichar* us)
{
if (nsnull == gAtomHashTable) {
gAtomHashTable = PL_NewHashTable(8, (PLHashFunction) HashKey,
(PLHashComparator) CompareKeys,
(PLHashComparator) nsnull,
nsnull, nsnull);
}
PRUint32 uslen;
PRUint32 hashCode = nsCRT::HashValue(us, &uslen);
PLHashEntry** hep = PL_HashTableRawLookup(gAtomHashTable, hashCode, us);
PLHashEntry* he = *hep;
if (nsnull != he) {
nsIAtom* id = (nsIAtom*) he->value;
NS_ADDREF(id);
return id;
}
AtomImpl* id = new(us, uslen) AtomImpl();
PL_HashTableRawAdd(gAtomHashTable, hep, hashCode, id->mString, id);
NS_ADDREF(id);
return id;
}
NS_COM nsrefcnt NS_GetNumberOfAtoms(void)
{
if (nsnull != gAtomHashTable) {
NS_PRECONDITION(nsrefcnt(gAtomHashTable->nentries) == gAtoms, "bad atom table");
}
return gAtoms;
}

View File

@@ -0,0 +1,48 @@
/* -*- 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 nsAtomTable_h__
#define nsAtomTable_h__
#include "nsIAtom.h"
class AtomImpl : public nsIAtom {
public:
AtomImpl();
virtual ~AtomImpl();
NS_DECL_ISUPPORTS
void* operator new(size_t size, const PRUnichar* us, PRInt32 uslen);
void operator delete(void* ptr) {
::operator delete(ptr);
}
virtual void ToString(nsString& aBuf) const;
virtual const PRUnichar* GetUnicode() const;
NS_IMETHOD SizeOf(nsISizeOfHandler* aHandler) const;
// Actually more; 0 terminated. This slot is reserved for the
// terminating zero.
PRUnichar mString[1];
};
#endif // nsAtomTable_h__

View File

@@ -0,0 +1,402 @@
/**
* This file defines the binary tree class and it
* nsNode child class.
*
* This simple version stores nodes, and the
* nodes store void* ptrs.
*
* @update gess 4/11/98
* @param
* @return
*/
#include "nsBTree.h"
/**
* default constructor
*
* @update gess 4/11/98
*/
nsNode::nsNode(){
mLeft=0;
mRight=0;
mParent=0;
mColor=eBlack;
}
/**
* Copy constructor
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode::nsNode(const nsNode& aNode){
mLeft=aNode.mLeft;
mRight=aNode.mRight;
mParent=aNode.mParent;
mColor=aNode.mColor;
}
/**
* destructor
*
* @update gess 4/11/98
*/
nsNode::~nsNode(){
}
/**
* Retrive ptr to parent node
*
* @update gess 4/11/98
* @return ptr to parent node
*/
nsNode* nsNode::GetParentNode(void) const{
return mParent;
}
/**
* Retrieve ptr to left (less) node
*
* @update gess 4/11/98
* @return ptr to left (may be NULL)
*/
nsNode* nsNode::GetLeftNode(void) const{
return mLeft;
}
/**
* Retrieve ptr to right (more) node
*
* @update gess 4/11/98
* @return ptr to right node (may be NULL)
*/
nsNode* nsNode::GetRightNode(void) const{
return mRight;
}
/**
*
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode& nsNode::operator=(const nsNode& aNode){
if(this!=&aNode){
mLeft=aNode.mLeft;
mRight=aNode.mRight;
mParent=aNode.mParent;
mColor=aNode.mColor;
}
return *this;
}
/********************************************************
* Here comes the BTREE class...
********************************************************/
/**
* nsBTree constructor
*
* @update gess 4/11/98
*/
nsBTree::nsBTree(){
mRoot=0;
}
/**
* destructor
*
* @update gess 4/11/98
*/
nsBTree::~nsBTree(){
if(mRoot){
//walk the tree and destroy the children.
}
}
/**
* Given a node, we're supposed to add it into
* our tree.
*
* @update gess 4/11/98
* @param aNode to be added to tree
* @return ptr to added node or NULL
*/
nsNode* nsBTree::Add(nsNode& aNode){
nsNode* node1=mRoot; //x
nsNode* node2=0; //y
while(node1) {
node2=node1;
if(aNode<*node1)
node1=node1->mLeft;
else node1=node1->mRight;
}
aNode.mParent=node2;
if(!node2){
mRoot=&aNode;
}
else{
if(aNode<*node2)
node2->mLeft=&aNode;
else node2->mRight=&aNode;
}
return &aNode;
}
/**
* Removes given node from tree if present.
*
* @update gess 4/11/98
* @param aNode to be found and removed
* @return ptr to remove node, or NULL
*/
nsNode* nsBTree::Remove(nsNode& aNode){
nsNode* result=0;
nsNode* node3=Find(aNode);
if(node3) {
nsNode* node1;
nsNode* node2;
if((!node3->mLeft) || (!node3->mRight))
node2=node3;
else node2=After(*node3);
if(node2->mLeft)
node1=node2->mLeft;
else node1=node2->mRight;
if(node1)
node1->mParent=node2->mParent;
if(node2->mParent) {
if(node2==node2->mParent->mLeft)
node2->mParent->mLeft=node1;
else node2->mParent->mRight=node1;
}
else mRoot=node1;
if(node2!=node3)
(*node3)==(*node2);
if(node2->mColor == nsNode::eBlack)
ReBalance(*node1);
delete node2;
result=&aNode;
}
return result;
}
/**
* Clears the tree of any data.
* Be careful here if your objects are heap based!
* This method doesn't free the objects, so if you
* don't have your own pointers, they will become
* orphaned.
*
* @update gess 4/11/98
* @param
* @return this
*/
nsBTree& nsBTree::Empty(nsNode* aNode) {
mRoot=0;
return *this;
}
/**
* This method destroys all the objects in the tree.
* WARNING: Never call this method on stored objects
* that are stack-based!
*
* @update gess 4/11/98
* @param
* @return this
*/
nsBTree& nsBTree::Erase(nsNode* aNode){
// nsNode* node1 =(aNode) ? aNode : mRoot;
if(aNode) {
Erase(aNode->mLeft); //begin by walking left side
Erase(aNode->mRight); //then search right side
delete aNode; //until a leaf, then delete
}
return *this;
}
/**
* Retrieve ptr to first node in tree
*
* @update gess 4/11/98
* @return
*/
nsNode* nsBTree::First(void) const{
if(mRoot)
return First(*mRoot);
return 0;
}
/**
* Retrive ptr to first node rel to given node
*
* @update gess 4/11/98
* @param node to begin scan from
* @return ptr to first node from given node or NULL
*/
nsNode* nsBTree::First(const nsNode& aNode) const{
nsNode* result=0;
if(mRoot) {
result=mRoot;
while(result->GetLeftNode()) {
result=result->GetLeftNode();
}
}
return result;
}
/**
* Retrive ptr to last node
*
* @update gess 4/11/98
* @return ptr to last node rel to root or NULL
*/
nsNode* nsBTree::Last(void) const{
if(mRoot)
return Last(*mRoot);
return 0;
}
/**
* Retrive ptr to last node rel to given node
*
* @update gess 4/11/98
* @param node to begin scan from
* @return ptr to first node from given node or NULL
*/
nsNode* nsBTree::Last(const nsNode& aNode) const{
nsNode* result=0;
if(mRoot) {
result=mRoot;
while(result->GetRightNode()) {
result=result->GetRightNode();
}
}
return result;
}
/**
* Retrive ptr to prior node rel to given node
*
* @update gess 4/11/98
* @param node to begin scan from
* @return ptr to prior node from given node or NULL
*/
nsNode* nsBTree::Before(const nsNode& aNode) const{
if(aNode.GetLeftNode())
return Last(*aNode.GetLeftNode());
//otherwise...
nsNode* node1=(nsNode*)&aNode;
nsNode* node2=aNode.GetParentNode();
while((node2) && (node1==node2->GetLeftNode())) {
node1=node2;
node2=node2->GetParentNode();
}
return node2;
}
/**
* Retrive ptr to next node rel to given node
*
* @update gess 4/11/98
* @param node to begin scan from
* @return ptr to next node from given node or NULL
*/
nsNode* nsBTree::After(const nsNode& aNode) const{
if(aNode.GetRightNode())
return First(*aNode.GetRightNode());
//otherwise...
nsNode* node1=(nsNode*)&aNode;
nsNode* node2=aNode.GetParentNode();
while((node2) && (node1==node2->GetRightNode())) {
node1=node2;
node2=node2->GetParentNode();
}
return node2;
}
/**
* Scan for given node
*
* @update gess 4/11/98
* @param node to find
* @return ptr to given node, or NULL
*/
nsNode* nsBTree::Find(const nsNode& aNode) const{
nsNode* result=mRoot;
while((result) && (!(aNode==(*result)))) {
if(aNode<*result)
result=result->mLeft;
else result=result->mRight;
}
return (nsNode*)result;
}
/**
* Rebalances tree around the given node. This only
* needs to be called after a node is deleted.
* This method does nothing for btrees, but is
* needed for RBTrees.
*
* @update gess 4/11/98
* @param aNode -- node to balance around
* @return this
*/
nsBTree& nsBTree::ReBalance(nsNode& aNode){
return *this;
}
/**
*
*
* @update gess 4/11/98
* @param
* @return
*/
const nsBTree& nsBTree::ForEach(nsNodeFunctor& aFunctor,nsNode* aNode) const{
nsNode* node1 =(aNode) ? aNode : mRoot;
if(node1) {
if(node1->mLeft)
ForEach(aFunctor,node1->mLeft); //begin by walking left side
aFunctor(*node1);
if(node1->mRight)
ForEach(aFunctor,node1->mRight); //then search right side
}
return *this;
}

283
mozilla/xpcom/ds/nsBTree.h Normal file
View File

@@ -0,0 +1,283 @@
/* -*- 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.
*/
/**
* This file defines the binary tree class and it
* nsNode child class. Note that like all nsBTree
* containers, this one does not automatically balance.
* (Find for random data, bad for pre-ordered data).
*
* This simple version stores nodes, and the
* nodes store void* ptrs.
*
* @update gess 4/11/98
*/
/**
* nsNode
*
* @update gess 4/11/98
* @param
* @return
*/
#ifndef _BTREE_H
#define _BTREE_H
#include "nscore.h"
struct NS_COM nsNode {
/**
*
* @update gess4/20/98
* @param
* @return
*/
nsNode();
/**
* Copy constructor
* @update gess 4/11/98
*/
nsNode(const nsNode& aNode);
/**
* destructor
* @update gess 4/11/98
*/
virtual ~nsNode();
/**
* Retrieve parent node
*
* @update gess 4/11/98
* @return
*/
nsNode* GetParentNode(void) const;
/**
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* GetLeftNode() const;
/**
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* GetRightNode() const;
/**
*
* @update gess 4/11/98
* @param
* @return
*/
virtual nsNode& operator=(const nsNode& aNode);
/**
* This method gets called to determine which of
* two nodes is less. When you create your own
* subclass of nsNode, this is the most important
* method for you to overload.
*
* @update gess 4/11/98
* @param
* @return
*/
virtual PRBool operator<(const nsNode& aNode) const=0;
/**
* This method gets called to determine which of
* two nodes is less. When you create your own
* subclass of nsNode, this is the most important
* method for you to overload.
*
* @update gess 4/11/98
* @param
* @return
*/
virtual PRBool operator==(const nsNode& aNode) const=0;
enum eRBColor {eRed,eBlack};
nsNode* mParent;
nsNode* mLeft;
nsNode* mRight;
eRBColor mColor;
};
/**
* The Nodefunctor class is used when you want to create
* callbacks between the nsRBTree and your generic code.
*
* @update gess4/20/98
*/
class NS_COM nsNodeFunctor {
public:
virtual nsNodeFunctor& operator()(nsNode& aNode)=0;
};
/****************************************************
* Here comes the nsBTree class...
****************************************************/
class NS_COM nsBTree {
public:
friend class nsBTreeIterator;
nsBTree();
virtual ~nsBTree();
/**
* Add given node reference into our tree.
*
* @update gess 4/11/98
* @param aNode is a ref to a node to be added
* @return newly added node
*/
nsNode* Add(nsNode& aNode);
/**
* Remove given node reference into our tree.
*
* @update gess 4/11/98
* @param aNode is a ref to a node to be removed
* @return Ptr to node if found (and removed) or NULL
*/
nsNode* Remove(nsNode& aNode);
/**
* Clears the tree of any data.
* Be careful here if your objects are heap based!
* This method doesn't free the objects, so if you
* don't have your own pointers, they will become
* orphaned.
*
* @update gess 4/11/98
* @param
* @return this
*/
nsBTree& Empty(nsNode* aNode=0);
/**
* This method destroys all the objects in the tree.
* WARNING: Never call this method on stored objects
* that are stack-based!
*
* @update gess 4/11/98
* @param
* @return this
*/
nsBTree& Erase(nsNode* aNode=0);
/**
* Retrieve ptr to 1st node in tree (starting at root)
*
* @update gess 4/11/98
* @return ptr to 1st node, possible to be NULL
*/
nsNode* First(void) const;
/**
* Find first node in tree starting at given node
*
* @update gess 4/11/98
* @param aNode node to begin 1st search from
* @return ptr to 1st node below given node
*/
nsNode* First(const nsNode& aNode) const;
/**
* Retrieve ptr to last node in tree relative to root.
*
* @update gess 4/11/98
* @return ptr to last node or NULL
*/
nsNode* Last(void) const;
/**
* Retrieve ptr to last node in tree relative to given node.
*
* @update gess 4/11/98
* @param node to find last node from
* @return ptr to last node or NULL
*/
nsNode* Last(const nsNode& aNode) const;
/**
* Retrieve a ptr to the node that preceeds given node
*
* @update gess 4/11/98
* @param aNode used as reference to find prev.
* @return ptr to prev node or NULL
*/
nsNode* Before(const nsNode& aNode) const;
/**
* Retrieve a ptr to the node after given node
*
* @update gess 4/11/98
* @param aNode used as reference to find next.
* @return ptr to next node or NULL
*/
nsNode* After(const nsNode& aNode) const;
/**
* Find given node in tree.
* (Why would you want to find a node you already have?)
*
* @update gess 4/11/98
* @param aNode is the node you're searching for
* @return ptr to node if found, or NULL
*/
nsNode* Find(const nsNode& aNode) const;
/**
* Walks the tree, starting with root.
*
* @update gess 4/11/98
*/
virtual const nsBTree& ForEach(nsNodeFunctor& aFunctor,nsNode* aNode=0) const;
protected:
/**
* Rebalances tree around the given node. This only
* needs to be called after a node is deleted.
*
* @update gess 4/11/98
* @param aNode -- node to balance around
* @return this
*/
virtual nsBTree& ReBalance(nsNode& aNode);
nsNode* mRoot;
};
#endif

View File

@@ -0,0 +1,705 @@
/* -*- Mode: C++; 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 "nsBuffer.h"
#include "nsAutoLock.h"
#include "nsCRT.h"
#include "nsIInputStream.h"
#include "nsIServiceManager.h"
#include "nsIPageManager.h"
////////////////////////////////////////////////////////////////////////////////
nsBuffer::nsBuffer()
: mGrowBySize(0),
mMaxSize(0),
mAllocator(nsnull),
mBufferSize(0),
mReadSegment(nsnull),
mReadCursor(0),
mWriteSegment(nsnull),
mWriteCursor(0),
mReaderClosed(PR_FALSE),
mCondition(NS_OK)
{
NS_INIT_REFCNT();
PR_INIT_CLIST(&mSegments);
}
NS_IMETHODIMP
nsBuffer::Init(PRUint32 growBySize, PRUint32 maxSize,
nsIBufferObserver* observer, nsIAllocator* allocator)
{
NS_ASSERTION(sizeof(PRCList) <= SEGMENT_OVERHEAD,
"need to change SEGMENT_OVERHEAD size");
NS_ASSERTION(growBySize > SEGMENT_OVERHEAD, "bad growBySize");
mGrowBySize = growBySize;
mMaxSize = maxSize;
mObserver = observer;
NS_IF_ADDREF(mObserver);
mAllocator = allocator;
NS_ADDREF(mAllocator);
return NS_OK;
}
nsBuffer::~nsBuffer()
{
NS_IF_RELEASE(mObserver);
NS_IF_RELEASE(mAllocator);
}
NS_IMPL_ISUPPORTS(nsBuffer, nsIBuffer::GetIID());
NS_METHOD
nsBuffer::Create(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aOuter)
return NS_ERROR_NO_AGGREGATION;
nsBuffer* buf = new nsBuffer();
if (buf == nsnull)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(buf);
nsresult rv = buf->QueryInterface(aIID, aResult);
NS_RELEASE(buf);
return rv;
}
////////////////////////////////////////////////////////////////////////////////
nsresult
nsBuffer::PushWriteSegment()
{
nsAutoCMonitor mon(this); // protect mSegments
if (mBufferSize >= mMaxSize) {
if (mObserver) {
nsresult rv = mObserver->OnFull(this);
if (NS_FAILED(rv)) return rv;
}
return NS_ERROR_FAILURE;
}
// allocate a new segment to write into
PRCList* header;
header = (PRCList*)mAllocator->Alloc(mGrowBySize);
if (header == nsnull)
return NS_ERROR_OUT_OF_MEMORY;
mBufferSize += mGrowBySize;
PR_INSERT_BEFORE(header, &mSegments); // insert at end
// initialize the write segment
mWriteSegment = header;
mWriteSegmentEnd = (char*)mWriteSegment + mGrowBySize;
mWriteCursor = (char*)mWriteSegment + sizeof(PRCList);
return NS_OK;
}
nsresult
nsBuffer::PopReadSegment()
{
nsresult rv;
nsAutoCMonitor mon(this); // protect mSegments
PRCList* header = (PRCList*)mSegments.next;
char* segment = (char*)header;
NS_ASSERTION(mReadSegment == header, "wrong segment");
// make sure that the writer isn't still in this segment (that the
// reader is removing)
NS_ASSERTION(!(segment <= mWriteCursor && mWriteCursor < segment + mGrowBySize),
"removing writer's segment");
PR_REMOVE_LINK(header); // unlink from mSegments
mBufferSize -= mGrowBySize;
rv = mAllocator->Free(segment);
if (NS_FAILED(rv)) return rv;
// initialize the read segment
if (PR_CLIST_IS_EMPTY(&mSegments)) {
mReadSegment = nsnull;
mReadSegmentEnd = nsnull;
mReadCursor = nsnull;
if (mObserver) {
rv = mObserver->OnEmpty(this);
if (NS_FAILED(rv)) return rv;
}
}
else {
mReadSegment = mSegments.next;
mReadSegmentEnd = (char*)mReadSegment + mGrowBySize;
mReadCursor = (char*)mReadSegment + sizeof(PRCList);
}
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
// nsIBuffer methods:
NS_IMETHODIMP
nsBuffer::ReadSegments(nsWriteSegmentFun writer, void* closure, PRUint32 count,
PRUint32 *readCount)
{
NS_ASSERTION(!mReaderClosed, "state change error");
nsAutoCMonitor mon(this);
nsresult rv = NS_OK;
PRUint32 readBufferLen;
const char* readBuffer;
*readCount = 0;
while (count > 0) {
rv = GetReadSegment(0, &readBuffer, &readBufferLen);
if (rv == NS_BASE_STREAM_EOF) { // all we're going to get
return *readCount == 0 ? rv : NS_OK;
}
NS_ASSERTION(NS_SUCCEEDED(rv), "GetReadSegment failed -- shouldn't happen");
if (readBufferLen == 0) {
return *readCount == 0 ? NS_BASE_STREAM_WOULD_BLOCK : NS_OK;
}
readBufferLen = PR_MIN(readBufferLen, count);
while (readBufferLen > 0) {
PRUint32 writeCount;
rv = writer(closure, readBuffer, *readCount, readBufferLen, &writeCount);
NS_ASSERTION(rv != NS_BASE_STREAM_EOF, "Write should not return EOF");
if (rv == NS_BASE_STREAM_WOULD_BLOCK || NS_FAILED(rv)) {
// if we failed to write just report what we were
// able to read so far
return *readCount == 0 ? rv : NS_OK;
}
NS_ASSERTION(writeCount <= readBufferLen, "writer returned bad writeCount");
readBuffer += writeCount;
readBufferLen -= writeCount;
*readCount += writeCount;
count -= writeCount;
if (mReadCursor + writeCount == mReadSegmentEnd) {
rv = PopReadSegment();
if (NS_FAILED(rv)) {
return *readCount == 0 ? rv : NS_OK;
}
}
else {
mReadCursor += writeCount;
}
}
}
return NS_OK;
}
static NS_METHOD
nsWriteToRawBuffer(void* closure,
const char* fromRawSegment,
PRUint32 offset,
PRUint32 count,
PRUint32 *writeCount)
{
char* toBuf = (char*)closure;
nsCRT::memcpy(&toBuf[offset], fromRawSegment, count);
*writeCount = count;
return NS_OK;
}
NS_IMETHODIMP
nsBuffer::Read(char* toBuf, PRUint32 bufLen, PRUint32 *readCount)
{
return ReadSegments(nsWriteToRawBuffer, toBuf, bufLen, readCount);
}
NS_IMETHODIMP
nsBuffer::GetReadSegment(PRUint32 segmentLogicalOffset,
const char* *resultSegment,
PRUint32 *resultSegmentLen)
{
nsAutoCMonitor mon(this);
// set the read segment and cursor if not already set
if (mReadSegment == nsnull) {
if (PR_CLIST_IS_EMPTY(&mSegments)) {
*resultSegmentLen = 0;
*resultSegment = nsnull;
return mCondition ? mCondition : NS_OK;
}
else {
mReadSegment = mSegments.next;
mReadSegmentEnd = (char*)mReadSegment + mGrowBySize;
mReadCursor = (char*)mReadSegment + sizeof(PRCList);
}
}
// now search for the segment starting from segmentLogicalOffset and return it
PRCList* curSeg = mReadSegment;
char* curSegStart = mReadCursor;
char* curSegEnd = mReadSegmentEnd;
PRInt32 amt;
PRInt32 offset = (PRInt32)segmentLogicalOffset;
while (offset >= 0) {
// snapshot the write cursor into a local variable -- this allows
// a writer to freely change it while we're reading while avoiding
// using a lock
char* snapshotWriteCursor = mWriteCursor; // atomic
// next check if the write cursor is in our segment
if (curSegStart <= snapshotWriteCursor &&
snapshotWriteCursor < curSegEnd) {
// same segment -- read up to the snapshotWriteCursor
curSegEnd = snapshotWriteCursor;
amt = curSegEnd - curSegStart;
if (offset < amt) {
// segmentLogicalOffset is in this segment, so read up to its end
*resultSegmentLen = amt - offset;
*resultSegment = curSegStart + offset;
return NS_OK;
}
else {
// don't continue past the write segment
*resultSegmentLen = 0;
*resultSegment = nsnull;
return mCondition ? mCondition : NS_OK;
}
}
else {
amt = curSegEnd - curSegStart;
if (offset < amt) {
// segmentLogicalOffset is in this segment, so read up to its end
*resultSegmentLen = amt - offset;
*resultSegment = curSegStart + offset;
return NS_OK;
}
else {
curSeg = PR_NEXT_LINK(curSeg);
if (curSeg == mReadSegment) {
// been all the way around
*resultSegmentLen = 0;
*resultSegment = nsnull;
return mCondition ? mCondition : NS_OK;
}
curSegEnd = (char*)curSeg + mGrowBySize;
curSegStart = (char*)curSeg + sizeof(PRCList);
offset -= amt;
}
}
}
NS_NOTREACHED("nsBuffer::GetReadSegment failed");
return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsBuffer::GetReadableAmount(PRUint32 *result)
{
NS_ASSERTION(!mReaderClosed, "state change error");
nsAutoCMonitor mon(this);
*result = 0;
// first set the read segment and cursor if not already set
if (mReadSegment == nsnull) {
if (PR_CLIST_IS_EMPTY(&mSegments)) {
return NS_OK;
}
else {
mReadSegment = mSegments.next;
mReadSegmentEnd = (char*)mReadSegment + mGrowBySize;
mReadCursor = (char*)mReadSegment + sizeof(PRCList);
}
}
// now search for the segment starting from segmentLogicalOffset and return it
PRCList* curSeg = mReadSegment;
char* curSegStart = mReadCursor;
char* curSegEnd = mReadSegmentEnd;
PRInt32 amt;
while (PR_TRUE) {
// snapshot the write cursor into a local variable -- this allows
// a writer to freely change it while we're reading while avoiding
// using a lock
char* snapshotWriteCursor = mWriteCursor; // atomic
// next check if the write cursor is in our segment
if (curSegStart <= snapshotWriteCursor &&
snapshotWriteCursor < curSegEnd) {
// same segment -- read up to the snapshotWriteCursor
curSegEnd = snapshotWriteCursor;
amt = curSegEnd - curSegStart;
*result += amt;
return NS_OK;
}
else {
amt = curSegEnd - curSegStart;
*result += amt;
curSeg = PR_NEXT_LINK(curSeg);
if (curSeg == mReadSegment) {
// been all the way around
return NS_OK;
}
curSegEnd = (char*)curSeg + mGrowBySize;
curSegStart = (char*)curSeg + sizeof(PRCList);
}
}
return NS_ERROR_FAILURE;
}
typedef PRInt32 (*compare_t)(const char*, const char*, PRUint32);
NS_IMETHODIMP
nsBuffer::Search(const char* string, PRBool ignoreCase,
PRBool *found, PRUint32 *offsetSearchedTo)
{
NS_ASSERTION(!mReaderClosed, "state change error");
nsresult rv;
const char* bufSeg1;
PRUint32 bufSegLen1;
PRUint32 segmentPos = 0;
PRUint32 strLen = nsCRT::strlen(string);
compare_t compare =
ignoreCase ? (compare_t)nsCRT::strncasecmp : (compare_t)nsCRT::strncmp;
rv = GetReadSegment(segmentPos, &bufSeg1, &bufSegLen1);
if (NS_FAILED(rv) || bufSegLen1 == 0) {
*found = PR_FALSE;
*offsetSearchedTo = segmentPos;
return NS_OK;
}
while (PR_TRUE) {
PRUint32 i;
// check if the string is in the buffer segment
for (i = 0; i < bufSegLen1 - strLen + 1; i++) {
if (compare(&bufSeg1[i], string, strLen) == 0) {
*found = PR_TRUE;
*offsetSearchedTo = segmentPos + i;
return NS_OK;
}
}
// get the next segment
const char* bufSeg2;
PRUint32 bufSegLen2;
segmentPos += bufSegLen1;
rv = GetReadSegment(segmentPos, &bufSeg2, &bufSegLen2);
if (NS_FAILED(rv) || bufSegLen2 == 0) {
*found = PR_FALSE;
if (mCondition != NS_OK) // XXX NS_FAILED?
*offsetSearchedTo = segmentPos - bufSegLen1;
else
*offsetSearchedTo = segmentPos - bufSegLen1 - strLen + 1;
return NS_OK;
}
// check if the string is straddling the next buffer segment
PRUint32 limit = PR_MIN(strLen, bufSegLen2 + 1);
for (i = 0; i < limit; i++) {
PRUint32 strPart1Len = strLen - i - 1;
PRUint32 strPart2Len = strLen - strPart1Len;
const char* strPart2 = &string[strLen - strPart2Len];
PRUint32 bufSeg1Offset = bufSegLen1 - strPart1Len;
if (compare(&bufSeg1[bufSeg1Offset], string, strPart1Len) == 0 &&
compare(bufSeg2, strPart2, strPart2Len) == 0) {
*found = PR_TRUE;
*offsetSearchedTo = segmentPos - strPart1Len;
return NS_OK;
}
}
// finally continue with the next buffer
bufSeg1 = bufSeg2;
bufSegLen1 = bufSegLen2;
}
NS_NOTREACHED("can't get here");
return NS_ERROR_FAILURE; // keep compiler happy
}
NS_IMETHODIMP
nsBuffer::ReaderClosed()
{
nsresult rv = NS_OK;
nsAutoCMonitor mon(this); // protect mSegments
// first prevent any more writing
mReaderClosed = PR_TRUE;
// then free any unread segments...
// first set the read segment and cursor if not already set
if (mReadSegment == nsnull) {
if (!PR_CLIST_IS_EMPTY(&mSegments)) {
mReadSegment = mSegments.next;
mReadSegmentEnd = (char*)mReadSegment + mGrowBySize;
mReadCursor = (char*)mReadSegment + sizeof(PRCList);
}
}
while (mReadSegment) {
// snapshot the write cursor into a local variable -- this allows
// a writer to freely change it while we're reading while avoiding
// using a lock
char* snapshotWriteCursor = mWriteCursor; // atomic
// next check if the write cursor is in our segment
if (mReadCursor <= snapshotWriteCursor &&
snapshotWriteCursor < mReadSegmentEnd) {
// same segment -- we've discarded all the unread segments we
// can, so just updatethe read cursor
mReadCursor = mWriteCursor;
break;
}
// else advance to the next segment, freeing this one
rv = PopReadSegment();
if (NS_FAILED(rv)) break;
}
#ifdef DEBUG
PRUint32 amt;
const char* buf;
rv = GetReadSegment(0, &buf, &amt);
NS_ASSERTION(rv == NS_BASE_STREAM_EOF ||
(NS_SUCCEEDED(rv) && amt == 0), "ReaderClosed failed");
#endif
return rv;
}
NS_IMETHODIMP
nsBuffer::GetCondition(nsresult *result)
{
*result = mCondition;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
NS_IMETHODIMP
nsBuffer::WriteSegments(nsReadSegmentFun reader, void* closure, PRUint32 count,
PRUint32 *writeCount)
{
nsAutoCMonitor mon(this);
nsresult rv;
if (mReaderClosed)
return NS_BASE_STREAM_CLOSED;
if (NS_FAILED(mCondition))
return mCondition;
*writeCount = 0;
while (count > 0) {
PRUint32 writeBufLen;
char* writeBuf;
rv = GetWriteSegment(&writeBuf, &writeBufLen);
if (NS_FAILED(rv) || writeBufLen == 0) {
// if we failed to allocate a new segment, we're probably out
// of memory, but we don't care -- just report what we were
// able to write so far
return (*writeCount == 0) ? rv : NS_OK;
}
writeBufLen = PR_MIN(writeBufLen, count);
while (writeBufLen > 0) {
PRUint32 readCount;
rv = reader(closure, writeBuf, *writeCount, writeBufLen, &readCount);
if (rv == NS_BASE_STREAM_WOULD_BLOCK) {
// if the place we're putting the data would block (probably ran
// out of room) just return what we were able to write so far
return (*writeCount == 0) ? rv : NS_OK;
}
if (NS_FAILED(rv)) {
// save the failure condition so that we can get it again later
nsresult rv2 = SetCondition(rv);
NS_ASSERTION(NS_SUCCEEDED(rv2), "SetCondition failed");
// if we failed to read just report what we were
// able to write so far
return (*writeCount == 0) ? rv : NS_OK;
}
NS_ASSERTION(readCount <= writeBufLen, "reader returned bad readCount");
writeBuf += readCount;
writeBufLen -= readCount;
*writeCount += readCount;
count -= readCount;
// set the write cursor after the data is valid
if (mWriteCursor + readCount == mWriteSegmentEnd) {
mWriteSegment = nsnull; // allocate a new segment next time around
mWriteSegmentEnd = nsnull;
mWriteCursor = nsnull;
}
else
mWriteCursor += readCount;
}
}
return NS_OK;
}
static NS_METHOD
nsReadFromRawBuffer(void* closure,
char* toRawSegment,
PRUint32 offset,
PRUint32 count,
PRUint32 *readCount)
{
const char* fromBuf = (const char*)closure;
nsCRT::memcpy(toRawSegment, &fromBuf[offset], count);
*readCount = count;
return NS_OK;
}
NS_IMETHODIMP
nsBuffer::Write(const char* fromBuf, PRUint32 bufLen, PRUint32 *writeCount)
{
return WriteSegments(nsReadFromRawBuffer, (void*)fromBuf, bufLen, writeCount);
}
static NS_METHOD
nsReadFromInputStream(void* closure,
char* toRawSegment,
PRUint32 offset,
PRUint32 count,
PRUint32 *readCount)
{
nsIInputStream* fromStream = (nsIInputStream*)closure;
return fromStream->Read(toRawSegment, count, readCount);
}
NS_IMETHODIMP
nsBuffer::WriteFrom(nsIInputStream* fromStream, PRUint32 count, PRUint32 *writeCount)
{
return WriteSegments(nsReadFromInputStream, fromStream, count, writeCount);
}
NS_IMETHODIMP
nsBuffer::GetWriteSegment(char* *resultSegment,
PRUint32 *resultSegmentLen)
{
nsAutoCMonitor mon(this);
if (mReaderClosed)
return NS_BASE_STREAM_CLOSED;
nsresult rv;
*resultSegmentLen = 0;
*resultSegment = nsnull;
if (mWriteSegment == nsnull) {
rv = PushWriteSegment();
if (NS_FAILED(rv)) return rv;
NS_ASSERTION(mWriteSegment != nsnull, "failed to allocate segment");
}
*resultSegmentLen = mWriteSegmentEnd - mWriteCursor;
*resultSegment = mWriteCursor;
NS_ASSERTION(*resultSegmentLen > 0, "Failed to get write segment.");
return NS_OK;
}
NS_IMETHODIMP
nsBuffer::GetWritableAmount(PRUint32 *amount)
{
if (mReaderClosed)
return NS_BASE_STREAM_CLOSED;
nsresult rv;
PRUint32 readableAmount;
rv = GetReadableAmount(&readableAmount);
if (NS_FAILED(rv)) return rv;
*amount = mMaxSize - readableAmount;
return NS_OK;
}
NS_IMETHODIMP
nsBuffer::GetReaderClosed(PRBool *result)
{
*result = mReaderClosed;
return NS_OK;
}
NS_IMETHODIMP
nsBuffer::SetCondition(nsresult condition)
{
nsAutoCMonitor mon(this);
if (mReaderClosed)
return NS_BASE_STREAM_CLOSED;
mCondition = condition;
mWriteSegment = nsnull; // allows reader to free last segment w/o asserting
mWriteSegmentEnd = nsnull;
// don't reset mWriteCursor here -- we need it for the EOF point in the buffer
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
static NS_DEFINE_CID(kAllocatorCID, NS_ALLOCATOR_CID);
NS_COM nsresult
NS_NewBuffer(nsIBuffer* *result,
PRUint32 growBySize, PRUint32 maxSize,
nsIBufferObserver* observer)
{
nsresult rv;
NS_WITH_SERVICE(nsIAllocator, alloc, kAllocatorCID, &rv);
if (NS_FAILED(rv)) return rv;
nsBuffer* buf;
rv = nsBuffer::Create(NULL, nsIBuffer::GetIID(), (void**)&buf);
if (NS_FAILED(rv)) return rv;
rv = buf->Init(growBySize, maxSize, observer, alloc);
if (NS_FAILED(rv)) {
NS_RELEASE(buf);
return rv;
}
*result = buf;
return NS_OK;
}
static NS_DEFINE_CID(kPageManagerCID, NS_PAGEMANAGER_CID);
NS_COM nsresult
NS_NewPageBuffer(nsIBuffer* *result,
PRUint32 growBySize, PRUint32 maxSize,
nsIBufferObserver* observer)
{
nsresult rv;
NS_WITH_SERVICE(nsIAllocator, alloc, kPageManagerCID, &rv);
if (NS_FAILED(rv)) return rv;
nsBuffer* buf;
rv = nsBuffer::Create(NULL, nsIBuffer::GetIID(), (void**)&buf);
if (NS_FAILED(rv)) return rv;
rv = buf->Init(growBySize, maxSize, observer, alloc);
if (NS_FAILED(rv)) {
NS_RELEASE(buf);
return rv;
}
*result = buf;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,87 @@
/* -*- Mode: C++; 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.
*/
#ifndef nsBuffer_h___
#define nsBuffer_h___
#include "nsIBuffer.h"
#include "nscore.h"
#include "prclist.h"
#include "nsIAllocator.h"
class nsBuffer : public nsIBuffer {
public:
NS_DECL_ISUPPORTS
static NS_METHOD
Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);
// nsIBuffer methods:
NS_IMETHOD Init(PRUint32 growBySize, PRUint32 maxSize,
nsIBufferObserver* observer, nsIAllocator* allocator);
NS_IMETHOD Read(char* toBuf, PRUint32 bufLen, PRUint32 *readCount);
NS_IMETHOD ReadSegments(nsWriteSegmentFun writer, void* closure, PRUint32 count,
PRUint32 *readCount);
NS_IMETHOD GetReadSegment(PRUint32 segmentLogicalOffset,
const char* *resultSegment,
PRUint32 *resultSegmentLen);
NS_IMETHOD GetReadableAmount(PRUint32 *amount);
NS_IMETHOD Search(const char* forString, PRBool ignoreCase,
PRBool *found, PRUint32 *offsetSearchedTo);
NS_IMETHOD ReaderClosed(void);
NS_IMETHOD GetCondition(nsresult *result);
NS_IMETHOD Write(const char* fromBuf, PRUint32 bufLen, PRUint32 *writeCount);
NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, PRUint32 *writeCount);
NS_IMETHOD WriteSegments(nsReadSegmentFun reader, void* closure, PRUint32 count,
PRUint32 *writeCount);
NS_IMETHOD GetWriteSegment(char* *resultSegment,
PRUint32 *resultSegmentLen);
NS_IMETHOD GetWritableAmount(PRUint32 *amount);
NS_IMETHOD GetReaderClosed(PRBool *result);
NS_IMETHOD SetCondition(nsresult condition);
// nsBuffer methods:
nsBuffer();
virtual ~nsBuffer();
nsresult PushWriteSegment();
nsresult PopReadSegment();
protected:
PRUint32 mGrowBySize;
PRUint32 mMaxSize;
nsIAllocator* mAllocator;
nsIBufferObserver* mObserver;
PRCList mSegments;
PRUint32 mBufferSize;
PRCList* mReadSegment;
char* mReadSegmentEnd;
char* mReadCursor;
PRCList* mWriteSegment;
char* mWriteSegmentEnd;
char* mWriteCursor;
PRBool mReaderClosed;
nsresult mCondition;
};
#endif // nsBuffer_h___

View File

@@ -1,5 +1,5 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
/* -*- Mode: C++; 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
@@ -16,41 +16,25 @@
* Reserved.
*/
#ifndef nsWinRegValue_h__
#define nsWinRegValue_h__
#ifndef nsBufferPoolService_h___
#define nsBufferPoolService_h___
#include "prtypes.h"
PR_BEGIN_EXTERN_C
struct nsWinRegValue {
#include "nsIBufferPoolService.h"
class nsBufferPoolService : public nsIBufferPoolService {
public:
NS_DECL_ISUPPORTS
/* Public Fields */
PRInt32 type;
void* data;
PRInt32 data_length;
// nsIBufferPoolService methods:
NS_IMETHOD NewBuffer(PRUint32 minSize, PRUint32 maxSize,
nsIByteBuffer* *result);
/* 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 */
// nsBufferPoolService methods:
nsBufferPoolService();
virtual ~nsBufferPoolService();
protected:
};
PR_END_EXTERN_C
#endif /* nsWinRegValue_h__ */
#endif // nsBufferPoolService_h___

View File

@@ -0,0 +1,152 @@
/* -*- 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 "nsByteBuffer.h"
#include "nsIInputStream.h"
#include "nsCRT.h"
#define MIN_BUFFER_SIZE 32
ByteBufferImpl::ByteBufferImpl(void)
: mBuffer(NULL), mSpace(0), mLength(0)
{
NS_INIT_REFCNT();
}
NS_IMETHODIMP
ByteBufferImpl::Init(PRUint32 aBufferSize)
{
if (aBufferSize < MIN_BUFFER_SIZE) {
aBufferSize = MIN_BUFFER_SIZE;
}
mSpace = aBufferSize;
mLength = 0;
mBuffer = new char[aBufferSize];
return mBuffer ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
}
NS_DEFINE_IID(kByteBufferIID,NS_IBYTE_BUFFER_IID);
NS_IMPL_ISUPPORTS(ByteBufferImpl,kByteBufferIID)
ByteBufferImpl::~ByteBufferImpl()
{
if (nsnull != mBuffer) {
delete[] mBuffer;
mBuffer = nsnull;
}
mLength = 0;
}
NS_METHOD
ByteBufferImpl::Create(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aOuter)
return NS_ERROR_NO_AGGREGATION;
ByteBufferImpl* it = new ByteBufferImpl();
if (nsnull == it)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(it);
nsresult rv = it->QueryInterface(aIID, (void**)aResult);
NS_RELEASE(it);
return rv;
}
NS_IMETHODIMP_(PRUint32)
ByteBufferImpl::GetLength(void) const
{
return mLength;
}
NS_IMETHODIMP_(PRUint32)
ByteBufferImpl::GetBufferSize(void) const
{
return mSpace;
}
NS_IMETHODIMP_(char*)
ByteBufferImpl::GetBuffer(void) const
{
return mBuffer;
}
NS_IMETHODIMP_(PRBool)
ByteBufferImpl::Grow(PRUint32 aNewSize)
{
if (aNewSize < MIN_BUFFER_SIZE) {
aNewSize = MIN_BUFFER_SIZE;
}
char* newbuf = new char[aNewSize];
if (nsnull != newbuf) {
if (0 != mLength) {
nsCRT::memcpy(newbuf, mBuffer, mLength);
}
delete[] mBuffer;
mBuffer = newbuf;
return PR_TRUE;
}
return PR_FALSE;
}
NS_IMETHODIMP_(PRInt32)
ByteBufferImpl::Fill(nsresult* aErrorCode, nsIInputStream* aStream,
PRUint32 aKeep)
{
NS_PRECONDITION(nsnull != aStream, "null stream");
NS_PRECONDITION(aKeep <= mLength, "illegal keep count");
if ((nsnull == aStream) || (PRUint32(aKeep) > PRUint32(mLength))) {
// whoops
*aErrorCode = NS_BASE_STREAM_ILLEGAL_ARGS;
return -1;
}
if (0 != aKeep) {
// Slide over kept data
nsCRT::memmove(mBuffer, mBuffer + (mLength - aKeep), aKeep);
}
// Read in some new data
mLength = aKeep;
PRUint32 nb;
*aErrorCode = aStream->Read(mBuffer + aKeep, mSpace - aKeep, &nb);
if (NS_SUCCEEDED(*aErrorCode)) {
mLength += nb;
}
else
nb = 0;
return nb;
}
NS_COM nsresult NS_NewByteBuffer(nsIByteBuffer** aInstancePtrResult,
nsISupports* aOuter,
PRUint32 aBufferSize)
{
nsresult rv;
nsIByteBuffer* buf;
rv = ByteBufferImpl::Create(aOuter, nsIByteBuffer::GetIID(), (void**)&buf);
if (NS_FAILED(rv)) return rv;
rv = buf->Init(aBufferSize);
if (NS_FAILED(rv)) {
NS_RELEASE(buf);
return rv;
}
*aInstancePtrResult = buf;
return rv;
}

View File

@@ -0,0 +1,47 @@
/* -*- 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 nsByteBuffer_h__
#define nsByteBuffer_h__
#include "nsIByteBuffer.h"
class ByteBufferImpl : public nsIByteBuffer {
public:
ByteBufferImpl(void);
virtual ~ByteBufferImpl();
NS_DECL_ISUPPORTS
static NS_METHOD
Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);
NS_IMETHOD Init(PRUint32 aBufferSize);
NS_IMETHOD_(PRUint32) GetLength(void) const;
NS_IMETHOD_(PRUint32) GetBufferSize(void) const;
NS_IMETHOD_(char*) GetBuffer() const;
NS_IMETHOD_(PRBool) Grow(PRUint32 aNewSize);
NS_IMETHOD_(PRInt32) Fill(nsresult* aErrorCode, nsIInputStream* aStream,
PRUint32 aKeep);
char* mBuffer;
PRUint32 mSpace;
PRUint32 mLength;
};
#endif // nsByteBuffer_h__

552
mozilla/xpcom/ds/nsCRT.cpp Normal file
View File

@@ -0,0 +1,552 @@
/* -*- 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.
*/
/**
* MODULE NOTES:
* @update gess7/30/98
*
* Much as I hate to do it, we were using string compares wrong.
* Often, programmers call functions like strcmp(s1,s2), and pass
* one or more null strings. Rather than blow up on these, I've
* added quick checks to ensure that cases like this don't cause
* us to fail.
*
* In general, if you pass a null into any of these string compare
* routines, we simply return 0.
*/
#include "nsCRT.h"
#include "nsUnicharUtilCIID.h"
#include "nsIServiceManager.h"
#include "nsICaseConversion.h"
// XXX Bug: These tables don't lowercase the upper 128 characters properly
// This table maps uppercase characters to lower case characters;
// characters that are neither upper nor lower case are unaffected.
static const unsigned char kUpper2Lower[256] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64,
// upper band mapped to lower [A-Z] => [a-z]
97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,
91, 92, 93, 94, 95,
96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
static const unsigned char kLower2Upper[256] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96,
// lower band mapped to upper [a-z] => [A-Z]
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
123,124,125,126,127,
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
// XXX bug: this doesn't map 0x80 to 0x9f properly
const PRUnichar kIsoLatin1ToUCS2[256] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
//----------------------------------------------------------------------
#define TOLOWER(_ucs2) \
(((_ucs2) < 128) ? PRUnichar(kUpper2Lower[_ucs2]) : _ToLower(_ucs2))
#define TOUPPER(_ucs2) \
(((_ucs2) < 128) ? PRUnichar(kLower2Upper[_ucs2]) : _ToUpper(_ucs2))
class HandleCaseConversionShutdown : public nsIShutdownListener {
public :
NS_IMETHOD OnShutdown(const nsCID& cid, nsISupports* service);
HandleCaseConversionShutdown(void) { NS_INIT_REFCNT(); }
virtual ~HandleCaseConversionShutdown(void) {}
NS_DECL_ISUPPORTS
};
static NS_DEFINE_CID(kUnicharUtilCID, NS_UNICHARUTIL_CID);
static NS_DEFINE_IID(kICaseConversionIID, NS_ICASECONVERSION_IID);
static nsICaseConversion * gCaseConv = NULL;
static NS_DEFINE_IID(kIShutdownListenerIID, NS_ISHUTDOWNLISTENER_IID);
NS_IMPL_ISUPPORTS(HandleCaseConversionShutdown, kIShutdownListenerIID);
nsresult
HandleCaseConversionShutdown::OnShutdown(const nsCID& cid,
nsISupports* aService)
{
if (cid.Equals(kUnicharUtilCID)) {
NS_ASSERTION(aService == gCaseConv, "wrong service!");
gCaseConv->Release();
gCaseConv = NULL;
}
return NS_OK;
}
static HandleCaseConversionShutdown* gListener = NULL;
static void StartUpCaseConversion()
{
nsresult err;
if ( NULL == gListener )
{
gListener = new HandleCaseConversionShutdown();
gListener->AddRef();
}
err = nsServiceManager::GetService(kUnicharUtilCID, kICaseConversionIID,
(nsISupports**) &gCaseConv, gListener);
}
static void CheckCaseConversion()
{
if(NULL == gCaseConv )
StartUpCaseConversion();
NS_ASSERTION( gCaseConv != NULL , "cannot obtain UnicharUtil");
}
static PRUnichar _ToLower(PRUnichar aChar)
{
PRUnichar oLower;
CheckCaseConversion();
nsresult err = gCaseConv->ToLower(aChar, &oLower);
NS_ASSERTION( NS_SUCCEEDED(err), "failed to communicate to UnicharUtil");
return ( NS_SUCCEEDED(err) ) ? oLower : aChar ;
}
static PRUnichar _ToUpper(PRUnichar aChar)
{
nsresult err;
PRUnichar oUpper;
CheckCaseConversion();
err = gCaseConv->ToUpper(aChar, &oUpper);
NS_ASSERTION( NS_SUCCEEDED(err), "failed to communicate to UnicharUtil");
return ( NS_SUCCEEDED(err) ) ? oUpper : aChar ;
}
//----------------------------------------------------------------------
PRUnichar nsCRT::ToUpper(PRUnichar aChar)
{
return TOUPPER(aChar);
}
PRUnichar nsCRT::ToLower(PRUnichar aChar)
{
return TOLOWER(aChar);
}
PRBool nsCRT::IsUpper(PRUnichar aChar)
{
return aChar != nsCRT::ToLower(aChar);
}
PRBool nsCRT::IsLower(PRUnichar aChar)
{
return aChar != nsCRT::ToUpper(aChar);
}
////////////////////////////////////////////////////////////////////////////////
// My lovely strtok routine
#define IS_DELIM(m, c) ((m)[(c) >> 3] & (1 << ((c) & 7)))
#define SET_DELIM(m, c) ((m)[(c) >> 3] |= (1 << ((c) & 7)))
#define DELIM_TABLE_SIZE 32
char* nsCRT::strtok(char* string, const char* delims, char* *newStr)
{
NS_ASSERTION(string, "Unlike regular strtok, the first argument cannot be null.");
char delimTable[DELIM_TABLE_SIZE];
PRUint32 i;
char* result;
char* str = string;
for (i = 0; i < DELIM_TABLE_SIZE; i++)
delimTable[i] = '\0';
for (i = 0; i < DELIM_TABLE_SIZE && delims[i]; i++) {
SET_DELIM(delimTable, delims[i]);
}
NS_ASSERTION(delims[i] == '\0', "too many delimiters");
// skip to beginning
while (*str && IS_DELIM(delimTable, *str)) {
str++;
}
result = str;
// fix up the end of the token
while (*str) {
if (IS_DELIM(delimTable, *str)) {
*str++ = '\0';
break;
}
str++;
}
*newStr = str;
return str == result ? NULL : result;
}
////////////////////////////////////////////////////////////////////////////////
PRUint32 nsCRT::strlen(const PRUnichar* s)
{
PRUint32 len = 0;
if(s) {
while (*s++ != 0) {
len++;
}
}
return len;
}
/**
* Compare unichar string ptrs, stopping at the 1st null
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcmp(const PRUnichar* s1, const PRUnichar* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Compare unichar string ptrs, stopping at the 1st null or nth char.
* NOTE: If either is null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncmp(const PRUnichar* s1, const PRUnichar* s2, PRUint32 n)
{
if(s1 && s2) {
if(n != 0) {
do {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
} while (--n != 0);
}
}
return 0;
}
/**
* Compare unichar string ptrs without regard to case
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcasecmp(const PRUnichar* s1, const PRUnichar* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Compare unichar string ptrs, stopping at the 1st null or nth char;
* also ignoring the case of characters.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncasecmp(const PRUnichar* s1, const PRUnichar* s2, PRUint32 n)
{
if(s1 && s2) {
if(n != 0){
do {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if ((0==c1) || (0==c2)) break;
} while (--n != 0);
}
}
return 0;
}
/**
* Compare a unichar string ptr to cstring.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcmp(const PRUnichar* s1, const char* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Compare a unichar string ptr to cstring, up to N chars.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncmp(const PRUnichar* s1, const char* s2, PRUint32 n)
{
if(s1 && s2) {
if(n != 0){
do {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
} while (--n != 0);
}
}
return 0;
}
/**
* Compare a unichar string ptr to cstring without regard to case
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcasecmp(const PRUnichar* s1, const char* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Caseless compare up to N chars between unichar string ptr to cstring.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncasecmp(const PRUnichar* s1, const char* s2, PRUint32 n)
{
if(s1 && s2){
if(n != 0){
do {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if (c1 == 0) break;
} while (--n != 0);
}
}
return 0;
}
PRUnichar* nsCRT::strdup(const PRUnichar* str)
{
PRUint32 len = nsCRT::strlen(str) + 1; // add one for null
PRUnichar* rslt = new PRUnichar[len];
if (rslt == NULL) return NULL;
nsCRT::memcpy(rslt, str, len * sizeof(PRUnichar));
return rslt;
}
PRUint32 nsCRT::HashValue(const char* us)
{
PRUint32 rv = 0;
if(us) {
char ch;
while ((ch = *us++) != 0) {
// FYI: rv = rv*37 + ch
rv = ((rv << 5) + (rv << 2) + rv) + ch;
}
}
return rv;
}
PRUint32 nsCRT::HashValue(const char* us, PRUint32* uslenp)
{
PRUint32 rv = 0;
PRUint32 len = 0;
char ch;
while ((ch = *us++) != 0) {
// FYI: rv = rv*37 + ch
rv = ((rv << 5) + (rv << 2) + rv) + ch;
len++;
}
*uslenp = len;
return rv;
}
PRUint32 nsCRT::HashValue(const PRUnichar* us)
{
PRUint32 rv = 0;
if(us) {
PRUnichar ch;
while ((ch = *us++) != 0) {
// FYI: rv = rv*37 + ch
rv = ((rv << 5) + (rv << 2) + rv) + ch;
}
}
return rv;
}
PRUint32 nsCRT::HashValue(const PRUnichar* us, PRUint32* uslenp)
{
PRUint32 rv = 0;
PRUint32 len = 0;
PRUnichar ch;
while ((ch = *us++) != 0) {
// FYI: rv = rv*37 + ch
rv = ((rv << 5) + (rv << 2) + rv) + ch;
len++;
}
*uslenp = len;
return rv;
}
PRInt32 nsCRT::atoi( const PRUnichar *string )
{
return atoi(string);
}

231
mozilla/xpcom/ds/nsCRT.h Normal file
View File

@@ -0,0 +1,231 @@
/* -*- 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 nsCRT_h___
#define nsCRT_h___
#include <stdlib.h>
#include <string.h>
#include "plstr.h"
#include "nscore.h"
#include "prtypes.h"
#define CR '\015'
#define LF '\012'
#define VTAB '\013'
#define FF '\014'
#define TAB '\011'
#define CRLF "\015\012" /* A CR LF equivalent string */
#ifdef XP_MAC
# define NS_LINEBREAK "\015"
# define NS_LINEBREAK_LEN 1
#else
# ifdef XP_PC
# define NS_LINEBREAK "\015\012"
# define NS_LINEBREAK_LEN 2
# else
# if defined(XP_UNIX) || defined(XP_BEOS)
# define NS_LINEBREAK "\012"
# define NS_LINEBREAK_LEN 1
# endif /* XP_UNIX */
# endif /* XP_PC */
#endif /* XP_MAC */
extern const PRUnichar kIsoLatin1ToUCS2[256];
// This macro can be used in a class declaration for classes that want
// to ensure that their instance memory is zeroed.
#define NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW \
void* operator new(size_t sz) { \
void* rv = ::operator new(sz); \
if (rv) { \
nsCRT::zero(rv, sz); \
} \
return rv; \
} \
void operator delete(void* ptr) { \
::operator delete(ptr); \
}
// This macro works with the next macro to declare a non-inlined
// version of the above.
#define NS_DECL_ZEROING_OPERATOR_NEW \
void* operator new(size_t sz); \
void operator delete(void* ptr);
#define NS_IMPL_ZEROING_OPERATOR_NEW(_class) \
void* _class::operator new(size_t sz) { \
void* rv = ::operator new(sz); \
if (rv) { \
nsCRT::zero(rv, sz); \
} \
return rv; \
} \
void _class::operator delete(void* ptr) { \
::operator delete(ptr); \
}
/// This is a wrapper class around all the C runtime functions.
class NS_COM nsCRT {
public:
/** Copy bytes from aSrc to aDest.
@param aDest the destination address
@param aSrc the source address
@param aCount the number of bytes to copy
*/
static void memcpy(void* aDest, const void* aSrc, PRUint32 aCount) {
::memcpy(aDest, aSrc, (size_t)aCount);
}
static void memmove(void* aDest, const void* aSrc, PRUint32 aCount) {
::memmove(aDest, aSrc, (size_t)aCount);
}
static void memset(void* aDest, PRUint8 aByte, PRUint32 aCount) {
::memset(aDest, aByte, aCount);
}
static void zero(void* aDest, PRUint32 aCount) {
::memset(aDest, 0, (size_t)aCount);
}
/** Compute the string length of s
@param s the string in question
@return the length of s
*/
static PRUint32 strlen(const char* s) {
return PRUint32(::strlen(s));
}
/// Compare s1 and s2.
static PRInt32 strcmp(const char* s1, const char* s2) {
return PRUint32(PL_strcmp(s1, s2));
}
static PRInt32 strncmp(const char* s1, const char* s2,
PRUint32 aMaxLen) {
return PRInt32(PL_strncmp(s1, s2, aMaxLen));
}
/// Case-insensitive string comparison.
static PRInt32 strcasecmp(const char* s1, const char* s2) {
return PRInt32(PL_strcasecmp(s1, s2));
}
/// Case-insensitive string comparison with length
static PRInt32 strncasecmp(const char* s1, const char* s2, PRUint32 aMaxLen) {
return PRInt32(PL_strncasecmp(s1, s2, aMaxLen));
}
static PRInt32 strncmp(const char* s1, const char* s2, PRInt32 aMaxLen) {
return PRInt32(PL_strncmp(s1,s2,aMaxLen));
}
static char* strdup(const char* str) {
return PL_strdup(str);
}
static void free(char* str) {
PL_strfree(str);
}
/**
How to use this fancy (thread-safe) version of strtok:
void main( void ) {
printf( "%s\n\nTokens:\n", string );
// Establish string and get the first token:
char* newStr;
token = nsCRT::strtok( string, seps, &newStr );
while( token != NULL ) {
// While there are tokens in "string"
printf( " %s\n", token );
// Get next token:
token = nsCRT::strtok( newStr, seps, &newStr );
}
}
* WARNING - STRTOK WHACKS str THE FIRST TIME IT IS CALLED *
* MAKE A COPY OF str IF YOU NEED TO USE IT AFTER strtok() *
*/
static char* strtok(char* str, const char* delims, char* *newStr);
/// Like strlen except for ucs2 strings
static PRUint32 strlen(const PRUnichar* s);
/// Like strcmp except for ucs2 strings
static PRInt32 strcmp(const PRUnichar* s1, const PRUnichar* s2);
/// Like strcmp except for ucs2 strings
static PRInt32 strncmp(const PRUnichar* s1, const PRUnichar* s2,
PRUint32 aMaxLen);
/// Like strcasecmp except for ucs2 strings
static PRInt32 strcasecmp(const PRUnichar* s1, const PRUnichar* s2);
/// Like strncasecmp except for ucs2 strings
static PRInt32 strncasecmp(const PRUnichar* s1, const PRUnichar* s2,
PRUint32 aMaxLen);
/// Like strcmp with a char* and a ucs2 string
static PRInt32 strcmp(const PRUnichar* s1, const char* s2);
/// Like strncmp with a char* and a ucs2 string
static PRInt32 strncmp(const PRUnichar* s1, const char* s2,
PRUint32 aMaxLen);
/// Like strcasecmp with a char* and a ucs2 string
static PRInt32 strcasecmp(const PRUnichar* s1, const char* s2);
/// Like strncasecmp with a char* and a ucs2 string
static PRInt32 strncasecmp(const PRUnichar* s1, const char* s2,
PRUint32 aMaxLen);
// Note: uses new[] to allocate memory, so you must use delete[] to
// free the memory
static PRUnichar* strdup(const PRUnichar* str);
static void free(PRUnichar* str) {
delete[] str;
}
/// Compute a hashcode for a C string
static PRUint32 HashValue(const char* s1);
/// Same as above except that we return the length in s1len
static PRUint32 HashValue(const char* s1, PRUint32* s1len);
/// Compute a hashcode for a ucs2 string
static PRUint32 HashValue(const PRUnichar* s1);
/// Same as above except that we return the length in s1len
static PRUint32 HashValue(const PRUnichar* s1, PRUint32* s1len);
/// String to integer.
static PRInt32 atoi( const PRUnichar *string );
static PRUnichar ToUpper(PRUnichar aChar);
static PRUnichar ToLower(PRUnichar aChar);
static PRBool IsUpper(PRUnichar aChar);
static PRBool IsLower(PRUnichar aChar);
};
#endif /* nsCRT_h___ */

View File

@@ -0,0 +1,392 @@
/* -*- 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 "nsIEnumerator.h"
////////////////////////////////////////////////////////////////////////////////
// Intersection Enumerators
////////////////////////////////////////////////////////////////////////////////
class nsConjoiningEnumerator : public nsIBidirectionalEnumerator
{
public:
NS_DECL_ISUPPORTS
// nsIEnumerator methods:
NS_IMETHOD First(void);
NS_IMETHOD Next(void);
NS_IMETHOD CurrentItem(nsISupports **aItem);
NS_IMETHOD IsDone(void);
// nsIBidirectionalEnumerator methods:
NS_IMETHOD Last(void);
NS_IMETHOD Prev(void);
// nsConjoiningEnumerator methods:
nsConjoiningEnumerator(nsIEnumerator* first, nsIEnumerator* second);
virtual ~nsConjoiningEnumerator(void);
protected:
nsIEnumerator* mFirst;
nsIEnumerator* mSecond;
nsIEnumerator* mCurrent;
};
nsConjoiningEnumerator::nsConjoiningEnumerator(nsIEnumerator* first, nsIEnumerator* second)
: mFirst(first), mSecond(second), mCurrent(first)
{
NS_ADDREF(mFirst);
NS_ADDREF(mSecond);
}
nsConjoiningEnumerator::~nsConjoiningEnumerator(void)
{
NS_RELEASE(mFirst);
NS_RELEASE(mSecond);
}
NS_IMPL_ADDREF(nsConjoiningEnumerator);
NS_IMPL_RELEASE(nsConjoiningEnumerator);
NS_IMETHODIMP
nsConjoiningEnumerator::QueryInterface(REFNSIID aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr)
return NS_ERROR_NULL_POINTER;
if (aIID.Equals(nsIBidirectionalEnumerator::GetIID()) ||
aIID.Equals(nsIEnumerator::GetIID()) ||
aIID.Equals(nsCOMTypeInfo<nsISupports>::GetIID())) {
*aInstancePtr = (void*) this;
NS_ADDREF_THIS();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMETHODIMP
nsConjoiningEnumerator::First(void)
{
mCurrent = mFirst;
return mCurrent->First();
}
NS_IMETHODIMP
nsConjoiningEnumerator::Next(void)
{
nsresult rv = mCurrent->Next();
if (NS_FAILED(rv) && mCurrent == mFirst) {
mCurrent = mSecond;
rv = mCurrent->First();
}
return rv;
}
NS_IMETHODIMP
nsConjoiningEnumerator::CurrentItem(nsISupports **aItem)
{
return mCurrent->CurrentItem(aItem);
}
NS_IMETHODIMP
nsConjoiningEnumerator::IsDone(void)
{
return (mCurrent == mFirst && mCurrent->IsDone() == NS_OK)
|| (mCurrent == mSecond && mCurrent->IsDone() == NS_OK)
? NS_OK : NS_COMFALSE;
}
////////////////////////////////////////////////////////////////////////////////
NS_IMETHODIMP
nsConjoiningEnumerator::Last(void)
{
nsresult rv;
nsIBidirectionalEnumerator* be;
rv = mSecond->QueryInterface(nsIBidirectionalEnumerator::GetIID(), (void**)&be);
if (NS_FAILED(rv)) return rv;
mCurrent = mSecond;
rv = be->Last();
NS_RELEASE(be);
return rv;
}
NS_IMETHODIMP
nsConjoiningEnumerator::Prev(void)
{
nsresult rv;
nsIBidirectionalEnumerator* be;
rv = mCurrent->QueryInterface(nsIBidirectionalEnumerator::GetIID(), (void**)&be);
if (NS_FAILED(rv)) return rv;
rv = be->Prev();
NS_RELEASE(be);
if (NS_FAILED(rv) && mCurrent == mSecond) {
rv = mFirst->QueryInterface(nsIBidirectionalEnumerator::GetIID(), (void**)&be);
if (NS_FAILED(rv)) return rv;
mCurrent = mFirst;
rv = be->Last();
NS_RELEASE(be);
}
return rv;
}
////////////////////////////////////////////////////////////////////////////////
extern "C" NS_COM nsresult
NS_NewConjoiningEnumerator(nsIEnumerator* first, nsIEnumerator* second,
nsIBidirectionalEnumerator* *aInstancePtrResult)
{
if (aInstancePtrResult == 0)
return NS_ERROR_NULL_POINTER;
nsConjoiningEnumerator* e = new nsConjoiningEnumerator(first, second);
if (e == 0)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(e);
*aInstancePtrResult = e;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
static nsresult
nsEnumeratorContains(nsIEnumerator* e, nsISupports* item)
{
nsresult rv;
for (e->First(); e->IsDone() != NS_OK; e->Next()) {
nsISupports* other;
rv = e->CurrentItem(&other);
if (NS_FAILED(rv)) return rv;
if (item == other) {
NS_RELEASE(other);
return NS_OK; // true -- exists in enumerator
}
NS_RELEASE(other);
}
return NS_COMFALSE; // false -- doesn't exist
}
////////////////////////////////////////////////////////////////////////////////
// Intersection Enumerators
////////////////////////////////////////////////////////////////////////////////
class nsIntersectionEnumerator : public nsIEnumerator
{
public:
NS_DECL_ISUPPORTS
// nsIEnumerator methods:
NS_IMETHOD First(void);
NS_IMETHOD Next(void);
NS_IMETHOD CurrentItem(nsISupports **aItem);
NS_IMETHOD IsDone(void);
// nsIntersectionEnumerator methods:
nsIntersectionEnumerator(nsIEnumerator* first, nsIEnumerator* second);
virtual ~nsIntersectionEnumerator(void);
protected:
nsIEnumerator* mFirst;
nsIEnumerator* mSecond;
};
nsIntersectionEnumerator::nsIntersectionEnumerator(nsIEnumerator* first, nsIEnumerator* second)
: mFirst(first), mSecond(second)
{
NS_ADDREF(mFirst);
NS_ADDREF(mSecond);
}
nsIntersectionEnumerator::~nsIntersectionEnumerator(void)
{
NS_RELEASE(mFirst);
NS_RELEASE(mSecond);
}
NS_IMPL_ISUPPORTS(nsIntersectionEnumerator, nsIEnumerator::GetIID());
NS_IMETHODIMP
nsIntersectionEnumerator::First(void)
{
nsresult rv = mFirst->First();
if (NS_FAILED(rv)) return rv;
return Next();
}
NS_IMETHODIMP
nsIntersectionEnumerator::Next(void)
{
nsresult rv;
// find the first item that exists in both
for (; mFirst->IsDone() != NS_OK; mFirst->Next()) {
nsISupports* item;
rv = mFirst->CurrentItem(&item);
if (NS_FAILED(rv)) return rv;
// see if it also exists in mSecond
rv = nsEnumeratorContains(mSecond, item);
if (NS_FAILED(rv)) return rv;
NS_RELEASE(item);
if (rv == NS_OK) {
// found in both, so return leaving it as the current item of mFirst
return NS_OK;
}
}
return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsIntersectionEnumerator::CurrentItem(nsISupports **aItem)
{
return mFirst->CurrentItem(aItem);
}
NS_IMETHODIMP
nsIntersectionEnumerator::IsDone(void)
{
return mFirst->IsDone();
}
////////////////////////////////////////////////////////////////////////////////
extern "C" NS_COM nsresult
NS_NewIntersectionEnumerator(nsIEnumerator* first, nsIEnumerator* second,
nsIEnumerator* *aInstancePtrResult)
{
if (aInstancePtrResult == 0)
return NS_ERROR_NULL_POINTER;
nsIntersectionEnumerator* e = new nsIntersectionEnumerator(first, second);
if (e == 0)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(e);
*aInstancePtrResult = e;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
// Union Enumerators
////////////////////////////////////////////////////////////////////////////////
class nsUnionEnumerator : public nsIEnumerator
{
public:
NS_DECL_ISUPPORTS
// nsIEnumerator methods:
NS_IMETHOD First(void);
NS_IMETHOD Next(void);
NS_IMETHOD CurrentItem(nsISupports **aItem);
NS_IMETHOD IsDone(void);
// nsUnionEnumerator methods:
nsUnionEnumerator(nsIEnumerator* first, nsIEnumerator* second);
virtual ~nsUnionEnumerator(void);
protected:
nsIEnumerator* mFirst;
nsIEnumerator* mSecond;
};
nsUnionEnumerator::nsUnionEnumerator(nsIEnumerator* first, nsIEnumerator* second)
: mFirst(first), mSecond(second)
{
NS_ADDREF(mFirst);
NS_ADDREF(mSecond);
}
nsUnionEnumerator::~nsUnionEnumerator(void)
{
NS_RELEASE(mFirst);
NS_RELEASE(mSecond);
}
NS_IMPL_ISUPPORTS(nsUnionEnumerator, nsIEnumerator::GetIID());
NS_IMETHODIMP
nsUnionEnumerator::First(void)
{
nsresult rv = mFirst->First();
if (NS_FAILED(rv)) return rv;
return Next();
}
NS_IMETHODIMP
nsUnionEnumerator::Next(void)
{
nsresult rv;
// find the first item that exists in both
for (; mFirst->IsDone() != NS_OK; mFirst->Next()) {
nsISupports* item;
rv = mFirst->CurrentItem(&item);
if (NS_FAILED(rv)) return rv;
// see if it also exists in mSecond
rv = nsEnumeratorContains(mSecond, item);
if (NS_FAILED(rv)) return rv;
NS_RELEASE(item);
if (rv != NS_OK) {
// if it didn't exist in mSecond, return, making it the current item
return NS_OK;
}
// each time around, make sure that mSecond gets reset to the beginning
// so that when mFirst is done, we'll be ready to enumerate mSecond
rv = mSecond->First();
if (NS_FAILED(rv)) return rv;
}
return mSecond->Next();
}
NS_IMETHODIMP
nsUnionEnumerator::CurrentItem(nsISupports **aItem)
{
if (mFirst->IsDone() != NS_OK)
return mFirst->CurrentItem(aItem);
else
return mSecond->CurrentItem(aItem);
}
NS_IMETHODIMP
nsUnionEnumerator::IsDone(void)
{
return (mFirst->IsDone() == NS_OK && mSecond->IsDone() == NS_OK)
? NS_OK : NS_COMFALSE;
}
////////////////////////////////////////////////////////////////////////////////
extern "C" NS_COM nsresult
NS_NewUnionEnumerator(nsIEnumerator* first, nsIEnumerator* second,
nsIEnumerator* *aInstancePtrResult)
{
if (aInstancePtrResult == 0)
return NS_ERROR_NULL_POINTER;
nsUnionEnumerator* e = new nsUnionEnumerator(first, second);
if (e == 0)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(e);
*aInstancePtrResult = e;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,569 @@
/* -*- 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 "nsDeque.h"
#include "nsCRT.h"
//#define _SELFTEST_DEQUE 1
#undef _SELFTEST_DEQUE
/**
* Standard constructor
* @update gess4/18/98
* @return new deque
*/
nsDeque::nsDeque(nsDequeFunctor* aDeallocator) {
mDeallocator=aDeallocator;
mCapacity=eGrowthDelta;
mOrigin=mSize=0;
mData=new void*[mCapacity];
}
/**
* Destructor
* @update gess4/18/98
*/
nsDeque::~nsDeque() {
Erase();
delete [] mData;
mData=0;
if(mDeallocator) {
delete mDeallocator;
}
mDeallocator=0;
}
/**
* Returns the number of elements currently stored in
* this deque.
*
* @update gess4/18/98
* @param
* @return int contains element count
*/
PRInt32 nsDeque::GetSize(void) const {
return mSize;
}
void nsDeque::SetDeallocator(nsDequeFunctor* aDeallocator){
if(mDeallocator) {
delete mDeallocator;
}
mDeallocator=aDeallocator;
}
/**
* Remove all items from container without destroying them.
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque& nsDeque::Empty() {
if((0<mCapacity) && (mData)) {
nsCRT::zero(mData,mCapacity*sizeof(mData));
}
mSize=0;
mOrigin=0;
return *this;
}
/**
* Remove and delete all items from container
*
* @update gess4/18/98
* @return this
*/
nsDeque& nsDeque::Erase() {
if(mDeallocator) {
ForEach(*mDeallocator);
}
return Empty();
}
/**
* This method adds an item to the end of the deque.
* This operation has the potential to cause the
* underlying buffer to resize.
*
* @update gess4/18/98
* @param anItem: new item to be added to deque
* @return nada
*/
nsDeque& nsDeque::GrowCapacity(void) {
void** temp=new void*[mCapacity+eGrowthDelta];
//Here's the interesting part: You can't just move the elements
//directy (in situ) from the old buffer to the new one.
//Since capacity has changed, the old origin doesn't make
//sense anymore. It's better to resequence the elements now.
int tempi=0;
int i=0;
int j=0;
for(i=mOrigin;i<mCapacity;i++) temp[tempi++]=mData[i]; //copy the leading elements...
for(j=0;j<mOrigin;j++) temp[tempi++]=mData[j]; //copy the trailing elements...
mCapacity+=eGrowthDelta;
mOrigin=0; //now realign the origin...
delete[]mData;
mData=temp;
return *this;
}
/**
* This method adds an item to the end of the deque.
* This operation has the potential to cause the
* underlying buffer to resize.
*
* @update gess4/18/98
* @param anItem: new item to be added to deque
* @return nada
*/
nsDeque& nsDeque::Push(void* anItem) {
if(mSize==mCapacity) {
GrowCapacity();
}
int offset=mOrigin+mSize;
if(offset<mCapacity)
mData[offset]=anItem;
else mData[offset-mCapacity]=anItem;
mSize++;
return *this;
}
/**
* This method adds an item to the front of the deque.
* This operation has the potential to cause the
* underlying buffer to resize.
*
* @update gess4/18/98
* @param anItem: new item to be added to deque
* @return nada
*/
nsDeque& nsDeque::PushFront(void* anItem) {
if(mSize==mCapacity) {
GrowCapacity();
}
if(0==mOrigin){ //case1: [xxx..]
//mOrigin=mCapacity-1-mSize++;
mOrigin=mCapacity-1;
mData[mOrigin]=anItem;
}
else {// if(mCapacity==(mOrigin+mSize-1)){ //case2: [..xxx] and case3: [.xxx.]
mData[--mOrigin]=anItem;
}
mSize++;
return *this;
}
/**
* Remove and return the last item in the container.
*
* @update gess4/18/98
* @param none
* @return ptr to last item in container
*/
void* nsDeque::Pop(void) {
void* result=0;
if(mSize>0) {
int offset=mOrigin+mSize-1;
if(offset>=mCapacity)
offset-=mCapacity;
result=mData[offset];
mData[offset]=0;
mSize--;
if(0==mSize)
mOrigin=0;
}
return result;
}
/**
* This method gets called you want to remove and return
* the first member in the container.
*
* @update gess4/18/98
* @param nada
* @return last item in container
*/
void* nsDeque::PopFront() {
void* result=0;
if(mSize>0) {
result=mData[mOrigin];
mData[mOrigin++]=0; //zero it out for debugging purposes.
mSize--;
if(mCapacity==mOrigin) //you popped off the end, so cycle back around...
mOrigin=0;
if(0==mSize)
mOrigin=0;
}
NS_ASSERTION(mOrigin<mCapacity,"Error: Bad origin");
return result;
}
/**
* This method gets called you want to peek at the topmost
* member without removing it.
*
* @update gess4/18/98
* @param nada
* @return last item in container
*/
void* nsDeque::Peek() {
void* result=0;
if(mSize>0) {
result=mData[mOrigin];
}
return result;
}
/**
* Call this to retrieve the ith element from this container.
* Keep in mind that accessing the underlying elements is
* done in a relative fashion. Object 0 is not necessarily
* the first element (the first element is at mOrigin).
*
* @update gess4/18/98
* @param anIndex : 0 relative offset of item you want
* @return void* or null
*/
void* nsDeque::ObjectAt(PRInt32 anIndex) const {
void* result=0;
if((anIndex>=0) && (anIndex<mSize))
{
if(anIndex<(mCapacity-mOrigin)) {
result=mData[mOrigin+anIndex];
}
else {
result=mData[anIndex-(mCapacity-mOrigin)];
}
}
return result;
}
/**
* Create and return an iterator pointing to
* the beginning of the queue. Note that this
* takes the circular buffer semantics into account.
*
* @update gess4/18/98
* @return new deque iterator, init'ed to 1st item
*/
nsDequeIterator nsDeque::Begin(void) const{
return nsDequeIterator(*this,0);
}
/**
* Create and return an iterator pointing to
* the last of the queue. Note that this
* takes the circular buffer semantics into account.
*
* @update gess4/18/98
* @return new deque iterator, init'ed to last item
*/
nsDequeIterator nsDeque::End(void) const{
return nsDequeIterator(*this,mSize);
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
void nsDeque::ForEach(nsDequeFunctor& aFunctor) const{
int i=0;
for(i=0;i<mSize;i++){
void* obj=ObjectAt(i);
obj=aFunctor(obj);
}
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code. Iteration continues until your
* functor returns a non-null.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* nsDeque::FirstThat(nsDequeFunctor& aFunctor) const{
int i=0;
for(i=0;i<mSize;i++){
void* obj=ObjectAt(i);
obj=aFunctor(obj);
if(obj)
return obj;
}
return 0;
}
/******************************************************
* Here comes the nsDequeIterator class...
******************************************************/
/**
* DequeIterator is an object that knows how to iterate (forward and backward)
* a Deque. Normally, you don't need to do this, but there are some special
* cases where it is pretty handy, so here you go.
*
* This is a standard dequeiterator constructor
*
* @update gess4/18/98
* @param aQueue is the deque object to be iterated
* @param anIndex is the starting position for your iteration
*/
nsDequeIterator::nsDequeIterator(const nsDeque& aQueue,int anIndex): mIndex(anIndex), mDeque(aQueue) {
}
/**
* Copy construct a new iterator beginning with given
*
* @update gess4/20/98
* @param aCopy is another iterator to copy from
* @return
*/
nsDequeIterator::nsDequeIterator(const nsDequeIterator& aCopy) : mIndex(aCopy.mIndex), mDeque(aCopy.mDeque) {
}
/**
* Moves iterator to first element in deque
* @update gess4/18/98
* @return this
*/
nsDequeIterator& nsDequeIterator::First(void){
mIndex=0;
return *this;
}
/**
* Standard assignment operator for dequeiterator
*
* @update gess4/18/98
* @param aCopy is an iterator to be copied from
* @return *this
*/
nsDequeIterator& nsDequeIterator::operator=(const nsDequeIterator& aCopy) {
//queue's are already equal.
mIndex=aCopy.mIndex;
return *this;
}
/**
* preform ! operation against to iterators to test for equivalence
* (or lack thereof)!
*
* @update gess4/18/98
* @param anIter is the object to be compared to
* @return TRUE if NOT equal.
*/
PRBool nsDequeIterator::operator!=(nsDequeIterator& anIter) {
return PRBool(!this->operator==(anIter));
}
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool nsDequeIterator::operator<(nsDequeIterator& anIter) {
return PRBool(((mIndex<anIter.mIndex) && (&mDeque==&anIter.mDeque)));
}
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool nsDequeIterator::operator==(nsDequeIterator& anIter) {
return PRBool(((mIndex==anIter.mIndex) && (&mDeque==&anIter.mDeque)));
}
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool nsDequeIterator::operator>=(nsDequeIterator& anIter) {
return PRBool(((mIndex>=anIter.mIndex) && (&mDeque==&anIter.mDeque)));
}
/**
* Pre-increment operator
*
* @update gess4/18/98
* @return object at preincremented index
*/
void* nsDequeIterator::operator++() {
return mDeque.ObjectAt(++mIndex);
}
/**
* Post-increment operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-incremented index
*/
void* nsDequeIterator::operator++(int) {
return mDeque.ObjectAt(mIndex++);
}
/**
* Pre-decrement operator
*
* @update gess4/18/98
* @return object at pre-decremented index
*/
void* nsDequeIterator::operator--() {
return mDeque.ObjectAt(--mIndex);
}
/**
* Post-decrement operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-decremented index
*/
void* nsDequeIterator::operator--(int) {
return mDeque.ObjectAt(mIndex--);
}
/**
* Dereference operator
*
* @update gess4/18/98
* @return object at ith index
*/
void* nsDequeIterator::GetCurrent(void) {
return mDeque.ObjectAt(mIndex);
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
void nsDequeIterator::ForEach(nsDequeFunctor& aFunctor) const{
mDeque.ForEach(aFunctor);
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* nsDequeIterator::FirstThat(nsDequeFunctor& aFunctor) const{
return mDeque.FirstThat(aFunctor);
}
#ifdef _SELFTEST_DEQUE
/**************************************************************
Now define the token deallocator class...
**************************************************************/
class _SelfTestDeallocator: public nsDequeFunctor{
public:
_SelfTestDeallocator::_SelfTestDeallocator() {
nsDeque::SelfTest();
}
virtual void* operator()(void* anObject) {
return 0;
}
};
static _SelfTestDeallocator gDeallocator;
#endif
/**
* conduct automated self test for this class
*
* @update gess4/18/98
* @param
* @return
*/
void nsDeque::SelfTest(void) {
#ifdef _SELFTEST_DEQUE
{
nsDeque theDeque(gDeallocator); //construct a simple one...
int ints[200];
int count=sizeof(ints)/sizeof(int);
int i=0;
for(i=0;i<count;i++){ //initialize'em
ints[i]=10*(1+i);
}
for(i=0;i<70;i++){
theDeque.Push(&ints[i]);
}
for(i=0;i<56;i++){
int* temp=(int*)theDeque.Pop();
}
for(i=0;i<55;i++){
theDeque.Push(&ints[i]);
}
for(i=0;i<35;i++){
int* temp=(int*)theDeque.Pop();
}
for(i=0;i<35;i++){
theDeque.Push(&ints[i]);
}
for(i=0;i<38;i++){
int* temp=(int*)theDeque.Pop();
}
}
int x;
x=10;
#endif
}

411
mozilla/xpcom/ds/nsDeque.h Normal file
View File

@@ -0,0 +1,411 @@
/* -*- 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.
*/
/**
* MODULE NOTES:
* @update gess 4/15/98 (tax day)
*
* The Deque is a very small, very efficient container object
* than can hold elements of type void*, offering the following features:
* It's interface supports pushing and poping of children.
* It can iterate (via an interator class) it's children.
* When full, it can efficently resize dynamically.
*
*
* NOTE: The only bit of trickery here is that this deque is
* built upon a ring-buffer. Like all ring buffers, the first
* element may not be at index[0]. The mOrigin member determines
* where the first child is. This point is quietly hidden from
* customers of this class.
*
*/
#ifndef _NSDEQUE
#define _NSDEQUE
#include "nscore.h"
/**
* The nsDequefunctor class is used when you want to create
* callbacks between the deque and your generic code.
* Use these objects in a call to ForEach();
*
* @update gess4/20/98
*/
class NS_COM nsDequeFunctor{
public:
virtual void* operator()(void* anObject)=0;
};
/******************************************************
* Here comes the nsDeque class itself...
******************************************************/
/**
* The deque (double-ended queue) class is a common container type,
* whose behavior mimics a line in your favorite checkout stand.
* Classic CS describes the common behavior of a queue as FIFO.
* A Deque allows items to be added and removed from either end of
* the queue.
*
* @update gess4/20/98
*/
class NS_COM nsDeque {
friend class nsDequeIterator;
public:
nsDeque(nsDequeFunctor* aDeallocator);
~nsDeque();
/**
* Returns the number of elements currently stored in
* this deque.
*
* @update gess4/18/98
* @param
* @return int contains element count
*/
PRInt32 GetSize() const;
/**
* Pushes new member onto the end of the deque
*
* @update gess4/18/98
* @param ptr to object to store
* @return *this
*/
nsDeque& Push(void* anItem);
/**
* Pushes new member onto the front of the deque
*
* @update gess4/18/98
* @param ptr to object to store
* @return *this
*/
nsDeque& PushFront(void* anItem);
/**
* Remove and return the first item in the container.
*
* @update gess4/18/98
* @param none
* @return ptr to first item in container
*/
void* Pop(void);
/**
* Remove and return the first item in the container.
*
* @update gess4/18/98
* @param none
* @return ptr to first item in container
*/
void* PopFront(void);
/**
* Return topmost item without removing it.
*
* @update gess4/18/98
* @param none
* @return ptr to first item in container
*/
void* Peek(void);
/**
* method used to retrieve ptr to
* ith member in container. DOesn't remove
* that item.
*
* @update gess4/18/98
* @param index of desired item
* @return ptr to ith element in list
*/
void* ObjectAt(int anIndex) const;
/**
* Remove all items from container without destroying them
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque& Empty();
/**
* Remove and delete all items from container
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque& Erase();
/**
* Creates a new iterator, init'ed to start of container
*
* @update gess4/18/98
* @return new dequeIterator
*/
nsDequeIterator Begin() const;
/**
* Creates a new iterator, init'ed to end of container
*
* @update gess4/18/98
* @return new dequeIterator
*/
nsDequeIterator End() const;
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
void ForEach(nsDequeFunctor& aFunctor) const;
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code. This process will interupt if
* your function returns a null to this iterator.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* FirstThat(nsDequeFunctor& aFunctor) const;
void SetDeallocator(nsDequeFunctor* aDeallocator);
/**
* Perform automated selftest on the deque
*
* @update gess4/18/98
* @param
* @return
*/
static void SelfTest();
protected:
PRInt32 mSize;
PRInt32 mCapacity;
PRInt32 mOrigin;
nsDequeFunctor* mDeallocator;
void** mData;
private:
enum {eGrowthDelta=64};
/**
* Simple default constructor (PRIVATE)
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque();
/**
* Copy constructor (PRIVATE)
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque(const nsDeque& other);
/**
* Deque assignment operator (PRIVATE)
*
* @update gess4/18/98
* @param another deque
* @return *this
*/
nsDeque& operator=(const nsDeque& anOther);
nsDeque& GrowCapacity(void);
};
/******************************************************
* Here comes the nsDequeIterator class...
******************************************************/
class NS_COM nsDequeIterator {
public:
/**
* DequeIterator is an object that knows how to iterate (forward and backward)
* a Deque. Normally, you don't need to do this, but there are some special
* cases where it is pretty handy, so here you go.
*
* @update gess4/18/98
* @param aQueue is the deque object to be iterated
* @param anIndex is the starting position for your iteration
*/
nsDequeIterator(const nsDeque& aQueue,int anIndex=0);
/**
* DequeIterator is an object that knows how to iterate (forward and backward)
* a Deque. Normally, you don't need to do this, but there are some special
* cases where it is pretty handy, so here you go.
*
* @update gess4/18/98
* @param aQueue is the deque object to be iterated
* @param anIndex is the starting position for your iteration
*/
nsDequeIterator(const nsDequeIterator& aCopy);
/**
* Moves iterator to first element in deque
* @update gess4/18/98
* @return this
*/
nsDequeIterator& First(void);
/**
* Standard assignment operator for deque
* @update gess4/18/98
* @param
* @return
*/
nsDequeIterator& operator=(const nsDequeIterator& aCopy);
/**
* preform ! operation against to iterators to test for equivalence
* (or lack thereof)!
*
* @update gess4/18/98
* @param anIter is the object to be compared to
* @return TRUE if NOT equal.
*/
PRBool operator!=(nsDequeIterator& anIter);
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool operator<(nsDequeIterator& anIter);
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool operator==(nsDequeIterator& anIter);
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool operator>=(nsDequeIterator& anIter);
/**
* Pre-increment operator
*
* @update gess4/18/98
* @return object at preincremented index
*/
void* operator++();
/**
* Post-increment operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-incremented index
*/
void* operator++(int);
/**
* Pre-decrement operator
*
* @update gess4/18/98
* @return object at pre-decremented index
*/
void* operator--();
/**
* Post-decrement operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-decremented index
*/
void* operator--(int);
/**
* Retrieve the ptr to the iterators notion of current node
*
* @update gess4/18/98
* @return object at ith index
*/
void* GetCurrent(void);
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
void ForEach(nsDequeFunctor& aFunctor) const;
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* FirstThat(nsDequeFunctor& aFunctor) const;
protected:
PRInt32 mIndex;
const nsDeque& mDeque;
};
#endif

View File

@@ -0,0 +1,77 @@
/* -*- Mode: C++; 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.
*/
/*
An empty enumerator.
*/
#include "nsIEnumerator.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
////////////////////////////////////////////////////////////////////////
class EmptyEnumeratorImpl : public nsISimpleEnumerator
{
public:
EmptyEnumeratorImpl(void) {};
virtual ~EmptyEnumeratorImpl(void) {};
// nsISupports interface
NS_IMETHOD_(nsrefcnt) AddRef(void) {
return 2;
}
NS_IMETHOD_(nsrefcnt) Release(void) {
return 1;
}
NS_IMETHOD QueryInterface(REFNSIID iid, void** result) {
if (! result)
return NS_ERROR_NULL_POINTER;
if (iid.Equals(nsISimpleEnumerator::GetIID()) ||
iid.Equals(kISupportsIID)) {
*result = (nsISimpleEnumerator*) this;
NS_ADDREF(this);
return NS_OK;
}
return NS_NOINTERFACE;
}
// nsISimpleEnumerator
NS_IMETHOD HasMoreElements(PRBool* aResult) {
*aResult = PR_FALSE;
return NS_OK;
}
NS_IMETHOD GetNext(nsISupports** aResult) {
return NS_ERROR_UNEXPECTED;
}
};
extern "C" NS_COM nsresult
NS_NewEmptyEnumerator(nsISimpleEnumerator** aResult)
{
static EmptyEnumeratorImpl gEmptyEnumerator;
*aResult = &gEmptyEnumerator;
return NS_OK;
}

View File

@@ -0,0 +1,228 @@
/* -*- Mode: C++; 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 "nsEnumeratorUtils.h"
nsArrayEnumerator::nsArrayEnumerator(nsISupportsArray* aValueArray)
: mValueArray(aValueArray),
mIndex(0)
{
NS_INIT_REFCNT();
NS_IF_ADDREF(mValueArray);
}
nsArrayEnumerator::~nsArrayEnumerator(void)
{
NS_IF_RELEASE(mValueArray);
}
NS_IMPL_ISUPPORTS(nsArrayEnumerator, nsISimpleEnumerator::GetIID());
NS_IMETHODIMP
nsArrayEnumerator::HasMoreElements(PRBool* aResult)
{
NS_PRECONDITION(aResult != 0, "null ptr");
if (! aResult)
return NS_ERROR_NULL_POINTER;
PRUint32 cnt;
nsresult rv = mValueArray->Count(&cnt);
if (NS_FAILED(rv)) return rv;
*aResult = (mIndex < (PRInt32) cnt);
return NS_OK;
}
NS_IMETHODIMP
nsArrayEnumerator::GetNext(nsISupports** aResult)
{
NS_PRECONDITION(aResult != 0, "null ptr");
if (! aResult)
return NS_ERROR_NULL_POINTER;
PRUint32 cnt;
nsresult rv = mValueArray->Count(&cnt);
if (NS_FAILED(rv)) return rv;
if (mIndex >= (PRInt32) cnt)
return NS_ERROR_UNEXPECTED;
*aResult = mValueArray->ElementAt(mIndex++);
return NS_OK;
}
extern "C" NS_COM nsresult
NS_NewArrayEnumerator(nsISimpleEnumerator* *result,
nsISupportsArray* array)
{
nsArrayEnumerator* enumer = new nsArrayEnumerator(array);
if (enumer == nsnull)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(enumer);
*result = enumer;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
nsSingletonEnumerator::nsSingletonEnumerator(nsISupports* aValue)
: mValue(aValue)
{
NS_INIT_REFCNT();
NS_IF_ADDREF(mValue);
mConsumed = (mValue ? PR_FALSE : PR_TRUE);
}
nsSingletonEnumerator::~nsSingletonEnumerator()
{
NS_IF_RELEASE(mValue);
}
NS_IMPL_ISUPPORTS(nsSingletonEnumerator, nsISimpleEnumerator::GetIID());
NS_IMETHODIMP
nsSingletonEnumerator::HasMoreElements(PRBool* aResult)
{
NS_PRECONDITION(aResult != 0, "null ptr");
if (! aResult)
return NS_ERROR_NULL_POINTER;
*aResult = !mConsumed;
return NS_OK;
}
NS_IMETHODIMP
nsSingletonEnumerator::GetNext(nsISupports** aResult)
{
NS_PRECONDITION(aResult != 0, "null ptr");
if (! aResult)
return NS_ERROR_NULL_POINTER;
if (mConsumed)
return NS_ERROR_UNEXPECTED;
mConsumed = PR_TRUE;
NS_ADDREF(mValue);
*aResult = mValue;
return NS_OK;
}
extern "C" NS_COM nsresult
NS_NewSingletonEnumerator(nsISimpleEnumerator* *result,
nsISupports* singleton)
{
nsSingletonEnumerator* enumer = new nsSingletonEnumerator(singleton);
if (enumer == nsnull)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(enumer);
*result = enumer;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////
nsAdapterEnumerator::nsAdapterEnumerator(nsIEnumerator* aEnum)
: mEnum(aEnum), mCurrent(0), mStarted(PR_FALSE)
{
NS_INIT_REFCNT();
NS_ADDREF(mEnum);
}
nsAdapterEnumerator::~nsAdapterEnumerator()
{
NS_RELEASE(mEnum);
NS_IF_RELEASE(mCurrent);
}
NS_IMPL_ISUPPORTS(nsAdapterEnumerator, nsISimpleEnumerator::GetIID());
NS_IMETHODIMP
nsAdapterEnumerator::HasMoreElements(PRBool* aResult)
{
nsresult rv;
if (mCurrent) {
*aResult = PR_TRUE;
return NS_OK;
}
if (! mStarted) {
mStarted = PR_TRUE;
rv = mEnum->First();
if (rv == NS_OK) {
mEnum->CurrentItem(&mCurrent);
*aResult = PR_TRUE;
}
else {
*aResult = PR_FALSE;
}
}
else {
*aResult = PR_FALSE;
rv = mEnum->IsDone();
if (rv != NS_OK) {
// We're not done. Advance to the next one.
rv = mEnum->Next();
if (rv == NS_OK) {
mEnum->CurrentItem(&mCurrent);
*aResult = PR_TRUE;
}
}
}
return NS_OK;
}
NS_IMETHODIMP
nsAdapterEnumerator::GetNext(nsISupports** aResult)
{
nsresult rv;
PRBool hasMore;
rv = HasMoreElements(&hasMore);
if (NS_FAILED(rv)) return rv;
if (! hasMore)
return NS_ERROR_UNEXPECTED;
// No need to addref, we "transfer" the ownership to the caller.
*aResult = mCurrent;
mCurrent = 0;
return NS_OK;
}
extern "C" NS_COM nsresult
NS_NewAdapterEnumerator(nsISimpleEnumerator* *result,
nsIEnumerator* enumerator)
{
nsAdapterEnumerator* enumer = new nsAdapterEnumerator(enumerator);
if (enumer == nsnull)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(enumer);
*result = enumer;
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,97 @@
/* -*- Mode: C++; 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.
*/
#ifndef nsEnumeratorUtils_h__
#define nsEnumeratorUtils_h__
#include "nsIEnumerator.h"
#include "nsISupportsArray.h"
class NS_COM nsArrayEnumerator : public nsISimpleEnumerator
{
public:
// nsISupports interface
NS_DECL_ISUPPORTS
// nsISimpleEnumerator interface
NS_IMETHOD HasMoreElements(PRBool* aResult);
NS_IMETHOD GetNext(nsISupports** aResult);
// nsRDFArrayEnumerator methods
nsArrayEnumerator(nsISupportsArray* aValueArray);
virtual ~nsArrayEnumerator(void);
protected:
nsISupportsArray* mValueArray;
PRInt32 mIndex;
};
extern "C" NS_COM nsresult
NS_NewArrayEnumerator(nsISimpleEnumerator* *result,
nsISupportsArray* array);
////////////////////////////////////////////////////////////////////////////////
class NS_COM nsSingletonEnumerator : public nsISimpleEnumerator
{
public:
NS_DECL_ISUPPORTS
// nsISimpleEnumerator methods
NS_IMETHOD HasMoreElements(PRBool* aResult);
NS_IMETHOD GetNext(nsISupports** aResult);
nsSingletonEnumerator(nsISupports* aValue);
virtual ~nsSingletonEnumerator();
protected:
nsISupports* mValue;
PRBool mConsumed;
};
extern "C" NS_COM nsresult
NS_NewSingletonEnumerator(nsISimpleEnumerator* *result,
nsISupports* singleton);
////////////////////////////////////////////////////////////////////////////////
class NS_COM nsAdapterEnumerator : public nsISimpleEnumerator
{
public:
NS_DECL_ISUPPORTS
// nsISimpleEnumerator methods
NS_IMETHOD HasMoreElements(PRBool* aResult);
NS_IMETHOD GetNext(nsISupports** aResult);
nsAdapterEnumerator(nsIEnumerator* aEnum);
virtual ~nsAdapterEnumerator();
protected:
nsIEnumerator* mEnum;
nsISupports* mCurrent;
PRBool mStarted;
};
extern "C" NS_COM nsresult
NS_NewAdapterEnumerator(nsISimpleEnumerator* *result,
nsIEnumerator* enumerator);
////////////////////////////////////////////////////////////////////////
#endif /* nsEnumeratorUtils_h__ */

View File

@@ -0,0 +1,259 @@
/* -*- 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 "prmem.h"
#include "prlog.h"
#include "nsHashtable.h"
//
// Key operations
//
static PR_CALLBACK PLHashNumber _hashValue(const void *key)
{
return ((const nsHashKey *) key)->HashValue();
}
static PR_CALLBACK PRIntn _hashKeyCompare(const void *key1, const void *key2) {
return ((const nsHashKey *) key1)->Equals((const nsHashKey *) key2);
}
static PR_CALLBACK PRIntn _hashValueCompare(const void *value1,
const void *value2) {
// We're not going to make any assumptions about value equality
return 0;
}
//
// Memory callbacks
//
static PR_CALLBACK void *_hashAllocTable(void *pool, PRSize size) {
return PR_MALLOC(size);
}
static PR_CALLBACK void _hashFreeTable(void *pool, void *item) {
PR_DELETE(item);
}
static PR_CALLBACK PLHashEntry *_hashAllocEntry(void *pool, const void *key) {
return PR_NEW(PLHashEntry);
}
static PR_CALLBACK void _hashFreeEntry(void *pool, PLHashEntry *entry,
PRUintn flag) {
if (flag == HT_FREE_ENTRY) {
delete (nsHashKey *) (entry->key);
PR_DELETE(entry);
}
}
static PLHashAllocOps _hashAllocOps = {
_hashAllocTable, _hashFreeTable,
_hashAllocEntry, _hashFreeEntry
};
//
// Enumerator callback
//
struct _HashEnumerateArgs {
nsHashtableEnumFunc fn;
void* arg;
};
static PR_CALLBACK PRIntn _hashEnumerate(PLHashEntry *he, PRIntn i, void *arg)
{
_HashEnumerateArgs* thunk = (_HashEnumerateArgs*)arg;
return thunk->fn((nsHashKey *) he->key, he->value, thunk->arg)
? HT_ENUMERATE_NEXT
: HT_ENUMERATE_STOP;
}
//
// HashKey
//
nsHashKey::nsHashKey(void)
{
}
nsHashKey::~nsHashKey(void)
{
}
nsHashtable::nsHashtable(PRUint32 aInitSize, PRBool threadSafe)
: mLock(NULL)
{
hashtable = PL_NewHashTable(aInitSize,
_hashValue,
_hashKeyCompare,
_hashValueCompare,
&_hashAllocOps,
NULL);
if (threadSafe == PR_TRUE)
{
mLock = PR_NewLock();
if (mLock == NULL)
{
// Cannot create a lock. If running on a multiprocessing system
// we are sure to die.
PR_ASSERT(mLock != NULL);
}
}
}
nsHashtable::~nsHashtable() {
PL_HashTableDestroy(hashtable);
if (mLock) PR_DestroyLock(mLock);
}
PRBool nsHashtable::Exists(nsHashKey *aKey)
{
PLHashNumber hash = aKey->HashValue();
if (mLock) PR_Lock(mLock);
PLHashEntry **hep = PL_HashTableRawLookup(hashtable, hash, (void *) aKey);
if (mLock) PR_Unlock(mLock);
return *hep != NULL;
}
void *nsHashtable::Put(nsHashKey *aKey, void *aData) {
void *res = NULL;
PLHashNumber hash = aKey->HashValue();
PLHashEntry *he;
if (mLock) PR_Lock(mLock);
PLHashEntry **hep = PL_HashTableRawLookup(hashtable, hash, (void *) aKey);
if ((he = *hep) != NULL) {
res = he->value;
he->value = aData;
} else {
PL_HashTableRawAdd(hashtable, hep, hash,
(void *) aKey->Clone(), aData);
}
if (mLock) PR_Unlock(mLock);
return res;
}
void *nsHashtable::Get(nsHashKey *aKey) {
if (mLock) PR_Lock(mLock);
void *ret = PL_HashTableLookup(hashtable, (void *) aKey);
if (mLock) PR_Unlock(mLock);
return ret;
}
void *nsHashtable::Remove(nsHashKey *aKey) {
PLHashNumber hash = aKey->HashValue();
PLHashEntry *he;
if (mLock) PR_Lock(mLock);
PLHashEntry **hep = PL_HashTableRawLookup(hashtable, hash, (void *) aKey);
void *res = NULL;
if ((he = *hep) != NULL) {
res = he->value;
PL_HashTableRawRemove(hashtable, hep, he);
}
if (mLock) PR_Unlock(mLock);
return res;
}
static PR_CALLBACK PRIntn _hashEnumerateCopy(PLHashEntry *he, PRIntn i, void *arg)
{
nsHashtable *newHashtable = (nsHashtable *)arg;
newHashtable->Put((nsHashKey *) he->key, he->value);
return HT_ENUMERATE_NEXT;
}
nsHashtable * nsHashtable::Clone() {
PRBool threadSafe = PR_FALSE;
if (mLock)
threadSafe = PR_TRUE;
nsHashtable *newHashTable = new nsHashtable(hashtable->nentries, threadSafe);
PL_HashTableEnumerateEntries(hashtable, _hashEnumerateCopy, newHashTable);
return newHashTable;
}
void nsHashtable::Enumerate(nsHashtableEnumFunc aEnumFunc, void* closure) {
_HashEnumerateArgs thunk;
thunk.fn = aEnumFunc;
thunk.arg = closure;
PL_HashTableEnumerateEntries(hashtable, _hashEnumerate, &thunk);
}
static PR_CALLBACK PRIntn _hashEnumerateRemove(PLHashEntry *he, PRIntn i, void *arg)
{
return HT_ENUMERATE_REMOVE;
}
void nsHashtable::Reset() {
PL_HashTableEnumerateEntries(hashtable, _hashEnumerateRemove, NULL);
}
////////////////////////////////////////////////////////////////////////////////
nsCStringKey::nsCStringKey(const char* str)
: mStr(mBuf)
{
PRUint32 len = PL_strlen(str);
if (len >= sizeof(mBuf)) {
mStr = PL_strdup(str);
NS_ASSERTION(mStr, "out of memory");
}
else {
PL_strcpy(mStr, str);
}
}
nsCStringKey::~nsCStringKey(void)
{
if (mStr != mBuf)
PL_strfree(mStr);
}
PRUint32 nsCStringKey::HashValue(void) const
{
return (PRUint32) PL_HashString((const void*) mStr);
}
PRBool nsCStringKey::Equals(const nsHashKey* aKey) const
{
return PL_strcmp( ((nsCStringKey*)aKey)->mStr, mStr ) == 0;
}
nsHashKey* nsCStringKey::Clone() const
{
return new nsCStringKey(mStr);
}
////////////////////////////////////////////////////////////////////////////////

Some files were not shown because too many files have changed in this diff Show More