Compare commits

..

2575 Commits

Author SHA1 Message Date
dougt%netscape.com
e5d5a08ae5 merging tip changes.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30587 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 21:34:01 +00:00
dougt%netscape.com
a494f9b5e5 Moving Scheduled Tasks onto a thread to improve startup performance.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30586 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 21:14:12 +00:00
dougt%netscape.com
1b4c7ad533 Making it work on the mac. (change by cathleen@netscape.com)
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30585 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 21:13:10 +00:00
dougt%netscape.com
b5dcb98482 Again removing src dir from build directives so that the client will not crash. This is a workaround for a libjar symbol problem.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30584 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 21:12:57 +00:00
dougt%netscape.com
ab1ea07e16 more mac changes..
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30580 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 20:26:12 +00:00
dougt%netscape.com
0b47ed0710 Adding Patching.
Adding Uninstalling.
Adding InstallResources


git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30550 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 17:58:49 +00:00
dougt%netscape.com
f09244639a Making it work on the mac. (change by cathleen@netscape.com)
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30548 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 17:57:43 +00:00
dougt%netscape.com
82e68dd6a2 First Checked In.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30547 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 17:57:14 +00:00
dougt%netscape.com
7b47b191e1 Change UnregisterFactory ot UnregisterComponent. (Thanks dp)
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30546 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-06 15:55:47 +00:00
cathleen%netscape.com
3f870e0116 fix up filename mangling, avoid converting nsFileSpec straight to nsString
path, and vise versa


git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@30365 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-05 03:55:19 +00:00
sgehani%netscape.com
f1b4bf5e5d Fixed Unix branch build bustage.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@29999 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-03 22:03:14 +00:00
dougt%netscape.com
963deae72e first cut at a simple ui. (sorry for my lack of creativity.)
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@29972 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-03 20:08:25 +00:00
dveditz%netscape.com
5766170cd7 fix zlib name
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@29688 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-28 05:10:51 +00:00
cathleen%netscape.com
10e7013829 add patching support
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@29582 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-27 23:43:53 +00:00
dougt%netscape.com
d38cec9183 Fixing memory bugs pointed out by bruce@
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@29175 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-26 16:08:24 +00:00
dougt%netscape.com
a129f97d92 Adding additional check for nsString reference equalling null.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@29174 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-26 15:57:06 +00:00
dougt%netscape.com
fa27af8df9 nsString Append to SetString error
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@29173 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-26 15:52:27 +00:00
ssu%netscape.com
28b055c6b1 added comments to overloaded functions and additional overloaded functions
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@28738 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-22 22:24:59 +00:00
ssu%netscape.com
38863c85b6 added comments to overloaded functions and additional overloaded functions
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@28735 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-22 22:02:31 +00:00
ssu%netscape.com
77ed3c0968 fixing compile problem. typo in CompareTo() prototypes
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@28733 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-22 21:38:59 +00:00
ssu%netscape.com
a9caaa6eac added overload functions to nsJSInstallTriggerGlobal functions
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@28600 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-22 01:22:36 +00:00
ssu%netscape.com
f5104ab8bf added overload functions to nsJSInstallVersion functions
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@28599 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-22 01:22:08 +00:00
ssu%netscape.com
c91de30f62 added overload functions to nsJSInstallTriggerGlobal functions
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@28465 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-21 17:59:30 +00:00
ssu%netscape.com
3f7914522e Added code to the empty overloaded public functions.
There are variables that are set with default values that may not apply or be set correctly.


git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@27963 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-17 00:37:16 +00:00
ssu%netscape.com
11cc4a2c7c restored the aUserPackageName variable to the StartInstall() function
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@27783 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-16 01:46:29 +00:00
dougt%netscape.com
6b88a99dd5 Added nsprPath()
Fix windows NSPR bugs.
started (ifdef out) on ui threading.


git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@27579 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-15 19:32:19 +00:00
ssu%netscape.com
638f372674 fixed parameter type for StartInstall() overloading function
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@27364 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-13 21:02:13 +00:00
ssu%netscape.com
9de112c5c5 added place holder overloading functions
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@27362 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-13 20:59:37 +00:00
ssu%netscape.com
7aefea81d0 fixed copy/paste typos when calling the overloaded functions (currently commented out)
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26848 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-08 23:57:33 +00:00
dougt%netscape.com
37a14a12f1 minor changes (on branch)
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26837 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-08 23:11:09 +00:00
dougt%netscape.com
88abba0be3 Adding mcmullen's change to the branch.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26820 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-08 20:59:42 +00:00
dougt%netscape.com
77c5fa0543 Fixing build bustage. (on branch)
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26819 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-08 20:58:14 +00:00
ssu%netscape.com
7da97773ee added code to deal with distinguishing between a VersionInfo object and a String
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26765 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-08 00:45:23 +00:00
ssu%netscape.com
d5f7ec68b7 added comments for the different types of overloadable functions
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26751 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-07 21:54:51 +00:00
ssu%netscape.com
e4fc166051 commenting out calls to nativeThis
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26745 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-07 20:41:55 +00:00
ssu%netscape.com
80ea6612cb added code to perform argument checking
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26741 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-07 18:27:18 +00:00
dougt%netscape.com
8fc92db652 Finished Uninstall
fixed mReplace flage note being set.
added AddDirectory() javascript arg parsing.


git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26654 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-07 01:54:46 +00:00
ssu%netscape.com
54d3e33ab5 updating code to perform overloading
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26600 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-06 23:42:38 +00:00
dougt%netscape.com
c3f12ac7db Missed this one.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26487 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-06 18:29:24 +00:00
dougt%netscape.com
98940c6172 Made ScheduledTasks to more work to reduce code bloat.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26483 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-06 18:22:41 +00:00
dougt%netscape.com
484757e362 Moved Scheduled tasks to a thread
Finished logging
Started Uninstall.
Changed nsRegSelf to be closer to what the rest of the world is doing.
#error-ed nsIDOMInstall.h


git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26478 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-06 17:26:52 +00:00
dougt%netscape.com
8be5184a20 Changes to get mac working compiling.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@26010 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-02 03:23:25 +00:00
dougt%netscape.com
f2b1938e0f changes.
git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@25967 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-02 00:31:44 +00:00
(no author)
0092c73214 This commit was manufactured by cvs2svn to create branch
'XPINSTALL_DEV_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/XPINSTALL_DEV_BRANCH@25254 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 00:03:56 +00:00
mcafee%netscape.com
a8b33c6cb2 Ignore generated files
git-svn-id: svn://10.0.0.236/trunk@25253 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 00:03:55 +00:00
mcmullen%netscape.com
37aba008c8 Added PrefsCore.idl
git-svn-id: svn://10.0.0.236/trunk@25252 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 00:03:50 +00:00
mcmullen%netscape.com
3b905e2442 export nsIDOMPrefsCore.h
git-svn-id: svn://10.0.0.236/trunk@25251 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 00:01:48 +00:00
mcmullen%netscape.com
cd3a52be5e Export nsIDOMPrefsCore.h
git-svn-id: svn://10.0.0.236/trunk@25250 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 00:01:25 +00:00
mcmullen%netscape.com
c8559e8d8c Export the xul files for preferences.
git-svn-id: svn://10.0.0.236/trunk@25249 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 00:00:50 +00:00
chuang%netscape.com
0e8c6a0c87 Fix throbber icon url
git-svn-id: svn://10.0.0.236/trunk@25248 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 00:00:05 +00:00
mcmullen%netscape.com
f0d2b8d791 Made mList static.
git-svn-id: svn://10.0.0.236/trunk@25247 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:59:35 +00:00
alecf%netscape.com
49fa38ed58 add libreg to mime libraries so that there are no undefined symbols
git-svn-id: svn://10.0.0.236/trunk@25246 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:59:15 +00:00
mcmullen%netscape.com
def31bd113 Hooked up preferences
git-svn-id: svn://10.0.0.236/trunk@25245 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:58:22 +00:00
mcmullen%netscape.com
b0fe62da75 Added NS_PREFCORECID
git-svn-id: svn://10.0.0.236/trunk@25244 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:57:30 +00:00
mcmullen%netscape.com
867fbf9046 Added prefs core files
git-svn-id: svn://10.0.0.236/trunk@25243 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:56:33 +00:00
mcmullen%netscape.com
d5f4b409d7 Added nsIDOMPrefCore.h
git-svn-id: svn://10.0.0.236/trunk@25242 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:56:06 +00:00
mcmullen%netscape.com
5763ebedca First Checked In.
git-svn-id: svn://10.0.0.236/trunk@25241 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:55:32 +00:00
pinkerton%netscape.com
d2d34b0f48 better handle borders and sizing when laying out children.
git-svn-id: svn://10.0.0.236/trunk@25240 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:51:05 +00:00
dougt%netscape.com
4b48d6280b Thou shall not build on unix.
I am turning xpinstall install off on unix until we figure out the
linking problem that all components are having.
donm approved.


git-svn-id: svn://10.0.0.236/trunk@25237 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:20:09 +00:00
sspitzer%netscape.com
32f8bde15b fix so that libmailnews.so will pick up
FindDescendant__16nsMsgGroupRecordPCc
also known as,
nsMsgGroupRecord::FindDescendant(char const *)


git-svn-id: svn://10.0.0.236/trunk@25236 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:13:13 +00:00
briano%netscape.com
b760f769a1 Fixed the bug that was assuming Linux==x86 (only).
git-svn-id: svn://10.0.0.236/trunk@25235 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 23:06:38 +00:00
endico%mozilla.org
431f22b722 Change the title and change link to point to newsbot instead of
main web site.


git-svn-id: svn://10.0.0.236/trunk@25232 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 21:18:24 +00:00
dougt%netscape.com
0f00269f9f Bug 4303. libjar should not be build as a component.
git-svn-id: svn://10.0.0.236/trunk@25231 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 20:49:52 +00:00
donm%netscape.com
6e7dbccbbf backing out evaughan's changes. tree closed.
git-svn-id: svn://10.0.0.236/trunk@25230 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 19:39:23 +00:00
cyeh%netscape.com
837599e269 oops, mozilla/modules/libjar, needed the modules part
git-svn-id: svn://10.0.0.236/trunk@25229 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 19:28:44 +00:00
cyeh%netscape.com
d383f90e77 adjust Raptor modules
git-svn-id: svn://10.0.0.236/trunk@25228 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 19:28:02 +00:00
slamm%netscape.com
44d7505c3d Make user/rev link goto the diffs like it used to. What I would really like to have is a tools that is a combined blame/diff.
git-svn-id: svn://10.0.0.236/trunk@25227 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 19:20:36 +00:00
evaughan%netscape.com
c4901ff00a added files: mozilla/layout/xul/base/src/nsBoxFrame.cpp, mozilla/layout/xul/base/src/nsBoxFrame.h
git-svn-id: svn://10.0.0.236/trunk@25226 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 18:53:36 +00:00
evaughan%netscape.com
fc3e4622f8 Added box layout system.
git-svn-id: svn://10.0.0.236/trunk@25225 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 18:51:08 +00:00
dp%netscape.com
4fb273cecf One more point where load fail is detected. Adding error message
git-svn-id: svn://10.0.0.236/trunk@25224 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 18:49:46 +00:00
dp%netscape.com
79264c6ecf Showing a error message when lib loading fails.
git-svn-id: svn://10.0.0.236/trunk@25223 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 18:23:04 +00:00
rods%netscape.com
c3cb42e511 Added correct include file
git-svn-id: svn://10.0.0.236/trunk@25222 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:55:38 +00:00
rods%netscape.com
a7abcafe17 Change DoCopy for new clipboard support to put XIF on clipboard
git-svn-id: svn://10.0.0.236/trunk@25221 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:51:07 +00:00
rods%netscape.com
1e195c10d5 Minor changes to call to new clipboard
git-svn-id: svn://10.0.0.236/trunk@25220 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:49:28 +00:00
rods%netscape.com
6e51f85dfc removed two unused mthoed change GetData to be '*' instead of '**'
git-svn-id: svn://10.0.0.236/trunk@25219 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:45:04 +00:00
rods%netscape.com
e412513b0b Clipboard now derived from nsBaseClipboard
git-svn-id: svn://10.0.0.236/trunk@25218 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:43:48 +00:00
rods%netscape.com
ae5dccf926 removed DataFlavor and Transferable
git-svn-id: svn://10.0.0.236/trunk@25217 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:43:22 +00:00
rods%netscape.com
c7e0a277d9 Added parser for linking in XIF support
git-svn-id: svn://10.0.0.236/trunk@25215 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:40:32 +00:00
rods%netscape.com
34283068e1 Added additional MIME constants
git-svn-id: svn://10.0.0.236/trunk@25214 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:03:59 +00:00
rods%netscape.com
24df37d38f Added XIF support
git-svn-id: svn://10.0.0.236/trunk@25213 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:03:13 +00:00
rods%netscape.com
8335447da6 added nsBaseClipboard.cpp
git-svn-id: svn://10.0.0.236/trunk@25212 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:02:44 +00:00
rods%netscape.com
e6ece0e9e9 initial checkin
git-svn-id: svn://10.0.0.236/trunk@25211 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 15:01:23 +00:00
rods%netscape.com
ec5bfeb840 Added ShowClipboard method
git-svn-id: svn://10.0.0.236/trunk@25210 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 14:54:10 +00:00
karnaze%netscape.com
c4180882b1 bug 4141, space bar activating button
git-svn-id: svn://10.0.0.236/trunk@25209 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 13:47:35 +00:00
ramiro%netscape.com
a9f68d1bae Fix indiscriminate debug comment spewage.
git-svn-id: svn://10.0.0.236/trunk@25208 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 11:34:21 +00:00
ramiro%netscape.com
3d01980649 Opps, forgot a debug abort().
git-svn-id: svn://10.0.0.236/trunk@25207 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 10:40:44 +00:00
ramiro%netscape.com
d1119bae4b Fix 2 things.
1) dont do the RGB -> BGR conversion.  Its not needed thanks
to a IMGLIB workaround i just checked in.

2) create a pixmap from the image data only ONCE for unique image bits and
re paint that, instead of doing this every single time we render.


git-svn-id: svn://10.0.0.236/trunk@25206 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 09:53:13 +00:00
ramiro%netscape.com
79fcd3c593 Change ConvertRGBToRGB24 to be dumb on unix so that it doesn reverse the
byte order.  This is needed because the unix gtk image munging code expects
the image data to be in RGB format.

The ConvertRGBToRGB24 conversion is obviously a waste of time on unix and
probably mac.

Unfortunately, the alternative seems to require significant IMGLIB
work.  Simply seeting to ic->converter to NULL for the 24 bit case
did not work as expected.

The correct fix might be to not do any conversion if the image data
is already in the format expected on the nsIImage end.


git-svn-id: svn://10.0.0.236/trunk@25205 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 09:50:40 +00:00
ramiro%netscape.com
078023d916 noisy fonts only on debug build.
git-svn-id: svn://10.0.0.236/trunk@25204 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 09:46:28 +00:00
ramiro%netscape.com
f527873bd8 print depth on debug printf
git-svn-id: svn://10.0.0.236/trunk@25203 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 09:43:57 +00:00
rjc%netscape.com
2b20fdbd5c Buffer up a line at a time when reading in FTP input.
git-svn-id: svn://10.0.0.236/trunk@25201 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 07:44:01 +00:00
rjc%netscape.com
2e010ff1c4 Gotta luv Makefiles!
git-svn-id: svn://10.0.0.236/trunk@25200 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 06:06:16 +00:00
rjc%netscape.com
ca406c308f Add FTP datasource into build.
git-svn-id: svn://10.0.0.236/trunk@25199 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 05:57:22 +00:00
briano%netscape.com
4617a68ec0 Automated update
git-svn-id: svn://10.0.0.236/trunk@25198 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 05:44:30 +00:00
slamm%netscape.com
9c39c662be 1. Turn --enable-md on by default if using GNU tools.
2. Remove "-include" test again. I thought we needed it but we don't.
3. Standardize GNU_CC and GNU_CXX usage.
4. General clean-up.


git-svn-id: svn://10.0.0.236/trunk@25197 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 05:37:38 +00:00
waterson%netscape.com
621af9400f Fixed bad merge.
git-svn-id: svn://10.0.0.236/trunk@25196 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 05:34:36 +00:00
rjc%netscape.com
0b059cd4b1 More FTP changes. (Not yet in build)
git-svn-id: svn://10.0.0.236/trunk@25195 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 05:20:25 +00:00
waterson%netscape.com
384aed0f6d Added some preconditions; changed resource equality test to interface ==.
git-svn-id: svn://10.0.0.236/trunk@25194 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 04:44:24 +00:00
waterson%netscape.com
d4829b1b99 Added the _real_ RDF namespace, commented out for now.
git-svn-id: svn://10.0.0.236/trunk@25193 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 04:43:28 +00:00
waterson%netscape.com
089064c1d0 Removed HACK_DONT_USE_LIBREG #ifdef.
git-svn-id: svn://10.0.0.236/trunk@25192 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 04:43:02 +00:00
waterson%netscape.com
8eb6617e09 Fixed default namespaces.
git-svn-id: svn://10.0.0.236/trunk@25191 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 04:42:29 +00:00
waterson%netscape.com
7361bd6f32 Added assert to scream when the browsing profile can't be loaded.
git-svn-id: svn://10.0.0.236/trunk@25190 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 04:41:09 +00:00
waterson%netscape.com
2c55d80398 Debugged to get working.
git-svn-id: svn://10.0.0.236/trunk@25189 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 04:40:32 +00:00
troy%netscape.com
ede920e0b8 Fix for bug #2592. Changed ComputeMargin() and ComputePadding() to handle
'inherit' when calculating the computed values


git-svn-id: svn://10.0.0.236/trunk@25188 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 03:57:46 +00:00
mscott%netscape.com
7d4b137182 When running an imap command through a url, register the test harness as a listener to the url so we can get a call back when the url is done. This allows us to not display the command menu item to the user until the url is finished. I also cleaned up some ref counting stuff with regards to when a url is created and when we release it.
git-svn-id: svn://10.0.0.236/trunk@25187 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 03:40:08 +00:00
mscott%netscape.com
c3980e547f For now, when we get on data available from the server and we successfully wrote data out through the log interface, then mark the url as done.
git-svn-id: svn://10.0.0.236/trunk@25186 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 03:37:33 +00:00
mscott%netscape.com
ba1d488ac2 initialize ptr to nsnull.
git-svn-id: svn://10.0.0.236/trunk@25185 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 03:35:42 +00:00
terry%netscape.com
30e8a761e3 Look for text like "bug 213" and make it a link to that bug...
git-svn-id: svn://10.0.0.236/trunk@25184 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 03:11:49 +00:00
danm%netscape.com
95b9ecdd63 removing glowcode. a:jband
git-svn-id: svn://10.0.0.236/trunk@25183 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 02:37:22 +00:00
terry%netscape.com
265dc8e59f Redo the linkifying of URLs and email addresses to not munge up weird
cases so badly.


git-svn-id: svn://10.0.0.236/trunk@25182 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 02:34:12 +00:00
mscott%netscape.com
b4869ff1bb Fix build breakage on windows. For some reason VC6.0 is able to find the include file for nsMsgKey_none. VC5.0 apparently has more problems with it...
git-svn-id: svn://10.0.0.236/trunk@25181 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 02:05:14 +00:00
kipp%netscape.com
32e9a9f145 Use raw trapezoid data to solve issues of floaters with margins (bug #2024)
git-svn-id: svn://10.0.0.236/trunk@25180 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:59:13 +00:00
danm%netscape.com
8290fe1b98 oooo. rev 1.15 added dist/public/dom to INC path incorrectly. did it right this time.
git-svn-id: svn://10.0.0.236/trunk@25179 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:41:50 +00:00
ftang%netscape.com
29f4aa1403 correct katakan/hiragana/katakana-iroha/hiragana-iroha list after reviewed by momoi. Add implementation for NS_STYLE_LIST_STYLE_DECIMAL_LEADING_ZERO.
git-svn-id: svn://10.0.0.236/trunk@25178 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:37:27 +00:00
jband%netscape.com
43305d4d95 catpure caller information to display in the exception if uncaught and verbose is set
git-svn-id: svn://10.0.0.236/trunk@25177 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:31:16 +00:00
nhotta%netscape.com
0070930ea8 Removed to link to mime, it wasn't needed.
git-svn-id: svn://10.0.0.236/trunk@25176 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:28:14 +00:00
mscott%netscape.com
eacd2c2c39 Don't link with nntp.lib. news now builds as a stand alone component.
git-svn-id: svn://10.0.0.236/trunk@25175 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:13:55 +00:00
mscott%netscape.com
de6abfbe9b Don't built nntpTest until it is upgraded to use the new news service.
git-svn-id: svn://10.0.0.236/trunk@25174 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:11:20 +00:00
mscott%netscape.com
899acccd2d Build nsNntpService.
git-svn-id: svn://10.0.0.236/trunk@25173 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:10:16 +00:00
mscott%netscape.com
f8a87304fc Export nsINntpService.h
git-svn-id: svn://10.0.0.236/trunk@25172 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:09:32 +00:00
mscott%netscape.com
994e2e9019 Build the build directory.
git-svn-id: svn://10.0.0.236/trunk@25171 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:09:02 +00:00
mscott%netscape.com
d010306759 Build news\build. Part of making news a standalone component.
git-svn-id: svn://10.0.0.236/trunk@25170 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:08:43 +00:00
mscott%netscape.com
4c1b78c446 News now builds as a standalone component. Don't link with nntp.lib.
git-svn-id: svn://10.0.0.236/trunk@25169 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:07:20 +00:00
mscott%netscape.com
e150096839 News now builds as a standalone component. Use the nntp service for running news urls and remove the old "C" functions.
git-svn-id: svn://10.0.0.236/trunk@25168 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:06:41 +00:00
mscott%netscape.com
aa0b0e9bf1 Part of making news a standalone component. Build the "build" directory.
git-svn-id: svn://10.0.0.236/trunk@25167 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:05:20 +00:00
mscott%netscape.com
e3692b6077 Part of making news a stand alone component. nntp url supports the nsIMsgMailNewsUrl interface.
git-svn-id: svn://10.0.0.236/trunk@25166 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:04:12 +00:00
mscott%netscape.com
4cf788df9c Build nsNntpService.
git-svn-id: svn://10.0.0.236/trunk@25165 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:03:27 +00:00
mscott%netscape.com
954afd6c11 Spell nsNNTPProtocol.h correctly when including the file. (unix is case sensitive)
git-svn-id: svn://10.0.0.236/trunk@25164 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:02:57 +00:00
mscott%netscape.com
20b57a31eb Part of making news a stand alone dll. remove "C" functions for creating / running news url.
git-svn-id: svn://10.0.0.236/trunk@25163 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:02:12 +00:00
mscott%netscape.com
2f24345a3e Part of making news a stand alone dll. Updates to nntp url to inherit from nsIMsgMailNewsUrl.Add url listener code as well.
git-svn-id: svn://10.0.0.236/trunk@25162 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 01:01:15 +00:00
ftang%netscape.com
381a5a09ed change word break interface
git-svn-id: svn://10.0.0.236/trunk@25161 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:49:57 +00:00
ftang%netscape.com
e85bdbc9b2 take out wrong assertion, we should do QueryInterface to both entry->mService and service with the sand IID and them compare them . approved by warren
git-svn-id: svn://10.0.0.236/trunk@25160 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:49:06 +00:00
kipp%netscape.com
2a65b0c8d1 Some tweaks for better compatability
git-svn-id: svn://10.0.0.236/trunk@25159 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:42:39 +00:00
kipp%netscape.com
44389095c5 Provide zero margins for other sides
git-svn-id: svn://10.0.0.236/trunk@25158 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:41:59 +00:00
kipp%netscape.com
a0bf1cc46e Work around some first-letter bugs
git-svn-id: svn://10.0.0.236/trunk@25157 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:41:36 +00:00
kipp%netscape.com
a8dd90181c Undo partial fix for 3882 since its a bad fix
git-svn-id: svn://10.0.0.236/trunk@25156 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:40:37 +00:00
kipp%netscape.com
31b8a2b343 Added rendering layer defines
git-svn-id: svn://10.0.0.236/trunk@25155 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:40:06 +00:00
kipp%netscape.com
9e4c4cb1e3 Whacked paint methods to use new constants
git-svn-id: svn://10.0.0.236/trunk@25154 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:39:35 +00:00
kipp%netscape.com
1a8d633e4e Fixed bugs #1277, #2007 and #1517 and #1918; rendering is improved for floaters and a minimim height rule is now enforced for computed-height situations
git-svn-id: svn://10.0.0.236/trunk@25153 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:39:04 +00:00
kipp%netscape.com
e86d824453 Init mFloaters
git-svn-id: svn://10.0.0.236/trunk@25152 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:37:32 +00:00
kipp%netscape.com
b171cbe552 Fixed bug #4112
git-svn-id: svn://10.0.0.236/trunk@25151 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:37:22 +00:00
nhotta%netscape.com
e08ae91769 Backed out my last change, it wasn't needed.
git-svn-id: svn://10.0.0.236/trunk@25150 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:27:52 +00:00
cyeh%netscape.com
b3aab8a809 *warning, hack alert*. put a build number in the bottom status bar so that
we can track daily builds. the build number won't be here in the shipping product
this is a token string that will be replaced at build time with a legit build number.
this will need to be pulled in favor of something more graceful, and a good deal less hacky.


git-svn-id: svn://10.0.0.236/trunk@25149 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:27:43 +00:00
slamm%netscape.com
370f2db0a3 Add depend target. Move find-mozconfig.sh checkout into mozconfig2*.sh scripts. Redo comments.
git-svn-id: svn://10.0.0.236/trunk@25148 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:03:10 +00:00
slamm%netscape.com
c03a82edaf Checkout find-mozconfig.sh if needed.
git-svn-id: svn://10.0.0.236/trunk@25147 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:00:22 +00:00
slamm%netscape.com
d4f462bc00 New warning for depend target and compiler-based dependencies.
git-svn-id: svn://10.0.0.236/trunk@25146 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:51:11 +00:00
jj%netscape.com
3a2bed7bc8 fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@25145 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:50:11 +00:00
slamm%netscape.com
6e1744f8f9 Take CFLAGS off link line
git-svn-id: svn://10.0.0.236/trunk@25144 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:47:43 +00:00
cata%netscape.com
21341cb4f6 Using support classes.
git-svn-id: svn://10.0.0.236/trunk@25143 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:45:51 +00:00
erik%netscape.com
0625fdcb29 Unicode support for fonts on Windows. Reviewed by Michael Plitkins.
git-svn-id: svn://10.0.0.236/trunk@25142 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:41:36 +00:00
nhotta%netscape.com
8758fd0be7 I18n migration, CSID -> Charset Name.
git-svn-id: svn://10.0.0.236/trunk@25141 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:41:03 +00:00
nhotta%netscape.com
7a401a853f Added mime.
git-svn-id: svn://10.0.0.236/trunk@25140 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:39:16 +00:00
mcafee%netscape.com
78f453eef5 Renamed GetTransferable() to GetData()
git-svn-id: svn://10.0.0.236/trunk@25139 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:39:03 +00:00
slamm%netscape.com
e741fb6ff9 Use OS_LDFLAGS instead of CFLAGS.
git-svn-id: svn://10.0.0.236/trunk@25138 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:23:09 +00:00
mcafee%netscape.com
fd5b8c7f62 Renaming {SetTransferable(), GetTransferable()} to {SetData(), GetData()} per our clipboard meeting this morning.
git-svn-id: svn://10.0.0.236/trunk@25137 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:22:01 +00:00
slamm%netscape.com
2085ce2e25 Turn log caching back on by default, but this time check logfile times. That way if it changes, the cached file will be updated.
git-svn-id: svn://10.0.0.236/trunk@25136 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:15:40 +00:00
slamm%netscape.com
244958418e never mind. I know what I would have to do to fix the cache but it isn't worth it.
git-svn-id: svn://10.0.0.236/trunk@25135 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 23:13:58 +00:00
alecf%netscape.com
baa7596351 define PurgeNeeded so that this isn't undefined in this library
git-svn-id: svn://10.0.0.236/trunk@25134 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 22:48:02 +00:00
alecf%netscape.com
65641d9b2f link against libreg to avoid undefined symbols
git-svn-id: svn://10.0.0.236/trunk@25133 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 22:47:44 +00:00
alecf%netscape.com
295edd67f0 fix for #4264 - move fe_GetConfigDir into libxp, because that is in-memory and available for components to use
I've heard rumors that this will break mac, but I'll be able to fix it in one cycle
This allows components that don't link against libpref to be loaded and not crash


git-svn-id: svn://10.0.0.236/trunk@25132 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 22:45:46 +00:00
slamm%netscape.com
216adc7440 cache isn't working. Temporarily write out a log.
git-svn-id: svn://10.0.0.236/trunk@25131 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 22:36:51 +00:00
jj%netscape.com
95fa0754bf fixed access paths for non-debug target. 'dist' is now recursive.
git-svn-id: svn://10.0.0.236/trunk@25130 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 22:13:31 +00:00
slamm%netscape.com
2b17a252dc oh yeah, toss the cvslog.cgi output to /dev/null.
git-svn-id: svn://10.0.0.236/trunk@25129 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:45:28 +00:00
slamm%netscape.com
f37d03eafd Cache brief logs for busted builds.
git-svn-id: svn://10.0.0.236/trunk@25128 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:39:40 +00:00
briano%netscape.com
541cf0b4c4 Made the static library in this directory depend on the same 'extra stuff' as the shared library.
git-svn-id: svn://10.0.0.236/trunk@25127 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:32:26 +00:00
briano%netscape.com
636bf60174 Turned off the NO_STATIC_LIB restriction.
git-svn-id: svn://10.0.0.236/trunk@25126 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:29:34 +00:00
briano%netscape.com
3de804931a Handle NO_STATIC_LIB being set, when all this file does is create a static library.
git-svn-id: svn://10.0.0.236/trunk@25125 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:21:47 +00:00
slamm%netscape.com
6b30791025 Change caching feature to on demand. Otherwise, it may cache a log for a build that hasn't completed.
git-svn-id: svn://10.0.0.236/trunk@25121 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:13:42 +00:00
briano%netscape.com
2c7493c6fa Handle NO_STATIC_LIB being set, when all this file does is create a static library.
git-svn-id: svn://10.0.0.236/trunk@25120 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:10:22 +00:00
briano%netscape.com
7e3e480240 Change to provide support for platforms without shared library support, or for NO_SHARED_LIB builds.
git-svn-id: svn://10.0.0.236/trunk@25119 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 21:01:59 +00:00
akkana%netscape.com
0a37e24625 Linux part of dougt's libjar and libxpinstall changes
git-svn-id: svn://10.0.0.236/trunk@25118 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 20:47:28 +00:00
jj%netscape.com
f4243a67cc fixed bustage on line 1! ("`#!perl -w")
git-svn-id: svn://10.0.0.236/trunk@25117 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 20:36:51 +00:00
dougt%netscape.com
9d4bf92ed3 Adding XPInstall to build
Adding libjar to build.


git-svn-id: svn://10.0.0.236/trunk@25116 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 20:17:46 +00:00
dougt%netscape.com
40a5faec51 Adding XPInstall to the Mac build.
Adding libjar to the mac build.


git-svn-id: svn://10.0.0.236/trunk@25115 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 20:13:00 +00:00
akkana%netscape.com
393b39a5cd 4268: Fix broken SIMPLE_PROGRAMS rule for --enable-md. Fix courtesy of slamm, checkin approved by sar
git-svn-id: svn://10.0.0.236/trunk@25114 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 19:52:19 +00:00
peterl%netscape.com
37a273be7a protect recreate frames for content against content with no parent
git-svn-id: svn://10.0.0.236/trunk@25112 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 19:27:11 +00:00
sspitzer%netscape.com
6504ecac4f switch from "\\" to PR_DIRECTORY_SEPARATOR for portablility
git-svn-id: svn://10.0.0.236/trunk@25111 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 17:41:21 +00:00
cata%netscape.com
4a5fcc184f Support classes used.
git-svn-id: svn://10.0.0.236/trunk@25110 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 17:34:07 +00:00
cata%netscape.com
be4825dccf Multi-table helper decoder.
git-svn-id: svn://10.0.0.236/trunk@25109 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 17:33:39 +00:00
slamm%netscape.com
f667074e8a add check-modules.pl
git-svn-id: svn://10.0.0.236/trunk@25108 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 17:16:20 +00:00
mccabe%netscape.com
d8da835874 Move xptinfo, xptcall from export phase (erroneously copied from libxpt Makefile.in) to libs and back out previous temporary fix.
Finishing checkin.  Hopefully all is OK.


git-svn-id: svn://10.0.0.236/trunk@25106 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 10:35:19 +00:00
mccabe%netscape.com
4472153e37 Move xptinfo, xptcall from export phase (erroneously copied from libxpt Makefile.in) to libs and back out previous tree patch.
git-svn-id: svn://10.0.0.236/trunk@25105 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 10:28:39 +00:00
dp%netscape.com
4fee5a2e84 Updated tasks
git-svn-id: svn://10.0.0.236/trunk@25104 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 09:20:05 +00:00
jband%netscape.com
1a93507fbc backout building of xpconnect on Unix
git-svn-id: svn://10.0.0.236/trunk@25103 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 09:17:54 +00:00
jband%netscape.com
10a55697bf backout building of libxpt on Unix
git-svn-id: svn://10.0.0.236/trunk@25102 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 09:17:02 +00:00
jband%netscape.com
d1bfe75c7b fix build bustage due to use of nscore.h before it is exported - I don't understand why this stuff is being compiled in the export phase. We can that later.
git-svn-id: svn://10.0.0.236/trunk@25101 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 09:05:28 +00:00
warren%netscape.com
c27f993f33 Reverted accidental commit of makefile.win
git-svn-id: svn://10.0.0.236/trunk@25100 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 08:20:46 +00:00
warren%netscape.com
a7a24e4ab3 Added brprof bootstrapping code (ifdef DEBUG_warren for now).
git-svn-id: svn://10.0.0.236/trunk@25099 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 08:20:19 +00:00
mccabe%netscape.com
755476edfa Adding libxpt and xpconnect to the build.
git-svn-id: svn://10.0.0.236/trunk@25098 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 07:50:11 +00:00
warren%netscape.com
f9e6bf7a81 Renamed directory.xml to directory.rdf
git-svn-id: svn://10.0.0.236/trunk@25097 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 07:34:24 +00:00
warren%netscape.com
686ea65855 GetDataSource change to instantiate xml datasources by default.
git-svn-id: svn://10.0.0.236/trunk@25096 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 07:33:07 +00:00
warren%netscape.com
4e8eccdd05 Added GetMethodInfoForName
git-svn-id: svn://10.0.0.236/trunk@25095 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 07:30:47 +00:00
warren%netscape.com
c751dcd9b9 Hushed up stupid warnings on Windows.
git-svn-id: svn://10.0.0.236/trunk@25094 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 07:29:29 +00:00
peterl%netscape.com
233822bc0d augmented ReResolveStyleContext to capture style change information
git-svn-id: svn://10.0.0.236/trunk@25093 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:43:38 +00:00
peterl%netscape.com
2035dfb07e added percent handling for opacity property
git-svn-id: svn://10.0.0.236/trunk@25092 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:43:07 +00:00
peterl%netscape.com
9cc82e265f fix whitespace handling on attribute selectors
git-svn-id: svn://10.0.0.236/trunk@25091 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:42:42 +00:00
peterl%netscape.com
8954376875 added methods to process style changes on frames
git-svn-id: svn://10.0.0.236/trunk@25090 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:42:07 +00:00
peterl%netscape.com
fa1fcc976c capture all change data during style changes and deal with it properly
git-svn-id: svn://10.0.0.236/trunk@25089 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:41:43 +00:00
peterl%netscape.com
f3a5d4ddd2 add base tag info on the rest of the table elements too
git-svn-id: svn://10.0.0.236/trunk@25088 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:40:06 +00:00
peterl%netscape.com
3ddd7c1e6b cleaned up attribute style hints to reflect the real info
git-svn-id: svn://10.0.0.236/trunk@25087 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:39:12 +00:00
peterl%netscape.com
4c463555ac added files: mozilla/layout/base/src/nsStyleChangeList.cpp
git-svn-id: svn://10.0.0.236/trunk@25086 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:36:32 +00:00
peterl%netscape.com
d457e9b58d added nsStyleChangeList
git-svn-id: svn://10.0.0.236/trunk@25085 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:35:59 +00:00
peterl%netscape.com
caf18174e0 made opacity inherit by default
git-svn-id: svn://10.0.0.236/trunk@25084 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:34:57 +00:00
peterl%netscape.com
ad2589ad7b changed font weight bolder/lighter to give info about change
git-svn-id: svn://10.0.0.236/trunk@25083 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:33:58 +00:00
wtc%netscape.com
8b8b88d4a0 Use a default error-mapping function.
This work is contributed by Nelson Bolyard <nelsonb@netscape.com>.


git-svn-id: svn://10.0.0.236/trunk@25082 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:33:45 +00:00
peterl%netscape.com
5841c9d120 added method to process style changed frames
git-svn-id: svn://10.0.0.236/trunk@25081 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:33:25 +00:00
peterl%netscape.com
436552bc30 added args to ReResolveStyle to capture style change info
git-svn-id: svn://10.0.0.236/trunk@25080 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:32:56 +00:00
peterl%netscape.com
717093438e set default attribute style hint to content
git-svn-id: svn://10.0.0.236/trunk@25079 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 06:32:09 +00:00
bienvenu%netscape.com
9f6489d3cf i18n routines don't seem happy with empty strings, so don't pass them in
git-svn-id: svn://10.0.0.236/trunk@25078 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 05:55:28 +00:00
jefft%netscape.com
14f2a031be put back the original implementation of nsImapUrl::Equals method
git-svn-id: svn://10.0.0.236/trunk@25077 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 05:41:50 +00:00
cyeh%netscape.com
e48431ad73 this was a silly bug, introduced by trying to create *_layout targets
for the nglayout team. fixes clobber_all


git-svn-id: svn://10.0.0.236/trunk@25076 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 05:32:25 +00:00
troy%netscape.com
b82a5b3a21 Fix for bug #3445. Changed ReconstructDocElementHierarchy() to handle fixed
elements


git-svn-id: svn://10.0.0.236/trunk@25075 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 05:24:16 +00:00
jefft%netscape.com
a1b6d5216c added multiple inheritance nsINetLibURL
git-svn-id: svn://10.0.0.236/trunk@25074 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 05:19:59 +00:00
bienvenu%netscape.com
d88ecfa5ef add i18n interfaces for mime2 encoding and collation keys - shouldn't be called yet
git-svn-id: svn://10.0.0.236/trunk@25073 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 05:01:58 +00:00
morse%netscape.com
3626df655c wallet.cpp
git-svn-id: svn://10.0.0.236/trunk@25072 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:58:16 +00:00
mscott%netscape.com
b8715ed708 (not part of build yet) implementation of nntp service.
git-svn-id: svn://10.0.0.236/trunk@25071 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:48:45 +00:00
mscott%netscape.com
04dbd47256 (not part of build yet). New nntp service for processing nntp requests...
git-svn-id: svn://10.0.0.236/trunk@25070 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:48:01 +00:00
mscott%netscape.com
4d69b84f07 Not part of build yet. Register new nsNntpService component.
git-svn-id: svn://10.0.0.236/trunk@25069 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:47:12 +00:00
mscott%netscape.com
460a0bd11b (not part of build yet) remove NO_DEPEND.
git-svn-id: svn://10.0.0.236/trunk@25068 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:46:26 +00:00
waterson%netscape.com
365f14a80e Fixed refcounting to use NS_DECL/IMPL_ISUPPORTS_INHERITED.
git-svn-id: svn://10.0.0.236/trunk@25067 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:44:46 +00:00
mcafee%netscape.com
2c0ae957a7 Adding Mozilla license
git-svn-id: svn://10.0.0.236/trunk@25066 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:38:25 +00:00
mccabe%netscape.com
b9883814e2 Not part of the client build.
Ignore (generated) JS.c file.


git-svn-id: svn://10.0.0.236/trunk@25065 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:21:26 +00:00
mccabe%netscape.com
795b6cb7d8 Not part of the client build!
Preliminary, non-portable support for compiling JS.xs into a C file.


git-svn-id: svn://10.0.0.236/trunk@25064 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:19:52 +00:00
mcafee%netscape.com
a4764f57f2 Adding DataFlavor and Transferable classes to the build.
git-svn-id: svn://10.0.0.236/trunk@25063 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:17:14 +00:00
mcafee%netscape.com
6cbc385e7f Moving XP code from widget/src/windows to widget/src/xpwidgets.
git-svn-id: svn://10.0.0.236/trunk@25062 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:14:33 +00:00
sspitzer%netscape.com
c2d708f9ca fix to get mailboxTest to build on Linux.
It now builds, and runs, but it doesn't seem to pass.

I'm looking into it.


git-svn-id: svn://10.0.0.236/trunk@25061 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:07:55 +00:00
mscott%netscape.com
585280fa48 fix dependencies...
git-svn-id: svn://10.0.0.236/trunk@25059 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:07:34 +00:00
mscott%netscape.com
47c7cd9c10 Remove NODEPEND.
git-svn-id: svn://10.0.0.236/trunk@25058 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:05:08 +00:00
sfraser%netscape.com
1bdd1119ae Build script enhancements -- fix the dialogs that pop up to choose a session file, and to locate the IDE. Also do some application activation to lessen pull and build times.
git-svn-id: svn://10.0.0.236/trunk@25057 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 04:00:56 +00:00
sfraser%netscape.com
a8bd0d572a Impose a min size of 9pt on the font size for native controls -- bug 2440.
git-svn-id: svn://10.0.0.236/trunk@25056 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:58:18 +00:00
kipp%netscape.com
16b6e799cb Added some MOZ constants
git-svn-id: svn://10.0.0.236/trunk@25054 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:51:16 +00:00
kipp%netscape.com
b3eb9068ee Support (ever so slightly better) anonymous block reflow by returning a zero sized inline frame when wrapping an anonymous block - partial fix for bug #3882
git-svn-id: svn://10.0.0.236/trunk@25053 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:50:34 +00:00
kipp%netscape.com
165d9cd484 Made margin carried outs per-line-layout instead of per-frame
git-svn-id: svn://10.0.0.236/trunk@25052 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:49:47 +00:00
kipp%netscape.com
0b74b4b85a Fixed a bug that prevented text-indent from working next to floaters; support moz-right and moz-center text-align values
git-svn-id: svn://10.0.0.236/trunk@25051 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:49:29 +00:00
kipp%netscape.com
860c4872c3 Support compatability center/right align values for nav4 support
git-svn-id: svn://10.0.0.236/trunk@25050 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:48:51 +00:00
kipp%netscape.com
75458d92cb Fixed up area frame sizing calculations to properly compute the final height
git-svn-id: svn://10.0.0.236/trunk@25049 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:48:30 +00:00
kipp%netscape.com
e457c12b03 Use compatability table for div align mappings
git-svn-id: svn://10.0.0.236/trunk@25048 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:48:06 +00:00
kipp%netscape.com
542ae0948a Removed some dead code
git-svn-id: svn://10.0.0.236/trunk@25047 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:47:46 +00:00
kipp%netscape.com
54c995db37 Added in parsing support for -moz-center and -moz-right keywords for text-align
git-svn-id: svn://10.0.0.236/trunk@25046 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:47:24 +00:00
mccabe%netscape.com
3355fc79e2 Removed support for the JSFILE define. Not to be confused with the
'jsfile' js file object, the JSFINE define conditionally compiled
support for allowing the javascript scanner to read from filehandles.
We've decided that it's more annoying to support not supporting that
feature, so we enable it all of the time.


git-svn-id: svn://10.0.0.236/trunk@25045 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:47:02 +00:00
kipp%netscape.com
7696719276 Added some -moz keywords
git-svn-id: svn://10.0.0.236/trunk@25044 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:46:58 +00:00
sspitzer%netscape.com
fc2fd777f1 fixes to get this to build on Linux
libjs.so is now libmozjs.so

removed reference to libmailnewsbase.so

There is still a problem with the the test because nsMsgMailboxParser is
not a class anymore, it has been XPCOMmed.

More work to be done here...


git-svn-id: svn://10.0.0.236/trunk@25043 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:45:53 +00:00
mscott%netscape.com
f89ad75b43 remove NODEPEND
git-svn-id: svn://10.0.0.236/trunk@25042 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:43:10 +00:00
sfraser%netscape.com
be5b52ba7f Remove the Enter->Return key hackery, as this is done now when the key event is generated.
git-svn-id: svn://10.0.0.236/trunk@25041 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:41:07 +00:00
mscott%netscape.com
dcbbcfaf66 remove NODEPEND.
git-svn-id: svn://10.0.0.236/trunk@25040 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:40:55 +00:00
sfraser%netscape.com
0ea4fecfce Fix for bug 3824 -- fix key mappings on Mac, so that all known raptor key codes are output where possible.
git-svn-id: svn://10.0.0.236/trunk@25039 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:40:20 +00:00
jband%netscape.com
c32d755bc4 add xpconnect to the build on win32
git-svn-id: svn://10.0.0.236/trunk@25038 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:39:25 +00:00
jband%netscape.com
3611343513 add libxpt to the build on win32
git-svn-id: svn://10.0.0.236/trunk@25037 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:38:39 +00:00
jband%netscape.com
e137689e0f use nspr type
git-svn-id: svn://10.0.0.236/trunk@25036 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:37:40 +00:00
beard%netscape.com
27e9c3208e removed GetJSWindow, moved to nsIPluginInstancePeer2
git-svn-id: svn://10.0.0.236/trunk@25035 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:32:22 +00:00
beard%netscape.com
fc704832a0 implementing nsIPluginInstancePeer2.
git-svn-id: svn://10.0.0.236/trunk@25034 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:31:37 +00:00
beard%netscape.com
1261c0534c Removed GetJSWindow() method.
git-svn-id: svn://10.0.0.236/trunk@25033 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:30:49 +00:00
nisheeth%netscape.com
71c93aaadf Checking in webshell patches from Bruce Mitchener (bruce@cybersight.com). Thanks a lot.
git-svn-id: svn://10.0.0.236/trunk@25032 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:30:35 +00:00
beard%netscape.com
24430e4c39 using nsIPluginInstancePeer2
git-svn-id: svn://10.0.0.236/trunk@25031 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:30:14 +00:00
beard%netscape.com
cf7fc5c734 added nsIPluginInstancePeer2.h
git-svn-id: svn://10.0.0.236/trunk@25030 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:29:54 +00:00
jband%netscape.com
b0003b5095 added support for namespace attribute of interface
git-svn-id: svn://10.0.0.236/trunk@25029 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:24:32 +00:00
sspitzer%netscape.com
3ef9ec2c08 changes to get this to build on Linux.
More changes coming....


git-svn-id: svn://10.0.0.236/trunk@25028 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:04:22 +00:00
sspitzer%netscape.com
ffdfdaf272 work to get this stuff to build on Linux
changes to remove some warnings

Read() no longer takes an offset as the second parameter, so fixing that

more changes coming...


git-svn-id: svn://10.0.0.236/trunk@25027 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:03:47 +00:00
sspitzer%netscape.com
55164135c7 some clean up to get this to build on Linux
still more to be done....


git-svn-id: svn://10.0.0.236/trunk@25026 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:02:20 +00:00
sspitzer%netscape.com
b28d98156e removed aErrorCode from the comment.
aErrorCode is no longer a parameter to Read()


git-svn-id: svn://10.0.0.236/trunk@25025 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:00:04 +00:00
beard%netscape.com
2cb165ea4a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@25024 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 02:45:38 +00:00
rjc%netscape.com
cb62a2e156 FTP data source (not yet in build)
git-svn-id: svn://10.0.0.236/trunk@25023 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 02:31:15 +00:00
rjc%netscape.com
fd30b57329 FTP datasource (not yet being built)
git-svn-id: svn://10.0.0.236/trunk@25022 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 02:30:21 +00:00
rickg%netscape.com
dbccdc95c5 another fix for entities
git-svn-id: svn://10.0.0.236/trunk@25021 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 01:27:41 +00:00
rickg%netscape.com
8b02f05a50 any fix for entities
git-svn-id: svn://10.0.0.236/trunk@25020 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 01:27:27 +00:00
terry%netscape.com
3fc7314bf9 If no branch is specified, use HEAD.
git-svn-id: svn://10.0.0.236/trunk@25019 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 01:17:36 +00:00
cyeh%netscape.com
2c895b5928 remove double pulls of xpfe and editor
git-svn-id: svn://10.0.0.236/trunk@25018 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 01:14:54 +00:00
gagan%netscape.com
383d8b5e2a N2 landing... everybody run! duck! hide...! It really should be ok.
git-svn-id: svn://10.0.0.236/trunk@25016 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 00:22:56 +00:00
slamm%netscape.com
e855a976c3 Put everything in a table.
git-svn-id: svn://10.0.0.236/trunk@25015 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 00:22:22 +00:00
terry%netscape.com
21e636db39 Quote URLs and email addresses in the long description of bugs.
git-svn-id: svn://10.0.0.236/trunk@25014 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 00:14:26 +00:00
cyeh%netscape.com
0cb75ae495 tweak RaptorWin to support *_layout targets for client.mak
git-svn-id: svn://10.0.0.236/trunk@25013 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 00:13:53 +00:00
danm%netscape.com
e78ac19744 ah. only compiles on the PC that way. taking another stab at it.
git-svn-id: svn://10.0.0.236/trunk@25012 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 23:44:46 +00:00
danm%netscape.com
9b775158f7 Hmmm. continued fixing on the windows app problem. Wouldn't build on my machine until I did this thing which will make morse angry. a:sar
git-svn-id: svn://10.0.0.236/trunk@25011 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 23:25:17 +00:00
dp%netscape.com
69a7ce70e1 fixing apparent mismatch between IDL and generated source. seems to fix the Windows startup crasher. a:sar
git-svn-id: svn://10.0.0.236/trunk@25010 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 23:14:43 +00:00
terry%netscape.com
cc03e2176c On re-reading bug 4133, I see that I should just turn off the
javascript stuff on all instances of IE.


git-svn-id: svn://10.0.0.236/trunk@25007 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 22:02:48 +00:00
terry%netscape.com
fabf8c45f3 Don't try to run our javascript if running on IE4.
git-svn-id: svn://10.0.0.236/trunk@25006 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:59:26 +00:00
jdunn%netscape.com
1bc2cebda2 backing out changes, because the tree was closed - doh
git-svn-id: svn://10.0.0.236/trunk@25005 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:55:53 +00:00
ducarroz%netscape.com
3133b2c2de First Checked In.
git-svn-id: svn://10.0.0.236/trunk@25004 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:49:55 +00:00
jdunn%netscape.com
2b292106b9 Fixed compiler error on AIX. The xlC compiler does not handle protected
structures correctly so for AIX, we make the structures public.

approved by kipp@netscape.com


git-svn-id: svn://10.0.0.236/trunk@25003 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:43:34 +00:00
jdunn%netscape.com
8a9c7fa28e Fix compiler errors on AIX
Approved by mcmullen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@25002 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:38:44 +00:00
sfraser%netscape.com
90c74e2f9a Fix build bustage -- new linkage dependencies in RaptorShell.mcp.
git-svn-id: svn://10.0.0.236/trunk@25001 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:35:53 +00:00
despotdaemon%netscape.com
e5bf4b679d Pseudo-automatic update of changes made by waqar@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@25000 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:23:32 +00:00
despotdaemon%netscape.com
0ffaec421a Pseudo-automatic update of changes made by jdunn@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@24999 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:03:49 +00:00
despotdaemon%netscape.com
1c8addd441 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@24998 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 20:21:40 +00:00
despotdaemon%netscape.com
badf5ab581 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@24997 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 20:19:49 +00:00
sfraser%netscape.com
d6e125d838 Fix for 4224 -- Mac crash on startup in registry code. sfraser & dp, approved sar.
git-svn-id: svn://10.0.0.236/trunk@24996 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 19:55:38 +00:00
rods%netscape.com
d9fdf9bf34 Commented offending (DEBUG) line
git-svn-id: svn://10.0.0.236/trunk@24995 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 18:42:34 +00:00
kipp%netscape.com
7444f81a69 Put my changes back in that don cone accidently removed
git-svn-id: svn://10.0.0.236/trunk@24994 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 15:57:24 +00:00
kipp%netscape.com
028c96ce5f Corrected some of the warning messages to reduce false alarms
git-svn-id: svn://10.0.0.236/trunk@24993 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 15:42:38 +00:00
kipp%netscape.com
4091823455 Fixed up floater combined area calculations
git-svn-id: svn://10.0.0.236/trunk@24992 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 15:42:19 +00:00
kipp%netscape.com
f590df7302 Tweaked the line-breaking logic so that certain floater situations don't trigger crashes
git-svn-id: svn://10.0.0.236/trunk@24991 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 15:41:49 +00:00
kipp%netscape.com
550af82f5b De-inlined some methods (temporary) and added CanPlaceFloaterNow
git-svn-id: svn://10.0.0.236/trunk@24990 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 15:41:17 +00:00
kipp%netscape.com
92c025bda0 Removed dependence on nsFrame (a no-no)
git-svn-id: svn://10.0.0.236/trunk@24989 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 15:40:44 +00:00
mcafee%netscape.com
6a5c4e0f48 initializing a variable to zero.
git-svn-id: svn://10.0.0.236/trunk@24988 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 09:08:24 +00:00
mcafee%netscape.com
09fcbbb1f0 Initializing some variables, protecting against null dereferences for new cut & paste platforms (gtk).
git-svn-id: svn://10.0.0.236/trunk@24987 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 09:06:37 +00:00
grail%cafebabe.org
ec5d4d3451 Changed return value for getComponent().
git-svn-id: svn://10.0.0.236/trunk@24986 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 09:00:28 +00:00
grail%cafebabe.org
ef2188d6cb Changes to allow for lookups of menu items in menubars.
git-svn-id: svn://10.0.0.236/trunk@24985 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 08:59:05 +00:00
chuang%netscape.com
456baf3dcf Update messenger start up url
git-svn-id: svn://10.0.0.236/trunk@24984 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 08:33:08 +00:00
mccabe%netscape.com
0843c2e091 First cut at unix Makefile support for building the perlconnect
javascript-to-perl extension with the standalone javascript shell.
It's mostly a direct copy of a similar mechanism for liveconnect.

Many thanks to Dave Neuer <dneuer@futuristics.net> for a patch
magically resolving issues with linking with perl.


git-svn-id: svn://10.0.0.236/trunk@24983 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 08:29:03 +00:00
chuang%netscape.com
f1b84326bd Add new icon files and create mailnews resources directory under res
git-svn-id: svn://10.0.0.236/trunk@24982 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 08:27:57 +00:00
beard%netscape.com
733a8fc9d9 fix build bustage, nsIScriptContextOwner.h can't be found except on XP_MAC. Will land on other platforms eventually.
git-svn-id: svn://10.0.0.236/trunk@24981 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 07:16:41 +00:00
danm%netscape.com
30f54af078 adding dist/public/dom to INC path so nsIPluginInstancePeer.cpp can find nsIScript*.h
git-svn-id: svn://10.0.0.236/trunk@24980 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 07:08:52 +00:00
gagan%netscape.com
fb1dadb0e5 Added the first checkin files for nsNetManager. This is the central
equivalent of the Netlib service. This is just a place holder for now
but I needed it to test the libwww stuff.


git-svn-id: svn://10.0.0.236/trunk@24978 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 06:51:33 +00:00
danm%netscape.com
685b734921 oops. implementing function shell to make it compile
git-svn-id: svn://10.0.0.236/trunk@24977 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 06:18:59 +00:00
beard%netscape.com
888b433ccb added GetJVMContext() to map_jsj_thread_to_js_context_impl() to get JSContext associated with a call back from Java. Using nsIPluginInstancePeer::GetJSWindow() to return global JSObject for each browser window.
git-svn-id: svn://10.0.0.236/trunk@24976 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:49:05 +00:00
beard%netscape.com
849bde491e added GetJSWindow()
git-svn-id: svn://10.0.0.236/trunk@24975 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:46:23 +00:00
beard%netscape.com
c0cc339fa7 added GetDocument()
git-svn-id: svn://10.0.0.236/trunk@24974 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:46:06 +00:00
beard%netscape.com
038f23f042 added pluginInstanceOwner::GetDocument()
git-svn-id: svn://10.0.0.236/trunk@24973 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:43:09 +00:00
beard%netscape.com
342fa51bf5 added nsPluginInstanceOwner::GetDocument()
git-svn-id: svn://10.0.0.236/trunk@24972 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:42:22 +00:00
danm%netscape.com
b061e09932 closer to having a modal dialog loop on the Mac
git-svn-id: svn://10.0.0.236/trunk@24971 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:42:21 +00:00
beard%netscape.com
9d6661c4ef added GetJSWindow
git-svn-id: svn://10.0.0.236/trunk@24970 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:40:02 +00:00
beard%netscape.com
694daf35c1 added GetJSWindow.
git-svn-id: svn://10.0.0.236/trunk@24969 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:37:42 +00:00
troy%netscape.com
3ec35d6a0d Patch from Bruce Mitchener to fix gcc warning
git-svn-id: svn://10.0.0.236/trunk@24968 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 05:11:17 +00:00
mscott%netscape.com
83f1e927a2 Back out my attempted fix of alecf's build breakage...as leaf backed out his original changes.
git-svn-id: svn://10.0.0.236/trunk@24967 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 04:56:56 +00:00
leaf%netscape.com
a36a092494 readding necessary interface files
git-svn-id: svn://10.0.0.236/trunk@24966 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 04:54:00 +00:00
briano%netscape.com
3bc88c5478 Automated update
git-svn-id: svn://10.0.0.236/trunk@24965 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 04:29:40 +00:00
mscott%netscape.com
08368b1c7d Back out my attempted fix for alecf's build breakage as I just finished
backing out his original checkins....


git-svn-id: svn://10.0.0.236/trunk@24964 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 04:16:21 +00:00
mscott%netscape.com
b3e9367366 Fix build breakage for alecf. nsIGroupMsgRecord has been removed from the
repository.


git-svn-id: svn://10.0.0.236/trunk@24963 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 03:47:24 +00:00
troy%netscape.com
1c35dea4db Changed ILAYER from 'position:absolute' to 'position:relative'
git-svn-id: svn://10.0.0.236/trunk@24962 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 03:46:09 +00:00
mscott%netscape.com
097c98cfdc Fix build breakage for alecf. Don't try to export nsIMsgGroupRecord.h. It is no longer in the repository.
git-svn-id: svn://10.0.0.236/trunk@24961 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 03:33:12 +00:00
mscott%netscape.com
4f03b54c0d Fix build breakage for alecf. He removed nsIMsgGroupRecord.h from the repository
so no longer try to export it.


git-svn-id: svn://10.0.0.236/trunk@24960 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 03:23:11 +00:00
bienvenu%netscape.com
2574bae45e turn back on commit code
git-svn-id: svn://10.0.0.236/trunk@24959 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 03:12:33 +00:00
mscott%netscape.com
e07ab14857 (not part of build). Initial frame work for making news a dll....
git-svn-id: svn://10.0.0.236/trunk@24958 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:45:58 +00:00
dougt%netscape.com
0d30e31d03 Added GetIID() function to nsISoftwareUpdate.
git-svn-id: svn://10.0.0.236/trunk@24957 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:41:17 +00:00
dougt%netscape.com
a028992d9b Added GetIID() function to nsISoftwareUpdate
change the nsIFactory to use the static IID instead of the struct declaration


git-svn-id: svn://10.0.0.236/trunk@24956 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:40:51 +00:00
dougt%netscape.com
33d344d77f Added ScheduledTasks to build
remove some unused files.


git-svn-id: svn://10.0.0.236/trunk@24955 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:39:42 +00:00
mscott%netscape.com
6de8a524e0 (not part of the build yet). Initial framework for making news a dll.
git-svn-id: svn://10.0.0.236/trunk@24954 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:31:49 +00:00
mscott%netscape.com
3184c065fc We need a CID for this interface.
git-svn-id: svn://10.0.0.236/trunk@24953 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:30:19 +00:00
rjc%netscape.com
48e4a72f28 Make sure history line isn't an empty line.
git-svn-id: svn://10.0.0.236/trunk@24952 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:19:02 +00:00
dougt%netscape.com
2d5deac48a Added ScheduledTasks (rename and delete).
git-svn-id: svn://10.0.0.236/trunk@24951 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:16:41 +00:00
rjc%netscape.com
e6e5a842eb More History datasource changes and bugfixes.
git-svn-id: svn://10.0.0.236/trunk@24950 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:15:34 +00:00
rjc%netscape.com
1d3c791e8d Take our references to "rdf:mail" datasource.
git-svn-id: svn://10.0.0.236/trunk@24949 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:14:42 +00:00
alecf%netscape.com
c381b01f7f rev these interfaces
git-svn-id: svn://10.0.0.236/trunk@24948 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:03:08 +00:00
alecf%netscape.com
e937759941 remove these files - never going to make this class an interface, so don't confuse things
git-svn-id: svn://10.0.0.236/trunk@24947 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:02:54 +00:00
alecf%netscape.com
f9416c5c00 rev this interface
git-svn-id: svn://10.0.0.236/trunk@24946 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 02:01:47 +00:00
alecf%netscape.com
cc20d1d39e add this IDL file so that nsIMsgFolder.idl will compile
git-svn-id: svn://10.0.0.236/trunk@24945 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:59:48 +00:00
jefft%netscape.com
d8b2a975d9 call m_transport->Open(m_runningUrl) prior calling SendData()
git-svn-id: svn://10.0.0.236/trunk@24944 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:56:54 +00:00
jefft%netscape.com
bc23f9bd85 temporary fix prevent from crashing if someone call nsImapUrl::Equals
git-svn-id: svn://10.0.0.236/trunk@24943 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:55:42 +00:00
alecf%netscape.com
116dc774fd update library dependancies
git-svn-id: svn://10.0.0.236/trunk@24942 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:53:02 +00:00
alecf%netscape.com
c3021831e9 fix library dependancies
git-svn-id: svn://10.0.0.236/trunk@24941 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:51:13 +00:00
mcafee%netscape.com
83d83ef5df Checking for null references on clipboard, trans (gtk/unix).
git-svn-id: svn://10.0.0.236/trunk@24940 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:43:46 +00:00
slamm%netscape.com
70fc97d350 Restore -include test (for BSD/OS 3.1 port).
git-svn-id: svn://10.0.0.236/trunk@24939 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:27:01 +00:00
alecf%netscape.com
698d247dad update to link against appropriate libraries
git-svn-id: svn://10.0.0.236/trunk@24938 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:21:52 +00:00
troy%netscape.com
a64f391177 Changed CantRenderReplacedElement() to handle APPLET as well
git-svn-id: svn://10.0.0.236/trunk@24937 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:13:59 +00:00
dougt%netscape.com
d08a66c59b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24936 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 01:10:59 +00:00
cata%netscape.com
6815c29fd9 Length() moved in support class. In preparation for the big interface change.
git-svn-id: svn://10.0.0.236/trunk@24935 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:52:19 +00:00
dp%netscape.com
1144eb00a3 Changing symbol name of nsRegistry_GetFactory -> NS_RegistryGetFactory
git-svn-id: svn://10.0.0.236/trunk@24934 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:48:55 +00:00
bienvenu%netscape.com
8220b7f5a1 add imap prefs for host, user, and password to identity object
git-svn-id: svn://10.0.0.236/trunk@24933 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:41:29 +00:00
warren%netscape.com
fdba323f1a Added ProgID versions of RegisterService and UnregisterService.
git-svn-id: svn://10.0.0.236/trunk@24932 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:40:29 +00:00
warren%netscape.com
7604860b90 Fixed NS_RegistryGetFactory breakage.
git-svn-id: svn://10.0.0.236/trunk@24931 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:38:27 +00:00
cata%netscape.com
04b99a2b34 UTF8 converter using the support classes now.
git-svn-id: svn://10.0.0.236/trunk@24930 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:28:40 +00:00
alecf%netscape.com
dda0cd0d75 forgot an underscore that broke the build for big endian machines
git-svn-id: svn://10.0.0.236/trunk@24929 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:25:02 +00:00
wtc%netscape.com
5f470d2244 Define HAVE_LONG_LONG for NetBSD on alpha, powerpc, and m68k.
git-svn-id: svn://10.0.0.236/trunk@24928 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:22:09 +00:00
alecf%netscape.com
4cfbb3a891 switch over to nsIDBFolderInfo from nsDBFolderInfo to reduce library dependancies
Added new API to nsIDBFolderInfo


git-svn-id: svn://10.0.0.236/trunk@24927 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:17:23 +00:00
cata%netscape.com
ac8a6bedf7 UTF8 test added.
git-svn-id: svn://10.0.0.236/trunk@24926 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:17:09 +00:00
dougt%netscape.com
e209534fbb change return type to void to avoid warnings.
git-svn-id: svn://10.0.0.236/trunk@24925 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:10:37 +00:00
dougt%netscape.com
651508e8f5 remove unneeded files.
git-svn-id: svn://10.0.0.236/trunk@24924 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:10:09 +00:00
cata%netscape.com
f1b95dfe19 Test made silen. Noise only on errors.
git-svn-id: svn://10.0.0.236/trunk@24923 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 00:06:43 +00:00
locka%iol.ie
be9ccb3dc6 More test improvements
git-svn-id: svn://10.0.0.236/trunk@24922 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:56:34 +00:00
locka%iol.ie
4f3eb6aef6 Move improvements to DOM
git-svn-id: svn://10.0.0.236/trunk@24921 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:55:51 +00:00
jefft%netscape.com
7e647eb4a1 more checkins for thread/event work
git-svn-id: svn://10.0.0.236/trunk@24920 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:46:00 +00:00
cyeh%netscape.com
b4dfcb7d2e recover pull by branch and pull by date functionality back.
also recover all the error handling utility code so we can make sure
that environment variables are set right before executing.


git-svn-id: svn://10.0.0.236/trunk@24919 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:39:05 +00:00
bienvenu%netscape.com
2fbcc0c47b turn on mork parsing, add nsNewsDatabase to makefile
git-svn-id: svn://10.0.0.236/trunk@24918 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:38:25 +00:00
bienvenu%netscape.com
fd4b3bf859 make close mdb object close the object as well as the handle
git-svn-id: svn://10.0.0.236/trunk@24917 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:33:53 +00:00
pinkerton%netscape.com
72edf29e00 PBGetVInfo()->PBHGetVInfo() for carbon compliance.
git-svn-id: svn://10.0.0.236/trunk@24916 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:29:20 +00:00
dp%netscape.com
587ed6002b InitXPCOM() : For a defined initialization sequence of xpcom global objects and components.
git-svn-id: svn://10.0.0.236/trunk@24915 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:28:32 +00:00
putterman%netscape.com
6b38bbf0a1 remove msgdb dependency.
git-svn-id: svn://10.0.0.236/trunk@24914 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:21:45 +00:00
putterman%netscape.com
b096d125be Added semaphore methods for file contention.
git-svn-id: svn://10.0.0.236/trunk@24913 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:19:58 +00:00
waterson%netscape.com
19092c6c7e Made the nsCStringKey class NS_COM so that it could be exported across DLLs.
git-svn-id: svn://10.0.0.236/trunk@24912 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:12:35 +00:00
mscott%netscape.com
99eb5c0d79 the test harness supports the imap log interface. For now, that just means supporting the handle log data interface method. The harness now supports multiple interfaces so we need to write QueryInterface ourselves instead of using the macro.
git-svn-id: svn://10.0.0.236/trunk@24911 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:08:29 +00:00
matt%netscape.com
ad550fcf12 Fix for grippy bug by changing background colors.
git-svn-id: svn://10.0.0.236/trunk@24910 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:08:16 +00:00
mscott%netscape.com
fa5b1260fc Hmmm I must not have done a clobber b4 checking this in...remove the =0 stuff for Get/SetImapLog.
git-svn-id: svn://10.0.0.236/trunk@24909 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:05:13 +00:00
mscott%netscape.com
a27839579a oopos...CID and IID were the same....they should have different values.
git-svn-id: svn://10.0.0.236/trunk@24908 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:04:33 +00:00
bienvenu%netscape.com
0ae407f269 get mork parsing working so we can read existing databases
git-svn-id: svn://10.0.0.236/trunk@24906 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:01:37 +00:00
dp%netscape.com
2c635b5f35 Adding PROGID and CLASSNAME to the header.
Adding GetIID()


git-svn-id: svn://10.0.0.236/trunk@24905 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 23:00:45 +00:00
despotdaemon%netscape.com
2323d6d379 Pseudo-automatic update of changes made by jdunn@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@24904 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:57:31 +00:00
nhotta%netscape.com
b892c647de Changed error code checking in NSRegisterSelf as suggested by ftang.
git-svn-id: svn://10.0.0.236/trunk@24903 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:57:11 +00:00
mcafee%netscape.com
924b67bb6f Adding --enable-new-clipboard to turn on NEW_CLIPBOARD_SUPPORT ifdef.
git-svn-id: svn://10.0.0.236/trunk@24902 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:55:22 +00:00
dougt%netscape.com
98c4c0361e Moved javascript execution onto a new nspr thread.
added delete and replace later
got rid of unneeded IIDs in public header
Added the correct license to all files.


git-svn-id: svn://10.0.0.236/trunk@24901 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:55:00 +00:00
despotdaemon%netscape.com
68a75a0167 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@24900 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:49:32 +00:00
michaelp%netscape.com
c8bb417838 fixed rect containment test.
git-svn-id: svn://10.0.0.236/trunk@24899 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:37:50 +00:00
michaelp%netscape.com
140a738b50 fixed docs for ContainsRect().
git-svn-id: svn://10.0.0.236/trunk@24898 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:37:20 +00:00
cata%netscape.com
a5677717b0 ISO-8859-7 decoder using support classes now.
git-svn-id: svn://10.0.0.236/trunk@24897 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:37:19 +00:00
terry%netscape.com
f332f2f39e Can now query for a specified field being changed at a specified time,
optionally to a specified value.


git-svn-id: svn://10.0.0.236/trunk@24896 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:32:21 +00:00
jband%netscape.com
2b30ec2086 add implementation files for unsupported platforms to allow clean build on all platforms even though we'll have failure at runtime on unsupported platforms
git-svn-id: svn://10.0.0.236/trunk@24895 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:16:14 +00:00
cata%netscape.com
4e6377cb52 Improved support classes.
git-svn-id: svn://10.0.0.236/trunk@24894 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 22:05:39 +00:00
alecf%netscape.com
2e8c578604 hmm... mailnewsmsgdb already depends on base. That's bad.
git-svn-id: svn://10.0.0.236/trunk@24892 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:59:34 +00:00
alecf%netscape.com
6c14937e7a add libmailnewsmsgdb dependancy to make use of nsDBFolderInfo
git-svn-id: svn://10.0.0.236/trunk@24891 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:57:04 +00:00
rods%netscape.com
837e6fd38d Added new clipboard support, it is ifdef'ed out in the DoCopy method
git-svn-id: svn://10.0.0.236/trunk@24887 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:32:48 +00:00
rods%netscape.com
f287ac2f69 Added code (ifdef'ed out) to check to see if the clipboard show be forced to
the native clipboard before the app exits


git-svn-id: svn://10.0.0.236/trunk@24886 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:30:41 +00:00
rods%netscape.com
b47f7d7dbe fixed up , and added more functionality
git-svn-id: svn://10.0.0.236/trunk@24885 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:26:41 +00:00
rods%netscape.com
0f5b7b64ef Added WM_CLIPBOARDDESTROYED message
git-svn-id: svn://10.0.0.236/trunk@24884 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:26:20 +00:00
rods%netscape.com
1829faac42 fixed ifdef
git-svn-id: svn://10.0.0.236/trunk@24883 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:25:48 +00:00
rods%netscape.com
5da9b7010d Added additional methods to clipboard interfaces
git-svn-id: svn://10.0.0.236/trunk@24882 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:25:12 +00:00
rods%netscape.com
71370402c2 Added clipboard files to build
git-svn-id: svn://10.0.0.236/trunk@24881 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:25:06 +00:00
hshaw%netscape.com
e0f00f3b97 use NS_DEFINE_STATIC_IID_ACCESSOR macro
git-svn-id: svn://10.0.0.236/trunk@24880 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 21:08:05 +00:00
cyeh%netscape.com
bc029bcbb5 turn off wallet.
git-svn-id: svn://10.0.0.236/trunk@24879 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:55:39 +00:00
jband%netscape.com
ecd0137be4 adding xpconnect and xptcall directories
git-svn-id: svn://10.0.0.236/trunk@24878 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:49:58 +00:00
cata%netscape.com
8ad48b4965 added files: mozilla/intl/uconv/src/nsUnicodeDecodeHelper.cpp
git-svn-id: svn://10.0.0.236/trunk@24877 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:47:49 +00:00
cata%netscape.com
f9e2af325a Decode helper object added.
git-svn-id: svn://10.0.0.236/trunk@24876 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:47:35 +00:00
nhotta%netscape.com
8e29ef51bf Change for the new MIME encoder/decoder interface, return NULL only for errors.
git-svn-id: svn://10.0.0.236/trunk@24875 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:44:30 +00:00
jband%netscape.com
3046a25d32 getting those Unix Makefiles working again
git-svn-id: svn://10.0.0.236/trunk@24874 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:43:41 +00:00
warren%netscape.com
6c481b1e9d Changed category db to be the resource: directory.xml. Fixed cursor advancement problem.
git-svn-id: svn://10.0.0.236/trunk@24873 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:41:58 +00:00
nhotta%netscape.com
5cc359b7da Moved CID to public interface.
git-svn-id: svn://10.0.0.236/trunk@24872 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:41:51 +00:00
pierre%netscape.com
2d24ef77b0 Increased the stack size to 256K.
git-svn-id: svn://10.0.0.236/trunk@24871 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:41:29 +00:00
scc%netscape.com
ba245bf505 inlining the work of |StartAssigment| reduces |nsCOMPtr| overhead on windows.
git-svn-id: svn://10.0.0.236/trunk@24870 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:35:49 +00:00
pierre%netscape.com
b99fe92e31 Backed out my previous changes because of performance degradation in deeply nested tables. Will increase the stack size in Mac applications instead.
git-svn-id: svn://10.0.0.236/trunk@24869 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:35:38 +00:00
jband%netscape.com
50d29a4ef6 getting those Unix Makefiles working again
git-svn-id: svn://10.0.0.236/trunk@24868 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:30:06 +00:00
jband%netscape.com
6de3101eb7 re-organized xpconnect tree struct. Main sources moved from xpconnect to xpconnect/src. md stuff moved to xpcom/libxpt/xptcall
git-svn-id: svn://10.0.0.236/trunk@24867 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:22:00 +00:00
cyeh%netscape.com
bec2647778 change name from MOZ_DEBUGOPT, which is confusing to ever so slightly
less confusing name MOZ_PROFILE


git-svn-id: svn://10.0.0.236/trunk@24866 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:17:09 +00:00
dp%netscape.com
cfcf71c31a Changed Nick's email address
git-svn-id: svn://10.0.0.236/trunk@24865 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:11:36 +00:00
jband%netscape.com
251ecf7886 deleting old stuff before checking in reorged new stuff
git-svn-id: svn://10.0.0.236/trunk@24864 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:09:10 +00:00
wtc%netscape.com
cbfa263c8b Renamed MOZ_PROF to MOZ_PROFILE.
git-svn-id: svn://10.0.0.236/trunk@24863 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:02:33 +00:00
ftang%netscape.com
c0f6d2cd53 change SetDocumentCharset method to call webshell
git-svn-id: svn://10.0.0.236/trunk@24862 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:01:41 +00:00
ftang%netscape.com
509e428334 move all the intl componment into componment directory
git-svn-id: svn://10.0.0.236/trunk@24861 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 19:57:00 +00:00
mcafee%netscape.com
712e4e61b5 Exporting clipboard, drag & drop interfaces.
git-svn-id: svn://10.0.0.236/trunk@24860 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 19:44:02 +00:00
cyeh%netscape.com
1fbc021bea changes to enable layout only pull and build targets
git-svn-id: svn://10.0.0.236/trunk@24859 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 19:38:05 +00:00
danm%netscape.com
0b7b80c73b fix retrieval of old menubar handle in HandleActivateEvent. fixes crash bug when swapping the active window.
git-svn-id: svn://10.0.0.236/trunk@24858 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 19:26:50 +00:00
alecf%netscape.com
e3ada7a0be only build tests when ENABLE_TESTS is turned on
git-svn-id: svn://10.0.0.236/trunk@24857 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 19:19:52 +00:00
cata%netscape.com
8f2ad5f82a Test case for Latin1 decoder changed.
git-svn-id: svn://10.0.0.236/trunk@24855 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 18:49:32 +00:00
cata%netscape.com
2c145bc8f3 Decoder helper interface added.
git-svn-id: svn://10.0.0.236/trunk@24854 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 18:47:58 +00:00
rods%netscape.com
4f7ba5f8f7 Commented out creation of classes that aren't in the makefile anymore.
git-svn-id: svn://10.0.0.236/trunk@24852 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 17:37:29 +00:00
rods%netscape.com
8b60ebca9b Fixed compile error.
git-svn-id: svn://10.0.0.236/trunk@24848 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 17:19:31 +00:00
rods%netscape.com
d8794c9653 removed dforw.h
git-svn-id: svn://10.0.0.236/trunk@24847 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 17:12:23 +00:00
rods%netscape.com
e1e97b1938 initial add
git-svn-id: svn://10.0.0.236/trunk@24846 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 17:11:26 +00:00
sar%netscape.com
91fb81e2a8 backing out the makefile changes since all the files aren't there.
git-svn-id: svn://10.0.0.236/trunk@24845 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 17:05:21 +00:00
kipp%netscape.com
0372e5a681 Cleaned up help info; for unix added code to translate unix path names into file urls - but only for the url command line argument
git-svn-id: svn://10.0.0.236/trunk@24844 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:54:39 +00:00
rods%netscape.com
f82195869f Added code for switching over Clipboard support to new classes
At the moment the are ifdef'ed out


git-svn-id: svn://10.0.0.236/trunk@24843 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:45:58 +00:00
rods%netscape.com
9d61550acb Added new Clipboard and D&D files
git-svn-id: svn://10.0.0.236/trunk@24842 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:39:53 +00:00
rods%netscape.com
e9f3c1bd47 initial add
git-svn-id: svn://10.0.0.236/trunk@24841 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:37:34 +00:00
rods%netscape.com
0255873e25 Added new Clipboard and D&D files
also commented out some work in progress files


git-svn-id: svn://10.0.0.236/trunk@24840 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:37:20 +00:00
rods%netscape.com
2f7809c718 Fixed the DRAG_DROP ifdef
git-svn-id: svn://10.0.0.236/trunk@24839 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:35:39 +00:00
rods%netscape.com
32adb21da5 Commented out compForm variable to remove warning
git-svn-id: svn://10.0.0.236/trunk@24838 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:28:44 +00:00
rods%netscape.com
c483783ee7 initial checkin
git-svn-id: svn://10.0.0.236/trunk@24837 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:22:03 +00:00
wtc%netscape.com
32979abdf1 Restored the -D_THREAD_SAFE macro define that I incorrectly deleted
in the previous revision.  The -pthread flag does not define
_THREAD_SAFE.  Thanks to Jeremy Lea <reg@shale.csir.co.za> for
pointing this out.


git-svn-id: svn://10.0.0.236/trunk@24836 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 15:18:27 +00:00
sspitzer%netscape.com
a4138b1bd2 temporary fix for dependency problem on UNIX
need to talk to the mail-news team to resolve it the right way


git-svn-id: svn://10.0.0.236/trunk@24835 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 14:58:05 +00:00
karnaze%netscape.com
74b8b31e44 bug 3835, GetAdjustedParentFrame fixed for caption
git-svn-id: svn://10.0.0.236/trunk@24834 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 14:16:52 +00:00
jfrancis%netscape.com
ce8a8d2a09 exposing on-the-fly switchability between pre and post order iterors in the interface. exposing PositionAt in the interface.
git-svn-id: svn://10.0.0.236/trunk@24833 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 11:54:52 +00:00
rjc%netscape.com
b4b2f089d3 Temporarily commenting out remembering of file, due to Win crash in nsFileSpec at startup. (I'll investigate tomorrow!)
git-svn-id: svn://10.0.0.236/trunk@24832 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 11:10:27 +00:00
rjc%netscape.com
707d959560 Add a couple more dummy entries into sample history file.
git-svn-id: svn://10.0.0.236/trunk@24831 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 10:48:57 +00:00
rjc%netscape.com
b8074950bd Smarter "History by Date": break up entries into "Today", "Yesterday", "{day of last week}", and then finally "Week of ...".
git-svn-id: svn://10.0.0.236/trunk@24830 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 10:48:26 +00:00
jfrancis%netscape.com
b58115abe4 phase one of on-the-fly support for switching between pre and post order iteration. needed by text services.
git-svn-id: svn://10.0.0.236/trunk@24829 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 10:30:24 +00:00
rpotts%netscape.com
049c457734 added nsIBlockingNotification.h to the export list...
git-svn-id: svn://10.0.0.236/trunk@24828 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:53:39 +00:00
rickg%netscape.com
857ccb650d removed linux warnings
git-svn-id: svn://10.0.0.236/trunk@24827 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:47:54 +00:00
endico%mozilla.org
bfb08b75cb change brackes around the message id to lt and gt
git-svn-id: svn://10.0.0.236/trunk@24826 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:43:19 +00:00
endico%mozilla.org
86382948b5 convert angle brackets in subject to lt and gt
git-svn-id: svn://10.0.0.236/trunk@24824 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:31:12 +00:00
pierre%netscape.com
72a233be93 fixed #3899 "Raptor doesn't jam": in nsBlockFrame::Reflow, allocated a 4Kb nsLineLayout in the heap rather than on the stack
git-svn-id: svn://10.0.0.236/trunk@24823 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:24:01 +00:00
dp%netscape.com
c488393e86 registry added to faq
git-svn-id: svn://10.0.0.236/trunk@24819 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:04:18 +00:00
jband%netscape.com
a2781894ce getting the Makefiles working on Linux again
git-svn-id: svn://10.0.0.236/trunk@24818 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:02:27 +00:00
rjc%netscape.com
637c5ec516 Now also read-in/save-out visitCount.
git-svn-id: svn://10.0.0.236/trunk@24817 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 08:00:05 +00:00
endico%mozilla.org
86025c13ef yet another typo
git-svn-id: svn://10.0.0.236/trunk@24816 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:58:12 +00:00
endico%mozilla.org
6e6b304516 more xml hackage
git-svn-id: svn://10.0.0.236/trunk@24815 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:54:15 +00:00
jband%netscape.com
c4a33a4fe5 getting the Makefiles working on Linux again
git-svn-id: svn://10.0.0.236/trunk@24814 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:49:51 +00:00
jband%netscape.com
9458a91646 getting the Makefiles working on Linux again
git-svn-id: svn://10.0.0.236/trunk@24813 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:44:27 +00:00
endico%mozilla.org
1502b18aea fix xml start tag
git-svn-id: svn://10.0.0.236/trunk@24812 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:41:19 +00:00
rickg%netscape.com
651a5894da added recycler to nsString2
git-svn-id: svn://10.0.0.236/trunk@24811 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:33:10 +00:00
jband%netscape.com
16c4a45614 getting the Maekefiles working on Linux again
git-svn-id: svn://10.0.0.236/trunk@24810 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:30:19 +00:00
dp%netscape.com
c6eaa5a121 XPCOM Code FAQ. Initial version.
git-svn-id: svn://10.0.0.236/trunk@24809 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:27:30 +00:00
rickg%netscape.com
a0d40e6afd fixed bug in nsString; added recycler to nsString2
git-svn-id: svn://10.0.0.236/trunk@24808 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:26:27 +00:00
jband%netscape.com
6f8559e7b3 fix test Makefile.in
git-svn-id: svn://10.0.0.236/trunk@24807 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:19:15 +00:00
jband%netscape.com
61a92ba85a fix test Makefile.in
git-svn-id: svn://10.0.0.236/trunk@24806 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:16:53 +00:00
rjc%netscape.com
f06a078a6a Try and do a live import for "IE Favorites" under Windows too now.
git-svn-id: svn://10.0.0.236/trunk@24805 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:10:19 +00:00
jband%netscape.com
d7f679ffcd fix filename
git-svn-id: svn://10.0.0.236/trunk@24804 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 07:04:52 +00:00
rjc%netscape.com
cf347d5be5 Now do a live import of "IE Favorites" into our bookmarks (on Mac).
git-svn-id: svn://10.0.0.236/trunk@24803 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 06:50:16 +00:00
pierre%netscape.com
54e6394b81 fixed #3085 "Pop-up ads get drawn where you can't close them"
git-svn-id: svn://10.0.0.236/trunk@24801 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 06:45:40 +00:00
wtc%netscape.com
55391d6b13 Merged a patch contributed by jon@eyrie.org (Jonathan Lennox).
git-svn-id: svn://10.0.0.236/trunk@24794 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 05:50:11 +00:00
wtc%netscape.com
f8f3d6455d Don't need to link with -lc_r explicitly on FreeBSD. The -pthread
flag takes care of that.


git-svn-id: svn://10.0.0.236/trunk@24793 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 05:46:07 +00:00
bienvenu%netscape.com
cad05dee7c fix search for singleton folder info row
git-svn-id: svn://10.0.0.236/trunk@24792 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 05:20:33 +00:00
wtc%netscape.com
2d70c687a6 Bugzilla bug #4176: _POSIX_THREAD_PRIORITY_SCHEDULING is the feature-test
macro for pthread_attr_setscope.  Thanks to jon@eyrie.org (Jonathan Lennox)
for the patch.


git-svn-id: svn://10.0.0.236/trunk@24791 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 05:17:47 +00:00
warren%netscape.com
7a8a43c3d8 Fixed to not link with rdf.dll
git-svn-id: svn://10.0.0.236/trunk@24790 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 04:51:09 +00:00
kipp%netscape.com
6fa5329610 Compute floater combined area properly; reflow floaters when placed including below-current-line floaters
git-svn-id: svn://10.0.0.236/trunk@24789 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 04:28:20 +00:00
briano%netscape.com
7380a53f4b Switched back to building both shared and static libs by default.
git-svn-id: svn://10.0.0.236/trunk@24788 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 04:26:03 +00:00
kipp%netscape.com
7033e3dcaf Redid ReflowFloater api
git-svn-id: svn://10.0.0.236/trunk@24787 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 04:25:20 +00:00
kipp%netscape.com
49d16e278d Use combined-area to compute the final height of the area frame
git-svn-id: svn://10.0.0.236/trunk@24786 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 04:25:03 +00:00
wtc%netscape.com
032604a8a8 FreeBSD/Alpha port, contributed by Brian Ostrom <briano@netscape.com>.
Modified files: FreeBSD.mk, gencfg.c, _freebsd.cfg, _freebsd.h,
pr/tests/Makefile.


git-svn-id: svn://10.0.0.236/trunk@24785 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 04:09:23 +00:00
rjc%netscape.com
2890a274e8 Add first level of "History by Date" support.
git-svn-id: svn://10.0.0.236/trunk@24784 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 03:24:33 +00:00
amusil%netscape.com
e3775450f1 Added prelim code for ActiveX support.
git-svn-id: svn://10.0.0.236/trunk@24783 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 03:18:55 +00:00
amusil%netscape.com
fb7d574e8f Made destructors virtual, added APIs to nsIPluginHost for determining if a plugin is available
for a particular mimetype or file extension.


git-svn-id: svn://10.0.0.236/trunk@24782 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 03:18:12 +00:00
warren%netscape.com
dc293a8d6d Implemented GetDescription
git-svn-id: svn://10.0.0.236/trunk@24781 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 03:12:15 +00:00
jband%netscape.com
9c67f0a0be use code frome:
git-svn-id: svn://10.0.0.236/trunk@24780 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 02:48:57 +00:00
mccabe%netscape.com
308371b4fa Fix to bugzilla bug 4088; fixed javascript Date string parsing to
handle 12:30 AM and 12:30 PM properly.

(Previously, the code just added 12 hours whenever it saw PM.)


git-svn-id: svn://10.0.0.236/trunk@24779 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 02:48:01 +00:00
warren%netscape.com
8d712e92b2 Added stuff to dump out hex. Removed SetCookieString -- didn't make sense.
git-svn-id: svn://10.0.0.236/trunk@24778 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 02:32:09 +00:00
jband%netscape.com
afdb94aa37 initial checking of xptcall code. This module allows arbitrary invocation of xpcom methods and also allows an object to impersonate an object of an arbitrary xpcom class. This code is used for XPConnect and will also be used for a scriptable interface to RDF. The build scheme for libxpt, xptinfo, and xpconnect may be a bit screwy on some platforms until this settles down. Luckily, none of these modules are part of the client build yet and very few people should even notice the change
git-svn-id: svn://10.0.0.236/trunk@24777 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 02:23:29 +00:00
jefft%netscape.com
1d9deec2ec initial coding for nsImapProxyEvent
git-svn-id: svn://10.0.0.236/trunk@24776 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 02:18:53 +00:00
warren%netscape.com
13cb072f4b Added stuff to look for parent directory urls.
git-svn-id: svn://10.0.0.236/trunk@24775 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 02:13:04 +00:00
dp%netscape.com
997ea25064 Updated new tasks
git-svn-id: svn://10.0.0.236/trunk@24774 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 02:06:31 +00:00
dp%netscape.com
7f771c5932 Updated new tasks
git-svn-id: svn://10.0.0.236/trunk@24773 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:59:35 +00:00
dp%netscape.com
56c18c9779 Todo list for xpcom. Initial version
git-svn-id: svn://10.0.0.236/trunk@24770 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:53:31 +00:00
warren%netscape.com
6769172604 Fixed resource release problem.
git-svn-id: svn://10.0.0.236/trunk@24769 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:52:20 +00:00
warren%netscape.com
25266ade32 Now it manages the vector (untested).
git-svn-id: svn://10.0.0.236/trunk@24767 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:50:00 +00:00
waterson%netscape.com
aec2200680 Initial revision. Not currently in the build.
git-svn-id: svn://10.0.0.236/trunk@24766 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:46:44 +00:00
waterson%netscape.com
095b925f78 Fixed some syntax errors that I found when I actually tried to compile.
git-svn-id: svn://10.0.0.236/trunk@24765 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:46:12 +00:00
kipp%netscape.com
1f77886edb Handle both left or right floaters impacting a line; fixed assert to be more accurate
git-svn-id: svn://10.0.0.236/trunk@24763 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:33:36 +00:00
kipp%netscape.com
2bea53205b Simply floater counters; handle case of a single occupied trapezoid
git-svn-id: svn://10.0.0.236/trunk@24762 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:32:55 +00:00
kipp%netscape.com
66a375fa18 Simply floater counters
git-svn-id: svn://10.0.0.236/trunk@24761 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:32:36 +00:00
waterson%netscape.com
7fc73d4d08 Added an Init() method to allow the creator to specify an alternate
character size for the internal representation.


git-svn-id: svn://10.0.0.236/trunk@24760 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:29:16 +00:00
ftang%netscape.com
651e34462e fix bug 3883 4048 by 1) correct mapping for U+FF60 to U+FF9F. 2) add class mapping for U+3099 - U+309E
git-svn-id: svn://10.0.0.236/trunk@24759 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:13:33 +00:00
ftang%netscape.com
b17ddfb72b check in fix for bustage
git-svn-id: svn://10.0.0.236/trunk@24758 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 01:03:11 +00:00
ftang%netscape.com
83b248eaa2 fix unix warning
git-svn-id: svn://10.0.0.236/trunk@24757 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:59:19 +00:00
waterson%netscape.com
778fd7d63f Added nsIString interface.
git-svn-id: svn://10.0.0.236/trunk@24756 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:43:54 +00:00
cyeh%netscape.com
9e11f69696 add silentdl to RaptorDist
git-svn-id: svn://10.0.0.236/trunk@24755 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:38:08 +00:00
endico%mozilla.org
b91ef439bc add index.html newsbot.rdf.tmp
git-svn-id: svn://10.0.0.236/trunk@24754 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:34:54 +00:00
mscott%netscape.com
9055858054 add getters and setters for new imap sink: imap log.
git-svn-id: svn://10.0.0.236/trunk@24753 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:31:31 +00:00
mscott%netscape.com
2b2aa46370 add getters and setters for new imap sink: imap log
git-svn-id: svn://10.0.0.236/trunk@24752 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:30:31 +00:00
rickg%netscape.com
0eea29e86d removed unsightly warnings from string classes
git-svn-id: svn://10.0.0.236/trunk@24751 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:28:36 +00:00
mscott%netscape.com
a00004c8fa export nsIImapLog.h
git-svn-id: svn://10.0.0.236/trunk@24750 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:26:08 +00:00
mscott%netscape.com
9ce3068649 first created. Imap log interface. Right now the only method in the interface
is one to handle log information from the imap protocol....


git-svn-id: svn://10.0.0.236/trunk@24749 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:25:43 +00:00
rickg%netscape.com
67ae246c6c fixed badly formed entity bug
git-svn-id: svn://10.0.0.236/trunk@24748 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:23:51 +00:00
alecf%netscape.com
732c1bd325 eliminate use of functions we don't have on Unix - INTL_*, etc..
git-svn-id: svn://10.0.0.236/trunk@24747 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:23:09 +00:00
despotdaemon%netscape.com
dbdbc8f091 Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@24746 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:22:44 +00:00
alecf%netscape.com
d3d3ce2fe2 this is now the build directory for the msgcompose dll
git-svn-id: svn://10.0.0.236/trunk@24744 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:06:25 +00:00
endico%mozilla.org
68494a6cd2 dostage now creates symlinks that point to /opt/newsbot
git-svn-id: svn://10.0.0.236/trunk@24743 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 00:02:46 +00:00
alecf%netscape.com
48bc97be3c reduce dependancy on msgbase by using CreateInstance to create RFC822Parsers
git-svn-id: svn://10.0.0.236/trunk@24742 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:58:39 +00:00
alecf%netscape.com
b5f7dc84f6 don't need to link static libraries against external dlls
git-svn-id: svn://10.0.0.236/trunk@24741 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:57:35 +00:00
warren%netscape.com
504afff9b3 Added new browsing profile stuff.
git-svn-id: svn://10.0.0.236/trunk@24740 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:51:38 +00:00
alecf%netscape.com
4a40515c9e - this is no longer a component, it's a static library that will be linked into the compose component
- link in the JS stub code for nsIComposer


git-svn-id: svn://10.0.0.236/trunk@24739 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:51:20 +00:00
alecf%netscape.com
d25be0a651 add JS stubs for this class
git-svn-id: svn://10.0.0.236/trunk@24737 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:50:47 +00:00
terry%netscape.com
a241194b0d Patch by Dru Nelson <dnelson@redwoodsoft.com> -- quote the
logincookie, just in case some silly user mucked with their cookie file.


git-svn-id: svn://10.0.0.236/trunk@24736 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:48:39 +00:00
gagan%netscape.com
faea177b4b NuNet. Not in the build yet. First checkin.... miles to go before I sleep (or work)
git-svn-id: svn://10.0.0.236/trunk@24734 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:46:37 +00:00
sspitzer%netscape.com
1bee7e3881 making this match makefile.win
in addition to re-ordering the directories, imap was removed, since it
isn't in makefile.win.


git-svn-id: svn://10.0.0.236/trunk@24733 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:30:23 +00:00
wtc%netscape.com
65db3592ef Removed extraneous macro defines that are already defined
by the compiler.


git-svn-id: svn://10.0.0.236/trunk@24732 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:29:46 +00:00
sspitzer%netscape.com
e0b3c810d0 fix a spelling mistake: Navigatoe -> Navigator
git-svn-id: svn://10.0.0.236/trunk@24731 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:28:17 +00:00
mscott%netscape.com
3a3d42d30c Initialize a variable to null. Assert if we are unable to create an instance of the prefs service.
git-svn-id: svn://10.0.0.236/trunk@24730 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:27:44 +00:00
sspitzer%netscape.com
5517b5368a export the resources to the right places for install
remove those resources for clobber


git-svn-id: svn://10.0.0.236/trunk@24729 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:27:22 +00:00
mscott%netscape.com
f56b842eac Link with the msgcoreutil library.
git-svn-id: svn://10.0.0.236/trunk@24728 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:26:21 +00:00
sspitzer%netscape.com
81685308a1 added imap test makefiles
git-svn-id: svn://10.0.0.236/trunk@24727 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:25:56 +00:00
mscott%netscape.com
64b17a26e8 The wrong pointer was getting passed into the create instance call for the event queue service.
git-svn-id: svn://10.0.0.236/trunk@24726 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:25:45 +00:00
mscott%netscape.com
f97b8684cb Updates for QA smoketest stuff. We need to manually register the prefs component because the dll
does not get built into the components directory.


git-svn-id: svn://10.0.0.236/trunk@24725 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:23:58 +00:00
mscott%netscape.com
448bd73b53 OnStopBinding call in protocol handler should trigger a change in the url state.
git-svn-id: svn://10.0.0.236/trunk@24724 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:21:45 +00:00
dcone%netscape.com
24ee0651b8 Took out nsOldDrawingSurfaceGTK.h, this was lost between checkins
git-svn-id: svn://10.0.0.236/trunk@24723 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:16:42 +00:00
endico%mozilla.org
54142cfdc2 don't copy anything to the stage directory. dostage will do this now
git-svn-id: svn://10.0.0.236/trunk@24722 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:11:02 +00:00
waterson%netscape.com
583165d461 Added history back-end hookup. This may need to change modulo some ideas about making history more standalone, but for now, it gets stuff working.
git-svn-id: svn://10.0.0.236/trunk@24721 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:06:13 +00:00
wtc%netscape.com
a7b84ef29a Merged NSPR patches for BSD/OS 4.0.1 + sparc, contributed by
Kurt J. Lidl <lidl@eng.us.uu.net>.
Modified files: BSD_OS.mk, _bsdi.cfg, _bsdi.h.


git-svn-id: svn://10.0.0.236/trunk@24718 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:04:13 +00:00
kipp%netscape.com
085fd06130 Improve max-element-size computations and diagnostics
git-svn-id: svn://10.0.0.236/trunk@24717 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 23:03:31 +00:00
kipp%netscape.com
af25c30033 More cleanup of the combined-area computations; make sure we render every line when we have outside children; fixed up max-element-size computations to not double count floaters
git-svn-id: svn://10.0.0.236/trunk@24716 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:42:30 +00:00
kipp%netscape.com
ad2b17bf7e Added GetDepth debug method
git-svn-id: svn://10.0.0.236/trunk@24715 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:41:09 +00:00
putterman%netscape.com
ba6089d0eb Implemented Exit menu item. Started working on copy and move menu item.
git-svn-id: svn://10.0.0.236/trunk@24714 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:36:19 +00:00
putterman%netscape.com
dc73954b17 Implemented Exit menu item.
git-svn-id: svn://10.0.0.236/trunk@24713 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:34:43 +00:00
rickg%netscape.com
a6cfda7e13 fixed link error
git-svn-id: svn://10.0.0.236/trunk@24712 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:26:17 +00:00
ftang%netscape.com
4550ae4abf add Set/GetDefaultCharacterSet to nsWebShell. Reviewed and approved by nisheeth
git-svn-id: svn://10.0.0.236/trunk@24711 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:21:22 +00:00
sar%netscape.com
3213420ffa add modules/libjar and xpinstall to SeaMonkey. --sarah
git-svn-id: svn://10.0.0.236/trunk@24710 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:20:08 +00:00
robinf%netscape.com
92ea1ace90 updating files to reflect latest UI for cck wizard
git-svn-id: svn://10.0.0.236/trunk@24709 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:12:23 +00:00
akkana%netscape.com
8d57bb62e9 Add hard-coded alt-I for testing insert html
git-svn-id: svn://10.0.0.236/trunk@24708 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:10:29 +00:00
rickg%netscape.com
3ac314a6f7 added nsString to unix make system
git-svn-id: svn://10.0.0.236/trunk@24707 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:09:37 +00:00
robinf%netscape.com
bfe627aa23 adding new show example bitmaps for cck wizard
git-svn-id: svn://10.0.0.236/trunk@24706 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:08:03 +00:00
rickg%netscape.com
09d81c6e0e added nsString2 to makefile
git-svn-id: svn://10.0.0.236/trunk@24705 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:06:28 +00:00
rickg%netscape.com
d73481fe03 fixed nsString2 build problem
git-svn-id: svn://10.0.0.236/trunk@24704 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 22:03:14 +00:00
danm%netscape.com
5065fcea60 plug leak in CheckForTrailingSlash. r:nisheeth
git-svn-id: svn://10.0.0.236/trunk@24703 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:53:58 +00:00
dcone%netscape.com
3fbd23b07e fixed small mac bug
git-svn-id: svn://10.0.0.236/trunk@24702 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:52:57 +00:00
dcone%netscape.com
9a13cf785f Fixed small mac bug
git-svn-id: svn://10.0.0.236/trunk@24701 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:52:39 +00:00
dcone%netscape.com
940480dc67 Include files added for default fonts
git-svn-id: svn://10.0.0.236/trunk@24700 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:48:16 +00:00
akkana%netscape.com
8e9c3d1998 Pass the stream's pcount as the count of characters copied; previously we were sometimes overrunning the string
git-svn-id: svn://10.0.0.236/trunk@24699 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:48:10 +00:00
dcone%netscape.com
72b8d7d874 Added UNIX support for postscript printing, fixed many bugs.
Added nsIDeviceContextSpecPS interface so we can do PS on any platoform, get
information from the print dialog.


git-svn-id: svn://10.0.0.236/trunk@24698 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:45:00 +00:00
terry%netscape.com
177f1ebf33 Turns out the javascript I was using was version 1.2, not 1.1. Who knew?
git-svn-id: svn://10.0.0.236/trunk@24697 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:34:39 +00:00
kmcclusk%netscape.com
8b55ff9f7b Various modifications/fixes/cleanup for frame-based listboxes.
Set display type to block for option elements in ua.css.
Enable frame-based listboxes when widget render mode is gfx.


git-svn-id: svn://10.0.0.236/trunk@24696 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:32:12 +00:00
dcone%netscape.com
55501f9517 Added nsStr.h and nsString2.h for public
git-svn-id: svn://10.0.0.236/trunk@24695 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:30:38 +00:00
dcone%netscape.com
21b944cb47 added nsStr.cpp and nsString2.cpp to project
git-svn-id: svn://10.0.0.236/trunk@24694 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:29:52 +00:00
akkana%netscape.com
6f75251505 Put back the explicit alphanumeric/keypad/fcn translations; turns out we need them for handling control/shift/modifier keys
git-svn-id: svn://10.0.0.236/trunk@24693 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:19:17 +00:00
cyeh%netscape.com
c6bbdb9cdf slightly re-arrange Raptor and RaptorWin modules
git-svn-id: svn://10.0.0.236/trunk@24692 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 21:13:17 +00:00
kipp%netscape.com
0511c76eff Tweaked to handle unconstrained situations better
git-svn-id: svn://10.0.0.236/trunk@24691 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:47:21 +00:00
kipp%netscape.com
6823c95c0f Cleaned up combined area calculations
git-svn-id: svn://10.0.0.236/trunk@24690 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:46:09 +00:00
briano%netscape.com
31e1b60382 Automated update
git-svn-id: svn://10.0.0.236/trunk@24689 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:45:44 +00:00
kipp%netscape.com
b117f217cd Work around 3238 partially until we have a real solution
git-svn-id: svn://10.0.0.236/trunk@24688 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:45:26 +00:00
kipp%netscape.com
1b8b36d3e5 Made state that is really per-span state part of PerSpanData to fix some reflow bugs
git-svn-id: svn://10.0.0.236/trunk@24687 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:45:09 +00:00
slamm%netscape.com
2c1ed1ea51 Pull CFLAGS out of link line. Remove some implicit rules that we do not use. Fix -jN build problems (Create directories with their own target).
git-svn-id: svn://10.0.0.236/trunk@24686 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:43:05 +00:00
slamm%netscape.com
3ff33c1f51 Pull CFLAGS out of link line.
git-svn-id: svn://10.0.0.236/trunk@24685 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:43:02 +00:00
slamm%netscape.com
6b6cd486d7 Standardize on '.mozconfig' for configure script name.
git-svn-id: svn://10.0.0.236/trunk@24684 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:42:58 +00:00
slamm%netscape.com
06ba1964bc Quote shell variable in comparison (otherwise it gives an error when undefined).
git-svn-id: svn://10.0.0.236/trunk@24683 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:42:40 +00:00
slamm%netscape.com
eafed43a88 Fix LD_LIBRARY_PATH for nspr. Drop '.sh' from mozconfig name.
git-svn-id: svn://10.0.0.236/trunk@24682 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:42:31 +00:00
slamm%netscape.com
2215cbbcef Slight logic tweak. Remove '|' after line number for a lighter look.
git-svn-id: svn://10.0.0.236/trunk@24681 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:24:44 +00:00
slamm%netscape.com
38380f4ab3 Use banner.html for banner again. Add NOWRAP to navigation links.
git-svn-id: svn://10.0.0.236/trunk@24680 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:16:33 +00:00
slamm%netscape.com
3d97b61e91 Simpler mechanism for controlling the tables. <PRE> tags are still not closed (may not be worth fixing them). Position popup next to link. Fix typo. Include banner to help configurability.
git-svn-id: svn://10.0.0.236/trunk@24679 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:15:27 +00:00
pinkerton%netscape.com
c768a257ac comment out the code that does its own painting. Just defer to the nsBlockFrame::Paint() for now, until we need to do some more at drag time.
git-svn-id: svn://10.0.0.236/trunk@24678 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 19:21:19 +00:00
pinkerton%netscape.com
6be3c6af6c updated to show off min-height working with empty toolbars.
git-svn-id: svn://10.0.0.236/trunk@24677 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 19:20:13 +00:00
bienvenu%netscape.com
6a77c85f36 fix problem with SetLeafName r+a=mcmullen
git-svn-id: svn://10.0.0.236/trunk@24676 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 19:15:30 +00:00
pinkerton%netscape.com
2cad339fe9 Make toolbars block frames so that they react correctly in the presence of min/max height attributes. fixes bug #3504.
git-svn-id: svn://10.0.0.236/trunk@24675 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 19:08:25 +00:00
locka%iol.ie
39ba3805b3 Fixed duff return code test
git-svn-id: svn://10.0.0.236/trunk@24674 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 19:06:55 +00:00
locka%iol.ie
39e23d965b More DOM improvements
git-svn-id: svn://10.0.0.236/trunk@24673 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 18:59:48 +00:00
harishd%netscape.com
24bc2c902e Ignoring unwanted tags in <head>
git-svn-id: svn://10.0.0.236/trunk@24672 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 18:46:01 +00:00
beard%netscape.com
95a2ea8929 updated build instructions
git-svn-id: svn://10.0.0.236/trunk@24670 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 17:19:26 +00:00
kipp%netscape.com
a943a32678 DIsabled a free of stack memory
git-svn-id: svn://10.0.0.236/trunk@24669 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 15:42:07 +00:00
rickg%netscape.com
b91799a999 minor fixes to parser; fixed DoCopy
git-svn-id: svn://10.0.0.236/trunk@24668 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 10:19:09 +00:00
rickg%netscape.com
017dac3409 landing nsString2
git-svn-id: svn://10.0.0.236/trunk@24667 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 09:54:46 +00:00
endico%mozilla.org
c5d9fc0575 add new image for My Netscape
git-svn-id: svn://10.0.0.236/trunk@24666 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 09:46:05 +00:00
dp%netscape.com
e9779209fc You Have Got ftp directory!
git-svn-id: svn://10.0.0.236/trunk@24665 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 09:12:29 +00:00
jfrancis%netscape.com
6a6a648796 bug 4057: fix is in layout; here I'm removing the old workaround code
git-svn-id: svn://10.0.0.236/trunk@24664 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 09:04:06 +00:00
jfrancis%netscape.com
356ea1dcd5 fixed 4057: Clear() now resets focus and anchor nodes
git-svn-id: svn://10.0.0.236/trunk@24663 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 09:02:30 +00:00
rickg%netscape.com
a1384a7aec prep work to land nsString2
git-svn-id: svn://10.0.0.236/trunk@24662 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 08:29:26 +00:00
jfrancis%netscape.com
6b4a9e3ee5 ADDED "white-space: pre" to style sheet
git-svn-id: svn://10.0.0.236/trunk@24661 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 08:09:08 +00:00
rpotts%netscape.com
0b2339c91a Pre-register the XPComFactory until nsappshell.dll is automatically registered...
git-svn-id: svn://10.0.0.236/trunk@24660 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 07:52:22 +00:00
rpotts%netscape.com
7dbe355a7f Treat the progID argument on createInstance(...) as a progID - not a CLSID
git-svn-id: svn://10.0.0.236/trunk@24659 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 07:51:13 +00:00
rpotts%netscape.com
f965719107 Fixed up cut/paste error in NSUnRegisterSelf(...)
git-svn-id: svn://10.0.0.236/trunk@24658 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 07:50:26 +00:00
rpotts%netscape.com
a12f77eb72 turned on the XPConnectFactory since it is now building on all platforms...
git-svn-id: svn://10.0.0.236/trunk@24657 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 06:27:36 +00:00
dougt%netscape.com
f0a9cb75d1 Updated makefile to use nspr version 3.
git-svn-id: svn://10.0.0.236/trunk@24656 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 06:10:59 +00:00
bienvenu%netscape.com
5519876793 initial entry into cvs
git-svn-id: svn://10.0.0.236/trunk@24655 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 05:11:27 +00:00
bienvenu%netscape.com
880a567224 initial entry into cvs ofnews database
git-svn-id: svn://10.0.0.236/trunk@24654 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 05:09:55 +00:00
bienvenu%netscape.com
d2152b44ab more porting of news database
git-svn-id: svn://10.0.0.236/trunk@24653 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 05:09:29 +00:00
leif%netscape.com
0b80b6c496 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@24651 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 04:13:25 +00:00
leif%netscape.com
8dea606bd6 - Added support for add()'ing entries from a hash array.
- Preserve attribute orders.
- Bug fixes...


git-svn-id: svn://10.0.0.236/trunk@24650 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 04:12:41 +00:00
leif%netscape.com
f15ed9f8b4 - Added new() method.
- Added DESTROY method, to solve memory leaks.
- Tons of changes for handling save/modified/delete states.
- Added the attrClean() method, which is used from Conn.pm
- Bug-fixes galore.


git-svn-id: svn://10.0.0.236/trunk@24649 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 04:04:56 +00:00
pavlov%pavlov.net
f49cdc71d0 fix crash
git-svn-id: svn://10.0.0.236/trunk@24648 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 03:48:51 +00:00
pavlov%pavlov.net
31f2c8d6df memory leak patch from bruce@cybersight.com
git-svn-id: svn://10.0.0.236/trunk@24647 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 02:57:06 +00:00
pavlov%pavlov.net
92d87fd9ca fix up some more ugly memory leaks.
git-svn-id: svn://10.0.0.236/trunk@24645 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 02:36:41 +00:00
endico%mozilla.org
b0d65f24ba ignore output files when updating source
git-svn-id: svn://10.0.0.236/trunk@24643 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 02:27:40 +00:00
endico%mozilla.org
28f55a8f19 be quiet
git-svn-id: svn://10.0.0.236/trunk@24642 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 02:13:32 +00:00
pavlov%pavlov.net
694a70148e fix up some mem leaks caused by Push/PopState()
git-svn-id: svn://10.0.0.236/trunk@24641 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 01:50:34 +00:00
endico%mozilla.org
e45783d202 update the source from cvs
git-svn-id: svn://10.0.0.236/trunk@24640 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 01:40:22 +00:00
endico%mozilla.org
6197e2b86a limit rdf file to 15 most recent submissions
git-svn-id: svn://10.0.0.236/trunk@24638 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 01:12:00 +00:00
endico%mozilla.org
b71a0cfe12 adding rdf support
git-svn-id: svn://10.0.0.236/trunk@24636 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 00:55:53 +00:00
pavlov%pavlov.net
5aba2d2a38 fix a memory leak.
git-svn-id: svn://10.0.0.236/trunk@24634 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 21:50:59 +00:00
pavlov%pavlov.net
e1557c7628 stomp a few more bugs from my previous checkin.
git-svn-id: svn://10.0.0.236/trunk@24633 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 21:31:58 +00:00
beard%netscape.com
57113a3af1 QueryInterface build bustage (argh)
git-svn-id: svn://10.0.0.236/trunk@24632 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 21:11:53 +00:00
pavlov%pavlov.net
ff8805032f fix refcounting.
git-svn-id: svn://10.0.0.236/trunk@24631 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 21:01:21 +00:00
beard%netscape.com
740c8bf189 new implementation of GetScriptObject, returns a script object that is a wrapper for the Java applet object, whose prototype points to the standard DOM element object. This allows the applet's public fields to shadow the DOM properties. only turned on for XP_MAC.
git-svn-id: svn://10.0.0.236/trunk@24630 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 20:48:49 +00:00
beard%netscape.com
fcb16f7e0a added CancelTimer() method to turn off the timer at a safe time; added NS_GetObjectFramePluginInstance() to access the associated plugin instance with an nsObjectFrame; fixed some attribute accessor bugs, returns an error if an attribute doesn't exist; implemented GetArchive() and GetMayScript(); added GUItoMacEvent().
git-svn-id: svn://10.0.0.236/trunk@24629 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 20:48:31 +00:00
pavlov%pavlov.net
616ab48de1 nsRenderingContextGTK now uses nsDrawingSurfaceGTK
git-svn-id: svn://10.0.0.236/trunk@24628 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 20:42:01 +00:00
beard%netscape.com
4b746a1a16 changed jvmMochaPrefsEnabled to be default true, cleaned up in preparation for making JSObject.getWindow.
git-svn-id: svn://10.0.0.236/trunk@24627 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:56:09 +00:00
locka%iol.ie
af0e6693fe Added (very) basic IE DOM support
git-svn-id: svn://10.0.0.236/trunk@24626 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:53:29 +00:00
beard%netscape.com
0b7e535830 added WrapJavaObject, which wraps a JNI global reference in a JSObject.
git-svn-id: svn://10.0.0.236/trunk@24625 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:53:28 +00:00
locka%iol.ie
ce5b817604 Fixed control to build with latest plugin changes
git-svn-id: svn://10.0.0.236/trunk@24624 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:52:01 +00:00
locka%iol.ie
91a502b4d9 Added ability for tests to output messages
git-svn-id: svn://10.0.0.236/trunk@24623 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:51:19 +00:00
beard%netscape.com
f51c28379a added IID accessor
git-svn-id: svn://10.0.0.236/trunk@24622 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:51:01 +00:00
dp%netscape.com
5fb82d9f8b getting ftp:// urls working. Ftp urls to a file will work.
Still ftp directory and ftp authentication need implementation.


git-svn-id: svn://10.0.0.236/trunk@24621 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:38:45 +00:00
dp%netscape.com
c8ba1ff910 Patch for unsigned vs signed warnings. Thanks to <bruce@cybersight.com>
git-svn-id: svn://10.0.0.236/trunk@24620 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 19:26:32 +00:00
beard%netscape.com
199401db54 Using println rather than applet.print, since JSObject.getWindow() isn't working yet.
git-svn-id: svn://10.0.0.236/trunk@24619 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 17:29:39 +00:00
pavlov%pavlov.net
f23d47e5f9 general code cleanup. make listboxes look nicer.
git-svn-id: svn://10.0.0.236/trunk@24618 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 17:18:09 +00:00
pavlov%pavlov.net
7008c2edf9 add a cast to fix build problems on the ports tinderboxes.
git-svn-id: svn://10.0.0.236/trunk@24617 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 15:42:44 +00:00
gagan%netscape.com
c306da3732 Made non-virtual destructors virtual. Thanks Bruce@cybersight.com
git-svn-id: svn://10.0.0.236/trunk@24616 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 09:31:31 +00:00
hshaw%netscape.com
e399b98073 Make destructors for nsPref and nsPrefFactory so we don't have uninitialization problems. Thanks bruce@cybersight.com
git-svn-id: svn://10.0.0.236/trunk@24615 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 09:03:26 +00:00
dougt%netscape.com
6c1d502ade Fixing unix breakage.
git-svn-id: svn://10.0.0.236/trunk@24614 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 06:57:56 +00:00
pavlov%pavlov.net
fc61d119f6 code cleanup and internal gtk refcounting changes.
git-svn-id: svn://10.0.0.236/trunk@24613 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 06:25:34 +00:00
dougt%netscape.com
61ba04689f Now adjusting the nsFileSpec after a Move().
Also fixing a bug with Rename().  Now it should successfully take
partial pathnames on Unix and Windows.


git-svn-id: svn://10.0.0.236/trunk@24612 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 06:22:45 +00:00
pavlov%pavlov.net
80c6b191c1 fix build bustage i think (it worked before for me!)
git-svn-id: svn://10.0.0.236/trunk@24611 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 06:10:17 +00:00
pavlov%pavlov.net
3edcc9d000 patch part two.. make the destructor virtual
git-svn-id: svn://10.0.0.236/trunk@24610 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 06:05:24 +00:00
pavlov%pavlov.net
89ed0e426d patch (part 1) from bruce@cybersight.com to fix little bugs.
git-svn-id: svn://10.0.0.236/trunk@24609 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 06:04:23 +00:00
pavlov%pavlov.net
281d90f853 being implimenting the use of CmdLineService, add internal gtk refcounting
measures (not complete), and remove some excess code.


git-svn-id: svn://10.0.0.236/trunk@24608 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 05:23:47 +00:00
pierre%netscape.com
a834132835 #3974 "mac crashes when hitting return to submit form"
git-svn-id: svn://10.0.0.236/trunk@24607 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 04:35:01 +00:00
braddr%puremagic.com
f096e46396 Erk.. that broke cvsblame
git-svn-id: svn://10.0.0.236/trunk@24606 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 03:20:09 +00:00
braddr%puremagic.com
3168e060b2 Must close </td></tr></table> at the end of the page.. otherwise lots of content never renders under nscp 4
git-svn-id: svn://10.0.0.236/trunk@24605 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 03:17:56 +00:00
kipp%netscape.com
a6e54a1b19 Support redo-reflow for lines to handle reflow around large floaters
git-svn-id: svn://10.0.0.236/trunk@24604 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 01:15:12 +00:00
kipp%netscape.com
0eba164710 Reworked CanPlaceFrame logic to be slightly more efficient and to handle breaking around floaters differently to conform to CSS
git-svn-id: svn://10.0.0.236/trunk@24603 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 01:14:43 +00:00
kipp%netscape.com
e8abf03de9 Added state to keep track of lines that are impacted by floaters
git-svn-id: svn://10.0.0.236/trunk@24602 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 01:14:05 +00:00
kipp%netscape.com
4eefb39482 Ask line if we are breakable instead of using our own logic
git-svn-id: svn://10.0.0.236/trunk@24601 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-21 01:13:17 +00:00
beard%netscape.com
0e7cf7cdfc fixed reference count leaking, File no longer nulls out mCallbackObject.
git-svn-id: svn://10.0.0.236/trunk@24600 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 23:15:02 +00:00
beard%netscape.com
741b9e3f4d put in NULL checks for mInstance.
git-svn-id: svn://10.0.0.236/trunk@24599 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 23:13:41 +00:00
beard%netscape.com
062077ef82 NPStream* ptr -> NPStream* stream
git-svn-id: svn://10.0.0.236/trunk@24598 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 23:12:43 +00:00
beard%netscape.com
563b81185c implemented nsICookieStorage.
git-svn-id: svn://10.0.0.236/trunk@24597 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 23:11:25 +00:00
beard%netscape.com
5f070d8c6c added nsICookieStorage.h
git-svn-id: svn://10.0.0.236/trunk@24596 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 23:07:52 +00:00
kipp%netscape.com
27d5937b9b Use CRAZY macros for debug noise
git-svn-id: svn://10.0.0.236/trunk@24595 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 21:57:03 +00:00
kipp%netscape.com
61349905c4 Added crazy macros
git-svn-id: svn://10.0.0.236/trunk@24594 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 21:56:11 +00:00
kipp%netscape.com
a5a4f0c293 switch to using CRAZY macros
git-svn-id: svn://10.0.0.236/trunk@24593 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 21:55:59 +00:00
kipp%netscape.com
a34759dd7e Removed some cruft
git-svn-id: svn://10.0.0.236/trunk@24592 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 21:55:37 +00:00
kipp%netscape.com
c58c1e2555 Fixed a bug with zero height spans and combined area calculations that led to tall vertical scrollbars...; also switch to using CRAZY macros
git-svn-id: svn://10.0.0.236/trunk@24591 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 21:55:22 +00:00
kipp%netscape.com
3a827eb066 Reworked the way that the final metrics are computed; support min/max width/height; track max-element-size issues better; disabled compact frame handling
git-svn-id: svn://10.0.0.236/trunk@24590 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 19:40:13 +00:00
kipp%netscape.com
d9817b176d Fixed a typo bug
git-svn-id: svn://10.0.0.236/trunk@24589 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 19:39:08 +00:00
kipp%netscape.com
4e9fbfafc5 Added some debugging help for tracking down max-element-size bugs
git-svn-id: svn://10.0.0.236/trunk@24588 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 19:38:50 +00:00
kipp%netscape.com
d0ccddea6c applied Kartik Subbarao's <subbarao@computer.org> patch for HPUX linking
git-svn-id: svn://10.0.0.236/trunk@24587 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 19:05:05 +00:00
waterson%netscape.com
43dc9e3cac Hooked up history to the front-end, cleaned up a bunch of bugs.
git-svn-id: svn://10.0.0.236/trunk@24586 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 17:12:37 +00:00
kipp%netscape.com
a697f3cf69 Table's, tr's, td's and th's now support navigators background attribute properly including backgrounds impacted by BASE tags - bug #2020
git-svn-id: svn://10.0.0.236/trunk@24585 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 15:42:21 +00:00
endico%mozilla.org
6d431e4a41 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@24584 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 08:19:28 +00:00
mcafee%netscape.com
b7067ab306 Minor formatting change for error output.
git-svn-id: svn://10.0.0.236/trunk@24583 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:25:54 +00:00
beard%netscape.com
7daa91ccd4 bumped version
git-svn-id: svn://10.0.0.236/trunk@24582 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:14:33 +00:00
beard%netscape.com
d59fccd85e reworked initialization/termination routines, now adds MRJPlugin.jar to the class path, assuming same directory as plugin, removes event filters upon termination.
git-svn-id: svn://10.0.0.236/trunk@24581 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:14:22 +00:00
beard%netscape.com
9c13dee3d1 added MRJConsole.jar target, added EventFilter.cpp
git-svn-id: svn://10.0.0.236/trunk@24580 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:14:12 +00:00
beard%netscape.com
41829597b9 added MouseListener popup menu trigger.
git-svn-id: svn://10.0.0.236/trunk@24579 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:13:22 +00:00
danm%netscape.com
86c085c3c6 initial modal dialogs checkin (windows-only, UI thread only)
git-svn-id: svn://10.0.0.236/trunk@24578 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:13:09 +00:00
beard%netscape.com
7c3d4dba58 addToClassPath(const FSSpec& fileSpec)
git-svn-id: svn://10.0.0.236/trunk@24577 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:12:59 +00:00
beard%netscape.com
127595ba9b added setDocumentBase, reworked CODEBASE logic.
git-svn-id: svn://10.0.0.236/trunk@24576 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:09:38 +00:00
beard%netscape.com
12bb18be7b Added more events, added menu filtering.
git-svn-id: svn://10.0.0.236/trunk@24575 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:08:52 +00:00
beard%netscape.com
5edea082fe First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24574 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:08:17 +00:00
beard%netscape.com
43767a6e2a added Jump instruction for safe removal. this is a dead-end, because update events can't be gotten reliably.
git-svn-id: svn://10.0.0.236/trunk@24573 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 04:08:04 +00:00
bienvenu%netscape.com
65c27593b6 register prefs service, put in default url spec
git-svn-id: svn://10.0.0.236/trunk@24572 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 03:07:31 +00:00
saari%netscape.com
baec19559b missing file
git-svn-id: svn://10.0.0.236/trunk@24571 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:56:03 +00:00
tague%netscape.com
b5f45095b1 Fixed purify errors. Thanks to bruce@cybersight.com for the patches.
git-svn-id: svn://10.0.0.236/trunk@24570 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:42:18 +00:00
alecf%netscape.com
f26593c07d oops, back out my old patch - caused more harm than good
git-svn-id: svn://10.0.0.236/trunk@24569 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:41:27 +00:00
saari%netscape.com
89279e76c7 nsIMenu.h changes
git-svn-id: svn://10.0.0.236/trunk@24568 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:38:58 +00:00
alecf%netscape.com
f32a1c706d fix newline and end of file problem
git-svn-id: svn://10.0.0.236/trunk@24567 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:34:54 +00:00
alecf%netscape.com
e15a6246cb there is no header file on unix that actually includes this path. wierd.
git-svn-id: svn://10.0.0.236/trunk@24566 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:34:31 +00:00
alecf%netscape.com
ee375b123e fix spaces-at-end-of-line problem
git-svn-id: svn://10.0.0.236/trunk@24565 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:32:06 +00:00
alecf%netscape.com
e97eee4f92 ignore generated files
git-svn-id: svn://10.0.0.236/trunk@24564 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:30:28 +00:00
hyatt%netscape.com
d4926190a8 Menu interface changes-saari
git-svn-id: svn://10.0.0.236/trunk@24563 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:30:12 +00:00
saari%netscape.com
0e2bbf2db8 nsIMenu.h interface changes
git-svn-id: svn://10.0.0.236/trunk@24562 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:28:14 +00:00
alecf%netscape.com
91c1e319ea return the right return value, not -1
git-svn-id: svn://10.0.0.236/trunk@24561 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:19:51 +00:00
alecf%netscape.com
e5b3133d98 remove unused variable
git-svn-id: svn://10.0.0.236/trunk@24560 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:19:23 +00:00
alecf%netscape.com
56bd0447a2 use nsnull instead of NULL when referring to int's
git-svn-id: svn://10.0.0.236/trunk@24559 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:19:08 +00:00
alecf%netscape.com
117850390b fix casting problems for unix
git-svn-id: svn://10.0.0.236/trunk@24558 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:18:43 +00:00
alecf%netscape.com
18f6343265 fix lots of casting problems
git-svn-id: svn://10.0.0.236/trunk@24557 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:18:16 +00:00
alecf%netscape.com
2815d43a22 we should have virtual destructors wherever possible
git-svn-id: svn://10.0.0.236/trunk@24556 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:17:52 +00:00
alecf%netscape.com
5a7cd37a94 fix newline at end of file
git-svn-id: svn://10.0.0.236/trunk@24555 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:17:21 +00:00
alecf%netscape.com
dcfa5def2c fix constructor order to match declaration
git-svn-id: svn://10.0.0.236/trunk@24554 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:17:02 +00:00
alecf%netscape.com
25d88d5589 libjs->libmozjs
git-svn-id: svn://10.0.0.236/trunk@24553 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:16:35 +00:00
alecf%netscape.com
e30b1cb568 fix libraries to link against
git-svn-id: svn://10.0.0.236/trunk@24552 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:15:38 +00:00
alecf%netscape.com
6ee4571d8c remove stub code that doesn't build and add relevant libraries
git-svn-id: svn://10.0.0.236/trunk@24551 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:14:42 +00:00
alecf%netscape.com
bdfd54976b ignore generated files
git-svn-id: svn://10.0.0.236/trunk@24550 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:13:57 +00:00
alecf%netscape.com
95d8f4b065 add NSPR-based string manipulation and add to link line
git-svn-id: svn://10.0.0.236/trunk@24549 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:13:44 +00:00
alecf%netscape.com
e733ba026d only build tests if ENABLE_TESTS is on
git-svn-id: svn://10.0.0.236/trunk@24548 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:13:12 +00:00
alecf%netscape.com
d5a09e1ed2 move mork to the front to get linking correct
git-svn-id: svn://10.0.0.236/trunk@24547 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:11:57 +00:00
alecf%netscape.com
baa345fe1e add all relevant makefiles
git-svn-id: svn://10.0.0.236/trunk@24546 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:11:24 +00:00
alecf%netscape.com
bdb1612c89 move base in front of db so linking works correctly
git-svn-id: svn://10.0.0.236/trunk@24545 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:10:29 +00:00
alecf%netscape.com
6875d38109 fix end-of-line problem
git-svn-id: svn://10.0.0.236/trunk@24544 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:06:29 +00:00
alecf%netscape.com
ff4658ba22 make local a component
git-svn-id: svn://10.0.0.236/trunk@24543 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:05:46 +00:00
slamm%netscape.com
6e2df6b42c Add cvsblame to navigation links.
git-svn-id: svn://10.0.0.236/trunk@24542 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:05:36 +00:00
briano%netscape.com
4acffdb3e1 Added IRIX support (sort of), and a way to turn off CVS compression if necessary.
git-svn-id: svn://10.0.0.236/trunk@24541 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:04:21 +00:00
alecf%netscape.com
8cf4f63878 bubble LoadURL's errors up through rv
git-svn-id: svn://10.0.0.236/trunk@24540 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:02:31 +00:00
alecf%netscape.com
da2ff92aea add leading slash to windows URLs and update macros so that we don't get triple slashes on unix
git-svn-id: svn://10.0.0.236/trunk@24539 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:01:54 +00:00
slamm%netscape.com
38ecf03f4e Add lxr to navigation links
git-svn-id: svn://10.0.0.236/trunk@24538 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:00:48 +00:00
alecf%netscape.com
4288e4d93d export these files
git-svn-id: svn://10.0.0.236/trunk@24537 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:00:32 +00:00
alecf%netscape.com
fd6fba0e0f also do not strip leading / from mailboxMessage URL's
git-svn-id: svn://10.0.0.236/trunk@24536 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 02:00:16 +00:00
davidm%netscape.com
35556d829e Added files
nsXPConnectFactory.cpp 
    nsJSXPConnectFactory.cpp 
    nsAppShellNameSet.cpp
for rpotts


git-svn-id: svn://10.0.0.236/trunk@24535 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:54:24 +00:00
vidur%netscape.com
195c73d8b9 Purify fixes from Bruce Mitchener
git-svn-id: svn://10.0.0.236/trunk@24534 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:54:12 +00:00
alecf%netscape.com
1e94c8383f link against util library rather than the mail/news component
git-svn-id: svn://10.0.0.236/trunk@24533 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:52:42 +00:00
alecf%netscape.com
c5ec3177fa break dependancy on mailnews.dll by creating this object from the repository
git-svn-id: svn://10.0.0.236/trunk@24532 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:51:47 +00:00
vidur%netscape.com
edfbccc3cb Implemented ID targetting for HTML in XML documents. Changed name of GetNameSpacePrefix to avoid clash.
git-svn-id: svn://10.0.0.236/trunk@24531 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:51:00 +00:00
slamm%netscape.com
d35c984c2e Get rid of unused stuff. Tighten up the header.
git-svn-id: svn://10.0.0.236/trunk@24530 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:50:52 +00:00
mscott%netscape.com
cb586aeb93 build util lib just as a static library instead of as a dll.
git-svn-id: svn://10.0.0.236/trunk@24529 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:39:44 +00:00
kipp%netscape.com
c931f7d0ce Fixed centering of list bullets (bug #4040)
git-svn-id: svn://10.0.0.236/trunk@24528 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:37:43 +00:00
kipp%netscape.com
9746304a9f Support html4 type attribute
git-svn-id: svn://10.0.0.236/trunk@24527 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:32:48 +00:00
slamm%netscape.com
4af0cdca8b Redo the header.
git-svn-id: svn://10.0.0.236/trunk@24526 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:30:16 +00:00
michaelp%netscape.com
ed7c96c44c added Set/GetLineHeight().
git-svn-id: svn://10.0.0.236/trunk@24524 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:25:37 +00:00
alecf%netscape.com
e6b866ac84 make this a librar
git-svn-id: svn://10.0.0.236/trunk@24523 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:15:48 +00:00
mcmullen%netscape.com
9f6d4d0fcd FIxing another unix problem.
git-svn-id: svn://10.0.0.236/trunk@24522 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:13:35 +00:00
mcmullen%netscape.com
895db7e172 Fixing another bustage.
git-svn-id: svn://10.0.0.236/trunk@24521 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:09:10 +00:00
mcmullen%netscape.com
c4b5fa756e Fixing another bustage.
git-svn-id: svn://10.0.0.236/trunk@24520 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:06:19 +00:00
alecf%netscape.com
f9341e1815 duh, need to link against both component AND dll
git-svn-id: svn://10.0.0.236/trunk@24519 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 01:04:40 +00:00
michaelp%netscape.com
ab643ac84a ScrollTo() now blits wherever possible.
git-svn-id: svn://10.0.0.236/trunk@24518 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:47:08 +00:00
alecf%netscape.com
8c14ae1b7a link against utility library rather than component
git-svn-id: svn://10.0.0.236/trunk@24517 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:47:02 +00:00
alecf%netscape.com
1fc7b456ff support Unix for temporary file hack for libmime
git-svn-id: svn://10.0.0.236/trunk@24516 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:41:19 +00:00
mcmullen%netscape.com
9219ac5b9f Again.
git-svn-id: svn://10.0.0.236/trunk@24515 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:41:14 +00:00
alecf%netscape.com
dff4275aef make news a regular shared library to link against
git-svn-id: svn://10.0.0.236/trunk@24514 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:41:02 +00:00
alecf%netscape.com
6162c21295 export headers to the same directory as before
git-svn-id: svn://10.0.0.236/trunk@24513 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:38:33 +00:00
alecf%netscape.com
37571b4dcc remove some files that aren't in this directory any more
git-svn-id: svn://10.0.0.236/trunk@24512 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:29:44 +00:00
mcmullen%netscape.com
0be5611969 More fixes (dangling pointers and fishy constscoffness)
git-svn-id: svn://10.0.0.236/trunk@24511 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:29:16 +00:00
tague%netscape.com
506a77e21a Added nsIDOMTextListener.h to Mac build
git-svn-id: svn://10.0.0.236/trunk@24510 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:28:07 +00:00
slamm%netscape.com
3506264571 Add support for non-layers capable browsers. Use same fonts as lxr. Have revision link take you to the previous blame of that revision.
git-svn-id: svn://10.0.0.236/trunk@24509 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:27:42 +00:00
alecf%netscape.com
9aac83e553 move files over to util library to link against it directly
git-svn-id: svn://10.0.0.236/trunk@24508 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:24:26 +00:00
alecf%netscape.com
45bc0850b2 export the DOM-based IDL file
git-svn-id: svn://10.0.0.236/trunk@24507 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:22:46 +00:00
mcmullen%netscape.com
4a805c0411 FIx possible bustage (not shown up on tinderbox yet).
git-svn-id: svn://10.0.0.236/trunk@24506 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:18:53 +00:00
mcmullen%netscape.com
76a28accfe Fix unix bustage.
git-svn-id: svn://10.0.0.236/trunk@24505 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:13:08 +00:00
michaelp%netscape.com
bc79a637e9 added APIs for scrolling by page or line.
git-svn-id: svn://10.0.0.236/trunk@24504 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:11:35 +00:00
despotdaemon%netscape.com
10400ea127 Pseudo-automatic update of changes made by waterson@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@24503 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-20 00:09:50 +00:00
tague%netscape.com
145eee6cfe Fixed error in checkin
git-svn-id: svn://10.0.0.236/trunk@24502 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:54:49 +00:00
tague%netscape.com
c25f6ffc4d Added nsIDOMTextListener.h to Linux build
git-svn-id: svn://10.0.0.236/trunk@24501 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:46:23 +00:00
sfraser%netscape.com
1916823c98 Fix build bustage. Remove nsInlineReflow.cpp
git-svn-id: svn://10.0.0.236/trunk@24500 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:46:15 +00:00
slamm%netscape.com
3699de5899 Update the look. Alternate row color with revision number.
git-svn-id: svn://10.0.0.236/trunk@24499 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:36:58 +00:00
tague%netscape.com
b473550518 Added support for basic Japanese input on Win32
git-svn-id: svn://10.0.0.236/trunk@24498 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:36:20 +00:00
nhotta%netscape.com
4e32b78b2a Added two functions which use nsString as a sort key.
git-svn-id: svn://10.0.0.236/trunk@24497 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:21:43 +00:00
dougt%netscape.com
ee5469e6d1 Run is working in the viewer.
Removing some older unused files.


git-svn-id: svn://10.0.0.236/trunk@24496 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:21:30 +00:00
mcmullen%netscape.com
a2a3982ee7 Bugs #3997, 3934
git-svn-id: svn://10.0.0.236/trunk@24495 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:09:39 +00:00
kipp%netscape.com
32c660d9d5 Handle background attribute better
git-svn-id: svn://10.0.0.236/trunk@24494 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:09:29 +00:00
kipp%netscape.com
4d19bb2e2c Removed some debris
git-svn-id: svn://10.0.0.236/trunk@24493 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:07:38 +00:00
kipp%netscape.com
2ce5e55332 Added more bad-frame detection; fixed a purify caught bug
git-svn-id: svn://10.0.0.236/trunk@24492 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:07:17 +00:00
kipp%netscape.com
266f3155a7 bye
git-svn-id: svn://10.0.0.236/trunk@24491 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:06:55 +00:00
kipp%netscape.com
4fc7bf9895 Eliminate some purify warnings
git-svn-id: svn://10.0.0.236/trunk@24490 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:06:42 +00:00
kipp%netscape.com
394624ea34 Added more bad-frame detection
git-svn-id: svn://10.0.0.236/trunk@24489 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:06:20 +00:00
kipp%netscape.com
d48d7d0f1f Fix wide layout bug in todays build; fixed bug #4013 as well and bug #2589
git-svn-id: svn://10.0.0.236/trunk@24488 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 23:05:56 +00:00
mscott%netscape.com
592ba97e1a (not part of build)
We were using an interface id instead of a class id in the call to create instance for the protocol so I fixed that. We don't need netService so I removed the code for that. We were also confusing an imap4service with the core netlib service (nsINetService). Release the protocol instead of deleting it in the protocol. Insert breaks in the switch statements for ::ReadAndDispatchCommand. Release the event queue service when we are done with it.


git-svn-id: svn://10.0.0.236/trunk@24487 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 22:55:32 +00:00
alecf%netscape.com
3f6df41daf move files over from src into linkable library
git-svn-id: svn://10.0.0.236/trunk@24486 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 22:55:08 +00:00
mscott%netscape.com
3f56ed0e6e (not part of the build)
use new intialize method from the interface which takes an event queue. The constructor for a component that supports an interface must always be empty so remove the dependency on the event queue. Rename old Initialize method to SetupwithUrl.


git-svn-id: svn://10.0.0.236/trunk@24485 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 22:50:53 +00:00
mscott%netscape.com
386450a1ec Add interface method for initialize which takes an event queue.
git-svn-id: svn://10.0.0.236/trunk@24484 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 22:48:45 +00:00
mscott%netscape.com
6d51996b9c (not part of the build)
build tests directory.


git-svn-id: svn://10.0.0.236/trunk@24483 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 22:48:06 +00:00
wtc%netscape.com
a8b6b4e24a Update from the internal CVS repository /m/src. Includes: first
cut at 64-bit AIX port.


git-svn-id: svn://10.0.0.236/trunk@24482 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 22:47:21 +00:00
mscott%netscape.com
2853e36532 NOT PART OF BUILD PROCESS.
top level makefile.win for imap.


git-svn-id: svn://10.0.0.236/trunk@24481 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 22:02:48 +00:00
slamm%netscape.com
4b1ddaba3a Turn line numbers on by default.
git-svn-id: svn://10.0.0.236/trunk@24480 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 21:49:45 +00:00
rhp%netscape.com
fba6d7b9b2 Fix for bad return value.
git-svn-id: svn://10.0.0.236/trunk@24479 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 21:49:35 +00:00
terry%netscape.com
cc18d6fb6f Patch by David Gardiner <david.gardiner@unisa.edu.au> (with further
hacks by me):

Added javascript magic to adjust component/version lists when products
get selected.


git-svn-id: svn://10.0.0.236/trunk@24478 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 21:40:14 +00:00
rods%netscape.com
f1c72f5d49 Enabled debug menu for all typed of builds
git-svn-id: svn://10.0.0.236/trunk@24477 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:59:11 +00:00
rods%netscape.com
b3ee19c1a2 Add debug menu enabled for all types of builds
git-svn-id: svn://10.0.0.236/trunk@24476 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:58:11 +00:00
bienvenu%netscape.com
3b8399f64c imap test harness, not part of build as of yet
git-svn-id: svn://10.0.0.236/trunk@24475 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:58:08 +00:00
bienvenu%netscape.com
35a5cb693e imap test harness, not part of build as of yet
git-svn-id: svn://10.0.0.236/trunk@24474 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:51:50 +00:00
slamm%netscape.com
5c89ede253 Cache the brief log html. Make it fast.
git-svn-id: svn://10.0.0.236/trunk@24473 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:37:07 +00:00
rhp%netscape.com
40dbdf197c Take out testing output
git-svn-id: svn://10.0.0.236/trunk@24472 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:27:29 +00:00
alecf%netscape.com
bca6edb1c7 more unix fixes for rhp's mime carpool
git-svn-id: svn://10.0.0.236/trunk@24471 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:19:53 +00:00
rhp%netscape.com
949d29dc3a Fix for exporting functions
git-svn-id: svn://10.0.0.236/trunk@24470 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:18:09 +00:00
rhp%netscape.com
dbfb8886ab fix for function definition
git-svn-id: svn://10.0.0.236/trunk@24469 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:16:57 +00:00
alecf%netscape.com
81eb15aef1 minor makefile changes for rhp's carpool (libjs is not libmozjs)
git-svn-id: svn://10.0.0.236/trunk@24468 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:16:08 +00:00
alecf%netscape.com
27ca4630c3 fix Linux libmime problems (part of rhp's checkin)
git-svn-id: svn://10.0.0.236/trunk@24467 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:14:55 +00:00
rhp%netscape.com
fa3d69c63e Adding required file
git-svn-id: svn://10.0.0.236/trunk@24466 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:11:31 +00:00
rhp%netscape.com
62182a6c52 Cleanup of mime
git-svn-id: svn://10.0.0.236/trunk@24465 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:09:28 +00:00
rhp%netscape.com
9d17b646e1 New makefile for unix
git-svn-id: svn://10.0.0.236/trunk@24464 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:02:00 +00:00
rhp%netscape.com
2e748aafc1 New changes for calendar content type handler
git-svn-id: svn://10.0.0.236/trunk@24463 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:01:55 +00:00
rhp%netscape.com
73b00af461 New changes for vcard content type handler
git-svn-id: svn://10.0.0.236/trunk@24462 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:00:43 +00:00
rhp%netscape.com
d0cfaccffb Checkin of new CPP sources and code changes for libmime
git-svn-id: svn://10.0.0.236/trunk@24461 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 20:00:36 +00:00
rhp%netscape.com
60326c5ed4 Deleting old src files for libmime
git-svn-id: svn://10.0.0.236/trunk@24460 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 19:59:24 +00:00
rhp%netscape.com
ee6ae72a88 Adding new interface for mime emitter
git-svn-id: svn://10.0.0.236/trunk@24459 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 19:56:08 +00:00
beard%netscape.com
e4c4f237fc fixed MRJPlugin::Initialize() to be more robust, added hasTagInfo to determine whether javascript: URL must be used to get the CODEBASE attribute.
git-svn-id: svn://10.0.0.236/trunk@24458 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 18:25:56 +00:00
beard%netscape.com
8609b94680 Added jGNE.cpp
git-svn-id: svn://10.0.0.236/trunk@24457 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 18:25:36 +00:00
beard%netscape.com
f28410d97d kIJVMPluginTagInfoIID --> nsIJVMPluginTagInfo::GetIID()
git-svn-id: svn://10.0.0.236/trunk@24456 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 18:22:30 +00:00
beard%netscape.com
667a4ab977 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24455 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 18:21:50 +00:00
beard%netscape.com
2e04c79e57 started on nsIPluginManager2 implementation, using jGNE event filter for update events.
git-svn-id: svn://10.0.0.236/trunk@24454 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 18:21:37 +00:00
rods%netscape.com
e2c93614ca Removed nsITextDataFlavor.h from the makefiles
git-svn-id: svn://10.0.0.236/trunk@24453 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 16:30:01 +00:00
rods%netscape.com
260a3d7f3a Added new Drag & Drop and Clipboard interfaces
git-svn-id: svn://10.0.0.236/trunk@24452 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 15:57:10 +00:00
rods%netscape.com
659268f787 Added nsString, so the conversion goes to a string and to a stream
Eventually, we will want it to just go to a string.


git-svn-id: svn://10.0.0.236/trunk@24451 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 15:53:07 +00:00
beard%netscape.com
b2c0019f0b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24450 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 15:01:47 +00:00
beard%netscape.com
8c91b36879 bumped version
git-svn-id: svn://10.0.0.236/trunk@24449 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 14:36:50 +00:00
beard%netscape.com
67ae2850dd updated
git-svn-id: svn://10.0.0.236/trunk@24448 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 14:36:49 +00:00
beard%netscape.com
dfd23759b9 changed the finalize method to release the wrapped plugin instance.
git-svn-id: svn://10.0.0.236/trunk@24447 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 14:35:50 +00:00
beard%netscape.com
d66fd18df8 Using a __MRJ_JAVA_CONSOLE__ as the unique name.
git-svn-id: svn://10.0.0.236/trunk@24446 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 14:35:06 +00:00
beard%netscape.com
eef90cff0c FRAME -> JAVAFRAME attribute
git-svn-id: svn://10.0.0.236/trunk@24445 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 14:32:02 +00:00
beard%netscape.com
94007c46c8 removed margin problem, computing initial window size, added &NBSP; between <BODY> and <EMBED>.
git-svn-id: svn://10.0.0.236/trunk@24444 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 14:31:23 +00:00
beard%netscape.com
6cf4fbfda8 Added <BODY>
git-svn-id: svn://10.0.0.236/trunk@24443 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 14:29:13 +00:00
warren%netscape.com
ac3c6194f7 Backed out nsUnicharKey -- couldn't get it to build with -pedantic linux.
git-svn-id: svn://10.0.0.236/trunk@24439 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 10:27:41 +00:00
rickg%netscape.com
547a0d6c89 removed memory leak
git-svn-id: svn://10.0.0.236/trunk@24438 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 10:20:29 +00:00
warren%netscape.com
37c664daaf Attempt to fix pendantic breakage.
git-svn-id: svn://10.0.0.236/trunk@24437 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 09:46:09 +00:00
warren%netscape.com
b347690ee9 Added nsUnicharKey for nsHashtables.
git-svn-id: svn://10.0.0.236/trunk@24435 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 09:02:43 +00:00
mcafee%netscape.com
b3b63388e9 Splitting up NS_ScriptErrorReporter() to test each argument before printing it, we were passing a partial error report to printf() which was crashing for Edit|Preferences.
git-svn-id: svn://10.0.0.236/trunk@24434 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 09:00:39 +00:00
rickg%netscape.com
f4af810625 updated top100 order
git-svn-id: svn://10.0.0.236/trunk@24433 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 08:48:24 +00:00
rickg%netscape.com
2a7f41a86b fixed a dozen bugs
git-svn-id: svn://10.0.0.236/trunk@24432 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 08:47:51 +00:00
rickg%netscape.com
e635708ea1 removed static vars
git-svn-id: svn://10.0.0.236/trunk@24431 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 08:47:20 +00:00
rpotts%netscape.com
ae04462df2 Fix case in include name for unix :-(
git-svn-id: svn://10.0.0.236/trunk@24430 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 08:44:40 +00:00
rpotts%netscape.com
7a548af3a5 Added XPConnect stuff to the build...
git-svn-id: svn://10.0.0.236/trunk@24428 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 08:18:18 +00:00
rpotts%netscape.com
3e7a37ec48 Fixed case in #include for unix :-(
git-svn-id: svn://10.0.0.236/trunk@24427 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:29:10 +00:00
rpotts%netscape.com
866b5a6c33 initialize mLoadAttribs...
git-svn-id: svn://10.0.0.236/trunk@24426 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:23:22 +00:00
rpotts%netscape.com
2681b03471 changes to build the nsXPConnectFactory (and friends...)
git-svn-id: svn://10.0.0.236/trunk@24425 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:19:50 +00:00
warren%netscape.com
24f7a16a93 Fix for broken linux compiler.
git-svn-id: svn://10.0.0.236/trunk@24424 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:18:08 +00:00
rpotts%netscape.com
537365f175 remove the reference to nsXPConnectFactory until mac and unix are building it too...
git-svn-id: svn://10.0.0.236/trunk@24423 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:17:05 +00:00
rpotts%netscape.com
e7cad4f98c Temporary XPConnectFactory (until the real one is available...). This will replace the AppCoresManager as the way to create C++ components in javascript...
git-svn-id: svn://10.0.0.236/trunk@24422 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:15:00 +00:00
jefft%netscape.com
27308a8c83 added some thread stuff
git-svn-id: svn://10.0.0.236/trunk@24419 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:08:29 +00:00
jefft%netscape.com
f2eaef5222 added GetThreadEventQueue() method
git-svn-id: svn://10.0.0.236/trunk@24418 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 06:07:31 +00:00
rpotts%netscape.com
f991b0aae1 fix for crash in bug #2991... We still need to figure out why the EventQueue is not being returned properly on the Mac.
git-svn-id: svn://10.0.0.236/trunk@24417 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 05:54:17 +00:00
warren%netscape.com
be9f0afe1a Added nsHashtable::Exists. Renamed nsProgIDKey to nsCStringKey (what it is).
git-svn-id: svn://10.0.0.236/trunk@24416 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 05:51:49 +00:00
warren%netscape.com
0adad0956a Added NS_WITH_SERVICE1 macro.
git-svn-id: svn://10.0.0.236/trunk@24415 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 05:48:49 +00:00
warren%netscape.com
23227822ab Added missing flush.
git-svn-id: svn://10.0.0.236/trunk@24414 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 05:42:20 +00:00
jband%netscape.com
55e7b193c6 update TODO list, fixed finalization to wrapper release mapping for wrapped native
git-svn-id: svn://10.0.0.236/trunk@24413 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 04:57:09 +00:00
jband%netscape.com
eee31f5abc fail gracefully on badly formed uuid
git-svn-id: svn://10.0.0.236/trunk@24412 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 04:54:47 +00:00
rjc%netscape.com
9861dabea1 Remember cast of void ** on QueryInterface!
git-svn-id: svn://10.0.0.236/trunk@24411 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 04:19:55 +00:00
rjc%netscape.com
24670425e0 Added a comment about nsString.Find() which is currently only case-significant. We really want to have a case-insignificant Find().
git-svn-id: svn://10.0.0.236/trunk@24410 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 04:17:17 +00:00
rjc%netscape.com
08cba24f65 Finish implementing match criterion.
git-svn-id: svn://10.0.0.236/trunk@24409 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 04:14:20 +00:00
rjc%netscape.com
811dce0032 Add some more sample Find queries and some Mac bookmarks.
git-svn-id: svn://10.0.0.236/trunk@24408 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 04:14:01 +00:00
mscott%netscape.com
e9a5f53984 Helping with smoketest. When we are done running a mailbox url, write the phrase Mailbox Done followed by a line return to a text file. QA will build an automated smoketest which will look for this phrase in that particular file. I've also wrapped the change in a ENABLE_SMOKETEST ifdef....
git-svn-id: svn://10.0.0.236/trunk@24407 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 04:09:33 +00:00
rhp%netscape.com
45fde4db60 No need to build this test anymore.
git-svn-id: svn://10.0.0.236/trunk@24406 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 03:58:08 +00:00
morse%netscape.com
a5112b76e0 workaround for bug 3585
git-svn-id: svn://10.0.0.236/trunk@24405 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 03:42:54 +00:00
putterman%netscape.com
75488e2db2 Added some of the special folder icons.
git-svn-id: svn://10.0.0.236/trunk@24404 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 02:29:49 +00:00
putterman%netscape.com
f01846a383 Added Special Folder attribute
git-svn-id: svn://10.0.0.236/trunk@24403 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 02:28:41 +00:00
pierre%netscape.com
6d5fbbc51a #3821 "Enter Key should be mapped to Return"
git-svn-id: svn://10.0.0.236/trunk@24402 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 02:23:51 +00:00
rjc%netscape.com
897bbefdb0 Remove const.
git-svn-id: svn://10.0.0.236/trunk@24401 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:56:21 +00:00
slamm%netscape.com
8f8d0710a9 Last changes were not working as well as I would have liked. Reverting to 1.1
git-svn-id: svn://10.0.0.236/trunk@24400 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:52:36 +00:00
rjc%netscape.com
9c9a163de9 When sorting (not natural order), first ask for a slightly modified target value. This allows a datasource to detect when a value is being asked for sorting purposes and can be smart... for example, a mail datasource could strip off the "Re:" on mail messages.
git-svn-id: svn://10.0.0.236/trunk@24399 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:52:18 +00:00
rjc%netscape.com
932a5d0716 AppCores is no longer in the "Components" directory as it no longer auto-registers, so modify Setup_Registry() to register RDF AppCore at startup.
git-svn-id: svn://10.0.0.236/trunk@24398 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:45:03 +00:00
nisheeth%netscape.com
b18288c5e8 Fix for bug 3584.
Change coded by vidur.  Reviewed by me.  Document.written documents now get
a default "about:blank" url assigned to them.  This fixes crash bugs associated
with other code assuming that all documents have non-null urls.

Approved by chofmann.


git-svn-id: svn://10.0.0.236/trunk@24397 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:41:09 +00:00
mscott%netscape.com
3643ece092 Remove a debug printf which displayed each line of the message to the terminal when displaying messages to the window.
git-svn-id: svn://10.0.0.236/trunk@24395 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:36:07 +00:00
cata%netscape.com
ef25a6922f UTF8 name fixed.
git-svn-id: svn://10.0.0.236/trunk@24394 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:33:47 +00:00
rhp%netscape.com
d8b375c905 Fix to not output HTML into an image stream
git-svn-id: svn://10.0.0.236/trunk@24393 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:29:51 +00:00
cata%netscape.com
2855549c08 UTF8 decoder added.
git-svn-id: svn://10.0.0.236/trunk@24392 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:20:55 +00:00
radha%netscape.com
da6bf59c4c Remove a bunch of compiler warnings in linux
git-svn-id: svn://10.0.0.236/trunk@24390 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:16:40 +00:00
radha%netscape.com
e738766b6f Remove unwanted printfs
git-svn-id: svn://10.0.0.236/trunk@24389 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:16:04 +00:00
radha%netscape.com
1acd176e0b Implement 2 interfaces to return handle to argc and argv.
Conform to code style standards


git-svn-id: svn://10.0.0.236/trunk@24388 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:15:39 +00:00
cata%netscape.com
197ba000d3 UTF8 decoder added.
git-svn-id: svn://10.0.0.236/trunk@24387 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:15:04 +00:00
cata%netscape.com
9747add336 added files: mozilla/intl/uconv/ucvlatin/nsUTF8ToUnicode.cpp
git-svn-id: svn://10.0.0.236/trunk@24386 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:14:40 +00:00
radha%netscape.com
e2164b3a5a Add 2 interfaces to Get a handle to argc & argv
git-svn-id: svn://10.0.0.236/trunk@24385 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:14:29 +00:00
rjc%netscape.com
c352803b36 Be sure to NS_INIT_REFCNT() for InMemoryResourceCursor() creation.
git-svn-id: svn://10.0.0.236/trunk@24384 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:09:48 +00:00
cata%netscape.com
761bd22e70 Created.
git-svn-id: svn://10.0.0.236/trunk@24383 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 01:08:01 +00:00
putterman%netscape.com
6015ef11cc Make folder tree take up the entire pane.
git-svn-id: svn://10.0.0.236/trunk@24380 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:52:38 +00:00
rjc%netscape.com
6a2fa958ca Only answer questions with positive assertions.
git-svn-id: svn://10.0.0.236/trunk@24377 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:44:04 +00:00
dougt%netscape.com
6318f7f44d Added queue to hold pending downloads
Further object wacking


git-svn-id: svn://10.0.0.236/trunk@24375 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:32:05 +00:00
mcafee%netscape.com
0641420d4d Adding default cases to switch statements.
git-svn-id: svn://10.0.0.236/trunk@24373 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:25:40 +00:00
putterman%netscape.com
1d91b0a3ab Added some icons to folder and thread panes
git-svn-id: svn://10.0.0.236/trunk@24372 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:24:30 +00:00
mcafee%netscape.com
3a1ed69e24 Uninitialized variable.
git-svn-id: svn://10.0.0.236/trunk@24371 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:20:02 +00:00
mcafee%netscape.com
55780280ad Adding default path for case statement.
git-svn-id: svn://10.0.0.236/trunk@24370 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:18:01 +00:00
rhp%netscape.com
86ba9c355f Adding the Mime Emitter to CVS - Note: this is not part of the build
process until the 3/19/99 checkin.


git-svn-id: svn://10.0.0.236/trunk@24369 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:17:39 +00:00
pierre%netscape.com
0495949bcb Fix for #3899. Bumped the stack size to 128K from 64K. r: beard. a:chofmann.
git-svn-id: svn://10.0.0.236/trunk@24368 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:02:52 +00:00
rjc%netscape.com
8c8c80a991 Add RDF find datasource into build system.
git-svn-id: svn://10.0.0.236/trunk@24367 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:01:49 +00:00
rjc%netscape.com
e76723a678 No longer checking if a file URL is a directory and, if so, appending a slash. nsFileSpec et.al. should be doing that now.
git-svn-id: svn://10.0.0.236/trunk@24366 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-19 00:00:52 +00:00
slamm%netscape.com
01dd2340ab -mQuiet the cvs checkout with -q. It will still print what is updated. It just won't print the name of every directory it recurses through. Cleared with cyeh.
git-svn-id: svn://10.0.0.236/trunk@24365 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 23:50:10 +00:00
ramiro%netscape.com
aa125ee2a3 Wrapped in PR_BEGIN_EXTERN_C and PR_END_EXTERN_C to fix c++/c linkage problem.
git-svn-id: svn://10.0.0.236/trunk@24364 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 23:29:50 +00:00
waterson%netscape.com
b90124e8b8 Bug 3978. Removed warning: it was silly. This happens all the time for HTML content in a XUL document.
git-svn-id: svn://10.0.0.236/trunk@24361 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 23:04:58 +00:00
mcafee%netscape.com
d2cba4a33a Solaris needs prototype for PR_GetEnv().
git-svn-id: svn://10.0.0.236/trunk@24360 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:41:24 +00:00
terry%netscape.com
7546019541 Was not correctly checking BUGSYSTEMEXPR (because the config file
hadn't been read in).


git-svn-id: svn://10.0.0.236/trunk@24359 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:41:07 +00:00
larryh%netscape.com
6a18742292 OS2 changes
git-svn-id: svn://10.0.0.236/trunk@24358 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:39:53 +00:00
rjc%netscape.com
bff5b3f3b5 Add Find datasource CID.
git-svn-id: svn://10.0.0.236/trunk@24357 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:38:30 +00:00
mcafee%netscape.com
8b40395ae3 Switch to PR_GetEnv(), warn once if MOZILLA_FIVE_HOME is not set.
git-svn-id: svn://10.0.0.236/trunk@24356 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:38:25 +00:00
rjc%netscape.com
795c83a346 Add a sample "Find Queries" bookmark folder for testing.
git-svn-id: svn://10.0.0.236/trunk@24355 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:36:13 +00:00
rjc%netscape.com
21eed2a9d9 Export nsIRDFFind.h
git-svn-id: svn://10.0.0.236/trunk@24354 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:35:12 +00:00
rjc%netscape.com
95da1fcacb First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24353 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:34:22 +00:00
mcafee%netscape.com
f288fcb962 Added prototype for UnixPrDialog(). r=syd@netscape.com
git-svn-id: svn://10.0.0.236/trunk@24352 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:33:04 +00:00
neeti%netscape.com
f678a0a658 First version
git-svn-id: svn://10.0.0.236/trunk@24351 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:32:56 +00:00
cata%netscape.com
393b785270 Added new return codes.
git-svn-id: svn://10.0.0.236/trunk@24350 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:27:11 +00:00
nhotta%netscape.com
b2c17b9084 Initialize ref. count in the constructor.
git-svn-id: svn://10.0.0.236/trunk@24348 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:08:05 +00:00
mcafee%netscape.com
b4b83e68dc Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@24347 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:01:51 +00:00
mcafee%netscape.com
53b9ecd299 Unitialized variable.
git-svn-id: svn://10.0.0.236/trunk@24346 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 22:00:24 +00:00
buster%netscape.com
6e1117a873 small change to match change in semantics in nsIDOMRange::GetCommonParent
git-svn-id: svn://10.0.0.236/trunk@24345 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:55:23 +00:00
slamm%netscape.com
7d1f24e330 Make room for more tinderbox columns by truncating the email address. To get the full email address, you have to click on the name.
git-svn-id: svn://10.0.0.236/trunk@24344 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:54:28 +00:00
putterman%netscape.com
3d0939f7db Increase the length the url can be before the document file name is prepended to it.
git-svn-id: svn://10.0.0.236/trunk@24343 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:43:00 +00:00
putterman%netscape.com
6e75a0bbb7 Add status column. Bold messages with new.
git-svn-id: svn://10.0.0.236/trunk@24342 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:41:51 +00:00
putterman%netscape.com
c2ef0832ac Add status column and Re: to messages.
git-svn-id: svn://10.0.0.236/trunk@24341 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:41:07 +00:00
putterman%netscape.com
a33e66155d Add .sbd when building up subfolders.
git-svn-id: svn://10.0.0.236/trunk@24339 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:40:41 +00:00
putterman%netscape.com
687cb8f5e7 Changes made to avoid nsMsgHdr duplication. Add back releases so memory
management works correctly.


git-svn-id: svn://10.0.0.236/trunk@24338 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:40:12 +00:00
putterman%netscape.com
61a8f0d1cc Changes made to avoid nsMsgHdr duplication. Now can get a message resource from
the factory.


git-svn-id: svn://10.0.0.236/trunk@24337 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:39:42 +00:00
putterman%netscape.com
27c01a87dc Changes made to avoid nsMsgHdr duplication
git-svn-id: svn://10.0.0.236/trunk@24336 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:39:04 +00:00
putterman%netscape.com
7651ef6f17 Use .sbd not .sbd/
git-svn-id: svn://10.0.0.236/trunk@24335 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:37:48 +00:00
putterman%netscape.com
69d5107409 Changes made to avoid nsMsgHdr duplication.
git-svn-id: svn://10.0.0.236/trunk@24334 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:37:21 +00:00
jefft%netscape.com
ea267cd528 move SetWindow(), SetEditor() to the outer scode in case we find an instance of ComposeAppCore
git-svn-id: svn://10.0.0.236/trunk@24333 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:34:39 +00:00
pinkerton%netscape.com
b959e16afe removed nsInlineReflow.cpp for kipp
git-svn-id: svn://10.0.0.236/trunk@24332 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:32:16 +00:00
jefft%netscape.com
99d34a3b2d clean up, added composeAppCore, msgAppCore global variables; added FindMsgAppCore() & FindComposeAppCore() function
git-svn-id: svn://10.0.0.236/trunk@24331 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:31:29 +00:00
jefft%netscape.com
1fdd3a13be consolidate NewMessage, ReplyMessage, ForwardMessage into one single method - NewMessage
git-svn-id: svn://10.0.0.236/trunk@24330 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:28:47 +00:00
av%netscape.com
2460c7215e M3 -- Fix for bug #1157
git-svn-id: svn://10.0.0.236/trunk@24329 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:26:15 +00:00
kipp%netscape.com
79d5d1f948 Make sure we update the update-area when doing synchronous updates or full widget updates
git-svn-id: svn://10.0.0.236/trunk@24328 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:19:59 +00:00
kipp%netscape.com
dd99c16187 Eliminate some GDK warning messages by only freeing valid pixmaps
git-svn-id: svn://10.0.0.236/trunk@24327 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:19:30 +00:00
kipp%netscape.com
3592c099da Revised the font matching algorithm to work somewhat better; allow for font-scaling in debug builds with an environment variable
git-svn-id: svn://10.0.0.236/trunk@24326 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:19:10 +00:00
kipp%netscape.com
f34b27ae16 Fudge the dpi into something that makes for more rational scaling to twips
git-svn-id: svn://10.0.0.236/trunk@24325 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:18:40 +00:00
hyatt%netscape.com
4ecf27a1dd Fixes for the mouseover toolbar button problem. Approved by Chris.
git-svn-id: svn://10.0.0.236/trunk@24324 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:18:00 +00:00
michaelp%netscape.com
53ce63ea80 fixed bug where out of order computation of child view positions and scroll
offsets in layout, widgets could be in different places than their views.
made nsView::List() print out all units in app units.


git-svn-id: svn://10.0.0.236/trunk@24322 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:04:00 +00:00
kipp%netscape.com
83f5d0de70 Spanked to collapse inline-reflow with line-layout into line-layout; fixed bugs #1278, #1990, #3527, #1670, etc.
git-svn-id: svn://10.0.0.236/trunk@24321 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:03:25 +00:00
waterson%netscape.com
f26bf52c02 Fixed nsCOMPtr bustage. Friggin' windows compiler.
git-svn-id: svn://10.0.0.236/trunk@24320 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:03:01 +00:00
kipp%netscape.com
7e25f9704c Fixed bug #3918 with measuring small-caps text; ported to use new line-layout API's
git-svn-id: svn://10.0.0.236/trunk@24319 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:02:40 +00:00
kipp%netscape.com
0f0692af69 Fixed bug #3597 - lower case alpha/roman bullets
git-svn-id: svn://10.0.0.236/trunk@24318 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:01:52 +00:00
michaelp%netscape.com
cd30c3c493 changed for new ComputeScrollOffsets() method.
git-svn-id: svn://10.0.0.236/trunk@24317 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:01:46 +00:00
kipp%netscape.com
66e83399ef Removed unused header file include
git-svn-id: svn://10.0.0.236/trunk@24316 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:01:24 +00:00
waterson%netscape.com
e463250fc8 Added dom-test-1.
git-svn-id: svn://10.0.0.236/trunk@24315 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 20:55:53 +00:00
waterson%netscape.com
c02bb4a5a3 Test files for DOM manipulators.
git-svn-id: svn://10.0.0.236/trunk@24314 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 20:54:14 +00:00
waterson%netscape.com
5cafbf3104 Fixed unwanted NS_RELEASE() in RegisterResource().
git-svn-id: svn://10.0.0.236/trunk@24313 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 20:47:27 +00:00
waterson%netscape.com
4189371260 Changed to use operator new[] instead of PL_strdup(). (Thanks, Brad!)
git-svn-id: svn://10.0.0.236/trunk@24312 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 20:47:03 +00:00
waterson%netscape.com
9086a4c777 Cleaned up code that mutates an element's ID, modulo bug 3971.
git-svn-id: svn://10.0.0.236/trunk@24311 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 20:46:02 +00:00
peterl%netscape.com
6c7eb08c7e real fix for pulling nspr from the tip
git-svn-id: svn://10.0.0.236/trunk@24310 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 20:43:14 +00:00
sar%netscape.com
dc98b38e5f correcting the pulling of NSPR
git-svn-id: svn://10.0.0.236/trunk@24307 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 19:50:26 +00:00
danm%netscape.com
34e100c7e3 D'OH! another tweak to bugs 3676/3900. a:chofmann,cyeh. r:rpotts
git-svn-id: svn://10.0.0.236/trunk@24306 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 19:19:52 +00:00
danm%netscape.com
61eba8993a Added and used Close() method to nsWebShellWindow. Part of fix for bug 3676 (again) and 3900. Wants to be part of M3 build. r:sdagley,pierre. a:chofmann,cyeh.
git-svn-id: svn://10.0.0.236/trunk@24305 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 19:08:36 +00:00
danm%netscape.com
6c0a68e81f Removed Release of mTopLevelWidget in the handling of the "inGoAway" event. Fixes bug 3900; part of fix for bug 3676. Wants to be part of M3 build. r:pierre,sdagley. a:chofmann,cyeh.
git-svn-id: svn://10.0.0.236/trunk@24304 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 19:05:32 +00:00
jefft%netscape.com
445e3e0706 fixed bug 3833 - Apprunner -mail needs the correct url; hard coded url string now set to resource:/res/samples/mailshell.xul; this is intended for M3; approved by choffmann
git-svn-id: svn://10.0.0.236/trunk@24298 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 17:32:57 +00:00
kipp%netscape.com
9be9680a28 Teach the widget how to manage an update rect so that we avoid gratuitous full window paints
git-svn-id: svn://10.0.0.236/trunk@24297 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 16:35:16 +00:00
briano%netscape.com
3567f3969c Added --help. Just because...
git-svn-id: svn://10.0.0.236/trunk@24296 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 09:30:57 +00:00
briano%netscape.com
86f8862cf8 Now the version number is determined using the RCS Revision keyword mechanism.
git-svn-id: svn://10.0.0.236/trunk@24295 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 09:19:22 +00:00
briano%netscape.com
f49b58a4bb Support for Linux/sparc and QNX, and a few additional minor tweaks.
git-svn-id: svn://10.0.0.236/trunk@24294 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 08:47:10 +00:00
leaf%mozilla.org
a94d7b2ad4 backing out change that clearly has destabilized the tree.
git-svn-id: svn://10.0.0.236/trunk@24293 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 04:43:38 +00:00
pavlov%pavlov.net
fe7d95bc7a fix for hpux and aix build bustage. approved by leaf.
git-svn-id: svn://10.0.0.236/trunk@24292 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 03:16:44 +00:00
briano%netscape.com
a33e298172 Automated update
git-svn-id: svn://10.0.0.236/trunk@24291 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 03:15:39 +00:00
briano%netscape.com
49bea3a684 Fixed the typo in the check for C++ unused methods, and hard-coded ac_ext=C
for the C++ checks (needed to make Watcom's QNX compiler notice that it's
dealing with C++ not C <sigh...>).


git-svn-id: svn://10.0.0.236/trunk@24290 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 03:11:15 +00:00
slamm%netscape.com
6bae52d41b Older version of perl cannot have foreach loop on same line as print.
git-svn-id: svn://10.0.0.236/trunk@24289 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 02:53:54 +00:00
pavlov%pavlov.net
f05bd48ddd fix bug #3617 (approved by cyeh)
git-svn-id: svn://10.0.0.236/trunk@24288 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 02:47:48 +00:00
slamm%netscape.com
fef09d9798 Shave off a third of the time to process the log, by parsing in a single pass.
git-svn-id: svn://10.0.0.236/trunk@24287 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 02:16:57 +00:00
mscott%netscape.com
559dc890e5 Not part of the build yet! (a=chofmann) Part of the imap framework check in.
Implementations of imap url and imap protocol instance.


git-svn-id: svn://10.0.0.236/trunk@24286 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 01:13:37 +00:00
mscott%netscape.com
0723e3d278 Not part of the build yet! (a=chofmann). Part of the initial Imap framework.
Add imap url and protocol interfaces.


git-svn-id: svn://10.0.0.236/trunk@24285 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 01:12:06 +00:00
mscott%netscape.com
7a73ece2ce Not part of the build yet. a=chofmann. Initial check in of imap framework.
Imap factory is used to build the imap dll component.


git-svn-id: svn://10.0.0.236/trunk@24284 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 01:09:50 +00:00
nisheeth%netscape.com
a19d7b898a Fix bug 3413. Approved by chofmann. Reviewed by rpotts. We check nsIURL's
address in nsWebshell::OnStartBinding() and if a trailing slash has been
added to it, we replace the topmost history entry with the new address.


git-svn-id: svn://10.0.0.236/trunk@24283 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 01:07:22 +00:00
harishd%netscape.com
e0d752d5af Added code to avoid head tag getting closed
on encountering newlines and whitespaces.  This would
prevent script tag, inside head, from opening body tag - made
up body tag.


git-svn-id: svn://10.0.0.236/trunk@24282 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 00:22:10 +00:00
briano%netscape.com
a61139e347 Automated update
git-svn-id: svn://10.0.0.236/trunk@24281 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 23:45:42 +00:00
donm%netscape.com
a54118f374 script oopsy. fixed now.
git-svn-id: svn://10.0.0.236/trunk@24280 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 23:38:44 +00:00
sar%netscape.com
38d0369202 only watch SeaMonkey tree, Mozilla-External is old news
git-svn-id: svn://10.0.0.236/trunk@24278 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 21:56:50 +00:00
briano%netscape.com
2c87e9db78 Automated update
git-svn-id: svn://10.0.0.236/trunk@24277 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 21:32:40 +00:00
leaf%mozilla.org
8fadf11677 Landing nspr library name change, and plevent function call change.
git-svn-id: svn://10.0.0.236/trunk@24276 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 21:32:03 +00:00
wtc%netscape.com
cdec214c4c NSPR library name change (libnspr21 ==> libnspr3) and
plevent.c.


git-svn-id: svn://10.0.0.236/trunk@24273 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 21:25:08 +00:00
buster%netscape.com
3ee55b4626 split and join now properly remember which content gets deleted, and which content remains in the tree
split and join now properly set selection to the remaining node, at the proper offset.
fixes bugs 3910 3881, with approval from chofmann


git-svn-id: svn://10.0.0.236/trunk@24272 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 20:56:10 +00:00
hshaw%netscape.com
9748f5857f Backout M3 Bug #1542 changes (to go on branch) mkgeturl.h mkgeturl.c nsNetService.cpp
git-svn-id: svn://10.0.0.236/trunk@24269 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 20:21:31 +00:00
terry%netscape.com
23d378e5e4 NSCP is no more.
Horrible hack to have it look at Grendel tinderbox if the bot's name
contains "grend".


git-svn-id: svn://10.0.0.236/trunk@24268 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 19:36:11 +00:00
hshaw%netscape.com
e0b10672b7 Timebomb workaround for static initialization of netlib, M3 Bug #1542
git-svn-id: svn://10.0.0.236/trunk@24267 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 19:25:22 +00:00
kipp%netscape.com
f81ad77137 Fixed bug #3905 - frame construction code wasn't dealing with tables properly when they were floated; reviewed by vidur for M3 checkin
git-svn-id: svn://10.0.0.236/trunk@24263 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 18:17:24 +00:00
pinkerton%netscape.com
7bc3b61b2a Fix bug #3792 by checking for null parent (for rods).
git-svn-id: svn://10.0.0.236/trunk@24262 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 17:46:14 +00:00
pierre%netscape.com
f622d92db0 Fixed a crash on "File | Print Setup" (or any other dialog without specific menubar) #3769. Approved: chofmann.
git-svn-id: svn://10.0.0.236/trunk@24260 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 07:17:19 +00:00
morse%netscape.com
23de1187d2 added work-around for a blocking wallet bug
git-svn-id: svn://10.0.0.236/trunk@24258 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 06:27:54 +00:00
morse%netscape.com
fdcafd63cf add prefs for wallet
git-svn-id: svn://10.0.0.236/trunk@24257 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 06:24:58 +00:00
morse%netscape.com
31a0360290 obscure saved data, skip doing prompts by default
git-svn-id: svn://10.0.0.236/trunk@24256 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 06:23:16 +00:00
morse%netscape.com
cdff63a1d7 fix crash, obscure saved data, skip doing prompts by default
git-svn-id: svn://10.0.0.236/trunk@24255 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 06:22:18 +00:00
buster%netscape.com
041f73c845 I fixed the content twiddling part of bug 3778. Mike has a fix for the display part of it in his tree, but determined the risk didn't
justify the benefit.  This is partly true because he and I would have had to integrate tonight before checking in, which we thought
presented some additional risk.  In any event, this bug is fixed for all cases except when the user hits enter at the end of the
document.  That is the only case in text editing when the selection will not render correctly.

Some related problems got fixed as a side benefit of my code changes.  I filed bug 3896.


git-svn-id: svn://10.0.0.236/trunk@24254 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 06:13:46 +00:00
evaughan%netscape.com
33068a82b2 Checkin is for bug #3853
Approved by don, hyatt


git-svn-id: svn://10.0.0.236/trunk@24253 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 06:07:07 +00:00
law%netscape.com
c10d5ccabc (partial) fix for bug #3853; reviewed by hyatt; approved by don/sar;
git-svn-id: svn://10.0.0.236/trunk@24252 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 05:57:10 +00:00
davidm%netscape.com
c53b7fb0fc Wll eventually provide support for NetLib dialogs. Currently is not being built on any platforms but Don wants me to check in tonight.
git-svn-id: svn://10.0.0.236/trunk@24250 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 03:25:53 +00:00
davidm%netscape.com
09d9b03dd2 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24249 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 03:24:35 +00:00
sfraser%netscape.com
4f17752b01 Turn on traceback tables in the optimized build, so that MacsBug logs from dogfood are useful. Bug 3888, approved chofmann.
git-svn-id: svn://10.0.0.236/trunk@24248 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 03:18:24 +00:00
saari%netscape.com
47f05203de Fixing Bug #3808 - Bookmark menu doesn't work on MacOS
git-svn-id: svn://10.0.0.236/trunk@24247 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 03:03:58 +00:00
akkana%netscape.com
69ccd59466 3855: Back out hyatt's change of the toolbar width -- it made the stop button wrap to the next line on linux. Approved by chofmann
git-svn-id: svn://10.0.0.236/trunk@24246 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 01:57:33 +00:00
cata%netscape.com
9b7cdbfe7d Fix bug 3862. Reviewed by ftang. Fallback character bellow 0x20.
git-svn-id: svn://10.0.0.236/trunk@24245 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 01:47:39 +00:00
pollmann%netscape.com
ef622fe89e Opps, typo - bug #3619 A: chofmann R: harishd
git-svn-id: svn://10.0.0.236/trunk@24244 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 01:41:52 +00:00
gagan%netscape.com
3593ed3580 Calling parse on SetSpec to correctly reflect the changes. Partial fix for #3413.
git-svn-id: svn://10.0.0.236/trunk@24243 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 01:39:20 +00:00
ftang%netscape.com
416657c6bd move the ucvja2 into componment directory so autoreg will work. we should move other intl dll there after dogfood. reviwed by dp. fix bug 3866
git-svn-id: svn://10.0.0.236/trunk@24240 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 01:22:06 +00:00
kmcclusk%netscape.com
92e6b22228 Approved by Chris Hofmann.
Patch for #bug #2226. This patch modifies the nsBrowserWindow to call SetDisplayDirectory
to set the default directory when using the viewer's file open dialog.


git-svn-id: svn://10.0.0.236/trunk@24239 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 00:45:33 +00:00
kmcclusk%netscape.com
6d6336fbd0 Approved by Chris Hofmann.
Patch for M3 bug #2226. [PATCH] File->Open dialog does not 'remember' browsing directory.
The patch fixes WIN32. It also defines member variables and functions for Mac and Unix to keep tinderbox building.
Mac and Unix need implementations which honor the SetDisplayDirectory method so that the browsing directory is actually set.


git-svn-id: svn://10.0.0.236/trunk@24238 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 00:35:37 +00:00
law%netscape.com
947ef0572f Fix for M3 bug #3803; approved by chofmann/don
git-svn-id: svn://10.0.0.236/trunk@24237 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 00:33:25 +00:00
pnunn%netscape.com
df399ccfeb Fix for bugz#3858. View-images were decoding twice. M3, pnunn@netscape.com
Reviewed by kipp@netscape.com.


git-svn-id: svn://10.0.0.236/trunk@24236 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-17 00:13:31 +00:00
karnaze%netscape.com
03d63f15c6 bug 1725
git-svn-id: svn://10.0.0.236/trunk@24235 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 23:42:38 +00:00
mscott%netscape.com
252952f232 Temporary work around for Bug #3790. Layout is having trouble with scrolling when the iframe has a height expressed in terms of a percent. So we are going to hard code the height of the message pane. This allows folks to scroll through their messages instead of seeing only the first few lines. I just tweaked the xul file to replace the 100% height with a fixed value.
a=chofmann


git-svn-id: svn://10.0.0.236/trunk@24234 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 23:30:57 +00:00
slamm%netscape.com
23baadeb99 Fix for http://bugzilla.mozilla.org/show_bug.cgi?id=3699. Renamed tree array to trees. Added 'var' for local variables.
git-svn-id: svn://10.0.0.236/trunk@24233 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 23:30:16 +00:00
kin%netscape.com
f156b21405 Fix for bug #3758: Drag selecting entire content, then deleting, causes crash.
Added check for mContentLength <= 0 to TextFrame::GetPointFromOffset().
Reviewed by jfrancis@netscape.com and sfraser@netscape.com.
Approved by chofmann@netscape.com.


git-svn-id: svn://10.0.0.236/trunk@24232 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 22:55:49 +00:00
peterl%netscape.com
05c92ee1ad Fixed table background inheritance, bug #1355
Checkin approved by chofmann


git-svn-id: svn://10.0.0.236/trunk@24231 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 22:33:29 +00:00
hshaw%netscape.com
80ecb45eff Let libpref decide which file to load by default, M3 bug #2343 #3598
git-svn-id: svn://10.0.0.236/trunk@24230 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 22:07:50 +00:00
hshaw%netscape.com
4c5667fdce Changes to call Startup() from main() so we don't have thread problems in javascript
git-svn-id: svn://10.0.0.236/trunk@24228 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 22:03:03 +00:00
matt%netscape.com
e1b46e5eb8 disabling the print button in the menu bar
git-svn-id: svn://10.0.0.236/trunk@24227 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 21:40:10 +00:00
matt%netscape.com
489dbd7ad7 changing www.bugsplat.org to bugsplat.mozilla.org in the toolbar
git-svn-id: svn://10.0.0.236/trunk@24226 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 21:39:06 +00:00
akkana%netscape.com
3dc262cd31 Bug 3829: don't generate key events for modifier keys. Fix courtesy of Pavlov, Approved chofmann and kostello
git-svn-id: svn://10.0.0.236/trunk@24225 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 20:45:17 +00:00
chuckb%netscape.com
6507681cbc Fix for http://bugzilla.mozilla.org/show_bug.cgi?id=3231 Thanks to lentz@process.com
git-svn-id: svn://10.0.0.236/trunk@24221 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 20:14:19 +00:00
chuckb%netscape.com
eba3cc88f9 Merge from NSCP repository (prior to rsync)
git-svn-id: svn://10.0.0.236/trunk@24219 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 19:57:34 +00:00
kipp%netscape.com
035bc47fe1 Don't dereference a null pointer when print previewing
git-svn-id: svn://10.0.0.236/trunk@24218 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 19:37:12 +00:00
kipp%netscape.com
b3b4b4cbe6 Only set ends-in-newline flag for pre text (bug #3262)
git-svn-id: svn://10.0.0.236/trunk@24217 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 19:36:49 +00:00
kipp%netscape.com
15f605def7 Handle removable of continued frames better (not 100% done) (bug #3262)
git-svn-id: svn://10.0.0.236/trunk@24216 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 19:36:24 +00:00
kipp%netscape.com
99c54cef53 Fixed numerous frame removed bugs (bug #3262)
git-svn-id: svn://10.0.0.236/trunk@24215 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 19:36:00 +00:00
mcmullen%netscape.com
0e8563520b Fixes for bugs #3779,#2784. Member initialization of nsFileURL for windows compiler, escaping of url when made from path or spec, add file:// on macintosh when making a url from a spec. [bugs introduced when, for dp, I changed nsFilePath not to escape]. a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@24214 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 19:12:51 +00:00
hshaw%netscape.com
7236a2582a To reduce confusion, read 'Netscape Preferences' for Mac, M3 bug #2343, approved dp
git-svn-id: svn://10.0.0.236/trunk@24213 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 18:31:40 +00:00
terry%netscape.com
afbf0febc8 Fixed typo in comment.
git-svn-id: svn://10.0.0.236/trunk@24212 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 18:29:45 +00:00
kin%netscape.com
e10b10c490 Fix for bug #3786: Undo/Redo icons broken in Editor test bed. Approved by chofmann.
git-svn-id: svn://10.0.0.236/trunk@24211 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 18:24:37 +00:00
hshaw%netscape.com
c6b6bb0e47 To reduce confusion, read preferences.js for UNIX, prefs.js for Win/Mac, M3 bug #2343, approved dp
git-svn-id: svn://10.0.0.236/trunk@24210 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 17:59:11 +00:00
buster%netscape.com
8851e742d6 fixed join.
made a special case for typing with BR as the selection (as after an InsertBreak.)
made DEL and BACKSPACE at the beginning and end of a text node
fixes bugs 3742 and 3756 (with permission from choff and gkostello)


git-svn-id: svn://10.0.0.236/trunk@24209 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 16:38:09 +00:00
gagan%netscape.com
540707af8e Fix for 3776.
git-svn-id: svn://10.0.0.236/trunk@24208 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 07:46:57 +00:00
gagan%netscape.com
a7bed3561d Fix for 1742. There is a bigger bug hiding behind this one... its about file:// urls. It needs to be revisited later.
git-svn-id: svn://10.0.0.236/trunk@24207 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 07:45:16 +00:00
rpotts%netscape.com
7bbc87b3d0 fix for bug #2343 - Preferences are not initialized in the apprunner...
git-svn-id: svn://10.0.0.236/trunk@24206 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 07:25:43 +00:00
rpotts%netscape.com
5dcafd7b80 fix for bug #2343 - Preferences are not initialized in the apprunner...
git-svn-id: svn://10.0.0.236/trunk@24205 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 07:15:37 +00:00
rickg%netscape.com
6aa4a20063 removed warnings and partially fixed M3
git-svn-id: svn://10.0.0.236/trunk@24204 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 07:06:48 +00:00
rpotts%netscape.com
36e5062afc Fixed build bustage... nsIWalletService.h was not being found because dist\public\walletlib was missing from the LINCS...
git-svn-id: svn://10.0.0.236/trunk@24202 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 06:08:18 +00:00
bienvenu%netscape.com
63ee355daa fix 3765 r=mscott,scottip a=chofmann problem updating thread pane after get new mail
git-svn-id: svn://10.0.0.236/trunk@24201 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 03:16:31 +00:00
despotdaemon%netscape.com
e0fe0f92a2 Pseudo-automatic update of changes made by dmose@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@24200 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 02:55:44 +00:00
pavlov%pavlov.net
38641f5c48 fix for #2513. r=mcafee@netscape.com, a=don@netscape.com
git-svn-id: svn://10.0.0.236/trunk@24199 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 02:19:52 +00:00
dp%netscape.com
71be445c74 Moving appcores.dll from bin/components/ to bin/ since mailnews links with it
git-svn-id: svn://10.0.0.236/trunk@24197 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 01:41:33 +00:00
dp%netscape.com
b57de82436 Moving appcores.dll from bin/components/ to bin/ since mailnews links with it
git-svn-id: svn://10.0.0.236/trunk@24196 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 01:34:22 +00:00
dp%netscape.com
33606ad65b Forcing xpcom registry recreation after moving appcores.dll from bin/components to bin/ since mailnew links with it
git-svn-id: svn://10.0.0.236/trunk@24195 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 01:33:46 +00:00
hyatt%netscape.com
6dda978028 As per German's request, moving the Wallet menu underneath the
Edit menu.


git-svn-id: svn://10.0.0.236/trunk@24194 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 01:17:30 +00:00
nhotta%netscape.com
2f28121e41 Change to generate a meta-tag for i18n mail testing, for the dogfood only (and windows only), reviwed by rhp, approved by chofmann.
git-svn-id: svn://10.0.0.236/trunk@24193 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 00:52:37 +00:00
hyatt%netscape.com
84a6776999 Changing some errors in the XUL file and moving the URL bar to be vertically
centered.

Also making a change requested by German... moving the new task bar underneath
the status area.


git-svn-id: svn://10.0.0.236/trunk@24192 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 00:40:49 +00:00
mjudge%netscape.com
598cd8d192 I am "unfixing" something. This was something I introduced to prevent an M3 bug with a hack, it is not necessary anymore. reviewd by sfrasier. several people have verified this.
git-svn-id: svn://10.0.0.236/trunk@24191 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 00:08:38 +00:00
saari%netscape.com
d329e297fb Fixing bug #3743 - Hierarchical menus display wrong info on MacOS
git-svn-id: svn://10.0.0.236/trunk@24188 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-16 00:00:39 +00:00
joki%netscape.com
4aff2a13e3 Fix for bug 3553, links on Linux
git-svn-id: svn://10.0.0.236/trunk@24187 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 23:44:15 +00:00
danm%netscape.com
780878cdde Moving release of nsWindow object up from its Destroy method to its caller, nsMacEventHandler. This is a better remainder of a fix for bug 3676. r:saari a:chofmann.
git-svn-id: svn://10.0.0.236/trunk@24186 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 23:40:42 +00:00
alecf%netscape.com
e580b04cc9 fix for #3755 - bring up messenger from Tools->Messenger by opening a new
window with the messenger XUL file.


git-svn-id: svn://10.0.0.236/trunk@24185 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 23:31:09 +00:00
mjudge%netscape.com
d86bbf4046 M3 bug reviewed by joe francis. simply adding 0 initiializers to variables
git-svn-id: svn://10.0.0.236/trunk@24184 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 23:08:27 +00:00
jfrancis%netscape.com
da1fc8ea13 fixed 3632 - selection turds after delete.
fixed 3751 - resizing page with selected image crashes.

reviewed mjudge and kin.  checkin approval chofmann.


git-svn-id: svn://10.0.0.236/trunk@24183 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 22:52:06 +00:00
cyeh%netscape.com
a303b2a42b added loop command line option to control the number of times it cycles
on a url.txt file. default is 100 times.


git-svn-id: svn://10.0.0.236/trunk@24182 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 22:46:46 +00:00
putterman%netscape.com
b61167ad7b can now change folder root. Reviewed by waterson and approved by chofmann
git-svn-id: svn://10.0.0.236/trunk@24181 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 22:33:09 +00:00
bienvenu%netscape.com
70142237f5 fix 3754 assert deleting a mail message r=davidmc, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@24180 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 21:46:11 +00:00
hshaw%netscape.com
6c9b13a66e use default prefs.js if someone cause PREF_ API before initializing it
git-svn-id: svn://10.0.0.236/trunk@24179 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 21:38:06 +00:00
ramiro%netscape.com
f4cf6c562b Fix bugs 3653, 3652 and 3566. Leaking timers.
Thanks to Tomi Leppikangas <Tomi.Leppikangas@oulu.fi> for providing the
fix and Bruce Mitchener <bruce@cybersight.com> for purifying it.


git-svn-id: svn://10.0.0.236/trunk@24178 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 21:23:49 +00:00
evaughan%netscape.com
c332730afc Fixed align bug.
git-svn-id: svn://10.0.0.236/trunk@24177 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 21:22:49 +00:00
hyatt%netscape.com
814f8171fa Fixing the personal toolbar. Someone had a duplicate ID in there.
git-svn-id: svn://10.0.0.236/trunk@24176 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 21:06:24 +00:00
law%netscape.com
5908a31379 Corrected 'typo' in text for Home button; approved by chofmann/don
git-svn-id: svn://10.0.0.236/trunk@24175 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 20:53:24 +00:00
cyeh%netscape.com
9bf229dc0d fix -f command line option so that it actually works.
git-svn-id: svn://10.0.0.236/trunk@24174 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 19:33:13 +00:00
kostello%netscape.com
e0259c902d Fix build bustage. Move entity code to nsHTMLContentSinkStream until
this can be correctly addressed.


git-svn-id: svn://10.0.0.236/trunk@24173 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 19:19:01 +00:00
hyatt%netscape.com
0fc62f3ccf Removing the "About" menu and placing the link to Release Notes under
the "Help" menu instead.  Approved by chofmann.


git-svn-id: svn://10.0.0.236/trunk@24171 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 19:01:22 +00:00
slamm%netscape.com
313e26b262 Use one name for .mozconfig
git-svn-id: svn://10.0.0.236/trunk@24170 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 17:49:25 +00:00
rickg%netscape.com
a78f2703db two tiny fixes that have been sitting around awhile
git-svn-id: svn://10.0.0.236/trunk@24169 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 08:38:41 +00:00
bienvenu%netscape.com
de8a697e56 fix problem in reply all
git-svn-id: svn://10.0.0.236/trunk@24168 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 07:43:14 +00:00
hshaw%netscape.com
a8d2897d6f load up default pref file, more detailed version requires mac project file changes
git-svn-id: svn://10.0.0.236/trunk@24167 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 06:12:17 +00:00
mccabe%netscape.com
9062024e28 Another reworking of the loader -
- added a forward declaration of nsIInterfaceInfoManager to xptinfo.h

- reworked and cleaned up most aspects of the loader; typelib files now get associated typelib records, which have arrays of pointers to shared interface records; no hashtable lookup is necessary to resolve index pointers from params, etc to nsInterfaceInfo objects.

- moved to two hashtables in nsInterfaceInfoManager, mapping from name->interface record and iid->interface record.  Still unclear if I handle the different-iid, same-name case correctly.


git-svn-id: svn://10.0.0.236/trunk@24166 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:50:11 +00:00
hyatt%netscape.com
f41ac2bd41 Changes to fix the bookmarks menu crashing problem.
git-svn-id: svn://10.0.0.236/trunk@24165 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:39:04 +00:00
hyatt%netscape.com
e9895b0fef Changes to fix the Bookmarks menu crashing problem.
git-svn-id: svn://10.0.0.236/trunk@24164 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:36:13 +00:00
kostello%netscape.com
a1d937336a Added implementation for nsIHTMLContentSink::DoFragment()
git-svn-id: svn://10.0.0.236/trunk@24163 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:11:43 +00:00
kostello%netscape.com
b795dfd74a Add support to encode selection informaton
git-svn-id: svn://10.0.0.236/trunk@24162 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:10:03 +00:00
kostello%netscape.com
212c5568d0 Added nsIHTMLContentSink::DoFragment() method.
Added support for conversion of HTML entities in output


git-svn-id: svn://10.0.0.236/trunk@24161 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:08:36 +00:00
buster%netscape.com
506d9a9565 added WillUndo, DidUndo, WillRedo, DidRedo and some supporting code so
the text edit rule object can maintain it's own state more efficiently and correctly.


git-svn-id: svn://10.0.0.236/trunk@24160 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:08:30 +00:00
kostello%netscape.com
8ed917b8c2 Add support to get a SelectiomManager if non exists.
Waiting for Repository work


git-svn-id: svn://10.0.0.236/trunk@24159 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:06:52 +00:00
buster%netscape.com
099c42d8d3 small bug fix in Collapse. If the range array has 0 children, the selection should be considered collapsed.
git-svn-id: svn://10.0.0.236/trunk@24158 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 05:04:34 +00:00
sdagley%netscape.com
b25a5bd57a Had to temporarily back out danm's Release() hack from v1.95 as it causes a crash trying to load a new URL. While the hack did fix the problem with not being able to close the bookmark window my feeling is the crash is the less desirable behavior.
git-svn-id: svn://10.0.0.236/trunk@24157 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 03:18:05 +00:00
pavlov%pavlov.net
ca80f65092 fix another memory leak.
git-svn-id: svn://10.0.0.236/trunk@24156 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 03:03:49 +00:00
edwin%woudt.nl
1e9c573bb0 More addressbook patches from Mauro Botelho.
1. Now we are saving new entries to a file named aBook.nab
2. Sort ascending and descending are working now.


git-svn-id: svn://10.0.0.236/trunk@24155 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 01:59:26 +00:00
bienvenu%netscape.com
0d98b2a9fd latest mork drop, fix commit code
git-svn-id: svn://10.0.0.236/trunk@24154 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 01:32:31 +00:00
briano%netscape.com
5090bfc5fc Automated update
git-svn-id: svn://10.0.0.236/trunk@24153 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 01:00:41 +00:00
buster%netscape.com
518e2bdc59 added files: mozilla/editor/base/PlaceholderTxn.cpp
git-svn-id: svn://10.0.0.236/trunk@24152 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 00:58:15 +00:00
buster%netscape.com
ef5f3265cc added PlaceholderTxn. This is an aggregate transaction that sits on the undo stack
and merges in subsequent transactions indiscriminately until it's told to stop.
It also gives the last transaction in its child list a chance to merge the
next transaction.
All this is in support of complex transactions that result in text insertion
being able to collapse into a single undoable event.
Also improved tracking of bogus content node used when document is empty.


git-svn-id: svn://10.0.0.236/trunk@24151 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 00:57:32 +00:00
pavlov%pavlov.net
a5b07e4bf2 attempt to see what tinderbox machines don't have gtk 1.2 on them... will
revert this in a minute.


git-svn-id: svn://10.0.0.236/trunk@24150 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 00:47:55 +00:00
morse%netscape.com
12c434488f add wallet samples
git-svn-id: svn://10.0.0.236/trunk@24149 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 00:46:22 +00:00
morse%netscape.com
29a296322d get tables from server
git-svn-id: svn://10.0.0.236/trunk@24148 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-15 00:42:33 +00:00
pavlov%pavlov.net
ee9477a22a fix another mem leak.
git-svn-id: svn://10.0.0.236/trunk@24147 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 23:57:26 +00:00
pavlov%pavlov.net
5bad3fe9c7 fix mem leak for real this time.
git-svn-id: svn://10.0.0.236/trunk@24146 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 23:15:35 +00:00
pavlov%pavlov.net
78bde97ca5 fix mem leaks.
git-svn-id: svn://10.0.0.236/trunk@24145 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 23:14:35 +00:00
pavlov%pavlov.net
093fc1914e minor cleanups.
git-svn-id: svn://10.0.0.236/trunk@24144 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 23:03:34 +00:00
bienvenu%netscape.com
403c89404d add comma separator between addresses, remove null byte in msg hdr yarn
git-svn-id: svn://10.0.0.236/trunk@24143 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 23:00:31 +00:00
beard%netscape.com
72b38afe7f added extensions
git-svn-id: svn://10.0.0.236/trunk@24142 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 22:52:39 +00:00
beard%netscape.com
4da1e46179 always create console in a new window
git-svn-id: svn://10.0.0.236/trunk@24141 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 22:52:18 +00:00
beard%netscape.com
d4708408bc fixed crashing bug when frames are destroyed
git-svn-id: svn://10.0.0.236/trunk@24140 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 22:51:41 +00:00
jefft%netscape.com
8be650186c more reply/forward message support
git-svn-id: svn://10.0.0.236/trunk@24139 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 21:01:36 +00:00
jefft%netscape.com
4a7fcc684f more reply/forward message implementation
git-svn-id: svn://10.0.0.236/trunk@24138 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 21:00:30 +00:00
saari%netscape.com
08874e6586 Fixing bug #3674 and #3679
git-svn-id: svn://10.0.0.236/trunk@24137 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:59:10 +00:00
jefft%netscape.com
f00cddec76 rename GetMessageHeader to GetRDFResourceForMessage
git-svn-id: svn://10.0.0.236/trunk@24136 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:58:58 +00:00
beard%netscape.com
f3f0f9e4c5 added CreatePluginInstance.
git-svn-id: svn://10.0.0.236/trunk@24135 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:26:29 +00:00
beard%netscape.com
f2113a9ff2 calling CreatePluginInstance instead of CreateInstance, so MIME type is available early.
git-svn-id: svn://10.0.0.236/trunk@24134 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:09:57 +00:00
beard%netscape.com
ec20be3608 added CreatePluginInstance, to create a plugin instance with a specified MIME type.
git-svn-id: svn://10.0.0.236/trunk@24133 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:09:12 +00:00
beard%netscape.com
bacd108673 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24132 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:07:46 +00:00
beard%netscape.com
0421e358e6 EmbeddedFrame
git-svn-id: svn://10.0.0.236/trunk@24131 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:06:59 +00:00
beard%netscape.com
b795a5140e added CreatePluginInstance
git-svn-id: svn://10.0.0.236/trunk@24130 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:06:41 +00:00
beard%netscape.com
0c9fa70221 Added CreatePluginInstance method.
git-svn-id: svn://10.0.0.236/trunk@24129 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:06:22 +00:00
beard%netscape.com
fdb6b83f16 added additional MIME type, "application/x-java-frame"
git-svn-id: svn://10.0.0.236/trunk@24128 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:05:51 +00:00
beard%netscape.com
151dfaca36 private SupportsMixin
git-svn-id: svn://10.0.0.236/trunk@24127 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:05:14 +00:00
beard%netscape.com
5c47386cb3 Added JSEvaluator.cpp, EmbeddedFrame.cpp, EmbeddedFramePluginInstance.cpp.
git-svn-id: svn://10.0.0.236/trunk@24126 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 20:04:48 +00:00
morse%netscape.com
9b065263e5 make wallet editor accessible outside of firewall
git-svn-id: svn://10.0.0.236/trunk@24125 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 19:50:49 +00:00
morse%netscape.com
55720e3d53 cleanup use of url-specific field-to-schema mapping
git-svn-id: svn://10.0.0.236/trunk@24124 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 19:02:38 +00:00
pavlov%pavlov.net
3b8b73438e fix bug #3721
git-svn-id: svn://10.0.0.236/trunk@24123 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 18:50:04 +00:00
locka%iol.ie
56919abb99 Made changes for IE DOM support
git-svn-id: svn://10.0.0.236/trunk@24122 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 18:29:21 +00:00
locka%iol.ie
f8a294feaf Added basic IE element implementations
git-svn-id: svn://10.0.0.236/trunk@24121 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 18:26:58 +00:00
pavlov%pavlov.net
1b8af08f0f fix another memory leak.
git-svn-id: svn://10.0.0.236/trunk@24120 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 18:12:23 +00:00
pavlov%pavlov.net
1d5e39fcc9 fix bug #3564
git-svn-id: svn://10.0.0.236/trunk@24119 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 18:06:18 +00:00
bienvenu%netscape.com
4f9d8961d4 add accessors for recipients and cc list
git-svn-id: svn://10.0.0.236/trunk@24118 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 17:46:14 +00:00
locka%iol.ie
6d98f4b590 New icons
git-svn-id: svn://10.0.0.236/trunk@24117 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 17:44:40 +00:00
locka%iol.ie
e65e3b7805 Updated CBrowse into a mini-test app
git-svn-id: svn://10.0.0.236/trunk@24116 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 17:44:01 +00:00
karnaze%netscape.com
fe3b92e60b removed code to set margins on radio buttons and checkboxes. It is now done using attribute selectors in ua.css.
git-svn-id: svn://10.0.0.236/trunk@24115 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 17:39:58 +00:00
karnaze%netscape.com
0a1d6741dd table cell uses its own border (instead of table's) when sizing its area frame
git-svn-id: svn://10.0.0.236/trunk@24114 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 17:36:10 +00:00
ramiro%netscape.com
5cbb09f9bf Fix typo.
git-svn-id: svn://10.0.0.236/trunk@24113 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 17:33:43 +00:00
edwin%woudt.nl
d614531026 Changed the smtphost preference to be identity based instead of global.
git-svn-id: svn://10.0.0.236/trunk@24112 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 13:30:45 +00:00
edwin%woudt.nl
cabbfb0c46 Default identities can be set now in the preferences file for each store.
git-svn-id: svn://10.0.0.236/trunk@24111 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 11:16:50 +00:00
mcafee%netscape.com
688621eb3f getenv() needs a prototype for Solaris.
git-svn-id: svn://10.0.0.236/trunk@24110 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 09:00:38 +00:00
danm%netscape.com
aecf46f198 disabling ability to specify a parent for a top-level window (until all platforms agree on what this means). fix refcount when registering windows with the window list.
git-svn-id: svn://10.0.0.236/trunk@24109 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 08:24:21 +00:00
danm%netscape.com
2366297b1b adjusting refcount for menubars and deletion. deletion adjustment is a HACK for the impending milestone.
git-svn-id: svn://10.0.0.236/trunk@24108 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 08:22:43 +00:00
danm%netscape.com
4293674b32 fixing goofy reversal of normal window and dialog window creation
git-svn-id: svn://10.0.0.236/trunk@24107 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 08:21:09 +00:00
danm%netscape.com
9b22c9c322 Added SetParent method
git-svn-id: svn://10.0.0.236/trunk@24106 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 08:19:34 +00:00
jband%netscape.com
859b96d66e use of typelibs via xptinfo working with test program on win32. Untested on Linux. typelib generation not yet integrated into the make system
git-svn-id: svn://10.0.0.236/trunk@24105 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 06:07:21 +00:00
beard%netscape.com
406c19300d Added NPL
git-svn-id: svn://10.0.0.236/trunk@24104 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 05:22:50 +00:00
pavlov%pavlov.net
872dc8de37 removed some unused code
git-svn-id: svn://10.0.0.236/trunk@24103 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 05:01:55 +00:00
rods%netscape.com
59be444747 Added DragListener for Drag & Drop (it's not turned on)
git-svn-id: svn://10.0.0.236/trunk@24102 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 04:45:00 +00:00
beard%netscape.com
6c2fa78c9d added nsILiveconnect service.
git-svn-id: svn://10.0.0.236/trunk@24101 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 04:41:51 +00:00
beard%netscape.com
4ee6f2956f added IID accessors
git-svn-id: svn://10.0.0.236/trunk@24100 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 04:40:54 +00:00
beard%netscape.com
98648c5313 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24099 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 04:39:04 +00:00
buster%netscape.com
7cc6cda1c5 added checks for DOM Key event returning 0x0 key code. If we get 0, we bail.
git-svn-id: svn://10.0.0.236/trunk@24098 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 04:12:21 +00:00
buster%netscape.com
6119addb3c added a debug-only printf warning if the char code returned is 0
git-svn-id: svn://10.0.0.236/trunk@24097 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 04:10:55 +00:00
beard%netscape.com
23f8cca44d First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24096 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 03:06:42 +00:00
beard%netscape.com
d86a17c17e JSObject tests.
git-svn-id: svn://10.0.0.236/trunk@24095 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 03:06:08 +00:00
beard%netscape.com
47e7c1394c Added nsLiveconnect to backward adapter target.
git-svn-id: svn://10.0.0.236/trunk@24094 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 03:05:18 +00:00
beard%netscape.com
0884e8f2d7 MRJPLUGIN_4X support.
git-svn-id: svn://10.0.0.236/trunk@24093 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 03:04:44 +00:00
jband%netscape.com
a01f741d90 added octet for unsigned 8bit, made float and double work, added a Win32 batfile to build against the right MS runtime dll, added hacked temporary support for nsID expresed as nsIIDRef, added GOTO support for iid_is being native rather than an interface type; i.e. for QueryInterface style sig where a void* is used as the out type
git-svn-id: svn://10.0.0.236/trunk@24092 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 02:59:43 +00:00
mjudge%netscape.com
0615e6fe73 fix hack for getting selection to "Really" update the frame
git-svn-id: svn://10.0.0.236/trunk@24091 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 01:18:47 +00:00
kostello%netscape.com
7ba2fb1536 Added HACKForceRedraw() when deleting a range or inserting text
git-svn-id: svn://10.0.0.236/trunk@24090 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 01:02:53 +00:00
sfraser%netscape.com
0ed96a5600 Remove an extra ", and remove the align tag on the throbber, because it
currently shows up as a label. sdagley helped.


git-svn-id: svn://10.0.0.236/trunk@24089 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 00:46:02 +00:00
kostello%netscape.com
200ff1e40c Add HACKForceRedraw() to force a redraw until the drawing
problems are solved in Gecko


git-svn-id: svn://10.0.0.236/trunk@24088 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 00:31:35 +00:00
pavlov%pavlov.net
d44739f283 make the Enumerator destructor virtual to remove build warning.
git-svn-id: svn://10.0.0.236/trunk@24087 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 00:21:56 +00:00
gordon%netscape.com
36fad31c19 Fix for Mac OT bugs #2133, #2405, #2451, #2623, #3580 among others. Steve Dagley served as buddy for my changes. This is basically the first half of the redesign for Mac NSPR Sockets. Blocking mode or Server sockets remain to be implemented.
git-svn-id: svn://10.0.0.236/trunk@24086 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 00:15:39 +00:00
mcmullen%netscape.com
f636dbb228 Added nsFileLocations.cpp/.h to the build.
git-svn-id: svn://10.0.0.236/trunk@24085 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 00:03:21 +00:00
mcmullen%netscape.com
ce1795ba6d First Checked In.
git-svn-id: svn://10.0.0.236/trunk@24084 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-14 00:02:40 +00:00
mcmullen%netscape.com
8a41bf3664 Added "About" menu with release notes item (bug #3648).
git-svn-id: svn://10.0.0.236/trunk@24083 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 23:27:45 +00:00
mcmullen%netscape.com
70f0026961 Adjusted the use of nsFileSpec in GetVolumeList(), thereby avoiding a crash.
git-svn-id: svn://10.0.0.236/trunk@24082 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 22:52:24 +00:00
edwin%woudt.nl
d328bbec32 Implemented signature replacement code. When changing identities now, the sig will change. Also the sig will be automatically added when composing a message.
git-svn-id: svn://10.0.0.236/trunk@24081 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 22:31:58 +00:00
mjudge%netscape.com
2ebf5f3b4b needed to get caret to draw at end of line and on an empty text element
git-svn-id: svn://10.0.0.236/trunk@24080 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 21:33:34 +00:00
mjudge%netscape.com
e60f9b40c5 hack to get caret to draw on empty line.
git-svn-id: svn://10.0.0.236/trunk@24079 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 21:33:01 +00:00
morse%netscape.com
2e91a789f7 added wallet
git-svn-id: svn://10.0.0.236/trunk@24078 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 21:29:49 +00:00
morse%netscape.com
5619966aab fix for bug 2414 -- cookie file not being created
git-svn-id: svn://10.0.0.236/trunk@24077 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 21:26:35 +00:00
jefft%netscape.com
e544c62a1f call nsJSUtils::nsConvertObjectToJSVal to convert returning object into jsval
git-svn-id: svn://10.0.0.236/trunk@24076 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 20:15:08 +00:00
jefft%netscape.com
a5ccc1fc81 partially enable reply and forward message
git-svn-id: svn://10.0.0.236/trunk@24075 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 20:10:10 +00:00
ducarroz%netscape.com
ef85a14469 Remove default text, now the default body is blank
git-svn-id: svn://10.0.0.236/trunk@24074 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 18:02:33 +00:00
morse%netscape.com
03293e7efc removed some dead code
git-svn-id: svn://10.0.0.236/trunk@24073 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 16:00:40 +00:00
morse%netscape.com
164b45f147 fix bugzilla bug 909
git-svn-id: svn://10.0.0.236/trunk@24072 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 15:59:05 +00:00
karnaze%netscape.com
3828070fad set max element size for hidden element
git-svn-id: svn://10.0.0.236/trunk@24071 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 12:50:43 +00:00
karnaze%netscape.com
320437ece4 bug 2220; changed wording of some warnings.
git-svn-id: svn://10.0.0.236/trunk@24070 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 12:49:37 +00:00
karnaze%netscape.com
fe22718487 removed some table frame construction warnings.
git-svn-id: svn://10.0.0.236/trunk@24069 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 12:47:56 +00:00
rjc%netscape.com
4285a9887c Reduce amount of string allocation, and delete []basename when done with it.
git-svn-id: svn://10.0.0.236/trunk@24068 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 09:32:13 +00:00
rjc%netscape.com
75a939310a Use nsFileURL instead of nsFilePath to get file URL.
git-svn-id: svn://10.0.0.236/trunk@24067 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 09:25:46 +00:00
rjc%netscape.com
d5a22ad969 Add column sorting support to bookmarks.xul
git-svn-id: svn://10.0.0.236/trunk@24066 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 09:10:40 +00:00
jband%netscape.com
5eaf37bbb1 more to fix assumption that interfaces don't have the pointer bit set
git-svn-id: svn://10.0.0.236/trunk@24065 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 09:09:26 +00:00
dp%netscape.com
6ddfe4b9de Removing unix hack of translation ./libabc.so to libabc.so to prevent multiple loads. This wont be required as we load all dlls absolutely
git-svn-id: svn://10.0.0.236/trunk@24064 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 08:09:54 +00:00
ducarroz%netscape.com
6417ada219 Part of implementation of Reply and Forward
git-svn-id: svn://10.0.0.236/trunk@24063 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 07:51:54 +00:00
ducarroz%netscape.com
972c7474f5 Part of implementation of Reply and Forward. Use new SendMessage command
git-svn-id: svn://10.0.0.236/trunk@24062 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 07:51:15 +00:00
ducarroz%netscape.com
29fb5a6f25 add pref for reply_to
git-svn-id: svn://10.0.0.236/trunk@24061 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 07:49:23 +00:00
mcmullen%netscape.com
3b2fd6b905 Fix a parameter type.
git-svn-id: svn://10.0.0.236/trunk@24060 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 07:07:33 +00:00
mcmullen%netscape.com
56cf21a8da Adapt to an API change.
git-svn-id: svn://10.0.0.236/trunk@24059 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 06:39:17 +00:00
mcmullen%netscape.com
de8fc99c4f Upgrades, bugfixes (including nsFilePath no longer hex escaped). Features (including DiskSpaceAvailable)
git-svn-id: svn://10.0.0.236/trunk@24058 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 06:38:57 +00:00
buster%netscape.com
c40ea0b1ef InsertBreak now works at the beginning of a line. Plus a trivial bug fix.
git-svn-id: svn://10.0.0.236/trunk@24057 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 05:31:22 +00:00
syd%netscape.com
e2edc000af gtk_toggle_button_get_active() is an API newer than Gtk+ 1.1.13. Replaced it
with legacy code that just looks at active field of widget directly (I could
use the GtkObject interfaces, but those are kludgy and the reason that the
newer API was introduced). Eventually (hopefully soon) we'll migrate to Gtk+
1.2 (which will fix some rendering bugs as well...)


git-svn-id: svn://10.0.0.236/trunk@24056 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 05:25:31 +00:00
buster%netscape.com
3900dace67 added delegate code for InsertText (WillInsertText, DidInsertText)
which calls generic WillInsert, DidInsert to test for magic bogus
content and does the right thing.
You now can't delete magic content with user gestures, and when you
insert anything the magic kludgy &nbsp; is deleted first.


git-svn-id: svn://10.0.0.236/trunk@24055 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 04:53:21 +00:00
buster%netscape.com
1adc16e177 Table cells need to call DidSetStyleContext whenever their style changes, or
whenever the table's style changes.
This is a partial fix for bug 3513


git-svn-id: svn://10.0.0.236/trunk@24054 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 04:38:02 +00:00
buster%netscape.com
fdd92cdedf added some debugging code. uncomment the #define DELETE_SELECTION
to see some output about what node is selected.


git-svn-id: svn://10.0.0.236/trunk@24053 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 04:36:03 +00:00
law%netscape.com
6aee465560 Throbberized
git-svn-id: svn://10.0.0.236/trunk@24052 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 04:24:13 +00:00
law%netscape.com
e898ea3970 Throb, baby, throb
git-svn-id: svn://10.0.0.236/trunk@24051 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:51:22 +00:00
law%netscape.com
6f483dbf4e Added throbbingN.gif and fixed clobber dirs
git-svn-id: svn://10.0.0.236/trunk@24050 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:40:27 +00:00
syd%netscape.com
2e269a53c6 Declare mPrData
git-svn-id: svn://10.0.0.236/trunk@24049 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:39:38 +00:00
law%netscape.com
a8a4d3d226 Adding url listener support
git-svn-id: svn://10.0.0.236/trunk@24048 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:31:55 +00:00
slamm%netscape.com
8988adee79 Disable PrintPreview 'cause it's crashing.
git-svn-id: svn://10.0.0.236/trunk@24047 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:26:54 +00:00
syd%netscape.com
3a9c39025c Call GTK print dialog. Currently, Init routine returns FAILURE, effectively
stubbing out this functionality. Done Cone will turn it on at a later time.

Gtk+ print menu crashes will temporarily disappear because of this change.


git-svn-id: svn://10.0.0.236/trunk@24046 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:21:16 +00:00
syd%netscape.com
c86a5bb085 Add nsPrintdGTK.c to build.
git-svn-id: svn://10.0.0.236/trunk@24045 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:19:58 +00:00
syd%netscape.com
57ff622ee2 Print dialog for Gtk. Needs to be wired by Done Cone, currently stubbed out
in caller.


git-svn-id: svn://10.0.0.236/trunk@24044 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:19:28 +00:00
slamm%netscape.com
d2355bf850 Add click handler for personal toolbar.
git-svn-id: svn://10.0.0.236/trunk@24043 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:15:39 +00:00
beard%netscape.com
284c311805 added IID_ACCESSOR
git-svn-id: svn://10.0.0.236/trunk@24042 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:12:16 +00:00
beard%netscape.com
8230ab5364 fixed IID accessor
git-svn-id: svn://10.0.0.236/trunk@24041 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:11:05 +00:00
beard%netscape.com
82d7689071 Added some println's to test console.
git-svn-id: svn://10.0.0.236/trunk@24040 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:08:02 +00:00
law%netscape.com
ed145eabba Export nsIURLListener.h
git-svn-id: svn://10.0.0.236/trunk@24039 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 03:01:15 +00:00
slamm%netscape.com
cda10a48e6 -mAdd FAQ link.
git-svn-id: svn://10.0.0.236/trunk@24038 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 02:59:30 +00:00
sdagley%netscape.com
ff49c74457 Make an alias of mozilla:xpfe:AppCores:xul:resources:throbbingN.gif in the throbber res directory so that law's upcoming toolbar xul change can find it.
git-svn-id: svn://10.0.0.236/trunk@24037 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 02:51:00 +00:00
law%netscape.com
da9fcb2b49 New URL listener interface to get throbber working
git-svn-id: svn://10.0.0.236/trunk@24036 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 02:28:31 +00:00
law%netscape.com
7d73848f1b New styles for throbber
git-svn-id: svn://10.0.0.236/trunk@24035 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 02:21:51 +00:00
beard%netscape.com
ab9d076b20 reverted back to kISupportsIID. It seems not all compilers can handle ::nsISupports::GetIID() from inside an XPCOM interface. Yech.
git-svn-id: svn://10.0.0.236/trunk@24034 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 02:20:57 +00:00
slamm%netscape.com
a0d92131e4 Add throbbingN.gif.
git-svn-id: svn://10.0.0.236/trunk@24033 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 02:15:34 +00:00
evaughan%netscape.com
5caad912d3 Fixed Titled button bugs.
git-svn-id: svn://10.0.0.236/trunk@24032 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:51:49 +00:00
slamm%netscape.com
b06c9cece3 Update script name
git-svn-id: svn://10.0.0.236/trunk@24031 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:43:25 +00:00
jband%netscape.com
8bb15255e9 support float and double in headers and typelibs
git-svn-id: svn://10.0.0.236/trunk@24030 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:43:19 +00:00
jband%netscape.com
9ed30011df made in params const, added some comments
git-svn-id: svn://10.0.0.236/trunk@24029 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:34:37 +00:00
jband%netscape.com
d96fb8c360 fix assumption that interfaces don't have the poointer bit set
git-svn-id: svn://10.0.0.236/trunk@24028 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:31:48 +00:00
hyatt%netscape.com
950c46393d Bookmarks menu coming online.
git-svn-id: svn://10.0.0.236/trunk@24027 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:12:53 +00:00
alecf%netscape.com
0be2671888 #if 0 out calls to functions we haven't defined yet.
git-svn-id: svn://10.0.0.236/trunk@24026 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:07:11 +00:00
alecf%netscape.com
2e006cf6f7 remove more undefined symbols by linking against more libraries
git-svn-id: svn://10.0.0.236/trunk@24025 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:06:27 +00:00
chuang%netscape.com
68726183a2 Change 3 pane layout using frame instead of iframe
git-svn-id: svn://10.0.0.236/trunk@24022 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:03:50 +00:00
hyatt%netscape.com
c888f11e4f Menus now handle click events properly (by sending them into the DOM).
git-svn-id: svn://10.0.0.236/trunk@24021 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:03:33 +00:00
law%netscape.com
96232ea83d Animated gif for apprunner throbber
git-svn-id: svn://10.0.0.236/trunk@24020 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:02:28 +00:00
mccabe%netscape.com
b8deb21290 Fixed a place where I was missing an NS_RELEASE, thanks jband.
git-svn-id: svn://10.0.0.236/trunk@24019 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:56:47 +00:00
slamm%netscape.com
2df99b84b6 Trim NSPR options down to two. Add mozilla banner.
git-svn-id: svn://10.0.0.236/trunk@24018 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:51:40 +00:00
alecf%netscape.com
28d6dad50c putterman's patches to re-root thread pane
git-svn-id: svn://10.0.0.236/trunk@24017 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:50:51 +00:00
morse%netscape.com
8aade4c7bb fix potential build bustage
git-svn-id: svn://10.0.0.236/trunk@24016 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:44:13 +00:00
hyatt%netscape.com
79251a162a Menus are much closer now.
git-svn-id: svn://10.0.0.236/trunk@24015 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:31:05 +00:00
nhotta%netscape.com
390059663f Added a MIME decoder interface which takes arguments in nsString.
git-svn-id: svn://10.0.0.236/trunk@24014 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:28:18 +00:00
beard%netscape.com
03cc80e739 forcing nsISupports to global scope to resovle ambiguity (VC is very weak)
git-svn-id: svn://10.0.0.236/trunk@24013 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:12:13 +00:00
hyatt%netscape.com
9d57739e0b On the road to making the bookmarks menu work properly.
git-svn-id: svn://10.0.0.236/trunk@24012 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:08:25 +00:00
rjc%netscape.com
2262fccde4 Autoregistration now works on all platforms, and RDF self-registers, so removing code that statically registers RDF here.
git-svn-id: svn://10.0.0.236/trunk@24011 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:06:29 +00:00
pinkerton%netscape.com
fa2dd9188c onClick -> onclick conversion.
git-svn-id: svn://10.0.0.236/trunk@24010 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:56:13 +00:00
evaughan%netscape.com
28720251d6 Fixed disabled bug on buttons.
git-svn-id: svn://10.0.0.236/trunk@24009 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:47:52 +00:00
rjc%netscape.com
6e88ce0a1b Export nsComponentManager::AutoRegister
git-svn-id: svn://10.0.0.236/trunk@24008 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:47:17 +00:00
pierre%netscape.com
7c6c8ca488 fixed uninitialized variable in XULContentSinkImpl::Init()
git-svn-id: svn://10.0.0.236/trunk@24007 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:36:33 +00:00
morse%netscape.com
c708eb1603 move wallet editor to a server
git-svn-id: svn://10.0.0.236/trunk@24006 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:32:11 +00:00
morse%netscape.com
be75a1a597 fix for wallet
git-svn-id: svn://10.0.0.236/trunk@24005 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:30:48 +00:00
morse%netscape.com
f0e79dc53c turn on client wallet for win32
git-svn-id: svn://10.0.0.236/trunk@24004 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:29:12 +00:00
rhp%netscape.com
9080b52939 Changes for content type handler plugins on unix
git-svn-id: svn://10.0.0.236/trunk@24003 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:28:39 +00:00
pierre%netscape.com
b73810df3b fixed uninitialized variable in ProxyEvent::Fire()
git-svn-id: svn://10.0.0.236/trunk@24002 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:27:46 +00:00
cyeh%netscape.com
50f0663eee use plain text for the automated report, and don't uuencode
git-svn-id: svn://10.0.0.236/trunk@24001 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:24:53 +00:00
pierre%netscape.com
d84171a598 fixed uninitialized variable in map_java_object_to_js_object_impl()
git-svn-id: svn://10.0.0.236/trunk@24000 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:18:13 +00:00
rhp%netscape.com
2afbdebea2 Change for different names on non PC platforms
git-svn-id: svn://10.0.0.236/trunk@23999 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:17:59 +00:00
rhp%netscape.com
4f3fc78aaa Change for temporary stat() call.
git-svn-id: svn://10.0.0.236/trunk@23998 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:16:52 +00:00
pinkerton%netscape.com
62c22bea64 fix for the mac part of bug #3675. We were dispatching all menu events twice.
git-svn-id: svn://10.0.0.236/trunk@23997 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 23:02:33 +00:00
pinkerton%netscape.com
9191075bb8 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23996 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:57:55 +00:00
beard%netscape.com
f070c0d794 now passing events to plugins, generating idle events with an nsITimer, all XP_MAC changes for the most part.
git-svn-id: svn://10.0.0.236/trunk@23994 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:46:14 +00:00
beard%netscape.com
b4dc5c36ea Added NS_NATIVE_PLUGIN_PORT selector to GetNativeData.
git-svn-id: svn://10.0.0.236/trunk@23993 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:45:02 +00:00
michaelp%netscape.com
dcfeafc885 added memory cleanup tripwire.
git-svn-id: svn://10.0.0.236/trunk@23992 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:24:30 +00:00
hyatt%netscape.com
108afeab5c Checking in German's new UI!
git-svn-id: svn://10.0.0.236/trunk@23991 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:21:58 +00:00
waterson%netscape.com
fbdbf7403d Bug 3529: re-rooting the tree. Added code in the generic content builder that notices changes to the 'id=' attribute and reconstructs the tree from a new resource when the object's identity is changed. Also, renamed the nsRDFGenericBuilder::IsWidgetElement() to IsFolderOrItem(), because that's what it's doing.
git-svn-id: svn://10.0.0.236/trunk@23990 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:20:34 +00:00
hyatt%netscape.com
e6b40dddbb Checking in German's new UI.
git-svn-id: svn://10.0.0.236/trunk@23989 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:16:05 +00:00
mcmullen%netscape.com
1acae3d8a9 Fixed crashing bug on solaris. Added support for mac documents directory.
git-svn-id: svn://10.0.0.236/trunk@23988 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:15:02 +00:00
mcmullen%netscape.com
0f5a09ef47 Added mac documents directory.
git-svn-id: svn://10.0.0.236/trunk@23987 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:14:08 +00:00
mscott%netscape.com
a03a0d6ba4 Add line return after "Mailbox Done" to make it easier for QA to smoketest this string.
git-svn-id: svn://10.0.0.236/trunk@23986 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:05:32 +00:00
beard%netscape.com
606af1d257 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23985 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 22:04:13 +00:00
ftang%netscape.com
63130c7028 change the macroman converter to a better shape.... reviewed by pierre
git-svn-id: svn://10.0.0.236/trunk@23984 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:58:28 +00:00
beard%netscape.com
e749a03cef Took out <SCRIPT> tag, <APPLET> tag. Only used with <EMBED> tag.
git-svn-id: svn://10.0.0.236/trunk@23983 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:51:56 +00:00
beard%netscape.com
b4d0db73a0 Added clear button, moved buttons into a panel.
git-svn-id: svn://10.0.0.236/trunk@23982 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:51:05 +00:00
slamm%netscape.com
bccc688d11 Add animated gif, anim.gif.
git-svn-id: svn://10.0.0.236/trunk@23981 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:40:39 +00:00
warren%netscape.com
fa9ffdfa65 Fixed comment.
git-svn-id: svn://10.0.0.236/trunk@23980 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:39:25 +00:00
mjudge%netscape.com
c77899adc4 fixed GetWidth to "do the right thing" and take smallcaps and spaced words/chars into account.
git-svn-id: svn://10.0.0.236/trunk@23979 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:38:16 +00:00
matt%netscape.com
5b84a7c059 Adding refresh function to refresh urlbar
for bug3548


git-svn-id: svn://10.0.0.236/trunk@23978 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:37:08 +00:00
beard%netscape.com
3d7d70e2c1 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23977 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:35:17 +00:00
warren%netscape.com
5da91ed33c Changed background colors to be standard messenger.
git-svn-id: svn://10.0.0.236/trunk@23976 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:29:44 +00:00
warren%netscape.com
cc89d8e394 Changed GetEnabledCommands to GetAllCommands/IsCommandEnabled.
git-svn-id: svn://10.0.0.236/trunk@23975 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:28:34 +00:00
endico%mozilla.org
e88bd6b01c Removing the mailnews tree. The mail code is in seamonkey already so the tree is redundant.
git-svn-id: svn://10.0.0.236/trunk@23974 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:10:39 +00:00
slamm%netscape.com
22b62bde01 Add animated gif version of throbber.
git-svn-id: svn://10.0.0.236/trunk@23973 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 21:03:26 +00:00
morse%netscape.com
77bd512e6f fix bug 1729
git-svn-id: svn://10.0.0.236/trunk@23972 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:53:01 +00:00
ducarroz%netscape.com
b0facc5ae6 Add GetMessageHeader Interface (written by jefft)
git-svn-id: svn://10.0.0.236/trunk@23971 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:41:43 +00:00
ducarroz%netscape.com
008becef89 Add ReplyMessage, ForwardMessage and SendMessage2 interface
git-svn-id: svn://10.0.0.236/trunk@23970 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:39:16 +00:00
ducarroz%netscape.com
3901089d0a implement Message Forward and Reply
git-svn-id: svn://10.0.0.236/trunk@23969 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:36:53 +00:00
bienvenu%netscape.com
310430bb3c add mork to makefiles
git-svn-id: svn://10.0.0.236/trunk@23968 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:31:57 +00:00
bienvenu%netscape.com
3f91b7a6cb turn on file stuff for Unix
git-svn-id: svn://10.0.0.236/trunk@23967 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:20:54 +00:00
bienvenu%netscape.com
26d5ef10a8 mork landing
git-svn-id: svn://10.0.0.236/trunk@23966 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:16:40 +00:00
bienvenu%netscape.com
781f4a7ec1 add error check that we can actually get the hdr from the db
git-svn-id: svn://10.0.0.236/trunk@23965 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:16:23 +00:00
bienvenu%netscape.com
b3213aed32 mork landing, fix delete of local mail messages
git-svn-id: svn://10.0.0.236/trunk@23964 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:12:41 +00:00
alecf%netscape.com
92b909c348 now link libnntp directly into base, so we can do dogfood
git-svn-id: svn://10.0.0.236/trunk@23963 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 20:05:16 +00:00
bienvenu%netscape.com
17e06b0b25 initialize offset before asking for it
git-svn-id: svn://10.0.0.236/trunk@23962 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:57:56 +00:00
bienvenu%netscape.com
d5a9fd297a fix buffer size overstatement, add assertions for various failures
git-svn-id: svn://10.0.0.236/trunk@23961 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:54:26 +00:00
dp%netscape.com
963e08ef2a Descriptor Leak fixed. Thanks to bruce@cybersight.com
git-svn-id: svn://10.0.0.236/trunk@23960 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:49:31 +00:00
briano%netscape.com
1062c18c50 Automated update
git-svn-id: svn://10.0.0.236/trunk@23959 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:45:45 +00:00
ebina%netscape.com
653d886923 Fix bug #773
Apply patch to not infinite loop if Chunking in STRIP_CRLF
state, and no LF is provided.


git-svn-id: svn://10.0.0.236/trunk@23958 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:45:24 +00:00
alecf%netscape.com
79baed5053 only use these rules if the libIDL is available (and thus XPIDL is available)
git-svn-id: svn://10.0.0.236/trunk@23957 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:35:40 +00:00
alecf%netscape.com
0081c7c702 ignore generated files
git-svn-id: svn://10.0.0.236/trunk@23956 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:34:47 +00:00
alecf%netscape.com
4978342613 use BUILD_IDLC to refer to the DOM idl compiler
git-svn-id: svn://10.0.0.236/trunk@23955 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:34:25 +00:00
alecf%netscape.com
e139fc1c63 start using BUILD_XPIDL to build XPIDL
git-svn-id: svn://10.0.0.236/trunk@23954 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:28:09 +00:00
ebina%netscape.com
121de6f1db Fix bug #2808
Add explicit text/html and text/xml to the accepts header.  Move PNG
to the from of the list of accepted image formats.


git-svn-id: svn://10.0.0.236/trunk@23953 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:16:01 +00:00
bienvenu%netscape.com
7f77b5715c fix character after line continuation character problem
git-svn-id: svn://10.0.0.236/trunk@23952 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 19:12:37 +00:00
alecf%netscape.com
1089cc78f7 uppercase filename for Unix
git-svn-id: svn://10.0.0.236/trunk@23951 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 18:50:31 +00:00
bienvenu%netscape.com
554ebeecf3 start adding mork to linux build
git-svn-id: svn://10.0.0.236/trunk@23950 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 18:16:34 +00:00
ducarroz%netscape.com
5493a75b12 change root path preference name
git-svn-id: svn://10.0.0.236/trunk@23948 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 17:17:10 +00:00
ducarroz%netscape.com
c48085c109 change prefs properties name to be compatible with Nova's prefs as much as possible. Add pref for reply to.
git-svn-id: svn://10.0.0.236/trunk@23947 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 17:16:06 +00:00
kostello%netscape.com
5d9eb5bd73 Force Redraw on Enter: this is a workaround for bug#3356 & bug#3639
git-svn-id: svn://10.0.0.236/trunk@23946 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 15:40:29 +00:00
ftang%netscape.com
a7e0437a49 add meta tag reload hack. reviewed by rickg
git-svn-id: svn://10.0.0.236/trunk@23945 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 14:31:20 +00:00
edwin%woudt.nl
bd55b34cd0 Patches from Mauro Botelho
git-svn-id: svn://10.0.0.236/trunk@23944 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 14:22:59 +00:00
putterman%netscape.com
f7a08a5c4b Load Message
git-svn-id: svn://10.0.0.236/trunk@23943 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 13:18:14 +00:00
putterman%netscape.com
f08fa8d0a9 removed release of nsmsghdr until we decouple from rdf.
git-svn-id: svn://10.0.0.236/trunk@23942 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 13:17:45 +00:00
putterman%netscape.com
de4b563b52 Moved parse url utility
git-svn-id: svn://10.0.0.236/trunk@23941 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 13:17:21 +00:00
putterman%netscape.com
3a9a14da2b Can either load a demo message or a real message.
git-svn-id: svn://10.0.0.236/trunk@23940 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 13:16:51 +00:00
putterman%netscape.com
62f84045eb link with msgdb and rdfutil.
git-svn-id: svn://10.0.0.236/trunk@23939 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 13:14:57 +00:00
putterman%netscape.com
1be401d4ec Date displays correctly.
git-svn-id: svn://10.0.0.236/trunk@23938 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 13:14:33 +00:00
putterman%netscape.com
04c9f37ca6 comment out NS_ERROR in remove
git-svn-id: svn://10.0.0.236/trunk@23937 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 13:13:58 +00:00
ramiro%netscape.com
db0ca36e35 Make it possible to prefix mozilla dlls that conflict with system dlls.
git-svn-id: svn://10.0.0.236/trunk@23935 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 12:43:04 +00:00
briano%netscape.com
402809f631 Automated update
git-svn-id: svn://10.0.0.236/trunk@23934 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 11:45:42 +00:00
ramiro%netscape.com
6814bf46c6 Take out exception tests, it breaks --enable-tests.
git-svn-id: svn://10.0.0.236/trunk@23933 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 11:42:10 +00:00
ramiro%netscape.com
e5da645884 unbreak it on linux.
git-svn-id: svn://10.0.0.236/trunk@23932 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 11:29:43 +00:00
ramiro%netscape.com
d51ceea808 Dont build broken rdfsink tests, breaks --enable-tests.
git-svn-id: svn://10.0.0.236/trunk@23931 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 11:27:57 +00:00
dp%netscape.com
9356d42ebe Using nsHashtable and nsProgIDKey for dll hashing
git-svn-id: svn://10.0.0.236/trunk@23930 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 11:25:17 +00:00
dp%netscape.com
2d294e429d using nsHashtable for dllStore.
git-svn-id: svn://10.0.0.236/trunk@23929 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 11:23:49 +00:00
waterson%netscape.com
1947b09302 More nsCOMPtr bustage. !@$!%!@ Mac.
git-svn-id: svn://10.0.0.236/trunk@23928 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 10:29:11 +00:00
waterson%netscape.com
f59164d74d Fixed nsCOMPtr bustage on Mac.
git-svn-id: svn://10.0.0.236/trunk@23927 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 10:24:42 +00:00
waterson%netscape.com
0481c9b28f Added note on making fns virtual.
git-svn-id: svn://10.0.0.236/trunk@23926 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 10:09:51 +00:00
waterson%netscape.com
e98eb1a012 Added precondition checks to DOM observer APIs.
git-svn-id: svn://10.0.0.236/trunk@23925 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 10:09:26 +00:00
waterson%netscape.com
e2f8b6b96e Fixed bug with ambiguity that may occur in calls to RDFTreeBuilderImpl::RemoveWidgetItem(); implemented OnRemoveChild() DOM observer.
git-svn-id: svn://10.0.0.236/trunk@23924 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 10:09:07 +00:00
rjc%netscape.com
bf2745b51c Damn tabs/spaces.
git-svn-id: svn://10.0.0.236/trunk@23923 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 09:21:04 +00:00
mcafee%netscape.com
72ea9e5ee5 Removing a printf()
git-svn-id: svn://10.0.0.236/trunk@23922 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 09:19:28 +00:00
rjc%netscape.com
9f76dfecf8 Move folder-open.gif and folder-closed.gif into dist area.
git-svn-id: svn://10.0.0.236/trunk@23921 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 09:00:58 +00:00
dp%netscape.com
943c88fd8d Forcing XPCOM registry recreation
git-svn-id: svn://10.0.0.236/trunk@23920 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:53:45 +00:00
dp%netscape.com
189340f83f PC: Disabling autoregistration at initialization. It will be done by the app.
git-svn-id: svn://10.0.0.236/trunk@23919 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:52:56 +00:00
dp%netscape.com
a926c59c99 PC: Enabling autoregistration from the app
git-svn-id: svn://10.0.0.236/trunk@23918 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:51:37 +00:00
rjc%netscape.com
d57c9702e3 The file system datasource now sets a type='FileSystemObject' attribute on file system nodes.
git-svn-id: svn://10.0.0.236/trunk@23917 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:50:36 +00:00
rjc%netscape.com
981dc68d02 Only set container='true' when something is really a container.
git-svn-id: svn://10.0.0.236/trunk@23916 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:49:26 +00:00
rjc%netscape.com
d6d3579139 Add icons for type=FileSystemObject
git-svn-id: svn://10.0.0.236/trunk@23915 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:48:21 +00:00
rjc%netscape.com
839c3ab6f5 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23914 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:38:21 +00:00
waterson%netscape.com
e1aa99a9a8 Renamed IsWidgetProperty() to IsContainmentProperty(), added RemoveWidgetItem() call and hooked it up in the generic builder.
git-svn-id: svn://10.0.0.236/trunk@23913 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:13:14 +00:00
waterson%netscape.com
5728cb2dcf Fixed bug where button created without 'src=' would crash when 'src=' was set.
git-svn-id: svn://10.0.0.236/trunk@23912 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:11:54 +00:00
rpotts%netscape.com
80e70e30ec Removed the Change Icons menu item... Removed the call to BrowserPrintPreview() from the Print Preview menu item. Currently, the BrowserPrintPreview() function does not do what you expect - it tries to change the toolbar icons and crashes
git-svn-id: svn://10.0.0.236/trunk@23911 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:03:02 +00:00
putterman%netscape.com
45203890af Fix some idl changes.
git-svn-id: svn://10.0.0.236/trunk@23910 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 08:02:35 +00:00
putterman%netscape.com
af42b15942 Specify folder with two '/'.
git-svn-id: svn://10.0.0.236/trunk@23909 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:59:03 +00:00
putterman%netscape.com
1d8fc9a6e8 Remove another release because of RDF nsMsgHdr problems. Will fix after we
decouple nsMsghdr and nsIMessage.


git-svn-id: svn://10.0.0.236/trunk@23908 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:58:20 +00:00
putterman%netscape.com
25069479e9 Add and Remove folderListeners, and hook up DeleteMessage between datasource
and database.


git-svn-id: svn://10.0.0.236/trunk@23907 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:57:26 +00:00
putterman%netscape.com
1a7ee5eddc Added a parameter to CreateMsgHdr to determine if we use GetMessageKey while
creating URI.


git-svn-id: svn://10.0.0.236/trunk@23906 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:56:24 +00:00
putterman%netscape.com
f76992bc38 Add and Remove FolderListeners.
git-svn-id: svn://10.0.0.236/trunk@23905 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:55:26 +00:00
putterman%netscape.com
ce0a8ed2f8 Add and Remove Folder Listeners.
git-svn-id: svn://10.0.0.236/trunk@23904 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:54:48 +00:00
waterson%netscape.com
0d344fe048 Ripped out the 'toy' parser and installed an updated version of the parser from 4.5.
git-svn-id: svn://10.0.0.236/trunk@23903 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:46:42 +00:00
bienvenu%netscape.com
aba5cf4b18 initial mork landing - not part of build yet
git-svn-id: svn://10.0.0.236/trunk@23902 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 07:39:27 +00:00
kostello%netscape.com
b53c0edb3c Fixed bug 3651: for OutputText, we were not outputting
linebreaks whenever we encounter <BR> in the content
model.


git-svn-id: svn://10.0.0.236/trunk@23901 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 06:51:34 +00:00
kostello%netscape.com
32ae1e3029 Fixed bug 3664: not checking for null condition
git-svn-id: svn://10.0.0.236/trunk@23900 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 06:50:41 +00:00
mccabe%netscape.com
d7ffc955ca Not part of seamonkey.
Removed awkward nsXPTParamInfo::GetInterface and friend, and als removed supporting nsXPTParamInfo.cpp file.  Replace by nsIInterfaceInfo::GetInfoForParam and friend.

Made the constructor for nsInterfaceInfo private, with nsInterfaceInfoManager as a friend class.


git-svn-id: svn://10.0.0.236/trunk@23899 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 06:49:01 +00:00
mcafee%netscape.com
50d6478a9c Solaris needs prototypes for PR_Free, PR_smprintf.
git-svn-id: svn://10.0.0.236/trunk@23898 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 06:42:37 +00:00
mscott%netscape.com
c550297965 add printf statement for "Mailbox Done" to allow QA to script a smoketest for the mail client.
git-svn-id: svn://10.0.0.236/trunk@23897 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 06:24:34 +00:00
karnaze%netscape.com
df217ace86 hopefully a fix for the mac build
git-svn-id: svn://10.0.0.236/trunk@23896 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 06:12:03 +00:00
karnaze%netscape.com
1a9cdab67c bug 3628, scrolling=yes on <frame>, <iframe>
git-svn-id: svn://10.0.0.236/trunk@23895 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:36:35 +00:00
mscott%netscape.com
b6eb6d4598 Add a return value at the end of GetSmtpName to fix build breakage on windows. I don't know why VC6.0 let it go....
git-svn-id: svn://10.0.0.236/trunk@23894 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:33:00 +00:00
sfraser%netscape.com
1c80fd42e0 Throw the switch so we now pay attention to the charCode in the key event.
git-svn-id: svn://10.0.0.236/trunk@23893 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:28:22 +00:00
hyatt%netscape.com
a8ddba3660 Changing the name of the include tag.
git-svn-id: svn://10.0.0.236/trunk@23892 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:22:19 +00:00
hyatt%netscape.com
c62b139bf2 XUL fragments live!
git-svn-id: svn://10.0.0.236/trunk@23891 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:21:25 +00:00
hyatt%netscape.com
d132d95a8f Tweaked the content sink to remove an unused argument from the Init method.
git-svn-id: svn://10.0.0.236/trunk@23890 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:21:01 +00:00
hyatt%netscape.com
2e291cefc4 Enhanced the document loader to handle subdocuments.
git-svn-id: svn://10.0.0.236/trunk@23889 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:20:29 +00:00
hyatt%netscape.com
2a48f5090b Enhanced the document loader so that it can now handle subdocuments, thus
enabling it to load multiple documents at once and to support the integration
of a subdocument into the parent document.


git-svn-id: svn://10.0.0.236/trunk@23888 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:20:14 +00:00
rjc%netscape.com
226685e45f Use appropriate icon for actual bookmark URLs.
git-svn-id: svn://10.0.0.236/trunk@23887 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:01:41 +00:00
waterson%netscape.com
a1e15dd39c Fix more tab-spaces makefile bustage.
git-svn-id: svn://10.0.0.236/trunk@23886 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 05:00:13 +00:00
beard%netscape.com
dd2226b969 using nsITimer::GetIID() instead of kITimerIID
git-svn-id: svn://10.0.0.236/trunk@23885 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:48:48 +00:00
beard%netscape.com
598d135826 took out initialization check in InitLiveConnectClasses
git-svn-id: svn://10.0.0.236/trunk@23884 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:48:28 +00:00
beard%netscape.com
e4c35278ba massive overhaul for new stream APIs.
git-svn-id: svn://10.0.0.236/trunk@23883 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:48:04 +00:00
beard%netscape.com
04acba3cf8 added NS_DEFINE_STATIC_IID_ACCESSOR.
git-svn-id: svn://10.0.0.236/trunk@23882 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:46:43 +00:00
waterson%netscape.com
c0fd696b5d Added an #ifdef XP_UNIX implementation of _strrev() to fix the
build. No clue if it works.


git-svn-id: svn://10.0.0.236/trunk@23881 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:41:50 +00:00
beard%netscape.com
5176ae5079 NS_NATIVE_PLUGIN_PORT
git-svn-id: svn://10.0.0.236/trunk@23880 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:33:29 +00:00
pinkerton%netscape.com
63b1cd1062 Fixes bug #3532 where incremental reflow was not being correctly handled. Also no longer re-resolves the style context at each reflow, but only once on inital reflow.
git-svn-id: svn://10.0.0.236/trunk@23879 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:33:24 +00:00
rjc%netscape.com
105565a73e Removing old personal toolbar folder icons which are too long (>31 characters) due to Mac. They've been replaced by icon files with shorter names.
git-svn-id: svn://10.0.0.236/trunk@23878 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:31:21 +00:00
beard%netscape.com
c77610eb5c Fixed some unitialized variables
git-svn-id: svn://10.0.0.236/trunk@23877 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:31:13 +00:00
beard%netscape.com
d170b2f876 added AddEventListener
git-svn-id: svn://10.0.0.236/trunk@23876 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:30:30 +00:00
beard%netscape.com
5c6e5f4422 now reference counts all listeners
git-svn-id: svn://10.0.0.236/trunk@23875 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:29:48 +00:00
rjc%netscape.com
d1979f0a6c Reducing length of personal toolbar folder icons to be no more than 31 characters as its a Mac limit.
git-svn-id: svn://10.0.0.236/trunk@23874 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:29:41 +00:00
beard%netscape.com
50a74966ea now subclasses nsISupports
git-svn-id: svn://10.0.0.236/trunk@23873 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:29:19 +00:00
rjc%netscape.com
881f75b58e Icon filenames can't be longer than 31 characters (its a Mac limit) so shortening references to the personal toolbar folder icons. Also, adding in icon references to sidebar.xul
git-svn-id: svn://10.0.0.236/trunk@23872 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:19:43 +00:00
mscott%netscape.com
663e68d936 Build nsPop3Service.cpp
git-svn-id: svn://10.0.0.236/trunk@23871 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:19:12 +00:00
mscott%netscape.com
ea98214b55 Export nsIPop3Service.h
git-svn-id: svn://10.0.0.236/trunk@23870 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:18:34 +00:00
mscott%netscape.com
50aa8f26b5 Implement get new mail.
git-svn-id: svn://10.0.0.236/trunk@23869 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:15:13 +00:00
mscott%netscape.com
78e9bb7fab MsgGetNewMsg should call the get new mail function.
git-svn-id: svn://10.0.0.236/trunk@23868 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:14:28 +00:00
mscott%netscape.com
0c84ca104b Changes for naoki to implement set character set function.
git-svn-id: svn://10.0.0.236/trunk@23867 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:13:53 +00:00
mscott%netscape.com
36488fe0ba Changes for naoki to fill in the character set encoding menu.
git-svn-id: svn://10.0.0.236/trunk@23866 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:13:11 +00:00
mscott%netscape.com
197aa0528d Changes for Naoki to implement set character set menu stuff.
Implement GetNewMsgs function which runs a get new mail url through the pop3 service.


git-svn-id: svn://10.0.0.236/trunk@23865 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:12:36 +00:00
mscott%netscape.com
e2f3bd930e oops don't build pop3test until I'm ready for it to work again...
git-svn-id: svn://10.0.0.236/trunk@23864 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:10:59 +00:00
mscott%netscape.com
3c4779614a pop3 test no longer needs to create a transport. Go through the pop3 service for running a get new mail url....
git-svn-id: svn://10.0.0.236/trunk@23863 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:09:39 +00:00
mscott%netscape.com
9bdec6edc6 factory can now create a pop3 service...
git-svn-id: svn://10.0.0.236/trunk@23862 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:07:52 +00:00
mscott%netscape.com
7d5546829d Build nsPop3Service.
git-svn-id: svn://10.0.0.236/trunk@23861 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:06:09 +00:00
mscott%netscape.com
af6a3f985d Creating a pop3 protocol should not require a transport. We should do it ourselves. LoadUrL should take a consumer.
git-svn-id: svn://10.0.0.236/trunk@23860 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:05:40 +00:00
rjc%netscape.com
e8b44fc4ee Need to shorten image filenames to 31 or less characters. Its a Mac file limit.
git-svn-id: svn://10.0.0.236/trunk@23859 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:05:23 +00:00
mscott%netscape.com
79b39b0714 updates to use nsIMsgMailNewsUrl to pick up url listener stuff. define a default Pop3 port...
git-svn-id: svn://10.0.0.236/trunk@23858 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:04:40 +00:00
mscott%netscape.com
5f517473b7 Update the interface so it supports the nsIMsgMailNews interface...
git-svn-id: svn://10.0.0.236/trunk@23857 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 04:02:53 +00:00
mscott%netscape.com
4565c68f77 We no longer need to create the transport for the smtp protocol. Use smtpName as sender's name.
git-svn-id: svn://10.0.0.236/trunk@23856 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:57:59 +00:00
waterson%netscape.com
28605e89fb Fix Unix build bustage.
git-svn-id: svn://10.0.0.236/trunk@23855 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:57:16 +00:00
mscott%netscape.com
6f42922563 Updates to smtp protocol. We should not require the caller to create the transport at construction time. the protocol should do this itself.
git-svn-id: svn://10.0.0.236/trunk@23854 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:57:13 +00:00
beard%netscape.com
7eba319f1f commented out NEW_PLUGIN_STREAM_API
git-svn-id: svn://10.0.0.236/trunk@23853 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:56:02 +00:00
mscott%netscape.com
41b91ea697 use default smtp port to initialize m_port.
git-svn-id: svn://10.0.0.236/trunk@23852 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:55:46 +00:00
beard%netscape.com
ed188a97ca removed NEW_PLUGIN_STREAM_API #ifdefs, conformed to latest nsIPluginStreamListener interface.
git-svn-id: svn://10.0.0.236/trunk@23851 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:55:42 +00:00
beard%netscape.com
4e4dbfcd3c Added a 4.x target.
git-svn-id: svn://10.0.0.236/trunk@23850 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:55:26 +00:00
mscott%netscape.com
bc3a57ba68 define default SMTP port...
git-svn-id: svn://10.0.0.236/trunk@23849 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:54:59 +00:00
beard%netscape.com
9912c80b57 changed how visibility is computed with nsPluginPort.
git-svn-id: svn://10.0.0.236/trunk@23848 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:54:23 +00:00
mscott%netscape.com
47b36d89c8 Distinguish between pop and smtp user name. Remove old user_name field which has these new, more specific fields instead.
git-svn-id: svn://10.0.0.236/trunk@23847 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:54:13 +00:00
mscott%netscape.com
8ea5ffa415 a service to make running pop3 urls easier for the mail client.
git-svn-id: svn://10.0.0.236/trunk@23846 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:51:35 +00:00
mscott%netscape.com
a43c810e98 Export nsIPop3Service.h
git-svn-id: svn://10.0.0.236/trunk@23845 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:50:48 +00:00
mscott%netscape.com
bb94c546c7 Pop3 service for dealing with pop3 urls...
git-svn-id: svn://10.0.0.236/trunk@23844 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:50:20 +00:00
rjc%netscape.com
8713a65eb3 Make history datasource work on Mac and Unix, not just Windows. Now using nsFileSpec and removed all Std C FILE code in favor of streams.
git-svn-id: svn://10.0.0.236/trunk@23843 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:42:43 +00:00
rhp%netscape.com
5160205498 Finding content type handler plugins on UNIX
git-svn-id: svn://10.0.0.236/trunk@23842 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:40:28 +00:00
rhp%netscape.com
4d25652ec3 More makefile changes for components
git-svn-id: svn://10.0.0.236/trunk@23841 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:35:09 +00:00
rhp%netscape.com
dd67e1fe64 Change to make it a component
git-svn-id: svn://10.0.0.236/trunk@23840 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:24:00 +00:00
rhp%netscape.com
c6bc7aa463 Added the installation of CSS and JS files.
git-svn-id: svn://10.0.0.236/trunk@23839 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:17:45 +00:00
ducarroz%netscape.com
414f9038e7 export composeBody.html
git-svn-id: svn://10.0.0.236/trunk@23838 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 03:03:23 +00:00
briano%netscape.com
c12e8e5eb1 Made it acceptable to QNX's shell.
git-svn-id: svn://10.0.0.236/trunk@23837 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 02:55:24 +00:00
buster%netscape.com
b6be8ea31d deleting the last editable object in a document now causes a bogus placeholder <P>&nbsp;</P> to be added to the document. This node has the
attribute MOZ_EDITOR_BOGUS_NODE set to TRUE.  this solves the problem of when you do a SelectAll then a DEL, you don't have a cursor
or any way to set selection in the document. You do still have the problem that the nbsp is pretty narrow and the frame containing it is hard to hit
with the mouse.  We really need the "set selection to frame nearest the mouse down point" operation.

the intent is for all inserts to look for this node, and if found delete it before the insert.  likewise, all deletes will be no-ops if this node is found.


git-svn-id: svn://10.0.0.236/trunk@23836 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 02:28:24 +00:00
buster%netscape.com
3475d199f3 fixed a small bug. mRefNode may be nsnull.
git-svn-id: svn://10.0.0.236/trunk@23835 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 02:27:48 +00:00
sar%netscape.com
7b417ab826 make it possible to turn mailnews off by setting DISABLE_MAILNEWS
git-svn-id: svn://10.0.0.236/trunk@23834 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 02:27:29 +00:00
mcafee%netscape.com
eefc28a949 Removing printf
git-svn-id: svn://10.0.0.236/trunk@23833 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 02:25:00 +00:00
mcafee%netscape.com
18e50b9e0b Adding triple-click support; map double-click events to NS_MOUSE_LEFT_DOUBLECLICK, etc. (3595)
git-svn-id: svn://10.0.0.236/trunk@23832 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 02:23:44 +00:00
warren%netscape.com
5bbb6913cd Put back in call to NS_NewUnionEnumerator -- resolved link problem.
git-svn-id: svn://10.0.0.236/trunk@23831 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 02:10:03 +00:00
mjudge%netscape.com
e4c09191d6 reverting fix :(
git-svn-id: svn://10.0.0.236/trunk@23830 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:49:12 +00:00
alecf%netscape.com
2e1d72fa5a nsNetFile wasn't building on unix...
git-svn-id: svn://10.0.0.236/trunk@23829 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:44:02 +00:00
alecf%netscape.com
df9d34d3cd don't build old-sk00l mail/news protocols
git-svn-id: svn://10.0.0.236/trunk@23828 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:42:52 +00:00
mjudge%netscape.com
f49ed08720 backing out fix
git-svn-id: svn://10.0.0.236/trunk@23827 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:35:13 +00:00
mjudge%netscape.com
c9c3a38a91 backing out fix. i hate this
git-svn-id: svn://10.0.0.236/trunk@23826 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:34:44 +00:00
mjudge%netscape.com
56ac18a720 fixing libs phase to make the windows lib to be used by \widget
git-svn-id: svn://10.0.0.236/trunk@23825 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:29:31 +00:00
mjudge%netscape.com
f73de66a02 changing the build system to export the "lib" on the libs phase not wait for install
git-svn-id: svn://10.0.0.236/trunk@23824 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:28:52 +00:00
ducarroz%netscape.com
1f8a8ccb14 Fix transparency color problem
git-svn-id: svn://10.0.0.236/trunk@23823 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:27:54 +00:00
waterson%netscape.com
b2a49aab76 s/rdfb/rdf
git-svn-id: svn://10.0.0.236/trunk@23822 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:25:30 +00:00
waterson%netscape.com
6c48f04c6d Added rules for personal toolbar GIFs.
git-svn-id: svn://10.0.0.236/trunk@23821 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:23:00 +00:00
rhp%netscape.com
07fa937efc Changes for linux build.
git-svn-id: svn://10.0.0.236/trunk@23820 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:22:30 +00:00
waterson%netscape.com
a7fe911af7 Added rules for personal toolbar folder GIFs.
git-svn-id: svn://10.0.0.236/trunk@23819 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:21:40 +00:00
waterson%netscape.com
7017b2656c Added icons and style rules for the personal toolbar folder.
git-svn-id: svn://10.0.0.236/trunk@23818 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:21:20 +00:00
sdagley%netscape.com
f1888f3f4e Fixing the Mac build bustage by calling the get() accessor for comparison
git-svn-id: svn://10.0.0.236/trunk@23817 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:16:08 +00:00
ftang%netscape.com
8a18f3ae43 Add atsui work for non ASCII text. Reviewed and approved by pierre. Need more work to convert more text into MacRoman.
git-svn-id: svn://10.0.0.236/trunk@23816 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:15:52 +00:00
ducarroz%netscape.com
56b6d9487a Part of integration of preference into compose
git-svn-id: svn://10.0.0.236/trunk@23815 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:10:43 +00:00
ducarroz%netscape.com
8a51948c91 Add pref for user real name, organization and user email address
git-svn-id: svn://10.0.0.236/trunk@23814 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:09:48 +00:00
warren%netscape.com
c557e9d038 Added menu item to bring up messenger.
git-svn-id: svn://10.0.0.236/trunk@23813 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:08:17 +00:00
ducarroz%netscape.com
af0e1f977b Part of the intregration of preferences into compose
git-svn-id: svn://10.0.0.236/trunk@23812 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:07:30 +00:00
despotdaemon%netscape.com
64a0e1d8a7 Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@23811 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:04:08 +00:00
mjudge%netscape.com
2531ba7a64 need to swap positions for mac. need to put COMPtr on right side of ==
git-svn-id: svn://10.0.0.236/trunk@23810 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 01:02:34 +00:00
despotdaemon%netscape.com
7dc69c50e5 Pseudo-automatic update of changes made by brendan@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@23809 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:49:00 +00:00
ducarroz%netscape.com
c4c91237ac Initial checkin, part of integration of preference into compose
git-svn-id: svn://10.0.0.236/trunk@23808 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:47:09 +00:00
waterson%netscape.com
0881f4d92b Fixed spaces in Makefile.in.
git-svn-id: svn://10.0.0.236/trunk@23807 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:31:40 +00:00
briano%netscape.com
a8c4a6f357 Now static builds can find the static libraries they need.
git-svn-id: svn://10.0.0.236/trunk@23806 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:30:52 +00:00
rods%netscape.com
17a3db4b61 removed D&D define
git-svn-id: svn://10.0.0.236/trunk@23805 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:24:36 +00:00
akkana%netscape.com
5fccac2f05 nsConvertKey should only set the key code to zero if the key is one
of the special keys.
Also, handle_key_press/release_event shouldn't pass events for shift,
control, and alt keys -- other platforms don't treat those as key events,
so the XP code isn't prepared to handle them.
This fixes typing of punctuation marks in the editor.


git-svn-id: svn://10.0.0.236/trunk@23804 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:23:11 +00:00
rods%netscape.com
28fc42d142 Fixed up some of the drag & drop codce
Added the filling in of the charCode  field in nsKeyEvent


git-svn-id: svn://10.0.0.236/trunk@23803 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:21:11 +00:00
mjudge%netscape.com
5876940d2e fixed memory leaks in nsRangelist.cpp. uninitialized memory in nsTextframe, simplified APIs in nsIFrame and the underlying implementations. see layout.checkins
git-svn-id: svn://10.0.0.236/trunk@23802 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:17:14 +00:00
dp%netscape.com
5915fbf7df Unix: Autoregistration disabled at initialization. This should be done by app.
git-svn-id: svn://10.0.0.236/trunk@23801 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:05:54 +00:00
dp%netscape.com
dd245a35ba Autoregistration at startup on unix from the app
git-svn-id: svn://10.0.0.236/trunk@23800 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:04:39 +00:00
cyeh%netscape.com
5f2bfbd29b re-enabling this directory. if the tree breaks again, i'll yank it again, but i have built and clobber_alled and i still can't reproduce the problem.
git-svn-id: svn://10.0.0.236/trunk@23799 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:04:23 +00:00
bienvenu%netscape.com
e8b07e2650 fix off by 1 error in buffer growing code
git-svn-id: svn://10.0.0.236/trunk@23798 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:01:37 +00:00
mjudge%netscape.com
a1cd7388b4 fixed copy paste issue on windows, linking wrong.lib file
git-svn-id: svn://10.0.0.236/trunk@23797 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:01:24 +00:00
waterson%netscape.com
3bf2c5323c Added rules to export bookmark images.
git-svn-id: svn://10.0.0.236/trunk@23796 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 00:01:22 +00:00
waterson%netscape.com
25b9b109d0 Use xul:titledbutton instead of xul:treeicon for now.
git-svn-id: svn://10.0.0.236/trunk@23795 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:59:26 +00:00
waterson%netscape.com
6b3c9f5d2c Added bookmark images and style rules to apply them.
git-svn-id: svn://10.0.0.236/trunk@23794 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:58:51 +00:00
sfraser%netscape.com
98f3ad251b Added EditorInitPagePlain.html, for plain text testing.
Changed editor XUL file to load this.


git-svn-id: svn://10.0.0.236/trunk@23793 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:31:58 +00:00
morse%netscape.com
706d1518bf added include for wallet
git-svn-id: svn://10.0.0.236/trunk@23792 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:30:49 +00:00
sfraser%netscape.com
095d0e1915 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23791 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:30:44 +00:00
briano%netscape.com
c6519177cb Automated update
git-svn-id: svn://10.0.0.236/trunk@23790 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:30:41 +00:00
michaelp%netscape.com
0264b208cc added Sample 13
git-svn-id: svn://10.0.0.236/trunk@23789 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:22:46 +00:00
sfraser%netscape.com
5eece8ae5d Fix a crash if a xul file specifies a non-existent start page (NS_ADDREF changed to NS_IF_ADDREF).
git-svn-id: svn://10.0.0.236/trunk@23788 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:17:29 +00:00
briano%netscape.com
bc9f831df4 Fix for the NetBSD build breakage (hopefully).
git-svn-id: svn://10.0.0.236/trunk@23787 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 23:16:49 +00:00
alecf%netscape.com
d5ce998bd6 purify fixes from bruce@cybersight.com
git-svn-id: svn://10.0.0.236/trunk@23786 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:58:25 +00:00
cyeh%netscape.com
0aa49cad32 i have no idea why clobber_all isn't working in this directory. instead
of letting the tree burn forever, i am removing from mainline build until
i can reproduce this problem on my machine


git-svn-id: svn://10.0.0.236/trunk@23785 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:55:08 +00:00
alecf%netscape.com
9207ac4292 purify fix from bruce@cybersight.com
git-svn-id: svn://10.0.0.236/trunk@23784 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:53:02 +00:00
amusil%netscape.com
d2ecbb2bef Minor API change. Added support for tags that don't specify SRC or DATA params.
git-svn-id: svn://10.0.0.236/trunk@23783 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:50:58 +00:00
amusil%netscape.com
f6cd375f7c Added some mimetypes. Fixed bugs.
git-svn-id: svn://10.0.0.236/trunk@23782 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:49:51 +00:00
amusil%netscape.com
417ae85db0 Redesigned plugin cache code for StreamAsFile operations. Removed NEW_PLUGIN_STREAM_API ifdefs.
git-svn-id: svn://10.0.0.236/trunk@23781 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:48:58 +00:00
terry%netscape.com
afe8ed25d5 Added new pages to edit existing components.
git-svn-id: svn://10.0.0.236/trunk@23780 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:48:42 +00:00
alecf%netscape.com
fce2803e63 update this interface, rename CreateAndInit->CreateAndInitialize
git-svn-id: svn://10.0.0.236/trunk@23779 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:46:56 +00:00
hyatt%netscape.com
918a6347c9 Adding GetIID methods to the content viewer and document loader.
git-svn-id: svn://10.0.0.236/trunk@23778 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:38:38 +00:00
cata%netscape.com
cae09c94bf EUCJP encoder test
git-svn-id: svn://10.0.0.236/trunk@23777 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:37:53 +00:00
cata%netscape.com
f48fb5e6f6 EUCJP encoder
git-svn-id: svn://10.0.0.236/trunk@23776 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:37:27 +00:00
cata%netscape.com
75944f01ac Multi table support added.
git-svn-id: svn://10.0.0.236/trunk@23775 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:36:40 +00:00
hyatt%netscape.com
22d212af2a Adding the GetIID methods to webshell.
git-svn-id: svn://10.0.0.236/trunk@23774 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:34:13 +00:00
waterson%netscape.com
3558cb747a Fixed build: capitalization error.
git-svn-id: svn://10.0.0.236/trunk@23773 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:32:44 +00:00
michaelp%netscape.com
637d37eb64 fixes for demo #13.
git-svn-id: svn://10.0.0.236/trunk@23772 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:27:00 +00:00
waterson%netscape.com
0159a35dfc Bug 3213. Removed obsolete files to keep the tree clean.
git-svn-id: svn://10.0.0.236/trunk@23771 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:26:08 +00:00
alecf%netscape.com
0908df47c4 remove bogus call for now
git-svn-id: svn://10.0.0.236/trunk@23770 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:23:43 +00:00
sfraser%netscape.com
d02e8ad864 Ignore the offset parameter returned from GetScrap.
git-svn-id: svn://10.0.0.236/trunk@23769 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:14:25 +00:00
sfraser%netscape.com
5d32eefd0f Fix the Paste code in various ways.
git-svn-id: svn://10.0.0.236/trunk@23768 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 22:03:22 +00:00
dp%netscape.com
6a616ea35a Unix: Adding MOZILLA_FIVE_HOME
git-svn-id: svn://10.0.0.236/trunk@23767 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:31:16 +00:00
sfraser%netscape.com
6a3d01cd40 Fix for 3630 -- terminate text and HTML strings returned from the editor.
git-svn-id: svn://10.0.0.236/trunk@23766 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:31:03 +00:00
michaelp%netscape.com
92d0f77a8c made compositor state an enum and macro to trace state transitions
for easier debugging. made offscreen to onscreen blit restricted to the
damage rect. added temporary hack so that new compositor works on linux.


git-svn-id: svn://10.0.0.236/trunk@23765 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:25:25 +00:00
michaelp%netscape.com
83c8853043 added sample #13: dhtml and compositor.
git-svn-id: svn://10.0.0.236/trunk@23764 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:23:28 +00:00
ducarroz%netscape.com
8d008d263b Remove all the delete this that was generating a crash when the send failed for any reason
git-svn-id: svn://10.0.0.236/trunk@23763 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:22:25 +00:00
ducarroz%netscape.com
18f45eb469 Use ender instance of an input field for the body of the message
git-svn-id: svn://10.0.0.236/trunk@23762 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:16:08 +00:00
ducarroz%netscape.com
5bcb1e7229 Initial check in, ender integration
git-svn-id: svn://10.0.0.236/trunk@23761 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:15:23 +00:00
cyeh%netscape.com
e604db3381 bizarre. i don't know how an empty makefile.win got checked into the tree.
git-svn-id: svn://10.0.0.236/trunk@23760 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:13:22 +00:00
alecf%netscape.com
08514ac409 rev this interface - remove unnecessary functions
git-svn-id: svn://10.0.0.236/trunk@23759 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:06:31 +00:00
cata%netscape.com
9adc779545 Fix for GetMaxLength()
git-svn-id: svn://10.0.0.236/trunk@23758 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:05:31 +00:00
alecf%netscape.com
f199bf9a87 rev this interface
git-svn-id: svn://10.0.0.236/trunk@23757 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:05:26 +00:00
alecf%netscape.com
a076346f86 rev this interface: char* -> const char*
git-svn-id: svn://10.0.0.236/trunk@23756 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:04:57 +00:00
cata%netscape.com
7ccb120a1d SJIS encoder added.
git-svn-id: svn://10.0.0.236/trunk@23755 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:04:54 +00:00
cata%netscape.com
3de23b0fb3 SJIS encoder test added.
git-svn-id: svn://10.0.0.236/trunk@23754 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:04:30 +00:00
alecf%netscape.com
b94994dc5d rev this interface - char*->const char*
git-svn-id: svn://10.0.0.236/trunk@23753 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:02:50 +00:00
sar%netscape.com
2336908bf5 add mozilla/extensions to SeaMonkeyBrowser
git-svn-id: svn://10.0.0.236/trunk@23752 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:02:04 +00:00
alecf%netscape.com
1aad69b823 fix up libraries a bit more
git-svn-id: svn://10.0.0.236/trunk@23751 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 21:01:39 +00:00
alecf%netscape.com
1b37c66667 remove unnecessary libraries
git-svn-id: svn://10.0.0.236/trunk@23750 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:56:17 +00:00
cata%netscape.com
f05d1b51f9 Test EUCJP encoder added.
git-svn-id: svn://10.0.0.236/trunk@23749 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:39:50 +00:00
ebina%netscape.com
2ddc35bca2 Bruce Mitchener's memory leak fixes.
git-svn-id: svn://10.0.0.236/trunk@23748 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:39:39 +00:00
cata%netscape.com
5d993fef81 Fix for correct converting.
git-svn-id: svn://10.0.0.236/trunk@23747 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:39:19 +00:00
alecf%netscape.com
5781f583a8 constructors not public confuses unix
git-svn-id: svn://10.0.0.236/trunk@23746 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:38:47 +00:00
cata%netscape.com
e20331ac02 Decoder helper param fixed.
git-svn-id: svn://10.0.0.236/trunk@23745 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:38:39 +00:00
troy%netscape.com
7a6ab354fa Fixed a few places where memory allocated using ToNewCString() was free'd using
PR_Free() instead of delete[]


git-svn-id: svn://10.0.0.236/trunk@23744 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:38:28 +00:00
alecf%netscape.com
a55bfa8f8c use MIN not min - unix doesn't have min()
git-svn-id: svn://10.0.0.236/trunk@23743 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:38:19 +00:00
cata%netscape.com
46a552681d Method param fixed.
git-svn-id: svn://10.0.0.236/trunk@23742 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:37:57 +00:00
alecf%netscape.com
a066758d59 install of these files doesn't quite work yet
git-svn-id: svn://10.0.0.236/trunk@23741 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:36:47 +00:00
alecf%netscape.com
fb4d800a68 remove files that don't exist anymore (though this directory isn't even entered any more)
git-svn-id: svn://10.0.0.236/trunk@23740 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:36:18 +00:00
alecf%netscape.com
010d146d47 ignore generated files
git-svn-id: svn://10.0.0.236/trunk@23739 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:35:29 +00:00
troy%netscape.com
710622602d Patch from Bruce Mitchener that fixes incorrect use of delete
operator


git-svn-id: svn://10.0.0.236/trunk@23738 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:32:59 +00:00
alecf%netscape.com
5641548120 this is a component now
git-svn-id: svn://10.0.0.236/trunk@23737 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:29:18 +00:00
troy%netscape.com
efa6744bfd Fixed MapDeclarationInto() so it correctly handles 'min-width', 'max-width',
'min-height', and 'max-height'


git-svn-id: svn://10.0.0.236/trunk@23736 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:29:02 +00:00
troy%netscape.com
25220f507f Patch from Bruce Mitchener that fixes an incorrect use of delete
git-svn-id: svn://10.0.0.236/trunk@23735 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:27:54 +00:00
alecf%netscape.com
b9b10f3081 add libraries to link this library against
git-svn-id: svn://10.0.0.236/trunk@23734 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:27:14 +00:00
ducarroz%netscape.com
1c1027b70f Extend messenger patch to composer
git-svn-id: svn://10.0.0.236/trunk@23733 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:27:13 +00:00
alecf%netscape.com
710ff324a6 update unix makefile list for mailnews - add new mime stuff, remove old compose makefiles
git-svn-id: svn://10.0.0.236/trunk@23732 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:25:58 +00:00
mscott%netscape.com
28f45695ea Change m0id_scope to m_0id_id in order to fix the problem where the list of msg headers was always empty...
git-svn-id: svn://10.0.0.236/trunk@23731 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:22:41 +00:00
putterman%netscape.com
6b09cec24d removed call to release
git-svn-id: svn://10.0.0.236/trunk@23730 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:19:53 +00:00
hyatt%netscape.com
33cc556694 Added nsXULDocumentInfo.cpp
git-svn-id: svn://10.0.0.236/trunk@23729 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:10:31 +00:00
ramiro%netscape.com
9407081b70 Change MOZILLA_HOME to MOZILLA_FIVE_HOME so that we dont fight Communicator
4.x installations.


git-svn-id: svn://10.0.0.236/trunk@23728 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:00:57 +00:00
briano%netscape.com
a25b2f9d53 Automated update
git-svn-id: svn://10.0.0.236/trunk@23727 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 20:00:43 +00:00
jfrancis%netscape.com
aa9e3374d2 implemented paste
git-svn-id: svn://10.0.0.236/trunk@23726 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:56:12 +00:00
danm%netscape.com
7e985dfa2f fix large leak loading XUL page. bug 3561 reported by bruce@cybersight.com. r:hyatt.
git-svn-id: svn://10.0.0.236/trunk@23725 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:54:17 +00:00
putterman%netscape.com
ca9ee9973a Added delete button code
git-svn-id: svn://10.0.0.236/trunk@23724 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:52:02 +00:00
putterman%netscape.com
8df736e3ad Add delete message
git-svn-id: svn://10.0.0.236/trunk@23723 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:50:54 +00:00
putterman%netscape.com
28d9c7407d Add delete button
git-svn-id: svn://10.0.0.236/trunk@23722 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:50:27 +00:00
putterman%netscape.com
539b85f7b4 Gets dependencies correct
git-svn-id: svn://10.0.0.236/trunk@23721 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:50:01 +00:00
cyeh%netscape.com
b88162a61f *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@23720 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:49:40 +00:00
hyatt%netscape.com
1b0823980c Adding in the new document info class and tweaking the builder so that
it knows how to use it.


git-svn-id: svn://10.0.0.236/trunk@23719 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:49:32 +00:00
hyatt%netscape.com
1a5441a132 Code to enable instantiation of the new document info class.
git-svn-id: svn://10.0.0.236/trunk@23718 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:49:05 +00:00
cyeh%netscape.com
fbfda029ed moving code from mozilla/wallet to mozilla/extensions/wallet per brendan/shaver.
code owner is morse@netscape.com.

modified source and makefiles to be connected to toplevel build and fix optimized
builds. mozilla/wallet is obsolete.


git-svn-id: svn://10.0.0.236/trunk@23717 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:48:51 +00:00
hyatt%netscape.com
793f50ca3c Helper class for handling of XUL fragments.
git-svn-id: svn://10.0.0.236/trunk@23716 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:48:43 +00:00
slamm%netscape.com
d2df84f62d Fix for -MD flags. Filter-out the rule if the rule if it is bogus. A better way around the problem would be to take CFLAGS off the link line, but I am not sure if we can do this.
git-svn-id: svn://10.0.0.236/trunk@23715 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:46:00 +00:00
sfraser%netscape.com
36dae6fed3 Add SelectAll() to the EditorAppCore
git-svn-id: svn://10.0.0.236/trunk@23713 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:35:26 +00:00
sfraser%netscape.com
ab21987cd6 Fix the key handling, and fix my macro for the charCode stuff
git-svn-id: svn://10.0.0.236/trunk@23712 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:34:28 +00:00
sfraser%netscape.com
2af73d37f9 Add SelectAll()
git-svn-id: svn://10.0.0.236/trunk@23711 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 19:33:37 +00:00
cyeh%netscape.com
b404d5302c make clobber_all remove the dist so we can catch depedency problems. if you don't
blow away the dist, you can hide module dependencies and build order that need
to be correct in makefile.win DIRS


git-svn-id: svn://10.0.0.236/trunk@23710 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 18:14:57 +00:00
kostello%netscape.com
be6a84bd6d Fix build bustage: editor is near the end of the make order AND
gfx comes before widget


git-svn-id: svn://10.0.0.236/trunk@23709 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 18:12:12 +00:00
terry%netscape.com
6bb632aa4f Allow importing of groupset.
git-svn-id: svn://10.0.0.236/trunk@23708 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 16:54:12 +00:00
terry%netscape.com
ca10a7208c Added 'groups' stuff, where we have different group bits that we can
put on a person or on a bug.  Some of the group bits control access to bugzilla
features.  And a person can't access a bug unless he has every group bit set
that is also set on the bug.


git-svn-id: svn://10.0.0.236/trunk@23707 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 16:30:54 +00:00
troy%netscape.com
4dc985bb1a Patch from Bruce Mitchener (bruce@sybersight.com) that fixes incorrect
use of delete operator


git-svn-id: svn://10.0.0.236/trunk@23706 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 15:21:46 +00:00
troy%netscape.com
bc0d788a43 Work-in-progress for min/max properties
git-svn-id: svn://10.0.0.236/trunk@23705 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 15:13:17 +00:00
dcone%netscape.com
808ec32e38 added the nsdrawingsurfacemac to project
git-svn-id: svn://10.0.0.236/trunk@23704 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 15:02:42 +00:00
dcone%netscape.com
1e8690a6ef update to use the nsDrawingSurfaceMac object for its onscreen on offscreen drawing.
git-svn-id: svn://10.0.0.236/trunk@23703 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 14:42:11 +00:00
rjc%netscape.com
30a3d46852 Comment out NS_PRECONDITION on mDocument.
git-svn-id: svn://10.0.0.236/trunk@23702 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 12:07:49 +00:00
rjc%netscape.com
b62f8f98d6 Better, smarter sorting implementation.
git-svn-id: svn://10.0.0.236/trunk@23701 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 12:01:47 +00:00
rjc%netscape.com
d1d11b6ca0 Only answer GetTarget() queries if its a file URL (ignore file root node)
git-svn-id: svn://10.0.0.236/trunk@23700 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 12:00:57 +00:00
rpotts%netscape.com
ec0377d74b in the process of adding support for a protocol helper component which is responsible for dealing with modal requests from the network protocol handlers (which may be on different threads...)
git-svn-id: svn://10.0.0.236/trunk@23699 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 11:39:34 +00:00
rpotts%netscape.com
1cbd1aad68 Temporarily added a CID for the default protocol helper component...
git-svn-id: svn://10.0.0.236/trunk@23698 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 11:35:23 +00:00
warren%netscape.com
fe85bdf68a Commented out line causing link error on mac (fix later).
git-svn-id: svn://10.0.0.236/trunk@23697 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 11:03:43 +00:00
warren%netscape.com
c0d9f68452 tweak
git-svn-id: svn://10.0.0.236/trunk@23696 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 11:01:16 +00:00
warren%netscape.com
e82363f5b8 Exporting symbols for the mac.
git-svn-id: svn://10.0.0.236/trunk@23695 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 10:47:54 +00:00
rpotts%netscape.com
c53692a87b added an #ifdef USE_NGPREF around the definition of the nsIPref interface and ClassID... This should fix the build bustage...
git-svn-id: svn://10.0.0.236/trunk@23694 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 10:23:37 +00:00
warren%netscape.com
6a01692cd7 attempt to fix mac build
git-svn-id: svn://10.0.0.236/trunk@23693 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 10:18:46 +00:00
warren%netscape.com
bdd2b4c0ad First cut at new command architecture.
git-svn-id: svn://10.0.0.236/trunk@23692 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 10:14:35 +00:00
warren%netscape.com
720e68dd8f First cut at new command architecture.
git-svn-id: svn://10.0.0.236/trunk@23691 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 10:01:25 +00:00
warren%netscape.com
14b5004bf2 Added union and intersection enumerators.
git-svn-id: svn://10.0.0.236/trunk@23690 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 09:56:59 +00:00
briano%netscape.com
d34fbbe08a Automated update
git-svn-id: svn://10.0.0.236/trunk@23689 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 09:30:43 +00:00
mcafee%netscape.com
ca9a6edb76 Adding -xildoff linker flag to Solaris/CC build; removing -z defaultextract MKSHLIB_UNFORCE_ALL option, this works with ld but not CC. CC just picks the last -z option and uses that for the whole line, ld behaves as advertized in the ld man page.
git-svn-id: svn://10.0.0.236/trunk@23688 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 09:16:56 +00:00
vidur%netscape.com
52fcbb54d3 Put back in changes blown away by evaughn
git-svn-id: svn://10.0.0.236/trunk@23687 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 08:59:37 +00:00
rpotts%netscape.com
34a70160b5 Added an mRequestingThread member to nsConnectionInfo... This is a PRThread pointer to the thread which made the network request (ie. the UI thread, etc)... This information is necessary when marshelling information back to the requesting thread...
git-svn-id: svn://10.0.0.236/trunk@23686 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 08:19:54 +00:00
jband%netscape.com
bd370dabc0 strings are TD_PSTRING | XPT_TDP_POINTER
git-svn-id: svn://10.0.0.236/trunk@23685 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 08:01:02 +00:00
dp%netscape.com
0f3e789976 Changing default registry name:
Unix: ~/.mozilla/registry
Win: <winnt dir>\mozregistry.dat

BTW, mac is already MozRegistry


git-svn-id: svn://10.0.0.236/trunk@23684 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 07:56:03 +00:00
vidur%netscape.com
38fd4465f1 Added parsererror and sourcetext to element table
git-svn-id: svn://10.0.0.236/trunk@23683 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 07:52:24 +00:00
dp%netscape.com
50fc6ba44a creating ~/.mozilla under unix if not already there.
git-svn-id: svn://10.0.0.236/trunk@23682 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 07:44:23 +00:00
sfraser%netscape.com
00dff352b1 Added Cut, Copy and Paste, and did general cleanup
git-svn-id: svn://10.0.0.236/trunk@23681 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 07:40:55 +00:00
jband%netscape.com
498733635b interfaces are pointers and getters return retvals
git-svn-id: svn://10.0.0.236/trunk@23680 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 07:12:18 +00:00
kostello%netscape.com
846e8c7d06 Changed To using Ender: approved by legal
git-svn-id: svn://10.0.0.236/trunk@23679 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:48:30 +00:00
bienvenu%netscape.com
c26b882d4b add morkWriter and morkCell, morkRowCellCursor.cpp
git-svn-id: svn://10.0.0.236/trunk@23678 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:42:59 +00:00
bienvenu%netscape.com
2662ed7e15 use Close instead of Release
git-svn-id: svn://10.0.0.236/trunk@23677 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:42:18 +00:00
sfraser%netscape.com
3e711b3574 Adapted key listener to get char code directly from event, rather than trying to do a key code conversion (#ifdeffed out until char code is there on all platforms).
git-svn-id: svn://10.0.0.236/trunk@23676 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:42:09 +00:00
bienvenu%netscape.com
aa91144cd8 patches not to use persistent databases
git-svn-id: svn://10.0.0.236/trunk@23675 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:41:29 +00:00
bienvenu%netscape.com
ae80565560 fix bogus cast to nsMsgHdr
git-svn-id: svn://10.0.0.236/trunk@23674 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:40:22 +00:00
bienvenu%netscape.com
a3b794e060 add explicit include of nsCOMPtr.h
git-svn-id: svn://10.0.0.236/trunk@23673 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:39:35 +00:00
bienvenu%netscape.com
349b24308b check for missing db when deciding to reparse
git-svn-id: svn://10.0.0.236/trunk@23672 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 06:38:56 +00:00
ftang%netscape.com
ad19d90ea2 add shift_jis to the list. Solve PRBool problem on mac
git-svn-id: svn://10.0.0.236/trunk@23671 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:56:29 +00:00
troy%netscape.com
dac998d679 Patch from Bruce Mitchener (bruce@cybersight.com) that fixes unitialized
memort error


git-svn-id: svn://10.0.0.236/trunk@23670 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:56:11 +00:00
michaelp%netscape.com
52cba6f996 fixed memory leak.
git-svn-id: svn://10.0.0.236/trunk@23669 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:45:52 +00:00
nisheeth%netscape.com
6d7dd79951 - Send out the source line where the error occurred from inside PushXMLErrorToken().
- Add the 'parsererror' and 'sourcetext' tags to the HTML tag enum.


git-svn-id: svn://10.0.0.236/trunk@23668 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:36:50 +00:00
bienvenu%netscape.com
462294a411 fix syntax error in widgetglue js
git-svn-id: svn://10.0.0.236/trunk@23667 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:32:51 +00:00
nisheeth%netscape.com
d6582f1383 Added two new HTML tags used internally for error reporting of expat errors: "parsererror" and "sourcetext".
git-svn-id: svn://10.0.0.236/trunk@23666 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:30:28 +00:00
nisheeth%netscape.com
1f80f4903a - Beautified error reporting of expat errors. We now don't just dump the error text out as nodes. We create the parsererror and sourcetext HTML nodes that can be styled via ua.css.
git-svn-id: svn://10.0.0.236/trunk@23665 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:29:36 +00:00
nisheeth%netscape.com
840ff7b218 - changing ua.css to add style rules for the 'parsererror' and 'sourcetext' elements.
- added eHTMLTag_parsererror, eHTMLTag_sourcetext to the set of HTML tags.
- These tags are used within XML documents to show errors from expat.


git-svn-id: svn://10.0.0.236/trunk@23664 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:26:53 +00:00
kostello%netscape.com
34b6d10e6e Changed comment on -editor and -mail command line code
git-svn-id: svn://10.0.0.236/trunk@23663 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:25:57 +00:00
kostello%netscape.com
18a85b2199 Added -editor and -mail as command line extensions. When
passed into apprunner they load the corresponding editor and
mail url


git-svn-id: svn://10.0.0.236/trunk@23662 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:24:29 +00:00
bienvenu%netscape.com
4cdd706865 add GetAuthor and GetSubject intefraces
git-svn-id: svn://10.0.0.236/trunk@23661 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 05:15:33 +00:00
kostello%netscape.com
ca7237d1a1 Cleaned up PasteTextBlocking to return better
error information if NO TEXT data exists
on the clipboard


git-svn-id: svn://10.0.0.236/trunk@23660 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 04:41:43 +00:00
kostello%netscape.com
0c821c1e9b Added windows specific paste code
git-svn-id: svn://10.0.0.236/trunk@23659 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 04:27:39 +00:00
mscott%netscape.com
3aa074e975 somehow the pointer passed into getting the netlib queue service got changed...change it back....
git-svn-id: svn://10.0.0.236/trunk@23658 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 03:34:27 +00:00
ftang%netscape.com
dbe9e3f74a fix mHasMultibyte hint problem when the first character of the *word* is not ASCII
git-svn-id: svn://10.0.0.236/trunk@23657 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 03:00:33 +00:00
alecf%netscape.com
b55da7fc0d more linux fixes - link against the right libraries, include xp_time.c, etc.
git-svn-id: svn://10.0.0.236/trunk@23656 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:50:08 +00:00
briano%netscape.com
a07f46d649 Automated update
git-svn-id: svn://10.0.0.236/trunk@23655 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:45:41 +00:00
sdagley%netscape.com
e4e0984d7d Fill in the keyEvent.charCode field so that we can figure out what character code corresponds to the key pressed.
git-svn-id: svn://10.0.0.236/trunk@23654 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:37:24 +00:00
briano%netscape.com
96a96a8041 Cleaned up some of the platform-specific ifdef's. Using HAVE_INT16_T, HAVE_INT32_T, and HAVE_UINT16_T now.
git-svn-id: svn://10.0.0.236/trunk@23653 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:37:23 +00:00
briano%netscape.com
7d557e36ad Added tests for int16_t, int32_t, and uint16_t for AIX and BSDI.
git-svn-id: svn://10.0.0.236/trunk@23652 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:32:53 +00:00
jband%netscape.com
2e6dec8b20 get xptinfo building on Win32 again
git-svn-id: svn://10.0.0.236/trunk@23651 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:21:23 +00:00
coop%netscape.com
989ad5fb47 NOT YET PART OF SEAMONKEY:
* added improved error message for IID collision.


git-svn-id: svn://10.0.0.236/trunk@23650 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:15:53 +00:00
alecf%netscape.com
e0e0f4428e fix constness casting problem
git-svn-id: svn://10.0.0.236/trunk@23649 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:08:41 +00:00
ducarroz%netscape.com
9a882563b4 add new entries
git-svn-id: svn://10.0.0.236/trunk@23647 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:44:44 +00:00
ducarroz%netscape.com
0443449c45 did some cleanup
git-svn-id: svn://10.0.0.236/trunk@23646 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:43:19 +00:00
ducarroz%netscape.com
5f3dc5c96f The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working.
git-svn-id: svn://10.0.0.236/trunk@23645 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:41:25 +00:00
ducarroz%netscape.com
0f2fac7795 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working.
Initial check in


git-svn-id: svn://10.0.0.236/trunk@23644 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:38:11 +00:00
mjudge%netscape.com
b06caff664 fix win32 breakage by changing build order of widget and editor
git-svn-id: svn://10.0.0.236/trunk@23643 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:37:45 +00:00
ducarroz%netscape.com
095251d5fd The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working.
this file was originally located into mailnews/ui/compose/src


git-svn-id: svn://10.0.0.236/trunk@23642 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:36:37 +00:00
slamm%netscape.com
4b0a86f81a Only use mddepend.pl when PERL is set.
git-svn-id: svn://10.0.0.236/trunk@23641 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:35:33 +00:00
ducarroz%netscape.com
38429fdb48 Add new interface to nsMsgCompose, cleanup the code
git-svn-id: svn://10.0.0.236/trunk@23640 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:34:59 +00:00
alecf%netscape.com
945b46a56f rev these interfaces
git-svn-id: svn://10.0.0.236/trunk@23639 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:33:33 +00:00
jj%netscape.com
a608360198 changed $CLOBBER_LIBS from 0 to 1 [existing libs must be deleted before new one gets built]
git-svn-id: svn://10.0.0.236/trunk@23638 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:33:18 +00:00
ducarroz%netscape.com
a36ca94f86 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working.
git-svn-id: svn://10.0.0.236/trunk@23637 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:32:48 +00:00
alecf%netscape.com
63c65a3694 eliminate duplicate IID
git-svn-id: svn://10.0.0.236/trunk@23636 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:32:08 +00:00
ducarroz%netscape.com
d4e5b0aa05 add new interface to nsIMsgCompose
git-svn-id: svn://10.0.0.236/trunk@23635 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:30:18 +00:00
slamm%netscape.com
17e4604888 Change name of save script
git-svn-id: svn://10.0.0.236/trunk@23634 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:30:16 +00:00
alecf%netscape.com
1e814f213b we don't need to link against these libraries any more on unix
git-svn-id: svn://10.0.0.236/trunk@23633 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:30:07 +00:00
alecf%netscape.com
47f482ea66 link against our libraries to resolve as many differences as possible
git-svn-id: svn://10.0.0.236/trunk@23632 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:28:48 +00:00
ducarroz%netscape.com
66c622b188 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working.
this file was originally located into mailnews/ui/compose/public


git-svn-id: svn://10.0.0.236/trunk@23631 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:28:46 +00:00
sfraser%netscape.com
a95ee16903 Add widget.shlb to fix link bustage
git-svn-id: svn://10.0.0.236/trunk@23630 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:26:19 +00:00
troy%netscape.com
6866976cb9 Work-in-progress for 'min' and 'max' properties
git-svn-id: svn://10.0.0.236/trunk@23629 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:23:10 +00:00
slamm%netscape.com
43ac5089cb Summarize checkout conflicts before dying.
git-svn-id: svn://10.0.0.236/trunk@23628 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:21:25 +00:00
alecf%netscape.com
b0914f756b rev nsINNTPHost and nsINewsgroupList interfaces
git-svn-id: svn://10.0.0.236/trunk@23627 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:18:04 +00:00
ducarroz%netscape.com
b6fdfe569c add new icons to the build process
git-svn-id: svn://10.0.0.236/trunk@23626 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:17:36 +00:00
ducarroz%netscape.com
f69e944958 initial check in, Icons used by mail composer
git-svn-id: svn://10.0.0.236/trunk@23625 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:15:40 +00:00
kostello%netscape.com
8214fef4e5 Move editor to build last because of the dependency on widget
git-svn-id: svn://10.0.0.236/trunk@23624 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:13:48 +00:00
ducarroz%netscape.com
e4f75dce4b don't need anymore this file, use xul file instance
git-svn-id: svn://10.0.0.236/trunk@23623 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:12:06 +00:00
ducarroz%netscape.com
adc62ac4a1 did a lot of cleanup, now compatible with new compose appcore
git-svn-id: svn://10.0.0.236/trunk@23622 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:11:04 +00:00
ducarroz%netscape.com
ff7e7e5958 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working.
This file isn't needed anymore


git-svn-id: svn://10.0.0.236/trunk@23621 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:07:23 +00:00
ducarroz%netscape.com
9f358744b8 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working
this file has been moved to mailnews/compose/src


git-svn-id: svn://10.0.0.236/trunk@23620 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:06:09 +00:00
ducarroz%netscape.com
0366fa8b46 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working
don't need anymore this file


git-svn-id: svn://10.0.0.236/trunk@23619 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:04:24 +00:00
ducarroz%netscape.com
9e31970053 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working
don't need anymore those files


git-svn-id: svn://10.0.0.236/trunk@23618 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 01:03:12 +00:00
ducarroz%netscape.com
514844786a folder ui/compose/public removed
git-svn-id: svn://10.0.0.236/trunk@23617 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:56:54 +00:00
ducarroz%netscape.com
8f056dc1ab as compose.dll has been merged with msgcompose.dll, those files has been moved to mailnewscompose/public
git-svn-id: svn://10.0.0.236/trunk@23616 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:55:06 +00:00
ducarroz%netscape.com
349b1a82a5 As compose.dll has been merged into msgcompose.dll, we don't need those makefile anymore
git-svn-id: svn://10.0.0.236/trunk@23615 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:52:31 +00:00
ducarroz%netscape.com
42a18f68c1 The compose.dll has been merged into msgcompose.dll in order to have the auto appcore registration working
git-svn-id: svn://10.0.0.236/trunk@23614 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:48:35 +00:00
mjudge%netscape.com
85664fd476 fixing windows build bustage by temporarily loading the raptorwidget_s.dll when ender.dll is loaded. temporary until repository code working
git-svn-id: svn://10.0.0.236/trunk@23613 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:20:27 +00:00
slamm%netscape.com
0832fa39cd Take out NSPR rpm option. let the user type it in.
git-svn-id: svn://10.0.0.236/trunk@23612 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:18:57 +00:00
av%netscape.com
d645e88da3 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@23611 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:17:38 +00:00
cmanske%netscape.com
8c0b6cc73e Removed unnecessary factory interface registration
git-svn-id: svn://10.0.0.236/trunk@23610 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:16:19 +00:00
slamm%netscape.com
fda4e234b3 Combine NSPR and pthreads options. Update overall look.
git-svn-id: svn://10.0.0.236/trunk@23609 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:10:46 +00:00
akkana%netscape.com
5aedc09286 Change the reference to the global selection mgr to fix windows build
git-svn-id: svn://10.0.0.236/trunk@23608 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:08:10 +00:00
joki%netscape.com
d710a79e1d Adding DOM access to new character information
git-svn-id: svn://10.0.0.236/trunk@23607 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:07:59 +00:00
joki%netscape.com
19bae035e4 Adding new charCode variable to nsGUIEvent
git-svn-id: svn://10.0.0.236/trunk@23606 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 00:01:50 +00:00
coop%netscape.com
80dfa8d3e2 NOT YET PART OF SEAMONKEY:
* one character fix (D'oh!) to make InterfaceTypeDescriptor indices update properly.


git-svn-id: svn://10.0.0.236/trunk@23605 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 23:41:04 +00:00
hyatt%netscape.com
742df4c179 Tweaks related to XUL fragments.
git-svn-id: svn://10.0.0.236/trunk@23604 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 23:31:26 +00:00
dp%netscape.com
7898673a73 Removing unused variable.
git-svn-id: svn://10.0.0.236/trunk@23603 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 23:30:25 +00:00
tague%netscape.com
6ad4a14379 Checked in patch from bruce@cybersight.com. Fixed purify memory error.
git-svn-id: svn://10.0.0.236/trunk@23602 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 23:19:44 +00:00
endico%mozilla.org
7b0ee15a8e Add support for indexing multiple trees from the same lxr directory.
git-svn-id: svn://10.0.0.236/trunk@23600 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:58:57 +00:00
nhotta%netscape.com
81a05263f7 Added Support class and encoders
git-svn-id: svn://10.0.0.236/trunk@23599 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:57:54 +00:00
rjc%netscape.com
1bf77ce0f4 const this, baby!
git-svn-id: svn://10.0.0.236/trunk@23598 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:54:49 +00:00
warren%netscape.com
e5d24a2696 Added progID version of GetService. Fixed up nsService to not be a template.
git-svn-id: svn://10.0.0.236/trunk@23597 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:53:17 +00:00
pollmann%netscape.com
c060190502 Checking in GetSelectedItem, GetSelectedIndices, and SetSelectedIndices methods. This enables submission of a listbox's value for Linux. (wahoo!)
git-svn-id: svn://10.0.0.236/trunk@23596 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:52:55 +00:00
akkana%netscape.com
f28253683c Comment out debug prints
git-svn-id: svn://10.0.0.236/trunk@23595 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:50:51 +00:00
cata%netscape.com
58053aee71 Support class, EUCJP and ISO2022JP encoders added.
git-svn-id: svn://10.0.0.236/trunk@23594 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:46:38 +00:00
akkana%netscape.com
a6feb40744 Implement editor cut/copy/paste
git-svn-id: svn://10.0.0.236/trunk@23593 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:46:15 +00:00
rpotts%netscape.com
ad4a570981 New interface to allow protocol handlers to request and process modal dialogs...
git-svn-id: svn://10.0.0.236/trunk@23592 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:43:23 +00:00
akkana%netscape.com
109aad3dea Fix Solaris build problems -- thanks to braddr & bruce @ puremagic.com
git-svn-id: svn://10.0.0.236/trunk@23591 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:41:18 +00:00
alecf%netscape.com
59c04072de rev the interface, update char* to const char*
git-svn-id: svn://10.0.0.236/trunk@23590 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:32:46 +00:00
akkana%netscape.com
f198ef7ae3 Fix purify UMR error -- thanks to braddr & bruce @ puremagic.com
git-svn-id: svn://10.0.0.236/trunk@23589 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:30:23 +00:00
slamm%netscape.com
2589f5be88 Added Javascript to change focus and radio selection for radio/text groups. Simplified the instructions.
git-svn-id: svn://10.0.0.236/trunk@23588 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:20:55 +00:00
alecf%netscape.com
b5aabe5013 rev this interface and remove NS_DOM binding from IDL
git-svn-id: svn://10.0.0.236/trunk@23587 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:19:54 +00:00
cata%netscape.com
edc8cfeb62 added files: mozilla/intl/uconv/ucvja/nsUCvJaSupport.cpp, mozilla/intl/uconv/ucvja/nsUnicodeToSJIS.cpp
git-svn-id: svn://10.0.0.236/trunk@23586 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:09:06 +00:00
alecf%netscape.com
fbc0ce4691 comment out these two functions, they are already defined on Unix
git-svn-id: svn://10.0.0.236/trunk@23585 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:08:07 +00:00
cata%netscape.com
c4558e181f SJIS encoder, Support class added.
git-svn-id: svn://10.0.0.236/trunk@23584 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:08:00 +00:00
alecf%netscape.com
80ac2d23f4 revert to old types for now to match definition in include/
git-svn-id: svn://10.0.0.236/trunk@23583 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:07:45 +00:00
dp%netscape.com
c81e64e889 Adding error messages when loading fails.
git-svn-id: svn://10.0.0.236/trunk@23582 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:07:34 +00:00
alecf%netscape.com
6121b82e15 various tweaks to make this build on Linux
git-svn-id: svn://10.0.0.236/trunk@23581 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:06:52 +00:00
alecf%netscape.com
598584c05b gotta export all these header files so that we can see them from other mime directories
git-svn-id: svn://10.0.0.236/trunk@23580 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:06:15 +00:00
rjc%netscape.com
fda66fcfc1 Small sort fix.
git-svn-id: svn://10.0.0.236/trunk@23579 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 22:02:25 +00:00
rjc%netscape.com
d90524979e When asking for a bookmark's URL via GetTarget(), synthesize it.
git-svn-id: svn://10.0.0.236/trunk@23578 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:58:40 +00:00
morse%netscape.com
926dd7bbd4 changes for wallet
git-svn-id: svn://10.0.0.236/trunk@23577 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:42:45 +00:00
mcmullen%netscape.com
6a5c89fa74 Fixed bustage with typo.
git-svn-id: svn://10.0.0.236/trunk@23576 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:41:43 +00:00
morse%netscape.com
e74e92add5 bug fix for single signon
git-svn-id: svn://10.0.0.236/trunk@23575 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:38:34 +00:00
morse%netscape.com
85bb026c3f New files for wallet
git-svn-id: svn://10.0.0.236/trunk@23574 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:35:41 +00:00
slamm%netscape.com
50ff7e73b4 Use an even simpler name, mozconfig (no .sh).
git-svn-id: svn://10.0.0.236/trunk@23573 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:34:17 +00:00
sfraser%netscape.com
fffcc0cbc4 Add Cut, Copy and Paste to editor interfaces and classes, with a stub implemenatioon in nsEditor. Changed .idl file and regenerated nsIDOMEditorAppCore and nsJSEditorAPpCore.
git-svn-id: svn://10.0.0.236/trunk@23572 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:31:50 +00:00
sfraser%netscape.com
0a1636794b Add Cut, Copy and Paste to editor interfaces and classes, with a stub implemenatioon in nsEditor.
git-svn-id: svn://10.0.0.236/trunk@23571 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:29:41 +00:00
kin%netscape.com
dd9bfaeb94 Changed all occurences of NS_TRANSACTION_MANAGER_FACTORY_CID
and kCTransactionManagerFactoryCID to NS_TRANSACTIONMANAGER_CID
and kCTransactionManagerCID.


git-svn-id: svn://10.0.0.236/trunk@23570 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:27:02 +00:00
sfraser%netscape.com
bbdc2c5a6b Add static to remove warning
git-svn-id: svn://10.0.0.236/trunk@23569 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:26:33 +00:00
kin%netscape.com
8b4d03a7fb Modified the clobber target so that it removes the dll from the bin/components directory.
git-svn-id: svn://10.0.0.236/trunk@23568 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:25:03 +00:00
shaver%netscape.com
378256875c generate meaningful annotation
git-svn-id: svn://10.0.0.236/trunk@23567 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:09:01 +00:00
mcmullen%netscape.com
681a46c1c0 Added tests for size and mod date.
git-svn-id: svn://10.0.0.236/trunk@23566 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:03:53 +00:00
slamm%netscape.com
8bc62cedd3 Make sure .mozconfig.mk can be read. Even for first checkout. Pre-fill web configurator with existing options.
git-svn-id: svn://10.0.0.236/trunk@23565 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:03:33 +00:00
mcmullen%netscape.com
bdbf667fac Added GetModDate and GetFileSize. Fixed a crash with a strcmp of null.
git-svn-id: svn://10.0.0.236/trunk@23564 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 21:02:58 +00:00
mcmullen%netscape.com
19c53c8fda Added output streamers for int and unsigned int.
git-svn-id: svn://10.0.0.236/trunk@23563 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:56:38 +00:00
av%netscape.com
d91791f1ef Rendering alt context in object tag
git-svn-id: svn://10.0.0.236/trunk@23562 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:43:07 +00:00
coop%netscape.com
4e2ef3ec92 NOT YET PART OF SEAMONKEY:
* first annotation indicates that resulting typelib was created by the linker.
* annotations from files being linked in are now preserved.


git-svn-id: svn://10.0.0.236/trunk@23561 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:40:17 +00:00
hshaw%netscape.com
7791b67a3a Replace NS_DECLARE_CID with NS_DEFINE_IID for kIPrefIID and KPrefCID
git-svn-id: svn://10.0.0.236/trunk@23560 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:33:18 +00:00
hshaw%netscape.com
d1254ab87c Replace NS_DECLARE_CID with NS_DEFINE_IID for KPrefCID
git-svn-id: svn://10.0.0.236/trunk@23559 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:33:14 +00:00
waterson%netscape.com
e64fdedc82 Added GetResource() to XULElement.
git-svn-id: svn://10.0.0.236/trunk@23558 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:20:52 +00:00
slamm%netscape.com
aabcc7fbbf sar want more 'checkins since' links. Don't refresh pagepage if it isn't the most recent time.
git-svn-id: svn://10.0.0.236/trunk@23557 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:18:49 +00:00
waterson%netscape.com
997a39d173 Remove invalid reference to nsIRDFContent.h
git-svn-id: svn://10.0.0.236/trunk@23556 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:18:21 +00:00
dougt%netscape.com
fdb6e0f2a5 Unix makefiles. Gotta love xpcode!
git-svn-id: svn://10.0.0.236/trunk@23555 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:17:14 +00:00
waterson%netscape.com
a0c57020f4 Must've missed this file in my merge: support for xpidl keyword.
git-svn-id: svn://10.0.0.236/trunk@23554 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:15:23 +00:00
putterman%netscape.com
e3eb9dceb3 Initialize mPath to "" instead of nsnull.
git-svn-id: svn://10.0.0.236/trunk@23553 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:07:44 +00:00
dougt%netscape.com
d643c0b6d4 No longer shifting windows nsFileSpec's mPath to uppercase.
Now comparing without regard to case instead on windows.
Windows nsSpecialSystemDirectory will have all uppercase mPaths.


git-svn-id: svn://10.0.0.236/trunk@23552 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:07:10 +00:00
hyatt%netscape.com
f7eb900fae Working on XUL fragments.
git-svn-id: svn://10.0.0.236/trunk@23551 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:05:12 +00:00
hshaw%netscape.com
3a95a0679c Fix for bug #3130 , thanks mcafee
git-svn-id: svn://10.0.0.236/trunk@23550 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:02:22 +00:00
waterson%netscape.com
d3d993d327 Support for xpidl keyword.
git-svn-id: svn://10.0.0.236/trunk@23549 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:55:00 +00:00
waterson%netscape.com
bd625fd0d0 Added SetDataBase() implementation that'll set the database on the DOMXULNode.
git-svn-id: svn://10.0.0.236/trunk@23548 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:54:36 +00:00
buster%netscape.com
9bcc7a19c2 first cut at rules delegate for text editor, will change drastically in the next week or two
git-svn-id: svn://10.0.0.236/trunk@23547 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:53:26 +00:00
buster%netscape.com
f076cbe10e creation of text nodes now supported
git-svn-id: svn://10.0.0.236/trunk@23546 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:51:55 +00:00
buster%netscape.com
4ddf2b48c1 mNewNode is a DOM Node, not a DOM Element
git-svn-id: svn://10.0.0.236/trunk@23545 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:51:07 +00:00
buster%netscape.com
cc359d1068 small fix of an off-by-one error in an assertion
git-svn-id: svn://10.0.0.236/trunk@23544 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:50:17 +00:00
buster%netscape.com
9dd1f7d958 SelectAll wired to Ctrl-A.
git-svn-id: svn://10.0.0.236/trunk@23543 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:49:43 +00:00
buster%netscape.com
4a106cee02 small interface change to InsertBreak
git-svn-id: svn://10.0.0.236/trunk@23542 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:49:18 +00:00
buster%netscape.com
0b0989c61c improvements to InsertBreak, and first crack at adding support for rules delegate
git-svn-id: svn://10.0.0.236/trunk@23541 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:48:46 +00:00
buster%netscape.com
d859f3e58c Implemented SelectAll.
Added nsEditor::DoInitialInsert() for doing first insert into an empty document.  Try typing into <html><body></body></html>
Added some smarts to DeleteSelectionAndCreateNode() so it only splits the selected node when appropriate (when the selection is not at offset 0 or max)

CreateElementTxn now creates text nodes as well as DOM elements


git-svn-id: svn://10.0.0.236/trunk@23540 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:48:13 +00:00
buster%netscape.com
0e7f65788f added nsTextEditRules
git-svn-id: svn://10.0.0.236/trunk@23539 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:47:34 +00:00
despotdaemon%netscape.com
9871322f1a Pseudo-automatic update of changes made by bruce@cybersight.com.
git-svn-id: svn://10.0.0.236/trunk@23538 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:46:32 +00:00
buster%netscape.com
9bf72e290c added nsIEditRules.h. Experimental, don't count on this.
git-svn-id: svn://10.0.0.236/trunk@23537 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:46:24 +00:00
jfrancis%netscape.com
bf6551cfed adding nsTextEditRules.cpp
git-svn-id: svn://10.0.0.236/trunk@23536 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:45:23 +00:00
coop%netscape.com
6db7aab3c3 NOT YET PART OF SEAMONKEY:
* xpt_dump now checks num_methods and num_constants before trying to walk the arrays.
* xpt_link now actually links. It even updates interfaces indices. Tested using all the idl files in mozilla/xpcom/idl.


git-svn-id: svn://10.0.0.236/trunk@23535 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:44:36 +00:00
pinkerton%netscape.com
1f508b19fb correct my pitiful spelling of bonsai.
git-svn-id: svn://10.0.0.236/trunk@23534 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:39:04 +00:00
terry%netscape.com
afebdc6fff Redistributed some QA folks.
git-svn-id: svn://10.0.0.236/trunk@23533 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:23:46 +00:00
dougt%netscape.com
bffbf478f9 Fixing casting problem on windows
NOT PART OF TINDERBOX


git-svn-id: svn://10.0.0.236/trunk@23532 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 18:51:15 +00:00
dougt%netscape.com
4b6e1122ce Make it work on the mac.
Passing unix paths to ZIP routines.  

THIS IS NOT PART OF THE BUILD SYSTEM YET


git-svn-id: svn://10.0.0.236/trunk@23530 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 18:39:01 +00:00
dougt%netscape.com
4d7174a311 Removing extra ; to get rid of warning.
THIS IS NOT PART OF TREE IS NOT PART OF THE BUILD SYSTEM YET


git-svn-id: svn://10.0.0.236/trunk@23529 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 18:36:40 +00:00
pinkerton%netscape.com
e9af4fe3ff fix 95/98 bustage
git-svn-id: svn://10.0.0.236/trunk@23528 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 18:11:35 +00:00
mcafee%netscape.com
c89a455a05 Solaris needs newline at EOF.
git-svn-id: svn://10.0.0.236/trunk@23527 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 10:57:05 +00:00
mcafee%netscape.com
39c88a0585 Solaris doesn't like the dangling semi-colon after NS_DECL_ISUPPORTS_INHERITED macro.
git-svn-id: svn://10.0.0.236/trunk@23526 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 10:52:50 +00:00
mccabe%netscape.com
ea7137976d Added tests of getting info assoc'd with params to TestInterfaceInfo.cpp, which uncovered an off-by-one problem due to magic typelib offsets for nsXPTParamInfo. Which makes me wonder if we shouldn't have just said #define XPT_INDEX_NO_PARENT 0xFFFF.
git-svn-id: svn://10.0.0.236/trunk@23525 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 10:36:13 +00:00
mcafee%netscape.com
6c5b72830c newline at end of file for Solaris, whitespace.
git-svn-id: svn://10.0.0.236/trunk@23524 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 09:56:25 +00:00
dp%netscape.com
4bcb926c07 changing to correct indent style and tabs. Beautify...
git-svn-id: svn://10.0.0.236/trunk@23523 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 09:53:25 +00:00
rjc%netscape.com
aa7eab3051 Cast away! and changed a few .Equals() to now be .EqualsIgnoreCase()
git-svn-id: svn://10.0.0.236/trunk@23522 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 09:41:07 +00:00
mccabe%netscape.com
1c4dd83cdc Not yet part of the Monkey.
- Added magic comments to make the LXR browsing experience more pleasant.

- introduced the nsInterfaceRecord class (formerly less formally interface_record).

- changed the XPTInterfaceDirectoryEntry pointer in InterfaceInfoes into nsInterfaceRecord pointers, removing the need for a hash just to go from entries to records to support nsXPTParamInfo::GetInterface.

- made the destructor for InterfaceInfo objects remove null the pointer in the corresponding reference.


git-svn-id: svn://10.0.0.236/trunk@23521 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 09:30:48 +00:00
dp%netscape.com
0f679ff5e4 Recheckin because of loss during ComponentManager Merge
- Using Reg*Raw() interface to support component urls storage in registry.
 - Implemented recursive version of DeleteKey() so that Reg*Raw() interface could be used

 - Fixing memory corruption; access of deleted dll object


git-svn-id: svn://10.0.0.236/trunk@23520 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 09:16:28 +00:00
waterson%netscape.com
4a8136b8ec Aggregate nsIDOMXULTreeElement interface onto nsRDFElement. Scriptability #ifdef-ed out.
git-svn-id: svn://10.0.0.236/trunk@23519 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:50:27 +00:00
waterson%netscape.com
ca6e4614ef Added nsXULTreeBuilder to build.
git-svn-id: svn://10.0.0.236/trunk@23518 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:49:35 +00:00
waterson%netscape.com
bb4ae3367f Added nsXULTreeElement to build.
git-svn-id: svn://10.0.0.236/trunk@23517 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:49:12 +00:00
braddr%puremagic.com
948141df40 Add new target for quantify
git-svn-id: svn://10.0.0.236/trunk@23516 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:32:42 +00:00
mccabe%netscape.com
9e433b6fbe Not part of seamonkey.
Added a comment saying preconditions the tests actually needs to
succeed.  (also simplified these some.)


git-svn-id: svn://10.0.0.236/trunk@23515 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:22:17 +00:00
waterson%netscape.com
67073aee6a Bug 3510. Fixed to use nsFileSpec, so now bookmarks should load on Mac (even through an alias).
git-svn-id: svn://10.0.0.236/trunk@23514 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:15:17 +00:00
waterson%netscape.com
997e72149b Fix build bustage, not really sure what this is supposed to be doing.
git-svn-id: svn://10.0.0.236/trunk@23513 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:11:28 +00:00
jband%netscape.com
9eb814c93e was using the same iid for 2 interfaces - synced nsIShutdownListener iid with the iid from the .h file
git-svn-id: svn://10.0.0.236/trunk@23512 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:02:23 +00:00
waterson%netscape.com
f933a42a97 Change PATH_MAX to MAXPATHLEN to compile on Solaris.
git-svn-id: svn://10.0.0.236/trunk@23511 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 07:21:09 +00:00
waterson%netscape.com
22026e5bb5 Fixed header files to work outside the XPIDL world for now.
git-svn-id: svn://10.0.0.236/trunk@23510 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 07:12:42 +00:00
rjc%netscape.com
cf3d2ba32b Small changes to sorting code to prepare for sorting on id attribute.
git-svn-id: svn://10.0.0.236/trunk@23509 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 07:07:10 +00:00
mccabe%netscape.com
c4fef7da6b Not part of seamonkey.
Fixed bustage due to improper use of DEBUG_somehacker.


git-svn-id: svn://10.0.0.236/trunk@23508 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:59:53 +00:00
rjc%netscape.com
df76041bf6 Quick&dirty fix for natural position attribute hack.
git-svn-id: svn://10.0.0.236/trunk@23507 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:37:04 +00:00
jband%netscape.com
c118498478 making it compile on Win32
git-svn-id: svn://10.0.0.236/trunk@23506 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:36:03 +00:00
mscott%netscape.com
238e5948be Add code to allow user's to display mailbox messages from the first 4 messages in their inbox....
also add code to retrieve the current user's root mail folder path...


git-svn-id: svn://10.0.0.236/trunk@23505 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:35:48 +00:00
waterson%netscape.com
46d6048104 Fixed my bad back-out.
git-svn-id: svn://10.0.0.236/trunk@23504 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:17:29 +00:00
karnaze%netscape.com
67d36f76f2 bug 3407
git-svn-id: svn://10.0.0.236/trunk@23503 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:13:35 +00:00
waterson%netscape.com
195f0c9dd4 Added OS_CurrentProcessDirectory test.
git-svn-id: svn://10.0.0.236/trunk@23502 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:08:06 +00:00
waterson%netscape.com
0f472a8518 Added OS_CurrentProcessDirectory implementation. Thanks to RJC for Mac. Unix is still bogus: uses getcwd().
git-svn-id: svn://10.0.0.236/trunk@23501 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:07:21 +00:00
alecf%netscape.com
5e01ee7094 fix nsFileSpec casting
git-svn-id: svn://10.0.0.236/trunk@23500 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:06:40 +00:00
mccabe%netscape.com
0b0b45888d Not part of seamonkey.
API change - changed nsXPTParamInfo from taking an InterfaceDirectoryEntry* (which really isn't part of the API I want to expose) to taking an nsIInterfaceInfo*, which is.


git-svn-id: svn://10.0.0.236/trunk@23499 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:06:19 +00:00
ducarroz%netscape.com
3aec1baafe don't crash anymore when the pane is null
git-svn-id: svn://10.0.0.236/trunk@23498 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:05:49 +00:00
alecf%netscape.com
a8ff15bf7a don't build tests by default
git-svn-id: svn://10.0.0.236/trunk@23497 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:01:40 +00:00
alecf%netscape.com
0380d26a03 don't link against base libmailnews
git-svn-id: svn://10.0.0.236/trunk@23496 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:00:59 +00:00
alecf%netscape.com
9262c5bd62 remove old call to NS_NewRFC822Parser
git-svn-id: svn://10.0.0.236/trunk@23495 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:00:11 +00:00
waterson%netscape.com
57265d0550 Landed on tip.
git-svn-id: svn://10.0.0.236/trunk@23494 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:37:31 +00:00
michaelp%netscape.com
0dfa53b698 fixed bug in underflow of state push count in new compositor.
git-svn-id: svn://10.0.0.236/trunk@23493 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:31:27 +00:00
briano%netscape.com
2069289d3b Automated update
git-svn-id: svn://10.0.0.236/trunk@23492 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:15:41 +00:00
waterson%netscape.com
93038788a2 Backed out addition of nsIDOMXULTreeElement: repository is horked.
git-svn-id: svn://10.0.0.236/trunk@23491 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:11:54 +00:00
ramiro%netscape.com
7933edd03e Reverted donm's solaris linker flag changes. You need to detect that gcc
is built to use the gnu linker.  You cant assume that here.


git-svn-id: svn://10.0.0.236/trunk@23490 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:09:54 +00:00
waterson%netscape.com
4f8cf8634e Added nsIDOMXULTreeElement.g to exports. This is currently generated by a very special version of idlc.
git-svn-id: svn://10.0.0.236/trunk@23489 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:08:26 +00:00
waterson%netscape.com
d745eb82a4 Added XULTreeElement to makefile, under !if.
git-svn-id: svn://10.0.0.236/trunk@23488 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:06:52 +00:00
waterson%netscape.com
0d826a1c01 Added nsIStreamListener to #includes to try to fix gcc 2.7 bustage.
git-svn-id: svn://10.0.0.236/trunk@23487 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 05:05:27 +00:00
waterson%netscape.com
0f8f4468a3 Initial revision.
git-svn-id: svn://10.0.0.236/trunk@23486 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 04:49:54 +00:00
mccabe%netscape.com
2c5a38de3e Not yet part of Seamonkey.
Progress on the nsInterfaceInfoManager typelib loader for xpconnect.
Now has complete (I think) functionality, though the implementation is
still probably rusty.

I punted on defining a directory for .xpt files at this point; the
implementation looks at the value of the XPTDIR environment variable
for this value.

Note that the nsXPTParaminfo interface (public/xpt_cpp) has changed
(possibly temporarily) to take an 'entry' parameter.


git-svn-id: svn://10.0.0.236/trunk@23485 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 04:26:15 +00:00
alecf%netscape.com
6879c5461b use CreateInstance to create a parser rather than linking directly with libmailnews.so
git-svn-id: svn://10.0.0.236/trunk@23484 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 04:22:52 +00:00
bienvenu%netscape.com
584b25602a fix nsFileSpec bustage
git-svn-id: svn://10.0.0.236/trunk@23482 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:55:10 +00:00
alecf%netscape.com
49cb5dada8 oops, don't build nsIMessenger.cpp twice
git-svn-id: svn://10.0.0.236/trunk@23481 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:53:48 +00:00
alecf%netscape.com
2cd4454623 export new files from ui directory
git-svn-id: svn://10.0.0.236/trunk@23480 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:52:29 +00:00
mscott%netscape.com
4e72d42e2a Warren's changes broke component creation for nsIMsgMailSession and nsIUrlListenerManager. Restore these so our code runs correctly.
git-svn-id: svn://10.0.0.236/trunk@23479 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:49:39 +00:00
mscott%netscape.com
c68803898a restore code from the breakage that occurred last night by fixing up nsFileSpec/nsFilePath problems. use CLOSE on the db because it isn't an interface yet so we should not be calling release.
git-svn-id: svn://10.0.0.236/trunk@23478 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:48:32 +00:00
mscott%netscape.com
9f173d6446 creating a url listener manager should go through the componenet manager and not the service manager.
git-svn-id: svn://10.0.0.236/trunk@23477 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:47:14 +00:00
briano%netscape.com
f80ea81018 Lame tweak in order to do a test build on non-glibc Linux systems.
git-svn-id: svn://10.0.0.236/trunk@23476 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:30:42 +00:00
mscott%netscape.com
5450b79a19 More Linux makefile changes for libmime
git-svn-id: svn://10.0.0.236/trunk@23475 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:27:12 +00:00
despotdaemon%netscape.com
fc53bb7f38 Pseudo-automatic update of changes made by pschwan@cmu.edu.
git-svn-id: svn://10.0.0.236/trunk@23474 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:26:04 +00:00
mscott%netscape.com
b0b1083af2 Adding files for linux build
git-svn-id: svn://10.0.0.236/trunk@23473 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:25:33 +00:00
mscott%netscape.com
7e66b91f85 Adding for Linux build.
git-svn-id: svn://10.0.0.236/trunk@23472 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:23:18 +00:00
mscott%netscape.com
1a5cd582ca Further changes for linux makefile
git-svn-id: svn://10.0.0.236/trunk@23471 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:21:02 +00:00
mscott%netscape.com
ab0c00e783 New files for Linux build
git-svn-id: svn://10.0.0.236/trunk@23470 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:20:16 +00:00
despotdaemon%netscape.com
92192bacf8 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@23469 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:15:31 +00:00
terry%netscape.com
e4f999a632 Only show checkboxes for trees that have had activity in the last two days.
git-svn-id: svn://10.0.0.236/trunk@23468 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 03:03:27 +00:00
law%netscape.com
03e8d64f2a New and improved status bar
git-svn-id: svn://10.0.0.236/trunk@23467 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:52:02 +00:00
mcmullen%netscape.com
5d582ac9c0 Change assignment operator not to create dirs.
git-svn-id: svn://10.0.0.236/trunk@23466 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:50:16 +00:00
terry%netscape.com
47ecdbd80b Cope if no mindate/maxdate is provided.
git-svn-id: svn://10.0.0.236/trunk@23465 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:48:31 +00:00
law%netscape.com
870160dbf4 Adding support for various statusbar broadcasters
git-svn-id: svn://10.0.0.236/trunk@23464 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:42:29 +00:00
cmanske%netscape.com
9832b2e459 removed files: mozilla/xpfe/AppCores/src/nsEditorMode.cpp
git-svn-id: svn://10.0.0.236/trunk@23463 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:41:02 +00:00
cmanske%netscape.com
22f502cd7f Cleaned up editor inialization in EditoAppCore
git-svn-id: svn://10.0.0.236/trunk@23462 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:35:58 +00:00
mscott%netscape.com
21415a3793 make the folder pane black =)....
git-svn-id: svn://10.0.0.236/trunk@23461 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:17:16 +00:00
hyatt%netscape.com
2db15f8900 Oops. Fixing build bustage.
git-svn-id: svn://10.0.0.236/trunk@23460 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 02:10:44 +00:00
despotdaemon%netscape.com
491fdefc01 Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@23459 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:57:58 +00:00
terry%netscape.com
ef17928062 Was displaying junk for the branch name if a checkin wasn't allowed.
git-svn-id: svn://10.0.0.236/trunk@23458 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:52:32 +00:00
hyatt%netscape.com
9a6837ddd1 Fixing a bug.
git-svn-id: svn://10.0.0.236/trunk@23457 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:47:35 +00:00
hyatt%netscape.com
3762b96095 Adding support for XUL fragments to the content sink. (Work in
progress)


git-svn-id: svn://10.0.0.236/trunk@23456 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:45:53 +00:00
briano%netscape.com
ca209af80c Automated update
git-svn-id: svn://10.0.0.236/trunk@23455 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:45:41 +00:00
mscott%netscape.com
7fcb7c9321 Add more tests to the demo menu to allow folks to display messages from their Inbox.
git-svn-id: svn://10.0.0.236/trunk@23454 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:42:54 +00:00
alecf%netscape.com
c84fa01c70 don't #define MOZ_MAIL_NEWS, only set it in the make system
git-svn-id: svn://10.0.0.236/trunk@23453 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:41:09 +00:00
hyatt%netscape.com
4dd006de26 Landing the initial changes to support XUL fragments.
git-svn-id: svn://10.0.0.236/trunk@23452 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:37:31 +00:00
alecf%netscape.com
dff5073858 remove old cruft from ui (most moved into base)
git-svn-id: svn://10.0.0.236/trunk@23451 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:32:29 +00:00
alecf%netscape.com
9d23fe000f stop exporting stuff in this directory
git-svn-id: svn://10.0.0.236/trunk@23450 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:31:00 +00:00
jband%netscape.com
a825f73d7d adding Components object. Got rid of jsapi based nsID object and replaced it with reflected xpcom objects for IID and CID. adapted to xpt_struct changes. added allocator static helpers to the module. starting to use nsIComponentManager. fixed scriptable stuff. and on and on
git-svn-id: svn://10.0.0.236/trunk@23449 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:28:49 +00:00
alecf%netscape.com
2338455673 rev XPIDL-generated header files - now native #include's are no longer re-included!
git-svn-id: svn://10.0.0.236/trunk@23448 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:25:34 +00:00
rhp%netscape.com
1d1948a4e0 This change is needed to register libmime with netlib for parsing RFC822 messages.
git-svn-id: svn://10.0.0.236/trunk@23447 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:24:07 +00:00
alecf%netscape.com
7ed8242d7d add new source files that weren't being build on linux
git-svn-id: svn://10.0.0.236/trunk@23446 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:22:53 +00:00
alecf%netscape.com
51f3d54af3 #include the right file
git-svn-id: svn://10.0.0.236/trunk@23445 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:22:19 +00:00
alecf%netscape.com
39aed77c25 end in newline
git-svn-id: svn://10.0.0.236/trunk@23444 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:21:52 +00:00
vidur%netscape.com
7944b75ced Removed bogus addition of text for newlines
git-svn-id: svn://10.0.0.236/trunk@23443 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:19:35 +00:00
mscott%netscape.com
d77f43ff5b Changes for Linux builds.
git-svn-id: svn://10.0.0.236/trunk@23442 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:18:57 +00:00
vidur%netscape.com
2cf6b40bda Added CreateElementWithNameSpace to proprietary document interface. Fixed GetTagName for HTML to uppercase tag names. Hooked up style rule addition and deletion to reconstruct frames. Fixed DOM generation problem
git-svn-id: svn://10.0.0.236/trunk@23441 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:17:49 +00:00
mscott%netscape.com
089050a64d Fixes for makefiles on Linux
git-svn-id: svn://10.0.0.236/trunk@23440 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:17:48 +00:00
alecf%netscape.com
2cf4c284bc fix casting problems
git-svn-id: svn://10.0.0.236/trunk@23439 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:17:47 +00:00
alecf%netscape.com
cc1b5f77d9 uint -> PRUint32
git-svn-id: svn://10.0.0.236/trunk@23438 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:13:52 +00:00
alecf%netscape.com
2c0e5ce8fc export nsID.idl to get native types
git-svn-id: svn://10.0.0.236/trunk@23437 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:13:27 +00:00
michaelp%netscape.com
a699b49e4b factored code.
git-svn-id: svn://10.0.0.236/trunk@23435 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 01:03:03 +00:00
mscott%netscape.com
738e0cf71c Getting new mime change to run on Linux
git-svn-id: svn://10.0.0.236/trunk@23434 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:57:50 +00:00
sfraser%netscape.com
f867547c36 Put editor shared libs in the Components folder, and call the folder "Components", not "components".
git-svn-id: svn://10.0.0.236/trunk@23433 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:55:34 +00:00
mcafee%netscape.com
7ac72a2140 PRBool means use PR_FALSE/PR_TRUE. This breaks Solaris.
git-svn-id: svn://10.0.0.236/trunk@23432 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:53:29 +00:00
mscott%netscape.com
d58b486813 Updates to fix breakage caused by the big check in last night. In particular, update to use nsFilespec instead of nsFilePath. Use correct variable name for requesting the netlib queue service...
git-svn-id: svn://10.0.0.236/trunk@23431 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:43:58 +00:00
rhp%netscape.com
b3645fb2c7 Reworked an issue with includes to prevent compile problems with C & C++ code.
git-svn-id: svn://10.0.0.236/trunk@23430 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:36:39 +00:00
alecf%netscape.com
8021fac986 purify fix from bruce@cybersight.com - use delete[] rather than delete
git-svn-id: svn://10.0.0.236/trunk@23429 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:36:18 +00:00
alecf%netscape.com
9bb701d390 purify fixes from bruce@cybersight.com - use delete[] rather than delete
git-svn-id: svn://10.0.0.236/trunk@23428 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:35:16 +00:00
alecf%netscape.com
1bab895f15 purify fixes from bruce@cybersight.com - free memory the right way
git-svn-id: svn://10.0.0.236/trunk@23427 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:32:44 +00:00
alecf%netscape.com
c7c621d431 purify fixes from bruce@cybersight.com
use delete[] rather than delete


git-svn-id: svn://10.0.0.236/trunk@23426 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:31:59 +00:00
briano%netscape.com
15591a6649 Automated update
git-svn-id: svn://10.0.0.236/trunk@23425 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:30:41 +00:00
mcafee%netscape.com
63d1ddca8c Fixing Solaris/CC bustage.
git-svn-id: svn://10.0.0.236/trunk@23424 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:29:34 +00:00
akkana%netscape.com
c6464d3004 Fix UMR, caught with purify by bruce@portland.puremagic.com
git-svn-id: svn://10.0.0.236/trunk@23423 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:28:47 +00:00
donm%netscape.com
758efdc59e solaris gcc needs different command line options to link a
set of static libs into a shared lib.


git-svn-id: svn://10.0.0.236/trunk@23422 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:27:20 +00:00
waterson%netscape.com
89b60f7c29 Change class to clazz to get to compile in C++.
git-svn-id: svn://10.0.0.236/trunk@23421 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:22:22 +00:00
nhotta%netscape.com
56b9bce46c Added charset menu items in view menu.
git-svn-id: svn://10.0.0.236/trunk@23420 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:21:26 +00:00
slamm%netscape.com
11f1f88355 Give warning for 'make depend' with --enable-md.
git-svn-id: svn://10.0.0.236/trunk@23419 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:03:12 +00:00
pinkerton%netscape.com
7d7d82c1c1 new styles for expanding and collapsing folders
git-svn-id: svn://10.0.0.236/trunk@23418 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:01:55 +00:00
sfraser%netscape.com
b82cb437b9 onConstruction -> onload
git-svn-id: svn://10.0.0.236/trunk@23417 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 00:00:06 +00:00
dougt%netscape.com
39d464c13c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23416 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:59:16 +00:00
slamm%netscape.com
b9cb51bca5 Change 'name' array to 'build'. Looks like name is reserved or something.
git-svn-id: svn://10.0.0.236/trunk@23415 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:59:15 +00:00
mscott%netscape.com
6afb85812c Build nsMsgIdentity and nsMsgMailSession.
git-svn-id: svn://10.0.0.236/trunk@23414 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:52:24 +00:00
mscott%netscape.com
85638846b7 Export nsIMsgIdentity.h and nsIMsgMailSession.h.
git-svn-id: svn://10.0.0.236/trunk@23413 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:51:40 +00:00
waterson%netscape.com
c758ab8571 Made sure to initialize rv to NS_OK.
git-svn-id: svn://10.0.0.236/trunk@23412 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:51:34 +00:00
rods%netscape.com
81e01450a9 Added the handling for nsDragDropEvents for files
git-svn-id: svn://10.0.0.236/trunk@23411 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:51:29 +00:00
rods%netscape.com
22f6a4adb0 Added EnableDileDrop method
git-svn-id: svn://10.0.0.236/trunk@23410 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:50:40 +00:00
rods%netscape.com
0d03271f02 Added nsDragDropEvent
git-svn-id: svn://10.0.0.236/trunk@23409 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:50:18 +00:00
rods%netscape.com
bf53653ab4 Added File Drop
Now handling the WM_DROPFILE event


git-svn-id: svn://10.0.0.236/trunk@23408 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:48:58 +00:00
cata%netscape.com
9d06235a51 "extern" declaration for global vars fixed.
git-svn-id: svn://10.0.0.236/trunk@23407 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:48:10 +00:00
rods%netscape.com
d6db2acd54 Added method EnableFileDrop (temporary for D&D work)
git-svn-id: svn://10.0.0.236/trunk@23406 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:47:47 +00:00
rods%netscape.com
26dce0d4a2 Added Uuid.lib and OLE32.lib for drag & drop
git-svn-id: svn://10.0.0.236/trunk@23405 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:46:24 +00:00
rods%netscape.com
f7a274adef Added shell32.lib
git-svn-id: svn://10.0.0.236/trunk@23404 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:44:21 +00:00
rods%netscape.com
3f32fab8a0 Added nsDropTarget
git-svn-id: svn://10.0.0.236/trunk@23403 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:39:15 +00:00
rods%netscape.com
2d3986d90c initial checkin
git-svn-id: svn://10.0.0.236/trunk@23402 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:38:37 +00:00
mscott%netscape.com
adb3cd8520 Fix runtime breakage caused by changing nsFilePath to nsFileSpec.
git-svn-id: svn://10.0.0.236/trunk@23401 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:17:44 +00:00
cmanske%netscape.com
fc43b4f0d4 2nd try to get it right in get editor factory method
git-svn-id: svn://10.0.0.236/trunk@23400 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:06:16 +00:00
dougt%netscape.com
209f30f426 ack.
git-svn-id: svn://10.0.0.236/trunk@23399 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 23:06:11 +00:00
cmanske%netscape.com
70947d83ca Fixed editor registration and startup problems
git-svn-id: svn://10.0.0.236/trunk@23398 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:52:24 +00:00
cata%netscape.com
05e4d00784 Docs added.
git-svn-id: svn://10.0.0.236/trunk@23397 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:41:09 +00:00
dougt%netscape.com
eb1175b875 Added VR_ calls to the export list.
git-svn-id: svn://10.0.0.236/trunk@23396 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:39:09 +00:00
pinkerton%netscape.com
be80881964 fix minor goof in xptoolkit sample menu
git-svn-id: svn://10.0.0.236/trunk@23395 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:39:02 +00:00
putterman%netscape.com
7be07c5b29 use correct mailbox path.
git-svn-id: svn://10.0.0.236/trunk@23394 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:38:40 +00:00
putterman%netscape.com
921e359dbe use nsCRT string functions.
git-svn-id: svn://10.0.0.236/trunk@23393 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:38:22 +00:00
putterman%netscape.com
a8beb67c48 Added folder listener so we can run the mailbox parsing url.
git-svn-id: svn://10.0.0.236/trunk@23392 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:37:55 +00:00
putterman%netscape.com
623a8f0bf2 Added xplib.lib and added folderListener
git-svn-id: svn://10.0.0.236/trunk@23391 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:37:06 +00:00
rhp%netscape.com
d2857b91de Changes for autoregistration as well as the new stream converter
interface.


git-svn-id: svn://10.0.0.236/trunk@23390 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:37:03 +00:00
putterman%netscape.com
5c24751987 implement SetMessageKey
git-svn-id: svn://10.0.0.236/trunk@23389 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:36:24 +00:00
putterman%netscape.com
abae3a3095 OnAnnouncerGoingAway is abstract.
git-svn-id: svn://10.0.0.236/trunk@23388 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:35:57 +00:00
troy%netscape.com
aa06c3716c Some more table pagination improvements
git-svn-id: svn://10.0.0.236/trunk@23387 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:34:51 +00:00
putterman%netscape.com
2a470cbde5 Added folder listener.
git-svn-id: svn://10.0.0.236/trunk@23386 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:34:29 +00:00
mcmullen%netscape.com
2b21b06cb7 Turning on dougt's special system directory stuff, and adding it to the Macintosh build. Fixed spurious leading slash on getting leaf name (win and unix). Adding dougt's equality test operator, too. Adding dougt's test code for all the above.
git-svn-id: svn://10.0.0.236/trunk@23385 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:33:36 +00:00
akkana%netscape.com
d966254b07 fixing merge problem of windows not looking for components in components directory - dp & akkana
git-svn-id: svn://10.0.0.236/trunk@23384 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:18:32 +00:00
pinkerton%netscape.com
c4117f80e5 make the personal toolbar buttons more mozilla centric, even if everything else is blatant NSCP drug money.
git-svn-id: svn://10.0.0.236/trunk@23383 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:13:36 +00:00
michaelp%netscape.com
9a8800e96b added background image.
made one table relatively positioned.
added opacity to transparent scrolled table.


git-svn-id: svn://10.0.0.236/trunk@23382 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:12:20 +00:00
michaelp%netscape.com
81f9258975 added nsIClipView.h
added support for getting/setting scroll properties in scrollable view so
that the app can control whether scrolling should be accomplished via
blitting or painting.
more work in progress for the new compositor.


git-svn-id: svn://10.0.0.236/trunk@23381 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:10:31 +00:00
michaelp%netscape.com
cd37a865bf added blender method that takes rendering contexts.
added LockDrawingSurface() and UnlockDrawingSurface() to rendering
context.
fixed state maintenance errors in rendering context win.
added IsReleaseDCDestructive() to drawingsurfacewin.


git-svn-id: svn://10.0.0.236/trunk@23380 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:07:06 +00:00
pinkerton%netscape.com
66fec9010c added xptoolkit tree test 1 to menus
git-svn-id: svn://10.0.0.236/trunk@23379 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:06:38 +00:00
rjc%netscape.com
35eea039ba Comment out PR_ASSERT() due to assert/unassert now actually being called.
git-svn-id: svn://10.0.0.236/trunk@23378 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:06:29 +00:00
pinkerton%netscape.com
cd2e93001b add spiffy header
git-svn-id: svn://10.0.0.236/trunk@23377 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:03:38 +00:00
pinkerton%netscape.com
fbb00b246c Add case for xptoolkit tree demo and fix missing break statement at end of toolbar demo case that would always cause JS window to appear. doh!
git-svn-id: svn://10.0.0.236/trunk@23376 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:03:18 +00:00
pinkerton%netscape.com
67297e8d73 add define for xptoolkit tree demo
git-svn-id: svn://10.0.0.236/trunk@23375 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:02:25 +00:00
pinkerton%netscape.com
d475b76dfa add new tree sample
git-svn-id: svn://10.0.0.236/trunk@23374 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 22:01:28 +00:00
hyatt%netscape.com
47a81994c3 Fixing a bug with selection in the tree view.
git-svn-id: svn://10.0.0.236/trunk@23373 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:58:06 +00:00
slamm%netscape.com
e6258c5d6d -MD depend: Putting objects on PHONY target didn't work. Use 'FORCE' dependency instead.
git-svn-id: svn://10.0.0.236/trunk@23372 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:56:44 +00:00
pinkerton%netscape.com
7dcd005c44 export the first tree test xul/css files
git-svn-id: svn://10.0.0.236/trunk@23371 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:55:22 +00:00
pinkerton%netscape.com
54b3b30385 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23370 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:53:01 +00:00
shaver%netscape.com
79e4108e56 #include "nsID.idl" to get the nsID/nsIID/nsCID defines in other IDL, not just C++
git-svn-id: svn://10.0.0.236/trunk@23369 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:50:55 +00:00
putterman%netscape.com
e6ceda4543 Added selection color. Removed Local Mail from thread pane.
git-svn-id: svn://10.0.0.236/trunk@23368 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:49:35 +00:00
dp%netscape.com
4cfc093823 registry version to 0.40 for component manager change
git-svn-id: svn://10.0.0.236/trunk@23366 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:31:33 +00:00
slamm%netscape.com
419c65d22c Clean-up some output. Add link for 'Show next X hours' instead of 'Show more checkin history'. Skip dates that are in the future.
git-svn-id: svn://10.0.0.236/trunk@23365 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:30:02 +00:00
mscott%netscape.com
4024e89953 Fix crash when displaying thread pane. This fix is really scottip's.
git-svn-id: svn://10.0.0.236/trunk@23364 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:28:48 +00:00
ramiro%netscape.com
2c2e1e8b02 Fix windows bustage. Why doesnt this file build on other platforms ?
git-svn-id: svn://10.0.0.236/trunk@23363 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:22:03 +00:00
dougt%netscape.com
d22687b856 Stripping additional access paths.
git-svn-id: svn://10.0.0.236/trunk@23362 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 21:03:39 +00:00
despotdaemon%netscape.com
4d5cb73c21 Pseudo-automatic update of changes made by dmose@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@23361 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:59:53 +00:00
dougt%netscape.com
da242762c8 remove libutil references.
git-svn-id: svn://10.0.0.236/trunk@23360 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:58:29 +00:00
terry%netscape.com
4796c85fe7 Use new lxr links.
git-svn-id: svn://10.0.0.236/trunk@23359 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:57:24 +00:00
dougt%netscape.com
06cbe39c3f First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23358 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:57:17 +00:00
jfrancis%netscape.com
8e01fb29f9 catching up with nsComponentManager and getting rid of cout usage
git-svn-id: svn://10.0.0.236/trunk@23357 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:11:27 +00:00
slamm%netscape.com
0cf3821a9e Fix typo. s/AC_DEFINES/ACDEFINES/
git-svn-id: svn://10.0.0.236/trunk@23356 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:11:05 +00:00
dougt%netscape.com
3d7a22afdc Fixes compare from int to ptr. ANSI C++ does not like that.
git-svn-id: svn://10.0.0.236/trunk@23355 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:10:20 +00:00
jfrancis%netscape.com
fc33b92b99 including header
git-svn-id: svn://10.0.0.236/trunk@23354 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 20:04:59 +00:00
shaver%netscape.com
5ea64cbf54 Handle nsID, nsIID and nsCID via a custom string-compare hack. (Ugly, but we
need 0.6.3 for a better fix, and this'll do for now.)
When sorting IDEs, sort entries with identical IIDs by namespace::name.


git-svn-id: svn://10.0.0.236/trunk@23353 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:59:42 +00:00
alecf%netscape.com
f9e44dfc1b - move messenger appcore into the base mailnews directory
- do appcore initialization during Initialize() in messenger bootstrap


git-svn-id: svn://10.0.0.236/trunk@23352 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:58:17 +00:00
slamm%netscape.com
80490954a5 I broke it. ...again. back out, back out.
git-svn-id: svn://10.0.0.236/trunk@23351 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:57:13 +00:00
alecf%netscape.com
a41ca7385c stop building the seperate messenger appcore
git-svn-id: svn://10.0.0.236/trunk@23350 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:56:53 +00:00
slamm%netscape.com
864abe3c76 Shorten the output a bit more.
git-svn-id: svn://10.0.0.236/trunk@23349 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:53:31 +00:00
alecf%netscape.com
3243351c34 export NS_InitBaseAppCoreClass so that appcores outside this DLL can initialize themselves
(Yes, I know this is a generated file, but this is how it needs to work right now, otherwise
appcores can't live outside appcores.dll)


git-svn-id: svn://10.0.0.236/trunk@23348 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:53:19 +00:00
terry%netscape.com
ce3b1dddbf Patch by Ry4an Brase <ry4an@ry4an.org> -- fix typo.
git-svn-id: svn://10.0.0.236/trunk@23347 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:52:18 +00:00
dougt%netscape.com
b22394cd3e First checkin of unix makefile.
git-svn-id: svn://10.0.0.236/trunk@23346 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:31:55 +00:00
hyatt%netscape.com
8588377965 Fixes to the broadcasters and observers. I made HTML elements work with
observes nodes, and I changed some SetAttribute calls to use the DOM
instead of the nsIContent APIs.


git-svn-id: svn://10.0.0.236/trunk@23345 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:30:41 +00:00
nhotta%netscape.com
db418a9816 Implementation of SetDocumentCharset.
git-svn-id: svn://10.0.0.236/trunk@23344 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:24:28 +00:00
jfrancis%netscape.com
772f3287c8 integrated with content iterator
git-svn-id: svn://10.0.0.236/trunk@23343 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:22:48 +00:00
jfrancis%netscape.com
fb0583ffb5 reordered link order so that cout would work
git-svn-id: svn://10.0.0.236/trunk@23342 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:22:00 +00:00
jfrancis%netscape.com
a3a451200f fixed refcounting bugs
git-svn-id: svn://10.0.0.236/trunk@23341 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:21:30 +00:00
jfrancis%netscape.com
928892f905 fixed refcounting bugs plus a little cleanup
git-svn-id: svn://10.0.0.236/trunk@23340 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:21:04 +00:00
ramiro%netscape.com
f05974cb48 Use the macro on all platforms. Thanks to pierre for helping me make sure
it doesnt break the mac.  I verified that it works on unix and windows.


git-svn-id: svn://10.0.0.236/trunk@23339 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 19:19:02 +00:00
troy%netscape.com
c954953e18 Better handles the case where the first row is complete when splitting
the row group


git-svn-id: svn://10.0.0.236/trunk@23338 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 15:35:43 +00:00
troy%netscape.com
5f577fe103 Changed it so we get the computed width from the first-in-flow
git-svn-id: svn://10.0.0.236/trunk@23337 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 15:35:08 +00:00
terry%netscape.com
3bb49a53cf Added a disgusting hack to deal with the fact that we can occasionally get builds with wildly wrong times.
git-svn-id: svn://10.0.0.236/trunk@23336 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 15:22:09 +00:00
warren%netscape.com
2d6102e5e6 Fixed prefs code.
git-svn-id: svn://10.0.0.236/trunk@23335 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 15:06:52 +00:00
warren%netscape.com
5d0cd73d0a Include problem.
git-svn-id: svn://10.0.0.236/trunk@23334 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 14:44:24 +00:00
warren%netscape.com
68843d63a2 Re-enabled the prefs.js stuff.
git-svn-id: svn://10.0.0.236/trunk@23333 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 14:20:30 +00:00
warren%netscape.com
6769b3f0ef Implemented virtuals in cpp file to try to avoid linux pedantic error.
git-svn-id: svn://10.0.0.236/trunk@23332 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 14:09:11 +00:00
warren%netscape.com
5e1f310167 PR_ASSERT wasn't defined for the mac.
git-svn-id: svn://10.0.0.236/trunk@23331 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 14:03:56 +00:00
warren%netscape.com
015051d6b3 Fixed registration methods.
git-svn-id: svn://10.0.0.236/trunk@23330 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 13:23:36 +00:00
warren%netscape.com
8519161b55 fixed include problem
git-svn-id: svn://10.0.0.236/trunk@23329 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 13:07:15 +00:00
warren%netscape.com
b40f054bad Fixed include
git-svn-id: svn://10.0.0.236/trunk@23328 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 12:53:21 +00:00
warren%netscape.com
0f71af4fee Fixed nsService problems.
git-svn-id: svn://10.0.0.236/trunk@23327 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 12:49:38 +00:00
warren%netscape.com
6d47974e30 Fixed nsRepository -> nsComponentManager
git-svn-id: svn://10.0.0.236/trunk@23326 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 12:43:27 +00:00
warren%netscape.com
72d0dbfbc8 Fixed return.
git-svn-id: svn://10.0.0.236/trunk@23325 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 12:36:13 +00:00
warren%netscape.com
9309a7b8fb Fixed include problem.
git-svn-id: svn://10.0.0.236/trunk@23324 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 12:34:01 +00:00
warren%netscape.com
d62d4a9f0b Removed nsService stuff.
git-svn-id: svn://10.0.0.236/trunk@23323 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 12:29:08 +00:00
warren%netscape.com
0a5af143e2 Fixed include problem.
git-svn-id: svn://10.0.0.236/trunk@23322 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 12:16:34 +00:00
warren%netscape.com
b36740faf3 Backed out nsService changes.
git-svn-id: svn://10.0.0.236/trunk@23321 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 11:53:02 +00:00
warren%netscape.com
e082c74dc0 Backed out the nsService template stuff.
git-svn-id: svn://10.0.0.236/trunk@23320 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 11:49:41 +00:00
warren%netscape.com
345056e941 Fixed variable name problem.
git-svn-id: svn://10.0.0.236/trunk@23319 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 11:42:48 +00:00
warren%netscape.com
f8ef3e9349 Removed nsService template.
git-svn-id: svn://10.0.0.236/trunk@23318 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 11:12:52 +00:00
warren%netscape.com
3a95261810 Commented out template because linux isn't happy with it.
git-svn-id: svn://10.0.0.236/trunk@23317 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 11:12:23 +00:00
warren%netscape.com
7392983e7b Fixed exports for nsRepository -> nsComponentManager
git-svn-id: svn://10.0.0.236/trunk@23316 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 10:51:12 +00:00
warren%netscape.com
c6559126d6 Fixed path separator.
git-svn-id: svn://10.0.0.236/trunk@23315 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 10:20:01 +00:00
warren%netscape.com
47efd8d451 Trying a hack to see if I can make linux happy.
git-svn-id: svn://10.0.0.236/trunk@23314 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 10:15:54 +00:00
warren%netscape.com
291c802a13 Workaround for sun386i breakage.
git-svn-id: svn://10.0.0.236/trunk@23313 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 10:07:02 +00:00
warren%netscape.com
de7b75d07f nsRepository -> nsIComponentManager changes. nsIMsgDatabase interface. Message enumerators. Misc.
git-svn-id: svn://10.0.0.236/trunk@23303 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 09:52:30 +00:00
mcafee%netscape.com
529189e540 Protect against a copy of zero characters (zero-length buffer)
git-svn-id: svn://10.0.0.236/trunk@23302 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 09:49:32 +00:00
warren%netscape.com
055216c4b1 Added nsComponentManager.cpp
git-svn-id: svn://10.0.0.236/trunk@23301 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 09:47:12 +00:00
warren%netscape.com
0b33372d99 nsRepository -> nsIComponentManager changes.
git-svn-id: svn://10.0.0.236/trunk@23300 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 09:44:27 +00:00
shaver%netscape.com
e294264814 turn off more debugging noise and prepare for 0.6.2's forward handling
git-svn-id: svn://10.0.0.236/trunk@23298 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 08:23:00 +00:00
waterson%netscape.com
95a9f4d99f Fixed GetElementsByAttribute(): use the DOM APIs to be consistent with namespaces.
git-svn-id: svn://10.0.0.236/trunk@23297 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 08:10:50 +00:00
waterson%netscape.com
52da7b7d32 Made widget observer observe the composite data source.
git-svn-id: svn://10.0.0.236/trunk@23296 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 08:05:26 +00:00
nisheeth%netscape.com
a9b7621b74 - Quoted all attributes.
- Fixed casing on the end BookSet tag.  (The expat parser enforces case-sensitivity in XML)


git-svn-id: svn://10.0.0.236/trunk@23295 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 07:44:47 +00:00
nisheeth%netscape.com
bbb4dffad0 - We weren't adding the tag text to the token created for the end tag. Fixed.
- Tokens for CDATA sections were not being created.  Fixed.
- The length of the parse buffer is passed into ParseXMLBuffer() because it is available from the scanner.  We were doing a strlen() to determine the length which was inefficient.


git-svn-id: svn://10.0.0.236/trunk@23294 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 07:39:04 +00:00
pierre%netscape.com
1c05e162b4 added menu command VIEWER_PRINT_SETUP
git-svn-id: svn://10.0.0.236/trunk@23293 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 06:39:50 +00:00
mcafee%netscape.com
ebf32a0f5d Adding Edit|{Cut,Copy,Paste} to menubar.
git-svn-id: svn://10.0.0.236/trunk@23292 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 06:04:38 +00:00
pierre%netscape.com
7be0666585 don't dispatch mouseMoved events when Raptor is in the background
git-svn-id: svn://10.0.0.236/trunk@23291 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:46:01 +00:00
pierre%netscape.com
dd5b567297 dispatch suspend/resume events to Raptor
git-svn-id: svn://10.0.0.236/trunk@23290 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:44:47 +00:00
troy%netscape.com
39e58ce72d Overflow code and pushing code now take header/footer frames into
account


git-svn-id: svn://10.0.0.236/trunk@23289 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:29:37 +00:00
troy%netscape.com
d3a15268a2 Better handling of NS_FRAME_NOT_COMPLETE for incremental reflow
git-svn-id: svn://10.0.0.236/trunk@23288 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:28:44 +00:00
wtc%netscape.com
35f5c7deeb Another update from the internal CVS repository /m/src.
git-svn-id: svn://10.0.0.236/trunk@23284 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:12:06 +00:00
troy%netscape.com
144854728c Made sure NS_FRAME_COMPLETE is always returned. This fixes an incremental
reflow problem


git-svn-id: svn://10.0.0.236/trunk@23283 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:11:14 +00:00
terry%netscape.com
3367b1fec2 Added a disgusting hack to deal with the fact that we can occasionally get builds with wildly wrong times.
git-svn-id: svn://10.0.0.236/trunk@23282 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:07:50 +00:00
troy%netscape.com
d6693ebf08 Fixed it so that for incremental reflow commands the correct value is
passed for the available height


git-svn-id: svn://10.0.0.236/trunk@23281 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:01:59 +00:00
pierre%netscape.com
ea645514fc fixed crash on delete (the OS deleted the menu a second time)
git-svn-id: svn://10.0.0.236/trunk@23280 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 05:01:45 +00:00
despotdaemon%netscape.com
2ca1ed560a Pseudo-automatic update of changes made by nisheeth@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@23279 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:47:32 +00:00
pierre%netscape.com
c8d2b0a41d added menu commands VIEWER_GFX_WIDGET_MODE and VIEWER_NATIVE_WIDGET_MODE
git-svn-id: svn://10.0.0.236/trunk@23278 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:39:50 +00:00
mcafee%netscape.com
afe16f3c08 Adding install target for purify binaries
git-svn-id: svn://10.0.0.236/trunk@23277 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:21:51 +00:00
pierre%netscape.com
1fde015542 fixed display in SetSelectedIndices()
git-svn-id: svn://10.0.0.236/trunk@23276 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:11:25 +00:00
pierre%netscape.com
92ee6edde8 fixed index off by 1 in GetSelectedIndex()
git-svn-id: svn://10.0.0.236/trunk@23275 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:10:33 +00:00
mccabe%netscape.com
783ac85782 Chop xptinfo from the list of sub-Makes built by libxpt during coding
thrash.


git-svn-id: svn://10.0.0.236/trunk@23274 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:10:30 +00:00
waterson%netscape.com
f856b93c1d Land Guha's history stuff, including some fixes for references in the file system data source, and modifications for literals: there's now nsIntLiteral and nsDateLiteral.
git-svn-id: svn://10.0.0.236/trunk@23273 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:01:56 +00:00
mscott%netscape.com
cfbb447bcb Sending a message no longer requires a host and from field because we can now extract that information from the current identity.
git-svn-id: svn://10.0.0.236/trunk@23269 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 03:06:59 +00:00
pierre%netscape.com
f2f9218b22 Fixed #2253 "Copy and Paste in text widget"
Fixed double-click


git-svn-id: svn://10.0.0.236/trunk@23268 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:58:14 +00:00
alecf%netscape.com
49198778c3 use Messenger's CID rather than ProgID because I can't seem to create objects
by ProgID (looks like ProgID->CID mapping is broken)


git-svn-id: svn://10.0.0.236/trunk@23267 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:51:25 +00:00
coop%netscape.com
093d2cdff1 NOT YET PART OF SEAMONKEY:
* initial pass at handling the update of interface indices.


git-svn-id: svn://10.0.0.236/trunk@23266 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:51:22 +00:00
brendan%netscape.com
c3911df063 Must use defined XP_UNIX, not XP_UNIX, as #elif condition.
git-svn-id: svn://10.0.0.236/trunk@23265 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:46:23 +00:00
terry%netscape.com
a5535f79dd Added params to control how priorities are set in a new bug. You can
now choose whether to let submitters of new bugs choose a priority, or whether
they should just accept the default priority (which is now no longer hardcoded
to "P2", but is instead a param.)  The default value of the params will cause
the same behavior as before.


git-svn-id: svn://10.0.0.236/trunk@23264 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:33:58 +00:00
dveditz%netscape.com
7680dbd368 initial libjar files, NOT PART OF BUILD
git-svn-id: svn://10.0.0.236/trunk@23259 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:13:56 +00:00
ducarroz%netscape.com
280626b090 make the file conform to the new norm
git-svn-id: svn://10.0.0.236/trunk@23258 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:05:29 +00:00
ducarroz%netscape.com
a756229510 add definition for MSG_CommandType
git-svn-id: svn://10.0.0.236/trunk@23257 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:01:16 +00:00
ftang%netscape.com
0fed7fd34e add katakana, hiragana, katakana-iroha, hiragana-iroha, lower-greek
git-svn-id: svn://10.0.0.236/trunk@23256 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:56:02 +00:00
rjc%netscape.com
bf378b4e8e Add selection and column sortActive/sortDirection observation support. (Thanks, David!)
git-svn-id: svn://10.0.0.236/trunk@23255 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:54:46 +00:00
pierre%netscape.com
60b773385b Register CharsetAlias. Fixed by ftang on my machine.
git-svn-id: svn://10.0.0.236/trunk@23254 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:50:03 +00:00
briano%netscape.com
8bb9a84b60 Automated update
git-svn-id: svn://10.0.0.236/trunk@23253 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:45:41 +00:00
mscott%netscape.com
c57452593c Add ability to generate a mail session to this factory.
git-svn-id: svn://10.0.0.236/trunk@23252 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:39:05 +00:00
mscott%netscape.com
3a4bc49ec9 Build nsMsgMailSession and nsMsgIdentity.
git-svn-id: svn://10.0.0.236/trunk@23251 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:37:41 +00:00
mscott%netscape.com
2221feaddb Shell for a msg mail session. Folks will add to this as they need to.
git-svn-id: svn://10.0.0.236/trunk@23250 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:36:17 +00:00
pinkerton%netscape.com
f5f59adcee Add debug code to point out a bug #3505 with display:none and frames. Fix bug #3451 with grippies not working when toolbars not at top of window. Not creating atoms every time we expand/collapse toolbars.
git-svn-id: svn://10.0.0.236/trunk@23249 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:36:11 +00:00
mscott%netscape.com
e4bfe1fdb5 First pass implementation of a mail identity. Right now we just read out these values from prefs.js in the current working directory. This is a dogfood implementation and will change drastically when we really do implement multiple identities.
git-svn-id: svn://10.0.0.236/trunk@23248 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:35:44 +00:00
mscott%netscape.com
73a0e8c5f4 Export nsIMsgIdentity.h and nsIMsgMailSession.h
git-svn-id: svn://10.0.0.236/trunk@23247 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:33:36 +00:00
mscott%netscape.com
9ebeb941ee A mail session interface. Right now it is empty except for the current identity. As people need to add thinks to the mail session, I expect this to grow. Oh it is a singleton object and you should go through the service manager to obtain it.
git-svn-id: svn://10.0.0.236/trunk@23246 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:33:08 +00:00
mscott%netscape.com
ca27daab72 A first pass at a generic mail identity interface. Right now, I'm using this to organize a lot of mail server & password preferences for dogfood.
git-svn-id: svn://10.0.0.236/trunk@23245 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:32:16 +00:00
slamm%netscape.com
6c6f03f34b Have -MD dependencies cope will missing headerfiles.
git-svn-id: svn://10.0.0.236/trunk@23244 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:31:26 +00:00
slamm%netscape.com
cf94a899f1 Give error if building in objdir and have previously built in srcdir. Move '-Wall' and '-include' to GNU-only section (silly to test for GNU-only features). Change '-MMD' to '-MD' to include standard headers. Clean '-O' from CFLAGS/CXXFLAGS if MOZ_DEBUG is set.
git-svn-id: svn://10.0.0.236/trunk@23243 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:30:26 +00:00
slamm%netscape.com
fe1818cd07 Move AC_INCLUDE_OR_DEFINES into OS_CFLAGS/OS_CXXFLAGS.
git-svn-id: svn://10.0.0.236/trunk@23242 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:30:00 +00:00
slamm%netscape.com
f9468ca12f Move '-O' stripping into configure. Move compile-line defines into configure.
git-svn-id: svn://10.0.0.236/trunk@23241 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:29:57 +00:00
slamm%netscape.com
6012bdaf3a Script converts .mozconfig.sh into a url to prefill configurator web form. Will be used by client.mk
git-svn-id: svn://10.0.0.236/trunk@23240 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:29:53 +00:00
slamm%netscape.com
824d688eb0 Script to clean out all 'configure' generated files.
git-svn-id: svn://10.0.0.236/trunk@23239 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:29:50 +00:00
briano%netscape.com
c8edb6c46b Fixed the permission problem with nsinstall'd binary files, and added rules to make
sure shared libraries also get copied into $(DIST)/lib (where they're *supposed* to go).


git-svn-id: svn://10.0.0.236/trunk@23238 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:20:03 +00:00
cmanske%netscape.com
27e7a5fcf3 Added registration of editor factory classes to NS_SetupRegistry
git-svn-id: svn://10.0.0.236/trunk@23237 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:17:21 +00:00
chuang%netscape.com
a912bbcc6a Move throbber to the right, add MsgHome() function.
git-svn-id: svn://10.0.0.236/trunk@23236 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:15:00 +00:00
slamm%netscape.com
839d83ac54 Quiet mac warnings.
git-svn-id: svn://10.0.0.236/trunk@23235 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:10:59 +00:00
slamm%netscape.com
d3ff196119 Add source tree navigation tool.
git-svn-id: svn://10.0.0.236/trunk@23234 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:07:00 +00:00
despotdaemon%netscape.com
03cb24e8aa Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@23233 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 01:06:41 +00:00
rpotts%netscape.com
7936c5d6dc fix for bug #3507. Also replaced raw comparse of nsresult == NS_OK with NS_FAILED(...) or NS_SUCCEEDED(...) macros...
git-svn-id: svn://10.0.0.236/trunk@23232 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:54:07 +00:00
dougt%netscape.com
2eb050c4c0 Removed InstallFolder Object - just using nsStrings now.
Now creating tempfiles for ZIP calls
hooked up to nsSpecialSystemDirectory
cleaned up Install() api


git-svn-id: svn://10.0.0.236/trunk@23231 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:50:23 +00:00
briano%netscape.com
aa7c81207d Fixed my stupid mistake (theoretically) and increased the test timeout to 45 seconds.
git-svn-id: svn://10.0.0.236/trunk@23230 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:44:04 +00:00
vidur%netscape.com
feb7c9a586 Table of contents example
git-svn-id: svn://10.0.0.236/trunk@23229 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:36:54 +00:00
briano%netscape.com
35cdf04fde Automated update
git-svn-id: svn://10.0.0.236/trunk@23228 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:30:47 +00:00
akkana%netscape.com
905d55aca8 Changes to fix the Irix N32/egcs build; thanks to Jason Heirtzler <jasonh@cthulhu.engr.sgi.com>
git-svn-id: svn://10.0.0.236/trunk@23227 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:24:17 +00:00
briano%netscape.com
9f121d0ce7 More fixes, and I added a silly hack to show what compiler is being used.
git-svn-id: svn://10.0.0.236/trunk@23226 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:15:46 +00:00
cmanske%netscape.com
e5c4ce24e9 Removed unused code in editor appcore and cleaned up factory registration
git-svn-id: svn://10.0.0.236/trunk@23225 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:05:27 +00:00
ebina%netscape.com
4ee08fa4f8 Changes to make the Mac not complain so much.
git-svn-id: svn://10.0.0.236/trunk@23224 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 00:04:34 +00:00
mscott%netscape.com
3087e391db Fix build breakage caused by ebina when he changed nsINetPluginInstance. Looks like nsINetPluginInstance::Initialize() now takes two arguments.
git-svn-id: svn://10.0.0.236/trunk@23221 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 23:44:22 +00:00
cmanske%netscape.com
a5258195f0 Removed registration code now done by NSRegisterSelf for editor classes
git-svn-id: svn://10.0.0.236/trunk@23218 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:52:03 +00:00
cmanske%netscape.com
c89001dcbb Removed registration code no done by NSRegisterSelf for editor classes
git-svn-id: svn://10.0.0.236/trunk@23217 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:51:58 +00:00
cmanske%netscape.com
dea2088bcb Fixed editor classes to do autoregistration correctly and moved target directory to bin/components
git-svn-id: svn://10.0.0.236/trunk@23216 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:46:33 +00:00
akkana%netscape.com
1bc5a98e62 Hook up a debug implementation of paste
git-svn-id: svn://10.0.0.236/trunk@23215 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:45:56 +00:00
pinkerton%netscape.com
ff75f4321a adding debug printf to see when toolbar frames are being deleted. I don't think they are when display is set to none.
git-svn-id: svn://10.0.0.236/trunk@23214 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:44:44 +00:00
pinkerton%netscape.com
5941299154 fix attribute selector for grippies to actually trigger when grippies clicked on.
git-svn-id: svn://10.0.0.236/trunk@23213 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:44:06 +00:00
pinkerton%netscape.com
c543412c2d fix bug where if I didn't check if the first child frame was null during reflow.
git-svn-id: svn://10.0.0.236/trunk@23212 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:43:48 +00:00
val4%cornell.edu
65f58bdd75 Some changes here and there. Added noted about PerlConnect.pm. Added update history.
git-svn-id: svn://10.0.0.236/trunk@23211 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:43:17 +00:00
cyeh%netscape.com
c746e96df5 pdbfiles have a ".pdb" at the end.
git-svn-id: svn://10.0.0.236/trunk@23210 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:40:17 +00:00
cyeh%netscape.com
5907555ee7 change MOZ_DEBUGOPT config to not generate PDB files.
git-svn-id: svn://10.0.0.236/trunk@23209 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:38:33 +00:00
dp%netscape.com
722542857b adding new exported NR_*Raw() symbols
git-svn-id: svn://10.0.0.236/trunk@23208 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:10:18 +00:00
hyatt%netscape.com
909350643f Putting the extra items into the bookmarks menu.
git-svn-id: svn://10.0.0.236/trunk@23207 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 22:09:34 +00:00
ebina%netscape.com
40e1602a4b Add the stream name (URL string) to the nsINetPluginInstance
interface in the Initialize method.


git-svn-id: svn://10.0.0.236/trunk@23206 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:57:35 +00:00
alecf%netscape.com
abafe271de patches from cmanske@netscape.com - use NS_IMETHODIMP* macros instead of declaring nsrefcnt/etc directly
git-svn-id: svn://10.0.0.236/trunk@23205 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:34:16 +00:00
shaver%netscape.com
4881717cd5 ignore generated files
git-svn-id: svn://10.0.0.236/trunk@23204 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:27:03 +00:00
shaver%netscape.com
30f497ae66 Turn off debugging noise for myself.
Parse IIDs, and handle the unspecified case (= 0).
Sort IDE block like a good boy (all hail qsort).
Follow typedefs to make the right thing happen.
Hide [notxpcom] methods, and don't munge their signatures with _retval, etc.


git-svn-id: svn://10.0.0.236/trunk@23203 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:22:29 +00:00
coop%netscape.com
3371ff5105 NOT YET PART OF SEAMONKEY:
* linker now sorts based on IIDs
* xpt_dump no longer complains about md->result if it is of the correct retval type


git-svn-id: svn://10.0.0.236/trunk@23202 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:13:58 +00:00
shaver%netscape.com
26b1439250 display method flags, handle bogus indices
git-svn-id: svn://10.0.0.236/trunk@23201 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:11:08 +00:00
tague%netscape.com
b53730d1aa Fixed build bustage (lost const)
git-svn-id: svn://10.0.0.236/trunk@23198 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:02:35 +00:00
terry%netscape.com
6d26142980 Changed some QA contacts.
git-svn-id: svn://10.0.0.236/trunk@23197 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:47:51 +00:00
dp%netscape.com
b73886f588 Using Raw registry interface so that component urls and filename can be stored without transformation of / and =
git-svn-id: svn://10.0.0.236/trunk@23196 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:40:32 +00:00
dp%netscape.com
52090316db Adding Raw interface that wont interpret / in keynames. Plus removed = being a invalid char for keys.
git-svn-id: svn://10.0.0.236/trunk@23195 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:35:54 +00:00
shaver%netscape.com
b03b382f3e Make params include the name of the interface referenced.
git-svn-id: svn://10.0.0.236/trunk@23194 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:33:35 +00:00
alecf%netscape.com
6083b1d43d fix g++ -pedantic bustage
git-svn-id: svn://10.0.0.236/trunk@23193 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:18:53 +00:00
mscott%netscape.com
18ee545010 Call close on the mail database instead of release.
git-svn-id: svn://10.0.0.236/trunk@23192 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:10:14 +00:00
mscott%netscape.com
d3b260a630 Call close on the mail database instead of release....
git-svn-id: svn://10.0.0.236/trunk@23191 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:09:42 +00:00
ftang%netscape.com
768862e631 reviewed by rickg. Pick up meta tag and change converter
git-svn-id: svn://10.0.0.236/trunk@23190 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:00:23 +00:00
mscott%netscape.com
566f776df0 When setting the byte range based on the message size subtract one byte (this gives it the proper byte range in the file...).
git-svn-id: svn://10.0.0.236/trunk@23189 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:53:10 +00:00
bienvenu%netscape.com
7172f6d57d fix db cache lookup bug
git-svn-id: svn://10.0.0.236/trunk@23188 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:50:24 +00:00
coop%netscape.com
60b95e8294 NOT YET PART OF SEAMONKEY:
* changing references to interfaces (within structs) to be indices rather than pointers
* updated xpt_dump and xpt_link code to reflect above change


git-svn-id: svn://10.0.0.236/trunk@23187 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:47:09 +00:00
kipp%netscape.com
641a7a7202 Implement GetFrameName
git-svn-id: svn://10.0.0.236/trunk@23186 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:26:45 +00:00
kipp%netscape.com
0750860714 setup more skid marks (disabled)
git-svn-id: svn://10.0.0.236/trunk@23185 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:26:30 +00:00
kipp%netscape.com
b37f5e28cc Added a skid mark (disabled)
git-svn-id: svn://10.0.0.236/trunk@23184 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:26:09 +00:00
kipp%netscape.com
00cb1a62f1 added some nasty logging messages for frames that don't set max-element-size; added more vertical alignment noise
git-svn-id: svn://10.0.0.236/trunk@23183 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:25:55 +00:00
kipp%netscape.com
0ed15663ec added some nasty logging messages for frames that don't set max-element-size
git-svn-id: svn://10.0.0.236/trunk@23182 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:25:18 +00:00
kipp%netscape.com
f8ee65e4d3 Copy out computed combined area even when dealing with an zero height block; added some nasty logging messages for frames that don't set max-element-size
git-svn-id: svn://10.0.0.236/trunk@23181 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:25:03 +00:00
kipp%netscape.com
566d18356c Compute combined-area more sanely; handle another nasty top margin bug (1910)
git-svn-id: svn://10.0.0.236/trunk@23180 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:24:07 +00:00
kipp%netscape.com
c60c176227 Removed a duplicated method; moved by debug asserts into a central spot
git-svn-id: svn://10.0.0.236/trunk@23179 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:22:55 +00:00
kipp%netscape.com
0547776b90 Fixed bug #2052 - don't adjust the height when its computed
git-svn-id: svn://10.0.0.236/trunk@23178 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:22:16 +00:00
kipp%netscape.com
3aaf74d39a Fixed a build issue
git-svn-id: svn://10.0.0.236/trunk@23177 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:21:44 +00:00
ramiro%netscape.com
ea36063fa0 Cannot forward declare a class used with an nsCOMPtr.
see: http://www.mozilla.org/projects/xpcom/nsCOMPtr.html


git-svn-id: svn://10.0.0.236/trunk@23176 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 18:57:21 +00:00
nisheeth%netscape.com
a81177003d Checking in the first stab at error propagation from the expat parser to the content sink. The flow of control is as follows. The tokenizer creates an error token (CErrorToken) when an error occurs in expat and pushes it onto the token dequeue. The DTD forwards the contents of the token to the content sink, which creates content objects to show the error.
git-svn-id: svn://10.0.0.236/trunk@23175 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 17:42:54 +00:00
briano%netscape.com
4b4a663c7f Automated update
git-svn-id: svn://10.0.0.236/trunk@23174 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 16:00:39 +00:00
ramiro%netscape.com
71f4219ea9 Fix unix builds.
git-svn-id: svn://10.0.0.236/trunk@23173 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 15:50:50 +00:00
briano%netscape.com
397f7f3521 Automated update
git-svn-id: svn://10.0.0.236/trunk@23172 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 15:15:41 +00:00
ramiro%netscape.com
2dd0c5cdf9 Latest AIX fixes. (waqar@netscape.com).
When doing the multiple inheritance thing, explicitly give the publicness
for each superclass.


git-svn-id: svn://10.0.0.236/trunk@23171 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 15:13:54 +00:00
ramiro%netscape.com
970dc7c4fc Allow for lock_SunOS.s to build properly. Fix the build system to
properly set all the ac magic needed to properly asm files.
Currently this is only an issue on Solaris, when building with the native
sun compiler.


git-svn-id: svn://10.0.0.236/trunk@23170 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 15:01:13 +00:00
edwin%woudt.nl
bc8fd40d25 A new throbber
git-svn-id: svn://10.0.0.236/trunk@23169 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 14:45:52 +00:00
ramiro%netscape.com
01f08478fc Add Templates.DB dir to GARBAGE so that the output of the Solaris CC template
code generator can be clobber.  Otherwise, dependancies and clobbering dont
work.


git-svn-id: svn://10.0.0.236/trunk@23168 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 11:44:25 +00:00
ramiro%netscape.com
bdfb92b7b9 Memory leak.
delete[] memory returned by nsString::ToNewCString.


git-svn-id: svn://10.0.0.236/trunk@23167 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 11:38:59 +00:00
ramiro%netscape.com
e1c07957a0 Fix win32, mac breakage.
git-svn-id: svn://10.0.0.236/trunk@23166 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 11:04:49 +00:00
ramiro%netscape.com
240e66fab6 Templates in nsXPComFactory exorcism. Part I.
Replaced the template code with a NS_DEF_FACTORY.
This is temporary.  As soon as I can verify this works on windows and
mac, ill remove the old code.


git-svn-id: svn://10.0.0.236/trunk@23165 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 09:44:16 +00:00
waterson%netscape.com
c276775547 Bug #3465. Atomize literals as well as resources.
git-svn-id: svn://10.0.0.236/trunk@23164 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 08:28:46 +00:00
waterson%netscape.com
324b35b91b Added some debugging code while tracking down bug #3465.
git-svn-id: svn://10.0.0.236/trunk@23163 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 08:27:53 +00:00
pierre%netscape.com
24f2df4eea implemented nsListbox
git-svn-id: svn://10.0.0.236/trunk@23158 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 04:50:20 +00:00
pierre%netscape.com
0118215e13 Fixed several things. The popup now actually displays and works.
git-svn-id: svn://10.0.0.236/trunk@23157 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 04:48:55 +00:00
pierre%netscape.com
089d8feb9e small change to make Move and Resize more efficient
git-svn-id: svn://10.0.0.236/trunk@23156 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 04:47:17 +00:00
pierre%netscape.com
ef19f8a40b small change to make it behave like nsCheckboxControlFrame when the WidgetRenderingMode is not initialized.
git-svn-id: svn://10.0.0.236/trunk@23155 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 04:46:12 +00:00
shaver%netscape.com
8fe29cabbc fix remnant of 32-bit interface references
git-svn-id: svn://10.0.0.236/trunk@23154 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 03:56:14 +00:00
danm%netscape.com
739872bb0b adding ShowDialog()
git-svn-id: svn://10.0.0.236/trunk@23153 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 03:01:17 +00:00
mscott%netscape.com
b7422fa464 Add ability to display a message given just a message number. We take this number (which is not a key or ID) and get the array of message keys from the db. We then extract the key corresponding to the number passed in. This interface function is used primarily to make debuggin easier where we don't have a message key or message ID lying around...
git-svn-id: svn://10.0.0.236/trunk@23152 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 02:12:50 +00:00
bienvenu%netscape.com
dc5a62dacf make sure db name is strdupped before caching
git-svn-id: svn://10.0.0.236/trunk@23151 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 02:11:39 +00:00
jfrancis%netscape.com
ec84311a00 adding mAnchorFrame to the ClearFrameRefs call
git-svn-id: svn://10.0.0.236/trunk@23150 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 01:22:37 +00:00
jfrancis%netscape.com
87c745f970 bug fixes + changing broken "dont_QueryInterface" additions to "do_QueryInterface"
git-svn-id: svn://10.0.0.236/trunk@23149 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 01:20:02 +00:00
mscott%netscape.com
2e5cace5e3 requires js for the prefs stuff. Link with rdf_utils.lib instead of rdf.lib.
git-svn-id: svn://10.0.0.236/trunk@23148 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 01:05:21 +00:00
mscott%netscape.com
0fb9344d6c Many many changes. (1) get rid of hard coded mailbox folder paths and rely on the the mail root folder preference being set. (2) when displaying a message, open the db, extract the array of msgKeys and ask the user which message they want to display. This number is based on the number of items in the msgKey array. Then use the user provided number as an offset into the msg key array to extract the correct message key to use. This provides us with a lot more testing flexibility instead of forcing the test to know the message key of each message he/she wanted to display. (3) remove call to NS_NewMsgParser and go through the repository instead....
git-svn-id: svn://10.0.0.236/trunk@23147 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 01:04:53 +00:00
mscott%netscape.com
e78bb00181 Remove NS_NewMsgParser. You should be going through the repository to create an instance of mailbox parser. I've already updated the nsLocalMsgFactory to be able to create instances of this object.
git-svn-id: svn://10.0.0.236/trunk@23146 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 01:00:52 +00:00
beard%netscape.com
ff96b264a9 fixed call to nsIInputStream::Read(), no longer passing 0 offset.
git-svn-id: svn://10.0.0.236/trunk@23145 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:15:40 +00:00
beard%netscape.com
0f0c2a1c13 Added InitializeLiveConnectClasses() method.
git-svn-id: svn://10.0.0.236/trunk@23144 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:14:40 +00:00
beard%netscape.com
93ebb9e8aa Added InitializeLiveConnectClasses() method. This makes the standard java packages visible to a given JSContext. Guarding against multiple initialization otherwise LiveConnect gives a warning.
git-svn-id: svn://10.0.0.236/trunk@23143 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:14:38 +00:00
beard%netscape.com
8334bbbe58 Added accessor for NS_JVMMANAGER_CID.
git-svn-id: svn://10.0.0.236/trunk@23142 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:12:00 +00:00
beard%netscape.com
83fc142853 Added InitLiveConnectClasses for DOM's use.
git-svn-id: svn://10.0.0.236/trunk@23141 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:09:05 +00:00
beard%netscape.com
9e471da20d Fixed Read/Write methods to conform to latest nsIInputStream and nsIOutputStream interfaces.
git-svn-id: svn://10.0.0.236/trunk@23140 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:07:24 +00:00
mscott%netscape.com
e743625bfb include xplib.h....
git-svn-id: svn://10.0.0.236/trunk@23139 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:01:04 +00:00
beard%netscape.com
7be9526f8f Using the service manager to access the plugin manager, because it needs to be a singleton.
git-svn-id: svn://10.0.0.236/trunk@23138 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:01:02 +00:00
mscott%netscape.com
02c61ddd40 Add mailbox parser to list of components the local msg factory can create.
git-svn-id: svn://10.0.0.236/trunk@23137 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 00:00:44 +00:00
beard%netscape.com
5ceecb3479 Added NS_DEFINE_STATIC_CID_ACCESSOR.
git-svn-id: svn://10.0.0.236/trunk@23136 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:56:59 +00:00
beard%netscape.com
97403304e5 fixed a crash caused by unitialized variable focusedWidget.
git-svn-id: svn://10.0.0.236/trunk@23135 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:56:22 +00:00
mscott%netscape.com
875780bfa0 Assign a CID to the mailbox parser so we can create it through the local msg factory...
git-svn-id: svn://10.0.0.236/trunk@23134 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:53:14 +00:00
beard%netscape.com
5d42f82ea4 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23133 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:32:35 +00:00
hyatt%netscape.com
1113d37be5 added files: mozilla/rdf/content/src/nsRDFToolbarBuilder.cpp
git-svn-id: svn://10.0.0.236/trunk@23132 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:24:51 +00:00
hyatt%netscape.com
40ff968768 Added the NS_NewRDFToolbarBuilder call to the header.
git-svn-id: svn://10.0.0.236/trunk@23131 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:21:18 +00:00
hyatt%netscape.com
8accebad8a Changes to enable the instantiation of a toolbar builder.
git-svn-id: svn://10.0.0.236/trunk@23130 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:18:58 +00:00
hyatt%netscape.com
0f937ddd5b Changes to the builder APIs to distinguish folder items from leaf
items (although we're not quite there yet).


git-svn-id: svn://10.0.0.236/trunk@23129 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:18:26 +00:00
hyatt%netscape.com
963375d55e Adding the toolbar builder to Windows and Linux makefiles.
git-svn-id: svn://10.0.0.236/trunk@23128 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:17:01 +00:00
hyatt%netscape.com
4d29994251 The RDF toolbar builder (for constructing RDF toolbars like the Personal Toolbar).
git-svn-id: svn://10.0.0.236/trunk@23127 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:16:37 +00:00
hyatt%netscape.com
5de09bf263 Added the Personal Toolbar to the XUL file.
git-svn-id: svn://10.0.0.236/trunk@23126 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 23:14:41 +00:00
mscott%netscape.com
4936ba4a0d Change onClick to onclick to enable menu item commands.
git-svn-id: svn://10.0.0.236/trunk@23125 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 21:58:36 +00:00
mscott%netscape.com
9b0caae748 Change rdf:id to id. (Although the thread pane doesn't seem to be working for me as of sunday's current tip....)
git-svn-id: svn://10.0.0.236/trunk@23124 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 21:58:15 +00:00
mscott%netscape.com
c0b892b4fa Install DLL in components directory as part of dp's changes...
git-svn-id: svn://10.0.0.236/trunk@23123 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 21:54:46 +00:00
pavlov%pavlov.net
2c561f6d59 fix bug 3079
git-svn-id: svn://10.0.0.236/trunk@23122 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 21:22:53 +00:00
mscott%netscape.com
9d4ea29f98 Move read/write file io stream changes....Read and write no longer take offsets...
git-svn-id: svn://10.0.0.236/trunk@23121 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 21:21:25 +00:00
jband%netscape.com
073ee50abb fix fopen mode for binary files - I'm starting to think that shaver, coop, and mccabe are doing this to me on purpose :)
git-svn-id: svn://10.0.0.236/trunk@23120 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 20:48:37 +00:00
edwin%woudt.nl
262e661621 Oh boy, I broke this with my license compliance checkin :-(
git-svn-id: svn://10.0.0.236/trunk@23119 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 20:04:41 +00:00
edwin%woudt.nl
e80d95f4b2 Fixing to comply with MPL requirements: every contributor should be mentioned!
git-svn-id: svn://10.0.0.236/trunk@23118 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 19:58:40 +00:00
rickg%netscape.com
0608af3478 fixed recently introduced i18n bugs
git-svn-id: svn://10.0.0.236/trunk@23117 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 19:23:28 +00:00
hyatt%netscape.com
a76538f256 Changing the natural order pos name to match the function conventions.
git-svn-id: svn://10.0.0.236/trunk@23116 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:52:42 +00:00
hyatt%netscape.com
e097700974 Again.
git-svn-id: svn://10.0.0.236/trunk@23115 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:49:26 +00:00
hyatt%netscape.com
a8ab7e3102 Fixing build bustage.
git-svn-id: svn://10.0.0.236/trunk@23114 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:48:58 +00:00
hyatt%netscape.com
973b2a044e Declaring some classes so that the compilers are happy again.
git-svn-id: svn://10.0.0.236/trunk@23113 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:41:00 +00:00
hyatt%netscape.com
8d0b3864cd added files: mozilla/rdf/content/src/nsRDFGenericBuilder.cpp, mozilla/rdf/content/src/nsRDFMenuBuilder.cpp
git-svn-id: svn://10.0.0.236/trunk@23112 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:35:17 +00:00
hyatt%netscape.com
57020bc795 Changing the display type of menubars, menus, and menuitems to be "none" so that
frames don't get built for them.  Added a bookmarks menu that uses real
RDF data.  (WOO HOO!)


git-svn-id: svn://10.0.0.236/trunk@23111 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:33:21 +00:00
hyatt%netscape.com
0a8f08e165 The modified tree builder.
git-svn-id: svn://10.0.0.236/trunk@23110 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:30:42 +00:00
hyatt%netscape.com
59dd328258 Landing the menu builder for real. The bookmarks menu lives (well, sort of).
git-svn-id: svn://10.0.0.236/trunk@23109 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:28:42 +00:00
hyatt%netscape.com
7c89bc9b07 First stab at the menu builder. It doesn't know how to build popup menus
yet. We'll need to work on that one.


git-svn-id: svn://10.0.0.236/trunk@23108 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 10:00:13 +00:00
hyatt%netscape.com
ae118c5d22 Checking in a patch for a XUL bug in ContentInserted (inside an #ifdef INCLUDE_XUL).
git-svn-id: svn://10.0.0.236/trunk@23107 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 09:55:39 +00:00
rjc%netscape.com
7c9fffcbb0 More support for column sorting.
git-svn-id: svn://10.0.0.236/trunk@23106 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 09:44:38 +00:00
hyatt%netscape.com
ba91bb4cbf A base class for factoring out the common functionality that exists
among builders.  (To be used by the tree, toolbar, and menu builders
at the very least.)


git-svn-id: svn://10.0.0.236/trunk@23105 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 08:12:48 +00:00
bienvenu%netscape.com
fa3a9d1061 hook up a little more to mdb, add some error checking
git-svn-id: svn://10.0.0.236/trunk@23104 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 05:39:35 +00:00
bienvenu%netscape.com
bff63bf92f add ClearErrors stub
git-svn-id: svn://10.0.0.236/trunk@23103 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 05:38:54 +00:00
bienvenu%netscape.com
4db58490e6 check for error creating msghdr in test prepulate method
git-svn-id: svn://10.0.0.236/trunk@23102 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 05:34:01 +00:00
briano%netscape.com
f4b02ce313 Automated update
git-svn-id: svn://10.0.0.236/trunk@23101 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 05:30:39 +00:00
cls%seawood.org
528012e0b5 Introduced separate CXXFLAGS for use with C++ code in the same style as the existing CFLAGS. Prepended _ to some configure.in private variables.
git-svn-id: svn://10.0.0.236/trunk@23100 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 05:18:45 +00:00
cls%seawood.org
38280e9eac Build db subdir before build so that libmailnewsmsgdb is available for libmailnews' final link.
git-svn-id: svn://10.0.0.236/trunk@23099 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 04:36:09 +00:00
edwin%woudt.nl
dbc0ed9954 Fixing to comply with MPL requirements: every contributor should be mentioned!
git-svn-id: svn://10.0.0.236/trunk@23098 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 02:46:50 +00:00
edwin%woudt.nl
c2f903d8c0 Fixing to comply with MPL requirements: every contributor should be mentioned!
git-svn-id: svn://10.0.0.236/trunk@23097 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 02:39:04 +00:00
shaver%netscape.com
44e5f9594a we do windows, but still wait on Mac
git-svn-id: svn://10.0.0.236/trunk@23096 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 02:37:17 +00:00
edwin%woudt.nl
ad689b27b1 Fixing to comply with MPL requirements: every contributor should be mentioned!
git-svn-id: svn://10.0.0.236/trunk@23095 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 02:30:35 +00:00
edwin%woudt.nl
ebf38833f6 Fixing to comply with MPL requirements: every contributor should be mentioned!
git-svn-id: svn://10.0.0.236/trunk@23094 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 02:19:44 +00:00
edwin%woudt.nl
e7a7211830 Fixing to comply with MPL requirements: every contributor should be mentioned!
git-svn-id: svn://10.0.0.236/trunk@23093 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 01:40:44 +00:00
edwin%woudt.nl
ec35849638 Fixing to comply with MPL requirements: every contributor should be mentioned!
git-svn-id: svn://10.0.0.236/trunk@23092 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 01:30:52 +00:00
pavlov%pavlov.net
d154e0982b more work
git-svn-id: svn://10.0.0.236/trunk@23091 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 00:58:11 +00:00
pavlov%pavlov.net
066e49e7e7 add a few comments in here on how a few things should be done.
git-svn-id: svn://10.0.0.236/trunk@23090 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-07 00:40:08 +00:00
beard%netscape.com
c3ed0d6f79 passing service manager, using NS_CALLBACK macro.
git-svn-id: svn://10.0.0.236/trunk@23089 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 22:32:49 +00:00
beard%netscape.com
68267d0bfb passing service manager, using nsIAllocator instead of nsIMalloc for memory allocation.
git-svn-id: svn://10.0.0.236/trunk@23088 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 22:32:47 +00:00
beard%netscape.com
54ea4168ab passing service manager instead of plugin host.
git-svn-id: svn://10.0.0.236/trunk@23087 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 22:31:28 +00:00
beard%netscape.com
423d0533ef took out singleton management, and registering with the repository. That's what the service manager/component manager is for.
git-svn-id: svn://10.0.0.236/trunk@23086 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 22:25:55 +00:00
beard%netscape.com
216bfff8b9 File Removed.
git-svn-id: svn://10.0.0.236/trunk@23085 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 22:23:41 +00:00
beard%netscape.com
1cc31e4675 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@23084 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 22:23:26 +00:00
jband%netscape.com
d2e367d9f5 getting shaver's changes compiling on Win32 - (and linking - dependency on nspr was added)
git-svn-id: svn://10.0.0.236/trunk@23083 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 21:39:45 +00:00
jband%netscape.com
d64ba60bfa getting shaver's changes compiling on Win32
git-svn-id: svn://10.0.0.236/trunk@23082 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 21:35:01 +00:00
shaver%netscape.com
809bab74f6 updated README and fixed 3484 (make in strings const)
git-svn-id: svn://10.0.0.236/trunk@23081 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:59:41 +00:00
sfraser%netscape.com
ea69d4597d Added debug output text and HTML menu items
git-svn-id: svn://10.0.0.236/trunk@23080 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:54:03 +00:00
sfraser%netscape.com
d268bb036d Fix the text & HTML output routines
git-svn-id: svn://10.0.0.236/trunk@23079 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:49:34 +00:00
briano%netscape.com
0adeb6c4f1 Automated update
git-svn-id: svn://10.0.0.236/trunk@23078 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:45:39 +00:00
cls%seawood.org
58aea2a7f4 Modified allmakefiles.sh setup to use autoconf's default $srcdir. Also fixes mailnews not building in separate obj tree.
git-svn-id: svn://10.0.0.236/trunk@23077 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:38:24 +00:00
sfraser%netscape.com
3b08f1c684 Changed file grouping.
git-svn-id: svn://10.0.0.236/trunk@23076 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:33:07 +00:00
sfraser%netscape.com
c5cf61dbdb Modified OutputText and OutputHTML methods to pass out nsStrings instead of nsIOutputStreams. Also fixed return values, and commented out line termination conversion in Mac outoutput.
git-svn-id: svn://10.0.0.236/trunk@23075 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:32:48 +00:00
cls%seawood.org
c181a3c141 Add $(topsrcdir)/network/protocol/imap4 to LOCAL_INCLUDES.
git-svn-id: svn://10.0.0.236/trunk@23074 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:29:01 +00:00
sfraser%netscape.com
52af2d264e Add support for getting text or HTML through a readonly properly on the EditorAppCore. Added attributes to .idl file, regenerated .h and .cpp with idlc. Simplified toolbar in the .xul file.
git-svn-id: svn://10.0.0.236/trunk@23073 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:28:47 +00:00
sfraser%netscape.com
163c837469 Arrange the various AppCores into groups
git-svn-id: svn://10.0.0.236/trunk@23072 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:27:33 +00:00
sfraser%netscape.com
740e25376c Fix warning reported by warren (bracket was in wrong place).
git-svn-id: svn://10.0.0.236/trunk@23071 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 20:19:52 +00:00
evaughan%netscape.com
0615e95ff7 1) Implemented regular button and html4 button with a button renderer.
2) Fixed ProgressMeter to update correctly when attributes change
3) Fixed sample8.html so that it does not over ride the borders of the HTML4 button this
   messed up the active, hover, and disabled states.


git-svn-id: svn://10.0.0.236/trunk@23070 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 19:43:13 +00:00
shaver%netscape.com
d67b62db13 Add XPT_InterfaceDescriptorAddConsts to API.
git-svn-id: svn://10.0.0.236/trunk@23069 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 19:40:34 +00:00
shaver%netscape.com
ade285390e Compatibility with libIDL 0.6.x. (now required -- 0.5.x won't work any more)
Open absolutely-named files without include-path checking.
Always report errors (duh).
typelib generation: [iid_is()], consts, parse [uuid()], string type change
(will someone please explain our string types to me?), add float support,
handle [retval], IDL return as trailing argument (duh), attributes generate
accessor entries.
Use IDL_tree_error instead of burping at stderr.


git-svn-id: svn://10.0.0.236/trunk@23068 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 19:26:40 +00:00
troy%netscape.com
279360546a In RulesMatching(), changed NS_RELEASE to NS_IF_RELEASE for the link handler.
This fixes a crash when doing a print preview


git-svn-id: svn://10.0.0.236/trunk@23067 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 17:20:27 +00:00
troy%netscape.com
8c2eb5770c Changed ComputeDesiredWidth() to get the table layout strategy from the
first-in-flow. This fixes a crash in paginated mode


git-svn-id: svn://10.0.0.236/trunk@23066 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 17:01:15 +00:00
briano%netscape.com
6842a254dd Automated update
git-svn-id: svn://10.0.0.236/trunk@23065 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 15:16:10 +00:00
ramiro%netscape.com
16659349cb Latest AIX fixes from waqar@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@23064 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 15:09:48 +00:00
ramiro%netscape.com
0602774650 Fix printf format. Thanks to (waqar@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@23063 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 15:07:44 +00:00
ramiro%netscape.com
393e76453d Latest AIX fixes from waqar@netscape.com.
I added this define before and its not needed now, thanks to the c++ feature
detection magic in configure.in.


git-svn-id: svn://10.0.0.236/trunk@23062 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 15:07:01 +00:00
briano%netscape.com
7666411623 Automated update
git-svn-id: svn://10.0.0.236/trunk@23061 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 12:15:43 +00:00
ramiro%netscape.com
91077bb45b Fix the exceptions flag test.
git-svn-id: svn://10.0.0.236/trunk@23060 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 12:03:42 +00:00
dp%netscape.com
69df3f9c47 Bumping nsRepository version string to force registry to be cleaned
git-svn-id: svn://10.0.0.236/trunk@23059 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 09:11:05 +00:00
dp%netscape.com
a6d34909ca dist/bin/components is where all loadable components will be installed.
git-svn-id: svn://10.0.0.236/trunk@23058 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 09:04:53 +00:00
grail%cafebabe.org
df6e2353c4 Fixed bad type cast.
git-svn-id: svn://10.0.0.236/trunk@23057 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 07:25:10 +00:00
grail%cafebabe.org
115126053e Re-organized for more flexible handling of widget creation.
git-svn-id: svn://10.0.0.236/trunk@23056 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 07:08:01 +00:00
grail%cafebabe.org
76937a8d5e Added documentation.
git-svn-id: svn://10.0.0.236/trunk@23055 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 07:07:34 +00:00
grail%cafebabe.org
20c454d5fb Added MPL license to SearchDirectory, Added it to makefile. Removed
references to AWT as much as possible. I need to enhance pagebuilder to
do other layouts other than GridBagLayout.


git-svn-id: svn://10.0.0.236/trunk@23054 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 07:06:31 +00:00
grail%cafebabe.org
a9752fa00b Fixed DOS end-of-lines from the files.
git-svn-id: svn://10.0.0.236/trunk@23053 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 06:55:26 +00:00
briano%netscape.com
7cf95055d1 Automated update
git-svn-id: svn://10.0.0.236/trunk@23050 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 05:15:39 +00:00
mcafee%netscape.com
26e6bc85e2 Removing -xar from MKSHLIB, this was incorrectly generating .a libs, thanks to Tim McNerney <mumbly@netcom.com> for this fix.
git-svn-id: svn://10.0.0.236/trunk@23049 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 05:08:12 +00:00
troy%netscape.com
cac3fb5b73 Added some XXX comments
git-svn-id: svn://10.0.0.236/trunk@23048 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 05:03:09 +00:00
rjc%netscape.com
a4b87102ee Add RDF to list of include directories on Windows.
git-svn-id: svn://10.0.0.236/trunk@23047 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 04:57:20 +00:00
mcafee%netscape.com
cdc5264bdb Directly calling const char* const() operator to avoid ambiguity on Solaris. r=mcmullen@netscape.com
git-svn-id: svn://10.0.0.236/trunk@23046 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 04:42:08 +00:00
warren%netscape.com
c65396ffe0 Fixing someone's RDF breakage.
git-svn-id: svn://10.0.0.236/trunk@23045 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 04:12:56 +00:00
rjc%netscape.com
898583b974 Its a good thing to compile nsXULSortService.cpp, isn't it? (cyeh is making the same change to Makefile.win after verifying the fix.)
git-svn-id: svn://10.0.0.236/trunk@23044 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 04:05:38 +00:00
warren%netscape.com
140018846d Fixed multiple mRefCnt problem.
git-svn-id: svn://10.0.0.236/trunk@23043 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 03:56:24 +00:00
warren%netscape.com
9eaa6a745d Fixed uninitialized variable problem.
git-svn-id: svn://10.0.0.236/trunk@23042 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 03:54:19 +00:00
troy%netscape.com
6002e5995c Used style data pointer in HTML reflow state and eliminated some calls to
GetStyleData()


git-svn-id: svn://10.0.0.236/trunk@23041 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 03:37:44 +00:00
troy%netscape.com
009e3818fb Changed Reflow() to use style info from the HTML reflow state
git-svn-id: svn://10.0.0.236/trunk@23040 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 03:30:25 +00:00
talisman%anamorphic.com
8b0e4bddd5 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@23039 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 02:49:47 +00:00
talisman%anamorphic.com
2910c0269d Added per Mauro Botelho.
git-svn-id: svn://10.0.0.236/trunk@23038 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 02:49:24 +00:00
mcmullen%netscape.com
f74a94e9ff More bustage (more calls to Read() with old parameters).
git-svn-id: svn://10.0.0.236/trunk@23037 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 02:42:44 +00:00
mcmullen%netscape.com
f54f7a537e More lurking calls to Read() with the old API.
git-svn-id: svn://10.0.0.236/trunk@23036 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 02:38:27 +00:00
mcmullen%netscape.com
f6c1353346 Adapt to new stream interfaces some more.
git-svn-id: svn://10.0.0.236/trunk@23033 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 02:12:52 +00:00
nisheeth%netscape.com
b0dfaee405 Changed nsIContentSink->NotifyError() to accept an nsParserError argument. This change is needed for propagating errors from the new expat parser.
git-svn-id: svn://10.0.0.236/trunk@23032 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 02:09:46 +00:00
nisheeth%netscape.com
0127c619d0 Changed nsIContentSink->NotifyError() to accept an nsParserError argument. This change is needed for propagating errors from the new expat parser.
git-svn-id: svn://10.0.0.236/trunk@23031 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 02:01:11 +00:00
troy%netscape.com
21a6536307 Removed some code that is no longer needed
git-svn-id: svn://10.0.0.236/trunk@23030 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:58:33 +00:00
troy%netscape.com
5bd0174c47 Eliminated some code that's no longer needed now that the info is in the
HTML reflow state


git-svn-id: svn://10.0.0.236/trunk@23029 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:48:28 +00:00
nisheeth%netscape.com
5016ed7684 Changed nsIContentSink->NotifyError() to accept an nsParserError argument.
This change is needed for propagating errors from the new
expat parser.


git-svn-id: svn://10.0.0.236/trunk@23028 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:48:11 +00:00
hyatt%netscape.com
304b78af18 Changing the name of a function. It was hiding another function in a base class.
git-svn-id: svn://10.0.0.236/trunk@23027 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:43:33 +00:00
troy%netscape.com
cd506df1a1 Eliminated some code that's no longer needed now that the info is in the
HTML reflow state


git-svn-id: svn://10.0.0.236/trunk@23026 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:40:29 +00:00
mscott%netscape.com
da3ad2f309 fix build breakage when the base file i/o stream changed.
git-svn-id: svn://10.0.0.236/trunk@23025 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:37:00 +00:00
nisheeth%netscape.com
ec2572e0af Exporting nsParserError.h...
git-svn-id: svn://10.0.0.236/trunk@23024 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:32:00 +00:00
alecf%netscape.com
5f05c90ce0 fix up autoregistration messenger bootstrap code
git-svn-id: svn://10.0.0.236/trunk@23023 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:29:31 +00:00
nisheeth%netscape.com
72db16df3a Exported nsParserError.h.
git-svn-id: svn://10.0.0.236/trunk@23022 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:29:11 +00:00
alecf%netscape.com
888ba4dea8 fix newline at end of file problem
git-svn-id: svn://10.0.0.236/trunk@23021 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:24:36 +00:00
alecf%netscape.com
3c77f2e6a3 rev the idl-generated headers
git-svn-id: svn://10.0.0.236/trunk@23020 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:24:00 +00:00
alecf%netscape.com
d7ba80c1da update interface to prepare to move nsMsgGroupRecord to be behind an interface
git-svn-id: svn://10.0.0.236/trunk@23019 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:23:07 +00:00
mscott%netscape.com
3f035f4167 Fix build breakage for mcmullen using the file stream changes.
git-svn-id: svn://10.0.0.236/trunk@23018 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:21:41 +00:00
nisheeth%netscape.com
8425c6c0d5 Adding nsParserError.h for export.
git-svn-id: svn://10.0.0.236/trunk@23017 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:20:18 +00:00
hyatt%netscape.com
04bdd7657a onchange handler implemented for observes nodes.
git-svn-id: svn://10.0.0.236/trunk@23016 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:19:13 +00:00
mscott%netscape.com
faafbf7f8d fix build breakage. file stream updates for mcmullen.
git-svn-id: svn://10.0.0.236/trunk@23015 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:17:55 +00:00
mcmullen%netscape.com
86f1a505d9 Adapt to the removed offset parameter in streams.
git-svn-id: svn://10.0.0.236/trunk@23014 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 01:03:12 +00:00
tague%netscape.com
00fb8568a5 Fixed tree bustage
git-svn-id: svn://10.0.0.236/trunk@23013 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:58:50 +00:00
mscott%netscape.com
9d3ed613ec Don't link with rdf_utils. That is already linked into msglocal.lib.
git-svn-id: svn://10.0.0.236/trunk@23012 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:53:32 +00:00
mscott%netscape.com
6babebf41f Remove extraneous functions....update to use ::RegisterComponent.
git-svn-id: svn://10.0.0.236/trunk@23011 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:53:11 +00:00
troy%netscape.com
b81fd87c6f Removed some static functions that are no longer needed
git-svn-id: svn://10.0.0.236/trunk@23010 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:48:45 +00:00
mcmullen%netscape.com
470d81fb75 Trying to fix the use of streams (the offset parameter has gone).
git-svn-id: svn://10.0.0.236/trunk@23009 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:44:40 +00:00
law%netscape.com
53806f3573 Updating test case
git-svn-id: svn://10.0.0.236/trunk@23008 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:44:32 +00:00
chuang%netscape.com
759293bc9a Java script functions for shared command between mail and browser, like Communicator and Help menu
git-svn-id: svn://10.0.0.236/trunk@23007 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:43:10 +00:00
chuang%netscape.com
d6d84cff70 Java script functions for mailnews commands
git-svn-id: svn://10.0.0.236/trunk@23006 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:41:56 +00:00
chuang%netscape.com
1157593c07 Java script functions for UI widgets
git-svn-id: svn://10.0.0.236/trunk@23005 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:41:21 +00:00
mscott%netscape.com
40a3deefd3 woops....fix typo....
git-svn-id: svn://10.0.0.236/trunk@23004 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:39:46 +00:00
troy%netscape.com
a468a48e17 Added ComputePadding() member function
git-svn-id: svn://10.0.0.236/trunk@23003 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:36:59 +00:00
sfraser%netscape.com
7e33e3843a Changes to get DOM IDL compiler to build on Mac.
git-svn-id: svn://10.0.0.236/trunk@23002 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:33:35 +00:00
mscott%netscape.com
d5832e6c07 Add test code for displaying a mailbox message from a berkley mail folder.
git-svn-id: svn://10.0.0.236/trunk@23001 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:31:59 +00:00
mscott%netscape.com
c2555fd151 LoadUrl now takes a display consumer. Add functionality for reading & displaying a mailbox message.
Right now we write the message to a temp file and then run a file url on the temp file to display the message.
So mkfile handles the rfc-822 to html conversion for us...


git-svn-id: svn://10.0.0.236/trunk@23000 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:31:06 +00:00
mscott%netscape.com
2fe594628c interface change, display message now takes a message id and a message key.
git-svn-id: svn://10.0.0.236/trunk@22999 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:30:10 +00:00
mcmullen%netscape.com
0f802d5ed2 Adapt to new stream interfaces
git-svn-id: svn://10.0.0.236/trunk@22998 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:29:58 +00:00
mscott%netscape.com
db151a164a Implemented a DisplayMessage service which takes a msg id, msg key a display consumer and possibly a url listener. It builds a mailbox url and runs it. Also, nsMailboxProtocol::LoadUrl now takes the consumer as an argument..
git-svn-id: svn://10.0.0.236/trunk@22997 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:29:50 +00:00
mscott%netscape.com
61558e8f53 many changes to how we parse a url. Added ability to extract message ID and message key from the search part.
When generating the url_struct for netlib, if we are a display mailbox url, then set the byte range based on message key and message size.


git-svn-id: svn://10.0.0.236/trunk@22996 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:29:10 +00:00
sfraser%netscape.com
846a9b8069 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@22995 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:28:40 +00:00
mscott%netscape.com
539e846fce accessors for fetching a message key for the current url and a setter for setting the message size.
git-svn-id: svn://10.0.0.236/trunk@22994 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:28:23 +00:00
mscott%netscape.com
c877cb06b8 display message takes a message key and a messageID.
git-svn-id: svn://10.0.0.236/trunk@22993 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:27:58 +00:00
mcmullen%netscape.com
f90ec6e3ba Adapt to new Write()
git-svn-id: svn://10.0.0.236/trunk@22992 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:27:37 +00:00
slamm%netscape.com
ed35e74c15 Put test bookmarks at top.
git-svn-id: svn://10.0.0.236/trunk@22991 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:11:55 +00:00
rjc%netscape.com
19f8c00e28 Small cleanup to nsXULSortService.
git-svn-id: svn://10.0.0.236/trunk@22990 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:11:14 +00:00
mscott%netscape.com
2504363772 Leverage name spaces and remove rdf:id leaving just 'id'. This was causing the folder pane to come up blank....
git-svn-id: svn://10.0.0.236/trunk@22989 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:07:27 +00:00
slamm%netscape.com
1fed87b221 Simple bookmarks that launch.
git-svn-id: svn://10.0.0.236/trunk@22988 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:07:23 +00:00
mcmullen%netscape.com
adc585142d Fixing nsCOMPtr usage for unix.
git-svn-id: svn://10.0.0.236/trunk@22987 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:07:06 +00:00
slamm%netscape.com
8e97b9e85f Add some bookmarks without redirection. delete ^M's
git-svn-id: svn://10.0.0.236/trunk@22986 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:05:52 +00:00
alecf%netscape.com
7d408cc5c0 rev IDL-generated headers, won't bust on nsIID this time.
git-svn-id: svn://10.0.0.236/trunk@22985 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:05:51 +00:00
alecf%netscape.com
158065dfd1 add mozilla/compose/build/Makefile
git-svn-id: svn://10.0.0.236/trunk@22984 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:04:33 +00:00
troy%netscape.com
b2ed84683d Removed some code that's no longer needed, because mComputedPadding is now
part of the HTML reflow state


git-svn-id: svn://10.0.0.236/trunk@22983 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 00:04:24 +00:00
hyatt%netscape.com
f13c2c1cce More tweaks to broadcasters.
git-svn-id: svn://10.0.0.236/trunk@22982 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:53:01 +00:00
pavlov%pavlov.net
bb3f6aa1df proper fix
git-svn-id: svn://10.0.0.236/trunk@22981 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:52:34 +00:00
rjc%netscape.com
13142f4a98 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@22980 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:51:41 +00:00
rjc%netscape.com
cd01332f38 nsXULSortService implementation: XUL sort functionality.
git-svn-id: svn://10.0.0.236/trunk@22979 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:51:13 +00:00
despotdaemon%netscape.com
ec7933732a Pseudo-automatic update of changes made by gbeasley@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22978 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:48:18 +00:00
mcmullen%netscape.com
a801f8e296 Adding stringstreams
git-svn-id: svn://10.0.0.236/trunk@22977 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:44:22 +00:00
mcmullen%netscape.com
bda242b372 Have the right fix now, so backing out the hack.
git-svn-id: svn://10.0.0.236/trunk@22976 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:43:37 +00:00
mcmullen%netscape.com
58c3fd7fc2 Need the exports, so checking in the makefiles.
git-svn-id: svn://10.0.0.236/trunk@22975 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:41:46 +00:00
pavlov%pavlov.net
0c52e9f756 hacky fix to fix build. someone please do this correctly.
git-svn-id: svn://10.0.0.236/trunk@22974 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:41:40 +00:00
mscott%netscape.com
61ff77fdea Definition for LINEBREAK moved up into msgCore.h
git-svn-id: svn://10.0.0.236/trunk@22973 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:41:27 +00:00
mscott%netscape.com
beec466d17 Add platform specific defintions for LINEBREAK (these came from nsMsgLineBuffer)
git-svn-id: svn://10.0.0.236/trunk@22972 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:40:53 +00:00
cyeh%netscape.com
538e46343a fix pdb file generation so that the go into $(OBJDIR) and also
have more useful names other than "none.pdb". some cleanup remains.


git-svn-id: svn://10.0.0.236/trunk@22971 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:24:48 +00:00
nisheeth%netscape.com
ec4eb761d4 First commit for nsParserError struct.
git-svn-id: svn://10.0.0.236/trunk@22970 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:24:32 +00:00
syd%netscape.com
8bf9391538 Fix for 2503.
Communicate GTK_DELETE event so that higher levels can deal with the window
closure.


git-svn-id: svn://10.0.0.236/trunk@22969 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:21:51 +00:00
mcmullen%netscape.com
b9816559be Reversing the previous change. This was checked in in error.
git-svn-id: svn://10.0.0.236/trunk@22968 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:08:56 +00:00
hyatt%netscape.com
456017166d Fixed a memory leak in the broadcasters.
git-svn-id: svn://10.0.0.236/trunk@22967 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:08:34 +00:00
terry%netscape.com
0da1ca453e Check qa_contact IDs.
git-svn-id: svn://10.0.0.236/trunk@22966 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:08:23 +00:00
mcmullen%netscape.com
848546e2e8 Fix a unix warning
git-svn-id: svn://10.0.0.236/trunk@22965 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 23:00:57 +00:00
mcmullen%netscape.com
5b8c2045d8 Removed the offset parameter from the base stream interfaces. Implemented string streams.
git-svn-id: svn://10.0.0.236/trunk@22964 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:53:56 +00:00
hyatt%netscape.com
278305681e Changes to broadcasters.
git-svn-id: svn://10.0.0.236/trunk@22963 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:43:02 +00:00
alecf%netscape.com
49bedf1ec8 split up nsISupports macros into seperate files
git-svn-id: svn://10.0.0.236/trunk@22962 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:39:03 +00:00
alecf%netscape.com
932e5a5e58 oops, don't include nsID.idl, it's not being exported right now
git-svn-id: svn://10.0.0.236/trunk@22961 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:37:35 +00:00
hyatt%netscape.com
f1b078cf1c Changing the broadcaster methods to take DOM elements instead of DOM
nodes.


git-svn-id: svn://10.0.0.236/trunk@22960 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:37:24 +00:00
hyatt%netscape.com
3c2abba5dd Cleaning up some code.
git-svn-id: svn://10.0.0.236/trunk@22959 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:33:27 +00:00
wtc%netscape.com
aee1618592 Another update from the internal CVS repository /m/src.
git-svn-id: svn://10.0.0.236/trunk@22958 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:32:56 +00:00
alecf%netscape.com
0201c25604 removed lower-case version
git-svn-id: svn://10.0.0.236/trunk@22957 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:24:49 +00:00
troy%netscape.com
6bf1e58e48 Added ComputeMargin() member function that takes the containing block width
as an argument. This is necessary for absolutely positioned elements which use
the padding edge and not the content edge for the containing block


git-svn-id: svn://10.0.0.236/trunk@22956 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:24:27 +00:00
rhp%netscape.com
596b678a4c New files for XP-COM stream converter interface
git-svn-id: svn://10.0.0.236/trunk@22955 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:18:42 +00:00
slamm%netscape.com
5b89d0fbca Via irc vote, turn on 'checkins since' links even for nocrap.
git-svn-id: svn://10.0.0.236/trunk@22954 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 22:10:04 +00:00
alecf%netscape.com
2893cb0c07 fix linux -pedantic casting problems
git-svn-id: svn://10.0.0.236/trunk@22953 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:39:55 +00:00
mcmullen%netscape.com
72a74134c2 Made a function static to remove a warning.
git-svn-id: svn://10.0.0.236/trunk@22952 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:35:23 +00:00
alecf%netscape.com
f79fad04dc eliminate netlib dependancy by removing call to FE_Alert
git-svn-id: svn://10.0.0.236/trunk@22951 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:33:02 +00:00
alecf%netscape.com
adb9ab93da add OLD_MAIL_NEWS macros to eliminate libpref dependancy from libxp
git-svn-id: svn://10.0.0.236/trunk@22950 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:31:00 +00:00
ramiro%netscape.com
7ee4fc82c7 Filename was misspelled. Broke unix. Blessed by cyeh.
git-svn-id: svn://10.0.0.236/trunk@22949 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:29:26 +00:00
troy%netscape.com
cab2885013 Fixed containing block calculation for absolutely positioned elements. Now
uses padding edge and not the content edge


git-svn-id: svn://10.0.0.236/trunk@22948 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:26:49 +00:00
slamm%netscape.com
4d872e3116 Fix type and add m4 to path.
git-svn-id: svn://10.0.0.236/trunk@22947 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:26:04 +00:00
bienvenu%netscape.com
c2dcf1f296 load mail root path from prefs.js
git-svn-id: svn://10.0.0.236/trunk@22946 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:17:59 +00:00
rods%netscape.com
653fd3b694 Made sure nsIRadioGroup has been removed
git-svn-id: svn://10.0.0.236/trunk@22945 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:06:09 +00:00
cmanske%netscape.com
6987407539 Changed editor classes to inherited model. Fixed lots of destructor warnings.
git-svn-id: svn://10.0.0.236/trunk@22944 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:05:35 +00:00
cmanske%netscape.com
f6ff40c486 Change InitHTMLEditor to Init and removed EnableUndo, which is done in Init
git-svn-id: svn://10.0.0.236/trunk@22943 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:05:31 +00:00
cmanske%netscape.com
f6d9c2d5f8 Changed InitHTMLEditor to Init and removed EnableUndo, which is done in the Init
git-svn-id: svn://10.0.0.236/trunk@22942 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:05:26 +00:00
rods%netscape.com
bc22754c21 cleaned up some comment and debugging
git-svn-id: svn://10.0.0.236/trunk@22941 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:04:57 +00:00
alecf%netscape.com
d4d4126684 make clobber remove .deps directory too
git-svn-id: svn://10.0.0.236/trunk@22940 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:03:54 +00:00
mcmullen%netscape.com
859bdf20d9 Added nsIStringStream.h
git-svn-id: svn://10.0.0.236/trunk@22939 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:01:38 +00:00
mcmullen%netscape.com
1e5ac4f1d3 Make the FilesTest project build again.
git-svn-id: svn://10.0.0.236/trunk@22938 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 21:01:11 +00:00
beard%netscape.com
b0ca311028 Removed nsIRadioGroup.h (evidently obsolete?)
git-svn-id: svn://10.0.0.236/trunk@22937 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:59:34 +00:00
mcmullen%netscape.com
239f08d915 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@22936 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:55:10 +00:00
slamm%netscape.com
ca8f6c08f7 Have script write out its own .cvspass. Use '.mozconfig.sh' symbolic link for Save As
git-svn-id: svn://10.0.0.236/trunk@22935 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:53:22 +00:00
slamm%netscape.com
50b1b3d4b2 Script writes its own .cvspass now
git-svn-id: svn://10.0.0.236/trunk@22934 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:51:12 +00:00
rods%netscape.com
379cc1597f Fixed crash bug on releaseing null pointer
git-svn-id: svn://10.0.0.236/trunk@22933 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:41:37 +00:00
sdagley%netscape.com
275c0f7692 Re-checking in pinkerton's fix as the project seemed to have cached something and kept putting nsGlobalVariables.cpp back into Rescued Items every time it was opened.
git-svn-id: svn://10.0.0.236/trunk@22932 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:31:19 +00:00
hyatt%netscape.com
6068e57e94 Fixes to enable getElementById to work with HTML elements.
git-svn-id: svn://10.0.0.236/trunk@22931 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:30:13 +00:00
sar%netscape.com
cf2eed582c adding mailnews to the SeaMonkeyAll module
git-svn-id: svn://10.0.0.236/trunk@22930 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:30:02 +00:00
sar%netscape.com
4078c85c95 enabling mailnews by default
git-svn-id: svn://10.0.0.236/trunk@22929 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:29:36 +00:00
rods%netscape.com
6ffeafda85 I have removed nsRadioGroup and nsIRadioGroup and all references to it.
git-svn-id: svn://10.0.0.236/trunk@22928 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:28:16 +00:00
danm%netscape.com
cc44e7799b adding convenience makefile (not part of the normal build)
git-svn-id: svn://10.0.0.236/trunk@22927 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:25:48 +00:00
dougt%netscape.com
547cad0b24 added nsSpecialSystemDirectory to build.
git-svn-id: svn://10.0.0.236/trunk@22926 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:25:05 +00:00
danm%netscape.com
5a423eb9bb changed name of onConstruction event to onload
git-svn-id: svn://10.0.0.236/trunk@22925 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:23:19 +00:00
dougt%netscape.com
1cbb8d488d Added testcases for nsSpecialSystemDirectory. These cases are
currently turned off until mcmullen takes a look at them on the mac.


git-svn-id: svn://10.0.0.236/trunk@22924 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:21:33 +00:00
pinkerton%netscape.com
1517688bd7 handle toolbar demo sample menu command.
git-svn-id: svn://10.0.0.236/trunk@22923 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:21:25 +00:00
pinkerton%netscape.com
fcd702d820 Remove toolbar/tree demo code (which was commented out).
git-svn-id: svn://10.0.0.236/trunk@22922 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:21:14 +00:00
dougt%netscape.com
96bdde7c31 adding nsSpecialSystemDirectory.cpp to windows makefile.
Fixed MakeAllDirectory bug in nsFileSpec.cpp


git-svn-id: svn://10.0.0.236/trunk@22921 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:20:22 +00:00
pinkerton%netscape.com
460615666c export toolbar samples and css file.
git-svn-id: svn://10.0.0.236/trunk@22920 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:20:18 +00:00
pinkerton%netscape.com
edce09c3ab table for main toolbar, removing html namespace stuff, onClick->onclick
git-svn-id: svn://10.0.0.236/trunk@22919 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:19:46 +00:00
pinkerton%netscape.com
020161f824 add new toolbar sample, remove old widget samples.
git-svn-id: svn://10.0.0.236/trunk@22918 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:19:13 +00:00
pinkerton%netscape.com
b76c4a887f fix for bug #3449 (onClick should be onclick).
git-svn-id: svn://10.0.0.236/trunk@22917 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:18:59 +00:00
dougt%netscape.com
59a658730f Updating makefiles so that nsSpecialSystemDirectory.h gets exported.
git-svn-id: svn://10.0.0.236/trunk@22916 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:18:33 +00:00
pinkerton%netscape.com
7fcd6c2b23 New menus for xul tests
git-svn-id: svn://10.0.0.236/trunk@22915 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:18:25 +00:00
pinkerton%netscape.com
467f6cdca7 remove toolbar/tree stuff, add xul tests.
git-svn-id: svn://10.0.0.236/trunk@22914 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:18:05 +00:00
dougt%netscape.com
9e5d173364 Initial Checkin
git-svn-id: svn://10.0.0.236/trunk@22913 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:17:47 +00:00
pinkerton%netscape.com
6a9df86f26 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@22912 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:17:45 +00:00
dougt%netscape.com
b170bd79a4 Initial Checkin.
git-svn-id: svn://10.0.0.236/trunk@22911 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:16:47 +00:00
slamm%netscape.com
92478835cc Use symbolic link instead of rewrite rule.
git-svn-id: svn://10.0.0.236/trunk@22910 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:15:57 +00:00
rods%netscape.com
e0396140b8 Aded check for null parent to fix printing
git-svn-id: svn://10.0.0.236/trunk@22909 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:14:05 +00:00
terry%netscape.com
36da73bc23 Fixed bug 3365 -- was generating wrong statistics if there were no NEW
or no ASSIGNED bugs.


git-svn-id: svn://10.0.0.236/trunk@22908 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 20:05:53 +00:00
terry%netscape.com
0029bda371 Reformated all the code to match the rest of Bugzilla.
git-svn-id: svn://10.0.0.236/trunk@22907 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:48:26 +00:00
pinkerton%netscape.com
451990367b removed nsGlobalVariables.cpp for kipp. permission to checkin to a closed tree given to kipp by cyeh.
git-svn-id: svn://10.0.0.236/trunk@22906 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:35:01 +00:00
kipp%netscape.com
7d9aebda71 Cleanup state recomputation; fix bug # 3453 crasher; debug out some max-element-size issues
git-svn-id: svn://10.0.0.236/trunk@22905 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:25:44 +00:00
kipp%netscape.com
4717ed3aa4 nuked global variables
git-svn-id: svn://10.0.0.236/trunk@22904 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:24:45 +00:00
kipp%netscape.com
2521770fa4 Disable trim code for now; disable horizontal alignment during pass1 table reflow
git-svn-id: svn://10.0.0.236/trunk@22903 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:24:15 +00:00
kipp%netscape.com
1bd6230ab0 Remove dead global-variable nonsense
git-svn-id: svn://10.0.0.236/trunk@22902 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:23:52 +00:00
kipp%netscape.com
9d77708387 Partial fix to bug #3094
git-svn-id: svn://10.0.0.236/trunk@22901 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:23:24 +00:00
kipp%netscape.com
e24dd0c2bf Removed dead include
git-svn-id: svn://10.0.0.236/trunk@22900 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 19:23:09 +00:00
slamm%netscape.com
2ce22c6452 Avoid copying the list pointers
git-svn-id: svn://10.0.0.236/trunk@22899 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 18:08:24 +00:00
terry%netscape.com
984cd512c6 Add check to make sure versions table is OK.
git-svn-id: svn://10.0.0.236/trunk@22898 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 17:55:45 +00:00
slamm%netscape.com
6be2f1a5ba Don't use unshift because it is slow. Use push/reverse combo instead.
git-svn-id: svn://10.0.0.236/trunk@22897 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 17:14:03 +00:00
rods%netscape.com
8edb5cad46 Added ref counting to vertical scrollbar
git-svn-id: svn://10.0.0.236/trunk@22896 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:50:04 +00:00
briano%netscape.com
3d3781560b Automated update
git-svn-id: svn://10.0.0.236/trunk@22895 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:45:38 +00:00
rods%netscape.com
704f4fa587 Added where a scrolled view sets the widget for the vertical scrollbar
into the window so the window can send the vertical scrollbar the appropriate
message.


git-svn-id: svn://10.0.0.236/trunk@22894 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:41:50 +00:00
ramiro%netscape.com
019d74afca Add --enable-cpp-rtti , --enable-cpp-exceptions flags.
RTTI and exceptions are off by default on Linux.


git-svn-id: svn://10.0.0.236/trunk@22893 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:36:20 +00:00
rods%netscape.com
90e6c696a7 Major update for tracking the popping up and dropping down of menus.
Added Mouse Wheel tracking


git-svn-id: svn://10.0.0.236/trunk@22892 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:34:53 +00:00
rods%netscape.com
0bde4cee94 Fixed voidarray problem and a few other minor things
git-svn-id: svn://10.0.0.236/trunk@22891 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:33:40 +00:00
rods%netscape.com
bd3a759b8d Fixed up ref counting issues
git-svn-id: svn://10.0.0.236/trunk@22890 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:32:54 +00:00
rods%netscape.com
c713510396 Changed VoidArray to nsISupportsArray
git-svn-id: svn://10.0.0.236/trunk@22889 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:30:11 +00:00
rods%netscape.com
1a87528672 Added impl of SetVerticalScrollbar
git-svn-id: svn://10.0.0.236/trunk@22888 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:25:24 +00:00
rods%netscape.com
1af1e7d436 Added new method "SetVerticalScrollbar"
git-svn-id: svn://10.0.0.236/trunk@22887 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:25:21 +00:00
kipp%netscape.com
3f13e4f864 nuked
git-svn-id: svn://10.0.0.236/trunk@22886 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:23:46 +00:00
kipp%netscape.com
2095143fa1 Removed ref to dead nsFrameReflowState
git-svn-id: svn://10.0.0.236/trunk@22885 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:22:03 +00:00
edwin%woudt.nl
43b7410fae I'm backing out the changes to use the provider registry for now, because of problems. We should investigate this!
git-svn-id: svn://10.0.0.236/trunk@22884 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:16:09 +00:00
dcone%netscape.com
41675a0381 Update the surfaces to include graphics state
git-svn-id: svn://10.0.0.236/trunk@22883 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 14:48:44 +00:00
rpotts%netscape.com
169729d0bb changed all references to getElementByID(...) into getElementById(...). This fixed the URL typein bar...
git-svn-id: svn://10.0.0.236/trunk@22882 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 11:38:40 +00:00
waterson%netscape.com
af04e281fe Added nsRDFInterfaces.h to EXPORTS.
git-svn-id: svn://10.0.0.236/trunk@22881 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 11:12:58 +00:00
waterson%netscape.com
6a06193da5 Added C++-specific #include of nscore.h to make sure that PRUnichar gets included.
git-svn-id: svn://10.0.0.236/trunk@22880 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 11:12:24 +00:00
waterson%netscape.com
700e04eda4 Initial revision. Generated from nsRDFInterfaces.idl.
git-svn-id: svn://10.0.0.236/trunk@22879 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 10:55:04 +00:00
waterson%netscape.com
a68b77b40b Initial revision. Generated from nsRDFInterfaces.idl.
git-svn-id: svn://10.0.0.236/trunk@22878 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 10:49:13 +00:00
waterson%netscape.com
9492eb4357 Removed individual interface files for now, and plugged everything into nsRDFInterfaces.idl.
git-svn-id: svn://10.0.0.236/trunk@22877 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 10:48:07 +00:00
pierre%netscape.com
02557cd6d4 Fix #3408 "When mousedown, mousemoves should all go to same widget"
git-svn-id: svn://10.0.0.236/trunk@22876 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 10:04:07 +00:00
pierre%netscape.com
d711f26063 Improved SetCursor() to use the Appearance Mgr
git-svn-id: svn://10.0.0.236/trunk@22875 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 10:02:16 +00:00
pierre%netscape.com
a9a81bed98 Added nsToolkit::HasAppearanceManager()
git-svn-id: svn://10.0.0.236/trunk@22874 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 10:01:07 +00:00
mcafee%netscape.com
aee2bf8765 Fixing enums for the Solaris 5.0 compiler, thanks to Tim McNerney <mumbly@netcom.com> for this change.
git-svn-id: svn://10.0.0.236/trunk@22873 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 09:29:52 +00:00
grail%cafebabe.org
2cb1be4194 Signature storage into prefs.
git-svn-id: svn://10.0.0.236/trunk@22872 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 09:06:36 +00:00
grail%cafebabe.org
bb0a72c8b7 Removed old references to AWT file chooser. We're never going back there.
git-svn-id: svn://10.0.0.236/trunk@22871 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 09:06:16 +00:00
saari%netscape.com
8979faf55a Fixing menus on Win32
git-svn-id: svn://10.0.0.236/trunk@22870 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 07:31:54 +00:00
bienvenu%netscape.com
761756c428 fix folder info uint32 handling
git-svn-id: svn://10.0.0.236/trunk@22869 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 07:23:24 +00:00
saari%netscape.com
71cb6461a1 Fixing IID() to GetIID() to fix warren's bustage
git-svn-id: svn://10.0.0.236/trunk@22868 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 07:02:27 +00:00
leaf%mozilla.org
f88b33e5c1 ok, this time for sure, fixing mozbot.
git-svn-id: svn://10.0.0.236/trunk@22867 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:28:58 +00:00
leaf%mozilla.org
4e45aa3274 making the bot's given nick (an argument) global, because i'm evil.
git-svn-id: svn://10.0.0.236/trunk@22866 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:19:28 +00:00
warren%netscape.com
2395acaf74 Fixed up Advance methods.
git-svn-id: svn://10.0.0.236/trunk@22865 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:12:47 +00:00
warren%netscape.com
dde7c45373 Removed obsolete mail folder installation.
git-svn-id: svn://10.0.0.236/trunk@22864 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:09:43 +00:00
warren%netscape.com
fca11f6c47 Removed obsolete mail folder installation.
git-svn-id: svn://10.0.0.236/trunk@22863 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:03:36 +00:00
rjc%netscape.com
84f2cdbbb7 Only have one arc (a child) going out, otherwise duplicates! Also commented out NS_INIT_REFCNT() due to weirdness.
git-svn-id: svn://10.0.0.236/trunk@22862 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:03:03 +00:00
troy%netscape.com
ab4b858697 Fixed HTML to be correct: CAPTION must be at start of table, and TFOOT must be
before any body section row groups


git-svn-id: svn://10.0.0.236/trunk@22861 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:02:11 +00:00
troy%netscape.com
a759e230cf Table header/footer are repeated when splitting tables
git-svn-id: svn://10.0.0.236/trunk@22860 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 06:00:40 +00:00
warren%netscape.com
7e12e54f21 Added prlog tracing code. Fixed some error codes. Fixed DBArcsInOutCursor::Advance to check for failure on GetValue.
git-svn-id: svn://10.0.0.236/trunk@22859 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 05:59:02 +00:00
warren%netscape.com
4fee15d393 Fixed First method to return error.
git-svn-id: svn://10.0.0.236/trunk@22858 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 05:48:21 +00:00
sdagley%netscape.com
41a3b015d5 Fix bug #3405. Thanks to sfraser's research we discovered that there was a nasty problem caused by mactime.c including xp_mcom.h (added by brade on 3/3) causing ctime to be redefined as macctime. This is bad since macctime calls ctime (can you say recursion, recusrion, recusrsion...). Fix was to add an #undef for ctime after including xp_mcom.h and sacrificing a purple dinosaur.
git-svn-id: svn://10.0.0.236/trunk@22857 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 05:39:20 +00:00
rjc%netscape.com
ab4a1fe960 Fix bug 3401: aliases to shared libraries which auto-register need to be placed inside of a "components" directory (which itself needs to exist in the same directory as apprunner/viewer). Review/approval: sdagley
git-svn-id: svn://10.0.0.236/trunk@22856 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 05:09:04 +00:00
mcafee%netscape.com
ee18b1bc83 Uninitialized variables
git-svn-id: svn://10.0.0.236/trunk@22855 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:40:14 +00:00
kipp%netscape.com
00c7d42996 Use proper new/delete operators
git-svn-id: svn://10.0.0.236/trunk@22854 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:36:00 +00:00
kipp%netscape.com
54765b7652 Stop linking with other libraries to avoid finding symbols with dlsym that we don't want to find
git-svn-id: svn://10.0.0.236/trunk@22853 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:35:49 +00:00
kipp%netscape.com
fb97ac8491 Clean up query-interface; attempt to work around bug (failed; left some commentary in to help the netlib crew)
git-svn-id: svn://10.0.0.236/trunk@22852 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:35:37 +00:00
kipp%netscape.com
b76038d16c Use proper new operator
git-svn-id: svn://10.0.0.236/trunk@22851 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:33:57 +00:00
kipp%netscape.com
f73b4b8971 use new nsHTMLReflowState ctors
git-svn-id: svn://10.0.0.236/trunk@22850 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:29:11 +00:00
kipp%netscape.com
001a19082a Eliminate some compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22849 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:28:54 +00:00
kipp%netscape.com
c9fd8c7538 Output rects in twips; eliminated some typo bugs with selection directions
git-svn-id: svn://10.0.0.236/trunk@22848 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:28:40 +00:00
kipp%netscape.com
399ce5dd64 use new nsHTMLReflowState ctors; made pages support IsPercentageBase
git-svn-id: svn://10.0.0.236/trunk@22847 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:28:07 +00:00
kipp%netscape.com
3a72fd18c3 Output rects in twips
git-svn-id: svn://10.0.0.236/trunk@22846 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:26:40 +00:00
kipp%netscape.com
65edef0640 Refactored code to make effecient use of computed state in nsHTMLReflowState
git-svn-id: svn://10.0.0.236/trunk@22845 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:26:21 +00:00
kipp%netscape.com
15c4920b73 use computed values from reflow state; made inline-reflow-state no longer isa html-reflow-state
git-svn-id: svn://10.0.0.236/trunk@22844 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:25:57 +00:00
kipp%netscape.com
f90b774ae9 Store more computed state; reformulated the constructors for nsHTMLReflowState
git-svn-id: svn://10.0.0.236/trunk@22843 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:25:25 +00:00
kipp%netscape.com
3bdcb1e967 Revised computations for blocks; store more computed values
git-svn-id: svn://10.0.0.236/trunk@22842 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:24:20 +00:00
kipp%netscape.com
44c66a325c Spanked almost away
git-svn-id: svn://10.0.0.236/trunk@22841 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:23:41 +00:00
kipp%netscape.com
bad84e485e Removed dead code; output rects naturally
git-svn-id: svn://10.0.0.236/trunk@22840 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:22:54 +00:00
kipp%netscape.com
e8c1baf1a5 Removed List method
git-svn-id: svn://10.0.0.236/trunk@22839 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:22:29 +00:00
kipp%netscape.com
4dfe8022be Minor tweaks to work better with computed values in html reflow state
git-svn-id: svn://10.0.0.236/trunk@22838 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:22:11 +00:00
kipp%netscape.com
bcf95a83f5 nsBlockReflowState no longer is-a nsHTMLReflowState; fixes to numerous bugs; reworked to use computed values from reflow-state
git-svn-id: svn://10.0.0.236/trunk@22837 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:21:32 +00:00
mcafee%netscape.com
2a7cf46dd3 Uninitialized variables
git-svn-id: svn://10.0.0.236/trunk@22836 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:20:54 +00:00
kipp%netscape.com
9c5a7c3cee Some asserts for me
git-svn-id: svn://10.0.0.236/trunk@22835 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:20:31 +00:00
kipp%netscape.com
e72cc15886 Support more css style for hr's; map align to auto margins
git-svn-id: svn://10.0.0.236/trunk@22834 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:20:07 +00:00
kipp%netscape.com
b4d19704fd use new nsHTMLReflowState ctors
git-svn-id: svn://10.0.0.236/trunk@22833 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:19:09 +00:00
kipp%netscape.com
6ef266bc6c Cleaned up margins hackery and made things use css instead of evil code in the block layout code
git-svn-id: svn://10.0.0.236/trunk@22832 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:18:58 +00:00
kipp%netscape.com
0b37e12e30 Removed constructors for nsReflowState
git-svn-id: svn://10.0.0.236/trunk@22831 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:17:00 +00:00
ftang%netscape.com
eb77f0eb37 add iso-8859-7 and windows-1253
git-svn-id: svn://10.0.0.236/trunk@22830 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:11:25 +00:00
bienvenu%netscape.com
a488d0f3fc add factory method, remove oid parameter to match real mdb
git-svn-id: svn://10.0.0.236/trunk@22829 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 03:29:41 +00:00
bienvenu%netscape.com
65d1575b3b try to fix time stamp and stat routines so we can re-open existing db's
git-svn-id: svn://10.0.0.236/trunk@22828 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 03:28:34 +00:00
bienvenu%netscape.com
ee28f1915e add rdf to the stupid mailbox parsing test app
git-svn-id: svn://10.0.0.236/trunk@22827 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 03:25:51 +00:00
rjc%netscape.com
108021ada8 Changes to autoregister the file system datasource (broken due to Warren's earlier changes.)
git-svn-id: svn://10.0.0.236/trunk@22826 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 03:22:51 +00:00
bienvenu%netscape.com
fe85c4dab4 add morkConfig to makefile
git-svn-id: svn://10.0.0.236/trunk@22825 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 02:49:36 +00:00
pavlov%pavlov.net
229469c47e start fixing file selector, fix menus under apprunner, fix font setting for
widgets.


git-svn-id: svn://10.0.0.236/trunk@22824 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 02:48:43 +00:00
slamm%netscape.com
4b94d0dfe4 Speed it up right.
git-svn-id: svn://10.0.0.236/trunk@22823 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:57:13 +00:00
cmanske%netscape.com
1d5ae5c42a This fixes build bustage if you are using nglayout.mak (editor must be built after htmlparser)
git-svn-id: svn://10.0.0.236/trunk@22822 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:54:22 +00:00
edwin%woudt.nl
97812d1705 The last step in updating the docs.
git-svn-id: svn://10.0.0.236/trunk@22821 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:48:15 +00:00
michaelp%netscape.com
3b152094ca added return code check WRT off screen surface allocation.
part of mac fixes.


git-svn-id: svn://10.0.0.236/trunk@22820 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:43:06 +00:00
slamm%netscape.com
6c1bce143c Uhoh, change wasn't ready for prime-time. backout.
git-svn-id: svn://10.0.0.236/trunk@22819 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:33:38 +00:00
edwin%woudt.nl
ee4e4ad487 Updated build docs
git-svn-id: svn://10.0.0.236/trunk@22818 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:26:30 +00:00
slamm%netscape.com
e702ebfd8d Speed up data reading. Read it backwards and only as much as needed.
git-svn-id: svn://10.0.0.236/trunk@22817 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:25:23 +00:00
edwin%woudt.nl
ba1c568fb4 Updated lib dependencies
git-svn-id: svn://10.0.0.236/trunk@22816 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:18:23 +00:00
slamm%netscape.com
44504c8755 Stick /opt/cvs-tools/bin on the path for cvs on cvs-mirror.
git-svn-id: svn://10.0.0.236/trunk@22815 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 01:03:33 +00:00
slamm%netscape.com
f53189a4ae add a comment
git-svn-id: svn://10.0.0.236/trunk@22814 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:48:35 +00:00
slamm%netscape.com
b36d37e499 Try to create a subdir.
git-svn-id: svn://10.0.0.236/trunk@22813 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:44:17 +00:00
despotdaemon%netscape.com
6d014280f1 Pseudo-automatic update of changes made by sgehani@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22812 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:33:08 +00:00
hyatt%netscape.com
b528dce697 Adding XUL attributes to the project.
git-svn-id: svn://10.0.0.236/trunk@22811 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:32:18 +00:00
slamm%netscape.com
27a6125dd9 Need a cvs login for checking out configure.in
git-svn-id: svn://10.0.0.236/trunk@22810 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:23:57 +00:00
hyatt%netscape.com
15eb16c4b7 Fix for the Mac crash.
git-svn-id: svn://10.0.0.236/trunk@22809 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:20:10 +00:00
hyatt%netscape.com
79d6609992 Fixes to layout to allow nsHTMLCSSStyleSheet to be instantiable from outside
the layout DLL.


git-svn-id: svn://10.0.0.236/trunk@22808 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:06:31 +00:00
edwin%woudt.nl
8708ff3f6a Backed out mauros changes until they get fixed.
git-svn-id: svn://10.0.0.236/trunk@22807 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:04:48 +00:00
hyatt%netscape.com
68339f3d58 Fix to allow nsHTMLCSSStyleSheet to be instantiable.
git-svn-id: svn://10.0.0.236/trunk@22806 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:04:04 +00:00
hyatt%netscape.com
c5fb807561 Fix to the RFind method of nsString.
git-svn-id: svn://10.0.0.236/trunk@22805 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:03:46 +00:00
hyatt%netscape.com
b67c7ebb6b Fixing the split of the attribute name (into a URI and an ID).
git-svn-id: svn://10.0.0.236/trunk@22804 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:03:30 +00:00
hyatt%netscape.com
571769ba85 Changes to the content sink to make sure attributes are not converted to lower case
and to make sure attributes are put into the correct namespace.


git-svn-id: svn://10.0.0.236/trunk@22803 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:02:33 +00:00
hyatt%netscape.com
1db9fb2927 Regenerated the IDL for the XUlDocument. Changed getElementById to return
an element (and to have a lowercase d) for consistency with the HTML document
method of the same name.


git-svn-id: svn://10.0.0.236/trunk@22802 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:02:00 +00:00
hyatt%netscape.com
29dfb19d4e Many bug fixes to the RDF content model including namespace changes and
style support.


git-svn-id: svn://10.0.0.236/trunk@22801 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:01:26 +00:00
hyatt%netscape.com
d37bec4951 Modified the makefiles to handle the new XUL attribute class.
git-svn-id: svn://10.0.0.236/trunk@22800 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:00:56 +00:00
hyatt%netscape.com
a8fd6e7560 Committing the new attribute class for the handling of XUL attributes.
git-svn-id: svn://10.0.0.236/trunk@22799 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 00:00:40 +00:00
hyatt%netscape.com
37b30b463e generic attribute is going away in favor of a XUL-specific attribute class.
git-svn-id: svn://10.0.0.236/trunk@22798 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 23:59:57 +00:00
slamm%netscape.com
f54f68aef9 Pull configure.in in subdir, configure-mirror.
git-svn-id: svn://10.0.0.236/trunk@22797 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 23:53:38 +00:00
despotdaemon%netscape.com
7dbb8763e1 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22796 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 23:49:05 +00:00
kin%netscape.com
1caf25fce0 Fix win32 build bustage. The editor directory is now built after the htmlparser directory.
git-svn-id: svn://10.0.0.236/trunk@22795 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 23:43:23 +00:00
slamm%netscape.com
4aed7b0f83 Retire the old 'express' code. Also reduce the default hours from 36 down to 12.
git-svn-id: svn://10.0.0.236/trunk@22794 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 23:41:02 +00:00
evaughan%netscape.com
45aec1474e Fixed a bug that caused TitledButtons and ProgressMeters to be skews when made inline.
git-svn-id: svn://10.0.0.236/trunk@22793 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 23:39:06 +00:00
evaughan%netscape.com
86a935fe8b Fixed buttons in apprunner so there borders appear when moved over.
git-svn-id: svn://10.0.0.236/trunk@22792 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 23:36:12 +00:00
edwin%woudt.nl
60335641a1 A few weeks earlier I fixed a bug that the whole class was synchronized. I just removed it. A few methods however should have been synchronized instead. I've done that now.
git-svn-id: svn://10.0.0.236/trunk@22791 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 22:31:34 +00:00
briano%netscape.com
b391febd29 Automated update
git-svn-id: svn://10.0.0.236/trunk@22790 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 22:30:40 +00:00
scc%netscape.com
2f7394142e make HAVE_CPP_NEW_CASTS stronger for bug in Solaris/CC
git-svn-id: svn://10.0.0.236/trunk@22789 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 22:22:14 +00:00
akkana%netscape.com
a535f86c0d Add displaytext/displayhtml to gtk menu. This is part of kostello's change, approved by sar
git-svn-id: svn://10.0.0.236/trunk@22788 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:59:13 +00:00
sfraser%netscape.com
da5c3ac0d9 Project change for kostello, approved sar. New link dependency on htmlParser.shlb
git-svn-id: svn://10.0.0.236/trunk@22787 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:57:59 +00:00
sfraser%netscape.com
40ba827e51 Project checkin for kostello, approved sar. Added nsHTMLToTXTSinkStream.cpp.
git-svn-id: svn://10.0.0.236/trunk@22786 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:55:26 +00:00
kostello%netscape.com
575a96dca1 Added Implementations for OutputHTML and OutputTXT
git-svn-id: svn://10.0.0.236/trunk@22785 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:53:42 +00:00
kostello%netscape.com
1d257371a8 Added new sink that outputs a Text stream instead of
an HTML stream.


git-svn-id: svn://10.0.0.236/trunk@22784 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:52:57 +00:00
despotdaemon%netscape.com
825e4caa13 Pseudo-automatic update of changes made by sgehani@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22783 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:52:21 +00:00
despotdaemon%netscape.com
570e36e2b8 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22782 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:50:49 +00:00
kostello%netscape.com
a484974367 Added Debug Output HTML and Debug Output Text
Note: these only work in editor mode.


git-svn-id: svn://10.0.0.236/trunk@22781 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:50:44 +00:00
slamm%netscape.com
820d265112 Add 'express_fast' which is a much faster than 'express'. Uses Backwards.pm. This will probably replace 'express'.
git-svn-id: svn://10.0.0.236/trunk@22780 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:46:07 +00:00
despotdaemon%netscape.com
b13907ba45 Pseudo-automatic update of changes made by sgehani@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22779 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 21:27:13 +00:00
terry%netscape.com
de0928b4a1 Added "Grendel".
git-svn-id: svn://10.0.0.236/trunk@22778 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 20:37:25 +00:00
mscott%netscape.com
45559f72cb Don't add a null urllistener...
git-svn-id: svn://10.0.0.236/trunk@22777 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 20:10:20 +00:00
despotdaemon%netscape.com
35a6891c11 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22776 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 20:07:22 +00:00
ducarroz%netscape.com
e389dcf261 no comment
git-svn-id: svn://10.0.0.236/trunk@22775 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 19:43:28 +00:00
ducarroz%netscape.com
4b14c18672 Add the function NewMessage to popup the compose window.
git-svn-id: svn://10.0.0.236/trunk@22774 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 19:33:55 +00:00
gordon%netscape.com
56df6d033f Bug fix for #3410 & #3403 by Simon Fraser, reviewed by Gordon Sheridan. Stop leaking UPPs everytime we do a file read.
git-svn-id: svn://10.0.0.236/trunk@22773 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 19:27:19 +00:00
fur%netscape.com
48762f0205 Add Object.registerNatives() dummy stub.
git-svn-id: svn://10.0.0.236/trunk@22772 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 19:17:24 +00:00
fur%netscape.com
15fdcab054 Artur Biasiaodowski's patch so that instruction immediates print out correctly.
git-svn-id: svn://10.0.0.236/trunk@22771 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 19:06:31 +00:00
bienvenu%netscape.com
aed8a4d01f add a couple cursors
git-svn-id: svn://10.0.0.236/trunk@22770 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 15:58:52 +00:00
putterman%netscape.com
396c97c1be Need to register the datasource.
git-svn-id: svn://10.0.0.236/trunk@22769 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 05:24:12 +00:00
briano%netscape.com
ea7eb46d00 Patched for QNX by Jerry.Kirk@Nexwarecorp.com.
git-svn-id: svn://10.0.0.236/trunk@22768 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 05:10:45 +00:00
putterman%netscape.com
606cc3c5ed changed id to rdf:id
git-svn-id: svn://10.0.0.236/trunk@22767 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 05:03:32 +00:00
briano%netscape.com
68f6e9c649 Minor change to make it acceptable to QNX.
git-svn-id: svn://10.0.0.236/trunk@22766 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 05:02:09 +00:00
talisman%anamorphic.com
07d8ae14ef Added by Mauro Botelho - we are now building addressbook gui from xml.
git-svn-id: svn://10.0.0.236/trunk@22765 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 04:14:09 +00:00
talisman%anamorphic.com
336e3f2ec9 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@22764 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 04:13:07 +00:00
alecf%netscape.com
c4f27f980d remove FE_Alert to remove dependancy on netlib
git-svn-id: svn://10.0.0.236/trunk@22763 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 03:11:59 +00:00
slamm%netscape.com
1f2bcbebf5 Add ability to reread options. Still need to modify a few of them (nspr, with pthreads, debug, checkout options) before anyone uses this feature.
git-svn-id: svn://10.0.0.236/trunk@22762 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 03:07:50 +00:00
rjc%netscape.com
b668b7ec9b Now store pathnames as strings which prevents nr_MacAliasFromPath() from ever being called (it was being passed a Unix path when it really wanted a Mac path anyway). Also, autoregistration now looks inside the "components" directory (which is in the same folder as the program.) Also, bumped up registry version # due to change. Also, at startup, when building up list of arguments, check argv[0] against NULL as it might be (on the Mac).
git-svn-id: svn://10.0.0.236/trunk@22761 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 03:01:33 +00:00
mscott%netscape.com
3b3c01c8bc Changes for naoki to implement SetDocumentCharset.
git-svn-id: svn://10.0.0.236/trunk@22760 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 02:02:12 +00:00
briano%netscape.com
cf07d498ba Now it'll be able to capture all of CVS's output instead of just stdout.
git-svn-id: svn://10.0.0.236/trunk@22759 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 01:53:23 +00:00
alecf%netscape.com
eaf4267034 make this test compile on unix
git-svn-id: svn://10.0.0.236/trunk@22758 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 01:40:40 +00:00
alecf%netscape.com
cb9b4dedc6 forgot to include nsUInt32Array.cpp in this library!
git-svn-id: svn://10.0.0.236/trunk@22757 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 01:40:03 +00:00
alecf%netscape.com
ada6d5ba21 fully resolve all symbols and make the base mailnews library a component
git-svn-id: svn://10.0.0.236/trunk@22756 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 01:39:36 +00:00
alecf%netscape.com
2fb77ae582 only build tests when ENABLE_TESTS (i.e. --enable-tests) is turned on
git-svn-id: svn://10.0.0.236/trunk@22755 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 01:36:25 +00:00
terry%netscape.com
530633b1ad "regenerate" was busted.
git-svn-id: svn://10.0.0.236/trunk@22754 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 01:22:27 +00:00
terry%netscape.com
348f970a15 Do the grand component/product renaming.
git-svn-id: svn://10.0.0.236/trunk@22753 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 01:12:31 +00:00
mscott%netscape.com
cb4aefdcb9 part of scc's merge: change interface calls to IID() to GetIID().
git-svn-id: svn://10.0.0.236/trunk@22752 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 00:57:51 +00:00
mscott%netscape.com
4376db8133 part of scc's merge: change IID() calls to GetIID().
git-svn-id: svn://10.0.0.236/trunk@22751 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-04 00:44:05 +00:00
scc%netscape.com
033c58f132 rename |IID()| --> |GetIID()|
git-svn-id: svn://10.0.0.236/trunk@22750 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 23:03:34 +00:00
terry%netscape.com
04e2508b2a Added a "component/product" sanity check.
git-svn-id: svn://10.0.0.236/trunk@22749 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 22:55:36 +00:00
mscott%netscape.com
37569d2d56 attribute name space changes.
git-svn-id: svn://10.0.0.236/trunk@22748 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 21:59:04 +00:00
mscott%netscape.com
0d254799fe attribute name space changes. Spell start up correctly.
git-svn-id: svn://10.0.0.236/trunk@22747 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 21:56:48 +00:00
terry%netscape.com
4240a2d4ca Oops; forgot description for "Apprunner".
git-svn-id: svn://10.0.0.236/trunk@22746 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 21:21:31 +00:00
terry%netscape.com
51e61e5d03 Added "Apprunner".
git-svn-id: svn://10.0.0.236/trunk@22745 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 21:19:33 +00:00
scc%netscape.com
817f56596f rename |IID()| --> |GetIID()|
git-svn-id: svn://10.0.0.236/trunk@22744 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 19:48:57 +00:00
mscott%netscape.com
c09668ebed Fix build breakage by defining SetDocumentCharSet which was added to nsIDOMAppCore.
git-svn-id: svn://10.0.0.236/trunk@22743 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 18:47:16 +00:00
mscott%netscape.com
64dd7f377a Fix build breakage by adding SetDocumentCharset function which was added to nIDOMMsgAppCore.
git-svn-id: svn://10.0.0.236/trunk@22742 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 18:44:12 +00:00
buster%netscape.com
8ee6a7d6a6 added editor module (#define NS_ERROR_MODULE_EDITOR )
git-svn-id: svn://10.0.0.236/trunk@22741 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 18:30:09 +00:00
terry%netscape.com
d5426845f8 Added a "disallownew" field to the products table. If non-zero, then
don't let people file new bugs against this product.  (This is for when a
product is retired, but you want to keep the bug reports around for posterity.)


git-svn-id: svn://10.0.0.236/trunk@22740 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 18:16:24 +00:00
mscott%netscape.com
5bd6463a64 Updates to restore commands by changing Onclick to onclick. Also fixed the syntax error in the openURL call that was preventing the LoadMsg button from working.
git-svn-id: svn://10.0.0.236/trunk@22739 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 18:11:53 +00:00
alecf%netscape.com
4efe12e3f7 onClick -> onclick
git-svn-id: svn://10.0.0.236/trunk@22738 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 17:48:34 +00:00
pinkerton%netscape.com
a60bed6b62 don't look in xul namespace for "src" attribute. Images show up again. permission to checkin to closed tree by sar.
git-svn-id: svn://10.0.0.236/trunk@22737 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 17:28:27 +00:00
val4%cornell.edu
b9e50b7bfe Suport module for jsperl.c. It's not intended for use from Perl.
git-svn-id: svn://10.0.0.236/trunk@22736 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 16:42:57 +00:00
troy%netscape.com
2c9f8c326c Work-in-progress for table pagination
git-svn-id: svn://10.0.0.236/trunk@22735 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 16:33:57 +00:00
dcone%netscape.com
583e3dd616 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@22734 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 15:46:43 +00:00
brade%netscape.com
9a1dd1f7df add static to ConsumeConditional to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22733 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 15:37:27 +00:00
brade%netscape.com
65a77a958a add static to two functions and a compare to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22732 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 15:36:42 +00:00
brade%netscape.com
3df52d033c reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22731 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 15:35:49 +00:00
brade%netscape.com
5ac6f5b4a8 remove unused local variable in #ifdef XP_MAC section
git-svn-id: svn://10.0.0.236/trunk@22730 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 15:29:56 +00:00
brade%netscape.com
8cab29de0c add static to 2 functions to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22729 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 15:28:43 +00:00
rods%netscape.com
8ab43c6e54 Added static IID() method
git-svn-id: svn://10.0.0.236/trunk@22728 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 15:17:33 +00:00
brade%netscape.com
f51a003d2b add static to 2 functions to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22727 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:54:48 +00:00
brade%netscape.com
501edd5e13 add static to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22726 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:54:20 +00:00
brade%netscape.com
b48a462046 add "static" to HandleRobotEvent and HandleSiteEvent to reduce compiler warnings on Macintosh
git-svn-id: svn://10.0.0.236/trunk@22725 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:53:39 +00:00
brade%netscape.com
115b5fd0fb reduce compiler warnings on Macintosh by adding comparison in loop (around assignments)
git-svn-id: svn://10.0.0.236/trunk@22724 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:50:41 +00:00
brade%netscape.com
4aa447a575 add static to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22723 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:47:48 +00:00
brade%netscape.com
a97cdf9aba add curly braces to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22722 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:47:18 +00:00
brade%netscape.com
3eb66d6cd6 add static to 4 functions to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22721 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:44:02 +00:00
brade%netscape.com
95d563e707 add static to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22720 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:37:04 +00:00
brade%netscape.com
129375e2ec *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@22719 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:35:06 +00:00
brade%netscape.com
bf6e876ffb reduce compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22718 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 14:31:00 +00:00
ramiro%netscape.com
bd55e1a422 Unhardcode nspr libs.
git-svn-id: svn://10.0.0.236/trunk@22717 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 13:35:52 +00:00
edwin%woudt.nl
b8371710b9 Patch from Morgan Schweers <morgan@vixen.com> to directly edit the From: header in the composition window. We need to add an advanced configuration option to turn this on, because otherwise not-so-clueful users might make mistakes. It'll stay here for now
git-svn-id: svn://10.0.0.236/trunk@22716 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 11:18:50 +00:00
edwin%woudt.nl
64e95c338b We don't want to send the whole path, just the filename.
git-svn-id: svn://10.0.0.236/trunk@22715 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 11:01:22 +00:00
edwin%woudt.nl
6ee1a4f682 For adding attachments a swing JFileChooser is now displayed instead of the AWT FileDialog
git-svn-id: svn://10.0.0.236/trunk@22714 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 10:47:40 +00:00
edwin%woudt.nl
33ab54f1dc Patches from Thomas Down <thomas.down@tri.ox.ac.uk> for better attachment sending handling.
git-svn-id: svn://10.0.0.236/trunk@22713 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 10:46:57 +00:00
edwin%woudt.nl
fe009e1c51 Moving Constants from grendel.storage to grendel.util. Also a little bit of cleaning up on this subject.
git-svn-id: svn://10.0.0.236/trunk@22712 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 10:10:23 +00:00
edwin%woudt.nl
fcf0c79e84 Message deletion works
git-svn-id: svn://10.0.0.236/trunk@22711 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 10:03:06 +00:00
mcafee%netscape.com
df71a67b17 Removing tests that link with components, we need to dlopen() these libraries and not link with them.
git-svn-id: svn://10.0.0.236/trunk@22710 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 09:17:32 +00:00
pierre%netscape.com
37d4d179e6 fix last part of #2336 "Miscellaneous cosmetic problems with scrollbars"
git-svn-id: svn://10.0.0.236/trunk@22709 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 09:05:50 +00:00
pierre%netscape.com
95a3f47239 fix funny button hilites that happened when moving quickly the mouse after doing a dragWindow
git-svn-id: svn://10.0.0.236/trunk@22708 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 09:04:42 +00:00
pierre%netscape.com
72f155cfdc fix #3358 "Missed mouse up events cause chaos"
fix double-clicks in buttons


git-svn-id: svn://10.0.0.236/trunk@22707 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 09:02:54 +00:00
pierre%netscape.com
70413d9059 fix #3358 "Missed mouse up events cause chaos"
git-svn-id: svn://10.0.0.236/trunk@22706 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 09:01:58 +00:00
pierre%netscape.com
c5ce5f5263 updated some comments about nsIWindow
git-svn-id: svn://10.0.0.236/trunk@22705 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 09:00:44 +00:00
rickg%netscape.com
6bea38145b ifdef expat until more testing can be done
git-svn-id: svn://10.0.0.236/trunk@22704 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 08:55:23 +00:00
rickg%netscape.com
26bb7f0161 enabled expat in parsing engine
git-svn-id: svn://10.0.0.236/trunk@22703 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 08:34:23 +00:00
waterson%netscape.com
d97c4079fb Cleaned up OnSetAttribute() and OnRemoveAttribute() to only listen on elements in the tree. Special-cased the 'open' attribute on a xul:treeitem to construct and destroy treechildren as its value is set and unset.
git-svn-id: svn://10.0.0.236/trunk@22702 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 08:10:20 +00:00
waterson%netscape.com
88fe4eb36c Cleaned up OnSetAttribute() and OnRemoveAttribute() to only listen on elements in the XUL document. Renamed the 'contentsgenerated' attribute to 'xulcontentsgenerated' to differentiate from the tree builder's stuff. Made this actually work.
git-svn-id: svn://10.0.0.236/trunk@22701 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 08:09:21 +00:00
waterson%netscape.com
0de97e73ef Removed tree-specific open and close code. This is now in the nsRDFTreeBuilder, where it belongs.
git-svn-id: svn://10.0.0.236/trunk@22700 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 08:07:10 +00:00
waterson%netscape.com
e26551151b Modified tree double-click handler to use DOM APIs instead of nsIContent.
git-svn-id: svn://10.0.0.236/trunk@22699 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 08:05:32 +00:00
beard%netscape.com
9947d53238 struct -> class
git-svn-id: svn://10.0.0.236/trunk@22698 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 06:10:58 +00:00
rhp%netscape.com
5043661316 More cleanup for stream conveter interface.
git-svn-id: svn://10.0.0.236/trunk@22697 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 05:58:00 +00:00
rhp%netscape.com
f4a97dd7af Changes for new XP-COM interface for stream converters.
git-svn-id: svn://10.0.0.236/trunk@22696 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 05:45:55 +00:00
rhp%netscape.com
62ba78eb1d New files for XP-COM stream converter interface.
git-svn-id: svn://10.0.0.236/trunk@22695 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 05:36:20 +00:00
bienvenu%netscape.com
c41d98b442 fix build bustage courtesy of the nsCOMPtr team
git-svn-id: svn://10.0.0.236/trunk@22694 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 05:13:21 +00:00
beard%netscape.com
a1c27dc778 resolving aliases.
git-svn-id: svn://10.0.0.236/trunk@22693 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 04:11:15 +00:00
beard%netscape.com
6ef5b7280e rewrote SetUpPluginInstance to use GetPluginFactory.
git-svn-id: svn://10.0.0.236/trunk@22692 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 04:10:54 +00:00
beard%netscape.com
320d4de322 moved NS_CALLBACK to nsCom.h.
git-svn-id: svn://10.0.0.236/trunk@22691 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 04:09:33 +00:00
beard%netscape.com
7b32613a59 Added NS_CALLBACK macro for standard callback APIs
git-svn-id: svn://10.0.0.236/trunk@22690 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 04:09:11 +00:00
evaughan%netscape.com
c0c44744db Fixed mac event bug.
Fixed alignment bug.


git-svn-id: svn://10.0.0.236/trunk@22689 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 04:04:48 +00:00
waterson%netscape.com
dd3eeaa644 Added mozilla/rdf/base/idl so Makefile is generated. This is not otherwise in the build.
git-svn-id: svn://10.0.0.236/trunk@22688 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:30:17 +00:00
waterson%netscape.com
73584bff5f Initial revision: all of the IDL files globbed together.
git-svn-id: svn://10.0.0.236/trunk@22687 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:29:37 +00:00
waterson%netscape.com
82e63ea07a Fixed use of Object, which is apparently a keyword.
git-svn-id: svn://10.0.0.236/trunk@22686 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:29:13 +00:00
mscott%netscape.com
40e81c3ce8 Remove nsIsmgSend->Test() call.
git-svn-id: svn://10.0.0.236/trunk@22685 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:27:31 +00:00
bienvenu%netscape.com
c6bf3f0b96 latest drop of mork files
git-svn-id: svn://10.0.0.236/trunk@22684 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:15:45 +00:00
hyatt%netscape.com
c3752a8df8 Fix to the ContentInserted function (ifdef XUL only) for treechildren.
git-svn-id: svn://10.0.0.236/trunk@22683 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:11:55 +00:00
pollmann%netscape.com
6385ee828c Handle readonly changes for TextAreas as well as Text Inputs.
git-svn-id: svn://10.0.0.236/trunk@22682 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:06:36 +00:00
pollmann%netscape.com
4642b85847 Give nsTextControlFrame a notification when readonly on a TextArea is changed.
git-svn-id: svn://10.0.0.236/trunk@22681 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 03:05:31 +00:00
pollmann%netscape.com
7692e0c4c1 Fix bug #3375 and #3368: Allow hidden inputs and password inputs to store values.
git-svn-id: svn://10.0.0.236/trunk@22680 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 02:54:25 +00:00
nisheeth%netscape.com
8ce7dc3e65 We've decided to do away with the notion of an nsExpatDTD. The expat tokenizer which encapsulates the expat parser will be driven by nsWellFormedDTD. So, nsExpatTokenizer has changed accordingly. nsWellFormedDTD() creates an nsExpatTokenizer if EXPAT is #define'd; otherwise it creates the old nsXMLTokenizer. nsParser no longer registers and createsthe nsExpatDTD.
git-svn-id: svn://10.0.0.236/trunk@22679 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 02:34:18 +00:00
dp%netscape.com
787945c1bd Forcing registry upgrade to alpha0.30 due to autoreg beginning at ./components instead of ./
git-svn-id: svn://10.0.0.236/trunk@22678 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 02:17:57 +00:00
mscott%netscape.com
92d7fc1050 Fix build breakage. Seems like none of these interfaces implement a Test() method...
git-svn-id: svn://10.0.0.236/trunk@22677 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 02:03:48 +00:00
joki%netscape.com
c41dbba1c6 Fix for frames not resizing.
git-svn-id: svn://10.0.0.236/trunk@22676 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:59:50 +00:00
nisheeth%netscape.com
614b3fd83c We've decided to do away with the notion of an nsExpatDTD. The expat tokenizer which encapsulates the expat parser will be driven by nsWellFormedDTD. So, I'm removing the code that constructed an expat DTD for controlling the parsing of an XML document.
git-svn-id: svn://10.0.0.236/trunk@22675 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:57:03 +00:00
mjudge%netscape.com
86f2920385 fixes for selection code, batching at correct point
git-svn-id: svn://10.0.0.236/trunk@22674 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:51:59 +00:00
mjudge%netscape.com
4bb2e93aeb updates and fixes for CTRL left arrow and right arrow. also fixes for releasing the presshell correctly. the selection code was leaking it. updates for PREV and NEXT in nsFrameTraversal
git-svn-id: svn://10.0.0.236/trunk@22673 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:51:21 +00:00
hyatt%netscape.com
35f4281b4d More fixes to make sure the right attribute namespace is being used.
git-svn-id: svn://10.0.0.236/trunk@22672 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:38:32 +00:00
mscott%netscape.com
71ce6f1280 url listener update.
git-svn-id: svn://10.0.0.236/trunk@22671 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:32:10 +00:00
mscott%netscape.com
bdd7ff4c36 Remove RegisterFactory call for an rfc822 parser. this is done during the self register phase of the msgcore dll.
git-svn-id: svn://10.0.0.236/trunk@22670 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:31:28 +00:00
mscott%netscape.com
254261aa33 Update smtp test to register itself as a url listener on the current smtp url being run.
git-svn-id: svn://10.0.0.236/trunk@22669 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:27:11 +00:00
hyatt%netscape.com
90b4ba1563 Fixes so that attributes are set correctly.
git-svn-id: svn://10.0.0.236/trunk@22668 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:26:33 +00:00
mscott%netscape.com
5d70853340 Don't rely on msgcore.lib, use the dll instead....
git-svn-id: svn://10.0.0.236/trunk@22667 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:25:49 +00:00
dp%netscape.com
2cce57d913 Installing loadable components in components/ directory
git-svn-id: svn://10.0.0.236/trunk@22666 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:25:21 +00:00
mscott%netscape.com
9fb4f82661 asking the smtp service to send a message requires you to pass in a url listener (which can be nsnull if you don't care).
git-svn-id: svn://10.0.0.236/trunk@22665 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:24:56 +00:00
bienvenu%netscape.com
231ebbbf1a make sure message key gets set correctly
git-svn-id: svn://10.0.0.236/trunk@22664 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:22:49 +00:00
mscott%netscape.com
e7b00ca17e Pass in a url listener to send message.
git-svn-id: svn://10.0.0.236/trunk@22663 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:22:20 +00:00
briano%netscape.com
46acc683f2 Major housecleaning, and a hack to allow me to build on Solaris using Workshop.
git-svn-id: svn://10.0.0.236/trunk@22662 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:21:42 +00:00
mscott%netscape.com
1042739ca9 Update to latest version of nsIMsgMailNewsUrl which includes url listener registration and notification stuff.
git-svn-id: svn://10.0.0.236/trunk@22661 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:21:38 +00:00
nhotta%netscape.com
9d42323693 Reformat code for MIME encoder, otherwise unreadable.
git-svn-id: svn://10.0.0.236/trunk@22660 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:20:22 +00:00
mscott%netscape.com
32e276e2af Update to take a url listener when sending a message.
git-svn-id: svn://10.0.0.236/trunk@22659 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:19:50 +00:00
waterson%netscape.com
73e6f37199 Initial revision. They don't work.
git-svn-id: svn://10.0.0.236/trunk@22658 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:19:11 +00:00
mscott%netscape.com
83539652d8 Changes to make the mailbox test driver a url listener on the currently loaded url. This allowed me to use the test driver for mailbox urls as a test for url listeners...
git-svn-id: svn://10.0.0.236/trunk@22657 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:18:18 +00:00
waterson%netscape.com
a1cd895bd4 Added ProgIDToCLSID cache.
git-svn-id: svn://10.0.0.236/trunk@22656 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:18:15 +00:00
hyatt%netscape.com
49fc7c85a3 Fixes to attributes so that they are properly added in with a namespace of
NONE.


git-svn-id: svn://10.0.0.236/trunk@22655 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:17:29 +00:00
mscott%netscape.com
cf21ad834f Update urlListener stuff.
git-svn-id: svn://10.0.0.236/trunk@22654 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:16:42 +00:00
mscott%netscape.com
e3367656c2 pass in urlListener as argument to parsing a mailbox.
git-svn-id: svn://10.0.0.236/trunk@22653 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:15:40 +00:00
mscott%netscape.com
8a0fa9b3cf Add url listener manager support to mailbox urls.
git-svn-id: svn://10.0.0.236/trunk@22652 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:14:45 +00:00
mscott%netscape.com
133e65fe26 When parsing a mailbox, allow the caller to pass in a url listener on the action....
git-svn-id: svn://10.0.0.236/trunk@22651 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:13:34 +00:00
mscott%netscape.com
4135eec9c9 Requires netlib.
git-svn-id: svn://10.0.0.236/trunk@22650 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:12:20 +00:00
mscott%netscape.com
0230d7ef17 Add code to register a url listener manager.
git-svn-id: svn://10.0.0.236/trunk@22649 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:11:53 +00:00
akkana%netscape.com
ad596eb161 Turn on blinking caret
git-svn-id: svn://10.0.0.236/trunk@22648 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:11:50 +00:00
akkana%netscape.com
08d2fe9b17 Fix Unix crash: comment out an assert
git-svn-id: svn://10.0.0.236/trunk@22647 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:11:28 +00:00
mscott%netscape.com
dafcb92bca Build nsUrlListenerManager.
git-svn-id: svn://10.0.0.236/trunk@22646 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:10:42 +00:00
mscott%netscape.com
695610eea1 Build the url listener manager.
git-svn-id: svn://10.0.0.236/trunk@22645 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:08:29 +00:00
mscott%netscape.com
0a1d781831 A generic url listener manager...
git-svn-id: svn://10.0.0.236/trunk@22644 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:07:55 +00:00
mscott%netscape.com
73b36312cb MailNews Urls now support url listeners. Add these new methods to the base url interface class.
git-svn-id: svn://10.0.0.236/trunk@22643 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:06:52 +00:00
mscott%netscape.com
fb502c1c77 Remove from directory...
git-svn-id: svn://10.0.0.236/trunk@22642 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:05:37 +00:00
mscott%netscape.com
f9aca39111 Export nsIUrlListener.h and nsIUrlListenerManager.h
git-svn-id: svn://10.0.0.236/trunk@22641 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:05:04 +00:00
mscott%netscape.com
216e25711a Export nsIListenerUrl.h and nsIUrlListenerManager.h
git-svn-id: svn://10.0.0.236/trunk@22640 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:03:27 +00:00
mscott%netscape.com
35b5fa40ce UrlListener interface and the interface for a generic url listener manager. Each of our url classes will have a url listener manager to handle the book keeping related to url listeners.
git-svn-id: svn://10.0.0.236/trunk@22639 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 01:02:53 +00:00
briano%netscape.com
6976369168 Automated update
git-svn-id: svn://10.0.0.236/trunk@22638 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 00:45:39 +00:00
karnaze%netscape.com
a726826198 improved <iframe> sizing to consider left, right, etc borders
git-svn-id: svn://10.0.0.236/trunk@22637 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 00:37:55 +00:00
alecf%netscape.com
b18062f12e start splitting nsISupports.h into multiple header files (blank right now until we get them into the Mac build)
git-svn-id: svn://10.0.0.236/trunk@22636 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 00:31:50 +00:00
briano%netscape.com
1d4497a497 Fix the SunOS4 shared lib linking problem. Probably ought to be done more elegantly, though....
git-svn-id: svn://10.0.0.236/trunk@22635 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 00:31:42 +00:00
slamm%netscape.com
7e51be6e16 still not working
git-svn-id: svn://10.0.0.236/trunk@22634 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 00:01:03 +00:00
mscott%netscape.com
ec6ceee69a Build mailbox test.
git-svn-id: svn://10.0.0.236/trunk@22633 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:56:27 +00:00
slamm%netscape.com
2a20d151e1 a little more
git-svn-id: svn://10.0.0.236/trunk@22632 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:56:12 +00:00
scc%netscape.com
e70b8e958a backed out depency on nscore.h
git-svn-id: svn://10.0.0.236/trunk@22631 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:52:38 +00:00
slamm%netscape.com
5f08e71779 try again
git-svn-id: svn://10.0.0.236/trunk@22630 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:47:31 +00:00
briano%netscape.com
09a337ad35 Automated update
git-svn-id: svn://10.0.0.236/trunk@22628 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:31:36 +00:00
brade%netscape.com
dc58e7d168 add static to GetTagName to reduce Macintosh compiler warnings
git-svn-id: svn://10.0.0.236/trunk@22626 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:28:04 +00:00
slamm%netscape.com
07f28f211e Change the order of --disable-build-xpfe and --disable-build-nspr
git-svn-id: svn://10.0.0.236/trunk@22625 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:25:29 +00:00
vidur%netscape.com
2041f859c6 Fixes to get CDATASections working again. Also changes to fix XML links.
git-svn-id: svn://10.0.0.236/trunk@22623 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:22:05 +00:00
vidur%netscape.com
e7ba5a8b0b Fix to get old XML parser to see CDATASections again
git-svn-id: svn://10.0.0.236/trunk@22622 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:20:45 +00:00
wtc%netscape.com
01ee68305f Undo the temporary "depend: clean" hack.
git-svn-id: svn://10.0.0.236/trunk@22621 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:19:01 +00:00
scc%netscape.com
ce584e3c02 now rely on "nscore.h" for NS_REINTERPRET_CAST instead of defining my own. now relying on autoconf system for all unixes. Some tests may need to be fixed.
git-svn-id: svn://10.0.0.236/trunk@22620 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:08:54 +00:00
val4%cornell.edu
90515a0a91 Fix a prolem with prev. check-in
git-svn-id: svn://10.0.0.236/trunk@22619 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:08:06 +00:00
scc%netscape.com
533c3d1f11 fix for nsCOMPtr: no direct construction/assignment from raw COM interface pointers
git-svn-id: svn://10.0.0.236/trunk@22618 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:00:09 +00:00
val4%cornell.edu
9684e39320 Divided JS.pm into two modules to break dependencies between jsperl.c support functions
and functions exporsed from Perl. test.pl fails one of the tests -- need to look at that.
Worspace  build settings also changed.


git-svn-id: svn://10.0.0.236/trunk@22617 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:53:16 +00:00
jband%netscape.com
8fda3403f8 nsID JSObject can now do mapping to and from interface names using nsIInterfaceInfoManager. Fixed a bug in getting name. Added nsID tests
git-svn-id: svn://10.0.0.236/trunk@22616 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:51:11 +00:00
scc%netscape.com
a6ad86bdb2 fix for nsCOMPtr: no construction/assignment from raw COM interface pointers
git-svn-id: svn://10.0.0.236/trunk@22615 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:44:55 +00:00
kmcclusk%netscape.com
4bd141876c gfx vs native widget rendering can now be specified in the viewer at run-time.
Added methods to GetWidgetRenderingMode and SetWidgetRenderingMode in nsPresContext
Removed NS_GFX_RENDER_FORM_ELEMENTS define, now it uses the GetWidgetRenderingMode
method on the rendering context.
Resurrected Rod's listbox frame-based widget code.
Added -moz-option-selected pseudo attribute to control the appearance of selected items for the listbox frame-based widget.
Added a style rule with attribute selector for -moz-option-selected to the ua.css style sheet.
Modifed nsView::SetVFlags to do a bitwise or instead of bitwise and to set flags.
Modified nsView::HandleEvent to compare mVFlags with NS_VIEW_FLAG_DONT_CHECK_CHILDREN


git-svn-id: svn://10.0.0.236/trunk@22614 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:43:26 +00:00
scc%netscape.com
8525928774 fixed for nsCOMPtr: no constructions assignments from raw COM interface pointers
git-svn-id: svn://10.0.0.236/trunk@22613 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:38:42 +00:00
beard%netscape.com
d264efb592 removed all vestiges of nsIMalloc.
git-svn-id: svn://10.0.0.236/trunk@22612 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:33:32 +00:00
beard%netscape.com
a9d898c78c made inheritance public.
git-svn-id: svn://10.0.0.236/trunk@22611 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:31:54 +00:00
beard%netscape.com
e53b867cea fix menu double dispatching
git-svn-id: svn://10.0.0.236/trunk@22610 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:30:02 +00:00
scc%netscape.com
84d4e393bc fixed for nsCOMPtr: no construction or assignment from raw COM interface pointers
git-svn-id: svn://10.0.0.236/trunk@22609 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:27:46 +00:00
wtc%netscape.com
cda9f78e88 Another update of the latest stuff from the internal CVS repository /m/src.
git-svn-id: svn://10.0.0.236/trunk@22608 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:23:14 +00:00
kmcclusk%netscape.com
f5e311af18 Added debug/style/widget render mode to the viewer menu in GTK. This allows
the viewer to set whether native or gfx-rendered widgets should be used.


git-svn-id: svn://10.0.0.236/trunk@22607 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 22:15:35 +00:00
despotdaemon%netscape.com
5816235d2a Pseudo-automatic update of changes made by val4@cornell.edu.
git-svn-id: svn://10.0.0.236/trunk@22606 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 21:32:53 +00:00
dougt%netscape.com
ca9ff84fe2 Added Unix makefiles (that really do not do anything)
Added Arguments and Jarfile variables to the Install object which
are now being reflected into js.
Fixed how ExtractJarFile in Install was working
Hooked up to libjar.

** These changes are not part of the Tinderbox builds **


git-svn-id: svn://10.0.0.236/trunk@22605 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 20:25:42 +00:00
mcafee%netscape.com
ccb66a01d5 mcom_db.h, cdefs.h also had copies over in mozilla/dbm/include, this was causing much confusion as you can imagine. I've merged changes over to the dbm versions and am retiring these files. r=pinkerton@netscape.com,leaf@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@22604 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:41:25 +00:00
despotdaemon%netscape.com
55d295b1ef Pseudo-automatic update of changes made by syd@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@22603 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:40:53 +00:00
leaf%mozilla.org
9f0b197029 Helping mcafee change the default location of cdefs.h and mcom_db.h
git-svn-id: svn://10.0.0.236/trunk@22602 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:37:15 +00:00
despotdaemon%netscape.com
1874aee396 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@22601 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:27:01 +00:00
alecf%netscape.com
42f969b1e0 fix HPUX bustage - confused by too many similar constructors
git-svn-id: svn://10.0.0.236/trunk@22600 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:23:06 +00:00
joki%netscape.com
e62bbe65fe Adding new tab handling and focus support.
git-svn-id: svn://10.0.0.236/trunk@22599 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:19:24 +00:00
akkana%netscape.com
59406ac999 nsWindow.cpp didn't like the fcn name SelectionClear
git-svn-id: svn://10.0.0.236/trunk@22598 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:06:28 +00:00
joki%netscape.com
6e83286f60 Adding new interface for focusable content
git-svn-id: svn://10.0.0.236/trunk@22597 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:05:54 +00:00
pinkerton%netscape.com
62116e0985 add manifest for dbm/include
git-svn-id: svn://10.0.0.236/trunk@22596 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:02:28 +00:00
pinkerton%netscape.com
88055a803c remove duplicated files already in dbm
git-svn-id: svn://10.0.0.236/trunk@22595 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 19:01:56 +00:00
slamm%netscape.com
267f358295 Style changes.
git-svn-id: svn://10.0.0.236/trunk@22594 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:41:21 +00:00
ducarroz%netscape.com
78124a6bda clean up: change PR_MALLOC for PR_Malloc
git-svn-id: svn://10.0.0.236/trunk@22593 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:36:58 +00:00
ducarroz%netscape.com
2ab9da25ac sources clean up
git-svn-id: svn://10.0.0.236/trunk@22592 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:35:42 +00:00
putterman%netscape.com
dc666000f4 Add ".msf" to the list of files types we should ignore when building folders.
git-svn-id: svn://10.0.0.236/trunk@22591 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:32:39 +00:00
jband%netscape.com
6c33d541a1 fix misguided use of ebx in tests too
git-svn-id: svn://10.0.0.236/trunk@22590 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:31:25 +00:00
ftang%netscape.com
88f3ce7132 fix SmallCap to make it work for the whole range of unicode
git-svn-id: svn://10.0.0.236/trunk@22589 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:25:22 +00:00
ftang%netscape.com
48f5a3a3d8 add IsUpper and IsLower which work for all Unicode, reviewed and approved by kipp
git-svn-id: svn://10.0.0.236/trunk@22588 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:24:42 +00:00
jband%netscape.com
b59c75350a fixes to make it work in release builds: some #ifdef DEBUGs, don't munge ebx register on win32!, stray star, friendlier result if linux code included in non-Linux build
git-svn-id: svn://10.0.0.236/trunk@22587 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:24:17 +00:00
akkana%netscape.com
40a8bc718d Improvements in handling of the X selection, and some explanatory comments
git-svn-id: svn://10.0.0.236/trunk@22586 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 18:08:49 +00:00
nhotta%netscape.com
e99241e1d8 Added SetDocumentCharset.
git-svn-id: svn://10.0.0.236/trunk@22585 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:53:52 +00:00
nhotta%netscape.com
4e4a33af41 Added SetDocumentCharset.
git-svn-id: svn://10.0.0.236/trunk@22584 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:48:05 +00:00
rhp%netscape.com
3e62888ba3 Changes for new header conversion interfaces
git-svn-id: svn://10.0.0.236/trunk@22583 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:47:31 +00:00
terry%netscape.com
1c7a9c70cb Oops! Mispelled "petersen".
git-svn-id: svn://10.0.0.236/trunk@22582 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:45:23 +00:00
rhp%netscape.com
ca91c60636 Update for header defines
git-svn-id: svn://10.0.0.236/trunk@22581 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:43:02 +00:00
putterman%netscape.com
8640a14ce1 update to use RDF:containment tag. ThreadPane now loads from RDF.
Removed xul: from threadPane.


git-svn-id: svn://10.0.0.236/trunk@22580 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:21:11 +00:00
putterman%netscape.com
52e99acea6 Added ability to GetMessages from prepopulated database.
git-svn-id: svn://10.0.0.236/trunk@22579 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:17:53 +00:00
putterman%netscape.com
32d57dc133 Added temporary code for creating a URI and adding it to nsMsgHdr.
git-svn-id: svn://10.0.0.236/trunk@22578 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:17:00 +00:00
harishd%netscape.com
6b0ff9e89c We don't create a content node for <NOEMBED> tags.
Therefore, added kDiscardTag to noembed special properties bit.


git-svn-id: svn://10.0.0.236/trunk@22577 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:13:55 +00:00
harishd%netscape.com
33d3b8cb7f Included flag kLegalOpen which will be used later
in handling <BODY>, <SCRIPT>, and <TITLE> tags.


git-svn-id: svn://10.0.0.236/trunk@22576 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:13:18 +00:00
rhp%netscape.com
0bbbe6bed9 Changes for new XP-COM interface.
git-svn-id: svn://10.0.0.236/trunk@22575 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 17:06:48 +00:00
rhp%netscape.com
7aa66bf8b7 Change for interface
git-svn-id: svn://10.0.0.236/trunk@22574 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 16:57:16 +00:00
dcone%netscape.com
9d7acd41c1 Update some functions, and formating
git-svn-id: svn://10.0.0.236/trunk@22573 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 16:47:16 +00:00
rhp%netscape.com
d752c91db0 New interfaces to be exported.
git-svn-id: svn://10.0.0.236/trunk@22572 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 16:46:02 +00:00
rhp%netscape.com
f7c8fc398a Adding new header converter interface.
git-svn-id: svn://10.0.0.236/trunk@22570 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 16:10:28 +00:00
fur%netscape.com
98dc06cfc5 Eliminating New* files, which are old snapshots of other files
git-svn-id: svn://10.0.0.236/trunk@22569 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 16:07:50 +00:00
rhp%netscape.com
a6aaae7794 New header conversion interface
git-svn-id: svn://10.0.0.236/trunk@22568 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 15:58:15 +00:00
88 changed files with 14736 additions and 5324 deletions

View File

@@ -1,134 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "BitSet.h"
// Return the next bit after index set to true or -1 if none.
//
Int32 BitSet::nextOne(Int32 pos) const
{
++pos;
if (pos < 0 || Uint32(pos) >= universeSize)
return -1;
Uint32 offset = getWordOffset(pos);
Uint8 index = getBitOffset(pos);
Word* ptr = &word[offset];
Word currentWord = *ptr++ >> index;
if (currentWord != Word(0)) {
while ((currentWord & Word(1)) == 0) {
++index;
currentWord >>= 1;
}
return (offset << nBitsInWordLog2) + index;
}
Word* limit = &word[getSizeInWords(universeSize)];
while (ptr < limit) {
++offset;
currentWord = *ptr++;
if (currentWord != Word(0)) {
index = 0;
while ((currentWord & Word(1)) == 0) {
++index;
currentWord >>= 1;
}
return (offset << nBitsInWordLog2) + index;
}
}
return -1;
}
// Return the next bit after index set to false or -1 if none.
//
Int32 BitSet::nextZero(Int32 pos) const
{
++pos;
if (pos < 0 || Uint32(pos) >= universeSize)
return -1;
Uint32 offset = getWordOffset(pos);
Uint8 index = getBitOffset(pos);
Word* ptr = &word[offset];
Word currentWord = *ptr++ >> index;
if (currentWord != Word(~0)) {
for (; index < nBitsInWord; ++index) {
if ((currentWord & Word(1)) == 0) {
Int32 ret = (offset << nBitsInWordLog2) + index;
return (Uint32(ret) < universeSize) ? ret : -1;
}
currentWord >>= 1;
}
}
Word* limit = &word[getSizeInWords(universeSize)];
while (ptr < limit) {
++offset;
currentWord = *ptr++;
if (currentWord != Word(~0)) {
for (index = 0; index < nBitsInWord; ++index) {
if ((currentWord & Word(1)) == 0) {
Int32 ret = (offset << nBitsInWordLog2) + index;
return (Uint32(ret) < universeSize) ? ret : -1;
}
currentWord >>= 1;
}
}
}
return -1;
}
#ifdef DEBUG_LOG
// Print the set.
//
void BitSet::printPretty(LogModuleObject log)
{
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("[ "));
for (Int32 i = firstOne(); i != -1; i = nextOne(i)) {
Int32 currentBit = i;
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("%d", currentBit));
Int32 nextBit = nextOne(currentBit);
if (nextBit != currentBit + 1) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, (" "));
continue;
}
while ((nextBit != -1) && (nextBit == (currentBit + 1))) {
currentBit = nextBit;
nextBit = nextOne(nextBit);
}
if (currentBit > (i+1))
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("-%d ", currentBit));
else
UT_OBJECTLOG(log, PR_LOG_ALWAYS, (" %d ", currentBit));
i = currentBit;
}
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("]\n"));
}
#endif // DEBUG_LOG

View File

@@ -1,195 +0,0 @@
/* -*- 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 _BITSET_H_
#define _BITSET_H_
#include "Fundamentals.h"
#include "LogModule.h"
#include "Pool.h"
#include <string.h>
//------------------------------------------------------------------------------
// BitSet -
class BitSet
{
private:
#if (PR_BITS_PER_WORD == 64)
typedef Uint64 Word;
#elif (PR_BITS_PER_WORD == 32)
typedef Uint32 Word;
#endif
static const nBitsInWord = PR_BITS_PER_WORD;
static const nBytesInWord = PR_BYTES_PER_WORD;
static const nBitsInWordLog2 = PR_BITS_PER_WORD_LOG2;
static const nBytesInWordLog2 = PR_BYTES_PER_WORD_LOG2;
// Return the number of Word need to store the universe.
static Uint32 getSizeInWords(Uint32 sizeOfUniverse) {return (sizeOfUniverse + (nBitsInWord - 1)) >> nBitsInWordLog2;}
// Return the given element offset in its containing Word.
static Uint32 getBitOffset(Uint32 element) {return element & (nBitsInWord - 1);}
// Return the Word offset for the given element int the universe.
static Uint32 getWordOffset(Uint32 element) {return element >> nBitsInWordLog2;}
// Return the mask for the given bit index.
static Word getMask(Uint8 index) {return Word(1) << index;}
private:
Uint32 universeSize; // Size of the universe
Word* word; // universe memory.
private:
// No copy constructor.
BitSet(const BitSet&);
// Check if the given set's universe is of the same size than this universe.
void checkUniverseCompatibility(const BitSet& set) const {assert(set.universeSize == universeSize);}
// Check if pos is valid for this set's universe.
void checkMember(Int32 pos) const {assert(pos >=0 && Uint32(pos) < universeSize);}
public:
// Create a bitset of universeSize bits.
BitSet(Pool& pool, Uint32 universeSize) : universeSize(universeSize) {word = new(pool) Word[getSizeInWords(universeSize)]; clear();}
// Return the size of this bitset.
Uint32 getSize() const {return universeSize;}
// Clear the bitset.
void clear() {memset(word, 0x00, getSizeInWords(universeSize) << nBytesInWordLog2);}
// Clear the bit at index.
void clear(Uint32 index) {checkMember(index); word[getWordOffset(index)] &= ~getMask(index);}
// Set the bitset.
void set() {memset(word, 0xFF, getSizeInWords(universeSize) << nBytesInWordLog2);}
// Set the bit at index.
void set(Uint32 index) {checkMember(index); word[getWordOffset(index)] |= getMask(index);}
// Return true if the bit at index is set.
bool test(Uint32 index) const {checkMember(index); return (word[getWordOffset(index)] & getMask(index)) != 0;}
// Union with the given bitset.
inline void or(const BitSet& set);
// Intersection with the given bitset.
inline void and(const BitSet& set);
// Difference with the given bitset.
inline void difference(const BitSet& set);
// Copy set.
inline BitSet& operator = (const BitSet& set);
// Return true if the bitset are identical.
friend bool operator == (const BitSet& set1, const BitSet& set2);
// Return true if the bitset are different.
friend bool operator != (const BitSet& set1, const BitSet& set2);
// Logical operators.
BitSet& operator |= (const BitSet& set) {or(set); return *this;}
BitSet& operator &= (const BitSet& set) {and(set); return *this;}
BitSet& operator -= (const BitSet& set) {difference(set); return *this;}
// Return the first bit at set to true or -1 if none.
Int32 firstOne() const {return nextOne(-1);}
// Return the next bit after index set to true or -1 if none.
Int32 nextOne(Int32 pos) const;
// Return the first bit at set to false or -1 if none.
Int32 firstZero() const {return nextZero(-1);}
// Return the next bit after index set to false or -1 if none.
Int32 nextZero(Int32 pos) const;
// Iterator to conform with the set API.
typedef Int32 iterator;
// Return true if the walk is ordered.
static bool isOrdered() {return true;}
// Return the iterator for the first element of this set.
iterator begin() const {return firstOne();}
// Return the next iterator.
iterator advance(iterator pos) const {return nextOne(pos);}
// Return true if the iterator is at the end of the set.
bool done(iterator pos) const {return pos == -1;}
// Return the element corresponding to the given iterator.
Uint32 get(iterator pos) const {return pos;}
#ifdef DEBUG_LOG
// Print the set.
void printPretty(LogModuleObject log);
#endif // DEBUG_LOG
};
// Union with the given bitset.
//
inline void BitSet::or(const BitSet& set)
{
checkUniverseCompatibility(set);
Word* src = set.word;
Word* dst = word;
Word* limit = &src[getSizeInWords(universeSize)];
while (src < limit)
*dst++ |= *src++;
}
// Intersection with the given bitset.
//
inline void BitSet::and(const BitSet& set)
{
checkUniverseCompatibility(set);
Word* src = set.word;
Word* dst = word;
Word* limit = &src[getSizeInWords(universeSize)];
while (src < limit)
*dst++ &= *src++;
}
// Difference with the given bitset.
//
inline void BitSet::difference(const BitSet& set)
{
checkUniverseCompatibility(set);
Word* src = set.word;
Word* dst = word;
Word* limit = &src[getSizeInWords(universeSize)];
while (src < limit)
*dst++ &= ~*src++;
}
// Copy the given set into this set.
//
inline BitSet& BitSet::operator = (const BitSet& set)
{
checkUniverseCompatibility(set);
if (this != &set)
memcpy(word, set.word, getSizeInWords(universeSize) << nBytesInWordLog2);
return *this;
}
// Return true if the given set is identical to this set.
inline bool operator == (const BitSet& set1, const BitSet& set2)
{
set1.checkUniverseCompatibility(set2);
if (&set1 == &set2)
return true;
return memcmp(set1.word, set2.word, BitSet::getSizeInWords(set1.universeSize) << BitSet::nBytesInWordLog2) == 0;
}
inline bool operator != (const BitSet& set1, const BitSet& set2) {return !(set1 == set2);}
#endif // _BITSET_H

View File

@@ -1,159 +0,0 @@
/* -*- 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 _COALESCING_H_
#define _COALESCING_H_
#include "Fundamentals.h"
#include "Pool.h"
#include "RegisterPressure.h"
#include "InterferenceGraph.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Instruction.h"
#include "SparseSet.h"
#include "RegisterAllocator.h"
#include "RegisterAllocatorTools.h"
#if 1
// Performing an ultra conservative coalescing meens that when we look at
// candidates (source,destination) for coalescing we need to make sure
// that the combined interference of the source and destination register
// will not exceed the total number of register available for the register
// class.
#define ULTRA_CONSERVATIVE_COALESCING
#else
// If we are not doing an ultra conservative coalescing we have to make sure
// that the total number of neighbor whose degree is greater than the total
// number of register is not greater than the total number of register.
#undef ULTRA_CONSERVATIVE_COALESCING
#endif
template <class RegisterPressure>
struct Coalescing
{
static bool coalesce(RegisterAllocator& registerAllocator);
};
template <class RegisterPressure>
bool Coalescing<RegisterPressure>::coalesce(RegisterAllocator& registerAllocator)
{
Pool& pool = registerAllocator.pool;
// Initialize the lookup table
//
Uint32 rangeCount = registerAllocator.rangeCount;
RegisterName* newRange = new RegisterName[2 * rangeCount];
RegisterName* coalescedRange = &newRange[rangeCount];
RegisterName* name2range = registerAllocator.name2range;
init(coalescedRange, rangeCount);
SparseSet interferences(pool, rangeCount);
InterferenceGraph<RegisterPressure>& iGraph = registerAllocator.iGraph;
bool removedInstructions = false;
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.lndList;
Uint32 nNodes = controlGraph.nNodes;
// Walk the nodes in the loop nesting depth list.
for (Int32 n = nNodes - 1; n >= 0; n--) {
InstructionList& instructions = nodes[n]->getInstructions();
InstructionList::iterator it = instructions.begin();
while (!instructions.done(it)) {
Instruction& instruction = instructions.get(it);
it = instructions.advance(it);
if ((instruction.getFlags() & ifCopy) != 0) {
assert(instruction.getInstructionUseBegin() != instruction.getInstructionUseEnd() && instruction.getInstructionUseBegin()[0].isRegister());
assert(instruction.getInstructionDefineBegin() != instruction.getInstructionDefineEnd() && instruction.getInstructionDefineBegin()[0].isRegister());
RegisterName source = findRoot(name2range[instruction.getInstructionUseBegin()[0].getRegisterName()], coalescedRange);
RegisterName destination = findRoot(name2range[instruction.getInstructionDefineBegin()[0].getRegisterName()], coalescedRange);
if (source == destination) {
instruction.remove();
} else if (!iGraph.interfere(source, destination)) {
InterferenceVector* sourceVector = iGraph.getInterferenceVector(source);
InterferenceVector* destinationVector = iGraph.getInterferenceVector(destination);
#ifdef ULTRA_CONSERVATIVE_COALESCING
interferences.clear();
InterferenceVector* vector;
for (vector = sourceVector; vector != NULL; vector = vector->next) {
RegisterName* neighbors = vector->neighbors;
for (Uint32 i = 0; i < vector->count; i++)
interferences.set(findRoot(neighbors[i], coalescedRange));
}
for (vector = destinationVector; vector != NULL; vector = vector->next) {
RegisterName* neighbors = vector->neighbors;
for (Uint32 i = 0; i < vector->count; i++)
interferences.set(findRoot(neighbors[i], coalescedRange));
}
Uint32 count = interferences.getSize();
#else // ULTRA_CONSERVATIVE_COALESCING
trespass("not implemented");
Uint32 count = 0;
#endif // ULTRA_CONSERVATIVE_COALESCING
if (count < 6 /* FIX: should get the number from the class */) {
// Update the interferences vector.
if (sourceVector == NULL) {
iGraph.setInterferenceVector(source, destinationVector);
sourceVector = destinationVector;
} else if (destinationVector == NULL)
iGraph.setInterferenceVector(destination, sourceVector);
else {
InterferenceVector* last = NULL;
for (InterferenceVector* v = sourceVector; v != NULL; v = v->next)
last = v;
assert(last);
last->next = destinationVector;
iGraph.setInterferenceVector(destination, sourceVector);
}
// Update the interference matrix.
for (InterferenceVector* v = sourceVector; v != NULL; v = v->next) {
RegisterName* neighbors = v->neighbors;
for (Uint32 i = 0; i < v->count; i++) {
RegisterName neighbor = findRoot(neighbors[i], coalescedRange);
iGraph.setInterference(neighbor, source);
iGraph.setInterference(neighbor, destination);
}
}
instruction.remove();
coalescedRange[source] = destination;
removedInstructions = true;
}
}
}
}
}
registerAllocator.rangeCount = compress(registerAllocator.name2range, coalescedRange, registerAllocator.nameCount, rangeCount);
delete newRange;
return removedInstructions;
}
#endif // _COALESCING_H_

View File

@@ -1,283 +0,0 @@
/* -*- 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 NEW_LAURENTM_CODE
#include "Coloring.h"
#include "VirtualRegister.h"
#include "FastBitSet.h"
#include "FastBitMatrix.h"
#include "CpuInfo.h"
bool Coloring::
assignRegisters(FastBitMatrix& interferenceMatrix)
{
PRUint32 *stackPtr = new(pool) PRUint32[vRegManager.count()];
return select(interferenceMatrix, stackPtr, simplify(interferenceMatrix, stackPtr));
}
PRInt32 Coloring::
getLowestSpillCostRegister(FastBitSet& bitset)
{
PRInt32 lowest = bitset.firstOne();
if (lowest != -1)
{
Flt32 cost = vRegManager.getVirtualRegister(lowest).spillInfo.spillCost;
for (PRInt32 r = bitset.nextOne(lowest); r != -1; r = bitset.nextOne(r))
{
VirtualRegister& vReg = vRegManager.getVirtualRegister(r);
if (!vReg.spillInfo.infiniteSpillCost && (vReg.spillInfo.spillCost < cost))
{
cost = vReg.spillInfo.spillCost;
lowest = r;
}
}
}
return lowest;
}
PRUint32* Coloring::
simplify(FastBitMatrix interferenceMatrix, PRUint32* stackPtr)
{
// first we construct the sets low and high. low contains all nodes of degree
// inferior to the number of register available on the processor. All the
// nodes with an high degree and a finite spill cost are placed in high.
// Nodes of high degree and infinite spill cost are not included in either sets.
PRUint32 nRegisters = vRegManager.count();
FastBitSet low(pool, nRegisters);
FastBitSet high(pool, nRegisters);
FastBitSet stack(pool, nRegisters);
for (VirtualRegisterManager::iterator i = vRegManager.begin(); !vRegManager.done(i); i = vRegManager.advance(i))
{
VirtualRegister& vReg = vRegManager.getVirtualRegister(i);
if (vReg.getClass() == vrcStackSlot)
{
stack.set(i);
vReg.colorRegister(nRegisters);
}
else
{
if (vReg.colorInfo.interferenceDegree < NUMBER_OF_REGISTERS)
low.set(i);
else // if (!vReg.spillInfo.infiniteSpillCost)
high.set(i);
// Set coloring info.
vReg.spillInfo.willSpill = false;
switch(vReg.getClass())
{
case vrcInteger:
vReg.colorRegister(LAST_GREGISTER + 1);
break;
case vrcFloatingPoint:
case vrcFixedPoint:
vReg.colorRegister(LAST_FPREGISTER + 1);
break;
default:
PR_ASSERT(false); // Cannot happen.
}
}
}
// push the stack registers
PRInt32 j;
for (j = stack.firstOne(); j != -1; j = stack.nextOne(j))
*stackPtr++ = j;
// simplify
while (true)
{
PRInt32 r;
while ((r = getLowestSpillCostRegister(low)) != -1)
{
VirtualRegister& vReg = vRegManager.getVirtualRegister(r);
/* update low and high */
FastBitSet inter(interferenceMatrix.getRow(r), nRegisters);
for (j = inter.firstOne(); j != -1; j = inter.nextOne(j))
{
VirtualRegister& neighbor = vRegManager.getVirtualRegister(j);
// if the new interference degree of one of his neighbor becomes
// NUMBER_OF_REGISTERS - 1 then it is added to the set 'low'.
PRUint32 maxInterference = 0;
switch (neighbor.getClass())
{
case vrcInteger:
maxInterference = NUMBER_OF_GREGISTERS;
break;
case vrcFloatingPoint:
case vrcFixedPoint:
maxInterference = NUMBER_OF_FPREGISTERS;
break;
default:
PR_ASSERT(false);
}
if ((vRegManager.getVirtualRegister(j).colorInfo.interferenceDegree-- == maxInterference))
{
high.clear(j);
low.set(j);
}
vReg.colorInfo.interferenceDegree--;
interferenceMatrix.clear(r, j);
interferenceMatrix.clear(j, r);
}
low.clear(r);
// Push this register.
*stackPtr++ = r;
}
if ((r = getLowestSpillCostRegister(high)) != -1)
{
high.clear(r);
low.set(r);
}
else
break;
}
return stackPtr;
}
bool Coloring::
select(FastBitMatrix& interferenceMatrix, PRUint32* stackBase, PRUint32* stackPtr)
{
PRUint32 nRegisters = vRegManager.count();
FastBitSet usedRegisters(NUMBER_OF_REGISTERS + 1); // usedRegisters if used for both GR & FPR.
FastBitSet preColoredRegisters(NUMBER_OF_REGISTERS + 1);
FastBitSet usedStack(nRegisters + 1);
bool success = true;
Int32 lastUsedSSR = -1;
// select
while (stackPtr != stackBase)
{
// Pop one register.
PRUint32 r = *--stackPtr;
VirtualRegister& vReg = vRegManager.getVirtualRegister(r);
FastBitSet neighbors(interferenceMatrix.getRow(r), nRegisters);
if (vReg.getClass() == vrcStackSlot)
// Stack slots coloring.
{
usedStack.clear();
for (PRInt32 i = neighbors.firstOne(); i != -1; i = neighbors.nextOne(i))
usedStack.set(vRegManager.getVirtualRegister(i).getColor());
Int32 color = usedStack.firstZero();
vReg.colorRegister(color);
if (color > lastUsedSSR)
lastUsedSSR = color;
}
else
// Integer & Floating point register coloring.
{
usedRegisters.clear();
preColoredRegisters.clear();
for (PRInt32 i = neighbors.firstOne(); i != -1; i = neighbors.nextOne(i))
{
VirtualRegister& nvReg = vRegManager.getVirtualRegister(i);
usedRegisters.set(nvReg.getColor());
if (nvReg.isPreColored())
preColoredRegisters.set(nvReg.getPreColor());
}
if (vReg.hasSpecialInterference)
usedRegisters |= vReg.specialInterference;
PRInt8 c = -1;
PRInt8 maxColor = 0;
PRInt8 firstColor = 0;
switch (vReg.getClass())
{
case vrcInteger:
firstColor = FIRST_GREGISTER;
maxColor = LAST_GREGISTER;
break;
case vrcFloatingPoint:
case vrcFixedPoint:
firstColor = FIRST_FPREGISTER;
maxColor = LAST_FPREGISTER;
break;
default:
PR_ASSERT(false);
}
if (vReg.isPreColored())
{
c = vReg.getPreColor();
if (usedRegisters.test(c))
c = -1;
}
else
{
for (c = usedRegisters.nextZero(firstColor - 1); (c >= 0) && (c <= maxColor) && (preColoredRegisters.test(c));
c = usedRegisters.nextZero(c)) {}
}
if ((c >= 0) && (c <= maxColor))
{
vReg.colorRegister(c);
}
else
{
VirtualRegister& stackRegister = vRegManager.newVirtualRegister(vrcStackSlot);
vReg.equivalentRegister[vrcStackSlot] = &stackRegister;
vReg.spillInfo.willSpill = true;
success = false;
}
}
}
#ifdef DEBUG
if (success)
{
for (VirtualRegisterManager::iterator i = vRegManager.begin(); !vRegManager.done(i); i = vRegManager.advance(i))
{
VirtualRegister& vReg = vRegManager.getVirtualRegister(i);
switch (vReg.getClass())
{
case vrcInteger:
if (vReg.getColor() > LAST_GREGISTER)
PR_ASSERT(false);
break;
case vrcFloatingPoint:
case vrcFixedPoint:
#if NUMBER_OF_FPREGISTERS != 0
if (vReg.getColor() > LAST_FPREGISTER)
PR_ASSERT(false);
#endif
break;
default:
break;
}
}
}
#endif
vRegManager.nUsedStackSlots = lastUsedSSR + 1;
return success;
}
#endif // NEW_LAURENTM_CODE

View File

@@ -1,284 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Instruction.h"
#include "RegisterAllocator.h"
#include "VirtualRegister.h"
#include "InterferenceGraph.h"
#include "SparseSet.h"
#include "Spilling.h"
#include "Splits.h"
UT_EXTERN_LOG_MODULE(RegAlloc);
template <class RegisterPressure>
class Coloring
{
private:
static RegisterName* simplify(RegisterAllocator& registerAllocator, RegisterName* coloringStack);
static bool select(RegisterAllocator& registerAllocator, RegisterName* coloringStack, RegisterName* coloringStackPtr);
public:
static bool color(RegisterAllocator& registerAllocator);
static void finalColoring(RegisterAllocator& registerAllocator);
};
template <class RegisterPressure>
void Coloring<RegisterPressure>::finalColoring(RegisterAllocator& registerAllocator)
{
RegisterName* color = registerAllocator.color;
RegisterName* name2range = registerAllocator.name2range;
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
for (Uint32 n = 0; n < nNodes; n++) {
InstructionList& instructions = nodes[n]->getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
usePtr->setRegisterName(color[name2range[usePtr->getRegisterName()]]);
#ifdef DEBUG
RegisterID rid = usePtr->getRegisterID();
setColoredRegister(rid);
usePtr->setRegisterID(rid);
#endif // DEBUG
}
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
definePtr->setRegisterName(color[name2range[definePtr->getRegisterName()]]);
#ifdef DEBUG
RegisterID rid = definePtr->getRegisterID();
setColoredRegister(rid);
definePtr->setRegisterID(rid);
#endif // DEBUG
}
}
}
}
template <class RegisterPressure>
bool Coloring<RegisterPressure>::select(RegisterAllocator& registerAllocator, RegisterName* coloringStack, RegisterName* coloringStackPtr)
{
Uint32 rangeCount = registerAllocator.rangeCount;
RegisterName* color = new RegisterName[rangeCount];
registerAllocator.color = color;
for (Uint32 r = 1; r < rangeCount; r++)
color[r] = RegisterName(6); // FIX;
// Color the preColored registers.
//
VirtualRegisterManager& vrManager = registerAllocator.vrManager;
RegisterName* name2range = registerAllocator.name2range;
PreColoredRegister* machineEnd = vrManager.getMachineRegistersEnd();
for (PreColoredRegister* machinePtr = vrManager.getMachineRegistersBegin(); machinePtr < machineEnd; machinePtr++)
if (machinePtr->id != invalidID) {
color[name2range[getName(machinePtr->id)]] = machinePtr->color;
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\twill preColor range %d as %d\n", name2range[getName(machinePtr->id)], machinePtr->color));
}
SpillCost* cost = registerAllocator.spillCost;
Pool& pool = registerAllocator.pool;
SparseSet& spill = *new(pool) SparseSet(pool, rangeCount);
registerAllocator.willSpill = &spill;
SparseSet neighborColors(pool, 6); // FIX
InterferenceGraph<RegisterPressure>& iGraph = registerAllocator.iGraph;
bool coloringFailed = false;
while (coloringStackPtr > coloringStack) {
RegisterName range = *--coloringStackPtr;
if (!cost[range].infinite && cost[range].cost < 0) {
coloringFailed = true;
spill.set(range);
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\tfailed to color %d, will spill.\n", range));
} else {
neighborColors.clear();
for (InterferenceVector* vector = iGraph.getInterferenceVector(range); vector != NULL; vector = vector->next)
for (Int32 i = vector->count - 1; i >= 0; --i) {
RegisterName neighborColor = color[vector->neighbors[i]];
if (neighborColor < 6) // FIX
neighborColors.set(neighborColor);
}
if (neighborColors.getSize() == 6) { // FIX
coloringFailed = true;
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\tfailed to color %d, ", range));
if (!Splits<RegisterPressure>::findSplit(registerAllocator, color, range)) {
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("will spill.\n"));
spill.set(range);
} else
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("will split.\n"));
} else {
for (Uint32 i = 0; i < 6; i++) // FIX
if (!neighborColors.test(i)) {
fprintf(stdout, "\twill color %d as %d\n", range, i);
color[range] = RegisterName(i);
break;
}
}
}
}
#ifdef DEBUG_LOG
if (coloringFailed) {
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("Coloring failed:\n"));
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\twill spill: "));
spill.printPretty(UT_LOG_MODULE(RegAlloc));
} else {
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("Coloring succeeded:\n"));
for (Uint32 i = 1; i < rangeCount; i++)
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\trange %d colored as %d\n", i, color[i]));
}
#endif
return !coloringFailed;
}
template <class RegisterPressure>
RegisterName* Coloring<RegisterPressure>::simplify(RegisterAllocator& registerAllocator, RegisterName* coloringStack)
{
InterferenceGraph<RegisterPressure>& iGraph = registerAllocator.iGraph;
SpillCost* spillCost = registerAllocator.spillCost;
Uint32 rangeCount = registerAllocator.rangeCount;
Uint32* degree = new Uint32[rangeCount];
for (RegisterName i = RegisterName(1); i < rangeCount; i = RegisterName(i + 1)) {
InterferenceVector* vector = iGraph.getInterferenceVector(i);
degree[i] = (vector != NULL) ? vector->count : 0;
}
Pool& pool = registerAllocator.pool;
SparseSet low(pool, rangeCount);
SparseSet high(pool, rangeCount);
SparseSet highInfinite(pool, rangeCount);
SparseSet preColored(pool, rangeCount);
// Get the precolored registers.
//
VirtualRegisterManager& vrManager = registerAllocator.vrManager;
RegisterName* name2range = registerAllocator.name2range;
PreColoredRegister* machineEnd = vrManager.getMachineRegistersEnd();
for (PreColoredRegister* machinePtr = vrManager.getMachineRegistersBegin(); machinePtr < machineEnd; machinePtr++)
if (machinePtr->id != invalidID)
preColored.set(name2range[getName(machinePtr->id)]);
// Insert the live ranges in the sets.
//
for (Uint32 range = 1; range < rangeCount; range++)
if (!preColored.test(range))
if (degree[range] < 6) // FIX
low.set(range);
else if (!spillCost[range].infinite)
high.set(range);
else
highInfinite.set(range);
#ifdef DEBUG_LOG
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("Coloring sets:\n\tlow = "));
low.printPretty(UT_LOG_MODULE(RegAlloc));
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\thigh = "));
high.printPretty(UT_LOG_MODULE(RegAlloc));
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\thighInfinite = "));
highInfinite.printPretty(UT_LOG_MODULE(RegAlloc));
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\tpreColored = "));
preColored.printPretty(UT_LOG_MODULE(RegAlloc));
#endif // DEBUG_LOG
RegisterName* coloringStackPtr = coloringStack;
while (low.getSize() != 0 || high.getSize() != 0) {
while (low.getSize() != 0) {
RegisterName range = RegisterName(low.getOne());
low.clear(range);
*coloringStackPtr++ = range;
for (InterferenceVector* vector = iGraph.getInterferenceVector(range); vector != NULL; vector = vector->next)
for (Int32 i = (vector->count - 1); i >= 0; --i) {
RegisterName neighbor = vector->neighbors[i];
degree[neighbor]--;
if (degree[neighbor] < 6) // FIX
if (high.test(neighbor)) {
high.clear(neighbor);
low.set(neighbor);
} else if (highInfinite.test(neighbor)) {
highInfinite.clear(neighbor);
low.set(neighbor);
}
}
}
if (high.getSize() != 0) {
RegisterName best = RegisterName(high.getOne());
double bestCost = spillCost[best].cost;
double bestDegree = degree[best];
// Choose the next best candidate.
//
for (SparseSet::iterator i = high.begin(); !high.done(i); i = high.advance(i)) {
RegisterName range = RegisterName(high.get(i));
double thisCost = spillCost[range].cost;
double thisDegree = degree[range];
if (thisCost * bestDegree < bestCost * thisDegree) {
best = range;
bestCost = thisCost;
bestDegree = thisDegree;
}
}
high.clear(best);
low.set(best);
}
}
assert(highInfinite.getSize() == 0);
delete degree;
#ifdef DEBUG_LOG
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("Coloring stack:\n\t"));
for (RegisterName* sp = coloringStack; sp < coloringStackPtr; ++sp)
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("%d ", *sp));
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\n"));
#endif // DEBUG_LOG
return coloringStackPtr;
}
template <class RegisterPressure>
bool Coloring<RegisterPressure>::color(RegisterAllocator& registerAllocator)
{
RegisterName* coloringStack = new RegisterName[registerAllocator.rangeCount];
return select(registerAllocator, coloringStack, simplify(registerAllocator, coloringStack));
}

View File

@@ -1,212 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include <string.h>
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "DominatorGraph.h"
DominatorGraph::DominatorGraph(ControlGraph& controlGraph) : controlGraph(controlGraph)
{
Uint32 nNodes = controlGraph.nNodes;
GtoV = new Uint32[nNodes + 1];
VtoG = new Uint32[nNodes + 1];
Uint32 v = 1;
for (Uint32 n = 0; n < nNodes; n++) {
VtoG[v] = n;
GtoV[n] = v++;
}
// Initialize all the 1-based arrays.
//
parent = new Uint32[v];
semi = new Uint32[v];
vertex = new Uint32[v];
label = new Uint32[v];
size = new Uint32[v];
ancestor = new Uint32[v];
child = new Uint32[v];
dom = new Uint32[v];
bucket = new DGLinkedList*[v];
memset(semi, '\0', v * sizeof(Uint32));
memset(bucket, '\0', v * sizeof(DGLinkedList*));
vCount = v;
build();
delete parent;
delete semi;
delete vertex;
delete label;
delete size;
delete ancestor;
delete child;
delete dom;
delete bucket;
}
Uint32 DominatorGraph::DFS(Uint32 vx, Uint32 n)
{
semi[vx] = ++n;
vertex[n] = label[vx] = vx;
ancestor[vx] = child[vx] = 0;
size[vx] = 1;
ControlNode& node = *controlGraph.dfsList[VtoG[vx]];
ControlEdge* successorEnd = node.getSuccessorsEnd();
for (ControlEdge* successorPtr = node.getSuccessorsBegin(); successorPtr < successorEnd; successorPtr++) {
Uint32 w = GtoV[successorPtr->getTarget().dfsNum];
if (semi[w] == 0) {
parent[w] = vx;
n = DFS(w, n);
}
}
return n;
}
void DominatorGraph::LINK(Uint32 vx, Uint32 w)
{
Uint32 s = w;
while (semi[label[w]] < semi[label[child[s]]]) {
if (size[s] + size[child[child[s]]] >= (size[child[s]] << 1)) {
ancestor[child[s]] = s;
child[s] = child[child[s]];
} else {
size[child[s]] = size[s];
s = ancestor[s] = child[s];
}
}
label[s] = label[w];
size[vx] += size[w];
if(size[vx] < (size[w] << 1)) {
Uint32 t = s;
s = child[vx];
child[vx] = t;
}
while( s != 0 ) {
ancestor[s] = vx;
s = child[s];
}
}
void DominatorGraph::COMPRESS(Uint32 vx)
{
if(ancestor[ancestor[vx]] != 0) {
COMPRESS(ancestor[vx]);
if(semi[label[ancestor[vx]]] < semi[label[vx]])
label[vx] = label[ancestor[vx]];
ancestor[vx] = ancestor[ancestor[vx]];
}
}
Uint32 DominatorGraph::EVAL(Uint32 vx)
{
if(ancestor[vx] == 0)
return label[vx];
COMPRESS(vx);
return (semi[label[ancestor[vx]]] >= semi[label[vx]]) ? label[vx] : label[ancestor[vx]];
}
void DominatorGraph::build()
{
Uint32 n = DFS(GtoV[0], 0);
size[0] = label[0] = semi[0];
for (Uint32 i = n; i >= 2; i--) {
Uint32 w = vertex[i];
ControlNode& node = *controlGraph.dfsList[VtoG[w]];
const DoublyLinkedList<ControlEdge>& predecessors = node.getPredecessors();
for (DoublyLinkedList<ControlEdge>::iterator p = predecessors.begin(); !predecessors.done(p); p = predecessors.advance(p)) {
Uint32 vx = GtoV[predecessors.get(p).getSource().dfsNum];
Uint32 u = EVAL(vx);
if(semi[u] < semi[w])
semi[w] = semi[u];
}
DGLinkedList* elem = new DGLinkedList();
elem->next = bucket[vertex[semi[w]]];
elem->index = w;
bucket[vertex[semi[w]]] = elem;
LINK(parent[w], w);
elem = bucket[parent[w]];
while(elem != NULL) {
Uint32 vx = elem->index;
Uint32 u = EVAL(vx);
dom[vx] = (semi[u] < semi[vx]) ? u : parent[w];
elem = elem->next;
}
}
memset(size, '\0', n * sizeof(Uint32));
Pool& pool = controlGraph.pool;
nodes = new(pool) DGNode[n];
for(Uint32 j = 2; j <= n; j++) {
Uint32 w = vertex[j];
Uint32 d = dom[w];
if(d != vertex[semi[w]]) {
d = dom[d];
dom[w] = d;
}
size[d]++;
}
dom[GtoV[0]] = 0;
for (Uint32 k = 1; k <= n; k++) {
DGNode& node = nodes[VtoG[k]];
Uint32 count = size[k];
node.successorsEnd = node.successorsBegin = (count) ? new(pool) Uint32[count] : (Uint32*) 0;
}
for (Uint32 l = 2; l <= n; l++)
*(nodes[VtoG[dom[l]]].successorsEnd)++ = VtoG[l];
}
#ifdef DEBUG_LOG
void DominatorGraph::printPretty(LogModuleObject log)
{
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("Dominator Graph:\n"));
Uint32 nNodes = controlGraph.nNodes;
for (Uint32 i = 0; i < nNodes; i++) {
DGNode& node = nodes[i];
if (node.successorsBegin != node.successorsEnd) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\tN%d dominates ", i));
for (Uint32* successorsPtr = node.successorsBegin; successorsPtr < node.successorsEnd; successorsPtr++)
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("N%d ", *successorsPtr));
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\n"));
}
}
}
#endif // DEBUG_LOG

View File

@@ -1,80 +0,0 @@
/* -*- 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 _DOMINATOR_GRAPH_H_
#define _DOMINATOR_GRAPH_H_
#include "LogModule.h"
class ControlGraph;
struct DGNode
{
Uint32* successorsBegin;
Uint32* successorsEnd;
};
struct DGLinkedList
{
DGLinkedList* next;
Uint32 index;
};
class DominatorGraph
{
private:
ControlGraph& controlGraph;
Uint32 vCount;
Uint32* VtoG;
Uint32* GtoV;
Uint32* parent;
Uint32* semi;
Uint32* vertex;
Uint32* label;
Uint32* size;
Uint32* ancestor;
Uint32* child;
Uint32* dom;
DGLinkedList** bucket;
DGNode* nodes;
private:
void build();
Uint32 DFS(Uint32 vx, Uint32 n);
void LINK(Uint32 vx, Uint32 w);
void COMPRESS(Uint32 vx);
Uint32 EVAL(Uint32 vx);
public:
DominatorGraph(ControlGraph& controlGraph);
Uint32* getSuccessorsBegin(Uint32 n) const {return nodes[n].successorsBegin;}
Uint32* getSuccessorsEnd(Uint32 n) const {return nodes[n].successorsEnd;}
#ifdef DEBUG_LOG
void printPretty(LogModuleObject log);
#endif // DEBUG_LOG
};
#endif // _DOMINATOR_GRAPH_H_

View File

@@ -1,20 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "HashSet.h"

View File

@@ -1,97 +0,0 @@
/* -*- 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 _HASH_SET_H_
#define _HASH_SET_H_
#include "Fundamentals.h"
#include "Pool.h"
#include <string.h>
struct HashSetElement
{
Uint32 index;
HashSetElement* next;
};
class HashSet
{
private:
static const hashSize = 64;
// Return the hash code for the given element index.
static Uint32 getHashCode(Uint32 index) {return index & (hashSize - 1);} // Could be better !
private:
Pool& allocationPool;
HashSetElement** bucket;
HashSetElement* free;
private:
// No copy constructor.
HashSet(const HashSet&);
// No copy operator.
void operator = (const HashSet&);
public:
// Create a new HashSet.
inline HashSet(Pool& pool, Uint32 universeSize);
// Clear the hashset.
void clear();
// Clear the element for the given index.
void clear(Uint32 index);
// Set the element for the given index.
void set(Uint32 index);
// Return true if the element at index is a member.
bool test(Uint32 index) const;
// Union with the given hashset.
inline void or(const HashSet& set);
// Intersection with the given hashset.
inline void and(const HashSet& set);
// Difference with the given hashset.
inline void difference(const HashSet& set);
// Logical operators.
HashSet& operator |= (const HashSet& set) {or(set); return *this;}
HashSet& operator &= (const HashSet& set) {and(set); return *this;}
HashSet& operator -= (const HashSet& set) {difference(set); return *this;}
// Iterator to conform with the set API.
typedef HashSetElement* iterator;
// Return the iterator for the first element of this set.
iterator begin() const;
// Return the next iterator.
iterator advance(iterator pos) const;
// Return true if the iterator is at the end of the set.
bool done(iterator pos) const {return pos == NULL;}
};
inline HashSet::HashSet(Pool& pool, Uint32 /*universeSize*/)
: allocationPool(pool), free(NULL)
{
bucket = new(pool) HashSetElement*[hashSize];
memset(bucket, '\0', sizeof(HashSetElement*));
}
#endif // _HASH_SET_H_

View File

@@ -1,213 +0,0 @@
/* -*- 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 _INDEXED_POOL_H_
#define _INDEXED_POOL_H_
#include "Fundamentals.h"
#include <string.h>
#include <stdlib.h>
//------------------------------------------------------------------------------
// IndexedPool<IndexedObjectSubclass> is an indexed pool of objects. The
// template parameter 'IndexedObjectSubclass' must be a subclass of the struct
// IndexedObject.
//
// When the indexed pool is ask to allocate and initialize a new object (using
// the operator new(anIndexedPool) it will zero the memory used to store the
// object and initialize the field 'index' of this object to its position in
// the pool.
//
// An object allocated by the indexed pool can be freed by calling the method
// IndexedPool::release(IndexedElement& objectIndex).
//
// example:
//
// IndexedPool<IndexedElement> elementPool;
//
// IndexedElement& element1 = *new(elementPool) IndexedElement();
// IndexedElement& element2 = *new(elementPool) IndexedElement();
//
// indexedPool.release(element1);
// IndexedElement& element3 = *new(elementPool) IndexedElement();
//
// At this point element1 is no longer a valid object, element2 is at
// index 2 and element3 is at index 1.
//
//------------------------------------------------------------------------------
// IndexedObject -
//
template<class Object>
struct IndexedObject
{
Uint32 index; // Index in the pool.
Object* next; // Used to link IndexedObject together.
Uint32 getIndex() {return index;}
};
//------------------------------------------------------------------------------
// IndexedPool<IndexedObject> -
//
template <class IndexedObject>
class IndexedPool
{
private:
static const blockSize = 4; // Size of one block.
Uint32 nBlocks; // Number of blocks in the pool.
IndexedObject** block; // Array of block pointers.
IndexedObject* freeObjects; // Chained list of free IndexedObjects.
Uint32 nextIndex; // Index of the next free object in the last block.
private:
void allocateAnotherBlock();
IndexedObject& newObject();
public:
IndexedPool() : nBlocks(0), block(NULL), freeObjects(NULL), nextIndex(1) {}
~IndexedPool();
IndexedObject& get(Uint32 index) const;
void release(IndexedObject& object);
void setSize(Uint32 size) {assert(size < nextIndex); nextIndex = size;}
// Return the universe size.
Uint32 getSize() {return nextIndex;}
friend void* operator new(size_t, IndexedPool<IndexedObject>& pool); // Needs to call newObject().
};
// Free all the memory allocated for this object.
//
template <class IndexedObject>
IndexedPool<IndexedObject>::~IndexedPool()
{
for (Uint32 n = 0; n < nBlocks; n++)
free(&((IndexedObject **) &block[n][n*blockSize])[-(n + 1)]);
}
// Release the given. This object will be iserted in the chained
// list of free IndexedObjects. To minimize the fragmentation the chained list
// is ordered by ascending indexes.
//
template <class IndexedObject>
void IndexedPool<IndexedObject>::release(IndexedObject& object)
{
Uint32 index = object.index;
IndexedObject* list = freeObjects;
assert(&object == &get(index)); // Make sure that object is owned by this pool.
if (list == NULL) { // The list is empty.
freeObjects = &object;
object.next = NULL;
} else { // The list contains at least 1 element.
if (index < list->index) { // insert as first element.
freeObjects = &object;
object.next = list;
} else { // Find this object's place.
while ((list->next) != NULL && (list->next->index < index))
list = list->next;
object.next = list->next;
list->next = &object;
}
}
#ifdef DEBUG
// Sanity check to be sure that the list is correctly ordered.
for (IndexedObject* obj = freeObjects; obj != NULL; obj = obj->next)
if (obj->next != NULL)
assert(obj->index < obj->next->index);
#endif
}
// Create a new block of IndexedObjects. We will allocate the memory to
// store IndexedPool::blockSize IndexedObject and the new Array of block
// pointers.
// The newly created IndexedObjects will not be initialized.
//
template <class IndexedObject>
void IndexedPool<IndexedObject>::allocateAnotherBlock()
{
void* memory = (void *) malloc((nBlocks + 1) * sizeof(Uint32) + blockSize * sizeof(IndexedObject));
memcpy(memory, block, nBlocks * sizeof(Uint32));
block = (IndexedObject **) memory;
IndexedObject* objects = (IndexedObject *) &block[nBlocks + 1];
block[nBlocks] = &objects[-(nBlocks * blockSize)];
nBlocks++;
}
// Return the IndexedObject at the position 'index' in the pool.
//
template <class IndexedObject>
IndexedObject& IndexedPool<IndexedObject>::get(Uint32 index) const
{
Uint32 blockIndex = index / blockSize;
assert(blockIndex < nBlocks);
return block[blockIndex][index];
}
// Return the reference of an unused object in the pool.
//
template <class IndexedObject>
IndexedObject& IndexedPool<IndexedObject>::newObject()
{
if (freeObjects != NULL) {
IndexedObject& newObject = *freeObjects;
freeObjects = newObject.next;
return newObject;
}
Uint32 nextIndex = this->nextIndex++;
Uint32 blockIndex = nextIndex / blockSize;
while (blockIndex >= nBlocks)
allocateAnotherBlock();
IndexedObject& newObject = block[blockIndex][nextIndex];
newObject.index = nextIndex;
return newObject;
}
// Return the address of the next unsused object in the given
// indexed pool. The field index of the newly allocated object
// will be initialized to the corresponding index of this object
// in the pool.
//
template <class IndexedObject>
void* operator new(size_t size, IndexedPool<IndexedObject>& pool)
{
assert(size == sizeof(IndexedObject));
return (void *) &pool.newObject();
}
#endif // _INDEXED_POOL_H_

View File

@@ -1,258 +0,0 @@
/* -*- 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 _INTERFERENCE_GRAPH_H_
#define _INTERFERENCE_GRAPH_H_
#include "Fundamentals.h"
#include "ControlGraph.h"
#include "Primitives.h"
#include "Instruction.h"
#include "VirtualRegister.h"
#include "RegisterPressure.h"
#include "SparseSet.h"
#include <string.h>
struct InterferenceVector
{
Uint32 count;
InterferenceVector* next;
RegisterName* neighbors;
InterferenceVector() : count(0), next(NULL) {}
};
class RegisterAllocator;
template <class RegisterPressure>
class InterferenceGraph
{
private:
RegisterAllocator& registerAllocator;
RegisterPressure::Set* interferences;
InterferenceVector** vector;
Uint32* offset;
Uint32 rangeCount;
private:
// No copy constructor.
InterferenceGraph(const InterferenceGraph&);
// No copy operator.
void operator = (const InterferenceGraph&);
// Check if reg is a member of the universe.
void checkMember(RegisterName name) {assert(name < rangeCount);}
// Return the edge index for the interference between name1 and name2.
Uint32 getEdgeIndex(RegisterName name1, RegisterName name2);
public:
InterferenceGraph(RegisterAllocator& registerAllocator) : registerAllocator(registerAllocator) {}
// Calculate the interferences.
void build();
// Return true if reg1 and reg2 interfere.
bool interfere(RegisterName name1, RegisterName name2);
// Return the interference vector for the given register or NULL if there is none.
InterferenceVector* getInterferenceVector(RegisterName name) {return vector[name];}
// Set the interference between name1 and name2.
void setInterference(RegisterName name1, RegisterName name2);
// Set the interference vector for the given register.
void setInterferenceVector(RegisterName name, InterferenceVector* v) {vector[name] = v;}
#ifdef DEBUG_LOG
// Print the interferences.
void printPretty(LogModuleObject log);
#endif // DEBUG_LOG
};
template <class RegisterPressure>
void InterferenceGraph<RegisterPressure>::build()
{
Pool& pool = registerAllocator.pool;
Uint32 rangeCount = registerAllocator.rangeCount;
this->rangeCount = rangeCount;
// Initialize the structures.
//
offset = new(pool) Uint32[rangeCount + 1];
vector = new(pool) InterferenceVector*[rangeCount];
memset(vector, '\0', sizeof(InterferenceVector*) * rangeCount);
Uint32 o = 0;
offset[0] = 0;
for (Uint32 i = 1; i <= rangeCount; ++i) {
offset[i] = o;
o += i;
}
interferences = new(pool) RegisterPressure::Set(pool, (rangeCount * rangeCount) / 2);
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
RegisterName* name2range = registerAllocator.name2range;
LivenessInfo<RegisterPressure> liveness = Liveness<RegisterPressure>::analysis(controlGraph, rangeCount, name2range);
registerAllocator.liveness = liveness;
SparseSet currentLive(pool, rangeCount);
for (Uint32 n = 0; n < nNodes; n++) {
ControlNode& node = *nodes[n];
currentLive = liveness.liveOut[n];
InstructionList& instructions = node.getInstructions();
for (InstructionList::iterator i = instructions.end(); !instructions.done(i); i = instructions.retreat(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useBegin = instruction.getInstructionUseBegin();
InstructionUse* useEnd = instruction.getInstructionUseEnd();
InstructionUse* usePtr;
InstructionDefine* defineBegin = instruction.getInstructionDefineBegin();
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
InstructionDefine* definePtr;
// Handle the copy instruction to avoid unnecessary interference between the 2 registers.
if ((instruction.getFlags() & ifCopy) != 0) {
assert(useBegin != useEnd && useBegin[0].isRegister());
currentLive.clear(name2range[useBegin[0].getRegisterName()]);
}
// Create the interferences.
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
RegisterName define = name2range[definePtr->getRegisterName()];
for (SparseSet::iterator e = currentLive.begin(); !currentLive.done(e); e = currentLive.advance(e)) {
RegisterName live = RegisterName(currentLive.get(e));
if ((live != define) && !interfere(live, define) && registerAllocator.canInterfere(live, define)) {
if (vector[define] == NULL)
vector[define] = new(pool) InterferenceVector();
vector[define]->count++;
if (vector[live] == NULL)
vector[live] = new(pool) InterferenceVector();
vector[live]->count++;
setInterference(live, define);
}
}
}
// Now update the liveness.
//
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
currentLive.clear(name2range[definePtr->getRegisterName()]);
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
currentLive.set(name2range[usePtr->getRegisterName()]);
}
}
// Allocate the memory to store the interferences.
//
for (Uint32 e = 0; e < rangeCount; e++)
if (vector[e] != NULL) {
InterferenceVector& v = *vector[e];
v.neighbors = new(pool) RegisterName[v.count];
v.count = 0;
}
// Initialize the edges.
//
if (RegisterPressure::Set::isOrdered()) {
RegisterName name1 = RegisterName(0);
for (RegisterPressure::Set::iterator i = interferences->begin(); !interferences->done(i); i = interferences->advance(i)) {
Uint32 interferenceIndex = interferences->get(i);
while(interferenceIndex >= offset[name1 + 1])
name1 = RegisterName(name1 + 1);
assert((interferenceIndex >= offset[name1]) && (interferenceIndex < offset[name1 + 1]));
RegisterName name2 = RegisterName(interferenceIndex - offset[name1]);
assert(interfere(name1, name2));
InterferenceVector& vector1 = *vector[name1];
vector1.neighbors[vector1.count++] = name2;
InterferenceVector& vector2 = *vector[name2];
vector2.neighbors[vector2.count++] = name1;
}
} else {
trespass("not Implemented"); // FIX: need one more pass to initialize the vectors.
}
}
template <class RegisterPressure>
Uint32 InterferenceGraph<RegisterPressure>::getEdgeIndex(RegisterName name1, RegisterName name2)
{
checkMember(name1); checkMember(name2);
assert(name1 != name2); // This is not possible.
return (name1 < name2) ? offset[name2] + name1 : offset[name1] + name2;
}
template <class RegisterPressure>
void InterferenceGraph<RegisterPressure>::setInterference(RegisterName name1, RegisterName name2)
{
interferences->set(getEdgeIndex(name1, name2));
}
template <class RegisterPressure>
bool InterferenceGraph<RegisterPressure>::interfere(RegisterName name1, RegisterName name2)
{
return interferences->test(getEdgeIndex(name1, name2));
}
#ifdef DEBUG_LOG
template <class RegisterPressure>
void InterferenceGraph<RegisterPressure>::printPretty(LogModuleObject log)
{
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("Interference Vectors:\n"));
for (Uint32 i = 1; i < rangeCount; i++) {
if (vector[i] != NULL) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\tvr%d: (", i));
for (InterferenceVector* v = vector[i]; v != NULL; v = v->next)
for (Uint32 j = 0; j < v->count; j++) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("%d", v->neighbors[j]));
if (v->next != NULL || j != (v->count - 1))
UT_OBJECTLOG(log, PR_LOG_ALWAYS, (","));
}
UT_OBJECTLOG(log, PR_LOG_ALWAYS, (")\n"));
}
}
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("Interference Matrix:\n"));
for (RegisterName name1 = RegisterName(1); name1 < rangeCount; name1 = RegisterName(name1 + 1)) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\t%d:\t", name1));
for (RegisterName name2 = RegisterName(1); name2 < rangeCount; name2 = RegisterName(name2 + 1))
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("%c", ((name1 != name2) && interfere(name1, name2)) ? '1' : '0'));
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\n"));
}
}
#endif // DEBUG_LOG
#endif // _INTERFERENCE_GRAPH_H_

View File

@@ -1,87 +0,0 @@
/* -*- 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 _LIVE_RANGE_H_
#define _LIVE_RANGE_H_
#include "Fundamentals.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Primitives.h"
#include "Instruction.h"
#include "RegisterAllocator.h"
#include "RegisterAllocatorTools.h"
template <class RegisterPressure>
struct LiveRange
{
static void build(RegisterAllocator& registerAllocator);
};
template <class RegisterPressure>
void LiveRange<RegisterPressure>::build(RegisterAllocator& registerAllocator)
{
// Intialize the lookup table.
//
Uint32 nameCount = registerAllocator.nameCount;
RegisterName* nameTable = new(registerAllocator.pool) RegisterName[2*nameCount];
RegisterName* rangeName = &nameTable[nameCount];
init(rangeName, nameCount);
// Walk the graph.
//
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
SparseSet destination(registerAllocator.pool, nameCount);
for (Uint32 n = 0; n < nNodes; n++) {
InstructionList& phiNodes = nodes[n]->getPhiNodeInstructions();
destination.clear();
for (InstructionList::iterator i = phiNodes.begin(); !phiNodes.done(i); i = phiNodes.advance(i)) {
Instruction& phiNode = phiNodes.get(i);
assert(phiNode.getInstructionDefineBegin() != phiNode.getInstructionDefineEnd() && phiNode.getInstructionDefineBegin()[0].isRegister());
destination.set(findRoot(phiNode.getInstructionDefineBegin()[0].getRegisterName(), rangeName));
}
for (InstructionList::iterator p = phiNodes.begin(); !phiNodes.done(p); p = phiNodes.advance(p)) {
Instruction& phiNode = phiNodes.get(p);
assert(phiNode.getInstructionDefineBegin() != phiNode.getInstructionDefineEnd() && phiNode.getInstructionDefineBegin()[0].isRegister());
RegisterName destinationName = phiNode.getInstructionDefineBegin()[0].getRegisterName();
RegisterName destinationRoot = findRoot(destinationName, rangeName);
InstructionUse* useEnd = phiNode.getInstructionUseEnd();
for (InstructionUse* usePtr = phiNode.getInstructionUseBegin(); usePtr < useEnd; usePtr++) {
assert(usePtr->isRegister());
RegisterName sourceName = usePtr->getRegisterName();
RegisterName sourceRoot = findRoot(sourceName, rangeName);
if (sourceRoot != destinationRoot && !destination.test(sourceRoot))
rangeName[sourceRoot] = destinationRoot;
}
}
}
registerAllocator.rangeCount = compress(registerAllocator.name2range, rangeName, nameCount, nameCount);
}
#endif // _LIVE_RANGE_H_

View File

@@ -1,163 +0,0 @@
/* -*- 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 _LIVE_RANGE_GRAPH_
#define _LIVE_RANGE_GRAPH_
#include "Fundamentals.h"
#include "Pool.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Instruction.h"
#include "RegisterTypes.h"
class RegisterAllocator;
template <class RegisterPressure>
class LiveRangeGraph
{
private:
RegisterAllocator& registerAllocator;
RegisterPressure::Set* edges;
Uint32 rangeCount;
public:
//
//
LiveRangeGraph(RegisterAllocator& registerAllocator) : registerAllocator(registerAllocator) {}
//
//
void build();
//
//
void addEdge(RegisterName name1, RegisterName name2);
//
//
bool haveEdge(RegisterName name1, RegisterName name2);
#ifdef DEBUG_LOG
//
//
void printPretty(LogModuleObject log);
#endif // DEBUG_LOG
};
template <class RegisterPressure>
void LiveRangeGraph<RegisterPressure>::build()
{
Pool& pool = registerAllocator.pool;
Uint32 rangeCount = registerAllocator.rangeCount;
this->rangeCount = rangeCount;
edges = new(pool) RegisterPressure::Set(pool, rangeCount * rangeCount);
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
RegisterName* name2range = registerAllocator.name2range;
LivenessInfo<RegisterPressure>& liveness = registerAllocator.liveness;
SparseSet currentLive(pool, rangeCount);
for (Uint32 n = 0; n < nNodes; n++) {
ControlNode& node = *nodes[n];
currentLive = liveness.liveOut[n];
InstructionList& instructions = node.getInstructions();
for (InstructionList::iterator i = instructions.end(); !instructions.done(i); i = instructions.retreat(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useBegin = instruction.getInstructionUseBegin();
InstructionUse* useEnd = instruction.getInstructionUseEnd();
InstructionUse* usePtr;
InstructionDefine* defineBegin = instruction.getInstructionDefineBegin();
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
InstructionDefine* definePtr;
if ((instruction.getFlags() & ifCopy) != 0) {
assert(useBegin != useEnd && useBegin[0].isRegister());
currentLive.clear(name2range[useBegin[0].getRegisterName()]);
}
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
RegisterName define = name2range[definePtr->getRegisterName()];
for (SparseSet::iterator l = currentLive.begin(); !currentLive.done(l); l = currentLive.advance(l)) {
RegisterName live = RegisterName(currentLive.get(l));
if (define != live && registerAllocator.canInterfere(define, live))
addEdge(define, live);
}
}
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
currentLive.clear(name2range[definePtr->getRegisterName()]);
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
currentLive.set(name2range[usePtr->getRegisterName()]);
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName use = name2range[usePtr->getRegisterName()];
for (SparseSet::iterator l = currentLive.begin(); !currentLive.done(l); l = currentLive.advance(l)) {
RegisterName live = RegisterName(currentLive.get(l));
if (use != live && registerAllocator.canInterfere(use, live))
addEdge(use, live);
}
}
}
}
}
template <class RegisterPressure>
void LiveRangeGraph<RegisterPressure>::addEdge(RegisterName name1, RegisterName name2)
{
assert(name1 != name2);
edges->set(name1 * rangeCount + name2);
}
template <class RegisterPressure>
bool LiveRangeGraph<RegisterPressure>::haveEdge(RegisterName name1, RegisterName name2)
{
assert(name1 != name2);
return edges->test(name1 * rangeCount + name2);
}
#ifdef DEBUG_LOG
template <class RegisterPressure>
void LiveRangeGraph<RegisterPressure>::printPretty(LogModuleObject log)
{
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("Live ranges graph:\n"));
for (RegisterName name1 = RegisterName(1); name1 < rangeCount; name1 = RegisterName(name1 + 1)) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\t%d:\t", name1));
for (RegisterName name2 = RegisterName(1); name2 < rangeCount; name2 = RegisterName(name2 + 1))
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("%c", ((name1 != name2) && haveEdge(name1, name2)) ? '1' : '0'));
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\n"));
}
}
#endif // DEBUG_LOG
#endif // _LIVE_RANGE_GRAPH_

View File

@@ -1,21 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "Liveness.h"

View File

@@ -1,301 +0,0 @@
/* -*- 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 _LIVENESS_H_
#define _LIVENESS_H_
#include "Fundamentals.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Instruction.h"
#include "RegisterTypes.h"
// ----------------------------------------------------------------------------
// LivenessInfo -
template <class RegisterPressure>
struct LivenessInfo
{
RegisterPressure::Set* liveIn;
RegisterPressure::Set* liveOut;
DEBUG_LOG_ONLY(Uint32 size);
#ifdef DEBUG_LOG
void printPretty(LogModuleObject log);
#endif // DEBUG_LOG
};
// ----------------------------------------------------------------------------
// Liveness
//
// The liveness is defined by the following data-flow equations:
//
// LiveIn(n) = LocalLive(n) U (LiveOut(n) - Killed(n)).
// LiveOut(n) = U LiveIn(s) (s a successor of n).
//
// where LocalLive(n) is the set of used registers in the block n, Killed(n)
// is the set of defined registers in the block n, LiveIn(n) is the set of
// live registers at the begining of the block n and LiveOut(n) is the set
// of live registers at the end of the block n.
//
//
// We will compute the liveness analysis in two stages:
//
// 1- Build LocalLive(n) (wich is an approximation of LiveIn(n)) and Killed(n)
// for each block n.
// 2- Perform a backward data-flow analysis to propagate the liveness information
// through the entire control-flow graph.
//
template <class RegisterPressure>
struct Liveness
{
static LivenessInfo<RegisterPressure> analysis(ControlGraph& controlGraph, Uint32 rangeCount, const RegisterName* name2range);
static LivenessInfo<RegisterPressure> analysis(ControlGraph& controlGraph, Uint32 nameCount);
};
template <class RegisterPressure>
LivenessInfo<RegisterPressure> Liveness<RegisterPressure>::analysis(ControlGraph& controlGraph, Uint32 rangeCount, const RegisterName* name2range)
{
Pool& pool = controlGraph.pool;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
// Allocate the temporary sets.
RegisterPressure::Set* killed = new(pool) RegisterPressure::Set[nNodes](pool, rangeCount);
// Allocate the globals sets.
RegisterPressure::Set* liveIn = new(pool) RegisterPressure::Set[nNodes](pool, rangeCount);
RegisterPressure::Set* liveOut = new(pool) RegisterPressure::Set[nNodes](pool, rangeCount);
// First stage of the liveness analysis: Compute the sets LocalLive(stored in LiveIn) and Killed.
//
for (Uint32 n = 0; n < (nNodes - 1); n++) {
ControlNode& node = *nodes[n];
RegisterPressure::Set& currentLocalLive = liveIn[n];
RegisterPressure::Set& currentKilled = killed[n];
// Find the instructions contributions to the sets LocalLive and Killed.
//
InstructionList& instructions = node.getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
Instruction& instruction = instructions.get(i);
// If a VirtualRegister is 'used' before being 'defined' then we add it to set LocalLive.
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
Uint32 index = name2range[usePtr->getRegisterName()];
if (!currentKilled.test(index))
currentLocalLive.set(index);
}
// If a Virtualregister is 'defined' then we add it to the set Killed.
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
currentKilled.set(name2range[definePtr->getRegisterName()]);
}
}
// Second stage of the liveness analysis: We propagate the LiveIn & LiveOut through the entire
// control-flow graph.
//
RegisterPressure::Set temp(pool, rangeCount);
bool changed;
do {
changed = false;
// For all nodes is this graph except the endNode.
for (Int32 n = (nNodes - 2); n >= 0; n--) {
ControlNode& node = *nodes[n];
RegisterPressure::Set& currentLiveIn = liveIn[n];
RegisterPressure::Set& currentLiveOut = liveOut[n];
// Compute temp = Union of LiveIn(s) (s a successor of this node) | usedByPhiNodes(n).
// temp will be the new LiveOut(n).
Uint32 nSuccessors = node.nSuccessors();
if (nSuccessors != 0) {
temp = liveIn[node.nthSuccessor(0).getTarget().dfsNum];
for (Uint32 s = 1; s < nSuccessors; s++)
temp |= liveIn[node.nthSuccessor(s).getTarget().dfsNum];
} else
temp.clear();
// If temp and LiveOut(n) differ then set LiveOut(n) = temp and recalculate the
// new LiveIn(n).
if (currentLiveOut != temp) {
currentLiveOut = temp;
temp -= killed[n]; // FIX: could be optimized with one call to unionDiff !
temp |= currentLiveIn;
if (currentLiveIn != temp) {
currentLiveIn = temp;
changed = true;
}
}
}
} while(changed);
LivenessInfo<RegisterPressure> liveness;
liveness.liveIn = liveIn;
liveness.liveOut = liveOut;
DEBUG_LOG_ONLY(liveness.size = nNodes);
return liveness;
}
template <class RegisterPressure>
LivenessInfo<RegisterPressure> Liveness<RegisterPressure>::analysis(ControlGraph& controlGraph, Uint32 nameCount)
{
Pool& pool = controlGraph.pool;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
// Allocate the temporary sets.
RegisterPressure::Set* killed = new(pool) RegisterPressure::Set[nNodes](pool, nameCount);
RegisterPressure::Set* usedByPhiNodes = NULL;
// Allocate the globals sets.
RegisterPressure::Set* liveIn = new(pool) RegisterPressure::Set[nNodes](pool, nameCount);
RegisterPressure::Set* liveOut = new(pool) RegisterPressure::Set[nNodes](pool, nameCount);
// First stage of the liveness analysis: Compute the sets LocalLive(stored in LiveIn) and Killed.
//
for (Uint32 n = 0; n < (nNodes - 1); n++) {
ControlNode& node = *nodes[n];
RegisterPressure::Set& currentLocalLive = liveIn[n];
RegisterPressure::Set& currentKilled = killed[n];
InstructionList& phiNodes = node.getPhiNodeInstructions();
if ((usedByPhiNodes == NULL) && !phiNodes.empty())
usedByPhiNodes = new(pool) RegisterPressure::Set[nNodes](pool, nameCount);
for (InstructionList::iterator p = phiNodes.begin(); !phiNodes.done(p); p = phiNodes.advance(p)) {
Instruction& phiNode = phiNodes.get(p);
InstructionDefine& define = phiNode.getInstructionDefineBegin()[0];
currentKilled.set(define.getRegisterName());
typedef DoublyLinkedList<ControlEdge> ControlEdgeList;
const ControlEdgeList& predecessors = node.getPredecessors();
ControlEdgeList::iterator p = predecessors.begin();
InstructionUse* useEnd = phiNode.getInstructionUseEnd();
for (InstructionUse* usePtr = phiNode.getInstructionUseBegin(); usePtr < useEnd; usePtr++, p = predecessors.advance(p))
if (usePtr->isRegister())
usedByPhiNodes[predecessors.get(p).getSource().dfsNum].set(usePtr->getRegisterName());
}
// Find the instructions contributions to the sets LocalLive and Killed.
//
InstructionList& instructions = node.getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
Instruction& instruction = instructions.get(i);
// If a VirtualRegister is 'used' before being 'defined' then we add it to set LocalLive.
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
Uint32 index = usePtr->getRegisterName();
if (!currentKilled.test(index))
currentLocalLive.set(index);
}
// If a Virtualregister is 'defined' then we add it to the set Killed.
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
currentKilled.set(definePtr->getRegisterName());
}
}
// Second stage of the liveness analysis: We propagate the LiveIn & LiveOut through the entire
// control-flow graph.
//
RegisterPressure::Set temp(pool, nameCount);
bool changed;
do {
changed = false;
// For all nodes is this graph except the endNode.
for (Int32 n = (nNodes - 2); n >= 0; n--) {
ControlNode& node = *nodes[n];
RegisterPressure::Set& currentLiveIn = liveIn[n];
RegisterPressure::Set& currentLiveOut = liveOut[n];
// Compute temp = Union of LiveIn(s) (s a successor of this node) | usedByPhiNodes(n).
// temp will be the new LiveOut(n).
Uint32 nSuccessors = node.nSuccessors();
if (nSuccessors != 0) {
temp = liveIn[node.nthSuccessor(0).getTarget().dfsNum];
for (Uint32 s = 1; s < nSuccessors; s++)
temp |= liveIn[node.nthSuccessor(s).getTarget().dfsNum];
} else
temp.clear();
// Insert the phiNodes contribution.
if (usedByPhiNodes != NULL)
temp |= usedByPhiNodes[n];
// If temp and LiveOut(n) differ then set LiveOut(n) = temp and recalculate the
// new LiveIn(n).
if (currentLiveOut != temp) {
currentLiveOut = temp;
temp -= killed[n]; // FIX: could be optimized with one call to unionDiff !
temp |= currentLiveIn;
if (currentLiveIn != temp) {
currentLiveIn = temp;
changed = true;
}
}
}
} while(changed);
LivenessInfo<RegisterPressure> liveness;
liveness.liveIn = liveIn;
liveness.liveOut = liveOut;
DEBUG_LOG_ONLY(liveness.size = nNodes);
return liveness;
}
#ifdef DEBUG_LOG
template <class RegisterPressure>
void LivenessInfo<RegisterPressure>::printPretty(LogModuleObject log)
{
for (Uint32 n = 0; n < size; n++) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("Node N%d:\n\tliveIn = ", n));
liveIn[n].printPretty(log);
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\tliveOut = "));
liveOut[n].printPretty(log);
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\n"));
}
}
#endif // DEBUG_LOG
#endif // _LIVENESS_H_

View File

@@ -1,40 +0,0 @@
#! gmake
DEPTH = ../..
MODULE_NAME = RegisterAllocator
include $(DEPTH)/config/config.mk
INCLUDES += \
-I$(DEPTH)/Utilities/General \
-I$(DEPTH)/Utilities/zlib \
-I$(DEPTH)/Runtime/ClassReader \
-I$(DEPTH)/Runtime/NativeMethods \
-I$(DEPTH)/Runtime/System \
-I$(DEPTH)/Runtime/ClassInfo \
-I$(DEPTH)/Runtime/FileReader \
-I$(DEPTH)/Compiler/PrimitiveGraph \
-I$(DEPTH)/Compiler/FrontEnd \
-I$(DEPTH)/Compiler/Optimizer \
-I$(DEPTH)/Compiler/CodeGenerator \
-I$(DEPTH)/Compiler/CodeGenerator/md \
-I$(DEPTH)/Compiler/CodeGenerator/md/$(CPU_ARCH) \
-I$(DEPTH)/Compiler/RegisterAllocator \
-I$(DEPTH)/Driver/StandAloneJava \
-I$(DEPTH)/Debugger \
$(NULL)
CXXSRCS = \
RegisterAllocator.cpp \
RegisterAllocatorTools.cpp \
DominatorGraph.cpp \
VirtualRegister.cpp \
BitSet.cpp \
SparseSet.cpp \
$(NULL)
include $(DEPTH)/config/rules.mk
libs:: $(MODULE)

View File

@@ -1,392 +0,0 @@
/* -*- 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 _PHI_NODE_REMOVER_H_
#define _PHI_NODE_REMOVER_H_
#include "Fundamentals.h"
#include "Pool.h"
#include "ControlGraph.h"
#include "DominatorGraph.h"
#include "VirtualRegister.h"
#include "RegisterPressure.h"
#include "Liveness.h"
#include "Instruction.h"
#include "InstructionEmitter.h"
#include "SparseSet.h"
#include <string.h>
//------------------------------------------------------------------------------
// RegisterNameNode -
struct RegisterNameNode
{
RegisterNameNode* next;
RegisterName newName;
Uint32 nextPushed;
};
//------------------------------------------------------------------------------
// CopyData -
struct CopyData
{
RegisterName source;
RegisterClassKind classKind;
Uint32 useCount;
bool isLiveOut;
RegisterName sourceNameToUse;
RegisterName temporaryName;
RegisterNameNode* newName;
};
//------------------------------------------------------------------------------
// PhiNodeRemover<RegisterPressure> -
template <class RegisterPressure>
struct PhiNodeRemover
{
// Replace the phi nodes by copy instructions.
static void replacePhiNodes(ControlGraph& controlGraph, VirtualRegisterManager& vrManager, InstructionEmitter& emitter);
};
// Split some of the critical edges and return true if there are still some
// in the graph after that.
//
static bool splitCriticalEdges(ControlGraph& /*cg*/)
{
// FIX: not implemented.
return true;
}
inline void pushName(Pool& pool, RegisterNameNode** stack, SparseSet& pushed, Uint32* nodeListPointer, RegisterName oldName, RegisterName newName)
{
RegisterNameNode& newNode = *new(pool) RegisterNameNode();
if (pushed.test(oldName))
(*stack)->newName = newName;
else {
newNode.newName = newName;
newNode.nextPushed = *nodeListPointer;
*nodeListPointer = oldName;
newNode.next = *stack;
*stack = &newNode;
pushed.set(oldName);
}
}
template <class RegisterPressure>
void PhiNodeRemover<RegisterPressure>::replacePhiNodes(ControlGraph& controlGraph, VirtualRegisterManager& vrManager, InstructionEmitter& emitter)
{
Pool& pool = controlGraph.pool;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
// Initialize the local variables.
//
// When we insert the copies we will also need to create new VirtualRegisters for
// the insertion of temporaries. The maximum number of temporary register will not
// exceed the number of phiNodes in the primitive graph.
Uint32 nameCount = vrManager.getSize();
Uint32 maxNameCount = nameCount;
for (Uint32 n = 0; n < nNodes; n++)
maxNameCount += nodes[n]->getPhiNodes().length();
// If the CFG contains some critical edges (backward edge which source has more than one
// outgoing edge and destination has more than one incomimg edge) then we need the liveness
// information to be able to insert temporary copies.
RegisterPressure::Set* liveOut = NULL;
if (splitCriticalEdges(controlGraph))
liveOut = Liveness<LowRegisterPressure>::analysis(controlGraph, nameCount).liveOut;
DominatorGraph dGraph(controlGraph);
SparseSet pushed(pool, maxNameCount);
SparseSet destinationList(pool, maxNameCount);
SparseSet workList(pool, maxNameCount);
CopyData* copyStats = new(pool) CopyData[maxNameCount];
memset(copyStats, '\0', maxNameCount*sizeof(CopyData));
struct NodeStack {
Uint32* next;
Uint32* limit;
Uint32 pushedList;
};
// Allocate the node stack and initialize the node stack pointer.
NodeStack* nodeStack = new(pool) NodeStack[nNodes + 1];
NodeStack* nodeStackPtr = nodeStack;
// We start by the begin node.
Uint32 startNode = 0;
Uint32* next = &startNode;
Uint32* limit = &startNode + 1;
while (true) {
if (next == limit) {
// If there are no more node in the sibling, we have to pop the current
// frame from the stack and update the copyStats of the pushed nodes.
//
if (nodeStackPtr == nodeStack)
// We are at the bottom of the stack and there are no more nodes
// to look at. We are done !
break;
--nodeStackPtr;
// We are done with all the children of this node in the dominator tree.
// We need to update the copy information of all the new names pushed
// during the walk over this node.
Uint32 pushedList = nodeStackPtr->pushedList;
while (pushedList != 0) {
Uint32 nextName = copyStats[pushedList].newName->nextPushed;
copyStats[pushedList].newName = copyStats[pushedList].newName->next;
pushedList = nextName;
}
// restore the previous frame.
next = nodeStackPtr->next;
limit = nodeStackPtr->limit;
} else {
Uint32 currentNode = *next++;
Uint32 pushedList = 0;
// Initialize the sets.
pushed.clear();
destinationList.clear();
// STEP1:
// Walk the instruction list and to replace all the instruction uses with their new name.
// If the instruction is a phi node and its defined register is alive at the end of this
// block then we push the defined register into the stack.
//
ControlNode& node = *nodes[currentNode];
RegisterPressure::Set* currentLiveOut = (liveOut != NULL) ? &liveOut[currentNode] : (RegisterPressure::Set*) 0;
InstructionList& phiNodes = node.getPhiNodeInstructions();
for (InstructionList::iterator p = phiNodes.begin(); !phiNodes.done(p); p = phiNodes.advance(p)) {
Instruction& phiNode = phiNodes.get(p);
InstructionUse* useEnd = phiNode.getInstructionUseEnd();
for (InstructionUse* usePtr = phiNode.getInstructionUseBegin(); usePtr < useEnd; usePtr++) {
assert(usePtr->isRegister());
RegisterName name = usePtr->getRegisterName();
if (copyStats[name].newName != NULL && copyStats[name].newName->newName != name)
usePtr->setRegisterName(copyStats[name].newName->newName);
}
if (currentLiveOut != NULL) {
// This is a phi node and we have to push its defined name if it is live
// at the end of the node. We only need to do this if the CFG has critical edges.
assert(phiNode.getInstructionDefineBegin() != phiNode.getInstructionDefineEnd() && phiNode.getInstructionDefineBegin()[0].isRegister());
RegisterName name = phiNode.getInstructionDefineBegin()[0].getRegisterName();
if (currentLiveOut->test(name))
pushName(pool, &(copyStats[name].newName), pushed, &pushedList, name, name);
}
}
InstructionList& instructions = node.getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName name = usePtr->getRegisterName();
if (copyStats[name].newName != NULL && copyStats[name].newName->newName != name)
usePtr->setRegisterName(copyStats[name].newName->newName);
}
}
// STEP2:
// Look at this node's successors' phiNodes. We keep track of the number of time
// a VR will be used by another copy instruction and insert each definition into the
// destinationList. This is the only pass over this node's successors as we will
// get all the information we need in the CopyData structures.
//
ControlEdge* successorEdgeEnd = node.getSuccessorsEnd();
for (ControlEdge* successorEdgePtr = node.getSuccessorsBegin(); successorEdgePtr < successorEdgeEnd; successorEdgePtr++) {
Uint32 useIndex = successorEdgePtr->getIndex();
ControlNode& successor = successorEdgePtr->getTarget();
// Look at its phi nodes. The phi nodes are at the top of the instruction list. We exit
// as soon as we find an instruction which is not a phi node
InstructionList& phiNodes = successor.getPhiNodeInstructions();
for (InstructionList::iterator p = phiNodes.begin(); !phiNodes.done(p); p = phiNodes.advance(p)) {
Instruction& phiNode = phiNodes.get(p);
assert((phiNode.getInstructionUseBegin() + useIndex) < phiNode.getInstructionUseEnd());
assert(phiNode.getInstructionDefineBegin() != phiNode.getInstructionDefineEnd());
InstructionUse& source = phiNode.getInstructionUseBegin()[useIndex];
InstructionDefine& destination = phiNode.getInstructionDefineBegin()[0];
assert(source.isRegister() && destination.isRegister());
RegisterName sourceName = source.getRegisterName();
RegisterName destinationName = destination.getRegisterName();
// Get the correct name for the source.
if (copyStats[sourceName].newName != NULL)
sourceName = copyStats[sourceName].newName->newName;
// Update the CopyData structures.
if ((sourceName != rnInvalid) && (sourceName != destinationName)) {
copyStats[destinationName].source = sourceName;
copyStats[destinationName].classKind = destination.getRegisterClass();
copyStats[destinationName].isLiveOut = (currentLiveOut != NULL) ? currentLiveOut->test(destinationName) : false;
copyStats[destinationName].sourceNameToUse = destinationName;
copyStats[sourceName].sourceNameToUse = sourceName;
copyStats[sourceName].useCount++;
destinationList.set(destinationName);
}
}
}
// STEP3:
// Insert into the worklist only the destination registers that will be not used in
// another copy instruction in this block.
//
assert(workList.getSize() == 0);
for (SparseSet::iterator d = destinationList.begin(); !destinationList.done(d); d = destinationList.advance(d)) {
Uint32 dest = destinationList.get(d);
if (copyStats[dest].useCount == 0)
workList.set(dest);
}
// STEP4:
// Insert the copy instructions.
//
Uint32 destinationListSize = destinationList.getSize();
InstructionList::iterator endOfTheNode = instructions.end();
// Find the right place to insert the copy instructions.
if (destinationListSize != 0)
while (instructions.get(endOfTheNode).getFlags() & ifControl)
endOfTheNode = instructions.retreat(endOfTheNode);
while (destinationListSize != 0) {
while(workList.getSize()) {
RegisterName destinationName = RegisterName(workList.getOne());
RegisterName sourceName = copyStats[destinationName].source;
workList.clear(destinationName);
if (copyStats[destinationName].isLiveOut && !copyStats[destinationName].temporaryName) {
// Lost copy problem.
copyStats[destinationName].isLiveOut = false;
RegisterName sourceName = destinationName;
RegisterClassKind classKind = copyStats[sourceName].classKind;
RegisterName destinationName = getName(vrManager.newVirtualRegister(classKind));
assert(destinationName < maxNameCount);
copyStats[destinationName].classKind = classKind;
copyStats[sourceName].useCount = 0;
// We need to insert a copy to a temporary register to keep the
// source register valid at the end of the node defining it.
// This copy will be inserted right after the phi node defining it.
RegisterName from = copyStats[sourceName].sourceNameToUse;
Instruction* definingPhiNode = vrManager.getVirtualRegister(from).getDefiningInstruction();
assert(definingPhiNode && (definingPhiNode->getFlags() & ifPhiNode) != 0);
RegisterID fromID = buildRegisterID(from, classKind);
RegisterID toID = buildRegisterID(destinationName, classKind);
Instruction& copy = emitter.newCopy(*definingPhiNode->getPrimitive(), fromID, toID);
vrManager.getVirtualRegister(destinationName).setDefiningInstruction(copy);
definingPhiNode->getPrimitive()->getContainer()->getInstructions().addFirst(copy);
copyStats[sourceName].temporaryName = destinationName;
copyStats[sourceName].sourceNameToUse = destinationName;
pushName(pool, &(copyStats[sourceName].newName), pushed, &pushedList, sourceName, destinationName);
}
// Insert the copy instruction at the end of the current node.
RegisterName from = copyStats[sourceName].sourceNameToUse;
RegisterClassKind classKind = copyStats[destinationName].classKind;
RegisterID fromID = buildRegisterID(from, classKind);
RegisterID toID = buildRegisterID(destinationName, classKind);
Instruction& copy = emitter.newCopy(*vrManager.getVirtualRegister(from).getDefiningInstruction()->getPrimitive(), fromID, toID);
instructions.insertAfter(copy, endOfTheNode);
endOfTheNode = instructions.advance(endOfTheNode);
copyStats[sourceName].useCount = 0;
if (destinationList.test(sourceName) && copyStats[sourceName].isLiveOut)
pushName(pool, &(copyStats[sourceName].newName), pushed, &pushedList, sourceName, destinationName);
copyStats[sourceName].isLiveOut = false;
copyStats[sourceName].sourceNameToUse = destinationName;
if (destinationList.test(sourceName))
workList.set(sourceName);
destinationList.clear(destinationName);
}
destinationListSize = destinationList.getSize();
if (destinationListSize != 0) {
RegisterName sourceName = RegisterName(destinationList.getOne());
RegisterName destinationName;
if (!copyStats[sourceName].temporaryName) {
// Cycle problem.
RegisterClassKind classKind = copyStats[sourceName].classKind;
destinationName = getName(vrManager.newVirtualRegister(classKind));
assert(destinationName < maxNameCount);
copyStats[destinationName].classKind = classKind;
copyStats[sourceName].temporaryName = destinationName;
// Insert the copy instruction at the end of the current node.
RegisterName from = copyStats[sourceName].sourceNameToUse;
RegisterID fromID = buildRegisterID(from, classKind);
RegisterID toID = buildRegisterID(destinationName, classKind);
Instruction& copy = emitter.newCopy(*vrManager.getVirtualRegister(from).getDefiningInstruction()->getPrimitive(), fromID, toID);
vrManager.getVirtualRegister(destinationName).setDefiningInstruction(copy);
instructions.insertAfter(copy, endOfTheNode);
endOfTheNode = instructions.advance(endOfTheNode);
} else
destinationName = copyStats[sourceName].temporaryName;
copyStats[sourceName].useCount = 0;
copyStats[sourceName].isLiveOut = false;
copyStats[sourceName].sourceNameToUse = destinationName;
pushName(pool, &(copyStats[sourceName].newName), pushed, &pushedList, sourceName, destinationName);
workList.set(sourceName);
}
}
nodeStackPtr->pushedList = pushedList;
nodeStackPtr->next = next;
nodeStackPtr->limit = limit;
++nodeStackPtr;
next = dGraph.getSuccessorsBegin(currentNode);
limit = dGraph.getSuccessorsEnd(currentNode);
}
}
}
#endif // _PHI_NODE_REMOVER_H_

View File

@@ -1,155 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "LogModule.h"
#include "RegisterAllocator.h"
#include "RegisterPressure.h"
#include "RegisterAllocatorTools.h"
#include "PhiNodeRemover.h"
#include "LiveRange.h"
#include "Liveness.h"
#include "InterferenceGraph.h"
#include "LiveRangeGraph.h"
#include "Coalescing.h"
#include "Spilling.h"
#include "Coloring.h"
#include "Splits.h"
class Pool;
class ControlGraph;
class VirtualRegisterManager;
class InstructionEmitter;
UT_DEFINE_LOG_MODULE(RegAlloc);
void RegisterAllocator::allocateRegisters(Pool& pool, ControlGraph& controlGraph, VirtualRegisterManager& vrManager, InstructionEmitter& emitter)
{
// Insert the phi node instructions. We want to do this to have a single defined register per instruction.
// If we keep the PhiNode (as a DataNode) and a PhiNode is of DoubleWordKind then we have to execute
// some special code for the high word annotation.
//
RegisterAllocatorTools::insertPhiNodeInstructions(controlGraph, emitter);
// Perform some tests on the instruction graph.
//
DEBUG_ONLY(RegisterAllocatorTools::testTheInstructionGraph(controlGraph, vrManager));
// Replace the phi node instructions by their equivalent copy instructions.
//
PhiNodeRemover<LowRegisterPressure>::replacePhiNodes(controlGraph, vrManager, emitter);
// Do the register allocation.
//
RegisterAllocator registerAllocator(pool, controlGraph, vrManager, emitter);
registerAllocator.doGraphColoring();
}
void RegisterAllocator::doGraphColoring()
{
// Initialize the liverange map.
//
initLiveRanges();
// Build the live ranges. We do this to compress the number of RegisterNames
// used in the insterference graph.
//
LiveRange<LowRegisterPressure>::build(*this);
// Remove unnecessary copies.
//
RegisterAllocatorTools::removeUnnecessaryCopies(*this);
for (Uint8 loop = 0; loop < 10; loop++) {
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("********* RegisterAllocator loop %d *********\n", loop));
while(true) {
// Build the interference graph.
//
iGraph.build();
// Coalesce the copy instructions.
//
if (!Coalescing<LowRegisterPressure>::coalesce(*this))
break;
}
// Print the interference graph.
//
DEBUG_LOG_ONLY(iGraph.printPretty(UT_LOG_MODULE(RegAlloc)));
// Calculate the spill costs.
//
Spilling<LowRegisterPressure>::calculateSpillCosts(*this);
DEBUG_LOG_ONLY(RegisterAllocatorTools::printSpillCosts(*this));
// Calculate the split costs.
//
Splits<LowRegisterPressure>::calculateSplitCosts(*this);
DEBUG_LOG_ONLY(RegisterAllocatorTools::printSplitCosts(*this));
// Build the live range graph.
//
lGraph.build();
DEBUG_LOG_ONLY(lGraph.printPretty(UT_LOG_MODULE(RegAlloc)));
// Color the graph. If it succeeds then we're done with the
// register allocation.
//
if (Coloring<LowRegisterPressure>::color(*this)) {
// Write the final colors in the instruction graph.
//
Coloring<LowRegisterPressure>::finalColoring(*this);
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("********** RegisterAllocator done **********\n"));
DEBUG_LOG_ONLY(RegisterAllocatorTools::printInstructions(*this));
return;
}
// We need to spill some registers.
//
Spilling<LowRegisterPressure>::insertSpillCode(*this);
// Insert the split instructions.
//
Splits<LowRegisterPressure>::insertSplitCode(*this);
// Update the live ranges.
//
// FIX
}
#ifdef DEBUG_LOG
RegisterAllocatorTools::updateInstructionGraph(*this);
RegisterAllocatorTools::printInstructions(*this);
#endif
fprintf(stderr, "!!! Coloring failed after 10 loops !!!\n");
abort();
}
void RegisterAllocator::initLiveRanges()
{
Uint32 count = this->nameCount;
RegisterName* name2range = new(pool) RegisterName[nameCount];
for (RegisterName r = RegisterName(1); r < count; r = RegisterName(r + 1))
name2range[r] = r;
this->name2range = name2range;
rangeCount = count;
}

View File

@@ -1,88 +0,0 @@
/* -*- 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 _REGISTER_ALLOCATOR_H_
#define _REGISTER_ALLOCATOR_H_
class Pool;
class ControlGraph;
class InstructionEmitter;
struct SpillCost;
struct SplitCost;
#include "Liveness.h"
#include "VirtualRegister.h"
#include "RegisterPressure.h" // This should included by Backend.cpp
#include "InterferenceGraph.h"
#include "LiveRangeGraph.h"
//template <class RegisterPressure>
class RegisterAllocator
{
public:
Pool& pool; //
ControlGraph& controlGraph; //
VirtualRegisterManager& vrManager; //
InstructionEmitter& emitter; //
RegisterName* name2range; //
RegisterName* color; //
SpillCost* spillCost; //
SparseSet* willSpill; //
SplitCost* splitCost; //
NameLinkedList** splitAround; //
InterferenceGraph<LowRegisterPressure> iGraph; //
LiveRangeGraph<LowRegisterPressure> lGraph; //
LivenessInfo<LowRegisterPressure> liveness; //
Uint32 nameCount; //
Uint32 rangeCount; //
bool splitFound; //
private:
//
//
void doGraphColoring();
public:
//
//
inline RegisterAllocator(Pool& pool, ControlGraph& controlGraph, VirtualRegisterManager& vrManager, InstructionEmitter& emitter);
//
//
bool canInterfere(RegisterName /*name1*/, RegisterName /*name2*/) const {return true;}
//
//
void initLiveRanges();
//
//
static void allocateRegisters(Pool& pool, ControlGraph& controlGraph, VirtualRegisterManager& vrManager, InstructionEmitter& emitter);
};
//
//
inline RegisterAllocator::RegisterAllocator(Pool& pool, ControlGraph& controlGraph, VirtualRegisterManager& vrManager, InstructionEmitter& emitter)
: pool(pool), controlGraph(controlGraph), vrManager(vrManager), emitter(emitter), iGraph(*this), lGraph(*this), nameCount(vrManager.getSize()) {}
#endif // _REGISTER_ALLOCATOR_H_

View File

@@ -1,355 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "LogModule.h"
#include "RegisterAllocatorTools.h"
#include "Pool.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Primitives.h"
#include "InstructionEmitter.h"
#include "Instruction.h"
#include "RegisterAllocator.h"
#include "Spilling.h"
#include "Splits.h"
#include "BitSet.h"
UT_EXTERN_LOG_MODULE(RegAlloc);
#ifdef DEBUG
void RegisterAllocatorTools::testTheInstructionGraph(ControlGraph& controlGraph, VirtualRegisterManager& vrManager)
{
// Test the declared VirtualRegisters. The register allocator tries to condense the register universe.
// Any gap in the VirtualRegister names will be a loss of efficiency !!!!
Uint32 nameCount = vrManager.getSize();
BitSet registerSeen(controlGraph.pool, nameCount);
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
for (Uint32 n = 0; n < nNodes; n++) {
InstructionList& instructions = nodes[n]->getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
registerSeen.set(usePtr->getRegisterName());
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
registerSeen.set(definePtr->getRegisterName());
}
InstructionList& phiNodes = nodes[n]->getPhiNodeInstructions();
for (InstructionList::iterator p = phiNodes.begin(); !phiNodes.done(p); p = phiNodes.advance(p)) {
Instruction& instruction = phiNodes.get(p);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
registerSeen.set(usePtr->getRegisterName());
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
registerSeen.set(definePtr->getRegisterName());
}
}
bool renameRegisters = false;
for (BitSet::iterator i = registerSeen.nextZero(0); !registerSeen.done(i); i = registerSeen.nextZero(i)) {
renameRegisters = true;
fprintf(stderr,
"WARNING: The VirtualRegister vr%d has been allocated during CodeGeneration but\n"
" is never used nor defined by any instruction in the instruction graph\n"
" PLEASE FIX \n",
i);
}
if (renameRegisters) {
Instruction** definingInstruction = new Instruction*[nameCount];
memset(definingInstruction, '\0', nameCount * sizeof(Instruction*));
RegisterName* newName = new RegisterName[nameCount];
memset(newName, '\0', nameCount * sizeof(RegisterName));
RegisterName nextName = RegisterName(1);
for (Uint32 n = 0; n < nNodes; n++) {
InstructionList& instructions = nodes[n]->getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName name = usePtr->getRegisterName();
if (newName[name] == rnInvalid) {
newName[name] = nextName;
definingInstruction[nextName] = vrManager.getVirtualRegister(name).getDefiningInstruction();
nextName = RegisterName(nextName + 1);
}
usePtr->setRegisterName(newName[name]);
}
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
RegisterName name = definePtr->getRegisterName();
if (newName[name] == rnInvalid) {
newName[name] = nextName;
definingInstruction[nextName] = vrManager.getVirtualRegister(name).getDefiningInstruction();
nextName = RegisterName(nextName + 1);
}
definePtr->setRegisterName(newName[name]);
}
}
InstructionList& phiNodes = nodes[n]->getPhiNodeInstructions();
for (InstructionList::iterator p = phiNodes.begin(); !phiNodes.done(p); p = phiNodes.advance(p)) {
Instruction& instruction = phiNodes.get(p);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName name = usePtr->getRegisterName();
if (newName[name] == rnInvalid) {
newName[name] = nextName;
definingInstruction[nextName] = vrManager.getVirtualRegister(name).getDefiningInstruction();
nextName = RegisterName(nextName + 1);
}
usePtr->setRegisterName(newName[name]);
}
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
RegisterName name = definePtr->getRegisterName();
if (newName[name] == rnInvalid) {
newName[name] = nextName;
definingInstruction[nextName] = vrManager.getVirtualRegister(name).getDefiningInstruction();
nextName = RegisterName(nextName + 1);
}
definePtr->setRegisterName(newName[name]);
}
}
}
vrManager.setSize(nextName);
for (RegisterName r = RegisterName(1); r < nextName; r = RegisterName(r + 1))
vrManager.getVirtualRegister(r).definingInstruction = definingInstruction[r];
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("RegisterMap:\n"));
for (Uint32 i = 1; i < nameCount; i++)
if (newName[i] != 0)
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\tvr%d becomes vr%d.\n", i, newName[i]));
else
UT_OBJECTLOG(UT_LOG_MODULE(RegAlloc), PR_LOG_ALWAYS, ("\tvr%d is dead.\n", i));
delete newName;
delete definingInstruction;
}
}
#endif // DEBUG
void RegisterAllocatorTools::removeUnnecessaryCopies(RegisterAllocator& registerAllocator)
{
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
RegisterName* name2range = registerAllocator.name2range;
for (Uint32 n = 0; n < nNodes; n++) {
InstructionList& instructions = nodes[n]->getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i);) {
Instruction& instruction = instructions.get(i);
i = instructions.advance(i);
if (instruction.getFlags() & ifCopy) {
assert(instruction.getInstructionUseBegin() != instruction.getInstructionUseEnd() && instruction.getInstructionUseBegin()[0].isRegister());
assert(instruction.getInstructionDefineBegin() != instruction.getInstructionDefineEnd() && instruction.getInstructionDefineBegin()[0].isRegister());
RegisterName source = name2range[instruction.getInstructionUseBegin()[0].getRegisterName()];
RegisterName destination = name2range[instruction.getInstructionDefineBegin()[0].getRegisterName()];
if (source == destination)
instruction.remove();
}
}
}
}
void RegisterAllocatorTools::updateInstructionGraph(RegisterAllocator& registerAllocator)
{
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
RegisterName* name2range = registerAllocator.name2range;
for (Uint32 n = 0; n < nNodes; n++) {
InstructionList& instructions = nodes[n]->getInstructions();
for (InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
usePtr->setRegisterName(name2range[usePtr->getRegisterName()]);
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
definePtr->setRegisterName(name2range[definePtr->getRegisterName()]);
}
InstructionList& phiNodes = nodes[n]->getPhiNodeInstructions();
for (InstructionList::iterator p = phiNodes.begin(); !phiNodes.done(p); p = phiNodes.advance(p)) {
Instruction& instruction = phiNodes.get(p);
InstructionUse* useEnd = instruction.getInstructionUseEnd();
for (InstructionUse* usePtr = instruction.getInstructionUseBegin(); usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
usePtr->setRegisterName(name2range[usePtr->getRegisterName()]);
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
for (InstructionDefine* definePtr = instruction.getInstructionDefineBegin(); definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
definePtr->setRegisterName(name2range[definePtr->getRegisterName()]);
}
}
}
void RegisterAllocatorTools::insertPhiNodeInstructions(ControlGraph& controlGraph, InstructionEmitter& emitter)
{
Pool& pool = controlGraph.pool;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
for (Uint32 n = 0; n < nNodes; n++) {
ControlNode& node = *nodes[n];
DoublyLinkedList<PhiNode>& phiNodes = node.getPhiNodes();
if (!phiNodes.empty()) {
// Set the index of the incoming edges.
Uint32 index = 0;
const DoublyLinkedList<ControlEdge>& predecessors = node.getPredecessors();
for (DoublyLinkedList<ControlEdge>::iterator p = predecessors.begin(); !predecessors.done(p); p = predecessors.advance(p))
predecessors.get(p).setIndex(index++);
// Insert the phi node instruction in the instruction list.
for (DoublyLinkedList<PhiNode>::iterator i = phiNodes.begin(); !phiNodes.done(i); i = phiNodes.advance(i)) {
PhiNode& phiNode = phiNodes.get(i);
ValueKind kind = phiNode.getKind();
if (!isStorableKind(kind))
continue;
RegisterClassKind classKind = rckGeneral; // FIX: get class kind from phi node kind.
Uint32 nInputs = phiNode.nInputs();
PhiNodeInstruction& phiNodeInstruction = *new(pool) PhiNodeInstruction(&phiNode, pool, nInputs);
emitter.defineProducer(phiNode, phiNodeInstruction, 0, classKind, drLow);
for (Uint32 whichInput = 0; whichInput < nInputs; whichInput++)
emitter.useProducer(phiNode.nthInputVariable(whichInput), phiNodeInstruction, whichInput, classKind, drLow);
node.addPhiNodeInstruction(phiNodeInstruction);
if (isDoublewordKind(kind)) {
PhiNodeInstruction& phiNodeInstruction = *new(pool) PhiNodeInstruction(&phiNode, pool, nInputs);
emitter.defineProducer(phiNode, phiNodeInstruction, 0, classKind, drHigh);
for (Uint32 whichInput = 0; whichInput < nInputs; whichInput++)
emitter.useProducer(phiNode.nthInputVariable(whichInput), phiNodeInstruction, whichInput, classKind, drHigh);
node.addPhiNodeInstruction(phiNodeInstruction);
}
}
}
}
}
#ifdef DEBUG_LOG
void RegisterAllocatorTools::printSpillCosts(RegisterAllocator& registerAllocator)
{
LogModuleObject log = UT_LOG_MODULE(RegAlloc);
Uint32 rangeCount = registerAllocator.rangeCount;
SpillCost* cost = registerAllocator.spillCost;
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("Spill costs:\n"));
for (Uint32 i = 1; i < rangeCount; i++) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\trange %d : ", i));
if (cost[i].infinite)
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("infinite\n"));
else
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("%f\n", cost[i].cost));
}
}
void RegisterAllocatorTools::printSplitCosts(RegisterAllocator& registerAllocator)
{
LogModuleObject log = UT_LOG_MODULE(RegAlloc);
Uint32 rangeCount = registerAllocator.rangeCount;
SplitCost* cost = registerAllocator.splitCost;
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("Split costs:\n"));
for (Uint32 i = 1; i < rangeCount; i++) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\trange %d : loads = %f stores = %f\n", i, cost[i].loads, cost[i].stores));
}
}
void RegisterAllocatorTools::printInstructions(RegisterAllocator& registerAllocator)
{
LogModuleObject log = UT_LOG_MODULE(RegAlloc);
ControlNode** nodes = registerAllocator.controlGraph.dfsList;
Uint32 nNodes = registerAllocator.controlGraph.nNodes;
for (Uint32 n = 0; n < nNodes; n++) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("N%d:\n", n));
InstructionList& phiNodes = nodes[n]->getPhiNodeInstructions();
InstructionList& instructions = nodes[n]->getInstructions();
if (!phiNodes.empty()) {
UT_OBJECTLOG(log, PR_LOG_ALWAYS, (" PhiNodes:\n", n));
for(InstructionList::iterator i = phiNodes.begin(); !phiNodes.done(i); i = phiNodes.advance(i)) {
phiNodes.get(i).printPretty(log);
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\n"));
}
if (!instructions.empty())
UT_OBJECTLOG(log, PR_LOG_ALWAYS, (" Instructions:\n", n));
}
for(InstructionList::iterator i = instructions.begin(); !instructions.done(i); i = instructions.advance(i)) {
instructions.get(i).printPretty(log);
UT_OBJECTLOG(log, PR_LOG_ALWAYS, ("\n"));
}
}
}
#endif // DEBUG_LOG

View File

@@ -1,117 +0,0 @@
// -*- mode:C++; tab-width:4; truncate-lines:t -*-
//
// CONFIDENTIAL AND PROPRIETARY SOURCE CODE OF
// NETSCAPE COMMUNICATIONS CORPORATION
// Copyright © 1996, 1997 Netscape Communications Corporation. All Rights
// Reserved. Use of this Source Code is subject to the terms of the
// applicable license agreement from Netscape Communications Corporation.
// The copyright notice(s) in this Source Code does not indicate actual or
// intended publication of this Source Code.
//
// $Id: RegisterAllocatorTools.h,v 1.1.2.1 1999-03-02 16:12:05 fur%netscape.com Exp $
//
#ifndef _REGISTER_ALLOCATOR_TOOLS_H_
#define _REGISTER_ALLOCATOR_TOOLS_H_
#include "LogModule.h"
#include "RegisterTypes.h"
#include <string.h>
class RegisterAllocator;
class ControlGraph;
class InstructionEmitter;
class VirtualRegisterManager;
struct RegisterAllocatorTools
{
//
//
static void insertPhiNodeInstructions(ControlGraph& controlGraph, InstructionEmitter& emitter);
//
//
static void updateInstructionGraph(RegisterAllocator& registerAllocator);
//
//
static void removeUnnecessaryCopies(RegisterAllocator& registerAllocator);
#ifdef DEBUG
//
//
static void testTheInstructionGraph(ControlGraph& controlGraph, VirtualRegisterManager& vrManager);
#endif // DEBUG
#ifdef DEBUG_LOG
//
//
static void printInstructions(RegisterAllocator& registerAllocator);
//
//
static void printSpillCosts(RegisterAllocator& registerAllocator);
//
//
static void printSplitCosts(RegisterAllocator& registerAllocator);
#endif // DEBUG_LOG
};
//
// FIX: this should go in a class (LookupTable ?)
//
inline RegisterName findRoot(RegisterName name, RegisterName* table)
{
RegisterName* stack = table;
RegisterName* stackPtr = stack;
RegisterName newName;
while((newName = table[name]) != name) {
*--stackPtr = name;
name = newName;
}
while (stackPtr != stack)
table[*stackPtr++] = name;
return name;
}
inline void init(RegisterName* table, Uint32 nameCount)
{
for (RegisterName r = RegisterName(0); r < nameCount; r = RegisterName(r + 1))
table[r] = r;
}
inline Uint32 compress(RegisterName* name2range, RegisterName* table, Uint32 nameCount, Uint32 tableSize)
{
RegisterName* liveRange = new RegisterName[tableSize];
memset(liveRange, '\0', tableSize * sizeof(RegisterName));
// Update the lookup table.
for (RegisterName r = RegisterName(1); r < tableSize; r = RegisterName(r + 1))
findRoot(r, table);
// Count the liveranges.
Uint32 liveRangeCount = 1;
for (RegisterName s = RegisterName(1); s < tableSize; s = RegisterName(s + 1))
if (table[s] == s)
liveRange[s] = RegisterName(liveRangeCount++);
for (RegisterName t = RegisterName(1); t < nameCount; t = RegisterName(t + 1))
name2range[t] = liveRange[table[name2range[t]]];
return liveRangeCount;
}
inline double doLog10(Uint32 power)
{
double log = 1.0;
while (power--)
log *= 10.0;
return log;
}
#endif // _REGISTER_ALLOCATOR_TOOLS_H_

View File

@@ -1,38 +0,0 @@
/* -*- 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 _REGISTER_ASSIGNER_H_
#define _REGISTER_ASSIGNER_H_
#include "Fundamentals.h"
#include "VirtualRegister.h"
class FastBitMatrix;
class RegisterAssigner
{
protected:
VirtualRegisterManager& vRegManager;
public:
RegisterAssigner(VirtualRegisterManager& vrMan) : vRegManager(vrMan) {}
virtual bool assignRegisters(FastBitMatrix& interferenceMatrix) = 0;
};
#endif /* _REGISTER_ASSIGNER_H_ */

View File

@@ -1,25 +0,0 @@
/* -*- 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 _REGISTER_CLASS_H_
#define _REGISTER_CLASS_H_
#include "Fundamentals.h"
#include "RegisterTypes.h"
#endif // _REGISTER_CLASS_H_

View File

@@ -1,37 +0,0 @@
/* -*- 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 _REGISTER_PRESSURE_H_
#define _REGISTER_PRESSURE_H_
#include "BitSet.h"
#include "HashSet.h"
struct LowRegisterPressure
{
typedef BitSet Set;
static const bool setIsOrdered = true;
};
struct HighRegisterPressure
{
typedef HashSet Set;
static const bool setIsOrdered = false;
};
#endif // _REGISTER_PRESSURE_H_

View File

@@ -1,104 +0,0 @@
/* -*- 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 _REGISTER_TYPES_H_
#define _REGISTER_TYPES_H_
#include "Fundamentals.h"
//------------------------------------------------------------------------------
// RegisterName -
//
enum RegisterName {
rnInvalid = 0,
};
//------------------------------------------------------------------------------
// RegisterClassKind -
//
enum RegisterClassKind {
rckInvalid = 0,
rckGeneral,
rckStackSlot,
nRegisterClassKind
};
//------------------------------------------------------------------------------
// RegisterID -
//
enum RegisterID {
invalidID = 0
};
//------------------------------------------------------------------------------
// RegisterKind -
//
enum RegisterKind {
rkCallerSave = 0,
rkCalleeSave,
};
struct NameLinkedList {
RegisterName name;
NameLinkedList* next;
};
#ifdef DEBUG
const registerNameMask = 0x03ffffff;
const coloredRegisterMask = 0x04000000;
const machineRegisterMask = 0x08000000;
const registerClassMask = 0xf0000000;
const registerNameShift = 0;
const coloredRegisterShift = 26;
const machineRegisterShift = 27;
const registerClassShift = 28;
#else // DEBUG
const registerNameMask = 0x0fffffff;
const registerClassMask = 0xf0000000;
const registerNameShift = 0;
const registerClassShift = 28;
#endif // DEBUG
inline RegisterClassKind getClass(RegisterID registerID) {return RegisterClassKind((registerID & registerClassMask) >> registerClassShift);}
inline RegisterName getName(RegisterID registerID) {return RegisterName((registerID & registerNameMask) >> registerNameShift);}
inline void setClass(RegisterID& registerID, RegisterClassKind classKind) {registerID = RegisterID((registerID & ~registerClassMask) | ((classKind << registerClassShift) & registerClassMask));}
inline void setName(RegisterID& registerID, RegisterName name) {assert((name & ~registerNameMask) == 0); registerID = RegisterID((registerID & ~registerNameMask) | ((name << registerNameShift) & registerNameMask));}
inline RegisterID buildRegisterID(RegisterName name, RegisterClassKind classKind) {return RegisterID(((classKind << registerClassShift) & registerClassMask) | ((name << registerNameShift) & registerNameMask));}
#ifdef DEBUG
inline bool isMachineRegister(RegisterID rid) {return (rid & machineRegisterMask) != 0;}
inline void setMachineRegister(RegisterID& rid) {rid = RegisterID(rid | machineRegisterMask);}
inline bool isColoredRegister(RegisterID rid) {return (rid & coloredRegisterMask) != 0;}
inline void setColoredRegister(RegisterID& rid) {rid = RegisterID(rid | coloredRegisterMask);}
#endif // DEBUG
#endif // _REGISTER_TYPES_H_

View File

@@ -1,32 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "SSATools.h"
#include "ControlGraph.h"
#include "VirtualRegister.h"
#include "Liveness.h"
void replacePhiNodes(ControlGraph& controlGraph, VirtualRegisterManager& vrManager)
{
if (!controlGraph.hasBackEdges)
return;
Liveness liveness(controlGraph.pool);
liveness.buildLivenessAnalysis(controlGraph, vrManager);
}

View File

@@ -1,29 +0,0 @@
/* -*- 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 _SSA_TOOLS_H_
#define _SSA_TOOLS_H_
#include "Fundamentals.h"
class ControlGraph;
class VirtualRegisterManager;
extern void replacePhiNodes(ControlGraph& controlGraph, VirtualRegisterManager& vrManager);
#endif // _SSA_TOOLS_H_

View File

@@ -1,37 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "SparseSet.h"
#include "BitSet.h"
#include "Pool.h"
#ifdef DEBUG_LOG
// Print the set.
//
void SparseSet::printPretty(LogModuleObject log)
{
Pool pool;
BitSet set(pool, universeSize);
for (Uint32 i = 0; i < count; i++)
set.set(node[i].element);
set.printPretty(log);
}
#endif // DEBUG_LOG

View File

@@ -1,168 +0,0 @@
// -*- mode:C++; tab-width:4; truncate-lines:t -*-
//
// CONFIDENTIAL AND PROPRIETARY SOURCE CODE OF
// NETSCAPE COMMUNICATIONS CORPORATION
// Copyright © 1996, 1997 Netscape Communications Corporation. All Rights
// Reserved. Use of this Source Code is subject to the terms of the
// applicable license agreement from Netscape Communications Corporation.
// The copyright notice(s) in this Source Code does not indicate actual or
// intended publication of this Source Code.
//
// $Id: SparseSet.h,v 1.1.2.1 1999-03-02 16:12:07 fur%netscape.com Exp $
//
#ifndef _SPARSE_SET_H_
#define _SPARSE_SET_H_
#include "Fundamentals.h"
#include "Pool.h"
#include "LogModule.h"
#include "BitSet.h"
class SparseSet
{
private:
struct Node {
Uint32 element;
Uint32 stackIndex;
};
Node* node;
Uint32 count;
Uint32 universeSize;
private:
// No copy constructor.
SparseSet(const SparseSet&);
// Check if the given set's universe is of the same size than this universe.
void checkUniverseCompatibility(const SparseSet& set) const {assert(set.universeSize == universeSize);}
// Check if pos is valid for this set's universe.
void checkMember(Int32 pos) const {assert(pos >=0 && Uint32(pos) < universeSize);}
public:
SparseSet(Pool& pool, Uint32 universeSize) : universeSize(universeSize) {node = new(pool) Node[universeSize]; clear();}
// Clear the sparse set.
void clear() {count = 0;}
// Clear the element at index.
inline void clear(Uint32 index);
// Set the element at index.
inline void set(Uint32 index);
// Return true if the element at index is set.
inline bool test(Uint32 index) const;
// Union with the given sparse set.
inline void or(const SparseSet& set);
// Intersection with the given sparse set.
inline void and(const SparseSet& set);
// Difference with the given sparse set.
inline void difference(const SparseSet& set);
// Copy set.
inline SparseSet& operator = (const SparseSet& set);
inline SparseSet& operator = (const BitSet& set);
// Return true if the sparse sets are identical.
friend bool operator == (const SparseSet& set1, const SparseSet& set2);
// Return true if the sparse sets are different.
friend bool operator != (const SparseSet& set1, const SparseSet& set2);
// Logical operators.
SparseSet& operator |= (const SparseSet& set) {or(set); return *this;}
SparseSet& operator &= (const SparseSet& set) {and(set); return *this;}
SparseSet& operator -= (const SparseSet& set) {difference(set); return *this;}
// Iterator to conform with the set API.
typedef Int32 iterator;
// Return the iterator for the first element of this set.
iterator begin() const {return count - 1;}
// Return the next iterator.
iterator advance(iterator pos) const {return --pos;}
// Return true if the iterator is at the end of the set.
bool done(iterator pos) const {return pos < 0;}
// Return the element for the given iterator;
Uint32 get(iterator pos) const {return node[pos].element;}
// Return one element of this set.
Uint32 getOne() const {assert(count > 0); return node[0].element;}
// Return the size of this set.
Uint32 getSize() const {return count;}
#ifdef DEBUG_LOG
// Print the set.
void printPretty(LogModuleObject log);
#endif // DEBUG_LOG
};
inline void SparseSet::clear(Uint32 element)
{
checkMember(element);
Uint32 count = this->count;
Node* node = this->node;
Uint32 stackIndex = node[element].stackIndex;
if ((stackIndex < count) && (node[stackIndex].element == element)) {
Uint32 stackTop = node[count - 1].element;
node[stackIndex].element = stackTop;
node[stackTop].stackIndex = stackIndex;
this->count = count - 1;
}
}
inline void SparseSet::set(Uint32 element)
{
checkMember(element);
Uint32 count = this->count;
Node* node = this->node;
Uint32 stackIndex = node[element].stackIndex;
if ((stackIndex >= count) || (node[stackIndex].element != element)) {
node[count].element = element;
node[element].stackIndex = count;
this->count = count + 1;
}
}
inline bool SparseSet::test(Uint32 element) const
{
checkMember(element);
Node* node = this->node;
Uint32 stackIndex = node[element].stackIndex;
return ((stackIndex < count) && (node[stackIndex].element == element));
}
inline SparseSet& SparseSet::operator = (const SparseSet& set)
{
checkUniverseCompatibility(set);
Uint32 sourceCount = set.getSize();
Node* node = this->node;
memcpy(node, set.node, sourceCount * sizeof(Node));
for (Uint32 i = 0; i < sourceCount; i++) {
Uint32 element = node[i].element;
node[element].stackIndex = i;
}
count = sourceCount;
return *this;
}
inline SparseSet& SparseSet::operator = (const BitSet& set)
{
// FIX: there's room for optimization here.
assert(universeSize == set.getSize());
clear();
for (Int32 i = set.firstOne(); i != -1; i = set.nextOne(i))
this->set(i);
return *this;
}
#endif // _SPARSE_SET_H_

View File

@@ -1,270 +0,0 @@
/* -*- 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 NEW_LAURENTM_CODE
#define INCLUDE_EMITTER
#include "CpuInfo.h"
#include "Fundamentals.h"
#include "ControlNodes.h"
#include "Instruction.h"
#include "InstructionEmitter.h"
#include "Spilling.h"
void Spilling::
insertSpillCode(ControlNode** dfsList, Uint32 nNodes)
{
PRUint32 nVirtualRegisters = vRegManager.count();
FastBitSet currentLive(vRegManager.pool, nVirtualRegisters);
FastBitSet usedInThisInstruction(vRegManager.pool, nVirtualRegisters);
RegisterFifo grNeedLoad(nVirtualRegisters);
RegisterFifo fpNeedLoad(nVirtualRegisters);
for (PRInt32 n = nNodes - 1; n >= 0; n--)
{
PR_ASSERT(grNeedLoad.empty() & fpNeedLoad.empty());
ControlNode& node = *dfsList[n];
currentLive = node.liveAtEnd;
PRUint32 nGeneralAlive = 0;
PRUint32 nFloatingPointAlive = 0;
// Get the number of registers alive at the end of this node.
for (PRInt32 j = currentLive.firstOne(); j != -1; j = currentLive.nextOne(j))
{
VirtualRegister& vReg = vRegManager.getVirtualRegister(j);
if (vReg.spillInfo.willSpill)
{
currentLive.clear(j);
}
else
{
switch (vReg.getClass())
{
case vrcInteger:
nGeneralAlive++;
break;
case vrcFloatingPoint:
case vrcFixedPoint:
nFloatingPointAlive++;
break;
default:
break;
}
}
}
// if(node.dfsNum == 8) printf("\n________Begin Node %d________\n", node.dfsNum);
InstructionList& instructions = node.getInstructions();
for (InstructionList::iterator i = instructions.end(); !instructions.done(i); i = instructions.retreat(i))
{
Instruction& instruction = instructions.get(i);
InstructionUse* useBegin = instruction.getInstructionUseBegin();
InstructionUse* useEnd = instruction.getInstructionUseEnd();
InstructionUse* usePtr;
InstructionDefine* defBegin = instruction.getInstructionDefineBegin();
InstructionDefine* defEnd = instruction.getInstructionDefineEnd();
InstructionDefine* defPtr;
// if(node.dfsNum == 8) { printf("\n");
// instruction.printPretty(stdout);
// printf("\n"); }
// Handle definitions
for (defPtr = defBegin; defPtr < defEnd; defPtr++)
if (defPtr->isVirtualRegister())
{
VirtualRegister& vReg = defPtr->getVirtualRegister();
currentLive.clear(vReg.getRegisterIndex());
switch (vReg.getClass())
{
case vrcInteger:
nGeneralAlive--;
break;
case vrcFloatingPoint:
case vrcFixedPoint:
nFloatingPointAlive--;
break;
default:
break;
}
}
// Check for deaths
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isVirtualRegister())
{
VirtualRegister& vReg = usePtr->getVirtualRegister();
if (!currentLive.test(vReg.getRegisterIndex()))
// This is the last use of this register.
{
currentLive.set(vReg.getRegisterIndex());
switch (vReg.getClass())
{
case vrcInteger:
nGeneralAlive++;
while (/*(nGeneralAlive > NUMBER_OF_GREGISTERS) &&*/ !grNeedLoad.empty())
{
PRUint32 toLoad = grNeedLoad.get();
currentLive.clear(toLoad);
nGeneralAlive--;
VirtualRegister& nReg = vRegManager.getVirtualRegister(toLoad);
Instruction& lastUsingInstruction = *nReg.spillInfo.lastUsingInstruction;
emitter.emitLoadAfter(*lastUsingInstruction.getPrimitive(), lastUsingInstruction.getLinks().prev,
nReg.getAlias(), *nReg.equivalentRegister[vrcStackSlot]);
nReg.releaseSelf();
}
break;
case vrcFloatingPoint:
case vrcFixedPoint:
nFloatingPointAlive++;
while (/*(nFloatingPointAlive > NUMBER_OF_FPREGISTERS) &&*/ !fpNeedLoad.empty())
{
PRUint32 toLoad = fpNeedLoad.get();
currentLive.clear(toLoad);
nFloatingPointAlive--;
VirtualRegister& nReg = vRegManager.getVirtualRegister(toLoad);
Instruction& lastUsingInstruction = *nReg.spillInfo.lastUsingInstruction;
emitter.emitLoadAfter(*lastUsingInstruction.getPrimitive(), lastUsingInstruction.getLinks().prev,
nReg.getAlias(), *nReg.equivalentRegister[vrcStackSlot]);
nReg.releaseSelf();
}
break;
default:
break;
}
}
}
// Handle uses
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isVirtualRegister())
{
VirtualRegister& vReg = usePtr->getVirtualRegister();
PRUint32 registerIndex = vReg.getRegisterIndex();
if (vReg.spillInfo.willSpill) {
#if defined(GENERATE_FOR_X86)
if (!instruction.switchUseToSpill((usePtr - useBegin), *vReg.equivalentRegister[vrcStackSlot]))
#endif
{
switch (vReg.getClass())
{
case vrcInteger:
if (!grNeedLoad.test(registerIndex))
{
grNeedLoad.put(registerIndex);
VirtualRegister& alias = vRegManager.newVirtualRegister(vrcInteger);
if (vReg.isPreColored())
alias.preColorRegister(vReg.getPreColor());
/* if (vReg.hasSpecialInterference) {
alias.specialInterference.sizeTo(NUMBER_OF_REGISTERS);
alias.specialInterference = vReg.specialInterference;
alias.hasSpecialInterference = true;
} */
vReg.setAlias(alias);
vReg.retainSelf();
}
break;
case vrcFloatingPoint:
case vrcFixedPoint:
if (!fpNeedLoad.test(registerIndex))
{
fpNeedLoad.put(registerIndex);
VirtualRegister& alias = vRegManager.newVirtualRegister(vReg.getClass());
if (vReg.isPreColored())
alias.preColorRegister(vReg.getPreColor());
/*if (vReg.hasSpecialInterference) {
alias.specialInterference.sizeTo(NUMBER_OF_REGISTERS);
alias.specialInterference = vReg.specialInterference;
alias.hasSpecialInterference = true;
} */
vReg.setAlias(alias);
vReg.retainSelf();
}
break;
default:
break;
}
usePtr->getVirtualRegisterPtr().initialize(vReg.getAlias());
usedInThisInstruction.set(registerIndex);
vReg.spillInfo.lastUsingInstruction = &instruction;
}
currentLive.clear(registerIndex);
} else { // will not spill
currentLive.set(registerIndex);
}
}
// Handle definitions
for (defPtr = defBegin; defPtr < defEnd; defPtr++)
if (defPtr->isVirtualRegister())
{
VirtualRegister& vReg = defPtr->getVirtualRegister();
if (vReg.spillInfo.willSpill)
#if defined(GENERATE_FOR_X86)
if (!instruction.switchDefineToSpill((defPtr - defBegin), *vReg.equivalentRegister[vrcStackSlot]))
#endif
{
if (usedInThisInstruction.test(vReg.getRegisterIndex()))
// this virtualRegister was used in this instruction and is also defined. We need to move
// this virtual register to its alias first and then save it to memory.
{
emitter.emitStoreAfter(*instruction.getPrimitive(), &instruction.getLinks(),
vReg.getAlias(), *vReg.equivalentRegister[vrcStackSlot]);
defPtr->getVirtualRegisterPtr().initialize(vReg.getAlias());
}
else
{
emitter.emitStoreAfter(*instruction.getPrimitive(), &instruction.getLinks(),
vReg, *vReg.equivalentRegister[vrcStackSlot]);
}
}
}
}
while (!grNeedLoad.empty())
{
PRUint32 nl = grNeedLoad.get();
VirtualRegister& nlReg = vRegManager.getVirtualRegister(nl);
Instruction& lastUse = *nlReg.spillInfo.lastUsingInstruction;
emitter.emitLoadAfter(*lastUse.getPrimitive(), lastUse.getLinks().prev,
nlReg.getAlias(), *nlReg.equivalentRegister[vrcStackSlot]);
nlReg.releaseSelf();
}
while (!fpNeedLoad.empty())
{
PRUint32 nl = fpNeedLoad.get();
VirtualRegister& nlReg = vRegManager.getVirtualRegister(nl);
Instruction& lastUse = *nlReg.spillInfo.lastUsingInstruction;
emitter.emitLoadAfter(*lastUse.getPrimitive(), lastUse.getLinks().prev,
nlReg.getAlias(), *nlReg.equivalentRegister[vrcStackSlot]);
nlReg.releaseSelf();
}
// if(node.dfsNum == 8) printf("\n________End Node %d________\n", node.dfsNum);
}
}
#endif

View File

@@ -1,269 +0,0 @@
/* -*- 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 _SPILLING_H_
#define _SPILLING_H_
#include "Fundamentals.h"
#include <string.h>
#include "RegisterAllocator.h"
#include "RegisterAllocatorTools.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Instruction.h"
#include "SparseSet.h"
template <class RegisterPressure>
class Spilling
{
private:
static void insertStoreAfter(Instruction& instruction, RegisterName name);
static void insertLoadBefore(Instruction& instruction, RegisterName name);
public:
static void calculateSpillCosts(RegisterAllocator& registerAllocator);
static void insertSpillCode(RegisterAllocator& registerAllocator);
};
struct SpillCost
{
double loads;
double stores;
double copies;
double cost;
bool infinite;
};
template <class RegisterPressure>
void Spilling<RegisterPressure>::insertSpillCode(RegisterAllocator& registerAllocator)
{
Uint32 rangeCount = registerAllocator.rangeCount;
RegisterName* name2range = registerAllocator.name2range;
Pool& pool = registerAllocator.pool;
SparseSet currentLive(pool, rangeCount);
SparseSet needLoad(pool, rangeCount);
SparseSet mustSpill(pool, rangeCount);
SparseSet& willSpill = *registerAllocator.willSpill;
ControlGraph& controlGraph = registerAllocator.controlGraph;
RegisterPressure::Set* liveOut = registerAllocator.liveness.liveOut;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
for (Uint32 n = 0; n < nNodes; n++) {
needLoad.clear();
currentLive = liveOut[n];
mustSpill = currentLive;
InstructionList& instructions = nodes[n]->getInstructions();
for (InstructionList::iterator i = instructions.end(); !instructions.done(i);) {
Instruction& instruction = instructions.get(i);
i = instructions.retreat(i);
InstructionUse* useBegin = instruction.getInstructionUseBegin();
InstructionUse* useEnd = instruction.getInstructionUseEnd();
InstructionUse* usePtr;
InstructionDefine* defineBegin = instruction.getInstructionDefineBegin();
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
InstructionDefine* definePtr;
bool foundLiveDefine = false;
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
if (currentLive.test(name2range[definePtr->getRegisterName()])) {
foundLiveDefine = true;
break;
}
} else {
foundLiveDefine = true;
break;
}
if (defineBegin != defineEnd && !foundLiveDefine) {
fprintf(stderr, "!!! Removed instruction because it was only defining unused registers !!!\n");
instruction.remove();
}
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
RegisterName range = name2range[definePtr->getRegisterName()];
#ifdef DEBUG
if (needLoad.test(range))
if (!mustSpill.test(range) && registerAllocator.spillCost[range].infinite && willSpill.test(range)) {
fprintf(stderr, "Tried to spill a register with infinite spill cost\n");
abort();
}
#endif // DEBUG
if (willSpill.test(range))
insertStoreAfter(instruction, range);
needLoad.clear(range);
}
if (instruction.getFlags() & ifCopy)
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName range = name2range[usePtr->getRegisterName()];
if (!currentLive.test(range))
for (SparseSet::iterator r = needLoad.begin(); !needLoad.done(r); r = needLoad.advance(r)) {
RegisterName load = RegisterName(needLoad.get(r));
if (willSpill.test(load))
insertLoadBefore(instruction, load);
mustSpill.set(load);
}
needLoad.clear();
}
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
currentLive.clear(name2range[definePtr->getRegisterName()]);
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName range = name2range[usePtr->getRegisterName()];
currentLive.set(range);
needLoad.set(range);
}
}
for (SparseSet::iterator l = needLoad.begin(); !needLoad.done(l); l = needLoad.advance(l)) {
RegisterName load = RegisterName(needLoad.get(l));
if (willSpill.test(load))
insertLoadBefore(instructions.first(), load);
}
}
}
template <class RegisterPressure>
void Spilling<RegisterPressure>::insertLoadBefore(Instruction& /*instruction*/, RegisterName name)
{
fprintf(stdout, "will insert load for range %d\n", name);
}
template <class RegisterPressure>
void Spilling<RegisterPressure>::insertStoreAfter(Instruction& /*instruction*/, RegisterName name)
{
fprintf(stdout, "will insert store for range %d\n", name);
}
template <class RegisterPressure>
void Spilling<RegisterPressure>::calculateSpillCosts(RegisterAllocator& registerAllocator)
{
Uint32 rangeCount = registerAllocator.rangeCount;
RegisterName* name2range = registerAllocator.name2range;
Pool& pool = registerAllocator.pool;
SparseSet live(pool, rangeCount);
SparseSet needLoad(pool, rangeCount);
SparseSet mustSpill(pool, rangeCount);
SparseSet alreadyStored(pool, rangeCount); // FIX: should get this from previous spilling.
SpillCost* cost = new SpillCost[rangeCount];
memset(cost, '\0', rangeCount * sizeof(SpillCost));
ControlGraph& controlGraph = registerAllocator.controlGraph;
RegisterPressure::Set* liveOut = registerAllocator.liveness.liveOut;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
for (Uint32 n = 0; n < nNodes; n++) {
ControlNode& node = *nodes[n];
double weight = doLog10(node.loopDepth);
needLoad.clear();
live = liveOut[n];
mustSpill = live;
InstructionList& instructions = nodes[n]->getInstructions();
for (InstructionList::iterator i = instructions.end(); !instructions.done(i); i = instructions.retreat(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useBegin = instruction.getInstructionUseBegin();
InstructionUse* useEnd = instruction.getInstructionUseEnd();
InstructionUse* usePtr;
InstructionDefine* defineBegin = instruction.getInstructionDefineBegin();
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
InstructionDefine* definePtr;
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister()) {
RegisterName range = name2range[definePtr->getRegisterName()];
if (needLoad.test(range))
if (!mustSpill.test(range))
cost[range].infinite = true;
if ((false /* !rematerializable(range) */ || !needLoad.test(range)) && !alreadyStored.test(range))
cost[range].stores += weight;
needLoad.clear(range);
}
if (instruction.getFlags() & ifCopy)
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
if (!live.test(name2range[usePtr->getRegisterName()])) {
for (SparseSet::iterator l = needLoad.begin(); !needLoad.done(l); l = needLoad.advance(l)) {
Uint32 range = needLoad.get(l);
cost[range].loads += weight;
mustSpill.set(range);
}
needLoad.clear();
}
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
live.clear(name2range[definePtr->getRegisterName()]);
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName range = name2range[usePtr->getRegisterName()];
live.set(range);
needLoad.set(range);
}
if (instruction.getFlags() & ifCopy) {
assert(useBegin != useEnd && useBegin[0].isRegister());
assert(defineBegin != defineEnd && defineBegin[0].isRegister());
RegisterName source = name2range[useBegin[0].getRegisterName()];
RegisterName destination = name2range[defineBegin[0].getRegisterName()];
cost[source].copies += weight;
cost[destination].copies += weight;
}
}
for (SparseSet::iterator s = needLoad.begin(); !needLoad.done(s); s = needLoad.advance(s))
cost[needLoad.get(s)].loads += weight;
}
for (Uint32 r = 0; r < rangeCount; r++) {
SpillCost& c = cost[r];
c.cost = 2 * (c.loads + c.stores) - c.copies;
}
registerAllocator.spillCost = cost;
}
#endif // _SPILLING_H_

View File

@@ -1,239 +0,0 @@
/* -*- 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 _SPLITS_H_
#define _SPLITS_H_
#include "Fundamentals.h"
#include <string.h>
#include "Pool.h"
#include "ControlGraph.h"
#include "ControlNodes.h"
#include "Instruction.h"
#include "RegisterAllocator.h"
#include "RegisterAllocatorTools.h"
UT_EXTERN_LOG_MODULE(RegAlloc);
template <class RegisterPressure>
struct Splits
{
static void calculateSplitCosts(RegisterAllocator& registerAllocator);
static bool findSplit(RegisterAllocator& registerAllocator, RegisterName* color, RegisterName range);
static void insertSplitCode(RegisterAllocator& registerAllocator);
};
struct SplitCost
{
double loads;
double stores;
};
template <class RegisterPressure>
void Splits<RegisterPressure>::insertSplitCode(RegisterAllocator& /*registerAllocator*/)
{
// FIX
}
template <class RegisterPressure>
bool Splits<RegisterPressure>::findSplit(RegisterAllocator& registerAllocator, RegisterName* color, RegisterName range)
{
Pool& pool = registerAllocator.pool;
NameLinkedList** neighborsWithColor = new(pool) NameLinkedList*[6]; // FIX
memset(neighborsWithColor, '\0', 6 * sizeof(NameLinkedList*));
InterferenceGraph<RegisterPressure>& iGraph = registerAllocator.iGraph;
for (InterferenceVector* vector = iGraph.getInterferenceVector(range); vector != NULL; vector = vector->next)
for (Int32 i = vector->count - 1; i >=0; --i) {
RegisterName neighbor = vector->neighbors[i];
RegisterName c = color[neighbor];
if (c < 6) { // FIX
NameLinkedList* node = new(pool) NameLinkedList();
node->name = neighbor;
node->next = neighborsWithColor[c];
neighborsWithColor[c] = node;
}
}
bool splitAroundName = true;
LiveRangeGraph<RegisterPressure>& lGraph = registerAllocator.lGraph;
RegisterName bestColor = RegisterName(6); // FIX
double bestCost = registerAllocator.spillCost[range].cost;
SplitCost* splitCost = registerAllocator.splitCost;
for (RegisterName i = RegisterName(0); i < 6; i = RegisterName(i + 1)) { // FIX
double splitAroundNameCost = 0.0;
bool canSplitAroundName = true;
SplitCost& sCost = splitCost[range];
double addedCost = 2.0 * (sCost.stores + sCost.loads);
for (NameLinkedList* node = neighborsWithColor[i]; node != NULL; node = node->next) {
RegisterName neighbor = node->name;
if (lGraph.haveEdge(neighbor, range)) {
canSplitAroundName = false;
break;
} else
splitAroundNameCost += addedCost;
}
if (canSplitAroundName && splitAroundNameCost < bestCost) {
bestCost = splitAroundNameCost;
bestColor = i;
splitAroundName = true;
}
double splitAroundColorCost = 0.0;
bool canSplitAroundColor = true;
for (NameLinkedList* node = neighborsWithColor[i]; node != NULL; node = node->next) {
RegisterName neighbor = node->name;
if (lGraph.haveEdge(range, neighbor)) {
canSplitAroundColor = false;
break;
} else {
SplitCost& sCost = splitCost[neighbor];
double addedCost = 2.0 * (sCost.stores + sCost.loads);
splitAroundColorCost += addedCost;
}
}
if (canSplitAroundColor && splitAroundColorCost < bestCost) {
bestCost = splitAroundColorCost;
bestColor = i;
splitAroundName = false;
}
}
if (bestColor < RegisterName(6)) {
color[range] = bestColor;
registerAllocator.splitFound = true;
NameLinkedList** splitAround = registerAllocator.splitAround;
if (splitAroundName)
for (NameLinkedList* node = neighborsWithColor[bestColor]; node != NULL; node = node->next) {
NameLinkedList* newNode = new(pool) NameLinkedList();
newNode->name = node->name;
newNode->next = splitAround[range];
splitAround[range] = newNode;
}
else
for (NameLinkedList* node = neighborsWithColor[bestColor]; node != NULL; node = node->next) {
NameLinkedList* newNode = new(pool) NameLinkedList();
RegisterName neighbor = node->name;
newNode->name = range;
newNode->next = splitAround[neighbor];
splitAround[neighbor] = newNode;
}
trespass("Found a split");
return true;
}
return false;
}
template <class RegisterPressure>
void Splits<RegisterPressure>::calculateSplitCosts(RegisterAllocator& registerAllocator)
{
Pool& pool = registerAllocator.pool;
Uint32 rangeCount = registerAllocator.rangeCount;
RegisterName* name2range = registerAllocator.name2range;
SplitCost* splitCost = new(pool) SplitCost[rangeCount];
memset(splitCost, '\0', rangeCount * sizeof(SplitCost));
SparseSet live(pool, rangeCount);
RegisterPressure::Set* liveIn = registerAllocator.liveness.liveIn;
RegisterPressure::Set* liveOut = registerAllocator.liveness.liveOut;
ControlGraph& controlGraph = registerAllocator.controlGraph;
ControlNode** nodes = controlGraph.dfsList;
Uint32 nNodes = controlGraph.nNodes;
for (Uint32 n = 0; n < nNodes; n++) {
ControlNode& node = *nodes[n];
double weight = doLog10(node.loopDepth);
live = liveOut[n];
ControlEdge* successorsEnd = node.getSuccessorsEnd();
for (ControlEdge* successorsPtr = node.getSuccessorsBegin(); successorsPtr < successorsEnd; successorsPtr++) {
ControlNode& successor = successorsPtr->getTarget();
if (successor.getControlKind() != ckEnd) {
RegisterPressure::Set& successorLiveIn = liveIn[successor.dfsNum];
for (SparseSet::iterator i = live.begin(); !live.done(i); i = live.advance(i)) {
RegisterName name = RegisterName(live.get(i));
if (!successorLiveIn.test(name))
splitCost[name].loads += doLog10(successor.loopDepth);
}
}
}
InstructionList& instructions = node.getInstructions();
for (InstructionList::iterator i = instructions.end(); !instructions.done(i); i = instructions.retreat(i)) {
Instruction& instruction = instructions.get(i);
InstructionUse* useBegin = instruction.getInstructionUseBegin();
InstructionUse* useEnd = instruction.getInstructionUseEnd();
InstructionUse* usePtr;
InstructionDefine* defineBegin = instruction.getInstructionDefineBegin();
InstructionDefine* defineEnd = instruction.getInstructionDefineEnd();
InstructionDefine* definePtr;
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
splitCost[name2range[definePtr->getRegisterName()]].stores += weight;
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister()) {
RegisterName range = name2range[usePtr->getRegisterName()];
if (!live.test(range)) {
if (&instruction != &instructions.last())
splitCost[range].loads += weight;
else {
ControlEdge* successorsEnd = node.getSuccessorsEnd();
for (ControlEdge* successorsPtr = node.getSuccessorsBegin(); successorsPtr < successorsEnd; successorsPtr++)
splitCost[range].loads += doLog10(successorsPtr->getTarget().loopDepth);
}
}
}
for (definePtr = defineBegin; definePtr < defineEnd; definePtr++)
if (definePtr->isRegister())
live.clear(name2range[definePtr->getRegisterName()]);
for (usePtr = useBegin; usePtr < useEnd; usePtr++)
if (usePtr->isRegister())
live.set(name2range[usePtr->getRegisterName()]);
}
}
NameLinkedList** splitAround = new(pool) NameLinkedList*[rangeCount];
memset(splitAround, '\0', rangeCount * sizeof(NameLinkedList*));
registerAllocator.splitAround = splitAround;
registerAllocator.splitCost = splitCost;
registerAllocator.splitFound = false;
}
#endif // _SPLITS_H_

View File

@@ -1,186 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "HashTable.h"
#include "Timer.h"
#include "Pool.h"
static Pool pool; // Pool for the Timer class.
static HashTable<TimerEntry*> timerEntries(pool); // Timers hashtable.
const nTimersInABlock = 128; // Number of timers in a block.
static PRTime *timers = new(pool) PRTime[nTimersInABlock]; // A block of timers.
static Uint8 nextTimer = 0; // nextAvailableTimer.
//
// Calibrate the call to PR_Now().
//
static PRTime calibrate()
{
PRTime t = PR_Now();
PRTime& a = *new(pool) PRTime();
// Call 10 times the PR_Now() function.
a = PR_Now(); a = PR_Now(); a = PR_Now(); a = PR_Now(); a = PR_Now(); a = PR_Now();
a = PR_Now(); a = PR_Now(); a = PR_Now(); a = PR_Now(); a = PR_Now(); a = PR_Now();
t = (PR_Now() - t + 9) / 10;
return t;
}
static PRTime adjust = calibrate();
//
// Return the named timer..
//
TimerEntry& Timer::getTimerEntry(const char* name)
{
if (!timerEntries.exists(name)) {
TimerEntry* newEntry = new(pool) TimerEntry();
newEntry->accumulator = 0;
newEntry->running = false;
timerEntries.add(name, newEntry);
}
return *timerEntries[name];
}
//
// Return a reference to a new timer.
//
PRTime& Timer::getNewTimer()
{
if (nextTimer >= nTimersInABlock) {
timers = new(pool) PRTime[nTimersInABlock];
nextTimer = 0;
}
return timers[nextTimer++];
}
static Uint32 timersAreFrozen = 0;
//
// Start the named timer.
//
void Timer::start(const char* name)
{
if (timersAreFrozen)
return;
freezeTimers();
TimerEntry& timer = getTimerEntry(name);
PR_ASSERT(!timer.running);
timer.accumulator = 0;
timer.running = true;
timer.done = false;
unfreezeTimers();
}
//
// Stop the named timer.
//
void Timer::stop(const char* name)
{
if (timersAreFrozen)
return;
freezeTimers();
TimerEntry& timer = getTimerEntry(name);
PR_ASSERT(timer.running);
timer.running = false;
timer.done = true;
unfreezeTimers();
}
//
// Freeze all the running timers.
//
void Timer::freezeTimers()
{
PRTime when = PR_Now() - adjust;
if (timersAreFrozen == 0) {
Vector<TimerEntry*> entries = timerEntries;
Uint32 count = entries.size();
for (Uint32 i = 0; i < count; i++) {
TimerEntry& entry = *entries[i];
if (entry.running) {
entry.accumulator += (when - *entry.startTime);
}
}
}
timersAreFrozen++;
}
//
// Unfreeze all the running timers.
//
void Timer::unfreezeTimers()
{
PR_ASSERT(timersAreFrozen != 0);
timersAreFrozen--;
if (timersAreFrozen == 0) {
Vector<TimerEntry *> entries = timerEntries;
Uint32 count = entries.size();
PRTime& newStart = getNewTimer();
for (Uint32 i = 0; i < count; i++) {
TimerEntry& entry = *entries[i];
if (entry.running) {
entry.startTime = &newStart;
}
}
newStart = PR_Now();
}
}
//
// Print the named timer in the file f.
//
void Timer::print(FILE* f, const char *name)
{
if (timersAreFrozen)
return;
freezeTimers();
TimerEntry& timer = getTimerEntry(name);
PR_ASSERT(timer.done);
PRTime elapsed = timer.accumulator;
if (elapsed >> 32) {
fprintf(f, "[timer %s out of range]\n", name);
} else {
fprintf(f, "[%dus in %s]\n", Uint32(elapsed), name);
}
fflush(f);
unfreezeTimers();
}

View File

@@ -1,80 +0,0 @@
/* -*- 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 _TIMER_H_
#define _TIMER_H_
#include "Fundamentals.h"
#include "HashTable.h"
#include "prtime.h"
//
// Naming convention:
// As the class Timer contains only static methods, the timer's name should start with the
// module name. Otherwise starting 2 timers with the same name will assert.
//
#ifndef NO_TIMER
struct TimerEntry
{
PRTime *startTime; // Current time when we start the timer.
PRTime accumulator; // Time spent in this timer.
bool running; // True if the timer is running.
bool done; // True if the timer was running and was stopped.
};
class Timer
{
private:
// Return the named timer.
static TimerEntry& getTimerEntry(const char* name);
// Return a reference to a new Timer.
static PRTime& getNewTimer();
public:
// Start the timer.
static void start(const char* name);
// Stop the timer.
static void stop(const char* name);
// Freeze all the running timers.
static void freezeTimers();
// Unfreeze all the running timers.
static void unfreezeTimers();
// Print the timer.
static void print(FILE* f, const char *name);
};
inline void startTimer(const char* name) {Timer::start(name);}
inline void stopTimer(const char* name) {Timer::stop(name); Timer::print(stdout, name);}
#define START_TIMER_SAFE Timer::freezeTimers();
#define END_TIMER_SAFE Timer::unfreezeTimers();
#define TIMER_SAFE(x) START_TIMER_SAFE x; END_TIMER_SAFE
#else /* NO_TIMER */
inline void startTimer(const char* /*name*/) {}
inline void stopTimer(const char* /*name*/) {}
#define START_TIMER_SAFE
#define END_TIMER_SAFE
#define TIMER_SAFE(x) x;
#endif /* NO_TIMER */
#endif /* _TIMER_H_ */

View File

@@ -1,40 +0,0 @@
/* -*- 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 "Fundamentals.h"
#include "VirtualRegister.h"
#include "Instruction.h"
//------------------------------------------------------------------------------
// VirtualRegister -
#ifdef MANUAL_TEMPLATES
template class IndexedPool<VirtualRegister>;
#endif
// Set the defining instruction.
//
void VirtualRegister::setDefiningInstruction(Instruction& instruction)
{
if (definingInstruction != NULL) {
if ((instruction.getFlags() & ifCopy) && (definingInstruction->getFlags() & ifPhiNode))
return;
}
definingInstruction = &instruction;
}

View File

@@ -1,116 +0,0 @@
/* -*- 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 _VIRTUAL_REGISTER_H_
#define _VIRTUAL_REGISTER_H_
#include "Fundamentals.h"
#include "IndexedPool.h"
#include <string.h>
#include "RegisterTypes.h"
#include "RegisterClass.h"
//------------------------------------------------------------------------------
// VirtualRegister - 24b
class Instruction;
class VirtualRegister : public IndexedObject<VirtualRegister>
{
public:
Instruction* definingInstruction; // Instruction defining this VR.
// Initialize a VR of the given classKind.
VirtualRegister(RegisterClassKind /*classKind*/) : definingInstruction(NULL) {}
// Return the defining instruction for this VR.
Instruction* getDefiningInstruction() const {return definingInstruction;}
// Set the defining instruction.
void setDefiningInstruction(Instruction& insn);
};
// Return true if the VirtualRegisters are equals. The only way 2 VRs can be equal is if
// they have the same index. If they have the same index then they are at the same
// address in the indexed pool.
//
inline bool operator == (const VirtualRegister& regA, const VirtualRegister& regB) {return &regA == &regB;}
//------------------------------------------------------------------------------
// VirtualRegisterManager -
struct PreColoredRegister
{
RegisterID id;
RegisterName color;
};
class VirtualRegisterManager
{
private:
IndexedPool<VirtualRegister> registerPool;
PreColoredRegister machineRegister[6];
public:
VirtualRegisterManager()
{
for (Uint32 i = 0; i < 6; i++)
machineRegister[i].id = invalidID;
}
// Return the VirtualRegister at the given index.
VirtualRegister& getVirtualRegister(RegisterName name) const {return registerPool.get(name);}
// Return a new VirtualRegister.
RegisterID newVirtualRegister(RegisterClassKind classKind)
{
VirtualRegister& vReg = *new(registerPool) VirtualRegister(classKind);
RegisterID rid;
setName(rid, RegisterName(vReg.getIndex()));
setClass(rid, classKind);
return rid;
}
RegisterID newMachineRegister(RegisterName name, RegisterClassKind classKind)
{
RegisterID rid = machineRegister[name].id;
if (rid == invalidID) {
rid = newVirtualRegister(classKind);
DEBUG_ONLY(setMachineRegister(rid));
machineRegister[name].id = rid;
machineRegister[name].color = name;
}
return rid;
}
PreColoredRegister* getMachineRegistersBegin() const {return (PreColoredRegister*) machineRegister;} // FIX
PreColoredRegister* getMachineRegistersEnd() const {return (PreColoredRegister*) &machineRegister[6];} // FIX
// Return the VirtualRegister universe size.
Uint32 getSize() {return registerPool.getSize();}
void setSize(Uint32 size) {registerPool.setSize(size);}
};
#endif // _VIRTUAL_REGISTER_H_

View File

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

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,60 @@
<?xml version="1.0"?>
<?xml-stylesheet href="xul.css" type="text/css"?>
<!-- <!DOCTYPE window> -->
<window xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<data>
<broadcaster id="wasCanceled" type="string" value="false"/>
</data>
<html:script>
function cancelInstall()
{
var cancelVar = document.getElementById("wasCanceled");
cancelVar.setAttribute("value","true");
}
</html:script>
<html:center>
<html:table style="width:100%;">
<html:tr>
<html:td align="center">
XPInstall
</html:td>
</html:tr>
<html:tr>
<html:td align="center">
<html:span id="dialog.status">
XXXXXXXXXXXXXXXXX
</html:span>
</html:td>
</html:tr>
<html:tr>
<html:td align="center">
<progressmeter id="meter" mode="undetermined">
</progressmeter>
</html:td>
</html:tr>
<html:tr>
<html:td align="center">
<html:button id="dialog.cancel" onclick="cancelInstall()" height="12" style="font-family:sans-serif;font-size:2.5mm">
Cancel
</html:button>
</html:td>
</html:tr>
</html:table>
</html:center>
</window>

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -0,0 +1,239 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nscore.h"
#include "NSReg.h"
#include "nsFileSpec.h"
#include "nsFileStream.h"
#include "nsInstall.h" // for error codes
#include "prmem.h"
REGERR DeleteFileLater(nsFileSpec& filename)
{
REGERR result = 0;
filename.Delete(false);
if (filename.Exists())
{
RKEY newkey;
HREG reg;
if ( REGERR_OK == NR_RegOpen("", &reg) )
{
if (REGERR_OK == NR_RegAddKey( reg, ROOTKEY_PRIVATE, REG_DELETE_LIST_KEY, &newkey) )
{
nsPersistentFileDescriptor savethis(filename);
char* buffer = nsnull;
nsOutputStringStream s(buffer);
s << savethis;
result = NR_RegSetEntry( reg, newkey, "", REGTYPE_ENTRY_BYTES, buffer, strlen(buffer));
if (result == REGERR_OK)
result = nsInstall::REBOOT_NEEDED;
}
NR_RegClose(reg);
}
}
return result;
}
REGERR ReplaceFileLater(nsFileSpec& tmpfile, nsFileSpec& target )
{
REGERR result = 0;
if (! target.Exists() )
{
// Now that we have move the existing file, we can move the mExtracedFile into place.
nsFileSpec parentofFinalFile;
target.GetParent(parentofFinalFile);
result = tmpfile.Move(parentofFinalFile);
char* leafName = target.GetLeafName();
tmpfile.Rename(leafName);
nsCRT::free(leafName);
}
else
{
RKEY newkey;
HREG reg;
if ( REGERR_OK == NR_RegOpen("", &reg) )
{
result = NR_RegAddKey( reg, ROOTKEY_PRIVATE, REG_REPLACE_LIST_KEY, &newkey);
if ( result == REGERR_OK )
{
nsPersistentFileDescriptor tempDesc(tmpfile);
nsPersistentFileDescriptor targDesc(target);
char* tempBuffer = nsnull;
char* targBuffer = nsnull;
nsOutputStringStream tempStream(tempBuffer);
nsOutputStringStream targStream(targBuffer);
tempStream << tempDesc;
targStream << targDesc;
result = NR_RegSetEntry( reg, newkey, tempBuffer, REGTYPE_ENTRY_BYTES, targBuffer, strlen(targBuffer));
if (result == REGERR_OK)
result = nsInstall::REBOOT_NEEDED;
}
NR_RegClose(reg);
}
}
return result;
}
void DeleteScheduledFiles(void);
void ReplaceScheduledFiles(void);
extern "C" void PerformScheduledTasks(void *data)
{
DeleteScheduledFiles();
ReplaceScheduledFiles();
}
void DeleteScheduledFiles(void)
{
HREG reg;
if (REGERR_OK == NR_RegOpen("", &reg))
{
RKEY key;
REGENUM state;
/* perform scheduled file deletions and replacements (PC only) */
if (REGERR_OK == NR_RegGetKey(reg, ROOTKEY_PRIVATE, REG_DELETE_LIST_KEY,&key))
{
char buf[MAXREGNAMELEN]; // what about the mac? FIX
while (REGERR_OK == NR_RegEnumEntries(reg, key, &state, buf, sizeof(buf), NULL ))
{
nsPersistentFileDescriptor doomedDesc;
nsInputStringStream tempStream(buf);
tempStream >> doomedDesc;
nsFileSpec doomedFile(doomedDesc);
doomedFile.Delete(PR_FALSE);
if (! doomedFile.Exists())
{
NR_RegDeleteEntry( reg, key, buf );
}
}
/* delete list node if empty */
if (REGERR_NOMORE == NR_RegEnumEntries( reg, key, &state, buf, sizeof(buf), NULL ))
{
NR_RegDeleteKey(reg, ROOTKEY_PRIVATE, REG_DELETE_LIST_KEY);
}
}
NR_RegClose(reg);
}
}
void ReplaceScheduledFiles(void)
{
HREG reg;
if (REGERR_OK == NR_RegOpen("", &reg))
{
RKEY key;
REGENUM state;
/* replace files if any listed */
if (REGERR_OK == NR_RegGetKey(reg, ROOTKEY_PRIVATE, REG_REPLACE_LIST_KEY, &key))
{
char tmpfile[MAXREGNAMELEN];
char target[MAXREGNAMELEN];
state = 0;
while (REGERR_OK == NR_RegEnumEntries(reg, key, &state, tmpfile, sizeof(tmpfile), NULL ))
{
nsPersistentFileDescriptor doomedDesc;
nsInputStringStream tempStream(tmpfile);
tempStream >> doomedDesc;
nsFileSpec replaceFile(doomedDesc);
if (! replaceFile.Exists() )
{
NR_RegDeleteEntry( reg, key, tmpfile );
}
else if ( REGERR_OK != NR_RegGetEntryString( reg, key, tmpfile, target, sizeof(target) ) )
{
/* can't read target filename, corruption? */
NR_RegDeleteEntry( reg, key, tmpfile );
}
else
{
nsPersistentFileDescriptor targetDesc;
nsInputStringStream anotherStream(target);
anotherStream >> targetDesc;
nsFileSpec targetFile(targetDesc);
targetFile.Delete(PR_FALSE);
if (!targetFile.Exists())
{
nsFileSpec parentofTarget;
targetFile.GetParent(parentofTarget);
nsresult result = replaceFile.Move(parentofTarget);
if ( NS_SUCCEEDED(result) )
{
char* leafName = targetFile.GetLeafName();
replaceFile.Rename(leafName);
nsCRT::free(leafName);
NR_RegDeleteEntry( reg, key, tmpfile );
}
}
}
}
/* delete list node if empty */
if (REGERR_NOMORE == NR_RegEnumEntries(reg, key, &state, tmpfile, sizeof(tmpfile), NULL ))
{
NR_RegDeleteKey(reg, ROOTKEY_PRIVATE, REG_REPLACE_LIST_KEY);
}
}
NR_RegClose(reg);
}
}

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,311 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsSoftwareUpdate.h"
#include "nsSoftwareUpdateStream.h"
#include "nsInstallTrigger.h"
#include "nsIDOMInstallTriggerGlobal.h"
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIScriptGlobalObject.h"
#include "pratom.h"
#include "prefapi.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID);
static NS_DEFINE_IID(kIInstallTrigger_IID, NS_IDOMINSTALLTRIGGERGLOBAL_IID);
nsInstallTrigger::nsInstallTrigger()
{
mScriptObject = nsnull;
NS_INIT_REFCNT();
}
nsInstallTrigger::~nsInstallTrigger()
{
}
NS_IMETHODIMP
nsInstallTrigger::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kIScriptObjectOwnerIID))
{
*aInstancePtr = (void*) ((nsIScriptObjectOwner*)this);
AddRef();
return NS_OK;
}
else if ( aIID.Equals(kIInstallTrigger_IID) )
{
*aInstancePtr = (void*) ((nsIDOMInstallTriggerGlobal*)this);
AddRef();
return NS_OK;
}
else if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*)(nsISupports*)(nsIScriptObjectOwner*)this;
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsInstallTrigger)
NS_IMPL_RELEASE(nsInstallTrigger)
NS_IMETHODIMP
nsInstallTrigger::GetScriptObject(nsIScriptContext *aContext, void** aScriptObject)
{
NS_PRECONDITION(nsnull != aScriptObject, "null arg");
nsresult res = NS_OK;
if (nsnull == mScriptObject)
{
nsIScriptGlobalObject *global = aContext->GetGlobalObject();
res = NS_NewScriptInstallTriggerGlobal( aContext,
(nsISupports *)(nsIDOMInstallTriggerGlobal*)this,
(nsISupports *)global,
&mScriptObject);
NS_IF_RELEASE(global);
}
*aScriptObject = mScriptObject;
return res;
}
NS_IMETHODIMP
nsInstallTrigger::SetScriptObject(void *aScriptObject)
{
mScriptObject = aScriptObject;
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::UpdateEnabled(PRBool* aReturn)
{
PREF_GetBoolPref( (const char*) AUTOUPDATE_ENABLE_PREF, aReturn);
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::StartSoftwareUpdate(const nsString& aURL, PRInt32 aFlags, PRInt32* aReturn)
{
// fix: aFlags is not processed!
nsInstallInfo *nextInstall = new nsInstallInfo( aURL, "", "");
// start the download (this will clean itself up)
nsSoftwareUpdateListener *downloader = new nsSoftwareUpdateListener(nextInstall);
*aReturn = NS_OK; // maybe we should do something more.
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::StartSoftwareUpdate(const nsString& aURL, PRInt32* aReturn)
{
PRInt32 aFlags = 0;
// fix: aFlags is not processed!
nsInstallInfo *nextInstall = new nsInstallInfo( aURL, "", "");
// start the download (this will clean itself up)
nsSoftwareUpdateListener *downloader = new nsSoftwareUpdateListener(nextInstall);
*aReturn = NS_OK; // maybe we should do something more.
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, PRInt32 aDiffLevel, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32 aMode, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::ConditionalSoftwareUpdate(const nsString& aURL, const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)
{
return NS_OK;
}
NS_IMETHODIMP
nsInstallTrigger::CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)
{
return NS_OK;
}
/////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
static PRInt32 gInstallTriggerInstanceCnt = 0;
static PRInt32 gInstallTriggerLock = 0;
nsInstallTriggerFactory::nsInstallTriggerFactory(void)
{
mRefCnt=0;
PR_AtomicIncrement(&gInstallTriggerInstanceCnt);
}
nsInstallTriggerFactory::~nsInstallTriggerFactory(void)
{
PR_AtomicDecrement(&gInstallTriggerInstanceCnt);
}
NS_IMETHODIMP
nsInstallTriggerFactory::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*) this;
}
else if ( aIID.Equals(kIFactoryIID) )
{
*aInstancePtr = (void*) this;
}
if (aInstancePtr == NULL)
{
return NS_ERROR_NO_INTERFACE;
}
AddRef();
return NS_OK;
}
NS_IMETHODIMP
nsInstallTriggerFactory::AddRef(void)
{
return ++mRefCnt;
}
NS_IMETHODIMP
nsInstallTriggerFactory::Release(void)
{
if (--mRefCnt ==0)
{
delete this;
return 0; // Don't access mRefCnt after deleting!
}
return mRefCnt;
}
NS_IMETHODIMP
nsInstallTriggerFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
/* do I have to use iSupports? */
nsInstallTrigger *inst = new nsInstallTrigger();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (NS_FAILED(result))
delete inst;
return result;
}
NS_IMETHODIMP
nsInstallTriggerFactory::LockFactory(PRBool aLock)
{
if (aLock)
PR_AtomicIncrement(&gInstallTriggerLock);
else
PR_AtomicDecrement(&gInstallTriggerLock);
return NS_OK;
}

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@@ -0,0 +1,502 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIComponentManager.h"
#include "nsIServiceManager.h"
#include "nsCOMPtr.h"
#include "nspr.h"
#include "nsVector.h"
#include "VerReg.h"
#include "nsSpecialSystemDirectory.h"
#include "nsInstall.h"
#include "nsSoftwareUpdateIIDs.h"
#include "nsSoftwareUpdate.h"
#include "nsSoftwareUpdateRun.h"
#include "nsInstallTrigger.h"
#include "nsInstallVersion.h"
#include "ScheduledTasks.h"
/* For Javascript Namespace Access */
#include "nsDOMCID.h"
#include "nsIServiceManager.h"
#include "nsINameSpaceManager.h"
#include "nsIScriptObjectOwner.h"
#include "nsIScriptGlobalObject.h"
#include "nsIScriptNameSetRegistry.h"
#include "nsIScriptNameSpaceManager.h"
#include "nsIScriptExternalNameSet.h"
////////////////////////////////////////////////////////////////////////////////
// Globals
////////////////////////////////////////////////////////////////////////////////
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID);
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
static NS_DEFINE_IID(kIScriptNameSetRegistryIID, NS_ISCRIPTNAMESETREGISTRY_IID);
static NS_DEFINE_IID(kCScriptNameSetRegistryCID, NS_SCRIPT_NAMESET_REGISTRY_CID);
static NS_DEFINE_IID(kIScriptExternalNameSetIID, NS_ISCRIPTEXTERNALNAMESET_IID);
static NS_DEFINE_IID(kISoftwareUpdate_IID, NS_ISOFTWAREUPDATE_IID);
static NS_DEFINE_IID(kSoftwareUpdate_CID, NS_SoftwareUpdate_CID);
static NS_DEFINE_IID(kIInstallTrigger_IID, NS_IDOMINSTALLTRIGGERGLOBAL_IID);
static NS_DEFINE_IID(kInstallTrigger_CID, NS_SoftwareUpdateInstallTrigger_CID);
static NS_DEFINE_IID(kIInstallVersion_IID, NS_IDOMINSTALLVERSION_IID);
static NS_DEFINE_IID(kInstallVersion_CID, NS_SoftwareUpdateInstallVersion_CID);
nsSoftwareUpdate* nsSoftwareUpdate::mInstance = NULL;
nsSoftwareUpdate::nsSoftwareUpdate()
{
NS_INIT_ISUPPORTS();
Startup();
}
nsSoftwareUpdate::~nsSoftwareUpdate()
{
Shutdown();
}
nsSoftwareUpdate *nsSoftwareUpdate::GetInstance()
{
if (mInstance == NULL)
{
mInstance = new nsSoftwareUpdate();
}
return mInstance;
}
NS_IMPL_ISUPPORTS(nsSoftwareUpdate,nsISoftwareUpdate::GetIID());
nsresult
nsSoftwareUpdate::Startup()
{
/***************************************/
/* Create us a queue */
/***************************************/
mInstalling = nsnull;
mJarInstallQueue = new nsVector();
/***************************************/
/* Add us to the Javascript Name Space */
/***************************************/
new nsSoftwareUpdateNameSet();
/***************************************/
/* Register us with NetLib */
/***************************************/
// FIX
/***************************************/
/* Startup the Version Registry */
/***************************************/
nsSpecialSystemDirectory appDir(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);
VR_SetRegDirectory( nsprPath(appDir) );
NR_StartupRegistry(); /* startup the registry; if already started, this will essentially be a noop */
/***************************************/
/* Stupid Hack to test js env*/
/***************************************/
// FIX: HACK HACK HACK!
#if 0
nsSpecialSystemDirectory jarFile(nsSpecialSystemDirectory::OS_TemporaryDirectory);
jarFile += "test.jar";
if (jarFile.Exists())
{
InstallJar(nsString(nsFileURL(jarFile)), "", "");
}
#endif
/***************************************/
/* Perform Scheduled Tasks */
/***************************************/
#if 1
PR_CreateThread(PR_USER_THREAD,
PerformScheduledTasks,
nsnull,
PR_PRIORITY_NORMAL,
PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD,
0);
#endif
// PerformScheduledTasks(nsnull);
return NS_OK;
}
nsresult
nsSoftwareUpdate::Shutdown()
{
if (mJarInstallQueue != nsnull)
{
PRUint32 i=0;
for (; i < mJarInstallQueue->GetSize(); i++)
{
nsInstallInfo* element = (nsInstallInfo*)mJarInstallQueue->Get(i);
//FIX: need to add to registry....
delete element;
}
mJarInstallQueue->RemoveAll();
delete (mJarInstallQueue);
mJarInstallQueue = nsnull;
}
NR_ShutdownRegistry();
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdate::InstallJar( const nsString& fromURL,
const nsString& flags,
const nsString& args)
{
nsInstallInfo *installInfo = new nsInstallInfo(fromURL, flags, args);
InstallJar(installInfo);
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdate::InstallJar(nsInstallInfo *installInfo)
{
mJarInstallQueue->Add( installInfo );
RunNextInstall();
return NS_OK;
}
NS_IMETHODIMP
nsSoftwareUpdate::InstallJarCallBack()
{
nsInstallInfo *nextInstall = (nsInstallInfo*)mJarInstallQueue->Get(0);
if (nextInstall != nsnull)
delete nextInstall;
mJarInstallQueue->Remove(0);
mInstalling = PR_FALSE;
return RunNextInstall();
}
NS_IMETHODIMP
nsSoftwareUpdate::RunNextInstall()
{
if (mInstalling == PR_TRUE)
return NS_OK;
mInstalling = PR_TRUE;
// check to see if there is anything in our queue
if (mJarInstallQueue->GetSize() <= 0)
{
mInstalling = PR_FALSE;
return NS_OK;
}
nsInstallInfo *nextInstall = (nsInstallInfo*)mJarInstallQueue->Get(0);
if (nextInstall->IsMultipleTrigger() == PR_FALSE)
{
RunInstall( nextInstall );
}
else
{
; // should we do something different?!
}
return NS_OK;
}
/////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
static PRInt32 gSoftwareUpdateLock = 0;
nsSoftwareUpdateFactory::nsSoftwareUpdateFactory(void)
{
NS_INIT_ISUPPORTS();
}
nsSoftwareUpdateFactory::~nsSoftwareUpdateFactory(void)
{
}
NS_IMPL_ISUPPORTS(nsSoftwareUpdateFactory,kIFactoryIID)
NS_IMETHODIMP
nsSoftwareUpdateFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
nsSoftwareUpdate *inst = nsSoftwareUpdate::GetInstance();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (NS_FAILED(result))
{
*aResult = NULL;
}
NS_ADDREF(inst); // Are we sure that we need to addref???
return result;
}
NS_IMETHODIMP
nsSoftwareUpdateFactory::LockFactory(PRBool aLock)
{
if (aLock)
PR_AtomicIncrement(&gSoftwareUpdateLock);
else
PR_AtomicDecrement(&gSoftwareUpdateLock);
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
// nsSoftwareUpdateNameSet
////////////////////////////////////////////////////////////////////////////////
nsSoftwareUpdateNameSet::nsSoftwareUpdateNameSet()
{
NS_INIT_REFCNT();
nsIScriptNameSetRegistry *scriptNameSet;
nsresult result = nsServiceManager::GetService(kCScriptNameSetRegistryCID,
kIScriptNameSetRegistryIID,
(nsISupports **)&scriptNameSet);
if (NS_SUCCEEDED(result))
{
scriptNameSet->AddExternalNameSet(this);
}
}
nsSoftwareUpdateNameSet::~nsSoftwareUpdateNameSet()
{
}
NS_IMPL_ISUPPORTS(nsSoftwareUpdateNameSet, kIScriptExternalNameSetIID);
NS_IMETHODIMP
nsSoftwareUpdateNameSet::InitializeClasses(nsIScriptContext* aScriptContext)
{
nsresult result = NS_OK;
result = NS_InitInstallVersionClass(aScriptContext, nsnull);
if (NS_FAILED(result)) return result;
result = NS_InitInstallTriggerGlobalClass(aScriptContext, nsnull);
return result;
}
NS_IMETHODIMP
nsSoftwareUpdateNameSet::AddNameSet(nsIScriptContext* aScriptContext)
{
nsresult result = NS_OK;
nsIScriptNameSpaceManager* manager;
result = aScriptContext->GetNameSpaceManager(&manager);
if (NS_SUCCEEDED(result))
{
result = manager->RegisterGlobalName("InstallVersion",
kInstallVersion_CID,
PR_TRUE);
if (NS_FAILED(result)) return result;
result = manager->RegisterGlobalName("InstallTrigger",
kInstallTrigger_CID,
PR_FALSE);
}
if (manager != nsnull)
NS_RELEASE(manager);
return result;
}
////////////////////////////////////////////////////////////////////////////////
// DLL Entry Points:
////////////////////////////////////////////////////////////////////////////////
extern "C" NS_EXPORT PRBool
NSCanUnload(nsISupports* aServMgr)
{
return PR_FALSE;
}
extern "C" NS_EXPORT nsresult
NSRegisterSelf(nsISupports* aServMgr, const char *path)
{
nsresult rv;
nsCOMPtr<nsIServiceManager> servMgr(do_QueryInterface(aServMgr, &rv));
if (NS_FAILED(rv)) return rv;
nsIComponentManager* compMgr;
rv = servMgr->GetService(kComponentManagerCID,
nsIComponentManager::GetIID(),
(nsISupports**)&compMgr);
if (NS_FAILED(rv)) return rv;
#ifdef NS_DEBUG
printf("*** XPInstall is being registered\n");
#endif
rv = compMgr->RegisterComponent(kSoftwareUpdate_CID, NULL, NULL, path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
rv = compMgr->RegisterComponent(kInstallTrigger_CID, NULL, NULL, path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
rv = compMgr->RegisterComponent(kInstallVersion_CID, NULL, NULL, path, PR_TRUE, PR_TRUE);
done:
(void)servMgr->ReleaseService(kComponentManagerCID, compMgr);
return rv;
}
extern "C" NS_EXPORT nsresult
NSUnregisterSelf(nsISupports* aServMgr, const char *path)
{
nsresult rv;
nsCOMPtr<nsIServiceManager> servMgr(do_QueryInterface(aServMgr, &rv));
if (NS_FAILED(rv)) return rv;
nsIComponentManager* compMgr;
rv = servMgr->GetService(kComponentManagerCID,
nsIComponentManager::GetIID(),
(nsISupports**)&compMgr);
if (NS_FAILED(rv)) return rv;
#ifdef NS_DEBUG
printf("*** XPInstall is being unregistered\n");
#endif
rv = compMgr->UnregisterComponent(kSoftwareUpdate_CID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kInstallTrigger_CID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kInstallVersion_CID, path);
done:
(void)servMgr->ReleaseService(kComponentManagerCID, compMgr);
return rv;
}
extern "C" NS_EXPORT nsresult
NSGetFactory(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory)
{
if (aFactory == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aFactory = NULL;
nsISupports *inst;
if (aClass.Equals(kInstallTrigger_CID) )
{
inst = new nsInstallTriggerFactory();
}
else if (aClass.Equals(kInstallVersion_CID) )
{
inst = new nsInstallVersionFactory();
}
else if (aClass.Equals(kSoftwareUpdate_CID) )
{
inst = new nsSoftwareUpdateFactory();
}
else
{
return NS_ERROR_ILLEGAL_VALUE;
}
if (inst == NULL)
{
return NS_ERROR_OUT_OF_MEMORY;
}
nsresult res = inst->QueryInterface(kIFactoryIID, (void**) aFactory);
if (NS_FAILED(res))
{
delete inst;
}
return res;
}

View File

@@ -0,0 +1,78 @@
#ifndef nsSoftwareUpdate_h___
#define nsSoftwareUpdate_h___
#include "nsSoftwareUpdateIIDs.h"
#include "nsISoftwareUpdate.h"
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsString.h"
#include "nsVector.h"
class nsInstallInfo;
#include "nsIScriptExternalNameSet.h"
class nsSoftwareUpdate: public nsISoftwareUpdate
{
public:
static const nsIID& IID() { static nsIID iid = NS_SoftwareUpdateInstall_CID; return iid; }
nsSoftwareUpdate();
~nsSoftwareUpdate();
static nsSoftwareUpdate *GetInstance();
NS_DECL_ISUPPORTS
NS_IMETHOD InstallJar(nsInstallInfo *installInfo);
NS_IMETHOD InstallJar(const nsString& fromURL,
const nsString& flags,
const nsString& args);
NS_IMETHOD RunNextInstall();
NS_IMETHOD InstallJarCallBack();
private:
nsresult Startup();
nsresult Shutdown();
nsresult DeleteScheduledNodes();
PRBool mInstalling;
nsVector* mJarInstallQueue;
static nsSoftwareUpdate* mInstance;
};
class nsSoftwareUpdateNameSet : public nsIScriptExternalNameSet
{
public:
nsSoftwareUpdateNameSet();
~nsSoftwareUpdateNameSet();
NS_DECL_ISUPPORTS
NS_IMETHOD InitializeClasses(nsIScriptContext* aScriptContext);
NS_IMETHOD AddNameSet(nsIScriptContext* aScriptContext);
};
#define AUTOUPDATE_ENABLE_PREF "autoupdate.enabled"
#define AUTOUPDATE_CONFIRM_PREF "autoupdate.confirm_install"
#define CHARSET_HEADER "Charset"
#define CONTENT_ENCODING_HEADER "Content-encoding"
#define INSTALLER_HEADER "Install-Script"
#define MOCHA_CONTEXT_PREFIX "autoinstall:"
#define REG_SOFTUPDT_DIR "Netscape/Communicator/SoftwareUpdate/"
#define LAST_REGPACK_TIME "LastRegPackTime"
#endif

View File

@@ -0,0 +1,440 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code,
* released March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*
* Contributors:
* Daniel Veditz <dveditz@netscape.com>
* Douglas Turner <dougt@netscape.com>
*/
#include "nsSoftwareUpdate.h"
#include "nsSoftwareUpdateRun.h"
#include "nsSoftwareUpdateIIDs.h"
#include "nsInstall.h"
#include "zipfile.h"
#include "nsRepository.h"
#include "nsIServiceManager.h"
#include "nsSpecialSystemDirectory.h"
#include "nsFileStream.h"
#include "nspr.h"
#include "jsapi.h"
#if 0
#include "nsIEventQueueService.h"
#include "nsXPComCIID.h"
#include "nsIURL.h"
#include "nsAppShellProxy.h"
static NS_DEFINE_IID(kIEventQueueServiceIID, NS_IEVENTQUEUESERVICE_IID);
static NS_DEFINE_IID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID);
static NS_DEFINE_IID(kIAppShellServiceIID, NS_IAPPSHELL_SERVICE_IID);
static NS_DEFINE_IID(kAppShellServiceCID, NS_APPSHELL_SERVICE_CID);
#endif
static NS_DEFINE_IID(kISoftwareUpdateIID, NS_ISOFTWAREUPDATE_IID);
static NS_DEFINE_IID(kSoftwareUpdateCID, NS_SoftwareUpdate_CID);
static JSClass global_class =
{
"global", JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
};
extern PRInt32 InitXPInstallObjects(JSContext *jscontext, JSObject *global, const char* jarfile, const char* args);
// Defined in this file:
static void XPInstallErrorReporter(JSContext *cx, const char *message, JSErrorReport *report);
static nsresult GetInstallScriptFromJarfile(const char* jarFile, char** scriptBuffer, PRUint32 *scriptLength);
static nsresult SetupInstallContext(const char* jarFile, const char* args, JSRuntime **jsRT, JSContext **jsCX, JSObject **jsGlob);
extern "C" void RunInstallOnThread(void *data);
extern "C" NS_EXPORT PRInt32 RunInstall(const char* jarFile, const char* flags, const char* args, const char* fromURL);
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : XPInstallErrorReporter
// Description : Prints error message to stdout
// Return type : void
// Argument : JSContext *cx
// Argument : const char *message
// Argument : JSErrorReport *report
///////////////////////////////////////////////////////////////////////////////////////////////
static void
XPInstallErrorReporter(JSContext *cx, const char *message, JSErrorReport *report)
{
int i, j, k, n;
fputs("xpinstall: ", stderr);
if (!report)
{
fprintf(stderr, "%s\n", message);
return;
}
if (report->filename)
fprintf(stderr, "%s, ", report->filename);
if (report->lineno)
fprintf(stderr, "line %u: ", report->lineno);
fputs(message, stderr);
if (!report->linebuf)
{
putc('\n', stderr);
return;
}
fprintf(stderr, ":\n%s\n", report->linebuf);
n = report->tokenptr - report->linebuf;
for (i = j = 0; i < n; i++) {
if (report->linebuf[i] == '\t') {
for (k = (j + 8) & ~7; j < k; j++)
putc('.', stderr);
continue;
}
putc('.', stderr);
j++;
}
fputs("^\n", stderr);
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : GetInstallScriptFromJarfile
// Description : Extracts and reads in a install.js file from a passed jar file.
// Return type : static nsresult
// Argument : const char* jarFile - native filepath
// Argument : char** scriptBuffer - must be deleted via delete []
// Argument : PRUint32 *scriptLength
///////////////////////////////////////////////////////////////////////////////////////////////
static nsresult
GetInstallScriptFromJarfile(const char* jarFile, char** scriptBuffer, PRUint32 *scriptLength)
{
// Open the jarfile.
void* hZip;
*scriptBuffer = nsnull;
*scriptLength = 0;
nsresult rv = ZIP_OpenArchive(jarFile , &hZip);
if (rv != ZIP_OK)
return rv;
// Read manifest file for Install Script filename.
//FIX: need to do.
// Extract the install.js file to the temporary directory
nsSpecialSystemDirectory installJSFileSpec(nsSpecialSystemDirectory::OS_TemporaryDirectory);
installJSFileSpec += "install.js";
installJSFileSpec.MakeUnique();
// Extract the install.js file.
rv = ZIP_ExtractFile( hZip, "install.js", nsprPath(installJSFileSpec) );
if (rv != ZIP_OK)
{
ZIP_CloseArchive(&hZip);
return rv;
}
// Read it into a buffer
char* buffer;
PRUint32 bufferLength;
PRUint32 readLength;
nsInputFileStream fileStream(installJSFileSpec);
(fileStream.GetIStream())->GetLength(&bufferLength);
buffer = new char[bufferLength + 1];
rv = (fileStream.GetIStream())->Read(buffer, bufferLength, &readLength);
if (NS_SUCCEEDED(rv))
{
*scriptBuffer = buffer;
*scriptLength = readLength;
}
else
{
delete [] buffer;
}
ZIP_CloseArchive(&hZip);
fileStream.close();
installJSFileSpec.Delete(PR_FALSE);
return rv;
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : SetupInstallContext
// Description : Creates a Javascript runtime and adds our xpinstall objects to it.
// Return type : static nsresult
// Argument : const char* jarFile - native filepath to where jar exists on disk
// Argument : const char* args - any arguments passed into the javascript context
// Argument : JSRuntime **jsRT - Must be deleted via JS_DestroyRuntime
// Argument : JSContext **jsCX - Must be deleted via JS_DestroyContext
// Argument : JSObject **jsGlob
///////////////////////////////////////////////////////////////////////////////////////////////
static nsresult SetupInstallContext(const char* jarFile,
const char* args,
JSRuntime **jsRT,
JSContext **jsCX,
JSObject **jsGlob)
{
JSRuntime *rt;
JSContext *cx;
JSObject *glob;
*jsRT = nsnull;
*jsCX = nsnull;
*jsGlob = nsnull;
// JS init
rt = JS_Init(8L * 1024L * 1024L);
if (!rt)
{
return -1;
}
// new context
cx = JS_NewContext(rt, 8192);
if (!rt)
{
return -1;
}
JS_SetErrorReporter(cx, XPInstallErrorReporter);
// new global object
glob = JS_NewObject(cx, &global_class, nsnull, nsnull);
// Init standard classes
JS_InitStandardClasses(cx, glob);
// Add our Install class to this context
InitXPInstallObjects(cx, glob, jarFile, args);
// Fix: We have to add Version and Trigger to this context!!
*jsRT = rt;
*jsCX = cx;
*jsGlob = glob;
return NS_OK;
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : RunInstall
// Description : Creates our Install Thread.
// Return type : PRInt32
// Argument : nsInstallInfo *installInfo
///////////////////////////////////////////////////////////////////////////////////////////////
PRInt32 RunInstall(nsInstallInfo *installInfo)
{
#if 0
// We are one the UI Thread. Get and save the eventQueue.
// Create the Event Queue for the UI thread...
nsIEventQueueService* eventQService;
nsresult rv = nsServiceManager::GetService(kEventQueueServiceCID,
kIEventQueueServiceIID,
(nsISupports **)&eventQService);
PLEventQueue* thisEventQueue;
if (NS_OK == rv)
{
rv = eventQService->GetThreadEventQueue(PR_GetCurrentThread(),
&thisEventQueue);
}
installInfo->SetUIEventQueue(thisEventQueue);
#endif
PR_CreateThread(PR_USER_THREAD,
RunInstallOnThread,
(void*)installInfo,
PR_PRIORITY_NORMAL,
PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD,
0);
return 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : RunInstallOnThread
// Description : called by starting thread. It directly calls the C api for xpinstall,
// : and once that returns, it calls the completion routine to notify installation
// : completion.
// Return type : extern "C"
// Argument : void *data
///////////////////////////////////////////////////////////////////////////////////////////////
extern "C" void RunInstallOnThread(void *data)
{
nsInstallInfo *installInfo = (nsInstallInfo*)data;
nsresult rv;
#if 0
/*
* Create the Application Shell instance...
*/
nsIAppShellService* appShell;
rv = nsServiceManager::GetService(kAppShellServiceCID,
kIAppShellServiceIID,
(nsISupports**)&appShell);
if (NS_FAILED(rv))
{
return;
}
nsAppShellProxy *appShellProxy = new nsAppShellProxy(installInfo->GetUIEventQueue(), appShell);
// DO NOT CALL INIT! appShellProxy->Initialize();
nsString *aCID = new nsString("00000000-dead-beef-0000-000000000000");
nsIWebShellWindow* newWindow;
nsIURL* url;
char* urlstr = "resource:/res/samples/xpinstallprogress.xul";
NS_NewURL(&url, urlstr);
appShellProxy->CreateDialogWindow(nsnull,
url,
*aCID,
newWindow,
nsnull,
nsnull,
250,
125);
#endif
RunInstall( (const char*) nsAutoCString( installInfo->GetLocalFile() ),
(const char*) nsAutoCString( installInfo->GetFlags() ),
(const char*) nsAutoCString( installInfo->GetArguments() ),
(const char*) nsAutoCString( installInfo->GetFromURL() ));
#if 0
appShellProxy->CloseTopLevelWindow(newWindow);
nsServiceManager::ReleaseService(kAppShellServiceCID, appShell);
// After Install, we need to update the queue.
#endif
nsISoftwareUpdate *softwareUpdate;
rv = nsComponentManager::CreateInstance( kSoftwareUpdateCID,
nsnull,
kISoftwareUpdateIID,
(void**) &softwareUpdate);
if (NS_FAILED(rv))
{
return ;
}
softwareUpdate->InstallJarCallBack();
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Function name : RunInstall
// Description : This is the main C entrypoint to run jar installers
// Return type : PRInt32
// Argument : const char* jarFile - a native filepath to a jarfile to be run
// Argument : const char* flags - UNUSED
// Argument : const char* args - arguments passed into the javascript env
// Argument : const char* fromURL - a url string of where this file came from UNUSED
///////////////////////////////////////////////////////////////////////////////////////////////
extern "C" NS_EXPORT PRInt32 RunInstall(const char* jarFile, const char* flags, const char* args, const char* fromURL)
{
char *scriptBuffer;
PRUint32 scriptLength;
JSRuntime *rt;
JSContext *cx;
JSObject *glob;
nsresult rv = GetInstallScriptFromJarfile(jarFile, &scriptBuffer, &scriptLength);
if (NS_FAILED(rv) || scriptBuffer == nsnull)
{
return rv;
}
rv = SetupInstallContext(jarFile, args, &rt, &cx, &glob);
if (NS_FAILED(rv))
{
delete [] scriptBuffer;
return rv;
}
// Go ahead and run!!
jsval rval;
JS_EvaluateScript(cx,
glob,
scriptBuffer,
scriptLength,
nsnull,
0,
&rval);
delete [] scriptBuffer;
JS_DestroyContext(cx);
JS_DestroyRuntime(rt);
return rv;
}

View File

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

View File

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

View File

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